![]() |
CASToR
3.2
Tomographic Reconstruction (PET/SPECT/CT)
|
This class is a child of the vProjector class implementing the distance driven ray tracer. More...
#include <iProjectorDistanceDriven.hh>
Public Member Functions | |
iProjectorDistanceDriven () | |
The constructor of iProjectorDistanceDriven. More... | |
~iProjectorDistanceDriven () | |
The destructor of iProjectorDistanceDriven. 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... | |
iProjectorDistanceDriven () | |
~iProjectorDistanceDriven () | |
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) |
Private Attributes | |
HPFLTNB | m_tolerance_fctr |
HPFLTNB | m_toleranceX |
HPFLTNB | m_toleranceY |
HPFLTNB | m_toleranceZ |
This class is a child of the vProjector class implementing the distance driven ray tracer.
This class implements the distance driven algorithm which was proposed by De Man and Basu Reference: B. De Man and S. Basu, "Distance-driven projection and backprojection in three dimensions", Phys. Med. Biol., vol. 49, pp. 2463-75, 2004.
Definition at line 23 of file code/include/projector/iProjectorDistanceDriven.hh.
iProjectorDistanceDriven::iProjectorDistanceDriven | ( | ) |
The constructor of iProjectorDistanceDriven.
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 25 of file code/src/projector/iProjectorDistanceDriven.cc.
iProjectorDistanceDriven::~iProjectorDistanceDriven | ( | ) |
The destructor of iProjectorDistanceDriven.
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 46 of file code/src/projector/iProjectorDistanceDriven.cc.
iProjectorDistanceDriven::iProjectorDistanceDriven | ( | ) |
iProjectorDistanceDriven::~iProjectorDistanceDriven | ( | ) |
|
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 115 of file code/src/projector/iProjectorDistanceDriven.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 154 of file code/src/projector/iProjectorDistanceDriven.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 135 of file code/src/projector/iProjectorDistanceDriven.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 1492 of file code/src/projector/iProjectorDistanceDriven.cc.
|
privatevirtual |
Implements vProjector.
|
privatevirtual |
Implements vProjector.
|
privatevirtual |
Implements vProjector.
Definition at line 773 of file code/src/projector/iProjectorDistanceDriven.cc.
|
privatevirtual |
Implements vProjector.
|
privatevirtual |
Implements vProjector.
Definition at line 165 of file code/src/projector/iProjectorDistanceDriven.cc.
|
virtual |
Implements vProjector.
|
virtual |
Implements vProjector.
Definition at line 56 of file code/src/projector/iProjectorDistanceDriven.cc.
|
virtual |
Implements vProjector.
Definition at line 69 of file code/src/projector/iProjectorDistanceDriven.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 100 of file code/src/projector/iProjectorDistanceDriven.cc.
|
private |
General tolerance factor to avoid error on boundaries, set to 10^-6 by default
Definition at line 148 of file code/include/projector/iProjectorDistanceDriven.hh.
|
private |
Tolerance to avoid error on boundaries, for X axis
Definition at line 149 of file code/include/projector/iProjectorDistanceDriven.hh.
|
private |
Tolerance to avoid error on boundaries, for Y axis
Definition at line 150 of file code/include/projector/iProjectorDistanceDriven.hh.
|
private |
Tolerance to avoid error on boundaries, for Z axis
Definition at line 151 of file code/include/projector/iProjectorDistanceDriven.hh.