Skip to content

Releases: isce-framework/isce3

v0.17.1

09 Oct 16:55
Compare
Choose a tag to compare

What's Changed

  • Disable ROFF/GOFF QA in end2end Chile InSAR runconfig by @gmgunter in #1522

Full Changelog: v0.17.0...v0.17.1

v0.17.0

09 Oct 16:54
Compare
Choose a tag to compare

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

02 Oct 16:59
Compare
Choose a tag to compare

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 field partial_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

06 Sep 17:11
Compare
Choose a tag to compare

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

25 Jul 23:37
Compare
Choose a tag to compare

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 and isce3::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 to isce3.core namespace from nisar 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

30 May 05:08
Compare
Choose a tag to compare

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

01 May 19:55
Compare
Choose a tag to compare

What's Changed

General

  • Release the GIL when invoking unwrapping functions by @gmgunter in #1281
  • Add contains() method to isce3::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 in isce3.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

21 Mar 01:58
Compare
Choose a tag to compare

What's Changed

General

  • Replaced all uses of sprintf with snprintf 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 namespace isce3.cal by @gmgunter in #1254
  • Replace std::cout with journal logging in geocodeSlc 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

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)