CASToR  1.0
Tomographic Reconstruction (PET/SPECT)
Public Member Functions | Private Member Functions
iProjectorClassicSiddon Class Reference

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

#include <iProjectorClassicSiddon.hh>

Inheritance diagram for iProjectorClassicSiddon:
Inheritance graph
[legend]
Collaboration diagram for iProjectorClassicSiddon:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 iProjectorClassicSiddon ()
 The constructor of iProjectorClassicSiddon.
 ~iProjectorClassicSiddon ()
 The destructor of iProjectorClassicSiddon.
int ReadConfigurationFile (const string &a_configurationFile)
 A function used to read options from a configuration file.
int ReadOptionsList (const string &a_optionsList)
 A function used to read options from a list of options.
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.

Private Member Functions

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

Detailed Description

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

This class implements the classic Siddon algorithm which is a ray-tracer algorithm calculating the exact length of a line through each voxel it crosses. Reference: R. L. Siddon, "Fast calculation of the exact radiological path for a three-dimensional CT array", Med. Phys., vol. 12, pp. 252-5, 1985.

Definition at line 22 of file iProjectorClassicSiddon.hh.


Constructor & Destructor Documentation

The constructor of iProjectorClassicSiddon.

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 29 of file iProjectorClassicSiddon.cc.

The destructor of iProjectorClassicSiddon.

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 42 of file iProjectorClassicSiddon.cc.


Member Function Documentation

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 90 of file iProjectorClassicSiddon.cc.

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 from vProjector.

Definition at line 116 of file iProjectorClassicSiddon.cc.

Here is the call graph for this function:

int iProjectorClassicSiddon::InitializeSpecific ( ) [private, virtual]

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 103 of file iProjectorClassicSiddon.cc.

int iProjectorClassicSiddon::ProjectWithoutTOF ( int  a_direction,
oProjectionLine ap_ProjectionLine 
) [private, virtual]

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 134 of file iProjectorClassicSiddon.cc.

Here is the call graph for this function:

int iProjectorClassicSiddon::ProjectWithTOFBin ( int  a_direction,
oProjectionLine ap_ProjectionLine 
) [private, virtual]

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 411 of file iProjectorClassicSiddon.cc.

int iProjectorClassicSiddon::ProjectWithTOFPos ( int  a_direction,
oProjectionLine ap_ProjectionLine 
) [private, virtual]

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 400 of file iProjectorClassicSiddon.cc.

int iProjectorClassicSiddon::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 51 of file iProjectorClassicSiddon.cc.

int iProjectorClassicSiddon::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 64 of file iProjectorClassicSiddon.cc.

void iProjectorClassicSiddon::ShowHelpSpecific ( ) [private, virtual]

A function used to show help about the child projector.

This function must describe what the module 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 the implementation of the pure virtual function inherited from the abstract class vProjector.

Implements vProjector.

Definition at line 77 of file iProjectorClassicSiddon.cc.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Defines