Difference in reconstructed image in histogram vs list-mode data when using multiSiddon projector

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

Hi Etienne,

Hope you are doing good !

With listmode data, the sensitivity image is computed once at the beginning, before iterating. So this image is always the same during iterations. If you use a stochastic projector (which is the case of multi-siddon), the system matrix is different at each iteration and also for the computation of that sensitivity image. Thus, in the image update step, there is a mismatch between the system matrices used for the sensitivity and for the loop over events to compute the correction image.

With histogram data, in CASToR, the sensitivity image is computed simultaneously while processing histogram bins for each update. So even with stochastic projectors, there is a perfect match between the system matrices used for the sensitivity and the correction image.

In short, with a stochastic projector, you will never be able to have a perfect match between listmode and histogram reconstructions.

Also, for listmode reconstruction, you should theoritically use an infinite number of lines to generate the sensitivity image. To do so with the current CASToR code (also with your version I think), you should launch a reconstruction with -sens-only option and an as-big-as-possible number of lines to compute the sensitivity. Then input that sensitivity image to the reconstruction with -sens option. I would say, empirically, that you should have two orders of magnitude between numbers of lines for the sensitivity and for iterations.

Hope this helps

Simon

Thank you Simon for your quick and detailed response!

I followed the instructions you gave in the last paragraph of your answer, i.e. create a sensitivity image with “-proj multiSiddon,2500” (100 times what I used before) and “-sens-only” and then use it to reconstruct the list-mode data with “-sens sensitivity_multiSiddon,2500.hdr” but still using “-proj multiSiddon,25” and it worked exactly as you predicted.

The magnitude of the differences between the image reconstructed from the histogram format and the list-mode format was divided by a factor of 5 approximately, making it practically impossible to tell them apart.

Thank you again, I learned something new!

Étienne