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.ndimage
equivalents. - 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
aps
module. - Fix bug in the application of reference phase subtraction that resulted in NaNs in the reference window.
- Fix file handling behaviour in
prepifg
so 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
conv2tif
can 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
,glob2
andpillow
dependencies. - 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.
config
module deprecated; functionality moved toconfiguration
,shared
andconstants
modules.- Deprecated
obs_dir
,slc_dir
andcoh_file_dir
configuration parameters.
0.5.0
Added
- New functionality "
linear_rate
" to calculate linear regression of cumulative displacement time series for every pixel as part of thetimeseries
step. - Script for plotting timeseries and linear_rate output geotiff products using Matplotlib. To use, additional dependencies listed in
requirements-plot.txt
are 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
aps
module.
Fixed
- Re-enable
ifglksx
andifglksy
to be different values, resulting in different resolutions in x and y dimensions in multi-looked interferograms. - Re-enable
orbfitlksx
andorbfitlksy
to 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
process
step has been renamedcorrect
. Stacking and timeseries have been removed from this step and are now invoked by separatetimeseries
andstack
command line options.- Processing of coherence files by
conv2tif
andprepifg
is now triggered by the presence ofcohfilelist
in the config file. If the list is present, multilooked/cropped coherence files are saved to disk, regardless of whethercohmask
is 0 or 1. - Parallelisation capability is refactored - MPI and multiprocessing both now use a common tiling framework for
stack
,timeseries
andmst
algorithms. - Introduced a simplified and standardised file naming format for files produced by the
prepifg
step. Info previously saved in the filename (e.g.ifglksx
,ifglksy
,ifgcropopt
) is now saved to the geotiff header instead.
Removed
- Redundant
tscal
config parameter was deprecated - not needed now there is atimeseries
step invokable on the command line. Pillow
,cython
andglob2
dependencies - 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
process
workflow (default order unchanged).
Fixed
- Nil
Changed
prepifg
output interferograms are saved as read-only files.process
makes a writable copy of theprepifg
output data at the beginning of each run.- The selected reference pixel is saved to disk and re-used on subsequent
process
runs. - Saving of incremental time series (
tsincr
) products is optional, controlled by thesavetsincr
configuration parameter (default is on).
Removed
- Removed obsolete InSAR terminology from code, docs and test data (changed to first and second images).
- Stopped using
unittest
unit 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