Experiments

The experiments directory contains scripts allowing to reproduce the results presented in our publications.

Each folder corresponds to a specific publication and contains explanations on the experiments and how to run them.

OVC_2021

This directory contains scripts to reproduce results published in

Marelli, F. and Liebling, M. “Optics versus computation: influence of illumination and reconstruction model accuracy in Focal-plane-scanning optical projection tomography.” 2021 IEEE 18th International Symposium on Biomedical Imaging (ISBI). IEEE, 2021.

To run the experiments, first set the following environment variables:

  • OVC_PATH: full path to the directory in which you want the experiments to run (must be writable, 90G free space required)

  • OVC_PYTHON: full path to the python executable that will be used for the experiments

The script setup.sh creates the directory layout and generates the simulation datasets (phantom, PSF, light sheet illumination).

The script run_fpsopt.sh simulates FPS-OPT imaging, deconvolution and reconstruction with multiple PSF models (incorrect NA, approximate model).

The script run_fssopt.sh simulates FSS-OPT and X-ray imaging, and reconstruction it can be run in parallel to the previous one.

The script run_results.sh gathers the simulations and computes PSNR and generates the graphs. It requires matplotlib_scalebar to be installed.

Final results are stored in the folder $OVC_PATH/graph. The json files contain the computed PSNR.

The simulations benefit greatly from running on multithreaded machines.

PAAQ_2023

This directory contains scripts to reproduce results published in

Marelli, F. and Ernst, A. and Mercader, N. and Liebling, M. “PAAQ: Paired Alternating Acquisitions for Virtual High Framerate Multichannel Cardiac Fluorescence Microscopy”

To run the experiments, first set the following environment variables:

  • PAAQ_PATH: full path to the directory in which you want the experiments to run

  • PAAQ_PYTHON: full path to the python executable that will be used for the experiments

  • PAAQ_DATA: full path to the dataset (download from https://www.idiap.ch/en/dataset/PAAQ-Heart)

  • PAAQ_DATA_B: full path to the high-speed dataset (if available)

The script run_simus.sh runs all the simulations and generates results per type of experiment in files named results.npz. They contain the phase and frequency errors, as well as metrics from the minimization algorithm in the different simulated scenarios. The outputs will be located under $PAAQ_PATH/simu and $PAAQ_PATH/mutual for sorting-based and mutual info-based results, each of the subdirectories representing one varying parameter in the experiment and containing a result file.

The script run_experiments.sh runs all methods on experimental data and generates results in files named *_solution.npz. They contain the estimated phases (with * being the method used for estimation). It requires the dataset to be downloaded first to work. The outputs will be located under $PAAQ_PATH/exp, each subfolder corresponding to a different crop.

The script run_validation.sh runs validation experiments on high-speed data and generates results in files named results.npz. They contain the phase and frequency errors, as well as metrics from the minimization algorithm for the different parameters used. The outputs will be located under $PAAQ_PATH/ref, each of the subdirectories representing one varying parameter in the experiment and containing a result file.

You can read the npz files using numpy.

OMMT_2023

This directory contains scripts to reproduce results published in

Marelli, F. and Liebling, M. “Efficient Compressed Sensing Reconstruction for 3D Fluorescence Microscopy Using OptoMechanical Modulation Tomography (OMMT) with a 1+2D Regularization “

You will need to setup a python 3.8 environment with the requirements listed in requirements.txt. Check the JAX documentation to install with CUDA support.

pip install -r requirements.txt

To run the experiments, first set the following environment variables:

  • OMMT_PATH: full path to the directory in which you want the experiments to run

  • OMMT_PYTHON: full path to the python executable that will be used for the experiments

  • OMMT_DATA: full path to the dataset (download from https://www.idiap.ch/en/dataset/OMMT-fiber)

The script run_simus.sh runs all the simulations and generates results per type of experiment in files named results.npz and lsurface.npz. They contain the PSNR of the solution, as well as for the reference and undersampled SPIM, along with the time to converge and the values of the cost and regularization (if applicable).

The script run_exp.sh runs measurements on experimental data and generates results in a similar fashion.

The script run_timing.sh runs scaleability measurements on large volumes

We recommend adapting the scripts to run experiments on a computation grid for speed, or running subsets of the experiments (comment out unneeded experiments in the configure_*.py files).

You can read the npz files using numpy.