/SARA-dictionary

Primary LanguageMATLABGNU General Public License v3.0GPL-3.0

SARA dictionary

language license docs-page

Description

  • SARA-dictionary contains a MATLAB implementation of the SARA wavelet dictionary desribed in [1] using a "segment-wise 2D discrete wavelet transform" [2]. Both a serial and a distributed implementation of the dictionary are proposed

  • The SARA-dictionary library is a core dependency of the Faceted-Hyper-SARA wideband imaging library for radio-interferometry.

  • Codes ublished by the author of [2], available online, have been significantly refactored for use in the MATLAB codes associated with the following paper.

P.-A. Thouvenin, A. Abdulaziz, M. Jiang, A. Dabbech, A. Repetti, A. Jackson, J.-P. Thiran, Y. Wiaux - Parallel faceted imaging in radio interferometry via proximal splitting (Faceted HyperSARA), submitted, preprint available online, Jan. 2020.

Authors/contributors: P.-A. Thouvenin, A. Dabbech.

References

[1] R. E. Carrillo, J. D. McEwen and Y. Wiaux, Sparsity Averaging Reweighted Analysis (SARA): a novel algorithm for radio-interferometric imaging, MNRAS, 426(2):1223-1234, 2012.

[2] Z. PRŮŠA -- Segmentwise Discrete Wavelet Transform., Dissertation thesis, Brno University of Technology, 2012.

Installation

Just clone the current repository

git clone https://github.com/basp-group/SARA-dictionary.git

To get started with the library, take a look at the documentation hosted online on github.

Contributions

Building the documentation

To build the documentation, make sure the following Python packages have been installed, and issue the appropriate buid command.

# setup conda environment to build the documentation
conda env create --name sdwt-doc --file environment.yml

## alternative using conda
# conda create -n sdwt-doc
# conda activate sdwt-doc
# conda install pip
# pip install miss_hit
# pip install -r requirement.txt

# building the documentation in html format
cd docs
make html

All the generated .html files are contained in the docs/build folder.

If needed, you can delete the conda environment as follows

conda env remove -n sdwt-doc

Pushing the documentation online

Add a worktree from the master branch

   # make sure the folder html does not exist before running the command
   git worktree add docs/build/html gh-pages
   cd docs/build/html
   git add .
   git commit -m "Build documentation as of $(git log '--format=format:%H' master -1)"
   git push origin gh-pages
   # delete the worktree
   cd ../
   git worktree remove html

Code layout

Make sure any pull request has been properly formatted with the miss_hit package using the provided miss_hit.cfg configuration file

# activate sdwt-doc environment (see previous paragraph)
conda activate sdwt-doc
# run the following command from the root of the package (where the miss_hit.cfg file is)
mh_style --fix .