@falkamelung noted a race condition in #106 due to non-atomic directory
checking followed by os.makedirs. This pattern exists in many places
in the codebase so I went ahead and replaced the rest of them.
The new exist_ok usage should be terser and more idiomatic.
add back the following imports:
1709a1710,1711
> from scipy import interpolate
> from scipy.interpolate import interp1d
2119a2122,2123
> from scipy import interpolate
> from scipy.interpolate import interp1d
* Fix burst loading in estimateAzimuthMisreg.py
Within the for loop that starts at line 82, looping through range(minBurst, maxBurst) misses the burst with the maximum burst number. In cases where only one burst in a swath is used, the script fails at line 90 when .getWidth() is called on an empty xml. This issue can be fixed by adding the line maxBurst = maxBurst + 1
* Fix burst loading in estimateRangeMisreg.py
Similar to estimateAzimuthMisreg.py, calling range(minBurst,maxBurst) at line 185 will lead to an empty list and the some bursts not being loaded unless line 181 is changed from maxBurst = maxBurst - 1 to maxBurst = maxBurst +1
* move `val` definition to avoid undefined
Currently, with only one swath, or not enough points,
val doesnt get defined, so this error gets thrown:
File ".../isce/components/isceobj/TopsProc/runESD.py", line 115, in runESD
if val.size == 0 :
UnboundLocalError: local variable 'val' referenced before assignment
the `np.array` is added so that the `val.size` check makes sense,
as opposed to doing `.size` on a list
* fix string formats in error messages
+ plot the evolution of offset after each step to better check the changes by masking, filling and filtering operations.
+ plot both azimuth and range offset in one figure and move the plotting to the end after file writing
+ update file path in xml file so that script can work even if the files are moved.
+ convert SNR nan value to zero before used as the mask, to avoid warning message
+ add the following options to customize the plot
- add -v and --v-snr option to change the display range for offset and SNR
- add --figsize and --save option
+ suppress the DEBUG message from matplotlib
+ remove obsolete getShape() and resampleOffset()
+ update IML module import
+ adjust indentation
+ dem.py: replace filename in xml file with abspath after geoid to ellipsoid correction
+ update README.md files in contrib/stack/*Stack, as fixImageXml.py is not needed anymore
+ fixImageXml: use native argparse mutually exclusive group for --full/--base options to replace checking with own code
ISCE_HOME was only used to get the location of the default logging config.
Lots of scripts were using boilerplate to set up this config, so I added
an `isce.logging` helper module which is the same as builtin python logging
but already has the configuration defaults set up for isce.
ISCE_HOME setup is retained in the toplevel `__init__.py`
but can now be removed without affecting functionality.