Releases: isce-framework/dolphin
Releases · isce-framework/dolphin
v0.2.0
New version for the large number of changes since the last release, including SHP-mapping, parallel burst processing, new CLI commands, and other changes to keep up to date with the incoming COMPASS geocoded SLC data.
Added
- For OPERA CSLC inputs, we now read the nodata polygon and skip loading regions of the SLC stack which are all nodata.
- This led to a reduction of 30-50% in wrapped phase estimation runtime for each burst stack.
- Sample test data for the
dolphin
package loaded onto Zenodo. - Adds 3 methods of computing a variable statistically homogeneous pixel (SHP) window when estimating the covariance matrix:
- Kolmogorov-Smirnov test (KS-test)
- Generalized likelihood ratio test (GLRT)
- Kullback-Leibler divergence/distance test (KLD)
"rect"
is also an option for skipping any statistical test and using the full rectangular multilook window
- Also included a script to view the window in an interactive matplotlib figure (matplotlib must be installed separately)
- Added a simple method to check for adjacent-pixel unwrapping errors in
unwrap.compute_phase_diffs
- Adds a method
utils.get_cpu_count
which returns eitheros.cpu_count
, or (if running in a Docker container) the number of CPUs allocated by Docker - If processing stacks from separate bursts, added option
n_parallel_bursts
toWorkflow
to run in parallel processes. - Created a script to test the incremental/near-real-time version of phase linking
- Added a new CLI command
dolphin unwrap
to unwrap a single interferogram/a directory of interferograms in parallel. - Added ability to specify a glob pattern for input CSLC files in the YAML config
- Saves a multilooked PS mask for the default workflow output
- Allows the user to specify a desired bounds for the final stitched result
Changes
- Default OPERA dataset is now within
/data
, reflecting the new COMPASS product spec since CalVal - Passing an existing file to
VRTStack
will no longer error unlessfail_on_overwrite=True
. The default just prints out the overwrite is happening. This prevents multiple runs in the same folder from errorings just for creating a reference to the SLC files. - The environment variable
NUMBA_NUM_THREADS
is set using the passed in config to prevent numba from using all CPUs duringprange
calls - The
sequential.py
module uses a different implementation of the sequential estimator to avoid the need for a datum adjustment. - The scratch directory holding unwrapped interferograms is named
unwrapped
instead ofunwrap
- Stitching files now can accept downsampled versions and product the correct geo metadata
Fixed
- Calculating the nodata mask using the correct input geotransform
- Trims the overlapped region of the phase linking step when iterating in blocks
Dependencies
- shapely >= 1.8
- Numba now supports Python 3.11, so we can drop the Python<3.11 version restriction.
Added testing requirements:
- pooch
- pillow>=7.0
Full Changelog: v0.1.1...v0.2.0
v0.1.1
Patch version fixing the .dockerignore
file so that track files are not excluded from the Docker context.
v0.1.0
This is the first official release of Dolphin for the interface delivery.
Note that the previous v0.0.1 - v0.0.4 were tags and not full releases. See the Changelog for the incremental functionality added.
Summary of new additions since v0.0.4
- First version of the
_product.py
module to output the combined NetCDF product file. _pge_runconfig.py
module to handle the separate PGE-compatible configuration, which translates to-from theWorkflow
object.docker/build-docker-image.sh
script to build the docker image.- Release scripts for generating documentation, script for validating output data by @gmgunter .
- Use of a spatial correlation estimate for unwrapping purposes, rather than temporal coherence.
- This is much more useful when the stack size is small (high temporal coherence), and
snaphu
is used for unwrapping.
- This is much more useful when the stack size is small (high temporal coherence), and
masking.py
module for masking the interferogram/combined multiple external masks of varying 1/0 conventions.- Ability to use existing amplitude mean/dispersion files for the PS portion of the workflow, skipping the step where we compute it using the SLC stack. Useful for small stack sizes
- Added a
create_only
option towrite_arr
to create an empty file without writing data (e.g. to check the boundary results of stitching)
New Contributors
Full Changelog: v0.0.4...v0.1.0