![]() |
CASToR
3.2
Tomographic Reconstruction (PET/SPECT/CT)
|
This class is a child of the vProjector class implementing the incremental Siddon ray tracer. More...
#include <iProjectorIncrementalSiddon.hh>
Public Member Functions | |
iProjectorIncrementalSiddon () | |
The constructor of iProjectorIncrementalSiddon. More... | |
~iProjectorIncrementalSiddon () | |
The destructor of iProjectorIncrementalSiddon. 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... | |
iProjectorIncrementalSiddon () | |
~iProjectorIncrementalSiddon () | |
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 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) |
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 incremental Siddon ray tracer.
This class implements the incremental version of the Siddon algorithm which is a fast ray-tracer algorithm calculating the exact length of a line through each voxel it crosses. Reference: F. Jacobs et al, "A fast algorithm to calculate the exact radiological path through a pixel or voxel space", J. Comput. Inf. Technol., vol. 6, pp. 89-94, 1998.
Definition at line 23 of file code/include/projector/iProjectorIncrementalSiddon.hh.
iProjectorIncrementalSiddon::iProjectorIncrementalSiddon | ( | ) |
The constructor of iProjectorIncrementalSiddon.
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 22 of file code/src/projector/iProjectorIncrementalSiddon.cc.
iProjectorIncrementalSiddon::~iProjectorIncrementalSiddon | ( | ) |
The destructor of iProjectorIncrementalSiddon.
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 code/src/projector/iProjectorIncrementalSiddon.cc.
iProjectorIncrementalSiddon::iProjectorIncrementalSiddon | ( | ) |
iProjectorIncrementalSiddon::~iProjectorIncrementalSiddon | ( | ) |
|
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 89 of file code/src/projector/iProjectorIncrementalSiddon.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.
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.
Reimplemented from vProjector.
Definition at line 115 of file code/src/projector/iProjectorIncrementalSiddon.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 102 of file code/src/projector/iProjectorIncrementalSiddon.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 856 of file code/src/projector/iProjectorIncrementalSiddon.cc.
|
privatevirtual |
Implements vProjector.
|
privatevirtual |
Implements vProjector.
|
privatevirtual |
Implements vProjector.
Definition at line 389 of file code/src/projector/iProjectorIncrementalSiddon.cc.
|
privatevirtual |
Implements vProjector.
|
privatevirtual |
Implements vProjector.
Definition at line 133 of file code/src/projector/iProjectorIncrementalSiddon.cc.
|
virtual |
Implements vProjector.
|
virtual |
Implements vProjector.
Definition at line 50 of file code/src/projector/iProjectorIncrementalSiddon.cc.
|
virtual |
Implements vProjector.
Definition at line 63 of file code/src/projector/iProjectorIncrementalSiddon.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 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 76 of file code/src/projector/iProjectorIncrementalSiddon.cc.