STIR
STIR copied to clipboard
GE RDF HDF5 remaining issues
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 callProjDataGEHDF5
(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
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).
* [ ] `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
?
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.
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).
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
Added tests (and tested them!)