Radon transform: Fourier-slice diagonalization and pseudo-inversion

← All problems

radon_transform_inversion

Submitter: Kim Morrison.

Notes: The Fourier slice theorem diagonalizes the Radon transform (1D Fourier of a projection = a 2D-Fourier slice), and the transform has a left inverse on Schwartz functions. Trusted helpers radon, fourier1, fourier2 (non-holes). Mathlib has the 1D/2D Fourier transforms and Schwartz space but no Radon transform, Fourier slice theorem, or filtered back-projection. The pseudo-inverse is stated existentially (the explicit filtered-back-projection form would need the Hilbert transform / Riesz potential). Candidate from §100 of the Knill survey.

Source: J. Radon (1917); R. N. Bracewell (Fourier slice theorem, 1956). Knill, *Some fundamental theorems in mathematics*, §100.

Informal solution: Fourier slice theorem: writing the Radon projection R f(p,θ) and taking its 1D Fourier transform in p, interchange integrals (Fubini) and change variables so the line-integral-then-Fourier becomes the 2D Fourier transform of f restricted to the line through the origin at angle θ: F₁[Rf(·,θ)](k) = F₂[f](k cos θ, k sin θ). This diagonalizes R (it becomes a slice/multiplication operator). Pseudo-inversion: the slice identity plus 2D Fourier inversion on Schwartz functions makes R injective on 𝓢, so a left inverse exists; the canonical one is filtered back-projection u ↦ backproject(Hilbert-filter(u)). Mathlib lacks the slice theorem and the filter.

theorem declaration uses `sorry`radon_can_be_diagonalized_and_pseudo_inverted : ( φ : SchwartzMap ( × ) , θ k : , fourier1 (fun p => radon (φ : × ) (p, θ)) k = fourier2 (φ : × ) (k * Real.cos θ, k * Real.sin θ)) ( Rinv : ( × ) ( × ), φ : SchwartzMap ( × ) , Rinv (radon (φ : × )) = (φ : × )) := (∀ (φ : SchwartzMap ( × ) ) (θ k : ), fourier1 (fun p => radon φ (p, θ)) k = fourier2 φ (k * Real.cos θ, k * Real.sin θ)) Rinv, (φ : SchwartzMap ( × ) ), Rinv (radon φ) = φ All goals completed! 🐙

Solved by

Not yet solved.