Giter Club home page Giter Club logo

insarflow's Introduction

Getting Started

As Interferometric Synthetic Aperture Radar (InSAR) data becomes increasingly popular, the ability to process these large datasets for time-series analysis is important. InSARFlow utilizes mpi4py for parallel processing of SAR interferograms and time-series analysis based on ISCE and GIAnT models.

InSARFlow has the following features:

  • Automatic downloading SAR data from Alaska Satellite Facility (ASF).
  • Parallel processing of interferograms. Because ISCE processing for each interferogram is independent, running ISCE for many pairs can be implemented very efficiently in parallel. Using Message Passing Interface (MPI), InSARFlow supports large-scale processing on clusters and supercomputers.

Prerequisite

The following packages are required for running InSARFlow:

Installation

Download and extract the code (name it InSARFlow) to your home folder. Add the following to your .bashrc file:

export PATH=$PATH:/home/USERNAME/InSARFlow/scripts

I setup ISCE and GIAnT in 2 separate environments. For ISCE and GIAnT to recognize InSARFlow, add InSARFlow/scripts folder to the PYTHONPATH of each environment

  • ISCE config
export InSARFlow_HOME=/home/USERNAME/InSARFlow
export PYTHONPATH=$ISCE_ROOT:$ISCE_HOME/applications:$ISCE_HOME/component:$InSARFlow_HOME/scripts
  • GIAnT config
export InSARFlow_HOME=/home/USERNAME/InSARFlow
export PYTHONPATH=$GIANT:$PYAPS:$VARRES:$InSARFlow_HOME/scripts
  • For making Python scripts executable and runnable from anywhere, run the following:
chmod +x /home/USERNAME/InSARFlow/scripts/*

Note: User needs to open an account (free) on ASF to download SAR data. Also, follow the instruction here for automatic DEM download from https://urs.earthdata.nasa.gov/

Try your first InSARFlow

1. Create a csv file from ASF

Sentinel-1 and ALOS data can be accessed from ASF.

  • Search your region of interest (Note: At this moment, InSARFlow only supports ALOS and Sentinel-1)
  • Select an image that covers your area.
  • Click on baseline, a PS Baseline Chart will open, showing information of all images for other days.
  • Click on Export to CSV to download
  • If your study area doesn't fit into one image, you have to process multiple paths/frames.

2. Processing interferograms

To run ISCE, you must set the parameters: RunScript = True in the [ISCE] group

source ~/.ISCE_CONFIG   # Activate ISCE conda env
cd /home/USERNAME/InSARFlow/examples/MekongDelta
InSARFlow.py -c Mekong_SEN1A.cfg

3. Time-series analysis

To run GIAnT, set RunScript = False in the [ISCE] group and RunGIAnT = True in the [GIANT] group. Note that GIAnT must be run after ISCE is completed.

source ~/.GIAnT         # Activate GIANT conda env
cd /home/USERNAME/InSARFlow/examples/MekongDelta
InSARFlow.py -c Mekong_SEN1A.cfg

For large-scale processing, the storage may reach 100s GB or > 1TB, so move the example folder to disks that have enough free space. The example folder is not neccessary to be in the InSARFlow directory

License

See LICENSE file for more information.

Acknowledgments

Big thanks to the following people for contributing to this project in myriad ways:

  • Luyen Bui
  • Hai Pham

Author

insarflow's People

Contributors

levuvietphong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

insarflow's Issues

inSARFlow for different time-series packages

Hi, thanks for your application!
I'am using ISCE and want to speedup data processing with inSARFlow.
Is there a way to use inSARFlow for further processing in other time series analysis packages (e.g. StaMPS)? We only need coregistered SLC, baseline grids and reference geometry data.
Can I use CUDA functionality in ISCE calculations using inSARFlow?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.