README.md

Fri, 03 May 2024 17:16:21 +0300

author
Neil Dizon <neil.dizon@helsinki.fi>
date
Fri, 03 May 2024 17:16:21 +0300
changeset 50
b413b7df8cd6
parent 40
2464329e356d
child 49
56cc16c66b39
permissions
-rw-r--r--

remove activated dual


# Julia codes for predictive online optimisation for dynamic inverse imaging problems

This version of Julia codes contains the experiments in 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 2019 article _“[Predictive online optimisation with applications to optical flow](https://arxiv.org/abs/2002.03053)”_ by [Tuomo Valkonen](https://tuomov.iki.fi).

## 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](https://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 2019 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_pet1()

or any of `demo_denoisingZ()` for image stabilisation experiments and `demo_petZ()` for dynamic PET reconstruction 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.

mercurial