Dear CASToR users and developers,
I am having trouble understanding something related to MLEM and how normalization factors are applied in CASToR.
Basically, the MLEM update steps looks like this:
Update = 1 / Sensitivity × Backprojection(Data / (Projection(Estimate) + Random + Scatter))
If I understand correctly, normalization factors that are present in the input datafile intervene twice in this equation:
- In the Projection step (
oProjectionLine.cc:759
) - In the Backprojection step (
oProjectionLine.cc:864
)
We are currently working on simulation data which do not contain any random or scatter events. When we do the math from the equation, in which we set both Random and Scatter to 0, we reach the conclusion that normalization factors cancel out in the projection-backprojection sequence.
In order to confirm this, we added some print statements into CASToR’s source code and indeed, the normalization values seem to cancel out. The only way to influence results with normalization factors without random or scatter seem to be through the sensitivity image.
Have we reached correct conclusions? If yes, do you have any reference that would hint at why the equation is designed in such a way? I find it somewhat counterintuitive.
Thank you very much for any piece of information that could help us understand what is going on!
Best,
Aurélien.
PS: is there a way to enable math rendering on the forum?