![]() |
CASToR
3.2
Tomographic Reconstruction (PET/SPECT/CT)
|
This class is designed to generically described any penalty applied to MAP algorithms. More...
#include <vPenalty.hh>
Public Member Functions | |
vPenalty () | |
The constructor of vPenalty. More... | |
virtual | ~vPenalty () |
The destructor of vPenalty. More... | |
void | ShowHelp () |
A function used to show help about the penalty. More... | |
int | CheckParameters () |
A public function used to check the parameters settings. More... | |
int | Initialize () |
A public function used to initialize the penalty. More... | |
virtual int | GlobalPreProcessingStep () |
A public function computing a global pre-processing step for the penalty. More... | |
virtual int | LocalPreProcessingStep (int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th) |
virtual FLTNB | ComputePenaltyValue (int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)=0 |
virtual FLTNB | ComputeFirstDerivative (int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)=0 |
virtual FLTNB | ComputeSecondDerivative (int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)=0 |
void | SetVerbose (int a_verbose) |
void | SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification) |
void | SetImageSpace (oImageSpace *ap_ImageSpace) |
void | SetPenaltyStrength (FLTNB a_penaltyStrength) |
FLTNB | GetPenaltyStrength () |
Get the penalty strength. More... | |
int | GetPenaltyDerivativesOrder () |
Get the penalty deratives order. More... | |
void | SetPenaltyID (const string &a_penaltyID) |
const string & | GetPenaltyID () |
virtual int | ReadConfigurationFile (const string &a_configurationFile)=0 |
virtual int | ReadOptionsList (const string &a_optionsList)=0 |
vPenalty () | |
virtual | ~vPenalty () |
void | ShowHelp () |
int | CheckParameters () |
int | Initialize () |
virtual int | GlobalPreProcessingStep () |
virtual int | LocalPreProcessingStep (int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th) |
virtual FLTNB | ComputePenaltyValue (FLTNB *ap_image, INTNB a_voxel, int a_th)=0 |
virtual FLTNB | ComputeFirstDerivative (FLTNB *ap_image, INTNB a_voxel, int a_th)=0 |
virtual FLTNB | ComputeSecondDerivative (FLTNB *ap_image, INTNB a_voxel, int a_th)=0 |
void | SetVerbose (int a_verbose) |
void | SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification) |
void | SetImageSpace (oImageSpace *ap_ImageSpace) |
void | SetDataFile (vDataFile *ap_DataFile) |
Set the image space in use. More... | |
void | SetPenaltyStrength (FLTNB a_penaltyStrength) |
FLTNB | GetPenaltyStrength () |
int | GetPenaltyDerivativesOrder () |
void | SetPenaltyID (const string &a_penaltyID) |
const string & | GetPenaltyID () |
virtual int | ReadConfigurationFile (const string &a_configurationFile)=0 |
virtual int | ReadOptionsList (const string &a_optionsList)=0 |
Protected Attributes | |
string | m_penaltyID |
oImageDimensionsAndQuantification * | mp_ImageDimensionsAndQuantification |
oImageSpace * | mp_ImageSpace |
int | m_verbose |
int | m_penaltyDerivativesOrder |
FLTNB | m_penaltyStrength |
vDataFile * | mp_DataFile |
Private Member Functions | |
virtual int | CheckSpecificParameters ()=0 |
A private function used to check the parameters settings specific to the child penalty. More... | |
virtual void | ShowHelpSpecific ()=0 |
A function used to show help about the child module. More... | |
virtual int | InitializeSpecific ()=0 |
A private function used to initialize everything specific to the child penalty. More... | |
virtual int | CheckSpecificParameters ()=0 |
virtual void | ShowHelpSpecific ()=0 |
virtual int | InitializeSpecific ()=0 |
This class is designed to generically described any penalty applied to MAP algorithms.
This class is an abstract one, in the sense that it cannot be used on its own because several pure virtual functions belong to it. Its children are implementations of actual penalties. Everywhere in the code, this parent class should be used instead of any of its children. Nothing is yet implemented. To be designed.
Definition at line 26 of file code/include/optimizer/vPenalty.hh.
vPenalty::vPenalty | ( | ) |
The constructor of vPenalty.
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 16 of file code/src/optimizer/vPenalty.cc.
|
virtual |
The destructor of vPenalty.
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. It is virtual, so that it is automatically called when a child object is deleted.
Definition at line 32 of file code/src/optimizer/vPenalty.cc.
vPenalty::vPenalty | ( | ) |
|
virtual |
int vPenalty::CheckParameters | ( | ) |
A public function used to check the parameters settings.
This function does not take any parameter and is used to check that all mandatory members were correctly parameterized. At the end, it calls the pure virtual CheckSpecificParameters() function implemented by children.
Definition at line 53 of file code/src/optimizer/vPenalty.cc.
int vPenalty::CheckParameters | ( | ) |
|
privatepure virtual |
A private function used to check the parameters settings specific to the child penalty.
This function is used to check that all parameters specific to the penalty are correctly set within allowed values. It is called by the CheckParameters() function. It is pure virtual so is implemented by children.
Implemented in iPenaltyMarkovRandomField, iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, iPenaltyMedianRootPrior, iPenaltyTemplate, iPenaltyQuadratic, and iPenaltyTemplate.
|
privatepure virtual |
|
pure virtual |
Implemented in iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, iPenaltyQuadratic, and iPenaltyTemplate.
|
pure virtual |
Implemented in iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, and iPenaltyTemplate.
|
pure virtual |
Implemented in iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, iPenaltyQuadratic, and iPenaltyTemplate.
|
pure virtual |
Implemented in iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, and iPenaltyTemplate.
|
pure virtual |
Implemented in iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, iPenaltyQuadratic, and iPenaltyTemplate.
|
pure virtual |
Implemented in iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, and iPenaltyTemplate.
|
inline |
Get the penalty deratives order.
Definition at line 182 of file code/include/optimizer/vPenalty.hh.
|
inline |
Definition at line 183 of file include/optimizer/vPenalty.hh.
|
inline |
Definition at line 195 of file code/include/optimizer/vPenalty.hh.
|
inline |
Definition at line 196 of file include/optimizer/vPenalty.hh.
|
inline |
Get the penalty strength.
Definition at line 175 of file code/include/optimizer/vPenalty.hh.
|
inline |
Definition at line 176 of file include/optimizer/vPenalty.hh.
|
virtual |
A public function computing a global pre-processing step for the penalty.
This function of this mother class does nothing but can be overloaded by children in order to compute some required pre-processing step before going through the loops on dimensions.
Definition at line 116 of file code/src/optimizer/vPenalty.cc.
|
virtual |
int vPenalty::Initialize | ( | ) |
int vPenalty::Initialize | ( | ) |
A public function used to initialize the penalty.
This function does not take any parameter and is used to initialize everything that should be initialized. At the end, it calls the pure virtual InitializeSpecific() function implemented by children.
Definition at line 94 of file code/src/optimizer/vPenalty.cc.
|
privatepure virtual |
A private function used to initialize everything specific to the child penalty.
This function is used to initialize everything specific to the penalty that should be initialized. It is called by the Initialize() function. It is pure virtual so is implemented by children.
Implemented in iPenaltyMarkovRandomField, iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, iPenaltyMedianRootPrior, iPenaltyTemplate, iPenaltyQuadratic, and iPenaltyTemplate.
|
privatepure virtual |
|
virtual |
Reimplemented in iPenaltyMarkovRandomField, iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, and iPenaltyMedianRootPrior.
Definition at line 127 of file code/src/optimizer/vPenalty.cc.
|
virtual |
Reimplemented in iPenaltyMarkovRandomField, iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, and iPenaltyMedianRootPrior.
|
pure virtual |
Implemented in iPenaltyMarkovRandomField, iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, iPenaltyMedianRootPrior, iPenaltyTemplate, iPenaltyQuadratic, and iPenaltyTemplate.
|
pure virtual |
|
pure virtual |
Implemented in iPenaltyMarkovRandomField, iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, iPenaltyMedianRootPrior, iPenaltyTemplate, iPenaltyQuadratic, and iPenaltyTemplate.
|
pure virtual |
|
inline |
Set the image space in use.
vDataFile* | ap_DataFile |
Definition at line 162 of file include/optimizer/vPenalty.hh.
|
inline |
Definition at line 148 of file include/optimizer/vPenalty.hh.
|
inline |
Definition at line 154 of file code/include/optimizer/vPenalty.hh.
|
inline |
Definition at line 155 of file include/optimizer/vPenalty.hh.
|
inline |
Definition at line 161 of file code/include/optimizer/vPenalty.hh.
|
inline |
Definition at line 189 of file code/include/optimizer/vPenalty.hh.
|
inline |
Definition at line 190 of file include/optimizer/vPenalty.hh.
|
inline |
Definition at line 168 of file code/include/optimizer/vPenalty.hh.
|
inline |
Definition at line 169 of file include/optimizer/vPenalty.hh.
|
inline |
Definition at line 141 of file include/optimizer/vPenalty.hh.
|
inline |
Definition at line 147 of file code/include/optimizer/vPenalty.hh.
void vPenalty::ShowHelp | ( | ) |
A function used to show help about the penalty.
This function simply calls the ShowHelpSpecific() function implemented by children.
Definition at line 41 of file code/src/optimizer/vPenalty.cc.
void vPenalty::ShowHelp | ( | ) |
|
privatepure virtual |
A function used to show help about the child module.
This function must describe what the penalty does and how to use it. It describes in details the different parameters of the penalty, 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.
Implemented in iPenaltyMarkovRandomField, iPenaltyMarkovRandomField, iPenaltyMedianRootPrior, iPenaltyMedianRootPrior, iPenaltyTemplate, iPenaltyQuadratic, and iPenaltyTemplate.
|
privatepure virtual |
|
protected |
The derivative order of the penalty
Definition at line 271 of file code/include/optimizer/vPenalty.hh.
|
protected |
String containing the name provided as the class identifer in the children classes
Definition at line 263 of file code/include/optimizer/vPenalty.hh.
|
protected |
Regularization parameter (penalty strength)
Definition at line 272 of file code/include/optimizer/vPenalty.hh.
|
protected |
The verbose level
Definition at line 269 of file code/include/optimizer/vPenalty.hh.
|
protected |
Pointer to the data file object in use
Definition at line 269 of file include/optimizer/vPenalty.hh.
|
protected |
The pointer to the image dimensions and quantification object
Definition at line 266 of file code/include/optimizer/vPenalty.hh.
|
protected |
The pointer to the image object
Definition at line 267 of file code/include/optimizer/vPenalty.hh.