There is a newer version of the record available.

Published May 3, 2024 | Version 2.0.0
Software Open

Predictive online optimisation codes for dynamic inverse imaging problems

  • 1. University of Helsinki
  • 2. ROR icon National Polytechnic School
  • 3. ROR icon University of Eastern Finland

Description

These codes implement the experiments for the 2024 manuscript Prediction techniques for dynamic imaging with online primal-dual methods by Neil Dizon, Jyrki Jauhiainen, and Tuomo Valkonen. It is built on top of, and includes the experiments for the 2020 article Predictive online optimisation with applications to optical flow by Tuomo Valkonen.

Prerequisites

These codes were written for Julia 1.9. The Julia package prequisites are from April 2024 when our experiments were run, and have not been updated to maintain the same environment we used to do the experiments in the manuscript. You may get Julia from julialang.org.

Usage

Navigate your unix shell to the directory containing this README.md and then run:

$ julia --project=.

The first time doing this, to ensure all the dependencies are installed, run

$ ]instantiate

Afterwards in the Julia shell, type:

> using PredictPDPS

This may take a while as Julia precompiles the code.

Below we document how to run the experiments for each article. See the source code for more details.

To run the data generation multi-threadeadly parallel to the algorithm, set the JULIA_NUM_THREADS environment variable to a number larger than one.

Experiments for 2020 article

To generate all the experiments for “Predictive online optimisation with applications to optical flow”, run:

> batchrun_article()

To see the experiments running visually, and not save the results, run

> demo_known1()

or any of demo_XY(), where X=known,unknown and Y=1,2,3.

Experiments for 2024 article

To generate all the experiments for “Prediction techniques for dynamic imaging with online primal-dual methods”, run:

> batchrun_predictors()
> batchrun_shepplogan()
> batchrun_brainphantom()

Both will save the results under img/.

To see the experiments running visually, and not save the results, run

> demo_denoising1()

or

> demo_petS1()

or any of demo_denoisingZ() for image stabilisation experiments, and demo_petSZ() or demo_petBZ() for dynamic PET reconstruction with Shepp-Logan and brain phantoms, resp., where Z=1 for Dual Scaling, Z=2 for Greedy, Z=3 for No Prediction, Z=4 for Primal Only, Z=5 for Proximal, and Z=6 for Rotation predictors.

Data sources

The lighthouse image is from the free Kodak Lossless True Color Image Suite. It is loaded via the Julia TestImagespackage.

The file phantom_slice.mat is extracted, as described in phantom_slice.md, from

  • Belzunce, M. A. (2018). High-Resolution Heterogeneous Digital PET [18F]FDG Brain Phantom based on the BigBrain Atlas (1.0) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.1190598
  •  

Files

Files (877.0 kB)

Name Size Download all
md5:0d2c46271430cf28cfbde59c899fbb54
877.0 kB Download

Additional details

Related works

Is documented by
Preprint: arXiv:2002.03053 (arXiv)
Journal article: 10.1007/s10851-020-01000-4 (DOI)
Preprint: arXiv:2405.02497 (arXiv)
References
Dataset: 10.5281/zenodo.1190598 (DOI)

Funding

Research Council of Finland
Grant 338614
Research Council of Finland
Grant 314701

Software

Repository URL
https://tuomov.iki.fi/repos/PredictPDPS/
Programming language
Julia
Development Status
Active