STIR icon indicating copy to clipboard operation
STIR copied to clipboard

Allow even number of ToF bins

Open danieldeidda opened this issue 1 year ago • 10 comments

fixing #1333

danieldeidda avatar Jan 15 '24 16:01 danieldeidda

@danieldeidda test_DataSymmetriesForBins_PET_CartesianGrid failed. Possibly we made a mistake in the merge, or there is something else.

KrisThielemans avatar Jan 16 '24 07:01 KrisThielemans

something is happening with the segmentIndices::_timing_pos whcich occasionally is different. Need to go deeper in debugging though

danieldeidda avatar Jan 16 '24 14:01 danieldeidda

test failure in OSMAPOSL_parallelproj is weird as non-TOF, but occurs in all Release builds (and isn't run in the Debug jobs), so not a one-off.

test_proj_data_info failures:

  • printing of bins is also flawed (replace as in other file) so we can't see what's going on
  • Debug runs have assert error https://github.com/UCL/STIR/actions/runs/7614648272/job/20737408998?pr=1334#step:10:921
  • worrying is Error. malloc(): corrupted top size https://github.com/UCL/STIR/actions/runs/7614648272/job/20737408026?pr=1334#step:10:1110

Other debug asserts:

  • https://github.com/UCL/STIR/actions/runs/7614648272/job/20737408998?pr=1334#step:10:174
  • https://github.com/UCL/STIR/actions/runs/7614648272/job/20737408998?pr=1334#step:10:745

KrisThielemans avatar Jan 22 '24 22:01 KrisThielemans

I've merged master to resolve conflict. Sadly, the MacOS build now fails because it requires C++-14 (due to upgraded boost version). https://github.com/UCL/STIR/actions/runs/7677624387/job/20926592594?pr=1334#step:9:1146

/usr/local/include/boost/math/tools/config.hpp:23:6: warning: #warning "The minimum language standard to use Boost.Math will be C++14 starting in July 2023 (Boost 1.82 release)" [-Wcpp]
   23 | #    warning "The minimum language standard to use Boost.Math will be C++14 starting in July 2023 (Boost 1.82 release)"

KrisThielemans avatar Jan 27 '24 09:01 KrisThielemans

@danieldeidda I'd really like to release STIR 6.0.0 soon. We can easily postpone this to 6.1. Let me know.

KrisThielemans avatar Feb 01 '24 20:02 KrisThielemans

Hi I have been looking at it but haven't been able to find the source of the error. Let's postpone to 6.1 then

danieldeidda avatar Feb 02 '24 11:02 danieldeidda

We will still have to think about consequences for IO. In particular, Siemens TOF order needed to be handled, so this code will have to be adapted https://github.com/UCL/STIR/blob/8ced2d73933420457e0bc76074964b7d4ff00f0c/src/IO/stir_ecat_common.cxx#L208-L212

KrisThielemans avatar Mar 25 '24 15:03 KrisThielemans

Should put a check in https://github.com/UCL/STIR/blob/8ced2d73933420457e0bc76074964b7d4ff00f0c/src/buildblock/ProjDataFromStream.cxx#L152-L155 that values in the seq array are between min and max, to catch people using the "old" convention. (projdatainfo)

KrisThielemans avatar Mar 25 '24 15:03 KrisThielemans

https://github.com/UCL/STIR/pull/1389 introduced the capability to read TOF bin order from the Interfile header: https://github.com/UCL/STIR/blob/8ced2d73933420457e0bc76074964b7d4ff00f0c/src/IO/InterfileHeader.cxx#L621. However, the value of that keyword would now be different. (Note that #1389 was after the 6.0.0 release, so we are not breaking backwards compatibility w.r.t. a released version).

@NicoleJurjew I don't think this will affect you (as it's independent of the parsing of the Siemens Interfile header), but let us know if it does.

KrisThielemans avatar Mar 25 '24 15:03 KrisThielemans

we got through ctest, but run_test_simulate_and_recon.sh is failing again. 😢

KrisThielemans avatar Mar 25 '24 21:03 KrisThielemans