Skip to content

Latest commit

 

History

History
86 lines (53 loc) · 5.27 KB

README.md

File metadata and controls

86 lines (53 loc) · 5.27 KB

Rabasar

This is a python implementation of Ratio-Based Multitemporal SAR Images Denoising from the RABASAR paper. RABASAR is application of the so-called plug-and-play denoisers for SAR image de-speckling to a temporal stack of intensity images. This implementation is the joint work of Charlie Marshak, Marc Simard, and Michael Denbina.

Examples

These are subsets of UAVSAR over the Wax Lake Delta. They are HH polarized images in linear units of power.

Total Variation

original_tv original_tv

BM3D

original_tv original_tv

Objectives

We have two primary goals in this repository:

  1. to explore the RABASAR methodology in python including a detailed comparison of related spatial denoising techniques.
  2. to apply the RABASAR methodology to open L-band images from UAVSAR and ALOS-1 in preparation for NISAR.

Because we are testing this methodology on larger areas and with two different sensors, the notebooks are predominantly dedicated to reprojecting the open imagery into a datacube, inspecting/testing algorithms to determine de-speckling parameters, saving the output products so we can later inspect them, etc. As such, we expect this code to be picked apart and improved as needed for specific SAR applications.

Installation

The installations are based on python 3.7+ using anaconda and conda within a virtual environment. Generally, this is accomplished as follows:

  1. Create a virtual environment using the requirements.txt
  2. Install rabasar downloading this repo and pip install .

More explicitly, using the anaconda distribution for Mac or Windows:

  1. Navigate to the directory with this repository on your local machine.

  2. conda create --name rabasar_env python=3.7

  3. conda activate rabasar_env

  4. pip install -r requirements.txt

  5. pip install .

  6. Ensure your python can be found by jupyter via python -m ipykernel install --user

You can make sure your installation was done correctly running python -c "import rabasar" and/or running the notebooks. At some point, we may distribute on pypi, though would want more robust tests and simpler demonstrations. If there are problems with the pip distributions of the requirements alternatively, you can use conda via conda install -c conda-forge --yes --file requirements.txt.

With Docker

This is mainly to ensure the binaries from bm3d can work with problematic mac environments. Clone this repository and navigate to on your local machine.

  1. docker build -f docker/Dockerfile -t rabasar . (this ensures the build context is the same as this repository)
  2. docker run -ti -p 8888:8888 -v <path_to_local_repo>:/home/rabasar/notebooks rabasar (make sure no jupyter notebooks are running with this port)
  3. From the container, navigate to /home/rabasar/notebooks and then run jupyter notebook --ip 0.0.0.0 --no-browser --allow-root.
  4. Copy the url with the token to your browser e.g. localhost:8888/token....

Known Issues

The bm3d, installed with pip, may kill the python interpreter without explanation. We did not have any issues with the tv regularizer.

References

Rabasar

  • Zhao, et al. RABASAR, 2019.
  • Zhao, et al. Github Repo, 2019.
  • Zhao's Thesis - contains more numerical experiments and extensive background.

Spatial Denoising

ADMM

License

See LICENSE.txt.

Copyright 2020, by the California Institute of Technology. ALL RIGHTS RESERVED. United States Government Sponsorship acknowledged. Any commercial use must be negotiated with the Office of Technology Transfer at the California Institute of Technology.

This software may be subject to U.S. export control laws. By accepting this software, the user agrees to comply with all applicable U.S. export laws and regulations. User has the responsibility to obtain export licenses, or other export authority as may be required before exporting such information to foreign countries or providing access to foreign persons.