Releases: isce-framework/isce3
Releases · isce-framework/isce3
R3.2
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
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
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
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)
- Implemented several fixes and improvements to
- 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)
- Loosened
- Updated dependencies
- Dropped support for pyre < 1.11.2 (#1046)
OPERA-CSLC-IF
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 fromRaster
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
togeogrid_and_radargrid
(#990) - Changed DEM margin units to pixels rather than meters/degrees (#783)
- Renamed memory option
- 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 ofDEMInterpolator
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
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:
- Add dependency on backoff
ER3.0
What’s new in this release:
- General:
- Renamed
pybind_nisar
package tonisar
(#790) - Added ground-track velocity to metadata cubes (#827)
- Added python bindings for
Poly1d
andPoly2d
(#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
, andpolyder
functions (similar to the NumPy polynomial API) toisce3::math
(#834) - Added 1-D root-finding routines based on Newton’s method and Secant method to
isce3::math
(#856)
- Renamed
- 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
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
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
v0.2.0 Release 0.2.0