xcist / main

simulation and reconstruction package
BSD 3-Clause "New" or "Revised" License
45 stars 20 forks source link

Scatter Convolution Model #66

Closed xiaogengen-007 closed 3 months ago

xiaogengen-007 commented 5 months ago

Hi,

Thanks for the great work. I am interested in understanding the scatter model used in the simulation.

I noticed in gecatsim/pyfiles/Scatter_ConvolutionModel.py, scatter is only calculated for the first subview and replicated for other subviews.

# Scatter is low frequency signal and computational expensive, we only calculate it at the first subview.
    if subViewId == 0:

What is the definition of subview? How accurate is this assumption for scatter simulation?

Thank you!

MingyeWu commented 5 months ago

Sub view is the sub sampling of views. Scatter is low frequency signal, usually this is a good approximation.

xiaogengen-007 commented 5 months ago

Thanks for the quick reply. Could you please help me clarify that if "sub sampling of views" is (1. subsampling of views when intra-view sampling is used (2. something like uniformly downsampling the detector element

I saw the following code, so I am expecting the former. gecatsim/pyfiles/OneScan.py

cfg.sim.subViewCount = cfg.physics.viewSampleCount

gecatsim/cfg/Physics_Default.cfg

physics.viewSampleCount = 2 # number of samples of each view angle range in rotational direction

Thank you!

MingyeWu commented 5 months ago

Yes, you're right. Sub view sampling is the rotation sampling within a view.