Reconstruction Methods and Experiments¶
This section records the implemented baselines and diffusion samplers, the paper/public/LION-physics distinctions, acquisition geometry, schedule exceptions, backward-compatible identifiers, experiment counts, and unconditional-generation design.
Reconstruction methods¶
The matrix contains:
Method |
Summary |
|---|---|
|
Hann-filtered LION FDK baseline. |
|
TV reconstruction using LION’s Chambolle-Pock solver. |
|
ADMM with conjugate-gradient data updates and DRUNet denoising. |
|
Whole-image VE-DPS prior. |
|
Data-consistency updates with patch or whole-image Langevin sampling. |
|
VE predictor and Langevin corrector sampling. |
|
VE-DDNM approximate-null-space correction. |
|
Fixed overlapping patches averaged in overlap regions. |
|
Fixed overlapping patches written in order, with later patches overwriting overlaps. |
|
Randomly shifted PaDIS patch partitions inside VE-DPS. |
New commands, manifests, saved metrics, and output directories use cp_tv.
For backward compatibility, the inference and matrix CLIs also accept the old
admm_tv alias; hyperparameter selection and verification canonicalise old
saved method fields, and figure generation falls back to old admm_tv result
directories. The executed solver is Chambolle-Pock, so presentation code
labels it CP and tables report sampler CP with prior TV.
Unless stated otherwise, diffusion reconstruction uses 100 geometrically
spaced noise levels from sigma_max=10 to sigma_min=0.002, with 10 inner
updates per level. The 8-view experiment uses sigma_min=0.003.
Predictor-corrector instead performs one predictor and one corrector update for
each adjacent noise-level pair. Paper-style and LION-physics VE-DDNM use 1,000
levels and one update per level; Public-compatible VE-DDNM follows the released
implementation with 100 levels and 10 inner updates.
Three implementation tracks are used while keeping the LIDC images and LION fan-beam geometry fixed:
Aspect |
|
|
|
|---|---|---|---|
Intent |
Follow paper equations and sampler structure. |
Follow released helper behaviour. |
Use LION-native least-squares physics. |
Data update |
Paper residual-based rules. |
Norm-gradient DPS or public direct-adjoint rules. |
Least-squares gradient divided by the composed operator Lipschitz constant. |
Schedule |
Geometric. |
Geometric in the final matrix; literal EDM schedule remains an ablation. |
Geometric. |
Initialisation |
Gaussian for diffusion samplers. |
FDK for DPS/fixed-overlap DPS; Gaussian for helper samplers. |
Validation-selected by method. |
Predictor-corrector |
Corrector uses the next sigma and a fresh layout. |
Corrector uses the current sigma and reuses the predictor layout. |
Paper layout with LION-normalised data steps. |
VE-DDNM |
Paper |
Public |
Paper layout with LION FDK pseudoinverse. |
Public compatibility is formula-level because processed LIDC slices do not
contain the physical metadata needed to map them rigorously into the public
repository’s unitless ODL coordinate system. Public rows therefore use the same
LION geometry as every other row and retain calibrated public-matching gradient
scales (0.0405 for DPS and 0.1022 for direct-adjoint updates).
The lion_physics track removes those fixed scales. For a composed measurement
map F, it normalises diffusion data updates by ||F||_2^2, estimated by power
iteration. This is applied only to diffusion data consistency, not to FDK, TV,
or PnP-ADMM. All final VE-DDNM rows clip FDK pseudoinverse terms because the
unbounded sparse-view fan-beam approximation otherwise becomes non-finite.
Reconstruction experiments¶
Experiment |
Views |
Angular span |
Grid |
|---|---|---|---|
|
8 |
360 degrees |
256 x 256 |
|
20 |
360 degrees |
256 x 256 |
|
60 |
360 degrees |
256 x 256 |
|
20 |
120 degrees |
256 x 256 |
|
60 |
360 degrees |
512 x 512 |
Every experiment treats each axial slice independently using LION’s 2D tomosipo-based fan-beam operator and a 300 mm by 300 mm in-plane field of view. The detector has 900 bins across 900 mm, the source-to-origin distance is 575 mm, and the source-to-detector distance is 1,050 mm. Measurements are noise-free projections of normalised intensity, not calibrated attenuation. Consequently these experiments isolate angular undersampling and limited coverage; they do not model photon noise, scatter, beam hardening, motion, or cone-beam effects.
New outputs use the descriptive ct_20_limited_angle_120 identifier. The old
ct_fanbeam_180 name remains an accepted CLI alias, and verification, tables,
and figures can consume existing artefacts bearing that legacy name.
With method_default, paper_matrix, all methods, and all trained ablations,
the current manifest contains 109 reconstruction jobs: 65 core rows, 42
ablation rows, and 2 noise-conditioned PnP rows. Standard jobs use test indices
0-24. patch_average, patch_stitch, and all ct_512_60 jobs are capped at
indices 0-3 by default.
The gcp_spot order is:
Regular reconstruction rows.
Additional high-view VE-DDNM rows.
Noise-conditioned PnP rows.
Patch averaging, then patch stitching.
Native-resolution 512 rows.
The manual runner inserts unconditional generation after regular rows and
before the fixed-overlap/512 tail. Generation uses four samples, seed 33, 300
geometric levels from sigma=10 to 0.002, one inner step per level, and a
separately tuned Langevin coefficient and noise scale for each primary prior:
whole-image uses (epsilon, gamma)=(0.75, 0.75), randomly shifted PaDIS uses
(0.8, 0.85), and fixed patch averaging and stitching use (1, 1). The
pipeline also generates naive-patch and 300-evaluation Langevin diagnostic
presets needed by appendix figures. Both the GCP generation phase and the
cross-platform finaliser execute the authoritative named presets in
core/PaDIS_experiments.py; they do not duplicate these hyperparameters.
PADIS_GENERATION_EPSILON and PADIS_GENERATION_NOISE_SCALE may be set to
apply an explicit global diagnostic override, but are unset by default.