You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently cannot set the coincidence window, even if we know it, or it is contained in the data (for instance, for Siemens data we ignore the field, and for GE data we don't read it either). The current code is
This therefore only works for TOF data. (It is also potentially dangerous if someone would create a wrong scanner object with fewer (uncompressed) TOF bins than actually used, but that seems up to them and could be addressed via documentation)
The coincidence window is currently only used in the RFS calculation
. This is currently only used for GE data (but it would therefore fail when using trimmed data, or for the Omni as that's non-TOF).
After thinking about this a bit, my impression is that we don't need a separate coincidence_window member in Scanner, as even for non-TOF, we can say the num_timing_poss=1 and set the TOF bin width to the coincidence window. We can therefore already set it in the Scanner initialisation as well as parse this from the header etc.
Of course, it's going to be hard to find timing resolution for non-TOF scanners, so the condition on is_tof_ready would have to be changed. This is already done in #1430:
After thinking about this a bit, my impression is that we don't need a separate coincidence_window member in Scanner, as even for non-TOF, we can say the num_timing_poss=1 and set the TOF bin width to the coincidence window. We can therefore already set it in the Scanner initialisation as well as parse this from the header etc.
I think I am confused, then what do I set it to if there is no member? also what is the keyword to save into the header?
We currently cannot set the coincidence window, even if we know it, or it is contained in the data (for instance, for Siemens data we ignore the field, and for GE data we don't read it either). The current code is
STIR/src/buildblock/Scanner.cxx
Lines 2214 to 2218 in 8c57bc9
with
STIR/src/include/stir/Scanner.inl
Lines 263 to 266 in 8c57bc9
This therefore only works for TOF data. (It is also potentially dangerous if someone would create a wrong scanner object with fewer (uncompressed) TOF bins than actually used, but that seems up to them and could be addressed via documentation)
The coincidence window is currently only used in the RFS calculation
STIR/src/data_buildblock/randoms_from_singles.cxx
Line 37 in 8c57bc9
After thinking about this a bit, my impression is that we don't need a separate
coincidence_window
member inScanner
, as even for non-TOF, we can say thenum_timing_poss=1
and set the TOF bin width to the coincidence window. We can therefore already set it in theScanner
initialisation as well as parse this from the header etc.Of course, it's going to be hard to find timing resolution for non-TOF scanners, so the condition on
is_tof_ready
would have to be changed. This is already done in #1430:STIR/src/include/stir/Scanner.inl
Lines 263 to 266 in 34a35de
In any case, it'd be nice to check the computed value with whatever the scanner reports (if it does).
@danieldeidda if you know the relevant info for the Mediso AnyScan, you can already add it in your Interfile headers, and (ideally)
Scanner.cxx
.@NikEfth are we missing something else?
The text was updated successfully, but these errors were encountered: