Small Reconstruction Package for Radon projections
In this example we will implement a small image reconstruction package using AbstractImageReconstruction.jl. Our reconstruction package OurRadonreco aims to provide direct and iterative reconstruction algorithms for Radon projection data.
Most of the desired functionality is already implemented in various Julia packages. Our reconstruction package now needs to properly link these packages and transform the data into the appropriate formats for each package.
The example is intended for developers of reconstruction packages that use AbstractImageReconstruction. End-users of such a package should consult the documentation of the concrete reconstruction package itself.
Installation
We can install AbstractImageReconstruction using the Julia package manager:
using Pkg
Pkg.add("AbstractImageReconstruction")This will download and install AbstractImageReconstruction.jl and its dependencies. To install a different version, please consult the Pkg documentation. In addition to AbstractImageReconstruction.jl, we will need several more packages to get started, which we can install the same way.
- RadonKA.jl provides fast Radon forward and backward projections for direct reconstructions
- LinearOperatorCollection.jl wraps RadonKA.jl functionality into a matrix-free linear operator for iterative solvers
- RegularizedLeastSquares.jl offers iterative solvers and regularization options
- ImagePhantoms.jl and ImageGeoms.jl allow defining digital software "phantoms" for testing
- CairoMakie.jl for visualization
Outline
Radon Data: Familiarize with RadonKA.jl, define a small data format for 3D time-series sinograms, and create the inverse problem
Interface: Define abstract types and understand what needs to be implemented to interact with
AbstractImageReconstructionDirect Reconstruction: Implement reconstruction algorithms using backprojection and filtered backprojection
Direct Reconstruction Result: Use the implemented algorithm
Iterative Reconstruction: Implement an iterative reconstruction algorithm with more complex parametrization
Iterative Reconstruction Result: Use the algorithm and demonstrate
RecoPlansfor configuration, saving, and loading algorithms as templates
For an even more detailed reconstruction package we refer to the magnetic particle imaging reconstruction package MPIReco.jl.