Releases: isce-framework/isce3
Releases · isce-framework/isce3
v0.17.1
v0.17.0
What's Changed
- Update L3SM runconfig for R3.4 SAS by @jshimada47 in #1511
- Fix type annotations for Python<3.9 by @gmgunter in #1512
- Read sampleRateDBF metadata for antenna pattern cal by @bhawkins-jpl in #1508
- Update ALOS L0B identification fields by @bhawkins-jpl in #1509
- Augment HDF5 Instrument Parser by @rad-eng-59 in #1513
- Integrate RFI processing in RSLC workflow by @bhawkins-jpl in #1514
- Fix deep_update recursion by @bhawkins-jpl in #1517
- Added workflow test rslc_REE3 by @jshimada47 in #1506
- QA update for R3.4.1 by @nemo794 in #1519
Full Changelog: v0.16.0...v0.17.0
R3.4
What's Changed
- Bump minimum pyre version to 1.12 by @gmgunter in #1454
- Change Soil Moisture commit id by @xhuang-jpl in #1460
- Change the runconfig of the test data with HRES weather model by @xhuang-jpl in #1457
- Change the GUNW structure following the new specification by @xhuang-jpl in #1426
- Change the GOFF structure following the new specification by @xhuang-jpl in #1427
- Fix end2end Rosamond test case insar runconfig by @gmgunter in #1462
- Fix bugs in preprocess and bandpass by @oberonia78 in #1437
- Fix new specification inconsistencies by @xhuang-jpl in #1463
- Fix description in data cubes layers by @vbrancat in #1464
- Faraday Rotation Angle Estimation from RSLC plus CR by @rad-eng-59 in #1364
- Add a weekly CI job to run the full workflow test suite by @gmgunter in #1444
- Get products geometry (L1) by @gshiroma in #864
- Add DEM description to DEM VRT downloaded with stage_dem.py by @vbrancat in #1451
- Change the Troposphere delay name from Dry to Hydrostatic by @xhuang-jpl in #1459
- Remove NaN values in baseline computation by @oberonia78 in #1468
- Change soil moisture SAS commit id of R3.4 by @xhuang-jpl in #1471
- Fix Bad Quality Factor in Pointing Products by @rad-eng-59 in #1478
- Add NISAR corner reflector CSV parser by @gmgunter in #1472
- SM R3.4 SAS Commit Change by @xhuang-jpl in #1477
- GPU geocode sinc interpolation by @LiangJYu in #1399
- Data-Driven RFI Detection Thresholding by @huangbo6688 in #1272
- Only update interferogram geogrids if workflow name is not GCOV or GSLC by @gshiroma in #1475
- Include TEC correction in CPU geocode InSAR by @vbrancat in #1470
- RSLC calibration by @bhawkins-jpl in #1387
- Fix geocoding offset layers for
nisar.workflows.geocode_insar
by @LiangJYu in #1488 - Update GCOV and GSLC workfows to accept an empty runconfig field
list_of_frequencies
by @gshiroma in #1473 - Change margin computation in stage_dem.py by @vbrancat in #1415
- Aztimuth and slant range corrections for CUDA geocode by @LiangJYu in #1423
- Test InSAR workflow using the new InSAR specification by @xhuang-jpl in #1419
- Add partial_granule_id and product_version to all SASes schema by @vbrancat in #1461
- Update RSLC test runconfigs by @gmgunter in #1494
- RSLC schema optional fields by @bhawkins-jpl in #1479
- Parse along-track spacing in Swath object by @bhawkins-jpl in #1481
- Convert the pixel offset from pixels to meters by @xhuang-jpl in #1469
- Quick PR to add ionospheric geolocation correction to GCOV products by @gshiroma in #1493
- update and fix the stage_watermask by @oberonia78 in #1466
- Pull the granule_id and product_version from the runconfig by @xhuang-jpl in #1496
- Add the RTC area normalization factor (ANF) gamma0 to sigma0 to GCOV products by @gshiroma in #1385
- Speed up focusing of dithered data by @bhawkins-jpl in #1420
- Azimuth pattern estimation notebook by @bhawkins-jpl in #1489
- Add corner reflector CSV option to point_target_analysis by @gmgunter in #1495
- Quick PR to expose the pixel area mode in the GCOV runconfig by @gshiroma in #1436
- add product and product specification version with defaults to GCOV and GSLC products by @LiangJYu in #1497
- Fix issue 1500 by @LiangJYu in #1501
- Update deep_update() to ignore empty values in GCOV, GSLC, and RSLC workflows by @gshiroma in #1467
- QA update for R3.4 by @nemo794 in #1505
- RSLC product spec updates by @bhawkins-jpl in #1499
- Change the processing center and product version in the InSAR spec by @xhuang-jpl in #1503
- Quick PR to populate GCOV and GSLC metadata field
granuleId
with the runconfig fieldpartial_granule_id
by @gshiroma in #1504 - Temporarily disable REE2 from the test suite by @gmgunter in #1507
Full Changelog: v0.15.0...v0.16.0
v0.15.0
What's Changed
- PyCuAmpcor: implement CPU sinc oversampler by @rtburns-jpl in #1390
- Update the soil moisture Dockerfile by @xhuang-jpl in #1410
- add parallel scipy fft to split_spectrum by @oberonia78 in #1400
- background.py: ensure
main_thread
is still alive for background workers by @scottstanie in #1416 - Use more accurate WGS84 Ellipsoid by @bhawkins-jpl in #1429
- Add DEM version to stage_dem command line by @vbrancat in #1411
- stage watermask by @oberonia78 in #1412
- Update for QA v4.0.0, for post-R3.3 mid-cycle release for PGE by @nemo794 in #1431
- Preserve more Jenkins build logs on the CI server by @gmgunter in #1433
- Fix typo in naming LOS unit vector for getRadarGrid.cpp by @vbrancat in #1432
- Update QA installation to use pip by @nemo794 in #1434
- combine the water and layover/shadow masks into single mask layer by @oberonia78 in #1339
- Add missing libgomp package to docker runtime environment by @gmgunter in #1398
- Quick PR to fix the image normal vector for the left looking geometry by @gshiroma in #1435
- Pycuampcor cross-correlation peak output by @rtburns-jpl in #1346
- Change the RIFG structure following the new specification by @xhuang-jpl in #1418
- Fix bugs geocode insar by @oberonia78 in #1439
- Change the RUNW structure following the new specification by @xhuang-jpl in #1421
- Append _files to orbit and troposphere_weather_model groups in InSAR schema by @vbrancat in #1441
- Add Ampcor cross-correlation peak to InSAR workflow by @vbrancat in #1438
- Multilook RIFG before unwrapping by @vbrancat in #1417
- Change the ROFF structure following the new specification by @xhuang-jpl in #1422
- Update DEM interpolator and load DEM to handle areas around the antimeridian by @gshiroma in #1424
- Create unique
vsimem
references to avoid memory collision by @gshiroma in #1445
Full Changelog: v0.14.0...v0.15.0
v0.14.0
What's Changed
- Update formula to compute the ground velocity by @gshiroma in #1369
- Add Artifactory upload notification email by @gmgunter in #1379
- Address negative index values in
isce3::image::ResampSlc
andisce3::cuda::image::ResampSlc
tile initialization by @LiangJYu in #1367 - Add docker image labels to NISAR distrib image by @gmgunter in #1382
- Fix topo to compute layover/shadow mask if rasters X, Y, or inc are null by @gshiroma in #1366
- Quick PR to update S3 bucket path for EPSG 4326 DEM by @gshiroma in #1388
- Add option in RTC to compute the "area beta" (A_beta) using the projection angle by @gshiroma in #1371
isce3::geocode::geocodeSlc
doppler bug fixes by @LiangJYu in #1384- Quick updates to topo: add progress indicator and simplify computation of the shadow mask by @gshiroma in #1375
- Update Pol Channel Imbalance w/ EL-dependent X-talk Removal by @rad-eng-59 in #1381
- Save RTC area normalization factor gamma0 to sigma0 by @gshiroma in #1383
- Expose multilook functionalities to a Python level by @vbrancat in #1396
- move
types.py
toisce3.core
namespace fromnisar
namespace by @LiangJYu in #1397 - Add ability to compute/output East and North component for ground-to-satellite vector in Topo by @LiangJYu in #1393
- Clean up commented code and update comments from LOS east-north PR #1393 by @LiangJYu in #1402
- Convert the ECMWF NetCDF to RAiDER NetCDF by @xhuang-jpl in #1380
- Fix python bindings for multilook functions by @gshiroma in #1405
- Fix the computation of the layover shadow mask by @gshiroma in #1377
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's Changed
- Updated SoilMoisture Dockerfile to get latest bug fix by @jshimada47 in #1344
- Reduce blocksize of GSLC UAVSAR test cases by @gmgunter in #1345
- Remove invalid complex instantiation by @rtburns-jpl in #1348
- Add support to az. time and slant-range LUT2d corrections to the GeocodeCov module by @gshiroma in #1300
- Fix a bug in phase part of complex x-talks of pol imbalance workflow by @rad-eng-59 in #1355
- Remove unused DM2 data file by @bhawkins-jpl in #1354
isce3::geocode::geocode_slc
ability to save carrier and flattening phase by @LiangJYu in #1349- Make RAiDER imports as local by @vbrancat in #1357
- Fix bugs and improves topo by @gshiroma in #1283
- Add margin before dateline crossing in stage_dem.py by @vbrancat in #1360
- Fix NaN issue in the GeocodeCov with area projection by @gshiroma in #1361
- Add CI step to upload ADT image to artifactory by @gmgunter in #1321
- Fix hdf5 transitive MPI includes for custom HDF5::HDF5 target by @rtburns-jpl in #1362
- Reorganize the GUNW product by @xhuang-jpl in #1351
- Replace Orbit.load_from_h5 binding with pure Python "load_orbit_from_h5_group" by @rtburns-jpl in #1318
- Fix RTC array offsets when running GeocodeCov (area proj.) by @gshiroma in #1365
Full Changelog: v0.12.0...v0.13.0
R3.3
What's Changed
General
- Release the GIL when invoking unwrapping functions by @gmgunter in #1281
- Add
contains()
method toisce3::product::RadarGridParameters
by @LiangJYu in #1291 - Move block generators to
isce3.block_processing
namespace by @LiangJYu in #1290 - Add Attitude::crop method by @bhawkins-jpl in #1329
GSLC
- Restore azimuth and slant range corrections in
nisar.workflows.gslc
by @LiangJYu in #1292 - Enable GSLC compression and add options for complex32 and truncated complex64 output by @LiangJYu in #1293
- Replace overloads for
isce3::geocode::geocodeSlc
with Python function inisce3.geocode
by @LiangJYu in #1294
GCOV
- Update GCOV runconfig schema and defaults, and test GCOV ruconfigs for R3.3 release by @gshiroma in #1313
InSAR
- Assign ionosphere to frequency A in RUNW product by @oberonia78 in #1252
- Split the troposphere into wet and dry datacubes and add RAiDER by @xhuang-jpl in #1241
- Add water mask to GUNW by @oberonia78 in #1299
- Compute dense offsets for one co-pol channel only by @vbrancat in #1288
- Add water mask to InSAR unwrap preprocessing by @oberonia78 in #1259
- Add the solid earth tides datacube in GUNW by @xhuang-jpl in #1239
- Add the geocoded wrapped interferogram to the GUNW product by @xhuang-jpl in #1264
- Add CPU pycuampcor module by @rtburns-jpl in #1179
CalTools
- Add absolute radiometric calibration factor estimation tool by @gmgunter in #1184
- Minor optimization of point target analysis by @bhawkins-jpl in #1307
- Add Polarimetric Channel Imbalance tool by @rad-eng-59 in #1269
QualityAssurance
- Update QA software to v3.0.1 by @nemo794 in #1328 and #1338
Testing
- Change SM SAS log file name in workflow test case runconfig to remove name conflict by @jshimada47 in #1312
- Use DEM file in REE2 RSLC workflow test by @bhawkins-jpl in #1331
- Add corner reflector CSVs to workflow test datasets by @gmgunter in #1335
- Mount SAS input dir in container during QA by @gmgunter in #1340
- Update workflow test input data and runconfigs by @jshimada47 in #1326
- Reduce blocksize of GSLC UAVSAR test cases by @gmgunter in #1345
Bug fixes
- Fix dateline longitude wrapping in
stage_dem.py
by @vbrancat in #1278 - Fix bugs in CPU ROFF geocode by @xhuang-jpl in #1267
- Fix scene center spacings in InSAR products by @vbrancat in #1296
- Fix
focus.py
DEM loading by @bhawkins-jpl in #905 - Ignore endianness qualifier when determining Raster datatype by @gmgunter in #1282
- Fix mixed-mode time epochs by @bhawkins-jpl in #1298
- Correct misspelled ECMWF in InSAR schema by @vbrancat in #1330
- Fix troposphere delay calculation for scipy>=1.10 by @xhuang-jpl in #1337
- Write correct bandwidth to RSLC metadata by @bhawkins-jpl in #1336
- Fix an issue with input HDF5 file permissions in some Soil Moisture algorithms by @xhuang-jpl and @jshimada47 in #1344
Dependencies
- Add dependency on raider-base>=0.4.2 (#1241)
- Add dependency on pysolid>=0.2 (#1239)
Full Changelog: v0.11.0...v0.12.0
OPERA-CSLC-RTC-S1-Gamma
What's Changed
General
- Replaced all uses of
sprintf
withsnprintf
by @aivazis in #1210 - Remove unused CUDA helpers Event, Stream, DataStreams by @gmgunter in #1232
- Silence
SetSpatialRef()
errors by @gshiroma in #1217 - Update logic for detecting float16/complex32 data by @vbrancat in #1240 and @bhawkins-jpl in #1242
- Move
point_target_info
to new namespaceisce3.cal
by @gmgunter in #1254 - Replace
std::cout
with journal logging ingeocodeSlc
by @scottstanie in #1260 - Add
Orbit::crop
method by @bhawkins-jpl in #1261 - Add
LUT1d::eval
overload to support vector inputs by @rad-eng-59 in #1270
GSLC
- Improve
geocodeSlc
performance by avoiding redundant radar coordinate calculation by @LiangJYu in #1236 - Add TEC corrections to GSLC by @LiangJYu in #1163
- Remove redundant DEM interpolator stats computation in
nisar.workflows.gslc
by @LiangJYu in #1255
GCOV
- Add shadow masking to GeocodeCov by @gshiroma in #1164
InSAR
- Add ISO metadata for GUNW mask layers by @vbrancat in #1247
CalTools
- Speed up RX beamfomer by @rad-eng-59 in #1230
- Add crosspol pattern to
AntennaParser.el_cut_all
outputs by @bhawkins-jpl in #1246
Testing
- Add TEC file to GSLC and GCOV test runconfigs by @jshimada47 in #1222
- Enable ionosphere correction in test cases by @oberonia78 in #1223
- Fix blocksize in San Andreas tests by @LiangJYu in #1225
- Update
spectral_diversity
method in InSAR end-to-end Rosamond test by @jshimada47 in #1227
Bug fixes
- Fix an issue that caused ionosphere layers to be improperly created in RIFG products by @oberonia78 in #1223
- Fix an issue that caused the troposphere workflow to fail with scipy<1.9 by @xhuang-jpl in #1233
- Fix typos in troposphere weather model types by @xhuang-jpl in #1235
- Fix LeaderFile Parser of ALOS1 for Quad-pol L0B by @rad-eng-59 in #1234
- Fix parameter name typo by @scottstanie in #1265
- Fix a bug in
TopoLayers
that caused length and width dimensions to be swapped by @gshiroma in #1284
Full Changelog: v0.10.0...v0.11.0
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)