-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0a3ac9a
commit 9caff71
Showing
9 changed files
with
202 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
[deps] | ||
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" | ||
DocumenterCitations = "daee34ce-89f3-4625-b898-19384cb65244" | ||
RadonKA = "86de8297-835b-47df-b249-c04e8db91db5" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,24 @@ | ||
using RadonKA, Documenter | ||
using RadonKA, Documenter, DocumenterCitations | ||
|
||
bib = CitationBibliography( | ||
joinpath(@__DIR__, "src", "ref.bib"); | ||
style=:numeric | ||
) | ||
|
||
DocMeta.setdocmeta!(RadonKA, :DocTestSetup, :(using RadonKA); recursive=true) | ||
makedocs(modules = [RadonKA], | ||
sitename = "RadonKA.jl", | ||
pages = Any[ | ||
"RadonKA.jl" => "index.md", | ||
"Mathematical Background" => "mathematical.md", | ||
"Simple Tutorial" => "tutorial.md", | ||
"Specifying different geometries and absorption" => "geometries.md", | ||
"Benchmark with Matlab and Astra" => "benchmark.md", | ||
"Function Docstrings" => "functions.md" | ||
], | ||
warnonly=true, | ||
plugins=[bib,] | ||
) | ||
|
||
deploydocs(repo = "github.com/roflmaostc/RadonKA.jl.git", devbranch="main") | ||
|
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# Mathematial background | ||
## Introduction | ||
The Radon transform [radon1917uber](@cite) is an integral transform which is the foundation | ||
behind computed tomography (CT). | ||
It projects the values of a function along straight lines onto a detector. | ||
These projections are calculated for a set of different observation angles around the function. | ||
Such a dataset allows to reconstruct the original function distribution. | ||
|
||
|
||
|
||
## Definition | ||
The general definition of the parallel attenuated Radon transform (ART) $\mathcal{R}_{\mu}$ is | ||
|
||
$$g(s, \theta) = (\mathcal{R}_{\mu} f)(s, \theta) = \int_{-\infty}^{\infty} f(s\,\pmb{\omega} + t\,\pmb{\omega}^{\perp}) \exp\left(- \int_t^{\infty} \mu\left(s\,\pmb{\omega} + \tau\,\pmb{\omega}^{\perp}\right)\,\,\mathrm{d}\tau\right)\,\, \mathrm{d}t$$ | ||
|
||
where $\mu$ is the position dependent absorption coefficient. The vectors are defined as $\omega=(\cos \theta, \sin \theta)$ and | ||
$\omega^{\perp}=(-\sin \theta, \cos \theta)$. | ||
|
||
In case of zero absorption ($\mu=0$) the ART reduces to the ordinary Radon transform. | ||
## Adjoint | ||
If $\mu$ is known, the adjoint of the ART with respect to $f$ is given by | ||
|
||
$$(\mathcal{R}_{\mu}^* g)(x, y) = \int_{0}^{2\pi} g( \pmb{\omega} \cdot [x,y]^{\intercal}, \theta) \exp\left(- \int_{[x,y]^{\intercal} \cdot \pmb{\omega}^{\perp}}^{\infty} \mu\left([x,y]^{\intercal} \cdot \pmb{\omega} + \tau\,\pmb{\omega}^{\perp}\right)\,\,\mathrm{d}\tau\right)\,\, \mathrm{d}\theta$$ | ||
|
||
where $\mu$ is the position dependent absorption coefficient. | ||
Qualitatively, the Radon transform calculates the _shadow_ of a sample if illuminated with plane waves. | ||
|
||
|
||
## Discretization | ||
On the other hand, the adjoint Radon transform _smears_ the _shadows_ (projection patterns) back into space and deposits values at each point. | ||
The pair of $\mathcal{R}_{\mu}$ and $\mathcal{R}_{\mu}^*$ can be used in gradient descent based optimizers. | ||
|
||
In the figure below we show the geometry to the presented equations. Further, we show how the grid is discretized. | ||
`RadonKA.jl` traces a ray through the pixel grid. | ||
The function value it accumulates (Radon transform) or deposits (adjoint Radon transform) depends on the intersection length with each pixel. | ||
|
||
```@raw html | ||
<img src="../assets/geometry.png" alt="The geometry of the Radon transform." width="500"/> | ||
``` | ||
|
||
|
||
## Applications | ||
The ordinary Radon transform is the mathematical concept behind CT [Buzug2011](@cite). CT allows to recover a 3D absorption map of objects such as human bodies. | ||
One application of the ART is single photon emission computerized tomography (SPECT) [spect](@cite). | ||
In SPECT a tracer is injected in the specimen (e.g. blood of human bodies). The trace is radioactive and emits gamma rays which are detected. | ||
Since the gamma rays are created inside the body, its intensity is weakened from the starting point of the emission until hitting the detector. | ||
A more recent usage of the ART is within the context of Tomographic Volumetric Additive Manufacturing (TVAM) [Kelly_Bhattacharya_Heidari_Shusteff_Spadaccini_Taylor_2019](@cite), [Loterie_Delrot_Moser_2020](@cite). | ||
|
||
In TVAM a photosensitive resin is illuminated with projection patterns from different angular positions. | ||
The light is absorbed while propagating through that medium and reacting with the photo-initiator. Once a certain voxel in space received a | ||
sufficient energy dose, it is going to polymerize. The mathematical process behind this printer is given by the adjoint of the ART. | ||
|
||
## References | ||
|
||
```@bibliography | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
@Inbook{Buzug2011, | ||
author="Buzug, Thorsten M.", | ||
editor="Kramme, R{\"u}diger | ||
and Hoffmann, Klaus-Peter | ||
and Pozos, Robert S.", | ||
title="Computed Tomography", | ||
bookTitle="Springer Handbook of Medical Technology", | ||
year="2011", | ||
publisher="Springer Berlin Heidelberg", | ||
address="Berlin, Heidelberg", | ||
pages="311--342", | ||
abstract="In this chapter, historical milestones of computed tomography (CT) (Sect. 16.2), recent technology with a focus on generation and detection of x-rays (Sect. 16.3), as well as image reconstruction (Sect. 16.4) are discussed. Furthermore, the chapter includes aspects of applications (Sect.16.5), dose exposure in computed tomography (Sect. 16.6), and a brief overview on special CT developments (Sect. 16.7). Since this chapter gives a review, the interested reader is referred to recent literature on computed tomography including a detailed discussion of CT technology in the references section.", | ||
isbn="978-3-540-74658-4", | ||
doi="10.1007/978-3-540-74658-4_16", | ||
url="https://doi.org/10.1007/978-3-540-74658-4_16" | ||
} | ||
|
||
@inbook{spect, | ||
title = {7. The Inversion of the Attenuated Radon Transform and Medical Imaging}, | ||
booktitle = {A Unified Approach to Boundary Value Problems}, | ||
author={Fokas, Athanassios Spyridon}, | ||
year = {2012}, | ||
pages = {103-111}, | ||
doi = {10.1137/1.9780898717068.ch7}, | ||
URL = {https://epubs.siam.org/doi/abs/10.1137/1.9780898717068.ch7}, | ||
eprint = {https://epubs.siam.org/doi/pdf/10.1137/1.9780898717068.ch7}, | ||
abstract = { The celebrated Radon transform provides the mathematical basis of computerized tomography (CT). Similarly, the attenuated Radon transform provides the mathematical basis of a new imaging technique of great significance, namely single photon emission computerized tomography (SPECT). Before discussing the mathematics of CT and SPECT we first present a brief introduction of these remarkable imaging techniques. 7.1 Computerized Tomography In brain imaging, CT is the computer aided reconstruction of a mathematical function that represents the X-ray attenuation coefficient of the brain tissue (and is therefore related to its density). Let f(x1, x2) denote the X-ray attenuation coefficient at the point (x1, x2). This means that X-rays transversing a small distance Δτ at (x1, x2) suffer a relative intensity loss ΔI/I = −FΔτ. Taking the limit and solving the resulting ODE we find I1/I0 = exp[− ∫L fdτ], where L denotes the part of the line that transverses the tissue. Since I1/I0 is known from the measurements, the basic mathematical problem of CT is to reconstruct a function from the knowledge of its line integrals. The line integral of a function is called its Radon transform. In order to define this transform we introduce local coordinates: Let the line L make an angle θ with the positive x1-axis. A point (x1, x2) on this line can be specified by the variables (ρ, τ), where ρ is the distance from the origin and τ is aparameter along the line; see Figure 7.1. A unit vector ḵ along L is given by (cos θ, sin θ), and thus ( x1 , x2 ) =τ ( cos θ , sin θ )+ρ (−sin θ ,cos θ). Hence, the variables (x1, x2) and (τ, ρ), for fixed θ, are related by the equations x1 =τ cos θ−ρ sin θ, x2 =τ sin θ +ρ cos θ . 7.1 } | ||
} | ||
|
||
|
||
@article{Kelly_Bhattacharya_Heidari_Shusteff_Spadaccini_Taylor_2019, title={Volumetric additive manufacturing via tomographic reconstruction}, volume={363}, DOI={10.1126/science.aau7114}, abstractNote={Additive manufacturing promises enormous geometrical freedom and the potential to combine materials for complex functions. The speed, geometry, and surface quality limitations of additive processes are linked to their reliance on material layering. We demonstrated concurrent printing of all points within a three-dimensional object by illuminating a rotating volume of photosensitive material with a dynamically evolving light pattern. We printed features as small as 0.3 millimeters in engineering acrylate polymers and printed soft structures with exceptionally smooth surfaces into a gelatin methacrylate hydrogel. Our process enables us to construct components that encase other preexisting solid objects, allowing for multimaterial fabrication. We developed models to describe speed and spatial resolution capabilities and demonstrated printing times of 30 to 120 seconds for diverse centimeter-scale objects.}, number={6431}, journal={Science}, publisher={American Association for the Advancement of Science}, author={Kelly, Brett E. and Bhattacharya, Indrasen and Heidari, Hossein and Shusteff, Maxim and Spadaccini, Christopher M. and Taylor, Hayden K.}, year={2019}, month=mar, pages={1075–1079} } | ||
|
||
|
||
@article{Loterie_Delrot_Moser_2020, title={High-resolution tomographic volumetric additive manufacturing}, volume={11}, rights={2020 The Author(s)}, ISSN={2041-1723}, DOI={10.1038/s41467-020-14630-4}, abstractNote={In tomographic volumetric additive manufacturing, an entire three-dimensional object is simultaneously solidified by irradiating a liquid photopolymer volume from multiple angles with dynamic light patterns. Though tomographic additive manufacturing has the potential to produce complex parts with a higher throughput and a wider range of printable materials than layer-by-layer additive manufacturing, its resolution currently remains limited to 300 µm. Here, we show that a low-étendue illumination system enables the production of high-resolution features. We further demonstrate an integrated feedback system to accurately control the photopolymerization kinetics over the entire build volume and improve the geometric fidelity of the object solidification. Hard and soft centimeter-scale parts are produced in less than 30 seconds with 80 µm positive and 500 µm negative features, thus demonstrating that tomographic additive manufacturing is potentially suitable for the ultrafast fabrication of advanced and functional constructs.}, number={11}, journal={Nature Communications}, publisher={Nature Publishing Group}, author={Loterie, Damien and Delrot, Paul and Moser, Christophe}, year={2020}, month=feb, pages={852}, language={en} } | ||
|
||
@article{radon1917uber, | ||
added-at = {2010-08-20T12:09:24.000+0200}, | ||
author = {Radon, J.}, | ||
biburl = {https://www.bibsonomy.org/bibtex/2b0128caaef39bf1265503f99b560dbfb/haggis79}, | ||
interhash = {fdcf4d741dfedba3c56a3a942ecc463b}, | ||
intrahash = {b0128caaef39bf1265503f99b560dbfb}, | ||
journal = {Akad. Wiss.}, | ||
keywords = {imported}, | ||
owner = {schohaad}, | ||
pages = {262-277}, | ||
timestamp = {2010-08-20T12:09:25.000+0200}, | ||
title = {{\"U}ber die {B}estimmung von {F}unktionen durch ihre {I}ntegralwerte | ||
l\"angs gewisser {M}annigfaltigkeiten}, | ||
volume = 69, | ||
year = 1917 | ||
} | ||
|