8 #include <isce3/io/Raster.h>
12 namespace isce3::unwrap::icu
16 typedef std::array<size_t, 2> idx2_t;
19 typedef std::array<int, 2> offset2_t;
134 unsigned int seed = 0);
138 signed char * charge,
146 const std::complex<float> * intf,
154 const signed char * charge,
158 const unsigned int seed = 0);
161 template<
bool DO_BOOTSTRAP>
178 size_t _NumBufLines = 3700;
179 size_t _NumOverlapLines = 200;
180 bool _UsePhaseGradNeut =
false;
181 bool _UseIntensityNeut =
false;
182 int _PhaseGradWinSize = 5;
183 float _NeutPhaseGradThr = 3.f;
184 float _NeutIntensityThr = 8.f;
185 float _NeutCorrThr = 0.8f;
187 int _MaxBranchLen = 64;
188 float _RatioDxDy = 1.f;
189 float _InitCorrThr = 0.1f;
190 float _MaxCorrThr = 0.9f;
191 float _CorrThrInc = 0.1f;
192 float _MinCCAreaFrac = 0.003125f;
193 size_t _NumBsLines = 16;
194 size_t _MinBsPts = 16;
195 float _BsPhaseVarThr = 8.f;
201 #define ISCE_UNWRAP_ICU_ICU_ICC
203 #undef ISCE_UNWRAP_ICU_ICU_ICC
float neutCorrThr() const
Get correlation threshold for neutron generation.
Definition: ICU.icc:70
bool usePhaseGradNeut() const
Get phase gradient neutrons flag.
Definition: ICU.icc:30
float ratioDxDy() const
Get ratio of x:y pixel spacing (for measuring branch cut length).
Definition: ICU.icc:100
int numTrees() const
Get number of tree growing iterations.
Definition: ICU.icc:80
float minCCAreaFrac() const
Get min connected component size as fraction of tile area.
Definition: ICU.icc:140
void unwrap(isce3::io::Raster &unw, isce3::io::Raster &ccl, isce3::io::Raster &intf, isce3::io::Raster &corr, unsigned int seed=0)
Unwrap the target interferogram.
Definition: Unwrap.cpp:10
~ICU()=default
Destructor.
float bsPhaseVarThr() const
Get bootstrap phase variance threshold.
Definition: ICU.icc:170
size_t numBufLines() const
Get tile buffer length.
Definition: ICU.icc:10
float initCorrThr() const
Get initial correlation threshold.
Definition: ICU.icc:110
Definition: LabelMap.h:14
size_t minBsPts() const
Get bootstrapping min overlap area.
Definition: ICU.icc:160
ICU()=default
Constructor.
bool useIntensityNeut() const
Get intensity neutrons flag.
Definition: ICU.icc:33
int phaseGradWinSize() const
Get window size for phase gradient calculation.
Definition: ICU.icc:36
float neutIntensityThr() const
Get intensity variance threshold for neutron generation (stddevs from mean).
Definition: ICU.icc:60
float neutPhaseGradThr() const
Get range phase gradient threshold for neutron generation (rad/sample).
Definition: ICU.icc:50
float corrThrInc() const
Get correlation threshold increment.
Definition: ICU.icc:130
size_t numOverlapLines() const
Get lines of overlap between tiles.
Definition: ICU.icc:20
float maxCorrThr() const
Get max correlation threshold.
Definition: ICU.icc:120
int maxBranchLen() const
Get max branch cut length.
Definition: ICU.icc:90
size_t numBsLines() const
Get number of bootstrap lines.
Definition: ICU.icc:150
Data structure meant to handle Raster I/O operations.
Definition: Raster.h:34