0.30.0 - 2024-11-01
- Support for specifying output bounds as WKT
- Ability to calculate similarity using nearest-3 interferograms
- Add configuration option for single tile reoptimize functionality for snaphu-py. Turn off by default.
- Support for layover shadow mask files to mask pixels during wrapped phase
- Zero correlation threshold parameter for phase linking
- Censored least squares solving capability for missing data
- Support for reading from S3 using osgeo.gdal with
/vsis3
conversion
- Updated dolphin timeseries CLI for new options, using L1 by default
- Increased spurt
max_tiles
default to 49 for smaller MCF problems - Modified compressed_reference_idx with relative index fix
- Replaced CSVs with
chi2.ppf
for GLRT test - Lowered
min_conncomp_frac
default to 0.001 - Using
output_reference_idx
as default for creating compressed SLCs withALWAYS_FIRST
- Increased
buffer_pixels
when making OPERA CSLC mask - Refactored
repack_raster
to work in blocks for lower memory usage
- Fixed ministack output and compressed SLC indexing
- Fixed
in_trim_slice
size for non-overlapping blocks - Fixed units passthrough during timeseries._redo_reference
- Improved spurt subprocess handling to avoid fork issues
- Fixed block_shape passthrough to create_similarities after phase linking
0.29.0 - 2024-10-14
- Sample dolphin_config.yaml to the documentation
- Stitched phase cosine similarity raster to outputs
- Post-processing step to fill NaN gaps after running spurt
- Outside input range options to get_nearest_date_idx
- Set EVD input to be weighted by correlation
- Using dataclasses instead of NamedTuple for displacement and stitched outputs
- Passing through phase_linking.output_reference_idx to avoid reference resets
- Added logic to reset extra_reference_date after network unwrapping
- Applied nan/0 mask to output of goldstein filter
- Added references/url fixes from JOSS branch
0.28.0 - 2024-09-19
num_parallel_tiles
andnum_parallel_ifgs
toSpurtOptions
- L1-norm-based inversion to
timeseries
- Config option to avoid PS pixels during phase linking
block_shape
to timeseries parameterswavelength
attribute to workflow to convert rasters to meters- Larger
N
rows to computed GLRT cutoffs - Logic for manually specifying reference dates mid-stack
- ADMM to minimize L1-norm of
Ax - b
- Instructions for building Docker image in documentation
- Link to notebook in
simulate-demo
function - Printing of unwrapping options in
show_versions
- Update walkthrough notebook for docs
- Add clarifications and suggested changes to documentation
- Remove transposed versions of functions in
covariance
- Set
use_slc_amp
default to False during phase linking - Use the same mask for unwrapping and conncomp regrowing steps
- Turn off correlation weighting for velocity by default
- Use less memory for L1 inversion
- Include layover shadow mask when stitching in
prepare_geometry
- Create
.conncomp
files forspurt
from temporal coherence - Add
like_filename
forspurt
connected components
- Fix plotting/imports for walkthrough
- Fix
displacement.run
to avoid troposphere computation with empty list - Pass through EPSG code to
_get_mask
- Fix
n_parallel_tiles
to be an integer, not float - Skip
combine_mask_files
if the output already exists - Fix typos in walkthrough configuration
- Fix
simulate-demo
function usage - Fix mismatching docs and missing log statements
- Pass through
add_overviews
, run even if single-reference network - Add
ignore_errors=True
tormtree
for scratch removal - Setup
gaussian_filter_nan
in utils, use inestimate_correlation_from_phase
- Fix Apache end template
- Fix ionospheric date parsing and grouping
- Fix handling of
nodata
during timeseries conversion to meters
0.27.1 - 2024-08-12
- Set the default
input_conventions
to be same asoutput_conventions
0.27.0 - 2024-08-12
- Ability to mask a subset of input SLCs
- Temporarily removed resampling during stitching final crop
0.26.0 - 2024-08-02
map
option forDummyProcessPoolExecutor
- PR template
dolphin filter
CLI to run a long wavelength filter on a set of rasters
- Changed datetime format for reading tropospheric corrections
- Copy over unwrapped to
timeseries/
even with 1 file - Removed
atmosphere
imports from the main path
0.25.0 - 2024-08-01
- Moved reference point selection back to always be run if not specified
- Reference correction outputs to a point in space and convert to meters
- Fixed
timeseries
to mkdir right away
0.24.0 - 2024-08-01
- Skip correlation estimate for files that exist
- Save
ReferencePoint
into file intimeseries/
folder
- Clip
nlooks
to a max of 20 forwhirlwind
- Refactor
filter_long_wavelength
to avoid boundary issues for images with lots of no data region - Skip zero raster output by timeseries inversions
- Fixed reference point selection labels
0.23.0 - 2024-07-29
whirlwind
unwrapper- Option to redirect other loggers to same JSON file
- Interleave GTiffs by band, not pixel
- Updated
show_versions
to readimportlib.metadata
, usekeep_bits
instead oflerc
- Made network formation
staticmethod
s public - Shrunk
nlooks
for whirlwind - Improved code for transferring unwrapped phase ambiguities
- Moved mask loading function into
masking.py
- Fixed Spurt tests
- Updated
spurt
imports for exported interface - Set the
final_arr
nodata to be same as original ifg mask - Fixed filtering ambiguity transfer for interp/goldstein
- Fixed confusing name for scratchdirs
0.22.1 - 2024-07-17
- Fixed v0.22.0 imports
0.22.0 - 2024-07-16
- Output velocities in units per year in
timeseries
- Minor changes in
spurt
config to match its naming conventions - Vendored
mdx_bib
to avoid direct URL indocs/requirements.txt
0.21.0 2024-07-16
- Continuous deployment Github action workflow to publish to pypi
- Conversion from NetCDF tropospheric correction files
- Round mantissa bits instead of truncate, call the argument
keep_bits
for clarity
0.20.0 - 2027-07-08
- Functions in
ps
to combine amplitude dispersions from older rasters truncate_mantissa
option torepack
functions for simple compressionband
option towrite_block
and background writers- Option to run
merge_dates
andestimate_interferometric_correlations
withthread_map
for parallel processing - Baseline lag option for "STBAS" phase linking inversion
- Logging now uses
dictConfig
and always logs JSON to a file for the Displacement workflow - Set modulus of compressed SLCs to be real SLC magnitude means
- Updated Docker requirements and specfile
- Delete intermediate unwrapping
scratchdir
s by default
use_max_ps
would occasionally fail with certain stride/window configurations- Unwrapped phase files did not always contain the right geographic metadata
- Filenames in the
timeseries/
folder were wrong - Set upsampled boundary to
nan
incompress
- Unwrapped file output path
0.19.0 - 2024-06-21
filtering
module for filtering out long wavelength signals from the unwrapped phasebaseline
module for computing the perpendicular baseline. Initial version has logic for OPERA CSLCs, usesisce3
- Interface only for 3D unwrapping
- Faster correlated noise simulation, along with 3d stack simulation with synthetic deformation
- Added ability to read rasters on S3 using
VRTStack
object - Eigenvalue solver speedups of 3-9x
- Initial version of 3D unwrapping using
spurt
- the KL-divergence SHP estimator has been removed. GLRT is recommended instead.
reproject_bounds
uses therasterio
version, which densifies points along edges for a more accurate bounding box- The output SHP rasters now output 0 if there was no valid input data
- Logic for filling PS pixels, with and without setting the amplitudes to be the original SLC amplitudes
ReferencePointError
during the displacement workflow now will fall back look only at thecondition_file
(i.e. choose the point with highest temporal coherence by default)
- The configuration options for unwrapping have been refactored. Options unique to each unwrapper are grouped into subclasses.
- Note that older
dolphin_config.yaml
files will error after this refactor.
- Note that older
- Unweighted time series inversion will make one batch call, providing a large speedup over the
vmap
version for weighted least squares
0.18.0 - 2024-05-07
dolphin timeseries
command line tool for inverting unwrapped interferogram network and estimating velocity
- Parse the file names correctly to find compressed SLCs and read dates based on production file naming convention
0.17.0 - 2024-04-10
- Added Goldstein filtering for unwrapping
- Added Interpolation for unwrapping
- Added the regrow connected components for the modified phase
- Added option to toggle off inversion
- Added similarity module
- 3D readers would squeeze out a dimension for length one inputs (i.e. they would give an array with
.ndim=2
) max_bandwidth
config can now be 1 to specify only nearest neighbor interferograms.- Use the 'compressed' key term to find compressed slcs and regular slcs instead of number of dates in ionosphere
- Consider the compressed SLCs have different naming convention with capital letters
- Enforce consistency between jax and jaxlib
- Disable corrections part of pytest, add one for timeseries
0.16.0 - 2024-03-03
- Added
dolphin.timeseries
module with basic functionality:- Invert a stack of unwrapped interferograms to a timeseries (using correlation weighting optionally)
- Estimate a (weighted) linear velocity from a timeseries
- Added inversion and velocity estimation as options to
DisplacementWorkflow
- Create
DatasetStackWriter
protocol, withBackgroundStackWriter
implementation
- Rename
GdalWriter
toBackgroundBlockWriter
- Displacement workflow now also creates/returns a stitched, multi-looked version of the amplitude dispersion
BackgroundRasterWriter
was not creating the files necessary before writing- Allow user to specify more than one type of interferogram in
Network
configuration
0.15.3 - 2024-02-27
- Return the output paths created by the ionosphere/troposphere modules to make it easier to use afterward
0.15.2 - 2024-02-27
- Fixes to ionosphere/troposphere correction in for
DisplacementWorkflow
andPsWorkflow
- Correct the nodata value passed through to snaphu-py
0.15.1 - 2024-02-26
- PHASS now uses the Tophu wrapper to avoid isce3 inconsistencies between argument order
0.15.0 - 2024-02-16
- Combine the nodata region with the
mask_file
to pass through to unwrappers - Update regions which are nodata in interferograms to be nodata in unwrapped phase
- Use
uint16
data type for connected component labels
- Intersection of nodata regions for SLC stack are now all set to
nan
during phase linking, avoiding 0 gaps between bursts
0.14.1 - 2024-02-15
- Changed snaphu-py tile defaults to avoid max secondary arcs error in #233
- Fixed
linalg.norm`` to be pixelwise in
process_coherence_matrices` in #234
0.14.0 - 2024-02-13
- Temporal coherence and eigenvalue rasters were switched in their naming
- Output a better
estimator
raster to see where we switched to EVD - Cap the max number of threads to the CPU count to avoid
numba
config errors
- refactor temporal coherence calculation to use
vmap
- Allows us to start making a weighted temporal coherence metric
- Turn off default
beta=0.01
regularization now that CPL is in place - Removed
InterferogramNetworkType
from configuration.- You can add multiple types of network parameters and it includes all of them. Adding the name only decreased flexibility.
0.13.0 - 2024-02-09
_overviews
module, and workflow configuration to create overviews of the output stitched rasters- Configuration to use the snaphu-py wrapper, and drop using
isce3.unwrap.snaphu
- Apply bounds even if only one image is passed to
stitching
(#210) - Allow
take_looks
to work withMaskedArrays
without converting tonp.ndarray
- Move back to
tqdm
instead of usingrich
for progress bars.
0.12.0 - 2024-02-01
- Added
DatasetWriter
protocol - Added
RasterWriter
andBackgroundRasterWriter
implementations of this protocol - Refactored phase linking
- Covariance and EVD/MLE use
jax
- This combines the implementation of CPU/GPU, and removes the need for usign
pymp
- Covariance and EVD/MLE use
- Added
utils.disable_gpu
to stop the use ofr a GPU even if it's available
- Internal module organization, including grouping IO modules into
dolphin.io
subpackage - Renamed
io.Writer
toio.GdalWriter
to distinguish fromRasterWriter
- Removed the
n_workers
option from the configuration.- There is no more need to have two levels of parallelism (
threads_per_worker
andn_workers
) - The name
threads_per_worker
is kept for consistency; it is still an accurate name for the multi-burst processing case.
- There is no more need to have two levels of parallelism (
jax
>=0.4.19numpy
=>1.23 (bump to minimum version that they're still supporting)scipy
>=1.9 (same reason)numba
>=0.54
pymp
cupy
from optional GPU usage
0.11.0 - 2024-01-24
- Added ionospheric correction in
dolphin.atmosphere.ionosphere
- Included in
DisplacementWorkflow
if TEC files are provided
- Included in
0.10.0 - 2024-01-22
- Create
dolphin.unwrap
subpackage to split out unwrapping calls, and post-processing modules.
- the
_dates
module has been removed in favor of usingopera_utils._dates
stitching.merge_images
will now give consistent sizes for provided bounds whenstrides
is given
0.9.0 - 2024-01-10
DatasetReader
andStackReader
protocols for reading in data from different sourcesDatasetReader
is for reading in a single dataset, like one raster image.StackReader
is for reading in a stack of datasets, like a stack of SLCs.- Implementations of these have been done for flat binary files (
BinaryReader
), HDF5 files (HDF5Reader
), and GDAL rasters (RasterReader
).
- The
VRTStack
no longer has an.iter_blocks
method- This has been replaced with creating an
EagerLoader
directly and passing it to thereader
argument
- This has been replaced with creating an
- Added
rasterio>=1.3
0.8.0 - 2024-01-05
- Ability to unwrap interferograms with the
snaphu-py
(not a required dependency) - Added ability to make annual ifgs in
Network
- Start of tropospheric corection support in
dolphin.atmosphere
using PyAPS and Raider packages - Expose the unwrap skipping with
dolphin config --no-unwrap
- The output directory for interferograms is now just "interferograms/" instead of "interferograms/stiched"
- Even when stitching, the burst-wise interferograms would be in the named phase-linking subfolders.
- Split apart the
dolphin.workflows.stitch_and_unwrap
module intostitching_bursts
andunwrapping
- Switched output filename from
tcorr
totemporal_coherence
for the temporal coherence of phase linking.- Also added the date span to the
temporal_coherence
output name
- Also added the date span to the
- The default extension for conncomps is now
.tif
. Use geotiffs instead of ENVI format for connected components. - Using ruff instead of pydocstyle due to archived repo
0.7.0 - 2023-11-29
MiniStackPlanner
andMiniStackInfo
class which does the planning for how a large stack of SLCs will be processed in batches.- Previously this was done at run time in
sequential.py
. We want to separate that out to view the plan in advance/allow us to dispatch the work to multiple machines.
- Previously this was done at run time in
CompressedSlcInfo
class added to track the attributes of a compressed SLC file created during the workflow.- This has the
reference_date
as an attribute, which allows us to know what the base phase is even without starting from the first SLC in the stack (i.e. if we have limited the number of compressed SLCs)
- This has the
- Added better/more complete metadata to the compressed SLC Geotiff tags, including the phase reference date
- Before we were relying on the filename convention, which was not enough information
- config:
phase_linking.max_compressed_slcs
to cap the number of compressed SLCs added during large-stack sequential workflows interferogram
: Add ability to specify manual dates for aNetwork
/VRTInterferogram
, which lets us re-interfere the phase-linking results
- Date functions have been moved from
dolphin.utils
todolphin._dates
. They are accessible atdolphin.get_dates
, etc get_dates
now usesdatetime.datetime
instead ofdatetime.date
.- This is to allow for more flexibility in the date parsing, and to allow for the use of
datetime.date
ordatetime.datetime
in the output filenames.
- This is to allow for more flexibility in the date parsing, and to allow for the use of
VRTStack
has been moved to_readers.py
. The minstack planning functions have been removed to focus the class on just reading input GDAL rasters.
- When starting with Compressed SLCs in the list of input SLCs, the workflows will now recognize them, find the correct reference date, and form all the correct interferograms
- Extra subsetting functions from
VRTStack
have been removed, as they are not used in the workflow and the reimplmenent simple GDAL calls. CPURecorder
andGPURecorder
have been removed to simplify code. May be moved to separate repo.
0.6.1 - 2023-11-13
dolphin.opera_utils
now lives in the separate package
- Added
opera_utils
0.6.0 - 2023-11-07
opera_utils.get_missing_data_options
to parse the full list of SLCs and return possible subsets which have the same dates used for all Burst IDsPsWorkflow
class for running just the PS estimation workflowasv
benchmark setup to measure runtime across versions@atomic_output
decorator for long running write processes, to avoid partially-written output files
- removed
minimum_images
as an argument fromopera_utils.group_by_burst
. Checking for too-few images now must be done by the caller opera_utils.group_by_burst
now matches the official product name more robustly, but still returns the lowered version of the burst ID.- The
s1_disp
workflow has been renamed todisplacement
, since it is not specific to Sentinel-1. - The configuration was refactored to enable smaller workflow
- The
Workflow
config class has been renamed toDisplacementWorkflow
. - A
PsWorkflow
config class has been added for the PS estimation workflow. - A
WorkflowBase
encompasses some of the common configuration options.
- The
ruff
has replacedisort
/black
/flake8
in the pre-commit checks
0.5.1 - 2023-10-10
stitch_and_unwrap.run
returns the stitch PS mask
0.5.0 - 2023-10-09
CPURecorder
class for fine grained benchmarking of the CPU/memory usage for
- Docker
specfile
now builds with tophu
0.4.3 - 2023-10-06
- Ability to unwrap using isce3's
PHASS
CorrectionOptions
model for specifying the correction options in theWorkflow
config- Currently a placeholder for the files which will be used for tropospheric/ionospheric corrections
- Ability to keep relative files in the
Workflow
config- This is useful for keeping the relative paths to the SLCs in the config, and then running the workflow from a different directory
- Instead of specifying the unwrapping algorithm in
dolphin unwrap
as--use-icu
, the option is not--unwrap-method
- This let's us add
--unwrap-method "phass"
, but also future unwrap methods without a--use-<name>
for every one
- This let's us add
- Use
spawn
instead offork
for parallel burst multiprocessing- This leads to the error
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
in certain situations, and does not happen withspawn
. See https://pythonspeed.com/articles/python-multiprocessing/ for more details.
- This leads to the error
0.4.2 - 2023-10-03
use_evd
option to force the use of eigenvalue decomposition instead of the EMI phase linking algorithm- Walkthrough tutorial notebook
- Moved all
OPERA_
variables to a new moduledolphin.opera_utils
.- Other OPERA-specific quirks have been moved to the separate
disp-s1
repo, but the functions remaining are the ones that seem most broadly useful tosweets
and other users working with burst SLCs. - Changed the burst regex to be able to match COMPASS and the official product name
- Other OPERA-specific quirks have been moved to the separate
- Removed
WorkflowName
for separatingstack
vssingle
- The name didn't really provide benefit, as the real differences cam from other configuration options
- Internals for which functions are called in
sequential.py
- Docker image now has
tophu
installed
0.4.1 - 2023-09-08
- Added back isce3
0.4.0 - 2023-09-07
- Split apart OPERA-specific needs from more general library/workflow functionality
- Removed the final NetCDF product creation
- Many rasters in the
scratch/
folder are of general interest after running the workflow - Changed folder structure so that there's not longer a top-level
scratch/
andoutput/
by default
- Many rasters in the
- Changed the required dependencies so the
isce3
unwrapper is optional, as people may wish to implement their own custom parallel unwrapping
Dropped:
- h5netcdf
- pillow
Now optional:
- isce3 (for unwrapping)
0.3.0 - 2023-08-23
- Save a multilooked version of the PS mask for output inspection
- Pydantic models were upgraded to V2
- Refactored the blockwise IO into
_blocks.py
.- The iteration now happens over the output grid for easier dilating/padding when using
strides
- New classes with
BlockIndices
andBlockManager
for easier mangement of the different slices
- The iteration now happens over the output grid for easier dilating/padding when using
- pydantic >= 2.1
0.2.0 - 2023-07-25
- For OPERA CSLC inputs, we now read the nodata polygon and skip loading regions of the SLC stack which are all nodata.
- This led to a reduction of 30-50% in wrapped phase estimation runtime for each burst stack.
- Sample test data for the
dolphin
package loaded onto Zenodo. - Adds 3 methods of computing a variable statistically homogeneous pixel (SHP) window when estimating the covariance matrix:
- Kolmogorov-Smirnov test (KS-test)
- Generalized likelihood ratio test (GLRT)
- Kullback-Leibler divergence/distance test (KLD)
"rect"
is also an option for skipping any statistical test and using the full rectangular multilook window
- Also included a script to view the window in an interactive matplotlib figure (matplotlib must be installed separately)
- Added a simple method to check for adjacent-pixel unwrapping errors in
unwrap.compute_phase_diffs
- Adds a method
utils.get_cpu_count
which returns eitheros.cpu_count
, or (if running in a Docker container) the number of CPUs allocated by Docker - If processing stacks from separate bursts, added option
n_parallel_bursts
toWorkflow
to run in parallel processes. - Created a script to test the incremental/near-real-time version of phase linking
- Added a new CLI command
dolphin unwrap
to unwrap a single interferogram/a directory of interferograms in parallel. - Added ability to specify a glob pattern for input CSLC files in the YAML config
- Saves a multilooked PS mask for the default workflow output
- Allows the user to specify a desired bounds for the final stitched result
Changes
- Default OPERA dataset is now within
/data
, reflecting the new COMPASS product spec since CalVal - Passing an existing file to
VRTStack
will no longer error unlessfail_on_overwrite=True
. The default just prints out the overwrite is happening. This prevents multiple runs in the same folder from errorings just for creating a reference to the SLC files. - The environment variable
NUMBA_NUM_THREADS
is set using the passed in config to prevent numba from using all CPUs duringprange
calls - The
sequential.py
module uses a different implementation of the sequential estimator to avoid the need for a datum adjustment. - The scratch directory holding unwrapped interferograms is named
unwrapped
instead ofunwrap
- Stitching files now can accept downsampled versions and product the correct geo metadata
- Calculating the nodata mask using the correct input geotransform
- Trims the overlapped region of the phase linking step when iterating in blocks
- shapely >= 1.8
- Numba now supports Python 3.11, so we can drop the Python<3.11 version restriction.
Added testing requirements:
- pooch
- pillow>=7.0
0.1.0 - 2023-03-31
- First version of the
_product.py
module to output the combined NetCDF product file. _pge_runconfig.py
module to handle the separate PGE-compatible configuration, which translates to-from theWorkflow
object.docker/build-docker-image.sh
script to build the docker image.- Release scripts for generating documentation, script for validating output data by @gmgunter .
- Use of a spatial correlation estimate for unwrapping purposes, rather than temporal coherence.
- This is much more useful when the stack size is small (high temporal coherence), and
snaphu
is used for unwrapping.
- This is much more useful when the stack size is small (high temporal coherence), and
masking.py
module for masking the interferogram/combined multiple external masks of varying 1/0 conventions.- Ability to use existing amplitude mean/dispersion files for the PS portion of the workflow, skipping the step where we compute it using the SLC stack. Useful for small stack sizes
- Added a
create_only
option towrite_arr
to create an empty file without writing data (e.g. to check the boundary results of stitching)
- The YAML output/input functions are moved to a
YamlModel
class, which is a subclass ofpydantic.BaseModel
.- This allows us to use it in both
config.py
and_pge_runconfig.py
.
- This allows us to use it in both
- Refactoring of the
Workflow
layout to more easily extract the input/output files for the PGE run.
- Compressed SLC outputs were getting corrupted upon writing when using strides > 1.
- Single-update interferograms where the first SLC input is a compressed SLC was broken (using the wrong size raster).
- Now the result will simply copy over the phase-linking result, which is already referenced to the first raster.
Added requirements:
- h5netcdf>=1.1
- Avoid HDF5 version 1.12.1 until NetCDF loading issue is fixed
0.0.4 - 2023-03-17
- Created first version of the single-update workflow, usable with
dolphin config --single
_background.py
module as the abstract classes for background input/output withEagerLoader
andWriter
.from_vrt_file
for theVRTInterferogram
class.- Arbitrary interferogram index selection in
Network
class. - Parallel CPU eigenvector finding using
scipy.linalg.eigh
. - PS selection for strided outputs using the average PS phase within a window (that contains multiple PS).
- Comments in the YAML file output by the
dolphin config
command.
-
The main workflow has been renamed to
s1_disp.py
to better reflect the workflow, since it can handle both single and stack workflows.- The
sequential.py
andsingle.py
are where these differences are handled.
- The
-
More uniform naming in
io.get_raster_<X>
functions. -
The SLC compression is now done in
_compress.py
to declutter themle.py
module. -
Replace
tqdm
withrich
for progress bars. -
The
unwrap.py
module now uses isce3 to unwrap the interferogram. -
Docs are now using the mkdocs
material
theme.
utils.parse_slc_strings
in favor of always usingutils.get_dates
.io.get_stack_nodata_mask
. This will be done using the nodata polygon, or not at all.
Added requirements:
- rich>=12.0
- threadpoolctl>=3.0
- isce3>=0.8.0
- pyproj>=3.3
- Dropped support for Python 3.7
For docs:
- mkdocs-material
- pymdown-extensions
Removed requirements:
- tqdm
0.0.3 - 2023-01-26
- Ability for
VRTStack
to handle HDF5 files with subdatasets.- The OPERA specific HDF5 files are now supported without extra configuration.
- First stitching of interferograms in
stitching.py
.- Users can pass multiple SLC burst (like COMPASS bursts) per date, and the workflow will process per stack then stitch per date.
- More features for
load_gdal
to load in blocks.
- A small amount of regularization on the coherence matrix is done before inversion during phase linking to avoid singular matrices.
- Renamed module to
_log.py
workflows/wrapped_phase.py
absorbed much logic formerly ins1_disp_stack.py
.
0.0.2 - 2023-01-24
- Created first version of the
s1_disp_stack.py
workflow. - Created the modules necessary for first version of the sequential workflow, including
ps.py
sequential.py
io.py
interferogram.py
utils.py
unwrap.py
stitching.py
vrt.py
- Created the
phase_link
subpackage for wrapped phase estimation.
Added requirements:
- pyproj>=3.2
- tqdm>=4.60
- Created the
config
module to handle the configuration of the workflows - Command line interface for running the workflows
- Outline of project structure and utilities
Added requirements:
- gdal>=3.3
- h5py>=3.6
- numba>=0.54
- numpy>=1.20
- pydantic>=1.10
- pymp-pypi>=0.4.5
- ruamel_yaml>=0.15
- scipy>=1.5
Currently, Python 3.7 is supported, but 3.11 is not due numba not yet supporting Python 3.11.