Reconstructed image in CASToR consistently looked like the sensitivity map

My objective has been to take the ROOT output from my GATE simulation and successfully reconstruct an image of my source using CASToR’s MLEM algorithm.

From the very beginning, I’ve had one consistent problem: the final reconstructed image (.hdr file) is not the image of my simulated source. Instead, it looks exactly like the sensitivity map (_sensitivity.hdr) that CASToR generates, just filled with a uniform value.

My current understanding is that there is a “stuck pipeline” inside CASToR.

  • I know the data file (.Cdh and .Cdf) contains 3 million valid, true events.

  • I know castor-recon correctly reads the header and acknowledges these events exist.

  • However, the extremely fast iteration time tells me that the core MLEM algorithm is not actually processing these events. For some reason, it is discarding them or skipping over them during the main reconstruction loop.

Kindly help, if someone faced this issue earlier.

Greetings,

I have no idea what is a “stuck pipeline“. However, I can venture a wild guess for the “not processing all the events“: the “duration” value in your cdh file might be “wrong“.

CASToR assumes that events in a list mode are “ordered“ in time. So, if the “duration” in the cdh is smaller than the real value or if your acquisition is the concatenation of several small acquisitions, it is possible that only a part of the list mode is used. A quick hack to check that would be to increase the duration in the cdh file and see if the reconstruction take more time.

If this is not the problem, you could share the `cdh`, the reconstruction command and the geom file. We might be able to find something from there!

Bests,

Maxime Toussaint