See the author's git repository here: https://github.com/IAmSuyogJadhav/NN-Illumination-Estimation-FPM
Accompanying code for the paper "Object Detection Neural Network Improves Fourier Ptychographic Reconstruction" (Paper).
To avoid messing up your exisiting setup, it is recommended to create a new virtual environment before you proceed. The following command is for Anaconda package manager, it is a useful package manager with a good repository system of its own that reduces some hassles. Anaconda can be downloaded from here. If you don't wish to use Anaconda, you can use venv to achieve the same effect.
conda create -n myenv python=3.7
conda activate myenv
Install PyTorch, Torchvision and CUDAToolkit (10.2 needed for compatibility with Detectron2, newer versions might give compatibility issues). If you don't wish to use Anaconda, you will have to install CUDAToolkit-10.2 separately and then install pytorch + torchvision using the pip command available on their website.
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
The next step for Linux users is to simply install the necessary requirements.
pip install -r requirements.txt
Detectron2 does not yet officially support Windows. The community has managed to get Detectron2 running on Windows by modifying some of the code.
-
Install Detectron2 by following the instructions given on this well-written blog.
-
Install rest of the requirements
pip install -r requirements-win.txt
-
Clone the GitHub repository using git or download the zip file directly and extract it.
-
Download the pre-trained models from Dataverse. Download and extract them in the root directory of the repository. Now you should have a folder named
models
in the root directory containing the pre-trained models. -
A sample inference code is provided in
Example.ipynb
. You can run it using Jupyter Notebook or Google Colab. The notebook is well commented and should be easy to follow. You can also change the parameters in the notebook to see how they affect the results. -
A sample input image is provided in the
tiffs
folder. You can use it to test the code. You can also use your own test images, as long as they are in the multipage tiff format similar to the sample image.