Recent Releases of Dolphin

Dolphin - v0.42.0

What's Changed

  • Update workflow defaults for larger half-window and nearest-3 by @scottstanie in https://github.com/isce-framework/dolphin/pull/634
  • Fix defaults in dolphin config CLI for interferogram_network settings by @scottstanie in https://github.com/isce-framework/dolphin/pull/636
  • Refactor to check for nans in JAX crlb calculation by @scottstanie in https://github.com/isce-framework/dolphin/pull/637

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.41.0...v0.42.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie 5 months ago

Dolphin - v0.41.0

What's Changed

  • stitching.py: Add support for specifying output projection by @scottstanie in https://github.com/isce-framework/dolphin/pull/607
  • Add Cramér–Rao lower bound (CRLB) estimation output to phase linking results by @scottstanie in https://github.com/isce-framework/dolphin/pull/577
  • Fix hardcoded port 5000 for moto tests by @scottstanie in https://github.com/isce-framework/dolphin/pull/617
  • masking.py: raise MaskingError after creating an empty mask by @scottstanie in https://github.com/isce-framework/dolphin/pull/619
  • Add UAVSAR_WAVELENGTH to constants by @scottstanie in https://github.com/isce-framework/dolphin/pull/620
  • Add sequential closure phase rasters to phase linking output by @scottstanie in https://github.com/isce-framework/dolphin/pull/618
  • Fix numerical issues with CRLB calculation by @scottstanie in https://github.com/isce-framework/dolphin/pull/626
  • Add apply_mask_to_timeseries to set masked pixels to nodata in outputs by @scottstanie in https://github.com/isce-framework/dolphin/pull/627
  • Stitch and output all per-ministack temporal_coherence_ and similarity_ files by @scottstanie in https://github.com/isce-framework/dolphin/pull/615

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.40.0...v0.41.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie 5 months ago

Dolphin - v0.40.0

What's Changed

  • Throw better error for dolphin empty cli by @scottstanie in https://github.com/isce-framework/dolphin/pull/604
  • Remove avg_coh from optional phase linking outputs by @scottstanie in https://github.com/isce-framework/dolphin/pull/611
  • unwrap.py: Combine sliding window mask with similarity mask for interpolation by @scottstanie in https://github.com/isce-framework/dolphin/pull/612

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.39.0...v0.40.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie 7 months ago

Dolphin - v0.39.0

Largest visible change: Switch CLI to use tyro by @scottstanie in https://github.com/isce-framework/dolphin/pull/578 This involves multiple fixes and some breaking changes:

  • Fixed
    • Missing arguments that were not configurable via the command line
    • dolphin unwrap and dolphin timesries has several issues resulting from the function API being out of sync with the argparse API
  • config Changes:
    • Strides must be specified as --sx 6 --sy 3, not --strides 6 3
    • Several worker settings options like --threads-per-worker are not longer top-level command line options; you can specify them with --worker-settings.threads-per-worker

What's Changed

  • Add script to read GAMMA .rslc binary SLCs by @scottstanie in https://github.com/isce-framework/dolphin/pull/569
  • Make reference optional for velocity fitting by @scottstanie in https://github.com/isce-framework/dolphin/pull/571
  • Run fix_typos.sh on repo by @scottstanie in https://github.com/isce-framework/dolphin/pull/572
  • Add keep_bits to BackgroundBlockWriter API so writers can round_mantissa by @scottstanie in https://github.com/isce-framework/dolphin/pull/536
  • Add Github link to docs by @scottstanie in https://github.com/isce-framework/dolphin/pull/575
  • Remove old glrt_cutoffs.csv from MANIFEST.in by @scottstanie in https://github.com/isce-framework/dolphin/pull/573
  • Allow Iterator[Filename] to all readers with .from_file_list by @scottstanie in https://github.com/isce-framework/dolphin/pull/579
  • Revert API change for _readers from #579 by @scottstanie in https://github.com/isce-framework/dolphin/pull/582
  • Simplify reference index logic for ALWAYS_FIRST in stack.py, cut FIRST_PER_MINISTACK by @scottstanie in https://github.com/isce-framework/dolphin/pull/588
  • Remove unused _utils helper functions by @scottstanie in https://github.com/isce-framework/dolphin/pull/581
  • OutputOptions: Only require bounds_epsg if specifying bounds, cut resolution by @scottstanie in https://github.com/isce-framework/dolphin/pull/591
  • Remove single-burst special case, keep phase linking results to phas… e487ce2 …e_linking/ by @scottstanie in https://github.com/isce-framework/dolphin/pull/574
  • Add fmt=file_date_fmt to all get_dates call to avoid file format assumptions by @scottstanie in https://github.com/isce-framework/dolphin/pull/585
  • Parallelize phase linking for single-swath case in single.py by @scottstanie in https://github.com/isce-framework/dolphin/pull/576
  • Fix: Remove per-burst phase linking dirs that are empty by @scottstanie in https://github.com/isce-framework/dolphin/pull/595
  • stitching.py: fix strides check for either x or y by @scottstanie in https://github.com/isce-framework/dolphin/pull/596
  • DOC: Add phase linking theory notebook to docs by @scottstanie in https://github.com/isce-framework/dolphin/pull/597
  • Pass through timeseries_options.reference_point during displacement.py workflow by @scottstanie in https://github.com/isce-framework/dolphin/pull/602
  • unwrapping.py: fix comparison to avoid mask warping by @scottstanie in https://github.com/isce-framework/dolphin/pull/600
  • Switch CLI to use tyro by @scottstanie in https://github.com/isce-framework/dolphin/pull/578

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.38.0...v0.39.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie 7 months ago

Dolphin - v0.38.0

What's Changed

  • Add demo-filtering-sizes.ipynb for high-pass filtering cutoff demo by @scottstanie in https://github.com/isce-framework/dolphin/pull/561
  • Split corrections, remove raider pulled modules by @scottstanie in https://github.com/isce-framework/dolphin/pull/531
  • Use is_symlink when checking for existing scratch files in spurt by @scottstanie in https://github.com/isce-framework/dolphin/pull/568

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.37.0...v0.38.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie 9 months ago

Dolphin - v0.37.0

What's Changed

  • filtering.py: Change default sigma calculation, add docstring explanation by @scottstanie in https://github.com/isce-framework/dolphin/pull/560

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.36.2...v0.37.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie 10 months ago

Dolphin - v0.36.2

What's Changed

  • Update notebook walkthrough for new output structure by @scottstanie in https://github.com/isce-framework/dolphin/pull/558
  • Add datasets to masking for NISAR by @mirzaees in https://github.com/isce-framework/dolphin/pull/559

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.36.1...v0.36.2

Scientific Software - Peer-reviewed - Python
Published by mirzaees 10 months ago

Dolphin - v0.36.1

What's Changed

  • add nisar wavelengths by @mirzaees in https://github.com/isce-framework/dolphin/pull/551
  • Fix ionosphere reading and delay computation by @scottstanie in https://github.com/isce-framework/dolphin/pull/554
  • Let amp_dispersion_threshold be 0 to select no PS points by @scottstanie in https://github.com/isce-framework/dolphin/pull/553
  • Move WriteArray calls after SetNoDataValue calls by @scottstanie in https://github.com/isce-framework/dolphin/pull/555

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.36.0...v0.36.1

Scientific Software - Peer-reviewed - Python
Published by scottstanie 10 months ago

Dolphin - v0.36.0

What's Changed

  • Remove import for goldstein and filtering from top level __init_.py by @scottstanie in https://github.com/isce-framework/dolphin/pull/530
  • docs: Fix mathjax render, fix broken DateOrDatetime error by @scottstanie in https://github.com/isce-framework/dolphin/pull/538
  • Refactor select_reference_point to pick the centroid of high-coherence candidate pixels by @scottstanie in https://github.com/isce-framework/dolphin/pull/535
  • Replace __name__ with "dolphin" in getLogger calls by @scottstanie in https://github.com/isce-framework/dolphin/pull/543
  • Convert glrt SHP method to use JAX by @scottstanie in https://github.com/isce-framework/dolphin/pull/444
  • Add utils.grow_nodata_region to remove bad borders from shp_counts.tif by @scottstanie in https://github.com/isce-framework/dolphin/pull/548

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.35.1...v0.36.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie 11 months ago

Dolphin - v0.35.1

What's Changed

  • filtering.py: Fix in_bounds_pixels masking, set default to 25 km by @seyeonjeon in https://github.com/isce-framework/dolphin/pull/527
  • Set output_reference_idx separately from compressed_reference_idx by @scottstanie in https://github.com/isce-framework/dolphin/pull/528

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.35.0...v0.35.1

Scientific Software - Peer-reviewed - Python
Published by scottstanie 12 months ago

Dolphin - v0.35.0

What's Changed

  • Fix grammar on VRT size check by @scottstanie in https://github.com/isce-framework/dolphin/pull/516
  • Use L1 inversion by default for timeseries by @scottstanie in https://github.com/isce-framework/dolphin/pull/518
  • Add keepdims options to reader classes to avoid squeezing singleton dims by @scottstanie in https://github.com/isce-framework/dolphin/pull/521
  • Use the most recent compressed SLC as output for LAST_PER_MINISTACK by @scottstanie in https://github.com/isce-framework/dolphin/pull/513
  • simulate.py: Add use_seasonal_coherence, remove numba by @scottstanie in https://github.com/isce-framework/dolphin/pull/524
  • Adapt short wavelength filter to use gdal_fillnodata to mitigate edge effects by @scottstanie in https://github.com/isce-framework/dolphin/pull/520
  • Compute residuals to the timeseries inversion, save to raster outputs by @scottstanie in https://github.com/isce-framework/dolphin/pull/523

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.34.2...v0.35.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 1 year ago

Dolphin - v0.34.2

What's Changed

  • 'Use nearest resampling for merging temporal coherence by @scottstanie in https://github.com/isce-framework/dolphin/pull/508

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.34.1...v0.34.2

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 1 year ago

Dolphin - v0.34.1

What's Changed

  • Use fspath when opening with gdal to support older versions by @scottstanie in https://github.com/isce-framework/dolphin/pull/502

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.34.0...v0.34.1

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 1 year ago

Dolphin - v0.34.0

What's Changed

  • Pin mkdocs-jupyter to 0.25.0, small timeseries fix for cli by @scottstanie in https://github.com/isce-framework/dolphin/pull/486
  • Add missing annotations to make Python 3.9 compatible by @scottstanie in https://github.com/isce-framework/dolphin/pull/487
  • Delete .flake8 by @scottstanie in https://github.com/isce-framework/dolphin/pull/489
  • Fix unit string written to velocity.tif by @scottstanie in https://github.com/isce-framework/dolphin/pull/491
  • Add --use-evd to config cli by @scottstanie in https://github.com/isce-framework/dolphin/pull/492
  • Change default ministack_size to 15 in PhaseLinkingOptions by @scottstanie in https://github.com/isce-framework/dolphin/pull/493
  • Add logging redirect, request spurt log file, multiprocess interpolation by @scottstanie in https://github.com/isce-framework/dolphin/pull/495
  • Use nearest sampling to stitch static layers by @scottstanie in https://github.com/isce-framework/dolphin/pull/496
  • Fix extra_reference_date logic for single reference unwrapping by @scottstanie in https://github.com/isce-framework/dolphin/pull/497
  • Speed up the post-spurt 2-pi ambiguity interpolation by @scottstanie in https://github.com/isce-framework/dolphin/pull/499
  • Add CITATION.cff for better zenodo parsing by @scottstanie in https://github.com/isce-framework/dolphin/pull/488

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.33.0...v0.34.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 1 year ago

Dolphin - v0.33.0

What's Changed

  • Add fill_value to filter_long_wavelength, apply to masked pixels if provided by @scottstanie in https://github.com/isce-framework/dolphin/pull/483
  • Avoid capturing all logging from spurt by @scottstanie in https://github.com/isce-framework/dolphin/pull/484
  • Add create_nonzero_conncomp_counts to create counts of valid unwrapped outputs by @scottstanie in https://github.com/isce-framework/dolphin/pull/485

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.32.0...v0.33.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 1 year ago

Dolphin - v0.32.0

What's Changed

  • Merge documentation improvements from joss branch by @scottstanie in https://github.com/isce-framework/dolphin/pull/481
  • Add a retry to spurt for BrokenProcessPools by @scottstanie in https://github.com/isce-framework/dolphin/pull/480

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.31...v0.32.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 1 year ago

Dolphin - v0.31

What's Changed

  • Skip nodata values of interferograms when interpolating by @scottstanie in https://github.com/isce-framework/dolphin/pull/476

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.30...v0.31

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 1 year ago

Dolphin - v0.30

What's Changed

  • Pass through units during timeseries._redo_reference by @scottstanie in https://github.com/isce-framework/dolphin/pull/451
  • Fix the relative index used to make compressed SLCs by @scottstanie in https://github.com/isce-framework/dolphin/pull/452
  • Fix in_trim_slice size for non overlapping blocks by @scottstanie in https://github.com/isce-framework/dolphin/pull/454
  • Add ability to specify output bounds as WKT by @scottstanie in https://github.com/isce-framework/dolphin/pull/427
  • Refactor compressed_reference_idx, fix relative index bug by @scottstanie in https://github.com/isce-framework/dolphin/pull/453
  • Call spurt from subprocess to avoid fork issues by @scottstanie in https://github.com/isce-framework/dolphin/pull/455
  • Replace CSVs with chi2.ppf for GLRT test by @scottstanie in https://github.com/isce-framework/dolphin/pull/456
  • Add ability to calculate similarity using nearest-3 interferograms by @scottstanie in https://github.com/isce-framework/dolphin/pull/457
  • Pass through compressed_slc_plan config to sequential by @scottstanie in https://github.com/isce-framework/dolphin/pull/459
  • Add single_tile_reoptimize for snaphu-py by @scottstanie in https://github.com/isce-framework/dolphin/pull/460
  • Update dolphin timeseries cli for new options, use L1 by default by @scottstanie in https://github.com/isce-framework/dolphin/pull/461
  • Add a layovershadowmaskfiles to mask pixels in layover/shadow during `wrappedphase` by @scottstanie in https://github.com/isce-framework/dolphin/pull/462
  • Add min_conncomp_frac, lower default to 0.001 by @scottstanie in https://github.com/isce-framework/dolphin/pull/463
  • Increase spurtmax_tiles default to 49 to have smaller MCF problems by @scottstanie in https://github.com/isce-framework/dolphin/pull/464
  • Use output_reference_idx as the default for creating compressed slcs with ALWAYS_FIRST by @scottstanie in https://github.com/isce-framework/dolphin/pull/465
  • Allow interpolation using pseudo-correlation, lower spurt tile sizes by @scottstanie in https://github.com/isce-framework/dolphin/pull/466
  • Add zero_correlation_threshold phase linking parameter to zero out low correlation by @scottstanie in https://github.com/isce-framework/dolphin/pull/467
  • Pass through block_shape to create_similarities after phase linking by @scottstanie in https://github.com/isce-framework/dolphin/pull/469
  • Increase the buffer_pixels when making OPERA CSLC mask by @scottstanie in https://github.com/isce-framework/dolphin/pull/470
  • Pass through --max-tiles to spurt by @scottstanie in https://github.com/isce-framework/dolphin/pull/471
  • Refactor repack_raster to work in block for lower memory by @scottstanie in https://github.com/isce-framework/dolphin/pull/473
  • Setup conversion to /vsis3 when reading from S3 using osgeo.gdal by @scottstanie in https://github.com/isce-framework/dolphin/pull/474
  • Add censored_lstsq to solve least squares with missing data by @scottstanie in https://github.com/isce-framework/dolphin/pull/475

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.29.0...v0.30

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 1 year ago

Dolphin - v0.29.0

What's Changed

  • Add references/url fix from JOSS branch by @scottstanie in https://github.com/isce-framework/dolphin/pull/439
  • Add a sample dolphin_config.yaml to the docs, GHA to auto-update by @scottstanie in https://github.com/isce-framework/dolphin/pull/438
  • Pass through phase_linking.output_reference_idx to avoid reference resets by @scottstanie in https://github.com/isce-framework/dolphin/pull/445
  • Set the input to EVD to be weighted by correlation by @scottstanie in https://github.com/isce-framework/dolphin/pull/428
  • Add stitched phase cosine similarity raster to outputs by @scottstanie in https://github.com/isce-framework/dolphin/pull/446
  • Add logic to reset the extra_reference_date after a network unwrapping by @scottstanie in https://github.com/isce-framework/dolphin/pull/442
  • Add a post processing step to fill nans after running spurt by @scottstanie in https://github.com/isce-framework/dolphin/pull/448
  • Apply nan/0 mask to output of goldstein filter by @scottstanie in https://github.com/isce-framework/dolphin/pull/447
  • Use dataclasses instead of NamedTuple for displacement, stitched outputs by @scottstanie in https://github.com/isce-framework/dolphin/pull/449
  • Add outside_input_range options to get_nearest_date_idx by @scottstanie in https://github.com/isce-framework/dolphin/pull/450

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.28.1...v0.29.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 1 year ago

Dolphin - v0.28.1

What's Changed

  • Dont short-circuit extra_reference_date change over by @scottstanie in https://github.com/isce-framework/dolphin/pull/435
  • Change is_single_reference to only look for number of interferograms by @scottstanie in https://github.com/isce-framework/dolphin/pull/436

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.28.0...v0.28.1

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.28.0

What's Changed

  • Update walkthrough notebook for docs by @scottstanie in https://github.com/isce-framework/dolphin/pull/390
  • Remove transposed versions of functions in covariance by @scottstanie in https://github.com/isce-framework/dolphin/pull/391
  • Fix plotting/imports for walkthrough by @scottstanie in https://github.com/isce-framework/dolphin/pull/393
  • Add num_parallel_tiles and num_parallel_ifgs to SpurtOptions by @scottstanie in https://github.com/isce-framework/dolphin/pull/394
  • DOCS: Add clarificaitons and suggested changes to documentation by @scottstanie in https://github.com/isce-framework/dolphin/pull/395
  • Set use_slc_amp default to False by @scottstanie in https://github.com/isce-framework/dolphin/pull/396
  • Add missing changelog entries by @scottstanie in https://github.com/isce-framework/dolphin/pull/397
  • Fix displacement.run to avoid troposphere computation with empty list by @scottstanie in https://github.com/isce-framework/dolphin/pull/399
  • Pass through EPSG code to _get_mask by @scottstanie in https://github.com/isce-framework/dolphin/pull/400
  • Fix n_parallel_tiles to be an integer, not float by @scottstanie in https://github.com/isce-framework/dolphin/pull/403
  • Add L1-norm-based inversion to timeseries by @scottstanie in https://github.com/isce-framework/dolphin/pull/402
  • Skip combine_mask_files if the output already exists by @scottstanie in https://github.com/isce-framework/dolphin/pull/404
  • Fix typos in walkthrough configuration by @scottstanie in https://github.com/isce-framework/dolphin/pull/407
  • DOC: Add instructions for building Docker image by @scottstanie in https://github.com/isce-framework/dolphin/pull/409
  • Include layover shadow mask when stitching in prepare_geometry by @scottstanie in https://github.com/isce-framework/dolphin/pull/410
  • Add config option to avoid PS pixels during phase linking by @scottstanie in https://github.com/isce-framework/dolphin/pull/411
  • Fix simulate-demo function usage, add link to notebook by @scottstanie in https://github.com/isce-framework/dolphin/pull/412
  • Use the same mask for unwrapping and conncomp regrowing steps by @gmgunter in https://github.com/isce-framework/dolphin/pull/413
  • Add block_shape to timeseries parameters, use less memory for L1 inversion by @scottstanie in https://github.com/isce-framework/dolphin/pull/414
  • Fix mismatching docs and missing log statements by @scottstanie in https://github.com/isce-framework/dolphin/pull/415
  • Add wavelength attribute to workflow to convert rasters to meters by @scottstanie in https://github.com/isce-framework/dolphin/pull/367
  • Pass through add_overviews, run even if single-reference network by @scottstanie in https://github.com/isce-framework/dolphin/pull/418
  • Add ignore_errors=True to rmtree for scratch removal by @scottstanie in https://github.com/isce-framework/dolphin/pull/419
  • Create .conncomp files for spurt from temporal coherence by @scottstanie in https://github.com/isce-framework/dolphin/pull/417
  • Setup gaussian_filter_nan in utils, use in estimate_correlation_from_phase by @scottstanie in https://github.com/isce-framework/dolphin/pull/420
  • Turn off correlation weighting for velocity by default by @scottstanie in https://github.com/isce-framework/dolphin/pull/423
  • Add larger N rows to computed GLRT cutoffs by @scottstanie in https://github.com/isce-framework/dolphin/pull/422
  • Add like_filename for spurt connected components by @scottstanie in https://github.com/isce-framework/dolphin/pull/424
  • Fix Apache end template by @scottstanie in https://github.com/isce-framework/dolphin/pull/426
  • Add logic for manually specifying reference dates mid-stack by @scottstanie in https://github.com/isce-framework/dolphin/pull/334
  • Print unwrapping options in show_versions by @scottstanie in https://github.com/isce-framework/dolphin/pull/430
  • Fix ionosphereic date parsing and grouping by @scottstanie in https://github.com/isce-framework/dolphin/pull/432
  • Use ADMM to minimize L1-norm of Ax - b by @scottstanie in https://github.com/isce-framework/dolphin/pull/431
  • Fix handling of nodata during timeseries conversion to meters by @scottstanie in https://github.com/isce-framework/dolphin/pull/433

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.27.1...v0.28.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.27.1

What's Changed

  • Set the default input_conventions to be same as output_conventions by @scottstanie in https://github.com/isce-framework/dolphin/pull/389

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.27.0...v0.27.1

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.27.0

What's Changed

  • Temporarily remove resampling during stitching final crop by @scottstanie in https://github.com/isce-framework/dolphin/pull/385
  • Add ability to mask a subset of input SLCs by @scottstanie in https://github.com/isce-framework/dolphin/pull/386
  • Fix typo by @rtburns-jpl in https://github.com/isce-framework/dolphin/pull/387

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.26.0...v0.27.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.26.0

What's Changed

  • Change datetime format for reading tropospheric corrections by @mirzaees in https://github.com/isce-framework/dolphin/pull/378
  • Copy over unwrapped to timeseries/ even with 1 file by @scottstanie in https://github.com/isce-framework/dolphin/pull/379
  • Add map option for DummyProcessPoolExecutor by @scottstanie in https://github.com/isce-framework/dolphin/pull/380
  • Remove atmosphere imports from the main path by @scottstanie in https://github.com/isce-framework/dolphin/pull/381
  • Add PR template by @scottstanie in https://github.com/isce-framework/dolphin/pull/383
  • Add dolphin filter cli to run a long wavelgnth filter on a set of rasters by @scottstanie in https://github.com/isce-framework/dolphin/pull/382

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.25.0...v0.26.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.25.0

What's Changed

  • Move reference point selection back to always run if not specified by @scottstanie in https://github.com/isce-framework/dolphin/pull/376
  • Fix timeseries to mkdir right away in https://github.com/isce-framework/dolphin/commit/d6ff5d71e5860752aad7c05d4f1ea34e167bfc0a
  • Reference corrections to point, convert to meters by @scottstanie in https://github.com/isce-framework/dolphin/pull/377

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.24.0...v0.25.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.24.0

What's Changed

  • Skip correlation estimate for files that exist by @scottstanie in https://github.com/isce-framework/dolphin/pull/368
  • Clip nlooks to a max of 20 for whirlwind by @scottstanie in https://github.com/isce-framework/dolphin/pull/369
  • Simplify filter_long_wavelength to use np.pad(..., mode="reflect") by @scottstanie in https://github.com/isce-framework/dolphin/pull/372
  • Skip zero raster output by timeseries inversions by @scottstanie in https://github.com/isce-framework/dolphin/pull/373
  • Save ReferencePoint into file in timeseries/ folder by @scottstanie in https://github.com/isce-framework/dolphin/pull/374
  • Fix reference point selection labels by @scottstanie in https://github.com/isce-framework/dolphin/pull/375

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.23.0...v0.24.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.23.0

What's Changed

  • Let show_versions read importlib.metadata, use keep_bits, not lerc by @scottstanie in https://github.com/isce-framework/dolphin/pull/344
  • Add whirlwind unwrapper by @gmgunter in https://github.com/isce-framework/dolphin/pull/345
  • Remove whirlwind from the CI environment by @gmgunter in https://github.com/isce-framework/dolphin/pull/348
  • Add whirlwind to Docker image and CI environments by @gmgunter in https://github.com/isce-framework/dolphin/pull/349
  • Fix spurt tests by @scottstanie in https://github.com/isce-framework/dolphin/pull/346
  • Update spurt imports for exported interface by @scottstanie in https://github.com/isce-framework/dolphin/pull/351
  • Make network formation staticmethods public by @scottstanie in https://github.com/isce-framework/dolphin/pull/355
  • snaphu: use contextlib.ExitStack instead if try/finally by @scottstanie in https://github.com/isce-framework/dolphin/pull/354
  • _log: add option to redirect other loggers to same json file by @scottstanie in https://github.com/isce-framework/dolphin/pull/358
  • Set the final_arr nodata to be same as original ifg mask by @scottstanie in https://github.com/isce-framework/dolphin/pull/356
  • Fix filtering ambiguity transfer for interp/goldstein by @scottstanie in https://github.com/isce-framework/dolphin/pull/360
  • Shrink nlooks for whirlwind, fix confusing name for scratchdirs by @scottstanie in https://github.com/isce-framework/dolphin/pull/362
  • Interleave GTiffs by band by @scottstanie in https://github.com/isce-framework/dolphin/pull/363
  • Improve code for transferring unwrapped phase ambiguities by @gmgunter in https://github.com/isce-framework/dolphin/pull/364
  • Move mask loading function into masking.py by @scottstanie in https://github.com/isce-framework/dolphin/pull/365

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.22.1...v0.23.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.22.1

What's Changed

  • Fix v0.22.0 imports by @scottstanie in https://github.com/isce-framework/dolphin/pull/343

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.22.0...v0.22.1

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.22.0

What's Changed

  • Minor changes in spurt config to match its naming onventions by @scottstanie in https://github.com/isce-framework/dolphin/pull/342
  • chore: vendor mdx_bib to avoid direct url in docs/requirements.txt by @scottstanie in https://github.com/isce-framework/dolphin/pull/340
  • timeseries: output velocities in units per year by @scottstanie in https://github.com/isce-framework/dolphin/pull/341

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.21.0...v0.22.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.21.0

What's Changed

  • Use numcodecs implementation of rounding, export round_mantissa by @scottstanie in https://github.com/isce-framework/dolphin/pull/335
  • CD: add workflow to publish to pypi by @scottstanie in https://github.com/isce-framework/dolphin/pull/338
  • Netcdf support by @mirzaees in https://github.com/isce-framework/dolphin/pull/337

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.20.0...v0.21.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.20.0

Added

  • Functions in ps to combine amplitude dispersions from older rasters
  • truncate_mantissa option to repack functions for simple compression
  • band option to write_block and background writers
  • Option to run merge_dates and estimate_interferometric_correlations with thread_map for parallel processing
  • Baseline lag option for "STBAS" phase linking inversion

Changed

  • Logging now uses dictConfig and always logs JSON to a file for the Displacement workflow
  • Set modulus of compressed SLCs to be real SLC magnitude means
  • Updated Docker requirements and specfile
  • Delete intermediate unwrapping scratchdirs by default

Fixed

  • use_max_ps would occasionally fail with certain stride/window configurations
  • Unwrapped phase files did not always contain the right geographic metadata
  • Filenames in the timeseries/ folder were wrong
  • Set upsampled boundary to nan in compress
  • Unwrapped file output path

Merged PRs

  • Fix filtering docstring by @scottstanie in https://github.com/isce-framework/dolphin/pull/318
  • Fix unwrap metadata, delete unwrap scratch by default by @scottstanie in https://github.com/isce-framework/dolphin/pull/319
  • Copy over rasters to timeseries/, dont symlink by @scottstanie in https://github.com/isce-framework/dolphin/pull/320
  • Update Docker requirements and specfile by @scottstanie in https://github.com/isce-framework/dolphin/pull/321
  • Stbas by @mirzaees in https://github.com/isce-framework/dolphin/pull/311
  • Fix size error from use_max_ps by @scottstanie in https://github.com/isce-framework/dolphin/pull/323
  • Let stitching_bursts.py run in parallel by @scottstanie in https://github.com/isce-framework/dolphin/pull/325
  • correct the unwrapped file output path by @mirzaees in https://github.com/isce-framework/dolphin/pull/327
  • Fix timeseries suffixes, log only during workflows, fix tqdm stitching bar by @scottstanie in https://github.com/isce-framework/dolphin/pull/328
  • Set modulus of compressed SLCs to be real SLC magnitude means by @scottstanie in https://github.com/isce-framework/dolphin/pull/329
  • Redo logging to use dictConfig, always log to a .jsonl file by @scottstanie in https://github.com/isce-framework/dolphin/pull/330
  • Save each ministack's amplitude dispersion for incremental PS/DS changes by @scottstanie in https://github.com/isce-framework/dolphin/pull/331
  • ps: functions for combining dispersions/means by @scottstanie in https://github.com/isce-framework/dolphin/pull/332

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.19.0...v0.20.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.19.0

Added - filtering module for filtering out long wavelength signals from the unwrapped phase - baseline module for computing the perpendicular baseline. Initial version has logic for OPERA CSLCs, uses isce3 - Interface only for 3D unwrapping - Faster correlated noise simulation, along with 3d stack simulation with synthetic deformation - Added ability to read rasters on S3 using VRTStack object - Eigenvalue solver speedups of 3-9x - Initial version of 3D unwrapping using spurt

Removed - the KL-divergence SHP estimator has been removed. GLRT is recommended instead.

Fixed - reproject_bounds uses the rasterio version, which densifies points along edges for a more accurate bounding box - The output SHP rasters now output 0 if there was no valid input data - Logic for filling PS pixels, with and without setting the amplitudes to be the original SLC amplitudes - ReferencePointError during the displacement workflow now will fall back look only at the condition_file (i.e. choose the point with highest temporal coherence by default)

Changed - The configuration options for unwrapping have been refactored. Options unique to each unwrapper are grouped into subclasses. - Note that older dolphin_config.yaml files will error after this refactor. - Unweighted time series inversion will make one batch call, providing a large speedup over the vmap version for weighted least squares - Default for strided PS-picking is to use lowest amplitude dispersion, instead of averaging PS pixels in the multilook window

What's Changed

  • temporary fix for compressed SLC metadata by @mirzaees in https://github.com/isce-framework/dolphin/pull/287
  • Enforce convention for conncomp files to be consistent with unw files by @sssangha in https://github.com/isce-framework/dolphin/pull/288
  • timeseries.py: speed up non-weighted invert_stack by @scottstanie in https://github.com/isce-framework/dolphin/pull/291
  • Change reproject_bounds to use rasterio version by @scottstanie in https://github.com/isce-framework/dolphin/pull/292
  • Start adding S3 support for VRTStack by @scottstanie in https://github.com/isce-framework/dolphin/pull/245
  • Fix s3 mocking by @scottstanie in https://github.com/isce-framework/dolphin/pull/296
  • Use a batch jnp.polyfit for unweighted velocity fitting by @scottstanie in https://github.com/isce-framework/dolphin/pull/298
  • Fix shp blocks with 1's in nodata regions by @scottstanie in https://github.com/isce-framework/dolphin/pull/299
  • Add functions for compression options and repacking by @scottstanie in https://github.com/isce-framework/dolphin/pull/301
  • Add perpendicular baseline function by @rtburns-jpl in https://github.com/isce-framework/dolphin/pull/282
  • Add filtering module for unwrapped interferogram by @seyeonjeon in https://github.com/isce-framework/dolphin/pull/305
  • 3d unwrap interface by @scottstanie in https://github.com/isce-framework/dolphin/pull/303
  • Fix PS filling/amplitude setting when filling PS pixels, simulate data faster by @scottstanie in https://github.com/isce-framework/dolphin/pull/307
  • Fix bad assert in phase linking code by @scottstanie in https://github.com/isce-framework/dolphin/pull/308
  • Add more PS filling tests by @scottstanie in https://github.com/isce-framework/dolphin/pull/309
  • Convert lon/lat to radians for baseline computation by @scottstanie in https://github.com/isce-framework/dolphin/pull/310
  • Improve simulation docs, make it easier for 3d simulation by @scottstanie in https://github.com/isce-framework/dolphin/pull/316
  • Use temporal coherence for auto reference, ensure timeseries velocity avoids nans by @scottstanie in https://github.com/isce-framework/dolphin/pull/315
  • Get initial 3d unwrap for one ministack by @scottstanie in https://github.com/isce-framework/dolphin/pull/314
  • Speed up eigenvalue solving using power iteration/inverse iteration by @scottstanie in https://github.com/isce-framework/dolphin/pull/317

New Contributors

  • @seyeonjeon made their first contribution in https://github.com/isce-framework/dolphin/pull/305

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.18.0...v0.19.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 1 year ago

Dolphin - v0.18.0

Added

  • Added cli timeseries

    Fixed

  • Parsing the file names correctly to find compressed SLCs and read dates based on production file naming convention

  • Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.17.3...v0.18.0

Scientific Software - Peer-reviewed - Python
Published by mirzaees over 1 year ago

Dolphin - v0.18.0

Added - Added cli timeseries

Fixed - Parsing the file names correctly to find compressed SLCs and read dates based on production file naming convention

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.17.3...v0.18.0

Scientific Software - Peer-reviewed - Python
Published by mirzaees over 1 year ago

Dolphin - v0.17.0

Added - Added Goldstein filtering for unwrapping - Added Interpolation for unwrapping - Added the regrow connected components for the modified phase - Added option to toggle off inversion - Added similarity module

Fixed - 3D readers would squeeze out a dimension for length one inputs (i.e. they would give an array with .ndim=2) - max_bandwidth config can now be 1 to specify only nearest neighbor interferograms. - Use the 'compressed' key term to find compressed slcs and regular slcs instead of number of dates in ionosphere - Consider the compressed SLCs have different naming convention with capital letters - Enforce consistency between jax and jaxlib - Disable corrections part of pytest, add one for timeseries

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.16.3...v0.17.0

Scientific Software - Peer-reviewed - Python
Published by mirzaees almost 2 years ago

Dolphin - v0.16.0

Added - Added dolphin.timeseries module with basic functionality: - Invert a stack of unwrapped interferograms to a timeseries (using correlation weighting optionally) - Estimate a (weighted) linear velocity from a timeseries - Added inversion and velocity estimation as options to DisplacementWorkflow - Create DatasetStackWriter protocol, with BackgroundStackWriter implementation

Changed - Rename GdalWriter to BackgroundBlockWriter - Displacement workflow now also creates/returns a stitched, multi-looked version of the amplitude dispersion

Fixed - BackgroundRasterWriter was not creating the files necessary before writing - Allow user to specify more than one type of interferogram in Network configuration

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.15.3...v0.16.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.15.3

What's Changed

  • Return created paths from tropo/iono functions by @scottstanie in https://github.com/isce-framework/dolphin/pull/243

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.15.2...v0.15.3

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.15.2

What's Changed

  • minor corrections for disp-s1 by @mirzaees in https://github.com/isce-framework/dolphin/pull/241
  • Correct default nodata values for unw/ccl, pass through to snaphu by @scottstanie in https://github.com/isce-framework/dolphin/pull/242

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.15.1...v0.15.2

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.15.1

What's Changed

  • Fix phass unwrap by @scottstanie in https://github.com/isce-framework/dolphin/pull/240

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.15.0...v0.15.1

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.15.0

What's Changed

  • Better nodata/mask handling in dolphin.unwrap by @scottstanie in https://github.com/isce-framework/dolphin/pull/235
  • Use compression/tiling by default in snaphu outputs by @scottstanie in https://github.com/isce-framework/dolphin/pull/236
  • Set the intersection of nodata values in the SLC stack to nan in run_phase_linking by @scottstanie in https://github.com/isce-framework/dolphin/pull/237

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.14.1...v0.15.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.14.1

What's Changed

  • Change snaphu-py tile defaults to avoid max secondary arcs error by @scottstanie in https://github.com/isce-framework/dolphin/pull/233
  • fix linalg.norm to be pixelwise in process_coherence_matrices by @scottstanie in https://github.com/isce-framework/dolphin/pull/234

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.14.0...v0.14.1

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.14.0

What's Changed

Fixed - Temporal coherence and eigenvalue rasters were switched in their naming - Output a better estimator raster to see where we switched to EVD - Cap the max number of threads to the CPU count to avoid numba config errors - Fix RLock incompatibility when usingspawn

Changed - refactor temporal coherence calculation to use vmap - Allows us to start making a weighted temporal coherence metric - Turn off default beta=0.01 regularization now that CPL is in place - Removed InterferogramNetworkType from configuration. - You can add multiple types of network parameters and it includes all of them. Adding the name only decreased flexibility. - Allow None or int for ntiles/downsample_factor by @scottstanie in https://github.com/isce-framework/dolphin/pull/231

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.13.0...v0.14.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.13.0

Added

  • _overviews module, and workflow configuration to create overviews of the output stitched rasters
  • Configuration to use the snaphu-py wrapper, and drop using isce3.unwrap.snaphu

Fixed

  • Apply bounds even if only one image is passed to stitching (#210)
  • Allow take_looks to work with MaskedArrays without converting to np.ndarray

Changed

  • Compressed SLCs are now named like (ref, start, end)

Dependencies

  • Move back to tqdm instead of using rich for progress bars.

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.12.0...v0.13.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.12.0

Changelog

Added - Added DatasetWriter protocol - Added RasterWriter and BackgroundRasterWriter implementations of this protocol - Refactored phase linking - Covariance and EVD/MLE use jax - This combines the implementation of CPU/GPU, and removes the need for usign pymp - Added utils.disable_gpu to stop the use for a GPU even if it's available

Changed - Internal module organization, including grouping IO modules into dolphin.io subpackage - Renamed io.Writer to io.GdalWriter to distinguish from RasterWriter - Removed the n_workers option from the configuration. - There is no more need to have two levels of parallelism (threads_per_worker and n_workers) - The name threads_per_worker is kept for consistency; it is still an accurate name for the multi-burst processing case.

PRs merged

  • Add many ruff checkers, fix errors by @scottstanie in https://github.com/isce-framework/dolphin/pull/198
  • Use .int.tif for default stitched interferograms by @scottstanie in https://github.com/isce-framework/dolphin/pull/200
  • Add DatasetWriter protocol and RasterWriter by @scottstanie in https://github.com/isce-framework/dolphin/pull/201
  • add dolphin_config.yaml note to bug_report.yml [skip-ci] by @scottstanie in https://github.com/isce-framework/dolphin/pull/205
  • use BIGTIFF=YES for default tif creation by @scottstanie in https://github.com/isce-framework/dolphin/pull/206
  • use model_post_init instead of overriding __init__ by @scottstanie in https://github.com/isce-framework/dolphin/pull/207
  • Convert phase linking to use jax by @scottstanie in https://github.com/isce-framework/dolphin/pull/203
  • Deprecate moving_window_mean in favor of uniform_filter by @scottstanie in https://github.com/isce-framework/dolphin/pull/208
  • Implement CPL, refactor of phase linking modules for clearer names, speed by @scottstanie in https://github.com/isce-framework/dolphin/pull/209

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.11.0...v0.12.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.11.0

What's Changed

  • Add ionospheric correction by @mirzaees in https://github.com/isce-framework/dolphin/pull/185

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.10.0...v0.11.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.10

What's Changed

  • Add bibtex extension for mkdocs by @scottstanie in https://github.com/isce-framework/dolphin/pull/193
  • Set up unwrap post process subpackage by @scottstanie in https://github.com/isce-framework/dolphin/pull/190
  • Add changelog for new dep, fix imports/exports by @scottstanie in https://github.com/isce-framework/dolphin/pull/194
  • Remove _dates module by @scottstanie in https://github.com/isce-framework/dolphin/pull/195
  • Fix merge_images for strided images by @scottstanie in https://github.com/isce-framework/dolphin/pull/196

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.9.0...v0.10.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 2 years ago

Dolphin - v0.9.0

What's Changed

Added - DatasetReader and StackReader protocols for reading in data from different sources - DatasetReader is for reading in a single dataset, like one raster image. - StackReader is for reading in a stack of datasets, like a stack of SLCs. - Implementations of these have been done for flat binary files (BinaryReader), HDF5 files (HDF5Reader), and GDAL rasters (RasterReader).

Changed - The VRTStack no longer has an .iter_blocks method - This has been replaced with creating an EagerLoader directly and passing it to the reader argument

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.8.0...v0.9.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 2 years ago

Dolphin - v0.8.0

Added - Ability to unwrap interferorgams with the snaphu-py (not a required dependency) - Added ability to make annual ifgs in Network - Start of tropospheric corection support in dolphin.atmosphere using PyAPS and Raider packages - Expose the unwrap skipping with dolphin config --no-unwrap

Changed - The output directory for interferograms is now just "interferograms/" instead of "interferograms/stiched" - Even when stitching, the burst-wise interferograms would be in the named phase-linking subfolders. - Split apart the dolphin.workflows.stitch_and_unwrap module into stitching_bursts and unwrapping - Switched output filename from tcorr to temporal_coherence for the temporal coherence of phase linking. - Also added the date span to the temporal_coherence output name - The default extension for conncomps is now .tif. Use geotiffs instead of ENVI format for connected components. - Using ruff instead of pydocstyle due to archived repo

New Contributors

  • @mirzaees made their first contribution in https://github.com/isce-framework/dolphin/pull/177

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.7.0...v0.8.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 2 years ago

Dolphin - v0.7.0

What's Changed

Added - MiniStackPlanner and MiniStackInfo class which does the planning for how a large stack of SLCs will be processed in batches. - Previously this was done at run time in sequential.py. We want to separate that out to view the plan in advance/allow us to dispatch the work to multiple machines. - CompressedSlcInfo class added to track the attributes of a compressed SLC file created during the workflow. - Added better/more complete metadata to the compressed SLC Geotiff tags, including the phase reference date - config: phase_linking.max_compressed_slcs to cap the number of compressed SLCs added during large-stack sequential workflows - interferogram: Add ability to specify manual dates for a Network/VRTInterferogram, which lets us re-interfere the phase-linking results

Changed - Date functions have been moved from dolphin.utils to dolphin._dates. They are accessible at dolphin.get_dates, etc - get_dates now uses datetime.datetime instead of datetime.date, so missions like DeltaX won't be impossible to process - VRTStack has been moved to _readers.py. The minstack planning functions have been removed to focus the class on just reading input GDAL rasters.

Fixed - When starting with Compressed SLCs in the list of input SLCs, the workflows will now recognize them, find the correct reference date, and form all the correct interferograms

Removed - Extra subsetting functions from VRTStack have been removed, as they are not used in the workflow and the reimplmenent simple GDAL calls. - CPURecorder and GPURecorder have been removed to simplify code. May be moved to separate repo.

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.6.1...v0.7.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 2 years ago

Dolphin - v0.6.1

What's Changed

  • convert dolphin.opera_utils to use external opera_utils in https://github.com/isce-framework/dolphin/pull/158

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.6.0...v0.6.1

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 2 years ago

Dolphin - v0.6.0

What's Changed

Added - opera_utils.get_missing_data_options to parse the full list of SLCs and return possible subsets which have the same dates used for all Burst IDs - PsWorkflow class for running just the PS estimation workflow - asv benchmark setup - @atomic_output decorator for long running write processes, to avoid partially-written output files

Changed - removed minimum_images as an argument from opera_utils.group_by_burst. Checking for too-few images now must be done by the caller - opera_utils.group_by_burst now matches the official product name more robustly, but still returns the lowered version of the burst ID. - Split up config models for easier partial workflow running (e.g. on AWS) - The s1_disp workflow has been renamed to displacement, since it is not specific to Sentinel-1. - The configuration was refactored to enable smaller workflow - The Workflow config class has been renamed to DisplacementWorkflow. - A PsWorkflow config class has been added for the PS estimation workflow. - A WorkflowBase encompasses some of the common configuration options.

Maintenance - ruff has replaced isort/black/flake8 in the pre-commit checks

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.5.1...v0.6.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie about 2 years ago

Dolphin - v0.5.1

What's Changed

  • Return ps mask, use scratchdir for tophu unwrapping by @scottstanie in https://github.com/isce-framework/dolphin/pull/148

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.5.0...v0.5.1

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 2 years ago

Dolphin - v0.5.0

Bumping minor version due to the number of changes since 0.4.0

Changelog: https://github.com/isce-framework/dolphin/compare/v0.4.3...v0.5.0

Full Changelog since 0.4.0: https://github.com/isce-framework/dolphin/compare/v0.4.0...v0.5.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 2 years ago

Dolphin - v0.4.3

Added - Ability to unwrap using isce3's PHASS - CorrectionOptions model for specifying the correction options in the Workflow config - Currently a placeholder for the files which will be used for tropospheric/ionospheric corrections - Ability to keep relative files in the Workflow config - This is useful for keeping the relative paths to the SLCs in the config, and then running the workflow from a different directory

Changed

  • Instead of specifying the unwrapping algorithm in dolphin unwrap as --use-icu, the option is not --unwrap-method
    • This let's us add --unwrap-method "phass", but also future unwrap methods without a --use-<name> for every one
  • Use spawn instead of fork for parallel burst multiprocessing
    • This leads to the error Terminating: fork() called from a process already using GNU OpenMP, this is unsafe. in certain situations, and does not happen with spawn. See https://pythonspeed.com/articles/python-multiprocessing/ for more details. Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.4.2...v0.4.3

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 2 years ago

Dolphin - v0.4.2

Added - use_evd option to force the use of eigenvalue decomposition instead of the EMI phase linking algorithm - Walkthrough tutorial notebook

Changed

  • Moved all OPERA_ variables to a new module dolphin.opera_utils.
    • Other OPERA-specific quirks have been moved to the separate disp-s1 repo, but the functions remaining are the ones that seem most broadly useful to sweets and other users working with burst SLCs.
    • Changed the burst regex to be able to match COMPASS and the official product name
  • Removed WorkflowName for separating stack vs single
    • The name didn't really provide benefit, as the real differences came from other configuration options
  • Internals for which functions are called in sequential.py
  • Docker image now has tophu installed

Full Changelog: https://github.com/isce-framework/dolphin/compare/v0.4.1...v0.4.2

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 2 years ago

Dolphin - v0.4.1

Add back isce3 to avoid optional dependencies

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 2 years ago

Dolphin - v0.4.0

Split disp-s1 out from dolphin to limit SAS-specific code. This lets us move the core library in dolphin to the isce-framework org.

Requirements

  • Added tbb to prevent numba crashes.
  • Dropped h5netcdf, pillow
  • Made isce3 an optional requirement for unwrapping

Full Changelog: https://github.com/opera-adt/dolphin/compare/v0.3.2...v0.4.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 2 years ago

Dolphin - v0.3.2

Patch release for the MANIFEST + data files.

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 2 years ago

Dolphin - v0.3.1

Patch to add a MANIFEST.in to include the SHP cutoff CSV data files.

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 2 years ago

Dolphin - v0.3.0

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: https://github.com/opera-adt/dolphin/compare/v0.2.0...v0.3.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 2 years ago

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 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: https://github.com/opera-adt/dolphin/compare/v0.1.1...v0.2.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie over 2 years ago

Dolphin - v0.1.1

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

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 3 years ago

Dolphin - 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 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

  • @gmgunter made their first contribution in https://github.com/opera-adt/dolphin/pull/70

Full Changelog: https://github.com/opera-adt/dolphin/compare/v0.0.4...v0.1.0

Scientific Software - Peer-reviewed - Python
Published by scottstanie almost 3 years ago