9 #define VPROJECTOR_HH 1 11 #include "gVariables.hh" 14 #include "vScanner.hh" 15 #include "oImageDimensionsAndQuantification.hh" 16 #include "sChronoManager.hh" 26 #define USE_TOFHISTO 1 138 int Project(
int a_direction,
oProjectionLine* ap_ProjectionLine, uint32_t* ap_index1, uint32_t* ap_index2,
int a_nbIndices);
469 #define FUNCTION_PROJECTOR(CLASS) \ 470 static vProjector *make_projector() { return new CLASS(); }; 473 #define CLASS_PROJECTOR(NAME,CLASS) \ 474 class NAME##ProjectorCreator \ 477 NAME##ProjectorCreator() \ 478 { sAddonManager::GetInstance()->mp_listOfProjectors[#NAME] = CLASS::make_projector; } \ 480 static NAME##ProjectorCreator ProjectorCreator##NAME; FLTNB m_TOFLargestResolutionInMm
bool m_compatibleWithSPECTAttenuationCorrection
FLTNB GetTOFBinSizeInMm()
This function is used to get the size in mm of a TOF bin.
static void ShowCommonHelp()
This function is used to print out some help about the use of options common to all projectors...
virtual int ReadOptionsList(const string &a_optionsList)=0
bool GetTOFEventResolutionFlag()
This class is designed to generically described any on-the-fly projector.
virtual int ReadConfigurationFile(const string &a_configurationFile)=0
vProjector()
The constructor of vProjector.
void SetMask(bool *ap_mask)
int Initialize()
A public function used to initialize the projector.
bool m_TOFWeightingFcnPrecomputedFlag
virtual int ProjectTOFHistogram(int a_direction, oProjectionLine *ap_ProjectionLine)=0
bool m_TOFBinProperProcessingFlag
int Project(int a_direction, oProjectionLine *ap_ProjectionLine, uint32_t *ap_index1, uint32_t *ap_index2, int a_nbIndices)
void SetVerbose(int a_verbose)
oImageDimensionsAndQuantification * mp_ImageDimensionsAndQuantification
FLTNB GetTOFMeasurementRangeInMm()
This function is used to get the TOF measurement range in mm.
virtual int ProjectWithoutTOF(int a_direction, oProjectionLine *ap_ProjectionLine)=0
void SetScanner(vScanner *ap_Scanner)
bool m_TOFEventResolutionFlag
HPFLTNB ** m2p_TOFWeightingFcn
FLTNB * mp_TOFProbabilities
void SetTOFResolutionInMm(FLTNB *ap_TOFResolutionInMm)
bool GetCompatibilityWithSPECTAttenuationCorrection()
virtual int CheckSpecificParameters()=0
A private function used to check the parameters settings specific to the child projector.
int ReadCommonOptionsList(const string &a_optionsList)
void SetApplyTOF(int a_applyTOF)
void SetNbTOFResolutions(int a_nbTOFResolutions)
virtual void ShowHelpSpecific()=0
A function used to show help about the child module.
virtual ~vProjector()
The destructor of vProjector.
void SetTOFOffsetInMm(FLTNB *ap_TOFOffsetsInMm)
This function is used to set the TOF Offset in use.
void SetTOFBinSizeInMm(FLTNB a_TOFBinSizeInMm)
int CheckParameters()
A public function used to check the parameters settings.
void SetTOFEventResolutionFlag(FLTNB a_TOFEventResolutionFlag)
This function sets the per-event TOF resolution flag.
void SetTOFMeasurementRangeInMm(FLTNB a_TOFMeasurementRangeInMm)
FLTNB GetTOFOffsetInMm(int a_resolution)
This function is used to get the TOF offsets.
FLTNB GetTOFResolutionInMm(int a_resolution)
FLTNB * mp_TOFResolutionInMm
bool GetCompatibilityWithCompression()
FLTNB * mp_TOFGaussianNormCoef
This class is designed to manage and store system matrix elements associated to a vEvent...
FLTNB m_TOFPrecomputedSamplingFactor
int GetNbTOFResolutions()
virtual int ProjectTOFListmode(int a_direction, oProjectionLine *ap_ProjectionLine)=0
FLTNB GetTOFProbabilities(int a_resolution)
This function is used to get the TOF probability.
virtual int InitializeSpecific()=0
A private function used to initialize everything specific to the child projector. ...
void SetApplyPOI(bool a_applyPOI)
FLTNB m_TOFMeasurementRangeInMm
This class is designed to manage all dimensions and quantification related stuff. ...
void SetTOFProbabilities(FLTNB *ap_TOFProbabilities)
This function is used to set the TOF probabilities in use.
virtual INTNB EstimateMaxNumberOfVoxelsPerLine()
This function is used to compute and provide an estimate of the maximum number of voxels that could c...
bool m_compatibleWithCompression
void ShowHelp()
A function used to show help about the projector.
Declaration of class oProjectionLine.
int SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
void SetSensitivityMode(bool a_sensitivityMode)
Generic class for scanner objects.
INTNB m_TOFWeightingFcnNbSamples