TomoLab reproduces the full imaging chain of a (parallel-beam) CT scanner: object → X-ray projections → noisy
measurements → reconstruction → image-quality assessment.
1 · Phantoms & exact projections
Phantoms are built from ellipses and rectangles with attenuation values relative to water
(HU = 1000·(μ/μwater − 1), μwater = 0.19 cm⁻¹). Their Radon transform is computed
analytically — e.g. the chord of an ellipse:
p(θ, t) = ρ · 2ab·√(a²(θ) − s²) / a²(θ)
a²(θ) = a²cos²(θ−α) + b²sin²(θ−α), s = t − (x₀cosθ + y₀sinθ)
so reconstructions are not flattered by the “inverse crime” of projecting the same pixel grid they are rebuilt on.
Uploaded images use a ray-driven bilinear projector instead.
2 · Measurement physics
N ~ Poisson(I₀ · e^(−p)) p̂ = −ln(N / I₀)
Lower dose (I₀) means fewer photons and noisier line integrals — especially behind dense objects such as metal
(photon starvation → streaks). Optional miscalibrated detector channels create ring artefacts;
rigid patient motion half-way through the scan creates inconsistent data and streaks.
3 · Filtered back-projection
f(x, y) = Δθ · Σₖ (pₖ ∗ h)(x cosθₖ + y sinθₖ)
The ramp filter h is built from its exact band-limited spatial kernel (Kak & Slaney) and
apodised by a Shepp–Logan, cosine, Hamming or Hann window to trade resolution for noise. Plain BP
(no filter) shows the characteristic 1/r blur.
4 · Iterative reconstruction
OS-SART repeatedly corrects the image with the back-projected, normalised residual of 10 ordered view subsets:
x ← x + λ · Cₛ⁻¹ Aₛᵀ Rₛ⁻¹ (pₛ − Aₛx), x ≥ 0
SART-TV interleaves gradient steps on total variation (ASD-POCS style), a compressed-sensing prior
that suppresses streaks when only a few views are available.
5 · Image quality
RMSE (HU), PSNR and SSIM are computed inside the circular field of view against the rasterised ground truth.
Things to try
- Drop to 30 views: compare FBP streaks with SART-TV.
- Lower the dose to 10³ and switch the filter from Ram-Lak to Hann.
- Load the hip phantom — classic metal artefacts appear at clinical doses.
- Restrict coverage to 120° for limited-angle artefacts.