Random factor query

Dear all,

I would like to apologize for not being able to figure this out but, how do the random corrections work in CASToR?

I’ve seen that there is the option of providing a file containing the “randoms correction factors” and that the PET data formats can include the random intensity rates but is this based around the calculation from the singles’ rates or is this applicable to the delayed window method? And what do “randoms correction factors” represent? Is it the fraction of counts in an LOR that you expect to be random counts?

Additionally I would like to mention that I believe that there is a bug in the sensitivity calculation when using the “min angle difference” other than 0. I was attempting to implement a scanner using 8 rectors and a min angle difference of 90 but it just meant that the sensitivity dropped in an angular section of 90 deg of the FOV leaving it asymmetrical.


Alberto Sanchez

Dear Alberto Sanchez,

I think that the issue you are facing with the sensitivity is the same bug I was experiencing and that was solved one week ago by Thibaut in the latest castor version (1.12).
If you received the previous messages of the mailing list you should be able to find it.

Best regards


Dear Alberto Sanchez,

The random correction factors are expected to be rates (count/s). They are normalized during the reconstruction by the frame/acquisition duration in seconds (if provided), and added to the forward projection value alongside scatter correction factors.

Thank you for the bug report, we are currently working on a patch. As Niccolo previously mentioned, the corrected version (attached file) should work fine.

Best regards,

castor_v1.12.zip (2.15 MB)


Also the random correction rates you supply are the correction factors you want to apply. CASToR will not compute the correction terms but only apply them if supplied.

In other words you have to compute these correction terms (also for scatters), whatever the way you compute them (from singles rates or delayed events), and supply these correction terms as rates (per seconds) in the data file = the number of random events in this given LOR per seconds (same for scatters).

Finally, I think you are referring to the example of how to build a datafile by yourself. As CASToR is fully generic, this option of providing a file for random correction factors is an example but the way to include them properly in the datafile is your responsability.