Skip to content

Latest commit

 

History

History
157 lines (123 loc) · 9.14 KB

File metadata and controls

157 lines (123 loc) · 9.14 KB

Validation

Monte Carlo settings: g4em-penelope electromagnetic physics with atomic de-excitation (fluorescence, Auger, PIXE) turned on; 0.05 mm production cuts. Reference systems: Siemens Symbia (NaI, 9.5 mm) and GE StarGuide (CZT, 7.25 mm).

1. Crystal energy response

Mono-energetic pencil beam into a large bare crystal slab, scored with TsEDepSpectrum (examples/component/energy_response.txt). The NaI response at 140.5 keV shows the expected structure:

  • Full-energy photopeak at 140.5 keV.
  • Iodine K-escape peak at ~112 keV (140.5 keV - 28.6 keV Kalpha).
  • Compton continuum terminating at the Compton edge (~49.8 keV predicted).

Photopeak-window efficiency (20% window, fraction of incident photons depositing within the window), from 10^6 photons:

Crystal 113 keV 140.5 keV 208 keV 218 keV 250 keV 440 keV
NaI 9.5 mm 0.944 0.862 0.545 0.505 0.400 0.149
CZT 7.25 mm 0.968 0.905 0.607 0.566 0.456 0.178

Trends are physical: efficiency falls with energy; CZT exceeds NaI at matched energy (higher density and effective Z despite the thinner crystal).

Note: Geant4 scores energy deposition. The CZT low-energy tail from incomplete charge collection (hole tailing / charge sharing) is a charge-transport effect and is not included; it is applied as a separate empirical model where required.

2. Distance-dependent geometric resolution

Point source at 5-30 cm in front of a TsParallelHoleCollimator + crystal (examples/component/collimator_detector_response.txt). The simulated point-spread width (FWHM) broadens linearly with source-to-collimator distance, as expected for a parallel-hole collimator.

Symbia LEHR at 140.5 keV (mm):

Distance 10 cm 15 cm 20 cm 30 cm
MC 5.3 7.3 9.3 13.3
Analytic 5.9 8.3 10.6 15.4

The MC point-spread width matches the analytic parallel-hole geometric-resolution expression across the full distance range, reproducing its linear distance-dependence and agreeing at the 10 cm reference distance to within a fraction of a millimeter.

Higher-energy lines broaden through septal penetration. For the Symbia high-energy collimator at 440 keV the core FWHM is 14.3 mm at 10 cm, but including the penetration wing the full width grows by ~70%.

3. Absolute system sensitivity

Isotropic point source + collimator + crystal, counts in the photopeak window divided by emitted decays (examples/system/symbia_lehr_sensitivity.txt). Symbia LEHR at 10 cm:

Quantity Value
Monte Carlo 8.6e-5 counts/decay
Published (5460 cpm/MBq) 9.1e-5 counts/decay
Ratio 0.95

This validates the full forward chain (collimator transport, crystal response and photopeak windowing) at absolute scale with no tuning.

4. Multi-system collimator sensitivity and septal penetration

The collimator presets in systems/ were checked by absolute planar sensitivity: an isotropic point source at 10 cm, a collimator sized wider than the crystal (so no photons bypass its edge), and photopeak-window (126.5-154.6 keV) counts divided by emitted decays. Each row is reproducible from a shipped deck (examples/system/<preset>_sensitivity.txt). Results are compared against an independent Monte Carlo characterization of the GE Discovery NM/CT 670 geometry (Sawant et al., J Nucl Med Technol 2025;53:30-35, SIMIND) and, for the Siemens Symbia LEHR, against the measured NEMA sensitivity.

99mTc (140.5 keV), counts/decay (5x10^7 histories, ~1.5% statistical):

Collimator OpenTOPAS-SPECT Reference Ratio
Siemens Symbia LEHR 8.6e-5 9.1e-5 (measured, section 3) 0.95
GE LEHR 9.15e-5 7.6-8.5e-5 (SIMIND) 1.08-1.20
GE MEGP 9.32e-5 7.4-8.3e-5 (SIMIND) 1.12-1.26
GE HEGP 1.09e-4 1.00e-4 (SIMIND) 1.09

Where a measured reference exists (Symbia LEHR, NEMA) the model agrees within ~5% (ratio 0.95), which anchors the absolute scale. The GE presets read ~10-25% above the SIMIND study, within the spread typical of SPECT Monte Carlo inter-comparisons. Decomposing that excess against an opaque-septa (geometric-only) reference separates two contributions:

  • Geometric hole efficiency (dominant). The geometric-only GE LEHR sensitivity (8.7e-5) already sits at the top of the SIMIND range before any penetration, so most of the gap is the open-area of the explicit hexagonal-hole geometry (open fraction [d/(d+t)]^2 = 78% LEHR, 55% MEGP, 48% HEGP) versus the reference collimator model, plus inter-code differences in window, backscatter, and the unmodeled crystal cover.
  • Septal penetration and collimator scatter (secondary). Adding the real lead septa raises the 140 keV sensitivity by 4.8% (LEHR, 0.2 mm septa), 2.9% (MEGP), and 2.7% (HEGP): small at the imaging energy but correctly ordered by septal thickness, which is what makes the low-resolution collimators read slightly higher than the high-resolution ones.

Septal penetration is strongly energy-dependent, and is exercised directly at 364 keV (131I), where a low-resolution collimator becomes penetration-dominated: the ratio of LEHR to HEGP sensitivity at 364 keV is 64.8 (OpenTOPAS-SPECT) versus 67.7 (SIMIND), confirming that penetration through the thin LEHR septa is transported correctly.

Geometric resolution: the analytic parallel-hole resolution computed from the encoded hole diameter and length, combined in quadrature with a typical NaI intrinsic resolution, reproduces the published planar FWHM within ~10% (GE LEHR 6.9 vs 7.2 mm, MEGP 9.0 vs 9.7 mm, HEGP 10.7 vs 12.1 mm at 99mTc).

All systems/ presets were additionally confirmed to build with no geometry overlaps and to score correctly for round, hexagonal, and square holes across the NaI and CZT/tungsten material sets (OpenTOPAS 4.2.p2 / Geant4 11.2.2).

5. Phantom-scenario consistency (activity where it should be)

The phantoms/scenarios/ presets were checked not only for building and emitting, but for physical correctness of the activity distribution. Each phantom was imaged in an anterior view by a numerical parallel-hole collimator: a phase-space plane just outside the torso records exiting photons, and only those travelling nearly perpendicular to it (direction cosine along the bore < −0.985) are kept, so a photon that survives that cut leaves the detector-plane position equal to its origin (x, z), giving a clean parallel projection that also carries the tissue attenuation. Three quantitative tests, all passed (OpenTOPAS 4.2.p2):

  • Localization, for every hot region across all four scenarios (~30 regions), the detected-signal centroid falls within 1–2 mm of the region's true (x, z) (method verified against a known point source: recovered 59.9/100.5 mm vs true 60/100 mm).
  • Left/right symmetry, mirror-image organ pairs with equal assigned activity produce equal detected counts: kidneys 0.97, salivary glands 0.973 (isolated high-statistics test, 500k emissions each). Wide-ROI apparent asymmetries traced to ROI contamination from a neighbouring lesion and to low-count fluctuation; the geometry itself was correct.
  • Attenuation ordering, detection efficiency (counts per emission) is lowest for the large, deep liver (~0.017) and rises monotonically for smaller, more superficial organs, as expected from self-attenuation and depth.

A full anterior projection of each scenario visually reproduces the intended hot pattern (kidneys, salivary glands, liver, lesions for 177Lu/225Ac PSMA; liver tumor + lungs for 90Y; heart, salivary, adrenal, bladder and tumor for 131I mIBG), each hot spot coincident with its source marker. 90Y's statistics are photon-starved by design (β → bremsstrahlung is low-yield), consistent with the case for variance reduction (variance_reduction.md).

6. End-to-end control experiment (sinogram consistency)

tests/control_experiment.py exercises the whole imaging chain against a closed-form answer. An off-axis point source (radial offset rho) is imaged over a 360 deg acquisition through a Symbia LEHR collimator with forced detection. The SPECT consistency law requires the projected position of the point to trace a sinusoid of amplitude rho versus view angle. The test decodes each view's weighted centroid and checks: (a) fitted sinogram amplitude equals rho, (b) per-view centroid follows rho*cos(phi) to sub-pixel residual, (c) counts are flat across views (uniform angular sensitivity for a source at fixed radius in vacuum).

Result (rho = 60 mm, 12 views, LEHR): fitted amplitude 60.0 mm (expected 60), max residual 0.5 mm (< one 4 mm pixel), count spread 0.0%, so the acquisition geometry, detector projection, forced detection, and multi-view motion are all correct end to end. The test exits non-zero on failure, so it can gate a release.