The repository is organized as follows:
|- images/ images to be reconstructed.
|- paper_experiments/ code that generated figures 2,3, and 6 of the paper.
|- reconstructions_demo/ some notebooks that analyze the reconstructions dependency on various parameters.
|- tests_and_visualizations/ tests, visualizations, and additional code examples.
|- utils/ utility functions and modules.
|- demo.ipynb Jupyter Notebook demonstrating the project functionalities.
To use the code in this repository, follow these steps:
-
Clone this repository using
git cloneor download the zip file. -
Create a minimal virtual environment and activate it. We suggest conda, if you want to use pipenv instead, replace step 2. below by the instructions in pipenv.md . With
conda, use the following commands:
conda create --name your_env_name python==3.8.8
conda activate your_env_name
pip install -r requirements.txt
This project uses old versions of Python, scipy, and other packages. requirements.txt ensures you will run the code in a controlled environment.
Note: to see the newly create venv, you may need to relaunch your python editor.
To deactivate the environment when you don't want to work on this project:
conda deactivate
-
install my forks of
pyunlocbox,pyproximalandpylopsfrom Github:- clone each repo from Github or download the zip file
git clone https://github.com/olivierleblanc/pyunlocbox.git- then in command line, ensure the created virtual env is activated, then pip install the repo from the fork you just downloaded.
pip install -e /path/to/reporepeat with
https://github.com/olivierleblanc/pyproximal.git and https://github.com/olivierleblanc/pylops.git -
Run the demo Jupyter Notebook (
demo.ipynb) to see an example of how to use the project functionality. -
Explore the project files and directories to find the desired code and resources.
The experimental data can be download
here
Contributions to this project are welcome. If you find any issues or want to add new features, please open an issue or submit a pull request.
This project is licensed under the MIT License.
Don't hesitate to discuss with me eiter on Github directly or email me at [email protected].
Note
In the code, you sometimes used the word diagless or dl that is a synonym of hollow matrix. It is related to the debiasing trick explained in the paper.