CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | List of all members
vProjector Class Referenceabstract

This class is designed to generically described any on-the-fly projector. More...

#include <vProjector.hh>

Inheritance diagram for vProjector:
Inheritance graph
Collaboration diagram for vProjector:
Collaboration graph

Public Member Functions

 vProjector ()
 The constructor of vProjector. More...
 
virtual ~vProjector ()
 The destructor of vProjector. More...
 
void ShowHelp ()
 A function used to show help about the projector. More...
 
int ReadCommonOptionsList (const string &a_optionsList)
 
int CheckParameters ()
 A public function used to check the parameters settings. More...
 
int Initialize ()
 A public function used to initialize the projector. More...
 
int Project (int a_direction, oProjectionLine *ap_ProjectionLine, uint32_t *ap_index1, uint32_t *ap_index2, int a_nbIndices)
 
virtual INTNB EstimateMaxNumberOfVoxelsPerLine ()
 This function is used to compute and provide an estimate of the maximum number of voxels that could contribute to a projected line. More...
 
virtual int ReadConfigurationFile (const string &a_configurationFile)=0
 
virtual int ReadOptionsList (const string &a_optionsList)=0
 
void SetVerbose (int a_verbose)
 
void SetScanner (vScanner *ap_Scanner)
 
void SetSensitivityMode (bool a_sensitivityMode)
 
void SetApplyTOF (int a_applyTOF)
 
void SetApplyPOI (bool a_applyPOI)
 
int SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
bool GetCompatibilityWithSPECTAttenuationCorrection ()
 
bool GetCompatibilityWithCompression ()
 
void SetMask (bool *ap_mask)
 
FLTNB GetTOFResolutionInMm (int a_resolution)
 
FLTNB GetTOFProbabilities (int a_resolution)
 This function is used to get the TOF probability. More...
 
FLTNB GetTOFOffsetInMm (int a_resolution)
 This function is used to get the TOF offsets. More...
 
void SetTOFResolutionInMm (FLTNB *ap_TOFResolutionInMm)
 
void SetTOFProbabilities (FLTNB *ap_TOFProbabilities)
 This function is used to set the TOF probabilities in use. More...
 
void SetTOFOffsetInMm (FLTNB *ap_TOFOffsetsInMm)
 This function is used to set the TOF Offset in use. More...
 
FLTNB GetTOFMeasurementRangeInMm ()
 This function is used to get the TOF measurement range in mm. More...
 
void SetTOFMeasurementRangeInMm (FLTNB a_TOFMeasurementRangeInMm)
 
void SetTOFEventResolutionFlag (FLTNB a_TOFEventResolutionFlag)
 This function sets the per-event TOF resolution flag. More...
 
bool GetTOFEventResolutionFlag ()
 
FLTNB GetTOFBinSizeInMm ()
 This function is used to get the size in mm of a TOF bin. More...
 
void SetTOFBinSizeInMm (FLTNB a_TOFBinSizeInMm)
 
int GetNbTOFResolutions ()
 
void SetNbTOFResolutions (int a_nbTOFResolutions)
 
 vProjector ()
 
virtual ~vProjector ()
 
void ShowHelp ()
 
int ReadCommonOptionsList (const string &a_optionsList)
 
int CheckParameters ()
 
int Initialize ()
 
int Project (int a_direction, oProjectionLine *ap_ProjectionLine, uint32_t *ap_index1, uint32_t *ap_index2, int a_nbIndices)
 
virtual INTNB EstimateMaxNumberOfVoxelsPerLine ()
 
virtual int ReadConfigurationFile (const string &a_configurationFile)=0
 
virtual int ReadOptionsList (const string &a_optionsList)=0
 
void SetVerbose (int a_verbose)
 
void SetScanner (vScanner *ap_Scanner)
 
void SetSensitivityMode (bool a_sensitivityMode)
 
void SetApplyTOF (int a_applyTOF)
 
void SetApplyPOI (bool a_applyPOI)
 
int SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
bool GetCompatibilityWithSPECTAttenuationCorrection ()
 
bool GetCompatibilityWithCompression ()
 
void SetMask (bool *ap_mask)
 
FLTNB GetTOFResolutionInMm ()
 This function is used to get the TOF resolution in mm. More...
 
void SetTOFResolutionInMm (FLTNB a_TOFResolutionInMm)
 
FLTNB GetTOFMeasurementRangeInMm ()
 
void SetTOFMeasurementRangeInMm (FLTNB a_TOFMeasurementRangeInMm)
 
FLTNB GetTOFBinSizeInMm ()
 
void SetTOFBinSizeInMm (FLTNB a_TOFBinSizeInMm)
 
void SetReadPerEventTOFResolution (bool a_readPerEventTOFResolution)
 This function is used to set flag informing that TOF resolution should be read per event from datafile. More...
 

Static Public Member Functions

static void ShowCommonHelp ()
 This function is used to print out some help about the use of options common to all projectors. It is static because it is called in main without instantiating an object. More...
 
static void ShowCommonHelp ()
 

Protected Attributes

FLTNB mp_sizeVox [3]
 
INTNB mp_nbVox [3]
 
INTNB m_nbVoxXY
 
FLTNB mp_halfFOV [3]
 
oImageDimensionsAndQuantificationmp_ImageDimensionsAndQuantification
 
vScannermp_Scanner
 
int m_TOFMethod
 
FLTNB m_TOFNbSigmas
 
INTNB m_TOFWeightingFcnNbSamples
 
bool m_TOFWeightingFcnPrecomputedFlag
 
bool m_TOFBinProperProcessingFlag
 
HPFLTNB ** m2p_TOFWeightingFcn
 
int m_nbTOFResolutions
 
FLTNB m_TOFBinSizeInMm
 
FLTNB m_TOFMeasurementRangeInMm
 
FLTNB m_TOFLargestResolutionInMm
 
FLTNBmp_TOFResolutionInMm
 
FLTNBmp_TOFProbabilities
 
FLTNBmp_TOFOffsetInMm
 
FLTNBmp_TOFGaussianNormCoef
 
FLTNB m_TOFPrecomputedSamplingFactor
 
bool m_TOFEventResolutionFlag
 
bool * mp_mask
 
bool m_hasMask
 
bool m_applyPOI
 
bool m_sensitivityMode
 
bool m_compatibleWithSPECTAttenuationCorrection
 
bool m_compatibleWithCompression
 
int m_verbose
 
bool m_checked
 
bool m_initialized
 
HPFLTNBmp_TOFWeightingFcn
 
FLTNB m_TOFResolutionInMm
 
FLTNB m_TOFGaussianNormCoef
 
bool m_readPerEventTOFResolution
 

Private Member Functions

virtual void ShowHelpSpecific ()=0
 A function used to show help about the child module. More...
 
virtual int CheckSpecificParameters ()=0
 A private function used to check the parameters settings specific to the child projector. More...
 
virtual int InitializeSpecific ()=0
 A private function used to initialize everything specific to the child projector. More...
 
virtual int ProjectWithoutTOF (int a_direction, oProjectionLine *ap_ProjectionLine)=0
 
virtual int ProjectTOFListmode (int a_direction, oProjectionLine *ap_ProjectionLine)=0
 
virtual int ProjectTOFHistogram (int a_direction, oProjectionLine *ap_ProjectionLine)=0
 
virtual void ShowHelpSpecific ()=0
 
virtual int CheckSpecificParameters ()=0
 
virtual int InitializeSpecific ()=0
 
virtual int ProjectWithoutTOF (int a_direction, oProjectionLine *ap_ProjectionLine)=0
 
virtual int ProjectTOFListmode (int a_direction, oProjectionLine *ap_ProjectionLine)=0
 
virtual int ProjectTOFHistogram (int a_direction, oProjectionLine *ap_ProjectionLine)=0
 

Detailed Description

This class is designed to generically described any on-the-fly projector.

This class is an abstract one, in the sense that it cannot be used on its own because several pure virtual functions belong to it. Its children are implementations of actual on-the-fly projectors. Everywhere in the code, this parent class should be used instead of any of its children. It can be used during the projection/reconstruction process by the oProjectorManager through the use of the Project() function that cannot be overloaded. This function is called from the Project() function of the oProjectionManager to get a oProjectionLine associated to an vEvent.
All children must implement the following pure virtual functions:

Definition at line 54 of file code/include/projector/vProjector.hh.

Constructor & Destructor Documentation

◆ vProjector() [1/2]

vProjector::vProjector ( )

The constructor of vProjector.

This is the default and unique constructor. It does not take any parameter and its role is only to affect default values to each member of the class.

Definition at line 17 of file code/src/projector/vProjector.cc.

◆ ~vProjector() [1/2]

vProjector::~vProjector ( )
virtual

The destructor of vProjector.

This is the default and unique destructor. It does not take any parameter and its role is only to free or delete all structures that were built by this class. It is virtual, so that it is automatically called when a child object is deleted.

Definition at line 62 of file code/src/projector/vProjector.cc.

◆ vProjector() [2/2]

vProjector::vProjector ( )

◆ ~vProjector() [2/2]

virtual vProjector::~vProjector ( )
virtual

Member Function Documentation

◆ CheckParameters() [1/2]

int vProjector::CheckParameters ( )

◆ CheckParameters() [2/2]

int vProjector::CheckParameters ( )

A public function used to check the parameters settings.

This function does not take any parameter and is used to check that all mandatory members were correctly parameterized. At the end, it calls the pure virtual CheckSpecificParameters() function implemented by children.

Returns
An integer reflecting the check status; 0 if no problem, another value otherwise.

Definition at line 177 of file code/src/projector/vProjector.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckSpecificParameters() [1/2]

virtual int vProjector::CheckSpecificParameters ( )
privatepure virtual

◆ CheckSpecificParameters() [2/2]

private virtual int vProjector::CheckSpecificParameters ( )
privatepure virtual

A private function used to check the parameters settings specific to the child projector.

This function is used to check that all parameters specific to the projector are correctly set within allowed values. It is called by the CheckParameters() function. It is pure virtual so is implemented by children.

Returns
An integer reflecting the check status; 0 if no problem, another value otherwise.

Implemented in iProjectorDistanceDriven, iProjectorDistanceDriven, iProjectorClassicSiddon, iProjectorJoseph, iProjectorClassicSiddon, iProjectorJoseph, iProjectorIncrementalSiddon, iProjectorIncrementalSiddon, iProjectorTemplate, iProjectorTemplate, iProjectorIncrementalSiddonMulti, and iProjectorIncrementalSiddonMulti.

Here is the caller graph for this function:

◆ EstimateMaxNumberOfVoxelsPerLine() [1/2]

virtual INTNB vProjector::EstimateMaxNumberOfVoxelsPerLine ( )
virtual

◆ EstimateMaxNumberOfVoxelsPerLine() [2/2]

INTNB vProjector::EstimateMaxNumberOfVoxelsPerLine ( )
virtual

This function is used to compute and provide an estimate of the maximum number of voxels that could contribute to a projected line.

The vProjector implementation simply returns the total image's number of voxels, but it can be overloaded by children to provide a better estimate in order to optimize and reduce memory requirements of the oProjectionLine buffers when using the FIXED_LIST_STRATEGY.

Returns
The estimate of the maximum number of voxels contributing to a line.

Reimplemented in iProjectorDistanceDriven, iProjectorDistanceDriven, iProjectorClassicSiddon, iProjectorIncrementalSiddon, iProjectorJoseph, iProjectorClassicSiddon, iProjectorIncrementalSiddon, iProjectorJoseph, iProjectorIncrementalSiddonMulti, iProjectorIncrementalSiddonMulti, iProjectorTemplate, and iProjectorTemplate.

Definition at line 503 of file code/src/projector/vProjector.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetCompatibilityWithCompression() [1/2]

bool vProjector::GetCompatibilityWithCompression ( )
inline

Definition at line 302 of file include/projector/vProjector.hh.

◆ GetCompatibilityWithCompression() [2/2]

public bool vProjector::GetCompatibilityWithCompression ( )
inline
Returns
m_compatibleWithCompression

Definition at line 303 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ GetCompatibilityWithSPECTAttenuationCorrection() [1/2]

bool vProjector::GetCompatibilityWithSPECTAttenuationCorrection ( )
inline

Definition at line 296 of file include/projector/vProjector.hh.

◆ GetCompatibilityWithSPECTAttenuationCorrection() [2/2]

public bool vProjector::GetCompatibilityWithSPECTAttenuationCorrection ( )
inline
Returns
m_compatibleWithSPECTAttenuationCorrection

Definition at line 297 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ GetNbTOFResolutions()

int vProjector::GetNbTOFResolutions ( )
inline

Definition at line 403 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ GetTOFBinSizeInMm() [1/2]

FLTNB vProjector::GetTOFBinSizeInMm ( )
inline

Definition at line 343 of file include/projector/vProjector.hh.

◆ GetTOFBinSizeInMm() [2/2]

public inline int vProjector::GetTOFBinSizeInMm ( )
inline

This function is used to get the size in mm of a TOF bin.

Returns
TOF bin size in mm.

Definition at line 389 of file code/include/projector/vProjector.hh.

◆ GetTOFEventResolutionFlag()

bool vProjector::GetTOFEventResolutionFlag ( )
inline

Definition at line 381 of file code/include/projector/vProjector.hh.

◆ GetTOFMeasurementRangeInMm() [1/2]

FLTNB vProjector::GetTOFMeasurementRangeInMm ( )
inline

Definition at line 329 of file include/projector/vProjector.hh.

◆ GetTOFMeasurementRangeInMm() [2/2]

public inline int vProjector::GetTOFMeasurementRangeInMm ( )
inline

This function is used to get the TOF measurement range in mm.

Returns
TOF measurement range.

Definition at line 361 of file code/include/projector/vProjector.hh.

◆ GetTOFOffsetInMm()

public inline int vProjector::GetTOFOffsetInMm ( int  a_resolution)
inline

This function is used to get the TOF offsets.

Parameters
a_resolution: resolution index
Returns
TOF offset

Definition at line 333 of file code/include/projector/vProjector.hh.

◆ GetTOFProbabilities()

public inline int vProjector::GetTOFProbabilities ( int  a_resolution)
inline

This function is used to get the TOF probability.

Parameters
inta_resolution
Returns
TOF resolution.

Definition at line 325 of file code/include/projector/vProjector.hh.

◆ GetTOFResolutionInMm() [1/2]

public inline int vProjector::GetTOFResolutionInMm ( )
inline

This function is used to get the TOF resolution in mm.

Parameters
inta_resolution
Returns
TOF resolution.
TOF resolution.

Definition at line 315 of file include/projector/vProjector.hh.

◆ GetTOFResolutionInMm() [2/2]

FLTNB vProjector::GetTOFResolutionInMm ( int  a_resolution)
inline

Definition at line 317 of file code/include/projector/vProjector.hh.

◆ Initialize() [1/2]

int vProjector::Initialize ( )

◆ Initialize() [2/2]

int vProjector::Initialize ( )

A public function used to initialize the projector.

This function does not take any parameter and is used to initialize everything that should be initialized. At the end, it calls the pure virtual InitializeSpecific() function implemented by children.

Returns
An integer reflecting the initialization status; 0 if no problem, another value otherwise.

Definition at line 256 of file code/src/projector/vProjector.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeSpecific() [1/2]

virtual int vProjector::InitializeSpecific ( )
privatepure virtual

◆ InitializeSpecific() [2/2]

private virtual int vProjector::InitializeSpecific ( )
privatepure virtual

A private function used to initialize everything specific to the child projector.

This function is used to initialize everything specific to the projector that should be initialized. It is called by the Initialize() function. It is pure virtual so is implemented by children.

Returns
An integer reflecting the initialization status; 0 if no problem, another value otherwise.

Implemented in iProjectorDistanceDriven, iProjectorDistanceDriven, iProjectorClassicSiddon, iProjectorJoseph, iProjectorClassicSiddon, iProjectorJoseph, iProjectorIncrementalSiddon, iProjectorIncrementalSiddon, iProjectorTemplate, iProjectorTemplate, iProjectorIncrementalSiddonMulti, and iProjectorIncrementalSiddonMulti.

Here is the caller graph for this function:

◆ Project() [1/2]

int vProjector::Project ( int  a_direction,
oProjectionLine ap_ProjectionLine,
uint32_t *  ap_index1,
uint32_t *  ap_index2,
int  a_nbIndices 
)

◆ Project() [2/2]

int vProjector::Project ( int  a_direction,
oProjectionLine ap_ProjectionLine,
uint32_t *  ap_index1,
uint32_t *  ap_index2,
int  a_nbIndices 
)

Definition at line 513 of file code/src/projector/vProjector.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ProjectTOFHistogram() [1/2]

virtual int vProjector::ProjectTOFHistogram ( int  a_direction,
oProjectionLine ap_ProjectionLine 
)
privatepure virtual

◆ ProjectTOFHistogram() [2/2]

virtual int vProjector::ProjectTOFHistogram ( int  a_direction,
oProjectionLine ap_ProjectionLine 
)
privatepure virtual

◆ ProjectTOFListmode() [1/2]

virtual int vProjector::ProjectTOFListmode ( int  a_direction,
oProjectionLine ap_ProjectionLine 
)
privatepure virtual

◆ ProjectTOFListmode() [2/2]

virtual int vProjector::ProjectTOFListmode ( int  a_direction,
oProjectionLine ap_ProjectionLine 
)
privatepure virtual

◆ ProjectWithoutTOF() [1/2]

virtual int vProjector::ProjectWithoutTOF ( int  a_direction,
oProjectionLine ap_ProjectionLine 
)
privatepure virtual

◆ ProjectWithoutTOF() [2/2]

virtual int vProjector::ProjectWithoutTOF ( int  a_direction,
oProjectionLine ap_ProjectionLine 
)
privatepure virtual

◆ ReadCommonOptionsList() [1/2]

int vProjector::ReadCommonOptionsList ( const string &  a_optionsList)

◆ ReadCommonOptionsList() [2/2]

int vProjector::ReadCommonOptionsList ( const string &  a_optionsList)

Definition at line 153 of file code/src/projector/vProjector.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadConfigurationFile() [1/2]

virtual int vProjector::ReadConfigurationFile ( const string &  a_configurationFile)
pure virtual

◆ ReadConfigurationFile() [2/2]

virtual int vProjector::ReadConfigurationFile ( const string &  a_configurationFile)
pure virtual

◆ ReadOptionsList() [1/2]

virtual int vProjector::ReadOptionsList ( const string &  a_optionsList)
pure virtual

◆ ReadOptionsList() [2/2]

virtual int vProjector::ReadOptionsList ( const string &  a_optionsList)
pure virtual

◆ SetApplyPOI() [1/2]

void vProjector::SetApplyPOI ( bool  a_applyPOI)
inline

Definition at line 283 of file include/projector/vProjector.hh.

Here is the call graph for this function:

◆ SetApplyPOI() [2/2]

void vProjector::SetApplyPOI ( bool  a_applyPOI)
inline

Definition at line 284 of file code/include/projector/vProjector.hh.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetApplyTOF() [1/2]

void vProjector::SetApplyTOF ( int  a_applyTOF)
inline

Definition at line 276 of file include/projector/vProjector.hh.

◆ SetApplyTOF() [2/2]

void vProjector::SetApplyTOF ( int  a_applyTOF)
inline

Definition at line 277 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetImageDimensionsAndQuantification() [1/2]

int vProjector::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)

◆ SetImageDimensionsAndQuantification() [2/2]

int vProjector::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)

Definition at line 82 of file code/src/projector/vProjector.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetMask() [1/2]

void vProjector::SetMask ( bool *  ap_mask)
inline

Definition at line 309 of file include/projector/vProjector.hh.

◆ SetMask() [2/2]

void vProjector::SetMask ( bool *  ap_mask)
inline

Definition at line 310 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetNbTOFResolutions()

void vProjector::SetNbTOFResolutions ( int  a_nbTOFResolutions)
inline

Definition at line 411 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetReadPerEventTOFResolution()

public inline void vProjector::SetReadPerEventTOFResolution ( bool  a_readPerEventTOFResolution)
inline

This function is used to set flag informing that TOF resolution should be read per event from datafile.

Parameters
boola_readPerEventTOFResolution

Definition at line 357 of file include/projector/vProjector.hh.

◆ SetScanner() [1/2]

void vProjector::SetScanner ( vScanner ap_Scanner)
inline

Definition at line 262 of file include/projector/vProjector.hh.

◆ SetScanner() [2/2]

void vProjector::SetScanner ( vScanner ap_Scanner)
inline

Definition at line 263 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetSensitivityMode() [1/2]

void vProjector::SetSensitivityMode ( bool  a_sensitivityMode)
inline

Definition at line 269 of file include/projector/vProjector.hh.

◆ SetSensitivityMode() [2/2]

void vProjector::SetSensitivityMode ( bool  a_sensitivityMode)
inline

Definition at line 270 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetTOFBinSizeInMm() [1/2]

void vProjector::SetTOFBinSizeInMm ( FLTNB  a_TOFBinSizeInMm)
inline

Definition at line 350 of file include/projector/vProjector.hh.

◆ SetTOFBinSizeInMm() [2/2]

void vProjector::SetTOFBinSizeInMm ( FLTNB  a_TOFBinSizeInMm)
inline

Definition at line 396 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetTOFEventResolutionFlag()

public inline void vProjector::SetTOFEventResolutionFlag ( FLTNB  a_TOFEventResolutionFlag)
inline

This function sets the per-event TOF resolution flag.

Parameters
FLTNBa_TTOFEventResolutionFlag

Definition at line 375 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetTOFMeasurementRangeInMm() [1/2]

void vProjector::SetTOFMeasurementRangeInMm ( FLTNB  a_TOFMeasurementRangeInMm)
inline

Definition at line 336 of file include/projector/vProjector.hh.

◆ SetTOFMeasurementRangeInMm() [2/2]

void vProjector::SetTOFMeasurementRangeInMm ( FLTNB  a_TOFMeasurementRangeInMm)
inline

Definition at line 368 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetTOFOffsetInMm()

public inline void vProjector::SetTOFOffsetInMm ( FLTNB ap_TOFOffsetsInMm)
inline

This function is used to set the TOF Offset in use.

Parameters
FLTNBa_TOFOffsetsInMm

Definition at line 354 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetTOFProbabilities()

public inline void vProjector::SetTOFProbabilities ( FLTNB ap_TOFProbabilities)
inline

This function is used to set the TOF probabilities in use.

Parameters
FLTNBa_TOFProbabilities

Definition at line 347 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetTOFResolutionInMm() [1/2]

void vProjector::SetTOFResolutionInMm ( FLTNB  a_TOFResolutionInMm)
inline

Definition at line 322 of file include/projector/vProjector.hh.

◆ SetTOFResolutionInMm() [2/2]

void vProjector::SetTOFResolutionInMm ( FLTNB ap_TOFResolutionInMm)
inline

Definition at line 340 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ SetVerbose() [1/2]

void vProjector::SetVerbose ( int  a_verbose)
inline

Definition at line 255 of file include/projector/vProjector.hh.

◆ SetVerbose() [2/2]

void vProjector::SetVerbose ( int  a_verbose)
inline

Definition at line 256 of file code/include/projector/vProjector.hh.

Here is the caller graph for this function:

◆ ShowCommonHelp() [1/2]

static void vProjector::ShowCommonHelp ( )
static

◆ ShowCommonHelp() [2/2]

void vProjector::ShowCommonHelp ( )
static

This function is used to print out some help about the use of options common to all projectors. It is static because it is called in main without instantiating an object.

Definition at line 111 of file code/src/projector/vProjector.cc.

Here is the caller graph for this function:

◆ ShowHelp() [1/2]

void vProjector::ShowHelp ( )

◆ ShowHelp() [2/2]

void vProjector::ShowHelp ( )

A function used to show help about the projector.

This function simply calls the ShowHelpSpecific() function implemented by children.

Definition at line 139 of file code/src/projector/vProjector.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowHelpSpecific() [1/2]

virtual void vProjector::ShowHelpSpecific ( )
privatepure virtual

◆ ShowHelpSpecific() [2/2]

private virtual void vProjector::ShowHelpSpecific ( )
privatepure virtual

A function used to show help about the child module.

This function must describe what the projector does and how to use it. It describes in details the different parameters of the projector, and how to set them through the use of a configuration file or a list of options. It is pure virtual so is implemented by children. It is private because called by the public ShowHelp() function.

Implemented in iProjectorDistanceDriven, iProjectorDistanceDriven, iProjectorClassicSiddon, iProjectorJoseph, iProjectorClassicSiddon, iProjectorJoseph, iProjectorIncrementalSiddon, iProjectorIncrementalSiddon, iProjectorTemplate, iProjectorTemplate, iProjectorIncrementalSiddonMulti, and iProjectorIncrementalSiddonMulti.

Here is the caller graph for this function:

Member Data Documentation

◆ m2p_TOFWeightingFcn

HPFLTNB** vProjector::m2p_TOFWeightingFcn
protected

Precomputed TOF weighting function

Definition at line 433 of file code/include/projector/vProjector.hh.

◆ m_applyPOI

bool vProjector::m_applyPOI
protected

Boolean that says if we apply POI info or not

Definition at line 448 of file code/include/projector/vProjector.hh.

◆ m_checked

bool vProjector::m_checked
protected

Boolean that says if the parameters were checked or not

Definition at line 459 of file code/include/projector/vProjector.hh.

◆ m_compatibleWithCompression

bool vProjector::m_compatibleWithCompression
protected

Boolean that says if the projector is compatible with compression

Definition at line 455 of file code/include/projector/vProjector.hh.

◆ m_compatibleWithSPECTAttenuationCorrection

bool vProjector::m_compatibleWithSPECTAttenuationCorrection
protected

Boolean that says if the projector is compatible with SPECT attenuation correction

Definition at line 452 of file code/include/projector/vProjector.hh.

◆ m_hasMask

bool vProjector::m_hasMask
protected

Is there a mask for voxels

Definition at line 446 of file code/include/projector/vProjector.hh.

◆ m_initialized

bool vProjector::m_initialized
protected

Boolean that says if the projector was initialized or not

Definition at line 461 of file code/include/projector/vProjector.hh.

◆ m_nbTOFResolutions

int vProjector::m_nbTOFResolutions
protected

Number of TOF resolution in the data. Default = -1.0

Definition at line 434 of file code/include/projector/vProjector.hh.

◆ m_nbVoxXY

INTNB vProjector::m_nbVoxXY
protected

Local copy of the number of voxels per slice

Definition at line 420 of file code/include/projector/vProjector.hh.

◆ m_readPerEventTOFResolution

bool vProjector::m_readPerEventTOFResolution
protected

Boolean that says if TOF standard deviation should be read from datafile

Definition at line 384 of file include/projector/vProjector.hh.

◆ m_sensitivityMode

bool vProjector::m_sensitivityMode
protected

Boolean that says if we are computing the global sensitivity or not

Definition at line 450 of file code/include/projector/vProjector.hh.

◆ m_TOFBinProperProcessingFlag

bool vProjector::m_TOFBinProperProcessingFlag
protected

Take properly into account the TOF bin (the TOF Gaussian distribution is either convolved with or integrated over the TOF bin

Definition at line 432 of file code/include/projector/vProjector.hh.

◆ m_TOFBinSizeInMm

FLTNB vProjector::m_TOFBinSizeInMm
protected

The size in mm of a single TOF bin (either cumulative bin for histogrammed data or quantization bin for list-mode data)

Definition at line 435 of file code/include/projector/vProjector.hh.

◆ m_TOFEventResolutionFlag

bool vProjector::m_TOFEventResolutionFlag
protected

Flag that says if TOF information is included in each coincidence event (list-mode). Default = false

Definition at line 443 of file code/include/projector/vProjector.hh.

◆ m_TOFGaussianNormCoef

FLTNB vProjector::m_TOFGaussianNormCoef
protected

The normalization coefficient for the TOF Gaussian distribution (to ensure integral=1)

Definition at line 382 of file include/projector/vProjector.hh.

◆ m_TOFLargestResolutionInMm

FLTNB vProjector::m_TOFLargestResolutionInMm
protected

For multi-tof recon, contain the largest Resolution (FWHM) of the time-of-flight Gaussian distribution (in mm) for the purpose to build the kernel

Definition at line 437 of file code/include/projector/vProjector.hh.

◆ m_TOFMeasurementRangeInMm

FLTNB vProjector::m_TOFMeasurementRangeInMm
protected

Total span of TOF measurements (in mm)

Definition at line 436 of file code/include/projector/vProjector.hh.

◆ m_TOFMethod

int vProjector::m_TOFMethod
protected

Integer tagging the type of TOF use

Definition at line 428 of file code/include/projector/vProjector.hh.

◆ m_TOFNbSigmas

FLTNB vProjector::m_TOFNbSigmas
protected

The TOF distribution truncation factor (number of standard deviations)

Definition at line 429 of file code/include/projector/vProjector.hh.

◆ m_TOFPrecomputedSamplingFactor

FLTNB vProjector::m_TOFPrecomputedSamplingFactor
protected

Sampling factor for oversampling the precomputed TOF weighting function

Definition at line 442 of file code/include/projector/vProjector.hh.

◆ m_TOFResolutionInMm

FLTNB vProjector::m_TOFResolutionInMm
protected

Resolution (FWHM) of the time-of-flight Gaussian distribution (in mm)

Definition at line 381 of file include/projector/vProjector.hh.

◆ m_TOFWeightingFcnNbSamples

INTNB vProjector::m_TOFWeightingFcnNbSamples
protected

Length of the precomputed TOF weighting function

Definition at line 430 of file code/include/projector/vProjector.hh.

◆ m_TOFWeightingFcnPrecomputedFlag

bool vProjector::m_TOFWeightingFcnPrecomputedFlag
protected

Choice of precomputed vs on the fly TOF weighting function

Definition at line 431 of file code/include/projector/vProjector.hh.

◆ m_verbose

int vProjector::m_verbose
protected

The verbose level

Definition at line 457 of file code/include/projector/vProjector.hh.

◆ mp_halfFOV

FLTNB vProjector::mp_halfFOV
protected

Local copy of the FOV half dimensions

Definition at line 421 of file code/include/projector/vProjector.hh.

◆ mp_ImageDimensionsAndQuantification

oImageDimensionsAndQuantification * vProjector::mp_ImageDimensionsAndQuantification
protected

Pointer to the oImageDimensionsAndQuantification object in use

Definition at line 424 of file code/include/projector/vProjector.hh.

◆ mp_mask

bool * vProjector::mp_mask
protected

Mask for voxels: only true voxels will be taken into account for projector coefficients computation (currently 3D - XYZ)

Definition at line 445 of file code/include/projector/vProjector.hh.

◆ mp_nbVox

INTNB vProjector::mp_nbVox
protected

Local copy of the number of voxels

Definition at line 419 of file code/include/projector/vProjector.hh.

◆ mp_Scanner

vScanner * vProjector::mp_Scanner
protected

Pointer to the vScanner object in use

Definition at line 426 of file code/include/projector/vProjector.hh.

◆ mp_sizeVox

FLTNB vProjector::mp_sizeVox
protected

Local copy of the voxels' size

Definition at line 418 of file code/include/projector/vProjector.hh.

◆ mp_TOFGaussianNormCoef

FLTNB* vProjector::mp_TOFGaussianNormCoef
protected

The normalization coefficient for the TOF Gaussian distribution (to ensure integral=1)

Definition at line 441 of file code/include/projector/vProjector.hh.

◆ mp_TOFOffsetInMm

FLTNB* vProjector::mp_TOFOffsetInMm
protected

TOF shift in Ps relatively to the center of the TOF measurement, used to position the tof kernel. Default = no shift

Definition at line 440 of file code/include/projector/vProjector.hh.

◆ mp_TOFProbabilities

FLTNB* vProjector::mp_TOFProbabilities
protected

TOF probability for multi-parameter resolution(s) in ps. Default = equal probabilities for each resolution

Definition at line 439 of file code/include/projector/vProjector.hh.

◆ mp_TOFResolutionInMm

FLTNB* vProjector::mp_TOFResolutionInMm
protected

Resolution (FWHM) of the time-of-flight Gaussian distribution (in mm)

Definition at line 438 of file code/include/projector/vProjector.hh.

◆ mp_TOFWeightingFcn

HPFLTNB* vProjector::mp_TOFWeightingFcn
protected

Precomputed TOF weighting function

Definition at line 378 of file include/projector/vProjector.hh.


The documentation for this class was generated from the following files: