README.md

Mon, 06 May 2024 20:05:06 -0500

author
Tuomo Valkonen <tuomov@iki.fi>
date
Mon, 06 May 2024 20:05:06 -0500
changeset 65
af90bfa6d978
parent 63
4a64a84d1e84
permissions
-rw-r--r--

Added tag v2.0.1 for changeset 910a99e4c099

0
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
1
59
789caa2bd6e4 Change title
Tuomo Valkonen <tuomov@iki.fi>
parents: 58
diff changeset
2 # Predictive online optimisation codes for dynamic inverse imaging problems
0
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
3
63
4a64a84d1e84 Fix some dates in README
Tuomo Valkonen <tuomov@iki.fi>
parents: 62
diff changeset
4 These codes implement the experiments for the 2024 manuscript _“[Prediction techniques for dynamic imaging with online primal-dual methods](https://arxiv.org/abs/2405.02497)”_ 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](https://arxiv.org/abs/2002.03053)”_ by [Tuomo Valkonen](https://tuomov.iki.fi).
0
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
5
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
6 ## Prerequisites
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
7
10
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
8 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/).
0
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
9
8
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
10 ## Usage
0
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
11
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
12 Navigate your unix shell to the directory containing this `README.md` and then run:
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
13
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
14 $ julia --project=.
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
15
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
16 The first time doing this, to ensure all the dependencies are installed, run
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
17
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
18 $ ]instantiate
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
19
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
20 Afterwards in the Julia shell, type:
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
21
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
22 > using PredictPDPS
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
23
10
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
24 This may take a while as Julia precompiles the code.
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
25
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
26 Below we document how to run the experiments for each article. See the source code for more details.
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
27
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
28 To run the data generation multi-threadeadly parallel to the algorithm, set the `JULIA_NUM_THREADS` environment variable to a number larger than one.
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
29
63
4a64a84d1e84 Fix some dates in README
Tuomo Valkonen <tuomov@iki.fi>
parents: 62
diff changeset
30 ### Experiments for 2020 article
10
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
31
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
32 To generate all the experiments for _“Predictive online optimisation with applications to optical flow”_, run:
0
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
33
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
34 > batchrun_article()
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
35
10
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
36 To see the experiments running visually, and not save the results, run
0
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
37
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
38 > demo_known1()
a55e35d20336 Initialise independent repo
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
39
10
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
40 or any of `demo_XY()`, where `X`=`known`,`unknown` and `Y`=1,2,3.
8
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
41
33
e091766f556d Oops, year in README
Tuomo Valkonen <tuomov@iki.fi>
parents: 10
diff changeset
42 ### Experiments for 2024 article
10
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
43
61
d10ea0811650 Proper quote marks in README
Tuomo Valkonen <tuomov@iki.fi>
parents: 60
diff changeset
44 To generate all the experiments for _“Prediction techniques for dynamic imaging with online primal-dual methods”_, run:
8
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
45
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
46 > batchrun_predictors()
40
2464329e356d README update
Tuomo Valkonen <tuomov@iki.fi>
parents: 33
diff changeset
47 > batchrun_shepplogan()
2464329e356d README update
Tuomo Valkonen <tuomov@iki.fi>
parents: 33
diff changeset
48 > batchrun_brainphantom()
8
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
49
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
50 Both will save the results under `img/`.
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
51
10
68fe515ea38f README fine-tuning
Tuomo Valkonen <tuomov@iki.fi>
parents: 9
diff changeset
52 To see the experiments running visually, and not save the results, run
8
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
53
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
54 > demo_denoising1()
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
55
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
56 or
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
57
60
33d5956e7e7f README demo options added
Neil Dizon <neil.dizon@helsinki.fi>
parents: 59
diff changeset
58 > demo_petS1()
8
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
59
60
33d5956e7e7f README demo options added
Neil Dizon <neil.dizon@helsinki.fi>
parents: 59
diff changeset
60 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.
8
e4ad8f7ce671 Added PET and updated README
Neil Dizon <neil.dizon@helsinki.fi>
parents: 0
diff changeset
61
49
56cc16c66b39 data sources
Tuomo Valkonen <tuomov@iki.fi>
parents: 40
diff changeset
62 ## Data sources
56cc16c66b39 data sources
Tuomo Valkonen <tuomov@iki.fi>
parents: 40
diff changeset
63
56cc16c66b39 data sources
Tuomo Valkonen <tuomov@iki.fi>
parents: 40
diff changeset
64 The lighthouse image is from the free [Kodak Lossless True Color Image Suite](https://r0k.us/graphics/kodak/). It is loaded via the Julia `TestImages` package.
56cc16c66b39 data sources
Tuomo Valkonen <tuomov@iki.fi>
parents: 40
diff changeset
65
56cc16c66b39 data sources
Tuomo Valkonen <tuomov@iki.fi>
parents: 40
diff changeset
66 The file `phantom_slice.mat` is extracted, as described in `phantom_slice.md`, from
56cc16c66b39 data sources
Tuomo Valkonen <tuomov@iki.fi>
parents: 40
diff changeset
67
56cc16c66b39 data sources
Tuomo Valkonen <tuomov@iki.fi>
parents: 40
diff changeset
68 * 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

mercurial