[Castor-users] Bug toolkits/castor-GATERootToCastor.cc
FILIPOVIC PIERUCCI Marina
Marina.FILIPOVICPIERUCCI at cea.fr
Thu Jan 23 13:56:35 CET 2020
Hi Jan,
Thanks for the bug notification and correction proposal! We will fix the castor-GATERootToCastor.cc.
As mentioned in the documentation, List TOF measurement range (ps) in the data file header should correspond to the maximum range of TOF measurements allowed by the scanner, which is most often equal to the size of the coincidence timing window. It should not correspond to the maximum TOF measurement value in the datafile. Maybe it is not clear enough in the documentation, we'll look at that.
Thanks
Marina Filipovic
________________________________
De : Castor-users [castor-users-bounces at lists.castor-project.org] de la part de Grahe, Jan [jan.grahe at pmi.rwth-aachen.de]
Envoyé : jeudi 23 janvier 2020 13:34
À : castor-users at lists.castor-project.org
Objet : [Castor-users] Bug toolkits/castor-GATERootToCastor.cc
Dear CASToR developers,
I tried converting a PET list-mode generated by GATE into the CASToR format using the castor-GATERootToCastor toolkit and obtained an error:
“….
sScannerManager::Initialize() -> From scanner PET_PHILIPS_VEREOS
iScannerPET::Initialize() -> Initialize remaining stuff for scanner to be ready
oProjectorManager::Initialize() -> Initialize projectors and projection lines
--> Use TOF projector for listmode data
***** vProjector::CheckParameters() -> Inconsistent TOF related parameters !
***** oProjectorManager::ParseOptionsAndInitializeProjectors() -> A problem occurred while checking forward projector parameters !
***** oProjectorManager::Initialize() -> A problem occurred while parsing projector options and initializing it !”
Turns out, that the variable m_TOFMeasurementRangeInMm has a value of “-0.1498962” in the oProjectorManager, which caused the error in the vProjector::CheckParameters(). This variable is obtained from the vDataFile* Out_data_file using the method GetTOFMeasurementRangeInPs(). The datafile is initialized in the castor-GATERootToCastor.cc file and handed to the p_ProjectManager using the SetDataFile() method. However, the m_TOFMeasurementRangeInPs variable is set to -1 in the constructor and not set in the castor-GATERootToCastor toolkit before the oProjectorManager requires this variable to be set when calling it’s Initialize() function.
Therefore, to use the toolkit with TOF right now I added the red line in the toolkit (the block is approx. at line ~970 of the document):
“….
// Set ToF
if(tof_reso>=0)
{
((iDataFilePET*)Out_data_file)->SetTOFInfoFlag();
((iDataFilePET*)Out_data_file)->SetTOFResolutionInPs(tof_reso);
((iDataFilePET*)Out_data_file)->SetTOFMeasurementRangeInPs(myScannersTOFrange);
}
”
This seems to solve the problem, but only with the general coincidence time window of the scanner instead of the longest coincidence time of all events in your datafile. Not sure if that is correct or a factor of e.g. 2 has to be applied. If there is no problem with that, you could fix this bug generally by getting the coincidence time window of the scanner and then later update it to the real variable when all the events have been processed.
As this only happens in version 3.0, can I still reconstruct images with CASToR 3.0 using datafiles generated with the CASToR 2.0 framework?
Thanks and I hope this helps!
Jan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.castor-project.org/pipermail/castor-users/attachments/20200123/5c08934e/attachment.html>
More information about the Castor-users
mailing list