STIR icon indicating copy to clipboard operation
STIR copied to clipboard

GE RDF HDF5 remaining issues

Open KrisThielemans opened this issue 4 years ago • 6 comments

After #390 there's a few more things to do.

  • [x] various hard-wired numbers for the Signa. After fixing those, we should rename Signa files to something more generic (done in #601)
  • [x] GESignaListmodeInputFileFormat only checks if it's an HDF5 file (done in #601)
  • [x] ProjData should call ProjDataGEHDF5 (done in #601)
  • [x] add tests (needs data)
  • [x] merge #181 (incompatible results for some scanners, so probably needs v5.0)
  • [ ] in ProjDataGEHDF5 avoid reading all views up-front. could read them when necessary
  • [ ] image-flipping see #675

KrisThielemans avatar May 27 '20 22:05 KrisThielemans

Another one:

hsize_t dims_out[dataset_list_Ndims];

is wrong (dataset_list_Ndims is not a constant), should be

hsize_t* dims_out = new hsize_t[dataset_list_Ndims];

(and delete[] dims_out; before return).

evgueni-ovtchinnikov avatar Jun 23 '20 14:06 evgueni-ovtchinnikov

* [ ]  `SinglesRatesFromGEHDF5`
  
  * expose `GEHDF5Wrapper.get_exam_info_sptr()`

You mean creating SinglesRatesFromGEHDF5::get_exam_info_sptr()? GEHDF5Wrapper.get_exam_info_sptr() is exposed and read in that class.

* [ ]  in `ProjDataGEHDF5` avoid reading all views up-front. could read them when necessary

You mean read them in get_viewgram()/get_sinogram() instead of in initialise_viewgram_buffer?

AnderBiguri avatar Jun 24 '20 13:06 AnderBiguri

You mean creating SinglesRatesFromGEHDF5::get_exam_info_sptr()? GEHDF5Wrapper.get_exam_info_sptr() is exposed and read in that class.

not sure what I was thinking at the time. Possibly because we were (erronuously) using TimeFrameDefinitions then, which sit in exam_info. Let's ignore this. (please edit the first box and remove from the list)

you mean read them in get_viewgram()/get_sinogram() instead of in initialise_viewgram_buffer?

yes. it could be done by making tof_data mutable`, and fill it when necessary. However, this will have little impact, and likely will conflict with updates on the TOF branch, so I'd postpone this.

KrisThielemans avatar Jun 24 '20 14:06 KrisThielemans

on

construct_randoms_from_GEsingles.cxx needs to reorder data. This should be moved to this class this is about https://github.com/KrisThielemans/STIR-1/blob/7c5ca0aa99b60f01db35d3d3a0904694d3ffb0ed/src/utilities/construct_randoms_from_GEsingles.cxx#L244

This reversal of efficiencies should be moved to SinglesRatesFromGEHDF5. Once that's done, there might be very little GE specific in construct_randoms_from_GEsingles (I'll have to check).

KrisThielemans avatar Jun 24 '20 15:06 KrisThielemans

I have now added some examples.

Missing from that work:

Any change related to the attenuation coefficients. I don't know where they are in the data I have nor how to read them.

Testing it with real data and real .fdef

AnderBiguri avatar Jul 22 '20 15:07 AnderBiguri

Added tests (and tested them!)

AnderBiguri avatar Jul 24 '20 17:07 AnderBiguri