Evaluating Inverse Compton X-Ray Sources as Compact Alternatives to Synchrotron and Laboratory X-Ray Sources​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

Alexander M.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌​‌‌​‌‌‌‌‍‌​‌‍‌‌‌‍‍‌‌​‌‌‌‍‍‌‍​‌‌‍‌‌‍‌‌​‍​‍‌‌

 | 
BASIS Independent Silicon Valley ‘26

Advisor: Adams​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‌‌‍‌​‌‌‍‌‍‍‌‌​‌‍‌​‍​‍​‍‌‌
Internship Location: Remote​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍‍‌‌‍‍‌‌​‌‍‌‌‌​‍‌‍‍‌​‌‍‍​‌‍‍‌‌​​‌‌‌‍​‌‍‌‍​‌‍​‌‌‌​‌‍‍‌‌‍‌‍‍​‍​‍‌‌
Onsite Mentor: Balsa Terzic: Professor & Graduate Program Director, Department of Physics and Center for Accelerator Science at Old Dominion University​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍‌‍‍‌​‌‍‍‌‌‌​‌‍‌‌‌‌‌‍‌‌‍‌‌‌‍‍‌‌​‌‍‌​‍​‍​‍‌‌

My project explores inverse Compton scattering (ICS) x-ray sources and their role within modern x-ray science by comparing them to both conventional laboratory x-ray sources and large-scale synchrotron radiation facilities. While laboratory x-ray systems are widely used due to their accessibility, they are limited in tunability and spectral quality. Synchrotron facilities, on the other hand, provide extremely high brilliance and control but require large infrastructure and offer limited access. Inverse Compton x-ray sources present a potential middle ground, producing tunable, quasi-monochromatic x-rays from compact, laboratory-scale systems.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍‌‌‍‌‍‌‌‌​‍‌‌‍‌‍‍‌‌‍‌‌‌‌​‍​‍‌‌

To investigate this, I will conduct a combination of literature-based research and computational modeling. The research component involves analyzing and comparing key performance metrics, such as bandwidth, brilliance, tunability, cost, and accessibility, across laboratory x-ray sources, inverse Compton sources, and synchrotrons. In parallel, I will develop and modify a computational simulation inspired by compact Compton sources such as ThomX to model inverse Compton scattering and explore how system parameters influence x-ray output. The final product will include a written analysis synthesizing these comparisons and a simulation-based study demonstrating the physical behavior and capabilities of inverse Compton x-ray systems.

Project Blog

Post 1: Exploring the Potential of K-Edge Imaging with Simulated X-Ray Sources​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​​​​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

March 10, 2026

Medical imaging plays a critical role in modern healthcare, enabling physicians to detect diseases, monitor and administer treatments, and guide procedures. However, most conventional medical imaging systems rely on polychromatic X-ray sources, such as standard hospital X-ray tubes, which emit a broad spectrum of photon energies. While these systems are effective for many applications, their broad energy distributions limit their ability to isolate specific materials inside the body. One promising alternative approach involves K-edge imaging, a technique that takes advantage of sharp changes in X-ray absorption that occur at specific photon energies characteristic of particular elements. If an imaging system can precisely control the energy of its X-ray photons, it becomes possible to enhance the visibility of certain materials, such as contrast agents like iodine, within biological tissue. Inverse Compton Scattering (ICS) X-ray sources, which can generate narrow and tunable X-ray energy spectra, may offer significant advantages for element-specific medical imaging. This project investigates how the energy characteristics of different X-ray sources influence imaging performance, with a focus on the potential benefits of ICS-based K-edge imaging.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​​​​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

To explore this question, I am using Geant4 and TOPAS, which are particle-transport simulation frameworks widely used in radiation research, to model how X-rays interact with materials that represent biological tissue and contrast agents. Through these simulations, I aim to examine how imaging results differ when using a broad-spectrum X-ray source compared to a narrow, energy-tunable source similar to those produced through Inverse Compton Scattering. The central inquiry guiding this project is: How does the energy distribution of an X-ray source affect the effectiveness of K-edge imaging for detecting specific elements in a medical context? My hypothesis is that X-ray sources with narrower and more tunable energy spectra (like ICS sources) will produce stronger contrast near the K-edge of a target element, allowing for clearer identification and separation of materials than conventional polychromatic sources. By simulating these interactions and analyzing the resulting attenuation patterns, this project aims to provide insight into how newer ICS X-ray technologies may improve the capabilities of future medical imaging systems.

Post 2: First Steps into K-Edge Imaging​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​​‌​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

March 16, 2026

Over the past week, I focused on the technical setup required for my simulations and an exploration of the physics behind K-edge imaging. After spending significant time configuring the necessary tools and environments on Terminal, I successfully installed and set up the simulation frameworks Geant4 and TOPAS on my computer. These platforms are widely used in medical physics to model how radiation interacts with matter. Once the environment was running correctly, I began testing it by running example simulations included with the software. I first ran a basic radiation dose example provided by TOPAS (using a phantom material) to confirm that the simulation engine and visualization tools were functioning properly. After this initial success, I moved on to a more complex example involving a lung model. To better interpret the outputs of these simulations, I also began using Python to visualize the resulting data, which will eventually allow me to generate plots and images from my own experiments.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​​‌​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

I also continued researching the role of K-edge imaging in medical diagnostics. K-edge imaging is most effective for detecting high atomic number elements introduced into the body as contrast agents, such as Iodine, which produces a strong absorption jump at a specific photon energy. This property allows imaging systems to highlight the location of the contrast agent while reducing background interference from soft tissue. My project will investigate how emerging Inverse Compton Scattering (ICS) X-ray sources could improve this process. Unlike conventional hospital X-ray tubes, which produce broad polychromatic radiation through Bremsstrahlung emission, ICS systems can generate narrower and tunable photon energy spectra. Using Geant4 and TOPAS, I plan to simulate two types of imaging setups: a traditional polychromatic X-ray source and a narrow-band tunable source representing an ICS beam. By comparing how these sources interact with materials that represent tissue and contrast agents, I hope to determine whether ICS based systems offer noticeable and significant advantages for K-edge imaging. At this stage, I am continuing to refine the simulation, test different setups, and further my understanding of how these models can represent real medical imaging scenarios.

Post 3: Simulation Work Continued and Troubleshooting​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​​‍​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

March 25, 2026

Over the past week, I worked on developing my own simulation setup within the TOPAS and Geant4 framework. I moved past the given example setups and I created my own tumor-in-lung model with custom defined parameters and beam configurations. This code was housed in a "nano", which allowed me to run it through TOPAS/Geant4 using the topas command.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​​‍​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

Here is what the setup looks like:

# WORLD

s:Ge/World/Type = "TsBox"

d:Ge/World/HLX = 50 cm

d:Ge/World/HLY = 50 cm

d:Ge/World/HLZ = 50 cm

s:Ge/World/Material = "G4_AIR"

# LUNG

s:Ge/Lung/Type = "TsBox"

s:Ge/Lung/Parent = "World"

d:Ge/Lung/HLX = 20 cm

d:Ge/Lung/HLY = 20 cm

d:Ge/Lung/HLZ = 20 cm

s:Ge/Lung/Material = "G4_LUNG_ICRP"

# TUMOR

s:Ge/Tumor/Type = "TsBox"

s:Ge/Tumor/Parent = "Lung"

d:Ge/Tumor/HLX = 5 cm

d:Ge/Tumor/HLY = 5 cm

d:Ge/Tumor/HLZ = 1 cm

s:Ge/Tumor/Material = "G4_WATER"

d:Ge/Tumor/TransZ = 10 cm

# BEAM

s:So/Beam/Type = "Beam"

s:So/Beam/BeamParticle = "proton"

d:So/Beam/Energy = 150 MeV

s:So/Beam/Component = "World"

# Beam position

s:So/Beam/BeamPositionDistribution = "Flat"

s:So/Beam/BeamPositionCutoffShape = "Rectangle"

d:So/Beam/BeamPositionCutoffX = 2 cm

d:So/Beam/BeamPositionCutoffY = 2 cm

d:So/Beam/TransX = 0 cm

d:So/Beam/TransY = 0 cm

d:So/Beam/TransZ = -40 cm

# Beam direction

i:So/Beam/BeamDirectionX = 0

i:So/Beam/BeamDirectionY = 0

i:So/Beam/BeamDirectionZ = 1

# Angular spread

s:So/Beam/BeamAngularDistribution = "None"

# RUN CONTROL

i:Ts/NumberOfHistories = 10000

# SCORING

s:Sc/Dose/Quantity = "DoseToMedium"

s:Sc/Dose/Component = "Tumor"

i:Sc/Dose/NBinsX = 50

i:Sc/Dose/NBinsY = 50

i:Sc/Dose/NBinsZ = 1

s:Sc/Dose/OutputType = "csv"

s:Sc/Dose/IfOutputFileAlreadyExists = "Overwrite"

I was compiled this and ran it in terminal. I also began using python more to try to visualize my simulation outputs. I was able to get some simple graphs to generate using basic setups, which indicated python and matplotlib were running fine. However, when I moved onto my TumorInLung setup, I encountered a persistent issue, which was that the simulation repeatedly registered "zero histories", despite me explicitly defining thousands of histories in my input nano file (in essence, this meant the simulation registered 0 photons, despite the setup containing instructions to run it with 10000). The error looks something like this:

TOPAS run sequence complete.

Particle source Beam: Total number of histories: 0

Particle source Demo: Total number of histories: 0

I looked at multiple potential fixes, including adjusting beam parameters, configurations, and spatial separations between different parts, but the issue still remains unresolved. This debugging process has taken a while, and resolving this is my next step for the upcoming week.

In parallel with this coding work, I refined the conceptual direction of my project and expanded my scope to include CT scans, which also has relevance to K-edge imaging. My project is now more clearly focused on investigating how Inverse Compton Scattering (ICS) X-ray sources compare to conventional hospital X-ray systems, which typically rely on broad, polychromatic radiation. Using TOPAS/Geant4, I aim to evaluate whether ICS based sources, capable of producing narrower, more tunable energy spectra, can provide improved imaging performance and *reduced unnecessary radiation exposure* (lower overall dosage + less stray radiation). I also plan to include comparisons with CT imaging to better contextualize the potential advantages of ICS systems.

Week 5: Major Progress!​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​​​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

April 3, 2026

This week marked a major turning point in my project. I successfully resolved my prior issues with history counts, and generated my first graph!​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​​​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

Last week, I was running into a major issue with how TOPAS handled histories. Instead of producing dose data that was a function of x y and z positions, the program was only outputting a single summed dose value. This made it impossible to analyze how radiation was distributed across space. After troubleshooting (shoutout to Mr. Adams' guidance!) I identified and fixed the issue related to how histories were defined in my main nano file.

Once corrected, I reran the simulation using millions of histories. This time, the output file, Dose.csv, increased dramatically in size, from just a few bytes to hundreds of kilobytes, and more importantly, now contained detailed rows of data corresponding to spatial coordinates (x, y, z) and dose values. This confirmed that the simulation was now recording dose as a function of position, rather than as a single aggregate value. Hooray!

With the proper data finally in hand, I moved on to visualization. I wrote a Python script (plot_heatmap.py) that processes the Dose.csv file and generates a 2D heatmap of the dose distribution. After running the script, I successfully produced my first image, which showed how radiation is deposited across the simulated region that included an organ and a tumor.

With this progress update, I'd like to briefly go through the process of how I went from setup to final image, involving many steps of debugging and implementation.

First, I identified the issue with histories by carefully reviewing my TOPAS setup file in nano. The problem stemmed from how the simulation was configured to record events, or "histories". After correcting this, I ensured that the simulation was set to run with a sufficiently large number of histories and that scoring was properly defined across spatial bins.

Here is what my revised nano file looks like for my setup of choice -- a section of a human chest -- along with a brief breakdown of what each part means.

# ---------------------------------------------------------
# ICS HIGH-RESOLUTION K-EDGE SIMULATION
# ---------------------------------------------------------
i:Ts/NumberOfThreads = 0 # Uses all 10 threads detected on your machine
b:Ts/PauseBeforeQuit = "False"
b:Gr/Enable = "False"

This section is the basic set up of my nano file, telling TOPAS to use all available threads to generate data (essentially increases the speed at which it could run histories), and also prevents the program from randomly pausing.

# PHYSICS
sv:Ph/Default/Modules = 1 "g4em-standard_opt4"

This section tells TOPAS which physics model to use. In this case, I used the Geant4 EM physics list optimized for low-energy electromagnetic interactions.

# 1. MATERIALS - MANUALLY DEFINED TO BYPASS DATABASE ERRORS
i:El/H/AtomicNumber = 1
d:El/H/AtomicMass = 1.008 g/mole
s:El/H/Symbol = "H"
i:El/O/AtomicNumber = 8
d:El/O/AtomicMass = 15.999 g/mole
s:El/O/Symbol = "O"
i:El/I/AtomicNumber = 53
d:El/I/AtomicMass = 126.904 g/mole
s:El/I/Symbol = "I"

This section covers the main elements used in my simulation -- in this case, Hydrogen (H), Oxygen (O), and Iodine (I). Here, I have manually defined their atomic number, symbol, and also atomic mass to make sure TOPAS doesn't run into errors or confuse itself.

# --- New Material: Bone (Calcium focused) ---
i:El/Ca/AtomicNumber = 20
d:El/Ca/AtomicMass = 40.078 g/mole
s:El/Ca/Symbol = "Ca"

Above, I have defined the primary material for my Bone setup, which will be mainly comprised of Calcium (Ca). Its atomic number, atomic mass, and symbol are all defined manually.

# Define the Dilute Solution directly from elements (5% Iodine, 95% Water)
sv:Ma/IodineSolution/Components = 3 "H" "O" "I"
uv:Ma/IodineSolution/Fractions = 3 0.1055 0.8445 0.05
d:Ma/IodineSolution/Density = 1.05 g/cm3

This section represents a solution of Iodine in water. Recall, I covered in previous posts that k-edge imaging requires a contrast agent that helps highlight the tumor when undergoing imaging. Iodine is a common contrast agent used in real-life medical imaging, and for my simulation, I will be utilizing a solution of 5% Iodine and 95% water. The solution's element components, mol fractions, and density are included.

# Define a simple Lung (Water-equivalent density for geometry stability)
sv:Ma/MyLung/Components = 2 "H" "O"
uv:Ma/MyLung/Fractions = 2 0.11 0.89
d:Ma/MyLung/Density = 0.26 g/cm3
# Define a simple bone
sv:Ma/MyBone/Components = 3 "Ca" "O" "H"
uv:Ma/MyBone/Fractions = 3 0.40 0.40 0.20
d:Ma/MyBone/Density = 1.85 g/cm3

This section follows a similar format as the above, in which the compositions of my sample lung and sample bone are defined. It includes the elements in each material, their mole fractions, and also density.

# 2. GEOMETRY
d:Ge/World/HLX = 10. cm
d:Ge/World/HLY = 10. cm
d:Ge/World/HLZ = 10. cm
s:Ge/World/Material = "Air"

The Geometry section defines the shapes, sizes, and positions of objects I use. "World" as shown above refers to the total simulation space, which is filled with air.

# --- New Geometry: The Rib ---
s:Ge/Rib/Type = "TsBox"
s:Ge/Rib/Parent = "Lung"
s:Ge/Rib/Material = "MyBone"
d:Ge/Rib/HLX = 0.2 cm
d:Ge/Rib/HLY = 1.0 cm
d:Ge/Rib/HLZ = 1.0 cm
d:Ge/Rib/TransX = 1.5 cm # Placed to the side of the vessel

These lines represent a setup of the ribs (basically a surface section of the chest).

# The Hook for the beam
s:Ge/BeamPositioner/Parent = "World"
s:Ge/BeamPositioner/Type = "Group"
d:Ge/BeamPositioner/TransZ = -8. cm

This acts as a holder for the beam, ensuring it's positioned correctly and precisely.

# The Phantom
s:Ge/Lung/Type = "TsBox"
s:Ge/Lung/Parent = "World"
s:Ge/Lung/Material = "MyLung"
d:Ge/Lung/HLX = 5. cm
d:Ge/Lung/HLY = 5. cm
d:Ge/Lung/HLZ = 2. cm

This section represents the lung setup. This, along with the ribs setup above, completes a model for a portion of the human chest. Notice that these setups all contain the type of shape (box), where it's located (world), the material (lung), and it's precise coordinates (HLX HLY HLZ).

# The Vessel: Dilute Iodine Solution
s:Ge/Vessel/Type = "TsCylinder"
s:Ge/Vessel/Parent = "Lung"
s:Ge/Vessel/Material = "IodineSolution"
d:Ge/Vessel/RMax = 0.1 cm
d:Ge/Vessel/HL = 1.0 cm
s:Ge/Vessel/Color = "Yellow"

This section is a simulated cylinder representing the iodine filled vessel (will be apparent on the simulation image).

# 3. MONOCHROMATIC ICS SOURCE
s:So/ICS/Type = "Beam"
s:So/ICS/Component = "BeamPositioner"
s:So/ICS/BeamParticle = "gamma"
d:So/ICS/BeamEnergy = 30.0 keV # Change to 30.0 keV for comparison run
s:So/ICS/BeamShape = "Rectangle"
d:So/ICS/BeamWidthX = 2. cm
d:So/ICS/BeamWidthY = 2. cm
s:So/ICS/BeamPositionDistribution = "Flat"
s:So/ICS/BeamPositionCutoffShape = "Rectangle"
d:So/ICS/BeamPositionCutoffX = 2. cm
d:So/ICS/BeamPositionCutoffY = 2. cm
s:So/ICS/BeamAngularDistribution = "None"
i:So/ICS/NumberOfHistoriesInRun = 1000000

This entire section defines the beam parameters. It shows beam details like size, energy, positioning, and also the number of histories I will run.

# 4. HIGH-RES SCORING
s:Sc/Dose/Quantity = "DoseToMedium"
s:Sc/Dose/Component = "Lung"
s:Sc/Dose/OutputType = "csv"
i:Sc/Dose/XBins = 100
i:Sc/Dose/YBins = 100
i:Sc/Dose/ZBins = 1
s:Sc/Dose/IfOutputFileAlreadyExists = "Overwrite"

This final section is for scoring, which records the dosages received. It is "binned" (contained) in a 100x100x1 grid. Lastly, "Overwrite" means that if there is already an existing file, it will be replaced as you run the simulation again.

With the nano file ready, I could run the save command (control O + enter + control X). I was then able to run the TOPAS command using "topas TopasBone" (topas is the command to run the simulation, and TopasBone is the name I gave the file).

This step executes the full Monte Carlo simulation. The terminal output provides useful information, including the number of histories processed and confirmation that the scorer has written results to Dose.csv. I will cover below what that looks like.

Immediately after running, TOPAS will output a lot of the information about the setup, including copyright information for TOPAS, beam parameters, etc, and also effects like Coulomb scattering, which I won't include here for sake of saving space.

Afterwards, TOPAS begins running histories. I will include a section below of what that looks like:

In this screenshot, you can see a small snippet of what the setup information looks like, and also how TOPAS runs histories. Remember earlier that I mentioned different "threads" that TOPAS will use -- well, here it's apparent why those are useful. These different threads help generate data in a parallel-processing manner, which greatly reduces the overall time taken. In fact, 1 million histories only takes roughly 10 seconds to run!

After all histories have run, TOPAS will output this final section before ending, in which it shows 1 million histories run, and that results have been sent to Dose.csv, a file for storing the data from the simulation run.

Apologies for the low image quality :(

Once the simulation completed successfully, I shifted to the Python portion. The purpose of this step is to transform raw numerical data in the Dose.csv file into a visual format that can be analyzed and interpreted. Using libraries such as Numpy, Pandas, and Matplotlib, the script reads in the CSV file, reshapes the data into a 2D grid (based on the binning defined in TOPAS), and displays it as a heatmap.

Below is what the python script looks like (plot_heatmap.py):

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# -----------------------------
# Load the TOPAS Dose.csv file
# -----------------------------
data = pd.read_csv('Dose.csv', comment='#', header=None)
# Get the last column (Dose) and reshape to 100x100
dose_map = data.iloc[:, -1].values.reshape((100, 100))
# -----------------------------
# Plot the heatmap
# -----------------------------
plt.figure(figsize=(8, 6))
plt.imshow(dose_map, origin='lower', cmap='hot', interpolation='nearest')
plt.colorbar(label='Dose (Gy)')
plt.title('TOPAS 100x100 Dose Heatmap')
plt.xlabel('X bin')
plt.ylabel('Y bin')
plt.show()

Before running the Python script, I needed to set up a virtual environment. This ensures that all required libraries are installed and isolated from the system Python installation. I then activated the environment, and checked that terminal's messages included a (myenv) in front, indicating successful activation. After installing the necessary packages, I executed the command "python3 plot_heatmap.py", which ran my python script to generate a heatmap.

And finally, after 1444 words in this lengthy blog post, we reach the "punchline":

The above heatmap shows radiation dose on a 100x100 grid. The large yellow square represents the chest area that I tested on, and the small bright yellow rectangle on the right side is the tumor. This grid shows the radiation dose received by different parts of the area, and it's evident that this ICS setup delivers a very strong dose to the tumor, and a much lower dose to the surrounding healthy tissue.

Looking ahead, I plan to focus on a few things.

First, I plan to test different simulation setups, including variations in geometry, materials, and beam energies, to better understand how these factors influence dose distribution.

I also aim to develop a different kind of graph, a line plot that shows dosage and highlights the K-edge effect.

And lastly, I will begin working on my final slides in preparation for the presentation in May.

More to come next week :)

Post 5: Weekly update - Major progress​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‌​​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

April 22, 2026

This week marked a significant step forward in my project, as I transitioned from generating visual dose distributions to extracting and interpreting quantitative trends from my simulations.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‌​​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

A little while back, I successfully generated a 2D Heatmap showing the doses of radiation on my 100x100 chest-tumor model. In that heatmap, you could clearly see the region that contained the chest area, a small and very bright rectangle that was the tumor, and some scattered dose that shows stray radiation. Though this setup was very effective at displaying how radiation was distributed, I wanted to also visualize the k-edge effect that I am studying. To do this, I settled on generating a line graph that could capture how dose varies across a specific spatial axis.

The goal of this graph was to isolate and analyze the k-edge effect. To do this, I compared simulations run at two different photon energies. The first one was 30 keV which is just below the k-edge of iodine (the contrast agent used in my simulation), and one at 33.2 keV, which is on the k-edge of iodine. In theory this comparison should reveal a noticeable difference in attenuation within the iodine containing region, and also appear clearly on the line graph.

Here’s what I did to generate the graph, and also how it went.

First, I went into my TopasBone nano file, the setup file that contained all the details ranging from materials, to beam parameters, and more. The TopasBone file itself didn’t require much change, but I started by setting the beam energy in the beam configuration section to 30 keV, which is just below iodine’s k-edge. Then, I ran the simulation, and after 1 million histories, saved my results to the default Dose.csv file. Now, in order to run two different energies, I had to transfer the data saved in the Dose.csv file to a different file, one I named Dose_30.0_Bone.csv. Doing this essentially stores my 30 keV data in a separate file, and allows me to carry out the same thing with a different energy. So, I went back to my TopasBone nano file, changed the beam energy to 33.2 keV, and ran it again, saving this one to Dose_32.2_bone.csv.

For some reference, the beam parameter section in my TopasBone file looks like this:

The line titled d:So/ICS/BeamEnergy manages the beam energy.

After running the TopasBone setup file through topas twice, each with different energies, I now had data for both energy levels. I was then able to move onto my line graph.

To setup my line graph, I had to change my python3 file that plotted my data, make it process data from both files, and plot it. I wanted one continuous image that contained the heatmap on the left and the line graph on the right, so I kept my previous code for the heatmap and added on a new section

Here is what that section looks like:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import LogNorm
def load_topas_data(filename):
"""Loads TOPAS CSV output and reshapes to 100x100 grid."""
data = pd.read_csv(filename, comment='#', header=None)
dose = data.iloc[:, -1].values.reshape((100, 100))
return dose
# -------------------------------
# LOAD DATA
# -------------------------------
dose_30 = load_topas_data('Dose_30.0_Bone.csv')
dose_33 = load_topas_data('Dose_33.2_Bone.csv')
# -------------------------------
# PRECHECK
# -------------------------------
print("\n--- PRECHECK ---")
print("Max dose 30 keV:", np.max(dose_30))
print("Max dose 33 keV:", np.max(dose_33))
# -------------------------------
# CALCULATE K EDGE SUBTRACTION
# -------------------------------
subtraction_map = dose_33 - dose_30
# -------------------------------
# PLOTTING
# -------------------------------
fig, axes = plt.subplots(1, 2, figsize=(16, 6))
# --- HEATMAP ---
im = axes[0].imshow(
dose_30.T,
cmap='magma',
origin='lower',
norm=LogNorm(
vmin=max(dose_30[dose_30 > 0].min(), 1e-20),
vmax=dose_30.max()
)
)
axes[0].set_title("2D Dose: 30.0 keV (Below-edge)")
fig.colorbar(im, ax=axes[0], label='Dose (Gy)')
axes[0].set_xlabel("X-bins")
axes[0].set_ylabel("Y-bins")
# --- LINE PROFILE ---
x_bins = np.arange(100)
profile_30 = dose_30[50, :]
profile_33 = dose_33[50, :]
profile_sub = subtraction_map[50, :]
axes[1].plot(x_bins, profile_30, label='30.0 keV (Below Edge)', color='blue', alpha=0.6)
axes[1].plot(x_bins, profile_33, label='33.2 keV (On-Edge)', color='red', linewidth=2)
axes[1].plot(x_bins, profile_sub, label='Difference (33 - 30)', color='green', linestyle='--')
axes[1].set_title("1D Cross-Section (Dose)")
axes[1].set_xlabel("X-bins")
axes[1].set_ylabel("Dose (Gy)")
axes[1].legend()
axes[1].grid(True, alpha=0.2)
plt.tight_layout()
plt.show()
# -------------------------------
# OUTPUT STATS
# -------------------------------
print("\n--- KEY VALUES ---")
print(f"Center (30 keV): {profile_30[50]:.4e} Gy")
print(f"Center (33 keV): {profile_33[50]:.4e} Gy")
print(f"Difference: {profile_sub[50]:.4e} Gy")

After fixing this file, called plot_all.py, I was able to run it and generate two graphs. See below:

The graph on the left side shows the heatmap that I covered before. On the right hand side, you can see the dose plotted on a line graph. On the line graph, you can see three distinct lines. The first line is the 30 keV line, which represents dose received when the beam energy is set at just below iodine’s k-edge energy level. The second line is the 32.2 keV line, which shows the dose received when the beam is set at exactly iodine’s k-edge energy level. Finally, the last line shows the “k-edge subtraction”, i.e. the difference between the two. The graph displays dose (measured in Grays or Gy) on the y axis and x-bins on the x axis.

At this point I was happy with the result, but two burning things remained in my mind. First, my intuition told me that dose should be higher in the 33.2 keV line, as that’s right on iodine’s k-edge (spoiler, I was wrong). I wanted to investigate this further and maybe try fixing the graph if it was incorrect. Second, I noticed the graph was quite messy outside the chest area (see the random zigzagging lines). I also wanted to clean up the graph.

I started experimenting with different things. I began changing various parameters for the line graph, and tried troubleshooting in many ways, but nothing was successful; my graph always showed the 33.2 keV line as being lower than the 30.0 keV line. However, after further research, I discovered the graph was never wrong to begin with.

For k-edge imaging, the quantity that matters is attenuation, which describes how strongly a material absorbs or interacts with incoming X-rays. K-edge imaging works by exploiting the fact that certain elements, like iodine, suddenly absorb much more radiation once the photon energy passes a specific threshold (their k-edge). This makes attenuation especially useful because it tells us how well we can distinguish one material (like a tumor with contrast agent) from surrounding tissue. However, in my simulations I am not measuring attenuation directly; instead, I am measuring dose, which is the amount of energy actually deposited in the material. These two quantities are related but not identical. Attenuation tells us how likely photons are to interact, while dose tells us how much energy those interactions leave behind.

With that in mind, my results make sense. At 33.2 keV, the k-edge energy level, iodine absorbs X-rays much more strongly, so attenuation is higher in the tumor region. This leads to a higher dose inside the tumor, because more energy is being deposited there. However, because more photons are being absorbed in that region, fewer photons continue traveling through the rest of the tissue, which results in a lower dose everywhere else compared to the 30.0 keV case. At 30 keV (below the K-edge), iodine absorbs less, so more photons pass through the entire region, spreading the dose more evenly. This is why the 33.2 keV curve appears lower than the 30 keV curve outside the tumor, but higher within it. Overall, this pattern is exactly what I should expect.

Regarding the messy-graph issue, I realized that the graph’s scale was set to powers of 10, making tiny fluctuations in dose outside of the chest-area seem larger than they actually are. I resolved this by setting the y-axis ticks to being linear in intervals of 10^-8. This cleaned up my graph a lot.

My finalized graph is as follows.

This new graph, recolored for aesthetic purposes, clearly shows the 33.2 keV dose line being lower than the 30.0 keV line, everywhere in the chest region except for within the tumor. The radiation outside of the chest region, as seen on the line graph, is also noticeably lower than within the chest region. This helps demonstrate the reduction of stray radiation coming from an ICS-like source.

Furthering my work, I started comparing the 33.2 and 30.0 keV heatmaps to check if the tumor’s absorbed dose was really higher at the k-edge energy level than below it. The line graph suggested this, but I had to make sure the heatmap matched up. To do this, I ran the TopasBone setup through topas twice, varying the energy across the two tests.

Here are the two heatmaps I got, put side-by-side for comparison.

As you can see, the 33.2 keV run shows a brighter tumor area, indicating a higher dose received. Everything seems to check out!

In addition to refining my ICS-based simulations, I also began exploring the possibility of modeling a polychromatic X-ray source to better represent conventional hospital imaging systems. This proved to be more challenging than expected. Unlike the monochromatic beam used in my ICS simulations, a polychromaticsource requires defining a distribution of photon energies, which introduces additional complexity in the simulation setup. My initial attempts did not produce great results. I have included some of them below:

One of these attempts shows a narrow band of received dose, which doesn’t seem correct. My other two, run with 1 million and 20 million histories, show scattered radiation across the entire 100x100 area. Though this result seems somewhat consistent with what I’d expect from a polychromatic source, I’m still verifying the result before including it in my final presentation.

Lastly, I’ve been working on slides and polishing them, preparing for presentation day.

More updates to come!

Post 6: #6: Refinement and Review​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‌‌​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

May 1, 2026

This week focused on touching up my data analysis and preparing for the final presentation.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‌‌​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

I experimented with re-plotting my line graph using y-bins instead of x-bins to better understand how dose varies across a different spatial axis. The resulting graph behaved as expected and confirmed the consistency of my simulation outputs. Though I expected a higher peak around the middle of the line graph (where the tumor was), along with the 33.2 keV line surpassing the 30.0 keV line, I didn’t really notice that. This was likely due to the way y-binning worked. It essentially did integrations along the y axis, meaning the higher dose to the tumor area would be insignificant once the integration is done. On the contrary, this was noticeable on my x-bin graph because the integration was done in horizontal strips, which meant it cut through the tumor area down its long axis.

I have included the graph below:

The y-bin graph did not reveal any substantial new insights beyond what was already observed in the x-bin analysis, so I decided to keep my original graph for relevance in my final results. In parallel, I finalized the content of my presentation slides. I made the content more brief, included properly labeled images, and updated my citations. I did some self-practice, and I also conducted a full practice run with my external advisor, which was extremely helpful. As of now, my presentation pace seems to be solid, running around 12 minutes in length.

At this stage, I look forward to further practicing my presentation and working on designing nicer slides.

Post 7: #7: Review of ICS and K-Edge imaging​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‌‍​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

May 7, 2026

This week, I’d like to take a step back and talk more about the physics behind my project, specifically how Inverse Compton Scattering (ICS) actually works and why it is so powerful for medical imaging. At a glance, ICS is actually quite simple. It involves a low-energy photon (from a laser) colliding with a very high-energy electron. During this collision, the photon “steals” energy from the electron and gets boosted into the X-ray range. In more technical terms, the photon is scattered in roughly the same direction as the electron and emerges with much higher energy. This process is very special because it allows you to precisely control the energy of the output X-ray beam. By adjusting the energy of the initial electrons or the laser, we can precisely tune the energy of the resulting X-rays. This is very different from traditional X-ray tubes, which are polychromatic (meaning their radiation has many different wavelengths). ICS produces a narrow, near single energy beam (monochromatic), which is needed for advanced imaging techniques like K-edge imaging.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‌‍​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

An ICS source/device is essentially a combination of two major systems– a particle accelerator and a high-power laser. The accelerator speeds electrons up to near the speed of light (hence you might hear the term “relativistic electrons”), while the laser provides a stream of photons for collision. These systems meet at a carefully controlled interaction point, where collisions occur between the photons and electrons at a 180 degree angle for maximum energy transfer. X-rays are generated. Despite sounding very large, modern ICS systems are quite compact compared to alternatives like synchrotrons. Some designs can fit into the size of a large room. In terms of cost, ICS systems are still expensive, being in the range of a few million dollars. However, they are dramatically cheaper than synchrotrons. Because of this, ICS is becoming more accessible, and the number of systems worldwide has been steadily increasing, with several research facilities – like ThomX – already operational in Europe and elsewhere. Still, they are not yet common in hospitals.

Now I’ll talk a bit about why ICS is important, and I’ll look through the lens of the photoelectric effect. At the energies relevant to medical imaging (roughly 20-50 keV), the photoelectric effect is prominent. This happens when an X-ray photon is completely absorbed by an atom and ejects one of its inner shell electrons. The probability of this happening depends very strongly on both the energy of the photon and the atomic number of the material. As photon energy increases, the likelihood of absorption generally decreases. However, at certain energies, called K-edges, there is a sudden jump in absorption. This happens because the photon now has exactly enough energy to eject an electron from the innermost orbital. This sharp jump is taken advantage of in K-edge imaging.

K-edge imaging utilizes contrast agents such as iodine, which has a K-edge of about 33.2 keV. When a beam is tuned just below this energy, the iodine does not absorb strongly. When the energy is tuned right at the K-edge, absorption increases dramatically. By comparing images taken at slightly different energies, it becomes possible to isolate where the iodine is located in the body. This is extremely useful in medical imaging because iodine is often used to highlight blood vessels or tumors. Essentially, K-edge imaging allows you to “see” the contrast agent separately from surrounding tissue.

Post 8: 8: How Inverse Compton Scattering Sources Work and Applications​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‌​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

May 14, 2026

This week, I’m going to cover how real-world Inverse Compton Scattering (ICS) facilities operate and why they are becoming increasingly important. At first glance, an ICS source can seem extremely complicated because it combines concepts from accelerator physics, lasers, electromagnetism, and nuclear physics. However, the mechanism behind it is pretty simple. A low energy photon collides with a very high-energy electron, and as a result, the photon gains energy and becomes an X-ray photon.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‌​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

A real ICS system typically contains several major components. First, there is an electron accelerator, which speeds electrons up to velocities close to the speed of light (hence, the term “relativistic electrons” is often used). These accelerators are usually linear accelerators, also called linacs. The second component is a laser system, which generates a beam of low-energy photons. Inside the ICS device, the electron beam and laser beam are directed toward each other so they collide head on. During this collision, the photons scatter off the electrons and gain enormous amounts of energy through the Inverse Compton Scattering process. The resulting photons emerge as high-energy X-rays traveling primarily in the forward direction.

Beyond medicine, ICS sources have a wide variety of applications. In biomedical imaging, they can improve techniques such as K-edge imaging and high-resolution scanning. In cancer detection, this could allow tumors to be identified more clearly and at earlier stages. In vascular imaging, contrast agents could be visualized with greater precision while reducing patient dose. Some researchers are also investigating whether ICS systems could contribute to radiation therapy by delivering more targeted beams.

ICS systems are also valuable in materials science and engineering. Researchers use tunable X-rays to study crystal structures, material defects, stress patterns, and chemical compositions. Since the beam energy can be selected very precisely, scientists can isolate specific interactions within materials. Similar techniques are used in industrial inspection and security scanning, where monochromatic beams can help distinguish between different substances more effectively than conventional X-ray systems.

Post 9: #9: Comparing ICS sources with Conventional X-Rays and Synchrotrons​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‍​​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

May 16, 2026

In this post, I’d like to compare three major types of X-ray sources most relevant to my project: conventional laboratory/hospital X-ray tubes, synchrotrons, and Inverse Compton Scattering (ICS) sources. Although all three generate X-rays, they do so in very different ways and each has its own strengths and limitations.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‍​​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

Conventional X-ray tubes are by far the most common type of X-ray source used in hospitals today. These work by accelerating electrons into a metal target, producing X-rays through a process called Bremsstrahlung radiation. These systems are very practical. They are relatively inexpensive, compact, and widely available. However, they also have important limitations. Conventional X-ray tubes produce a broad polychromatic spectrum, meaning the beam contains many different photon energies at once. Many of these photons are not useful for imaging and can contribute unnecessary radiation dose to healthy tissue. In addition, because the beam energy is spread out, these systems are not ideal for techniques such as K-edge imaging, which require very precise energy control.

At the other extreme are synchrotrons, which are often considered the gold standard for advanced X-ray research. Synchrotrons accelerate electrons around very large circular storage rings at nearly the speed of light. As the electrons are bent by magnetic fields, they emit extremely bright and tunable X-rays. These facilities can produce very high-quality beams with excellent brightness, stability, and energy control. Because of this, synchrotrons are widely used in advanced imaging, materials science, chemistry, and biology research. However, synchrotrons also have major disadvantages. They are extremely large, expensive, and difficult to access. Many synchrotron facilities occupy entire buildings and cost upwards of hundreds of millions.

ICS sources are in between these two ends. Like synchrotrons, ICS systems can produce tunable and nearly monochromatic X-rays. However, they are much smaller and more compact. Instead of using a massive storage ring, ICS systems generate X-rays by colliding a laser beam with a high-energy electron beam. During the collision, the photons gain energy and become X-rays. One of the biggest strengths of ICS is the ability to produce narrow-energy beams that are well suited for K-edge imaging. Since the energy can be tuned very precisely, the beam can be matched to the K-edge of a contrast agent such as iodine. This improves contrast and can reduce unnecessary radiation exposure to surrounding tissue.

Post 10: Reflection Blog​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‍‌​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

May 20, 2026

This project felt more like a research project than a school project. I learned various skills during my coding and refinement. I first learned how to code using Terminal. Before, I had never known Terminal was even a thing. Python had been my go-to coding method. In essence, Terminal is a way for you to code with direct access to your files. I was also introduced to various tools that could aid me, like Jupyter Notebook (thanks Luke :P). I learned to work with a complex Monte Carlo simulation framework - Geant4. This was made by CERN so a lot of the code involved was way above my prior level of expertise. Setting this up with TOPAS was definitely a unique experience. I had never thought setting up code would be harder than actually coding something!​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​‍‌​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

While doing the project, I picked up various techniques. I learned how to create files in Terminal, make directories, cd, ls, and more. I also was able to incorporate python into Terminal. With python, I discovered how to generate heatmaps and also line graphs, transforming a pure data set into a new one with dimensions of my choice, which I could then alter and graph. I have also learned a lot of things relating to the topic itself. I looked into the physics behind Inverse Compton Scattering, and realized the potential for Inverse Compton Sources in today’s world, in areas like material science and industry, but more importantly in medical imaging.

I enjoyed the mentorship process in this project. I was able to meet the wonderful Dr. Balsa Terzic, who shared his expertise in the field of accelerator physics. He helped guide my first steps into this project, and worked alongside me throughout. While I was building my own setups, he was also on his own computer, running Geant4 and TOPAS, building a different setup. We were able to exchange code and ideas, and troubleshoot together. Mr. Adams was also a great help. He was always there to check in with me, to make sure things were going smoothly. He gave me the most useful advice, and the best questions that made me realize what steps I could take to improve my research, or what gaps I had to fill in.

Looking forward, I expect to continue doing work on this topic in college. There is plenty left to explore, more advancements to be made, and a lot of promise in this area of medical physics.

Post 11: 10: Results Breakdown​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​​‌​​​​‍‍‌‍‌‍‌‌‌‌‍​‌‍​‌‌‌‌​‌‍‍‌‌‌​‌‍​‌‍‌‌​‍​‍‌‌

May 20, 2026

The following is an analysis of my results.​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍‌‍‍​‌‌​‌‌​‌​​‌​​‍‍​‍​‍‌‍​‍‌‍​‌‌​‌‍‍‌‌​​‍‍‌‍​‌‌‍‌​‌‍‌‌‍‍‌‌‍‍​‍‍‌‍‌​‌‍​‌‌‌​‌‍‌‍​‌‍‌‌​​‍‍‌‍​‌‍‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​‌‍‌​‍​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌‌‌‌​‌‍‌‌​​‌‍‌‌‌​​‍‌‌‍​​‍‌‌​‌‌‌‌‌‌‌‌​‌‌‌​​‌​‍‌‌​‌‌​‌​‍‌​‌​‌‌‍‍‌​‌​​‌‌‌‌‌​‌‌‍‍‍‌‍‌‌‌‌‌‌‌​‌‌​‌​‍‌‍‍‌‌‌​‌‍‌‌‌‍‌‌​​‍‌‌‍‍‌‌‍​‌‍‌​‌‌‌​‌‌‌​‌‌‌​​‍‌‌‌‌​‌‌‍‍‌​‌‌‌‍‍‌‌​‌‌‍‌‌‍​‌​‍‌‍‌‍‌‍‌‍‌‌‌‌‍‍​‌‍‌​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍​‌‍‌‍‌‍‍‌‌‍‌‌‌‍​‌‍‌​‌‌​​‌‍​‌‌‌​‌‍‍​​‌‌‍​‍‌‍​‌‍‌‍‌‌‌‌​​‌‍‌​‌‌​‌​​‍‍​​‌​​​​‍‍‌‍​‌‌​‍‌‌​‌‍‍‌‌‍​‌‍​‌‍‌‌​‍​‍‌‌

Two-dimensional dose heatmaps generated from the Monte Carlo simulations revealed clear differences between the 30.0 keV and 33.2 keV beam energies. In both simulations, dose deposition patterns generally followed the geometric structure of the phantom. However, the most significant differences appeared within the iodine-filled tumor region.

At 30.0 keV, dose deposition within the tumor region remained only moderately elevated relative to surrounding tissue. Although iodine attenuation was still present below the K-edge threshold, the enhancement was comparatively weak and exhibited limited contrast separation from nearby anatomical structures.

In contrast, the 33.2 keV simulation demonstrated substantially stronger localized dose deposition within the iodine-filled tumor. The enhancement appeared spatially confined to the tumor boundaries and produced a visibly brighter region within the heatmap compared to the surrounding tissue background. This increase is consistent with the abrupt rise in photoelectric absorption that occurs when photon energy reaches the iodine K-edge.

Representative heatmaps for both beam energies are shown above. The enhanced localization observed at 33.2 keV suggests that monochromatic beams tuned to the iodine K-edge can selectively amplify attenuation within iodine-containing structures while preserving comparatively stable background tissue response.

Below is a side by side comparison of the two, highlighting the difference between the two heatmaps:

Outside the tumor region, surrounding soft tissue and lung regions exhibited relatively small differences between the two beam energies.

To quantitatively examine localized attenuation behavior, one-dimensional line profiles were examined. These profiles provided spatial comparisons of dose deposition as a function of position for both beam energies.

The stronger peak observed in the 33.2 keV run, at the coordinate of the tumor, indicates increased photoelectric interaction probability within iodine at the K-edge energy. Because the surrounding tissue profile remained comparatively unchanged, the relative tumor-to-background contrast increased significantly under K-edge conditions.

The above image presents the extracted line profiles for both beam energies. The enhanced peak localization observed in the on-K-edge simulation (notice where the lines intersect and switch positions) further supports the effectiveness of energy-selective monochromatic imaging for improving contrast-agent visibility. To put it simply, in the area of the tumor (where the lines intersect), the 33.2 keV beam caused the iodine-containing tumor to absorb radiation more strongly, showing that K-edge imaging conducted with a contrast agent and an ICS based beam could help imaging contrast.

These findings demonstrate the central advantage of K-edge imaging. Selective amplification of contrast agent upon imaging, without proportional increases in global tissue dose.