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

port STIR TOF support to SIRF #315

Open
KrisThielemans opened this issue Feb 23, 2019 · 8 comments · Fixed by #1208
Open

port STIR TOF support to SIRF #315

KrisThielemans opened this issue Feb 23, 2019 · 8 comments · Fixed by #1208
Assignees
Milestone

Comments

@KrisThielemans
Copy link
Member

we're finalising the STIR TOF PR UCL/STIR#304

This should normally require very few changes to SIRF. I think the only places are where we expose getting the projection data as TOF adds another dimension.

I think this only affects PETAcquisitionData.dimensions, as_array and show. @evgueni-ovtchinnikov could you please confirm?

Ideally, we should prepare for this in 2.0 by already letting these functions return the TOF dimension (although it's of course size 1). That way, we can enable TOF support in 2.1, without breaking backwards compatibility.

Of course, related is what dimensions the data should be to support PET data for the future, in particular dynamic/gated data.

@evgueni-ovtchinnikov
Copy link
Contributor

will SegmentBySinogram<float>::full_iterator work in the same way?

@NikEfth
Copy link
Member

NikEfth commented Feb 25, 2019 via email

@KrisThielemans
Copy link
Member Author

will SegmentBySinogram<float>::full_iterator work in the same way?

yes, but currently we need another loop over tof-bins (not just views/segments), i.e. our Segment/Sinogram/Viewgram` classes are the same as before (just also track the TOF bin). Very easy, but obviously it cannot be done on SIRF master yet. would need a separate branch for this.

@ALEXJAZZ008008 will help with this.

@KrisThielemans
Copy link
Member Author

@NikEfth let's keep STIR discussions to the STIR PR. But we cannot really remove hdf5-related commits/files, unless we go with git filterbranch, and screw up everybody's repository (which we don't want to do!). It is probably a matter of first merging the non-TOF GE Signa stuff.

@KrisThielemans
Copy link
Member Author

See #359 for preparation

@KrisThielemans
Copy link
Member Author

KrisThielemans commented Mar 27, 2019

Probable list of things that need to change

  • cstir.cpp cSTIR_getAcquisitionsDimensions needs to get number of TOF bins from STIR
  • STIR.py PETAcquisitionData.show() has sinogram selection. Would need TOF bin selection.
  • similar for MATLAB (won't do this anymore)
  • stir_x.cpp: estimate_randoms will need an extra loop over tof_bins (simply accumulating in the same non-TOF array)
  • stir_data_container.cpp

@KrisThielemans
Copy link
Member Author

KrisThielemans commented Aug 10, 2022

another:

  • AcquisitionData.rebin() needs an extra argument num_tof_bins_to_combine. At the moment this will default to 1 (i.e. don't change TOF bins). This is in fact the only thing currently supported by STIR anyway.

@KrisThielemans KrisThielemans linked a pull request Aug 21, 2023 that will close this issue
@KrisThielemans
Copy link
Member Author

randoms still to do

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

Successfully merging a pull request may close this issue.

4 participants