22 #ifndef otbMRFEnergyEdgeFidelity_h
23 #define otbMRFEnergyEdgeFidelity_h
26 #include "vcl_legacy_aliases.h"
51 template <
class TInput1,
class TInput2>
70 double val1 =
static_cast<double>(value1);
71 double val2 =
static_cast<double>(value2);
73 return vnl_math_sqr((val1 - val2)) / (1 + vnl_math_sqr(val1 - val2));
This is the implementation of an edge preserving model for Markov denoising.
double GetSingleValue(const InputImagePixelType &value1, const LabelledImagePixelType &value2) override
MRFEnergyEdgeFidelity Self
MRFEnergy< TInput1, TInput2 > Superclass
~MRFEnergyEdgeFidelity() override
itk::SmartPointer< Self > Pointer
itk::ConstNeighborhoodIterator< TInput1 > NeighborhoodIterator
TInput1::PixelType InputImagePixelType
itk::SmartPointer< const Self > ConstPointer
TInput2::PixelType LabelledImagePixelType
This is the base class for energy function used in the MRF framework.
InputImageType::PixelType InputImagePixelType
LabelledImageType::PixelType LabelledImagePixelType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.