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

This class implements the NEGML algorithm. More...

#include <iOptimizerNEGML.hh>

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

List of all members.

Public Member Functions

 iOptimizerNEGML ()
 The constructor of iOptimizerNEGML.
 ~iOptimizerNEGML ()
 The destructor of iOptimizerNEGML.
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_psi

Detailed Description

This class implements the NEGML algorithm.

This class inherits from vOptimizer and implements the NEGML algorithm from Van Slambrouck et al, IEEE TMI, Jan 2015, vol. 34, pp. 126-136, "Bias reduction for low-statistics PET: Maximum likelihood reconstruction with a modified Poisson distribution". For the moment it does not implement the alpha parameter so it only needs the psi parameter that manages the transition from Poisson to Gaussian distributions.

Definition at line 25 of file iOptimizerNEGML.hh.


Constructor & Destructor Documentation

The constructor of iOptimizerNEGML.

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 iOptimizerNEGML.cc.

The destructor of iOptimizerNEGML.

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 55 of file iOptimizerNEGML.cc.


Member Function Documentation

int iOptimizerNEGML::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.

Returns:
An integer reflecting the check status; 0 if no problem, another value otherwise.

Implements vOptimizer.

Definition at line 128 of file iOptimizerNEGML.cc.

int iOptimizerNEGML::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)

Parameters:
FLTNBa_data
FLTNBa_forwardModel
FLTNB*ap_backwardValues
FLTNBa_multiplicativeCorrections
FLTNBa_additiveCorrections
FLTNBa_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.

Returns:
An integer reflecting the process status; 0 if no problem, another value otherwise.

Implements vOptimizer.

Definition at line 184 of file iOptimizerNEGML.cc.

int iOptimizerNEGML::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.

Parameters:
FLTNBa_currentImageValue
FLTNB*ap_newImageValue
FLTNBa_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.

Returns:
An integer reflecting the process status; 0 if no problem, another value otherwise.

Implements vOptimizer.

Definition at line 204 of file iOptimizerNEGML.cc.

int iOptimizerNEGML::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.

Returns:
An integer reflecting the initialization status; 0 if no problem, another value otherwise.

Implements vOptimizer.

Definition at line 145 of file iOptimizerNEGML.cc.

int iOptimizerNEGML::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 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.

Returns:
An integer reflecting the reading success; 0 if success, another value otherwise.

Implements vOptimizer.

Definition at line 80 of file iOptimizerNEGML.cc.

Here is the call graph for this function:

int iOptimizerNEGML::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 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.

Returns:
An integer reflecting the reading success; 0 if success, another value otherwise.

Implements vOptimizer.

Definition at line 106 of file iOptimizerNEGML.cc.

Here is the call graph for this function:

int iOptimizerNEGML::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)

Parameters:
FLTNBa_data
FLTNBa_forwardModel
FLTNB*ap_weight
FLTNBa_multiplicativeCorrections
FLTNBa_additiveCorrections
FLTNBa_quantificationFactor
oProjectionLine*ap_Line

It is the implementation of the pure virtual function from vOptimizer. The result is put at ap_weight location.

Returns:
An integer reflecting the process status; 0 if no problem, another value otherwise.

Implements vOptimizer.

Definition at line 167 of file iOptimizerNEGML.cc.

Here is the call graph for this function:

void iOptimizerNEGML::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 64 of file iOptimizerNEGML.cc.


Member Data Documentation

The psi parameter of the NEGML algorithm; a threshold applied to the denominator of the data space operation that controls the transition from Poisson to Gaussian statistics; must be strictly positive

Definition at line 158 of file iOptimizerNEGML.hh.


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