8 #ifndef IPENALTYMARKOVRANDOMFIELD_HH 9 #define IPENALTYMARKOVRANDOMFIELD_HH 1 12 #include "sAddonManager.hh" 13 #include "sOutputManager.hh" 15 #define MRF_POTENTIAL_QUADRATIC 0 16 #define MRF_POTENTIAL_RELATIVE_DIFFERENCE 1 17 #define MRF_POTENTIAL_GEMAN_MCCLURE 2 18 #define MRF_POTENTIAL_GREEN 3 19 #define MRF_POTENTIAL_HEBERT_LEAHY 4 20 #define MRF_POTENTIAL_HUBER 5 22 #define MRF_PROXIMITY_NONE 0 23 #define MRF_PROXIMITY_EUCLIDIAN 1 24 #define MRF_PROXIMITY_VOXEL 2 27 #define MRF_SIMILARITY_NONE 0 28 #define MRF_SIMILARITY_BOWSHER 1 30 #define MRF_NEIGHBORHOOD_SPHERE 0 31 #define MRF_NEIGHBORHOOD_BOX 1 32 #define MRF_NEIGHBORHOOD_6_NEAREST 2 34 #define MRF_NOT_DEFINED -1 36 #define MRF_NEIGHBOR_X 0 37 #define MRF_NEIGHBOR_Y 1 38 #define MRF_NEIGHBOR_Z 2
INTNB m_neighborhoodMaxNbVoxels
INTNB ** m2p_neighborhoodKernel
int BuildSpecificNeighborhood(INTNB a_voxel, int a_th)
INTNB m_similarityBowsherNbVoxels
FLTNB m_potentialGemanMcClureDelta
This class implements the general Markov Random Field kind of penalties.
FLTNB m_potentialHuberDelta
INTNB GetNeighborhoodMaxNbVoxels()
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)
int m_neighborhoodBoxOrder
FLTNB ComputeSecondDerivative(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)
int ReadConfigurationFile(const string &a_configurationFile)
FLTNB ComputeFirstDerivative(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)
INTNB ** m2p_neighborhoodIndices
FLTNB * mp_proximityKernel
FLTNB m_similarityBowsherThreshold
FLTNB * GetSimilarityFactors(int a_th)
int InitializeSpecific()
This function is used to initialize specific stuff to the child penalty.
#define CLASS_PENALTY(NAME, CLASS)
FLTNB * GetProximityKernel()
#define FUNCTION_PENALTY(CLASS)
FLTNB m_neighborhoodSphereRadius
iPenaltyMarkovRandomField()
The constructor of iPenaltyMarkovRandomField.
This class is designed to generically described any penalty applied to MAP algorithms.
FLTNB ** m2p_similarityFactors
int ReadOptionsList(const string &a_optionsList)
FLTNB m_potentialGreenLogCoshDelta
FLTNB m_proximityCharacteristicDistance
FLTNB ComputePenaltyValue(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)
int ComputeSimilarityFactors(int a_tbf, int a_rbf, int a_cbf, INTNB a_voxel, int a_th)
~iPenaltyMarkovRandomField()
The destructor of iPenaltyMarkovRandomField.
FLTNB m_potentialHebertLeahyMu
INTNB * mp_neighborhoodNbVoxels
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.
void ShowHelpSpecific()
A function used to show help about the child penalty.
Declaration of class vPenalty.
int m_neighborhoodBoxExcludeCorners