31 #ifndef OPROJECTORMANAGER_HH
32 #define OPROJECTORMANAGER_HH 1
oProjectionLine ** m2p_ProjectionLines
int m_computationStrategy
This class is designed to be a mother virtual class for DataFile.
This header file is mainly used to declare some macro definitions and all includes needed from the st...
void SetComputationStrategy(int a_computationStrategy)
Set the computation strategy for the system matrix elements storage.
int Initialize()
A function used to initialize the manager and the projectors or system matrices it manages...
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
Set the image dimensions in use.
string m_forwardProjectorName
This class is designed to generically described any on-the-fly projector.
bool m_useSystemMatrixBackward
oProjectorManager()
The constructor of oProjectorManager.
void SetOptionsForward(const string &a_optionsForward)
Set the forward projection options contained in the provided string.
void SetSensitivityModeOff()
Say that the projector will no longer be used to compute the global sensitivity.
bool m_useSystemMatrixForward
void SetOptionsCommon(const string &a_optionsCommon)
Set the common projection options contained in the provided string.
Declaration of class oSystemMatrix.
void SetOptionsBackward(const string &a_optionsBackward)
Set the backward projection options contained in the provided string.
oSystemMatrix * mp_SystemMatrixBackward
Declaration of class oProjectionLine.
~oProjectorManager()
The destructor of oProjectorManager.
int ParseOptionsAndInitializeProjectors()
Parse forward and backward projection options contained in the previously provided strings...
Declaration of class vProjector.
Declaration of class vScanner.
Declaration of class vDataFile.
oSystemMatrix * mp_SystemMatrixForward
bool m_useProjectorForward
Declaration of class vEvent.
oProjectionLine * ComputeProjectionLine(vEvent *ap_Event, int a_th)
This function is used to compute system matrix elements from the associated projector or pre-computed...
int GetComputationStrategy()
Get the computation strategy for the storage in the projection line.
int CheckParameters()
A function used to check the parameters settings.
void ApplyBedOffset(int a_bed)
Compute the bed offset from the provided bed index and apply it to all projection lines...
void SetSensitivityModeOn()
Say that the projector will be used to compute the global sensitivity.
void SetVerbose(int a_verboseLevel)
Set the verbose level.
This class is designed to manage pre-computed system matrices.
void SetDataFile(vDataFile *ap_DataFile)
Set a data file in use to later recover some information from it.
oImageDimensionsAndQuantification * mp_ImageDimensionsAndQuantification
bool m_useMatchedProjectors
int ProcessAndSetMask(FLTNB *ap_maskImage)
Process and set the provided mask image for projector masking.
bool m_useProjectorBackward
bool IsBackwardOperatorCompatibleWithSPECTAttenuationCorrection()
string m_backwardProjectorName
This class is designed to manage and store system matrix elements associated to a vEvent...
vProjector * mp_ProjectorBackward
vProjector * mp_ProjectorForward
This class is designed to manage the projection part of the reconstruction.
int GetNbTOFBins()
Get the number of TOF bins associated to the projector.
Mother class for the Event objects.
This class is designed to manage all dimensions and quantification related stuff. ...
int CheckSPECTAttenuationCompatibility(const string &a_pathToAttenuationImage)
A function used to check specific compatibility with SPECT and attenuation correction.
void SetScanner(vScanner *ap_Scanner)
Set the scanner in use.
Generic class for scanner objects.
bool IsForwardOperatorCompatibleWithSPECTAttenuationCorrection()