![]() |
CASToR
3.2
Tomographic Reconstruction (PET/SPECT/CT)
|
This class is a child of the vProjector class implementing the classic Siddon ray tracer. More...
#include <iProjectorClassicSiddon.hh>
Public Member Functions | |
iProjectorClassicSiddon () | |
The constructor of iProjectorClassicSiddon. More... | |
~iProjectorClassicSiddon () | |
The destructor of iProjectorClassicSiddon. More... | |
int | ReadConfigurationFile (const string &a_configurationFile) |
int | ReadOptionsList (const string &a_optionsList) |
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... | |
iProjectorClassicSiddon () | |
~iProjectorClassicSiddon () | |
int | ReadConfigurationFile (const string &a_configurationFile) |
int | ReadOptionsList (const string &a_optionsList) |
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... | |
![]() | |
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) |
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) |
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... | |
Private Member Functions | |
void | ShowHelpSpecific () |
A function used to show help about the child projector. 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) |
int | ProjectTOFListmode (int a_direction, oProjectionLine *ap_ProjectionLine) |
int | ProjectTOFHistogram (int a_direction, oProjectionLine *ap_ProjectionLine) |
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 () |
A private function used to initialize everything specific to the child projector. More... | |
int | ProjectWithoutTOF (int a_direction, oProjectionLine *ap_ProjectionLine) |
int | ProjectTOFListmode (int a_direction, oProjectionLine *ap_ProjectionLine) |
int | ProjectTOFHistogram (int a_direction, oProjectionLine *ap_ProjectionLine) |
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 code/include/projector/iProjectorClassicSiddon.hh.
iProjectorClassicSiddon::iProjectorClassicSiddon | ( | ) |
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 26 of file code/src/projector/iProjectorClassicSiddon.cc.
iProjectorClassicSiddon::~iProjectorClassicSiddon | ( | ) |
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 code/src/projector/iProjectorClassicSiddon.cc.
iProjectorClassicSiddon::iProjectorClassicSiddon | ( | ) |
iProjectorClassicSiddon::~iProjectorClassicSiddon | ( | ) |
|
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.
Implements vProjector.
Definition at line 90 of file code/src/projector/iProjectorClassicSiddon.cc.
|
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. It is pure virtual so is implemented by children.
Implements vProjector.
|
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.
Reimplemented from vProjector.
Definition at line 116 of file code/src/projector/iProjectorClassicSiddon.cc.
|
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.
Reimplemented from vProjector.
|
privatevirtual |
This function is used to initialize specific stuff to the child projector.
It is called by the public Initialize() function from the mother.
Implements vProjector.
Definition at line 103 of file code/src/projector/iProjectorClassicSiddon.cc.
|
privatevirtual |
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.
Implements vProjector.
|
privatevirtual |
Implements vProjector.
Definition at line 738 of file code/src/projector/iProjectorClassicSiddon.cc.
|
privatevirtual |
Implements vProjector.
|
privatevirtual |
Implements vProjector.
|
privatevirtual |
Implements vProjector.
Definition at line 390 of file code/src/projector/iProjectorClassicSiddon.cc.
|
privatevirtual |
Implements vProjector.
|
privatevirtual |
Implements vProjector.
Definition at line 134 of file code/src/projector/iProjectorClassicSiddon.cc.
|
virtual |
Implements vProjector.
|
virtual |
Implements vProjector.
Definition at line 51 of file code/src/projector/iProjectorClassicSiddon.cc.
|
virtual |
Implements vProjector.
Definition at line 64 of file code/src/projector/iProjectorClassicSiddon.cc.
|
virtual |
Implements vProjector.
|
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.
|
privatevirtual |
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 code/src/projector/iProjectorClassicSiddon.cc.