This repository was archived by the owner on Oct 15, 2025. It is now read-only.
Releases: GeoscienceAustralia/PyRate
Releases · GeoscienceAustralia/PyRate
0.6.1
Added
- List generator in utils/listcreator.sh for easier input generation from GAMMA output to PyRate.
Fixed
- Fix wrong sign in Y-intercept output file.
- Fix and simplify how user supplied reference pixel is validated and cropping issue.
- Add metadata for reference pixel latitude and longitude to output files.
0.6.0
Added
- Geometry and baseline calculations, making use of GAMMA software MLI metadata and baseline files.
- DEM error estimation and correction functionality (untested prototype).
- Unwrapping error detection and masking functionality, making use of phase closure loops.
- Tests to check that the independent and network orbital methods are both able to recover the input parameters in synthetic examples.
- Tests for temporal and spatial gaussian filter options. Compare PyRate code against
scipy.ndimageequivalents. - More output visualisation scripts in the utils/ directory, including an interferogram plotting script.
- New “Crop A” unit test dataset derived from Sentinel-1 data over Mexico City.
- Scaling factor parameter velerror_nsig for uncertainty/error output products.
- Calculate and output coherence statistics files during
prepifg. - Add line-of-sight projection functionality for output products.
- Add signal polarity switching functionality for output products.
- Error handling for more than two MLI.par files in the header list matching an interferograms date-pair.
Fixed
- Fix bugs in the application of NaN masking and radian-to-millimetre conversion of interferogram data in correct step.
- Fix bugs in the implementation of the orbital error network and independent methods.
- Fix bugs in the implementation of spatial and temporal filters in the
apsmodule. - Fix bug in the application of reference phase subtraction that resulted in NaNs in the reference window.
- Fix file handling behaviour in
prepifgso that a large number of files are not left open.
Changed
- Enabled multi-looking and parallel processing for the independent orbital method.
- Simplify output filenames produced by PyRate.
- Move output files to dedicated named sub-directories.
- Use of the offset parameter in orbital module; now renamed to intercept.
- Input rasters to
conv2tifcan now have un-equal X and Y pixel resolutions. - Change units of temporal filter from years to days.
- Moved Continuous Integration from Travis service to GitHub Actions.
- Made MPI an optional system dependency for PyRate (previously required).
Removed
- Remove unused
cython,glob2andpillowdependencies. - Remove support for Python 3.6.
- Remove support for filter types other than Gaussian in the APS module, and associated config options slpfmethod, slpforder, tlpfmethod.
configmodule deprecated; functionality moved toconfiguration,sharedandconstantsmodules.- Deprecated
obs_dir,slc_dirandcoh_file_dirconfiguration parameters.
0.5.0
Added
- New functionality "
linear_rate" to calculate linear regression of cumulative displacement time series for every pixel as part of thetimeseriesstep. - Script for plotting timeseries and linear_rate output geotiff products using Matplotlib. To use, additional dependencies listed in
requirements-plot.txtare required. - Correction data (except maxvar and vcmt) applied to the ifg data is saved to disk and re-used on subsequent repeat runs. Corrections are only re-calculated if config parameters change between runs.
- MPI parallelisation of APS spatio-temporal filter correction.
- Unit test coverage for refpixel lat/lon to x/y conversion and
apsmodule.
Fixed
- Re-enable
ifglksxandifglksyto be different values, resulting in different resolutions in x and y dimensions in multi-looked interferograms. - Re-enable
orbfitlksxandorbfitlksyto be different values, resulting in different resolutions in x and y dimensions during network orbit correction. - Screen messages from main process only during MPI runs.
Changed
processstep has been renamedcorrect. Stacking and timeseries have been removed from this step and are now invoked by separatetimeseriesandstackcommand line options.- Processing of coherence files by
conv2tifandprepifgis now triggered by the presence ofcohfilelistin the config file. If the list is present, multilooked/cropped coherence files are saved to disk, regardless of whethercohmaskis 0 or 1. - Parallelisation capability is refactored - MPI and multiprocessing both now use a common tiling framework for
stack,timeseriesandmstalgorithms. - Introduced a simplified and standardised file naming format for files produced by the
prepifgstep. Info previously saved in the filename (e.g.ifglksx,ifglksy,ifgcropopt) is now saved to the geotiff header instead.
Removed
- Redundant
tscalconfig parameter was deprecated - not needed now there is atimeseriesstep invokable on the command line. Pillow,cythonandglob2dependencies - not used in main workflow code- Deprecated function
pyrate.prepifg_helper.prepare_ifgs, which is no longer needed.
0.4.3
Added
- Ability to define the order of steps in the
processworkflow (default order unchanged).
Fixed
- Nil
Changed
prepifgoutput interferograms are saved as read-only files.processmakes a writable copy of theprepifgoutput data at the beginning of each run.- The selected reference pixel is saved to disk and re-used on subsequent
processruns. - Saving of incremental time series (
tsincr) products is optional, controlled by thesavetsincrconfiguration parameter (default is on).
Removed
- Removed obsolete InSAR terminology from code, docs and test data (changed to first and second images).
- Stopped using
unittestunit test framework in favour of exclusively usingpytest.
0.4.2
Added
- Save full-res coherence files to disk in conv2tif step if cohmask = 1.
- Save multi-looked coherence files to disk in prepifg step if cohmask = 1.
- Additional DATA_TYPE geotiff header metadata for above coherence files.
- conv2tif and prepifg output files have a tag applied to filename dependent on data type, i.e. _ifg.tif, _coh.tif, _dem.tif.
- Metadata about used reference pixel is added to interferogram geotiff headers: lat/lon and x/y values; mean and standard deviation of reference window samples.
- Quicklook PNG and KML files are generated for the Stack Rate error map by default.
Fixed
- Ensure prepifg treats input data files as read only.
- Fix the way that the reference phase is subtracted from interferograms during process step.
- Manual entry of refx/y converted to type int.
Changed
- User supplies latitude and longitude values when specifying a reference pixel in the config file. Pixel x/y values are calculated and used internally.
- Move Stack Rate masking to a standalone function pyrate.core.stack.mask_rate, applied during the merge step and add unit tests.
- Skip Stack Rate masking if threshold parameter maxsig = 0.
- Provide log message indicating the percentage of pixels masked by pyrate.core.stack.mask_rate.
- Refactor pyrate.core.stack module; expose two functions in documentation: i) single pixel stacking algorithm, and ii) loop function for processing full ifg array.
- Refactor pyrate.merge script; remove duplicated code and create reusable generic functions.
- Colourmap used to render quicklook PNG images is calculated from min/max values of the geotiff band.
- Updated test and dev requirements.
Removed
- Deprecate unused functions in pyrate.core.config and corresponding tests.
- Static colourmap utils/colourmap.txt that was previously used to render quicklook PNG images is removed.
0.4.1
0.4.0: Update history.rst
update changes made in 0.4.0 release