9 #define VPROJECTOR_HH 1 11 #include "gVariables.hh" 14 #include "vScanner.hh" 15 #include "oImageDimensionsAndQuantification.hh" 25 #define USE_TOFHISTO 1 137 int Project(
int a_direction,
oProjectionLine* ap_ProjectionLine, uint32_t* ap_index1, uint32_t* ap_index2,
int a_nbIndices);
410 #define FUNCTION_PROJECTOR(CLASS) \ 411 static vProjector *make_projector() { return new CLASS(); }; 414 #define CLASS_PROJECTOR(NAME,CLASS) \ 415 class NAME##ProjectorCreator \ 418 NAME##ProjectorCreator() \ 419 { sAddonManager::GetInstance()->mp_listOfProjectors[#NAME] = CLASS::make_projector; } \ 421 static NAME##ProjectorCreator ProjectorCreator##NAME;
bool m_compatibleWithSPECTAttenuationCorrection
static void ShowCommonHelp()
This function is used to print out some help about the use of options common to all projectors...
bool GetCompatibilityWithSPECTAttenuationCorrection()
FLTNB m_TOFGaussianNormCoef
FLTNB GetTOFBinSizeInMm()
virtual int ReadOptionsList(const string &a_optionsList)=0
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
HPFLTNB * mp_TOFWeightingFcn
int Project(int a_direction, oProjectionLine *ap_ProjectionLine, uint32_t *ap_index1, uint32_t *ap_index2, int a_nbIndices)
void SetVerbose(int a_verbose)
bool m_readPerEventTOFResolution
oImageDimensionsAndQuantification * mp_ImageDimensionsAndQuantification
Declaration of class oProjectionLine.
virtual int ProjectWithoutTOF(int a_direction, oProjectionLine *ap_ProjectionLine)=0
void SetScanner(vScanner *ap_Scanner)
void SetTOFResolutionInMm(FLTNB a_TOFResolutionInMm)
bool GetCompatibilityWithCompression()
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)
virtual void ShowHelpSpecific()=0
A function used to show help about the child module.
virtual ~vProjector()
The destructor of vProjector.
void SetTOFBinSizeInMm(FLTNB a_TOFBinSizeInMm)
int CheckParameters()
A public function used to check the parameters settings.
FLTNB m_TOFResolutionInMm
void SetReadPerEventTOFResolution(bool a_readPerEventTOFResolution)
This function is used to set flag informing that TOF resolution should be read per event from datafil...
void SetTOFMeasurementRangeInMm(FLTNB a_TOFMeasurementRangeInMm)
FLTNB GetTOFResolutionInMm()
This function is used to get the TOF resolution in mm.
This class is designed to manage and store system matrix elements associated to a vEvent...
FLTNB m_TOFPrecomputedSamplingFactor
virtual int ProjectTOFListmode(int a_direction, oProjectionLine *ap_ProjectionLine)=0
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. ...
FLTNB GetTOFMeasurementRangeInMm()
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.
int SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
void SetSensitivityMode(bool a_sensitivityMode)
Generic class for scanner objects.
INTNB m_TOFWeightingFcnNbSamples