11 #include "gVariables.hh" 12 #include "oImageDimensionsAndQuantification.hh" 13 #include "oImageSpace.hh" 14 #include "vDataFile.hh" 15 #include "oProjectionLine.hh" 281 #define FUNCTION_PENALTY(CLASS) \ 282 static vPenalty *make_penalty() { return new CLASS(); }; 285 #define CLASS_PENALTY(NAME,CLASS) \ 286 class NAME##PenaltyCreator \ 289 NAME##PenaltyCreator() \ 290 { sAddonManager::GetInstance()->mp_listOfPenalties[#NAME] = CLASS::make_penalty; } \ 292 static NAME##PenaltyCreator PenaltyCreator##NAME; void SetPenaltyID(const string &a_penaltyID)
virtual int ReadOptionsList(const string &a_optionsList)=0
virtual int InitializeSpecific()=0
A private function used to initialize everything specific to the child penalty.
int m_penaltyDerivativesOrder
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
void SetVerbose(int a_verbose)
const string & GetPenaltyID()
virtual int LocalPreProcessingStep(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)
FLTNB GetPenaltyStrength()
Get the penalty strength.
virtual void ShowHelpSpecific()=0
A function used to show help about the child module.
int Initialize()
A public function used to initialize the penalty.
void ShowHelp()
A function used to show help about the penalty.
vPenalty()
The constructor of vPenalty.
virtual ~vPenalty()
The destructor of vPenalty.
virtual int GlobalPreProcessingStep()
A public function computing a global pre-processing step for the penalty.
This class is designed to generically described any penalty applied to MAP algorithms.
int GetPenaltyDerivativesOrder()
Get the penalty deratives order.
void SetPenaltyStrength(FLTNB a_penaltyStrength)
int CheckParameters()
A public function used to check the parameters settings.
virtual int CheckSpecificParameters()=0
A private function used to check the parameters settings specific to the child penalty.
This class holds all the matrices in the image domain that can be used in the algorithm: image...
This class is designed to manage all dimensions and quantification related stuff. ...
virtual FLTNB ComputeSecondDerivative(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
void SetImageSpace(oImageSpace *ap_ImageSpace)
virtual int ReadConfigurationFile(const string &a_configurationFile)=0
oImageSpace * mp_ImageSpace
oImageDimensionsAndQuantification * mp_ImageDimensionsAndQuantification
virtual FLTNB ComputePenaltyValue(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)=0