Exercises

ex01-fourier-slice

Easy

(a) Create a 128×128128 \times 128 Shepp-Logan phantom.

(b) Compute the Radon transform (projection) at angle θ=30\theta = 30^\circ.

(c) Take the 1D FFT of the projection and the 2D FFT of the phantom. Extract the radial slice of the 2D FFT at 3030^\circ.

(d) Plot both on the same axes. Verify they are identical (up to numerical precision).

(e) Repeat for θ=0,45,90,135\theta = 0^\circ, 45^\circ, 90^\circ, 135^\circ. At which angle is the numerical agreement worst? Why?

ex02-fbp-basic

Easy

(a) Implement FBP for X-ray CT using the Ram-Lak filter. Use the Shepp-Logan phantom (256×256256 \times 256).

(b) Reconstruct with Nv=180N_v = 180 projections. Compute the PSNR.

(c) Implement the Shepp-Logan and cosine filters. Reconstruct with Nv=36N_v = 36 and compare all three filters in PSNR and visual quality.

(d) Plot the three filter frequency responses h(ν)h(\nu). Explain why the cosine filter suppresses streak artifacts.

(e) What is the minimum NvN_v for PSNR >25> 25 dB with each filter?

ex03-ewald-geometry

Easy

(a) Write a function that computes the Ewald circle K(ϕs)=k0(k^s(ϕs)k^i)\mathbf{K}(\phi_s) = k_0(\hat{\mathbf{k}}_s(\phi_s) - \hat{\mathbf{k}}_i) for a given incident direction k^i\hat{\mathbf{k}}_i and wavenumber k0k_0.

(b) Plot the Ewald circles for Nv=1,2,4,8N_v = 1, 2, 4, 8 views at f=10f = 10 GHz. Label each circle with its view angle.

(c) For each configuration, compute the coverage ratio η\eta (fraction of the 2k02k_0 disk that is covered).

(d) At what NvN_v does η\eta exceed 0.9 for a single frequency?

(e) Add Nf=5N_f = 5 frequencies (8--12 GHz). How does the coverage change?

ex04-diffraction-tomography

Medium

(a) Create a 2D object (64×6464 \times 64) with 3 circular inclusions of varying contrast (χ=0.1,0.3,0.5\chi = 0.1, 0.3, 0.5) in a homogeneous background.

(b) Simulate the scattered field under the Born approximation for Nv=18N_v = 18 views and Nf=10N_f = 10 frequencies (8--12 GHz). Add noise at SNR=30\text{SNR} = 30 dB.

(c) Reconstruct using: (i) gridding + IFFT with DCF, (ii) CGLS (100 iterations).

(d) Compare PSNR and visual quality. Which method best preserves the circular boundaries?

(e) Reduce to Nv=6N_v = 6 views. How do the results change? Which method degrades more gracefully?

ex05-coverage-optimization

Medium

(a) For a fixed budget of Nv=8N_v = 8 views, find the set of angles {θv}\{\theta_v\} that maximizes the coverage ratio η\eta (single frequency, f=10f = 10 GHz).

(b) Compare: (i) uniform spacing, (ii) random angles, (iii) greedy selection (add the angle that maximally increases η\eta).

(c) Plot η\eta vs. NvN_v for all three strategies.

(d) Repeat for wideband (8--12 GHz, Nf=10N_f = 10). Does the optimal angle selection change?

(e) For limited-angle imaging (θv[0,90]\theta_v \in [0^\circ, 90^\circ] only), which Fourier regions are always missing?

ex06-density-compensation

Medium

(a) For Nv=12N_v = 12 views and Nf=8N_f = 8 frequencies, compute the Ewald arc sample positions on a 128×128128 \times 128 Fourier grid.

(b) Implement the Voronoi-based DCF: compute the Voronoi cell area for each sample point.

(c) Implement the iterative (Pipe-Menon) DCF with 20 iterations.

(d) Reconstruct a test object with and without the DCF. Compare PSNR and visual quality.

(e) Plot the DCF as a function of K|\mathbf{K}|. How does it compare to the theoretical ramp filter K|\mathbf{K}|?

ex07-nufft-reconstruction

Medium

(a) Implement gridding + FFT reconstruction using a Kaiser-Bessel interpolation kernel (W=6W = 6, oversampling α=2\alpha = 2).

(b) Implement NUFFT-based reconstruction using the finufft library (or equivalent).

(c) Compare both with direct summation on a 32×3232 \times 32 problem. Verify they produce the same result (within tolerance).

(d) Benchmark computation time for grid sizes N=32,64,128,256,512N = 32, 64, 128, 256, 512. At what NN does gridding become faster than direct summation?

(e) Vary the Kaiser-Bessel width W=2,4,6,8W = 2, 4, 6, 8 and measure reconstruction error vs. computation time.

ex08-born-validity

Hard

(a) Simulate scattering from a dielectric cylinder of radius aa and contrast χ\chi using the exact Mie series solution (2D).

(b) Compute the Born approximation prediction for the same cylinder.

(c) Plot the relative error EsexactEsBorn/Esexact\|E_s^{\text{exact}} - E_s^{\text{Born}}\| / \|E_s^{\text{exact}}\| as a function of the scattering parameter α=k0χa\alpha = k_0 |\chi| a.

(d) At what α\alpha does the Born error exceed 10%? 20%?

(e) Reconstruct the object using FDT + gridding with exact and Born data. At what α\alpha does the reconstruction PSNR drop below 20 dB?

(f) Compare with the Rytov approximation. For which objects is Rytov more accurate than Born?

ex09-near-field-tomography

Hard

(a) Simulate near-field scattering from 3 point scatterers using the exact Green's function (spherical waves) at f=10f = 10 GHz. Measurement array: 32 elements on a circle of radius 20 cm.

(b) Reconstruct using: (i) far-field FDT (plane-wave model), (ii) near-field model (spherical-wave back-propagation).

(c) Compute position error and PSNR for both methods.

(d) Vary the array radius from 10 cm to 2 m. Plot PSNR vs. distance for both methods. At what distance do they converge?

(e) Implement the NF-FF transformation for a planar measurement surface. Apply it to the near-field data, then reconstruct with the far-field FDT. Compare with direct near-field reconstruction.

ex10-multi-freq-synthesis

Hard

(a) Implement bandwidth synthesis: combine Nf=20N_f = 20 narrowband measurements at frequencies uniformly spaced from 8 to 12 GHz.

(b) Verify that the range resolution matches δr=c/(2W)=3.75\delta_r = c/(2W) = 3.75 cm for W=4W = 4 GHz. Place two point scatterers at varying separations and find the minimum resolvable separation.

(c) What happens if the frequency spacing exceeds c/(2D)=500c/(2D) = 500 MHz (for a 30 cm object)? Demonstrate range ambiguity.

(d) Add 10% random phase errors across frequencies (simulating oscillator drift). How does this affect the range resolution?

(e) Implement phase-error calibration using a single known reference scatterer. Show that the phase errors can be estimated and corrected.

ex11-resolution-analysis

Hard

(a) For the configuration: f0=10f_0 = 10 GHz, W=4W = 4 GHz, Nf=20N_f = 20, Nv=36N_v = 36 (full 360360^\circ), compute and plot the 2D PSF.

(b) Measure the 3-3 dB mainlobe width in range and cross-range. Compare with the theoretical predictions δr=c/(2W)\delta_r = c/(2W) and δcr=λmin/4\delta_{\text{cr}} = \lambda_{\min}/4.

(c) Measure the peak sidelobe level. Compare between Ram-Lak, Shepp-Logan, and cosine filters.

(d) Repeat for limited aperture: Δθ=30,60,120,180\Delta\theta = 30^\circ, 60^\circ, 120^\circ, 180^\circ. Plot resolution (range and cross-range) vs. aperture angle.

(e) Place two point scatterers at varying separations. Determine the minimum resolvable separation (Rayleigh criterion) for each configuration.

ex12-limited-angle-regularized

Hard

(a) Create a 64×6464 \times 64 scene with 5 objects (mix of point and extended targets). Simulate DT data with views limited to θ[0,90]\theta \in [0^\circ, 90^\circ], Nv=9N_v = 9, Nf=10N_f = 10, SNR=25\text{SNR} = 25 dB.

(b) Reconstruct with gridding + IFFT. Identify the artifact pattern and explain it in terms of missing Fourier data.

(c) Reconstruct with FISTA + 1\ell_1 regularization.

(d) Reconstruct with ADMM + TV regularization.

(e) Compare all three methods in PSNR and visual quality. Which best fills the missing Fourier data?

(f) Increase the aperture to 180180^\circ, then 360360^\circ. At what aperture does gridding match the regularized methods?

ex13-xlmimo-nearfield

Hard

(a) Model an XL-MIMO array with D=1D = 1 m aperture at 28 GHz (λ=1.07\lambda = 1.07 cm), 128 elements. Compute dffd_{\mathrm{ff}}.

(b) Place 5 point scatterers at range r=20r = 20 m. Simulate the received signal using the exact near-field Green's function.

(c) Reconstruct using: (i) far-field beamforming, (ii) near-field beamfocusing.

(d) Compute and compare the PSFs for both methods at ranges r=5,20,50,100,200r = 5, 20, 50, 100, 200 m.

(e) At what range does far-field beamforming become acceptable (PSNR within 1 dB of near-field)?

ex14-full-pipeline

Challenge

Build an end-to-end diffraction tomography imaging system:

(a) Scene: A 20×2020 \times 20 cm region with 3 dielectric cylinders (radii 1, 2, 3 cm; contrasts χ=0.1,0.2,0.3\chi = 0.1, 0.2, 0.3) plus 5 point scatterers.

(b) System: 24 Tx and 24 Rx on a 30 cm circular array. Frequency: 6--14 GHz, 32 stepped frequencies.

(c) Forward model: Born approximation with near-field Green's functions (the array is in the Fresnel zone).

(d) Reconstruction pipeline: (i) Compute coverage map and PSF. (ii) Gridding + IFFT with DCF (fast preview). (iii) FISTA + 1\ell_1 for sparse refinement. (iv) ADMM + TV for edge preservation of extended targets.

(e) Evaluation: PSNR, SSIM, and computation time for each stage.

(f) Sensitivity analysis: Vary SNR\text{SNR} from 10 to 40 dB. At what SNR\text{SNR} does gridding become acceptable (PSNR >20> 20 dB)? At what SNR\text{SNR} does regularization become essential?

(g) Near-field impact: Compare reconstruction with and without near-field correction. Quantify the PSNR loss from ignoring phase curvature.

ex15-fbp-cnn

Challenge

(a) Train a simple CNN (3--5 convolutional layers) to post-process FBP reconstructions from limited-view DT.

(b) Training data: Generate 500 random phantoms (random circles and rectangles), simulate DT data (Nv=12N_v = 12, Nf=10N_f = 10, SNR=25\text{SNR} = 25 dB), reconstruct with gridding. Pairs: (gridding output, ground truth).

(c) Evaluate on 50 test phantoms. Compare: (i) gridding alone, (ii) gridding + CNN, (iii) FISTA (1\ell_1).

(d) How does the CNN perform on out-of-distribution phantoms (e.g., phantoms with triangular objects, not seen in training)?

(e) Discuss: is this approach (physics initialization + learned refinement) more or less robust than end-to-end learning? Connect to the FBPConvNet paradigm.