SPECT reconstruction

Dear castors,

I would like to use castor to reconstruct SPECT images.

I understand from the documentation that you should provide a cdh file along with a bunch of options. But, how this cdh file is related to my acquired SPECT images is not clear.

Is this cdf file created by castor-DataFileConverter ? If yes, this application is absent from the binary distribution I got from internet (windows x64 version). I also compiled from sources but it was also absent as a binary file. Is it related to the fact that I don’t have ROOT installed in my system (windows 10) ?

Could you shed lights on this please ?



Hi Ludovic,

This datafile converter from CASToR is indeed related to ROOT and is adapted to GATE simulated data only.

So you will have to build your own converter.

To do so, you will have to decode the format of the original SPECT data. It is usually DICOM, so easy to do, but you have to search through the many DICOM header entries to get all you need.
Then, all relevant information about the SPECT castor datafile format is included in the documentation, for both binary cdf and ascii header cdh files.
You will have to create a program to do the reading, convertion and writing.


Hi Simon,

Thank you for your response.

So, cdf file format doesn’t need to be time sorted ?

That means that I can treat each projection sequentially and fill the binary cdf file according to the format provided in the documentation, doesn’it ?

I am not sure what ‘un-normalised scatter intensity’ is about and how to compute this value. This relates to the question : “how do we deal with projections centered in scatter windows ?”.

I guess also that the normalization factor embedded in 4th position is a way of calibrating images in terms of what suits your need. But just a bet.



In histogram mode, no, because all events (histogram bins) have the same time flag. In your case, projections are histogrammed counts. Yes absolutely. If you have projections of a scatter window, then you can use them to correct for scatter. This means that you can include them as the ‘un-normalised scatter rate’, so for histogram data, you just divide the estimated scatters by the time of the acquisition. ‘Un-normalised’ means subject to the same intrinsic sensitivity of the detectors. It is more related to PET where the scatters are usually obtained from a method that does not take non-uniformity of sensitivity into account. Again, it is more related to PET, or to pixelated SPECT detectors, but not to standard monolythic SPECT detectors.