Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can you provide some guidance on the spectrum modeling? #109

Open
kylechampley opened this issue Sep 28, 2024 · 3 comments
Open

Can you provide some guidance on the spectrum modeling? #109

kylechampley opened this issue Sep 28, 2024 · 3 comments

Comments

@kylechampley
Copy link
Collaborator

          Thanks for the excellent modern approach to CT reconstruction. I notice that most of your solutions, such as BH and scatter, are based on spectrum modeling of the system. However, I'm new to this field. Can you provide some guidance on the modeling?

Originally posted by @lc82111 in #71 (comment)

@kylechampley
Copy link
Collaborator Author

@lc82111, I assume you've seen the demo scripts here, here, and here.

Modeling the spectra involves three major components:

  1. x-ray source spectra
  2. filtering of the source spectra
  3. detector response.

The XrayPhysics library provides models for all three of these. The hardest one to get right is the detector response because vendors don't always disclose details about how the x-ray detector is constructed. For example, the materials used in the front face of the detector (which is usually plastic and/ or aluminum) must be included in item (2) above, the x-ray filters. The best way to model the detector response is with a Monte Carlo simulation, but this is very difficult to do. So here are the main components you will need to model each of the items above

X-ray Source Spectra
kV setting, anode take-off angle, and the anode material type.
Most x-ray tubes use a Tungsten (W) anode and a take-off angle between 11 and 30 degrees.

X-ray Filters
the chemical formula, density, and thickness of all materials the x-ray passes through include the materials in the front face of the detector (but do not include anything in the object you are scanning)

Detector Response
We use just a simple model of the product of stopping power of the scintillator material and a linear conversion of x-ray energy to photodiode response. For this you need the chemical formula, density, and thickness of the scintillator.
The XrayPhysics library has many of the detector types in its material library which you can use. This includes: GOS, CsI, LSO, LYSO, NaI, BGO, GSO, and CZT.

If you get all of these specified accurately and you employ all the correction algorithms, you should be able to remove most of the artifacts. If you goal is absolute quantitative accuracy, then you will want to calibrate your spectra by scanning well-known references and tuning the spectra model until the model matches the measurement. I will add spectral calibration algorithms to LEAP sometime in the future.

@hws203
Copy link

hws203 commented Sep 29, 2024

I am on the work to convert BHC example into native c++ with xrayphysics library. And comments are helpful for me too.

@kylechampley kylechampley changed the title Can you provide some guidance on the modeling? Can you provide some guidance on the spectrum modeling? Sep 29, 2024
@kylechampley
Copy link
Collaborator Author

What questions do you guys have?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants