# decorrelation

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

[Documentation](https://kanglcn.github.io/decorrelation)

> InSAR postprocessing tool

## Install

Install
[cupy](https://docs.cupy.dev/en/stable/install.html#installation) and
[dask_cuda](https://docs.rapids.ai/api/dask-cuda/stable/) first, then:

With conda:

``` bash
conda install -c conda-forge decorrelation
```

With pip:

``` bash
pip install decorrelation
```

In development mode:

``` bash
git clone git@github.com:kanglcn/decorrelation.git ./decorrelation
cd ./decorrelation
pip install -e '.[dev]'
```

## How to use

``` python
import decorrelation as dc
```

This package provide functions for InSAR post-processing which refers as
processing after SAR images co-registration and geocoding. The functions
include PS/DS identification, coherence matrix estimation, phase linking
etc.

Most of the python functions in this package provide 2 kind of API, the
array-based API and the file-based API. The inputs of array-based
functions generally are numpy or cupy arrays. The inputs of file-based
functions are string of path to the array stored in disk. The file-based
functions make use of `dask` package to decrease the memory usage and
parallelize the job. However, their is performance cost for using
`dask`, if no parallelization is needed and the memory fits the data,
the array-based API is recommended.

CLI is also provided and is almost the same as the file-based API. The
only difference between them is the CLI can not directly show the plot.

Please refer to the
[Documentation](https://kanglcn.github.io/decorrelation) for detailed
usage.

**Warning!!!** This package is under intensive development. API is
subjected to change without any noticement.

## Contact us

- Most discussion happens on
  [GitHub](https://github.com/kanglcn/decorrelation). Feel free to [open
  an issue](https://github.com/kanglcn/decorrelation/issues/new) or
  comment on any open issue or pull request.
- use github
  [discussions](https://github.com/kanglcn/decorrelation/discussions) to
  ask questions or leave comments.

## Contribution

- Pull requests are welcomed! Before making a pull request, please open
  an issue to talk about it.
- We have notice many excellent open-source packages are rarely paid
  attention to due to lack of documentation. The package is developed
  with the [nbdev](https://nbdev.fast.ai/), a notebook-driven
  development platform. Developers only need to simply write notebooks
  with lightweight markup and get high-quality documentation, tests,
  continuous integration, and packaging automatically.
