CASToR  1.1
Tomographic Reconstruction (PET/SPECT)
 All Classes Files Functions Variables Typedefs Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
iProjectorIncrementalSiddonMulti Class Reference

This class is a child of the vProjector class implementing the multi incremental Siddon ray tracer. More...

#include <iProjectorIncrementalSiddonMulti.hh>

Inheritance diagram for iProjectorIncrementalSiddonMulti:
Inheritance graph
Collaboration diagram for iProjectorIncrementalSiddonMulti:
Collaboration graph

Public Member Functions

 iProjectorIncrementalSiddonMulti ()
 The constructor of iProjectorIncrementalSiddonMulti. More...
 
 ~iProjectorIncrementalSiddonMulti ()
 The destructor of iProjectorIncrementalSiddonMulti. More...
 
int ReadConfigurationFile (const string &a_configurationFile)
 A function used to read options from a configuration file. More...
 
int ReadOptionsList (const string &a_optionsList)
 A function used to read options from a list of options. More...
 
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...
 
- Public Member Functions inherited from vProjector
 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)
 This function is used to read options common to all projectors given as a string. More...
 
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)
 A function use to computed the projection elements with respect to the provided parameters. More...
 
void SetVerbose (int a_verbose)
 Set the verbose level. More...
 
void SetScanner (vScanner *ap_Scanner)
 Set the pointer to the scanner in use. More...
 
int SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 Set the pointer to the image dimensions in use and copy locally some often use variables. More...
 
int SetTOFAndPOIOptions (int a_dataType, bool a_ignoreTOF, bool a_ignorePOI)
 Set the TOF use as well as POI and checks compatibility with current data type. More...
 
bool GetCompatibilityWithSPECTAttenuationCorrection ()
 

Private Member Functions

void ShowHelpSpecific ()
 A function used to show help about the child module. More...
 
int CheckSpecificParameters ()
 A private function used to check the parameters settings specific to the child projector. More...
 
int InitializeSpecific ()
 This function is used to initialize specific stuff to the child projector. More...
 
int ProjectWithoutTOF (int a_direction, oProjectionLine *ap_ProjectionLine)
 A function to project without TOF. More...
 
int ProjectWithTOFPos (int a_direction, oProjectionLine *ap_ProjectionLine)
 A function to project with TOF continuous information. More...
 
int ProjectWithTOFBin (int a_direction, oProjectionLine *ap_ProjectionLine)
 A function to project with TOF binned information. More...
 

Private Attributes

int m_nbLines
 

Additional Inherited Members

- Static Public Member Functions inherited from vProjector
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...
 
- Protected Attributes inherited from vProjector
FLTNB mp_sizeVox [3]
 
INTNB mp_nbVox [3]
 
INTNB m_nbVoxXY
 
FLTNB mp_halfFOV [3]
 
oImageDimensionsAndQuantificationmp_ImageDimensionsAndQuantification
 
vScannermp_Scanner
 
int m_applyTOF
 
FLTNB m_TOFnbSigmas
 
bool m_applyPOI
 
bool m_compatibleWithSPECTAttenuationCorrection
 
int m_verbose
 
bool m_checked
 
bool m_initialized
 

Detailed Description

This class is a child of the vProjector class implementing the multi incremental Siddon ray tracer.

This class implements a multi-ray projector, based on the incremental Siddon algorithm, and a random positionning of LOR end points inside the crystals.

Definition at line 23 of file iProjectorIncrementalSiddonMulti.hh.

Constructor & Destructor Documentation

iProjectorIncrementalSiddonMulti::iProjectorIncrementalSiddonMulti ( )

The constructor of iProjectorIncrementalSiddonMulti.

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 26 of file iProjectorIncrementalSiddonMulti.cc.

iProjectorIncrementalSiddonMulti::~iProjectorIncrementalSiddonMulti ( )

The destructor of iProjectorIncrementalSiddonMulti.

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.

Definition at line 41 of file iProjectorIncrementalSiddonMulti.cc.

Member Function Documentation

int iProjectorIncrementalSiddonMulti::CheckSpecificParameters ( )
privatevirtual

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 of the mother class. It is the implementation of the pure virtual function inherited from the abstract mother class vProjector.

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

Implements vProjector.

Definition at line 99 of file iProjectorIncrementalSiddonMulti.cc.

INTNB iProjectorIncrementalSiddonMulti::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.

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

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

Reimplemented from vProjector.

Definition at line 129 of file iProjectorIncrementalSiddonMulti.cc.

Here is the call graph for this function:

int iProjectorIncrementalSiddonMulti::InitializeSpecific ( )
privatevirtual

This function is used to initialize specific stuff to the child projector.

It is called by the public Initialize() function from the mother.

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

Implements vProjector.

Definition at line 116 of file iProjectorIncrementalSiddonMulti.cc.

int iProjectorIncrementalSiddonMulti::ProjectWithoutTOF ( int  a_direction,
oProjectionLine ap_ProjectionLine 
)
privatevirtual

A function to project without TOF.

Parameters
inta_direction
oProjectionLine*ap_ProjectionLine

Projects the provided line following the provided direction, without TOF. It fills the provided oProjectionLine. It is an implementation of the pure virtual function from the mother class.

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

Implements vProjector.

Definition at line 149 of file iProjectorIncrementalSiddonMulti.cc.

Here is the call graph for this function:

int iProjectorIncrementalSiddonMulti::ProjectWithTOFBin ( int  a_direction,
oProjectionLine ap_ProjectionLine 
)
privatevirtual

A function to project with TOF binned information.

Parameters
inta_direction
oProjectionLine*ap_ProjectionLine

Projects the provided line following the provided direction, with TOF information describe as a histogram bin. It fills the provided oProjectionLine. It is an implementation of the pure virtual function from the mother class.

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

Implements vProjector.

Definition at line 435 of file iProjectorIncrementalSiddonMulti.cc.

int iProjectorIncrementalSiddonMulti::ProjectWithTOFPos ( int  a_direction,
oProjectionLine ap_ProjectionLine 
)
privatevirtual

A function to project with TOF continuous information.

Parameters
inta_direction
oProjectionLine*ap_ProjectionLine

Projects the provided line following the provided direction, with TOF described as a continuous measurement. It fills the provided oProjectionLine. It is an implementation of the pure virtual function from the mother class.

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

Implements vProjector.

Definition at line 424 of file iProjectorIncrementalSiddonMulti.cc.

int iProjectorIncrementalSiddonMulti::ReadConfigurationFile ( const string &  a_configurationFile)
virtual

A function used to read options from a configuration file.

Parameters
conststring& a_configurationFile

This function implements the reading of all options associated to the child projector, from a configuration file. It is the implementation of the pure virtual function inherited from the abstract class vProjector. It checks the reading status but not the options values that will be checked by the CheckSpecificParameters() function.

Returns
An integer reflecting the reading success; 0 if success, another value otherwise.

Implements vProjector.

Definition at line 50 of file iProjectorIncrementalSiddonMulti.cc.

Here is the call graph for this function:

int iProjectorIncrementalSiddonMulti::ReadOptionsList ( const string &  a_optionsList)
virtual

A function used to read options from a list of options.

Parameters
conststring& a_configurationFile

This function implements the reading of all options associated to the child projector, from a list of options. It is the implementation of the pure virtual function inherited from the abstract class vProjector. It checks the reading status but not the options values that will be checked by the CheckSpecificParameters() function.

Returns
An integer reflecting the reading success; 0 if success, another value otherwise.

Implements vProjector.

Definition at line 68 of file iProjectorIncrementalSiddonMulti.cc.

Here is the call graph for this function:

void iProjectorIncrementalSiddonMulti::ShowHelpSpecific ( )
privatevirtual

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.

Implements vProjector.

Definition at line 85 of file iProjectorIncrementalSiddonMulti.cc.

Member Data Documentation

int iProjectorIncrementalSiddonMulti::m_nbLines
private

The number of lines that will be used for each event

Definition at line 144 of file iProjectorIncrementalSiddonMulti.hh.


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