30 #ifndef IPENALTYMARKOVRANDOMFIELD_HH 31 #define IPENALTYMARKOVRANDOMFIELD_HH 1 37 #define MRF_POTENTIAL_QUADRATIC 0 38 #define MRF_POTENTIAL_RELATIVE_DIFFERENCE 1 39 #define MRF_POTENTIAL_GEMAN_MCCLURE 2 40 #define MRF_POTENTIAL_GREEN 3 41 #define MRF_POTENTIAL_HEBERT_LEAHY 4 42 #define MRF_POTENTIAL_HUBER 5 44 #define MRF_PROXIMITY_NONE 0 45 #define MRF_PROXIMITY_EUCLIDIAN 1 46 #define MRF_PROXIMITY_VOXEL 2 49 #define MRF_SIMILARITY_NONE 0 50 #define MRF_SIMILARITY_BOWSHER 1 52 #define MRF_NEIGHBORHOOD_SPHERE 0 53 #define MRF_NEIGHBORHOOD_BOX 1 54 #define MRF_NEIGHBORHOOD_6_NEAREST 2 56 #define MRF_NOT_DEFINED -1 58 #define MRF_NEIGHBOR_X 0 59 #define MRF_NEIGHBOR_Y 1 60 #define MRF_NEIGHBOR_Z 2
INTNB m_neighborhoodMaxNbVoxels
int BuildSpecificNeighborhood(INTNB a_voxel, int a_th)
Computes the specific neighborhood of a voxel, m2p_neighborhoodIndices, as well as mp_neighborhoodNbV...
INTNB m_similarityBowsherNbVoxels
FLTNB m_potentialGemanMcClureDelta
This class implements the general Markov Random Field kind of penalties.
FLTNB m_potentialHuberDelta
FLTNB * mp_proximityKernel
INTNB GetNeighborhoodMaxNbVoxels()
FLTNB ** m2p_similarityFactors
INTNB ** GetNeighborhoodIndices()
FLTNB m_potentialRelativeDifferenceGamma
int BuildProximityFactors()
A function used to build the kernel of the proximity factors.
int LocalPreProcessingStep(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)
A public function computing a local pre-processing step for the penalty.
int m_neighborhoodBoxOrder
FLTNB ComputeSecondDerivative(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)
Implementation of the pure virtual vPenalty::ComputeSecondDerivative()
int ReadConfigurationFile(const string &a_configurationFile)
A function used to read options from a configuration file.
FLTNB ComputeFirstDerivative(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)
Implementation of the pure virtual vPenalty::ComputeFirstDerivative()
FLTNB m_similarityBowsherThreshold
INTNB ** m2p_neighborhoodKernel
int InitializeSpecific()
This function is used to initialize specific stuff to the child penalty.
FLTNB * GetProximityKernel()
INTNB * mp_neighborhoodNbVoxels
FLTNB m_neighborhoodSphereRadius
iPenaltyMarkovRandomField()
The constructor of iPenaltyMarkovRandomField.
#define FUNCTION_PENALTY(CLASS)
Declaration of class vPenalty.
This class is designed to generically described any penalty applied to MAP algorithms.
int ReadOptionsList(const string &a_optionsList)
A function used to read options from a list of options.
FLTNB m_potentialGreenLogCoshDelta
FLTNB m_proximityCharacteristicDistance
FLTNB ComputePenaltyValue(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)
Implementation of the pure virtual vPenalty::ComputePenaltyValue()
Declaration of class sOutputManager.
int ComputeSimilarityFactors(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)
Computes the similarity factors of this specific voxel with respect to the similarity type used...
#define CLASS_PENALTY(NAME, CLASS)
~iPenaltyMarkovRandomField()
The destructor of iPenaltyMarkovRandomField.
FLTNB m_potentialHebertLeahyMu
int CheckSpecificParameters()
A private function used to check the parameters settings specific to the child penalty.
int BuildNeighborhoodKernel()
A function used to build the neighborhood kernel.
INTNB ** m2p_neighborhoodIndices
void ShowHelpSpecific()
A function used to show help about the child penalty.
Declaration of class sAddonManager.
int m_neighborhoodBoxExcludeCorners