Merging PET attenuation and sensitivity map for the reconstruction

Dear Castor Users,

I am trying to reconstruct the PET data with Castor. To be more precise, what I am trying to do is to reconstruct the data with provided separately attenuation and sensitivity maps. What was suggest to me is that Castor need those map merged together and used as one input. The solution for doing that (as suggested by Castor developers) is to produce high statistics list mode covers whole FOV (what we did) and then using obtained list mode, attenuation maps and -opti SENS option in castor-recon app (without sensitivity map) produce merged attenuation+sensitivity map which will be then used in the final reconstruction. However, the computing demands for handling that are huge and overcome a little bit our computing capabilities.

I am wondering what other options do I have. Idealistically, I would like to know if it is possible to merge both maps without the list-mode data or give both them as an input to Castor in one castor-recon command. Is there any external software or anyone of you developed software to do that externally?

I would appreciate any help with that matter.

All the best,


If I have understood your problem right, you already have an attenuation image and a sensitivity map, and by sensitivity you mean the detector efficiency normalization?
In CASToR definition, the sensitivity is actually an image representing for each voxel the sum of system matrix elements for that voxel, where a system matrix element contains everything (the projection coefficient, detector efficiency normalization, dead time, attenuation, calibration, etc.).
If the above is right, why can't you compute and write a CASToR normalization file (described in the documentation and used as input along the list-mode file for list-mode reconstruction), that contains both attenuation and detector efficiency correction coefficients for each projection line? Or maybe is there some detail I have missed?


Marina Filipovic


The -opti SENS option is no part of the current CASToR public distribution. It is a small tool to handily approximate the sensitivity image from an acquisition of a uniform distribution with your system, without having to compute yourself all the normalization correction coefficients required to build the normalization histogram. It performs backprojection of the high statistic list-mode data to generate the sensitivity image, including attenuation correction factors if an attenuation image is used as input.

The best (and proper) way is as Marina suggested, computing a normalization file containing all the normalization and attenuation correction factor for each line of response. However there is no tools in Castor to automatically compute this normalization file. In terms of computing power, you would also have to deal with histogram datasets, which could be demanding depending on the number of detectors in your system.

Hope this helps,