Forward projection of attenuation image

Dear CASToR developers and community,

I would like to calculate the attenuation coefficient of each LOR given an attenuation image, so that I can incorporate it with scatter and random rates along with normalization factors in the list-mode.

Does CASToR have a function to achieve this (i.e., input an attenuation image and obtain a list-mode file with attenuation factors for each LOR)? Alternatively, is there a tool available that can perform this task?

Additionally, regarding decay and dead time correction, is it correct to combine these factors with the normalization factors for each event and write to the .cdf file? Or those corredtions should be applied to the calibration factor?

Thank you very much! Any help is highly appreciated!!

Best regards,
Zipai

Dear Zipai,

I have a piece of code which should be exactly what you are looking for. This is not committed in the branch develop , but in the branch feature/LM_DIP. I created a function ApplyAtnCorrFromAtnMap from the vOptimizer class, called by the oOptimizerManager which forward project the attenuation image given with the -atn option. The attenuation coefficient are then set with the SetAttenuationCorrectionFactor like if it was originally present in your cdf datafile.

I have not deeply tested this add-on, please let me know if you find some weird behavior.

If I am correct, dead time correction should indeed be taken into account by the normalization factors. As for decay correction, CASToR already handles it.

Best regards,
Alexandre