-
Notifications
You must be signed in to change notification settings - Fork 291
To do list
-
refactor
simulation
module. Maybe ignore the compatibility (for an easier job and for better clarity), given that it's not actually used in any routine workflow, presumably only in Yunjun's 2019 paper? -
installation:
- add
EarthData
account description - use
AUX_DIR
to replaceWEATHER_DIR
, for ERA5, GNSS, GIM datasets; other default dir locations in the code need to be updated as well.
- add
-
subset.py
: support subsetting files in radar-coord using lat/lon. [Need to refactor the code first, for different scenarios, radar/geo files, radar/geo inputs, different input approaches] -
sensor
: use YAML or JSON file to store the sensor parameters, as shown here, instead of using pure Python currently, without showing much of the logic? -
load_data.py
updates:- split
load_data.py
into multiple smaller scripts, i.e.load_ifgram_stack.py
,load_geometry.py
,load_timeseries.py
, with shared functions, for easier maintenance and more flexible usage. - drop the support of the custom config file, and allow the default config file
smallbaselineApp.cfg
only, to simplify the code. Users could usesmallbaselineApp.py custom_config_file -g
to generate thesmallbaselineApp.cfg
file as needed.
- split
-
for
isce2/stripmapStack
, add aprepSlcTSX.py
to uncompress the TSC data in*.tar.gz
format. -
load_data
: replace the try/except call ofprep_module
with a more meaningful error catch:- If
mintpy.load.*
options exist and are valid, run as designed (with update mode turned ON) - If no or non-existent
mintpy.load.*
options, if theinputs
folder exists and is valid, give a warning and continue; if theinputs
folder does not exist, return error and exit.
- If
-
overwrite the existing
data.rsc
file if the isce can be imported and the new metadata dict includes more metadata. -
tsview
: speedup by reading single pixel data on the fly while clicking -
diff.py
: support two time series with different resolutions, e.g., timeseries.h5 and ion.h5, 1) to avoid upsampling the low-resolution iono stack from isce2 during load_data, and 2) to save disk space. -
support reading OPERA CSLC products in
view.py
andreadfile.py
. -
leverage the
numTriNonzeroIntAmbiguity.h5
info forunwrap_error_bridging
as in Oliver-Cabrera et al. (2021). -
merge
legacy/load2hdf5.py
intoload_data.py
as the former can be handy.- make
-t
and-f
as mutually exclusive options, to switch between loading via template file and loading into a single HDF5 file.
- make
-
use
tqdm
instead ofmintpy.objects.progressBar
object, because:- it's simpler to use: 0-2 lines vs. 3 lines
-
tqdm
uses pure Python, whileprogressBar
uses numpy - Start testing with
ifgram_inversion.py
for the overhead performance evaluation, then expand to the entire package.
-
view.py:
- Support plotting common geometries (points, lines, polygons) in KML, GMT, and WKT format.
- Auto-plot TS into one figure (for easy quality checking of error corrections) by fixing the width and auto-adjusting figure lengths, to be used in smallbaselineApp for the pic folder.
- draw range/azimuth direction arrows via
matplotlib AnchoredDirectionArrows
-
Apply to be a NumFOCUS-affiliated project.
-
merge
unwrap_error_bridging.py
andunwrap_error_phase_closure.py
intounwrap_error.py
. -
move all the images from yunjunz's website to a GitHub repo (mintpy wiki, mintpy-tutorial, or create a new one just for images, or yunjunz's github page?), for better independency and more robust against the firewalls from countries to wordpress.com.
-
plate_motion
:- support time-series as input
- integrate into smallbaselineApp.py via template options as below, with the former having a higher than the latter one, to avoid potential conflicts. This is fed as
plate_motion.py -t
option.mintpy.plateMotion.plate
mintpy.plateMotion.omegaCart
mintpy.plateMotion.omegaSph
mintpy.plateMotion.constVelo
- support
--update
option to auto-skip via arun_or_skip()
.
-
replace
print
statements with pythonlogging
module
-
Move the user forum from Google Group to Discourse for a better interactive experience.
-
timeseries2velocity.py:
- save the output as velocity.h5 and velocityStd.h5. This would 1) eliminate the special "--nosearch" consideration of
view.py velocity.h5 dset
and 2) improve the visualization of the velocity file because velocity and velocityStd usually has very different color range.
- save the output as velocity.h5 and velocityStd.h5. This would 1) eliminate the special "--nosearch" consideration of
-
view: support fault overlay for geocoded files from public available dataset.
-
save_kmz_timeseries:
- customizable levels of steps/details
- write a guide to related details to the "eye alt" on Google Earth to guide users
- write a guide to find the memory limit of each computer and convert it to the setting of the script.
- define the initial Y-axis range of the time-series plot for the whole image. This range is currently scaled to each point, thus difficult to have a comparable view among different points.
-
Add unit test for the most vulnerable functions
-
add
mintpy.utils.print()
for flexible printing and logging- bool argument
print_msg
to replace vprint() in view.py. - bool argument
log
to turn on/off logging to a local filemintpy.log
in the current directory viarich.console
- str argument
syntax
such as "python", "bash", "csh", "cfg", etc. to highlight output syntax viarich.syntax
- bool argument
-
Explore the GPU-speedup with
cupy
forifgram_inversion.py
-
add example datasets for ISCE-2/alosStack and ISCE-2/stripmapStack using AlosAT424 dataset on Kirishima.
-
use
fastai/nbdev
to re-write the documentation, including tutorials and APIs. -
switch from readthedocs to the leafmap (https://leafmap.org/) style? It's more modern and cleaner, and supports embeding notebooks-converted html (https://leafmap.org/notebooks/00_key_features/).
-
add API document with usage extracted from code and with the source link, e.g. geocube
-
Add interactive jupyter notebook using Google Colab, so that one can run those example using a web browser only.
- output uncertainty time-series
-
use empty
mintpy.objects.__init__.py
file -
replace
objects
andutils
sub-module names with more meaningful group names, e.g.,geometry
,stdproc
, etc.
- convert the isce2 earthdef archive into github issues/discussions using redmine to github (suggested by Piyush).