Skip to content

To do list

Zhang Yunjun edited this page Dec 31, 2022 · 97 revisions
  • use tqdm instead of mintpy.objects.progressBar object, because:

    • it's simpler to use: 0-2 lines vs. 3 lines
    • tqdm use pure python, while progressBar use numpy
    • start testing with ifgram_inversion.py for the overhead performance evaluation, then expand to the entire package.
  • view.py:

    • identify manual input of -v -pi pi with proper colorbar notation
    • add --interpolation option to be able to change the imshow(interpolation) option.
  • replace setup.py with setup.cfg for mintpy and/or pysolid, pyaps3 (https://github.com/insarlab/MintPy/pull/827)

    • use pyproject.toml file instead.
  • merge unwrap_error_bridging.py and unwrap_error_phase_closure.py into unwrap_error.py.

  • move all the images from yunjunz's personal 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 a run_or_skip().
  • integrate ionospheric time-series estimation and correction into smallbaselineApp.py

Technical features

  • Move the user forum to Discourse for a better interaction 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.
  • 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 file mintpy.log in the current directory via rich.console
    • str argument syntax such as "python", "bash", "csh", "cfg", etc. to highlight output syntax via rich.syntax
  • Explore the GPU-speedup with cupy for ifgram_inversion.py

Documentation

  • 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.

Algorithm features & functionalities

  • output uncertainty time-series

Design consideration for the next major version

  • use empty mintpy.objects.__init__.py file

  • replace objects and utils sub-module names with more meaningful group names, e.g., geometry, stdproc, etc.

Random stuff

  • convert the isce2 earthdef archive into github issues/discussions using redmine to github (suggested by Piyush).

Welcome

Software Design

Clone this wiki locally