Hello fellow CASToR users,
Have you ever experienced visible differences in reconstructed images depending on the type of data format you used? Indeed, for the same simulation of a Derenzo type phantom made in GATE, I obtain different reconstructed images whether I converted the data in histogram or list-mode format using the “castor-GATERootToCastor” utility. This seems to happen only when I use the multiSiddon projector though. Since the sampling with this projector is random, I set the seed with “-rng-seed 0” to ensure the differences do not come from a different LOR sub-sampling. I would expect the images to be, within numerical errors, identical since they come from the same information, just formatted differently… I am currently using CASToR v2.0.2.
Here is an example using the Siddon projector, that gives almost identical images, as expected. The top image is list-mode, the middle one is histogram mode, and the bottom one is the subtraction. The command lines used to reconstruct both images are :
List-mode : “castor-recon -df data.lm_CstrProj.Cdh -dout image.lm.siddon.15mmAx -it 32:1 -dim 100,100,50 -vox 0.3,0.3,0.3 -vb 1 -th 4”
Histogram mode : “castor-recon -df data.hm_CstrProj.Cdh -dout image.hm.siddon.15mmAx -it 32:1 -dim 100,100,50 -vox 0.3,0.3,0.3 -vb 1 -th 4”
Here is the same example using the mutliSiddon projector, that gives different images. Again, the top image is list-mode, the middle one is histogram mode, and the bottom one is the subtraction. The command lines used to reconstruct both images are :
List-mode : “castor-recon -df data.lm_CstrProj.Cdh -dout image.lm.multiSiddon_25.15mmAx -it 32:1 -dim 100,100,50 -vox 0.3,0.3,0.3 -vb 1 -th 4 -proj multiSiddon,25 -rng-seed 0 -oit -1”
Histogram mode : “castor-recon -df data.hm_CstrProj.Cdh -dout image.hm.multiSiddon_25.15mmAx -it 32:1 -dim 100,100,50 -vox 0.3,0.3,0.3 -vb 1 -th 4 -proj multiSiddon,25 -rng-seed 0 -oit -1”
In addition to the white spots appearing in list-mode at axial extremities, the histogram version looks “smoother”.
Thank you to provide me an explanation if you understand what is going on!
Étienne