Possible problem with module axial spacing modelization in the recon utility


We were testing Castor reconstruction and we found something that we believe might be a bug in the modelization of the module spacing for the reconstruction utility. The compressed file "example.tar.gz" should contain all the files needed to reproduce our tests and the images resulting from them.

We defined a PET camera in Gate (see file macros/geometry_13.mac) and used Castor utility to produce the castor geom file (see file geom/testCastor_13.geom). We then simulated a spheric source with a radius of 0.15 mm centered at (0, 0, 0) in the world (defined in macros/source_sensitivity.mac), converted the root file into a castor dataset (see command line at [1]) and then reconstructed it with castor-recon (see command line at [2]). The resulting image, see output/testCastor_13_it10.{hdr/img}, is the source that seems centered at (0, 0, 6) mm^3 (The 26 z-slice), which does not match with the simulated source.

After some brute forcing, we discovered the following:
- If we remove the gap between the modules, the source seems centered at (0, 0, 0), which is good!
- The offset seems to correspond to half the cumulative gap between the module. (Tested with 13, 6 and 3 modules. The offset were respectively ~6 mm , ~3 mm and ~1 mm).
- If we look at any of the *_sensitivity.img (see output folder) and observe the variation in the z-axis, we can see that the first half is not the reflection of the second half. This does not match with my expectation, since the camera is "symmetric" in the z-axis.

Note: The corresponding geom files always display the correct module spacing (1.0 mm), so it seems that the "problem" is in the reconstruction utility.

If there is something missing or you need anything to investigate this "problem", do not hesitate to tell contact me.

Have a nice day,
Maxime Toussaint

[1] castor-GATERootToCastor -i output/testCastor_${nbModule}.root -s testCastor_${nbModule} -m macros/geometry_${nbModule}.mac -o output/testCastor_${nbModule}
[2] castor-recon -df output/testCastor_${nbModule}_CstrProj.Cdh -fout output/testCastor_${nbModule} -it 10:2 -vox 1.0,1.0,1.0 -dim 40,40,40 -vb 2 -th 4 -opti MLEM -proj incrementalSiddon -oit -1

example.tar.gz (1.14 MB)