Skip to content

Releases: isce-framework/dolphin

v0.3.0

24 Aug 03:30
c465604
Compare
Choose a tag to compare

What's Changed

  • Fix the multilooked PS mask output
  • Blockwise input/output refactor to properly trim the edges of overlapping blocks (and account for possible striding/decimation)
  • upgrade to Pydantic v2

Full Changelog: v0.2.0...v0.3.0

v0.2.0

26 Jul 04:19
Compare
Choose a tag to compare

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 either os.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 to Workflow 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 unless fail_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 during prange 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 of unwrap
  • 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

04 Apr 00:26
Compare
Choose a tag to compare

Patch version fixing the .dockerignore file so that track files are not excluded from the Docker context.

v0.1.0

31 Mar 23:29
5509c12
Compare
Choose a tag to compare

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 the Workflow 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.
  • 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 to write_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