Skip to content

Releases: isce-framework/isce3

R3.2

29 Jan 18:56
Compare
Choose a tag to compare

What's new in this release:

  • General:
    • Updated NISAR L0B parser to conform to updated product spec (#1160)
    • Added missing PGE parameters to runconfig schemas (#1172, #1186, #1201)
    • Added support for providing an input TEC file to GCOV, GSLC, and InSAR runconfigs (#1183)
    • Added QA and CalTools parameters to runconfig schemas and defaults (#1191, #1205)
    • Added library support for RFI detection and mitigation using azimuth EVD algorithm (not yet integrated into RSLC workflow) (#1158)
  • RSLC workflow:
    • Added support for mixed-mode processing (#1126, #1188)
    • Significantly improved performance by modifying blocking strategy to reduce redundant memory traffic between host & device, performing statistics calculation while data is still in-core, and performing I/O in a dedicated thread (#1143)
    • Added RFI detection and mitigation options to RSLC runconfig (#1199)
    • Removed deprecated fields from RSLC runconfig schema (#1199)
    • Improved RSLC performance by performing BFPQ table lookups in parallel and subsetting input L0B data (#1188)
  • Antenna/Pointing workflows:
    • Refactored beamformer code and algorithms (#1109)
    • Added instrument file parser and sample instrument HDF5 file (#1109)
    • Added support for DM2-like NISAR L0B products to Doppler pointing workflow (#1144)
  • GSLC workflow:
    • Deprecated GSLC raster-based processing and replaced it with array-based processing as the primary mode (#1192)
    • Added interface options to control compression, bit width, and bit masking of GSLC products (#1182)
  • GCOV workflow:
    • Added compression to GCOV products (#1170)
    • Added subswath metadata to GCOV products (#1043)
    • Significantly improved performance by updating the float16 -> float32 conversion implementation and storing the RSLC backscatter as an intermediate output (#1175)
  • InSAR workflow:
    • Added perpendicular and parallel baseline estimation for RIFG and GUNW products (#1094)
    • Added input water mask file to InSAR runconfig (#1167)
    • Significantly improved the runtime of resampleSlc and crossmul by updating the float16 -> float32 conversion implementation (#1174)
    • Added options for masking and filling invalid pixels in the wrapped phase (#1127)
    • Added new rubbersheeting algorithm using pixel offsets blending (#1146)
    • Merged upstream PyCuAmpcor udpates (#1130)
    • Defined default behavior of ionosphere correction step if the user did not specify polarizations for each band (#1168)
    • Added troposphere wet delay estimation (#1155)
    • Renamed runconfig fields in input file group (#1204)
    • Added support for decimating offsets rasters for ionosphere phase estimation (#1177)
  • Testing:
    • Updated block dimensions of some RSLC workflow tests to significantly improve performance (#1143)
    • Added missing required parameter to GSLC workflow test runconfigs (#1189)
    • Integrated SoilMoisture R3.2 software updates into release images (#1185)
    • Added DM2 test cases for beamformer noise estimation tool and point target analysis tool (#1200)
    • Updated RSLC REE2 test runconfig to exercise interface for dynamic ancillary files and RFI detection (#1199, #1219)
    • Removed CF compliance checking from QA pipeline (#1212)
    • Integrated QA R3.2 software updates into release images (#1212)
    • Added troposphere wet delay estimation to InSAR and end2end test cases (#1215)
    • Updated Rosamond end2end test case to exercise interface to supply TEC file (#1221)
  • Bug fixes:
    • Added missing include to geocodeSlc.h (#1157)
    • Disabled dense offsets geocoding when pixel offsets are not generated by the InSAR workflow (#1196)
  • Dependencies:
    • Dropped support for Python < 3.7 (#1187)
    • Dropped support for h5py < 3.0 (#1187)
    • Dropped support for NumPy < 1.20 (#1187)
    • Added dependency on PyAPS >= 0.3 (#1155)

OPERA-CSLC-RTC-S1-Beta

05 Dec 21:17
Compare
Choose a tag to compare

What’s new in this release:

  • General:
    • Added support for NISAR subswaths (#1031)
    • Added default input/output file paths to GCOV, GSLC, and InSAR runconfigs (#1112)
    • Added a function to compute the radar-domain bounding box of a geogrid (#1051)
    • Added support for extracting high-resolution geometry layers from NISAR L2 products (#782)
    • Added support for optional azimuth time and slant range correction lookup tables to geocodeSlc (#1089)
  • GSLC workflow:
    • Refactored to perform block processing logic at the Python level (#1049)
    • Sped up GSLC processing by subsetting input radar-domain data to the valid bounding box for each block (#1105)
  • InSAR workflow:
    • Sped up dense offsets computation by updating float16 -> float32 conversion (#1084)
    • Added default geocode interpolation method to InSAR runconfig (#1108)
    • Added ionosphere phase screen layers to InSAR geocoded products (#1103)
    • Modified geo2rdr output to store offsets in double precision (#1070)
  • Testing:
    • Fixed typo in SoilMoisture test runconfig (#1099)
    • Updated RSLC unit test dataset (#1100)
    • Downgraded CUDA version in release images from 11.7 -> 11.4 (#1104)
    • Updated output PRF of RSLC unit test output to match product spec (#1136)
  • Bug fixes:
    • Fixed bug in ionosphere phase correction runconfig parsing (#1077)
    • Fixed sign error in topographic slope estimation in Topo module (#1040)
    • Resolved parameter/attribute name inconsistencies in RadarGridParameters (#1087)
    • Fixed missing import in IH5.cpp (#1086)
    • Fixed an issue that caused focusing to fail when a DEM raster was provided (#1091)
    • Fixed a bug in loadDEM bounding box calculation (#1118) (thanks to @scottstanie)
    • Fixed a bug in geocodeSlc that caused block-wide artifacts in blocks that didn't contain any valid data (#1116) (thanks to @scottstanie)
    • Improved performance and fixed geometric accuracy issues in point target analysis tool (#1110)
    • Addressed bugs in runconfig file parsing and populating HDF5 metadata in InSAR workflow (#1117)
    • Fixed bad parameter type in Geo2RdrParams constructor (#1124)
    • Fixed integer overflow issue in resampSlc (#1122)
    • Fixed usage of dataclasses with mutable default values for Python 3.11 (#1132)
    • Fixed a bug in DEMInterpolator statistics computation (#1137)
    • Fixed a bug in getting the SLC raster shape in dense offsets computation (#1135)
    • Fixed metadata cubes path in GOFF products (#1135)
    • Fixed compilation error with GDAL 3.6+ (#1152)

R3.1

06 Aug 19:35
Compare
Choose a tag to compare

What's new in this release:

  • General
    • Added support for full-resolution (single-look) Crossmul (#845)
    • Temporarily removed support for range & azimuth common-band filtering in Crossmul module (#845)
  • InSAR workflow
    • Added support for ionosphere phase estimation (#1006)
    • Added generation of GOFF products (#1055)
  • DNC workflows
    • Added support for external orbit & attitude files to Doppler-Range product workflow (#1062)
  • Calibration
    • Added Point Target Analysis tool with support for RSLC products (#859)
    • Added Noise Estimation tool with support for averaging & EVD algorithms (#1069)
  • Soil Moisture
    • Integrated Soil Moisture SAS into NISAR ADT docker image (#1079)
  • Testing
    • Updated an ALOS-derived L0B test dataset to incorporate updates to the L0B product spec & bug fixes in the ALOS-to-NISAR-L0B conversion script (#1062)
    • Updated EL Null Range test dataset to replace outdated DM2 L0B (#1065) and use external orbit & attitude files (#1080)
    • Updated end-to-end Rosamond test case to exercise ROFF & GOFF product generation (#1067)
    • Updated Soil Moisture workflow test case to exercise new algorithms and updated functionality (#1079)
    • Updated Noise Estimation & Point Target Analysis test cases to support the updated interface & implementations (#1081)
    • Updated RSLC REE1 test to use external orbit & attitude files (#1083)

ER3.1

30 Jun 02:24
Compare
Choose a tag to compare

What's new in this release:

  • General
    • Implemented several fixes and improvements to alos_to_nisar_l0b script (#1026, #1041, #1050)
    • Moved generic block processing functionality to namespace isce3::core (#1024)
  • D&C workflows
    • Added EL rising edge pointing product workflow (#1028)
  • GSLC/GCOV workflows
    • Added support for external orbit files (#1047)
  • InSAR workflow
    • Added standalone generation of ROFF products (#1007)
    • Added support for external orbit files (#1047)
  • Workflow tests
    • Removed placeholders for orbit & attitude filenames from RSLC REE2 test case runconfig (#1035)
    • Added test case for offset product (#1054)
    • Added test cases for D&C workflows (#1057)
  • Bug fixes
    • Loosened DateTime::isClose() tolerance to fix an issue that sometimes caused Orbit de-serialization to fail unexpectedly (#1029)
    • Fixed azimuth time calculation GPU resampleSLC block processing (#1037)
    • Fixed an issue where isce3.io.gdal.Raster data buffers were sometimes not kept alive while still being referenced (#1023)
  • Updated dependencies
    • Dropped support for pyre < 1.11.2 (#1046)

OPERA-CSLC-IF

16 May 21:01
Compare
Choose a tag to compare

Intermediate release for OPERA, containing new changes to geocodeSlc code.

What's new in this release:

  • General
    • Added support for passing azimuth & range phase carriers to geocodeSlc (#912)
    • Added DEMInterpolator constructor from Raster objects (#963)
    • Updated DEMInterpolator to handle dateline crossing (#810)
    • Added ability to geocode a sub-block of an SLC (#985)
    • Updated SNAPHU to v2.0.5 (#995)
    • Added capability to resample a DEM to a new grid, with support for biquintic interpolation (#786)
  • D&C workflows
    • Added Doppler centroid product workflow (#700)
    • Added EL null-to-range pointing product workflow (#966)
  • RSLC workflow
    • Added support for focusing using external orbit & attitude files (#948)
  • GSLC/GCOV workflow
    • Renamed memory option geogrid_radar_grid to geogrid_and_radargrid (#990)
    • Changed DEM margin units to pixels rather than meters/degrees (#783)
  • InSAR workflow
    • Implemented split-spectrum ionosphere phase correction step (#883)
    • Enabled generation of offsets products (ROFF, GOFF) (#993)
    • Added support for SNAPHU unwrapping in InSAR workflow (#968)
    • Updated InSAR runconfig schema to specify reference & secondary SLC file paths as separate parameters (#1010)
  • Docker images
    • Changed default docker image base to Oracle Linux 8.4 (#976)
  • Workflow tests
    • Enabled bandpass module in San Andreas InSAR test case (#998)
  • Bug fixes
    • Fixed support for Python 3.7 by removing features that required Python 3.8+ (#972)
    • Fixed an issue that caused debug builds to fail to compile (#981)
    • Fixed an issue that caused accessing the data attribute of DEMInterpolator to raise a TypeError (#963)
    • Improved accuracy of SNAPHU unwrapped phase by avoiding accumulation of floating point roundoff errors (#967)
    • Fixed a bug in rdr2geo & geo2rdr modules that caused user-specified lines_per_block parameters to be ignored (#996)
    • Fixed an issue that caused InSAR & GSLC product generation to fail when more than one polarization was provided (#1016)
  • Updated dependencies
    • Dropped support for GDAL < 3.0 (#1019)

R3.0

04 Mar 20:48
Compare
Choose a tag to compare

What’s new in this release:

  • General
    • Add Tx beamforming processing functionality (#815)
    • Add support for 2D phase unwrapping using SNAPHU (#865)
    • Improve flexibility & performance of the Topo module by making output rasters optional (#868)
    • Migrate point_target_info utility from nisar namespace to isce3 (#936)
    • Populate ISO metadata fields in NISAR products as required by ASF DAAC (#935)
    • Modify geo2rdr algorithm to use time rather than range to test convergence (#886)
  • GSLC/GCOV workflows
    • Change fill value for invalid pixels from zero to NaN (#942)
  • Stage-DEM workflow
    • Add exponential backoff to make NISAR-DEM bucket access more resilient to transient issues (#910) (thanks to @gmanipon)
  • Workflow tests
    • Update the NISAR ADT docker image to pull recent changes to calTools and QA packages (#899)
    • Update RSLC, InSAR, & End2End test runconfigs to add new parameters, integrate recent schema changes, and address schema validation errors (#896, #898, #900, #904, #907, #940)
    • Update Rosamond test DEM file to match the one used by the PCM team in testing (#903)
    • Add 'VV' polarization to InSAR workflow test cases (#958)
    • Exclude scratch directory contents from test data deliverables (#944)
    • Change runconfig parameter names to consistently use "snake case" naming convention (#911, #959, #962)
    • Remove standalone beamformer test (#965)
  • Bug fixes
    • Fix stage_dem module to correctly apply margins to polygon coordinates (#908)
    • Fix deramping of frequency 'B' data in RSLC workflow (#920)
    • Fix an issue with the rdr2geo workflow that resulted in incorrect output spatial reference system (SRS) when the requested SRS differed from the input DEM SRS (#929)
    • Fix hard-coded interpolation kernel size in ResampSLC (#931)
    • Fix InSAR workflow to support interferogram generation for dual-band datasets (#928)
    • Address an issue with subprocess management that caused workflow tests to sometimes appear to fail despite completing successfully (#947)
    • Fix an issue that caused artifacts along block boundaries in the CUDA implementation of Geocode (#955)
  • Updated dependencies:

ER3.0

11 Dec 02:37
Compare
Choose a tag to compare

What’s new in this release:

  • General:
    • Renamed pybind_nisar package to nisar (#790)
    • Added ground-track velocity to metadata cubes (#827)
    • Added python bindings for Poly1d and Poly2d (#834, #873)
    • Updated ResampSlc constructors (#889)
    • Added metadata describing raster statistics to RSLC, GSLC, GCOV, and GUNW products (#811)
    • Updated the default convergence threshold for the geo2rdr module (#895)
    • Added polyfit, polyval, and polyder functions (similar to the NumPy polynomial API) to isce3::math (#834)
    • Added 1-D root-finding routines based on Newton’s method and Secant method to isce3::math (#856)
  • Antenna/Pointing workflows:
    • Added antenna elevation power pattern estimation (#834)
    • Added rising edge method cost functions for elevation pointing estimation (#856)
    • Added elevation null pattern formation and null location estimation (#872)
  • RSLC workflow:
    • Added missing PGE runconfig parameters (#874, #904, #907)
    • Replaced rslc_REE2 test data with a new version that contains dual-pol (HH/HV) data with frequency A/B bands and conforms to the L0B product specification (#904)
  • GSLC/GCOV/GUNW workflows:
    • Updated runconfig schema to make some parameter groups optional (#840)
    • Updated GCOV workflow parameters (#854)
    • Updated GCOV product to populate 'listOfCovarianceTerms' (#855)
    • Update GeocodeCov Area-Projection algorithm to handle self-intersecting area elements (#878)
  • InSAR workflow:
    • Added range spectrum bandpass functionality (#853)
    • Expose rdr2geo & geo2rdr block size parameters in InSAR runconfig (#861)
    • Added interferogram filtering (#806)
  • End2End workflow:
    • Removed deprecated runconfig parameter from test cases (#900)
    • Replaced DEM for end2end Rosamond workflow test with the DEM that PCM is using for that test case (#903)
  • Bug fixes:
    • Fixed issues in the CPU/GPU Geocode module that resulted in processing artifacts at block boundaries (#830, #833, #857)
    • Removed usage of std::visit in order to support macOS < 10.14 (#851)
    • Fixed an issue that caused interpolated DEM values for pixels that were outside the bounds of the swath to not be stored during geocoding (#848)
    • Fixed an issue that caused some tests that required CUDA to be run even when CUDA was not enabled (#843)
    • Fixed an issue that caused RSLC processing to fail when storing Doppler LUT info for frequency B (#844)
    • Fixed an issue that caused the Topo module to produce incorrect results when the input DEM was in projected coordinates (#780)
    • Fixed an issue in GCOV that caused the "number of looks" raster to be saved regardless of whether the user requested it (#860)
    • Fixed incorrect chirp normalization in RSLC processing (#885)
    • Fixed an issue that resulted in -inf values in GCOV quality assurance histograms (NISAR-ADT/QualityAssurance#13)
  • Updated dependencies:
    • Added support for HDF5 v1.12 (#826)
    • Added support for Eigen v3.4.0 (#867)
    • Added support for pyre v1.11.0 (#875)

R2

21 Jul 20:00
Compare
Choose a tag to compare
R2

What's new in this release:

  • InSAR workflow:
    • Added layover/shadow mask generation
    • Added rubbersheeting step
    • Added support for PHASS unwrapping algorithm
    • Added support for fine resampling using geometry + dense offsets
    • Added GPU support for geocoding (bilinear interpolation method only)
    • Improved serialization performance of Topo layers leveraging multi-threaded I/O
  • GSLC/GCOV/GUNW workflows:
    • Added radar grid metadata cubes to GSLC & GUNW workflows
    • Added DEM interpolation option to GCOV workflow
    • Added polarimetric symmetrization option to GCOV workflow
    • Update GCOV to allow a different output coordinate system than the original DEM coordinate system
    • Update GCOV to read only the RSLC subset that is needed for processing
  • RSLC workflow:
    • Updated to handle both old & new versions of the L0B product format
  • Bug fixes:
    • Fixed an issue that caused the NetCDF driver to fail to load geocoded products
    • Fixed an issue that sometimes caused artifacts in geocoded rasters due to insufficient DEM margin for interpolation
    • Fixed an issue with interpolation of non-zero Doppler data in the GSLC workflow
    • Fixed incorrect handling of the dateline crossing in DEM staging

R1.1.1

21 Jul 20:00
Compare
Choose a tag to compare

This is an informal point release that adds capabilities for the upcoming SDS load test.

What's new in this release:

  • Added GPU support for amplitude cross-correlation using PyCuAmpcor
  • Added (GPU-only) dense offset estimation to InSAR workflow
  • Added python bindings for PHASS phase unwrapper
  • Updated the RSLC workflow to baseband the resulting SLC product in range after focusing
  • Added new antenna frame coordinate system transformations
  • Added product readers for NISAR antenna, orbit, and attitude products
  • Added GCOV workflow options to output sigma0 and interpolated DEM
  • Populated some missing metadata in generated RSLC & GSLC products
  • Fully converted python bindings from cython to pybind11
  • Bug fixes:
    • Fixed issues with upsampling in CUDA crossmul
    • Fixed a mixup between acquired PRF and processed PRF that resulted in geolocation errors in ALOS-1 processing
  • Updated dependencies:
    • Dropped support for GCC < 7.0
    • Dropped support for CUDA Toolkit < 11.0
    • Dropped support for CMake < 3.18
    • Removed cython dependency

R1.1

24 Feb 19:48
Compare
Choose a tag to compare
v0.2.0

Release 0.2.0