![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
This class implements the original AML algorithm (AB-EMML with B to infinity) More...
#include <iOptimizerOriginalAML.hh>
Public Member Functions | |
iOptimizerOriginalAML () | |
The constructor of iOptimizerOriginalAML. | |
~iOptimizerOriginalAML () | |
The destructor of iOptimizerOriginalAML. | |
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. | |
Private Member Functions | |
void | ShowHelpSpecific () |
A function used to show help about the child optimizer. | |
int | CheckSpecificParameters () |
A private function used to check the parameters settings specific to the child optimizer. | |
int | InitializeSpecific () |
This function is used to initialize specific stuff to the child optimizer. | |
int | SensitivitySpecificOperations (FLTNB a_data, FLTNB a_forwardModel, FLTNB *ap_weight, FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, FLTNB a_quantificationFactor, oProjectionLine *ap_Line) |
This function compute the weight associated to the provided event (for sensitivity computation) | |
int | DataSpaceSpecificOperations (FLTNB a_data, FLTNB a_forwardModel, FLTNB *ap_backwardValues, FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, FLTNB a_quantificationFactor, oProjectionLine *ap_Line) |
This function performs the data space operations specific to the optimizer (computes the values to be backprojected) | |
int | ImageSpaceSpecificOperations (FLTNB a_currentImageValue, FLTNB *ap_newImageValue, FLTNB a_sensitivity, FLTNB *ap_correctionValues) |
This function perform the image update step specific to the optimizer. | |
Private Attributes | |
FLTNB | m_dataSpaceDenominatorThreshold |
FLTNB | m_bound |
This class implements the original AML algorithm (AB-EMML with B to infinity)
This class inherits from vOptimizer and implements the AML algorithm which is a special case of the AB-EMML from C. Byrne, Inverse Problems, 1998, vol. 14, pp. 1455-67, "Iterative algorithms for deblurring and deconvolution with constraints", where the bound B is taken to positive infinity. Here, the A bound is provided as a uniform image bound (single value) which must be quantified (same unit as the reconstructed image).
Definition at line 25 of file iOptimizerOriginalAML.hh.
The constructor of iOptimizerOriginalAML.
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 iOptimizerOriginalAML.cc.
The destructor of iOptimizerOriginalAML.
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 57 of file iOptimizerOriginalAML.cc.
int iOptimizerOriginalAML::CheckSpecificParameters | ( | ) | [private, virtual] |
A private function used to check the parameters settings specific to the child optimizer.
This function is used to check that all parameters specific to the optimizer 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 vOptimizer.
Implements vOptimizer.
Definition at line 143 of file iOptimizerOriginalAML.cc.
int iOptimizerOriginalAML::DataSpaceSpecificOperations | ( | FLTNB | a_data, |
FLTNB | a_forwardModel, | ||
FLTNB * | ap_backwardValues, | ||
FLTNB | a_multiplicativeCorrections, | ||
FLTNB | a_additiveCorrections, | ||
FLTNB | a_quantificationFactor, | ||
oProjectionLine * | ap_Line | ||
) | [private, virtual] |
This function performs the data space operations specific to the optimizer (computes the values to be backprojected)
FLTNB | a_data |
FLTNB | a_forwardModel |
FLTNB* | ap_backwardValues |
FLTNB | a_multiplicativeCorrections |
FLTNB | a_additiveCorrections |
FLTNB | a_quantificationFactor |
oProjectionLine* | ap_Line |
It is the implementation of the pure virtual function from vOptimizer. The results to be backprojected is put at ap_backwardValues location.
Implements vOptimizer.
Definition at line 205 of file iOptimizerOriginalAML.cc.
int iOptimizerOriginalAML::ImageSpaceSpecificOperations | ( | FLTNB | a_currentImageValue, |
FLTNB * | ap_newImageValue, | ||
FLTNB | a_sensitivity, | ||
FLTNB * | ap_correctionValues | ||
) | [private, virtual] |
This function perform the image update step specific to the optimizer.
FLTNB | a_currentImageValue |
FLTNB* | ap_newImageValue |
FLTNB | a_sensitivity |
FLTNB* | ap_correctionValues |
It is the implementation of the pure virtual function from vOptimizer. The new image value is put at the ap_newImageValue location.
Implements vOptimizer.
Definition at line 243 of file iOptimizerOriginalAML.cc.
int iOptimizerOriginalAML::InitializeSpecific | ( | ) | [private, virtual] |
This function is used to initialize specific stuff to the child optimizer.
It is called by the public Initialize() function from the mother.
Implements vOptimizer.
Definition at line 167 of file iOptimizerOriginalAML.cc.
int iOptimizerOriginalAML::ReadConfigurationFile | ( | const string & | a_configurationFile | ) | [virtual] |
A function used to read options from a configuration file.
const | string& a_configurationFile |
This function implements the reading of all options associated to the child optimizer, from a configuration file. It is the implementation of the pure virtual function inherited from the abstract class vOptimizer. It checks the reading status but not the options values that will be checked by the CheckSpecificParameters() function.
Implements vOptimizer.
Definition at line 87 of file iOptimizerOriginalAML.cc.
int iOptimizerOriginalAML::ReadOptionsList | ( | const string & | a_optionsList | ) | [virtual] |
A function used to read options from a list of options.
const | string& a_configurationFile |
This function implements the reading of all options associated to the child optimizer, from a list of options. It is the implementation of the pure virtual function inherited from the abstract class vOptimizer. It checks the reading status but not the options values that will be checked by the CheckSpecificParameters() function.
Implements vOptimizer.
Definition at line 120 of file iOptimizerOriginalAML.cc.
int iOptimizerOriginalAML::SensitivitySpecificOperations | ( | FLTNB | a_data, |
FLTNB | a_forwardModel, | ||
FLTNB * | ap_weight, | ||
FLTNB | a_multiplicativeCorrections, | ||
FLTNB | a_additiveCorrections, | ||
FLTNB | a_quantificationFactor, | ||
oProjectionLine * | ap_Line | ||
) | [private, virtual] |
This function compute the weight associated to the provided event (for sensitivity computation)
FLTNB | a_data |
FLTNB | a_forwardModel |
FLTNB* | ap_weight |
FLTNB | a_multiplicativeCorrections |
FLTNB | a_additiveCorrections |
FLTNB | a_quantificationFactor |
oProjectionLine* | ap_Line |
It is the implementation of the pure virtual function from vOptimizer. The result is put at ap_weight location.
Implements vOptimizer.
Definition at line 190 of file iOptimizerOriginalAML.cc.
void iOptimizerOriginalAML::ShowHelpSpecific | ( | ) | [private, virtual] |
A function used to show help about the child optimizer.
This function must describe what the module does and how to use it. It describes in details the different parameters of the optimizer, 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 vOptimizer. It is called by the public ShowHelp() function.
Implements vOptimizer.
Definition at line 66 of file iOptimizerOriginalAML.cc.
FLTNB iOptimizerOriginalAML::m_bound [private] |
The low bound of the AML algorithm, expressed in the same units as the reconstructed image; must be negative or null (=MLEM)
Definition at line 158 of file iOptimizerOriginalAML.hh.
Threshold applied to the denominator of the data space operation to avoid 0-divisions or too high ratios
Definition at line 157 of file iOptimizerOriginalAML.hh.