OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage > Class Template Reference

#include <otbMarkovRandomFieldFilter.h>

+ Inheritance diagram for otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >:
+ Collaboration diagram for otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef EnergyFidelityType::Pointer EnergyFidelityPointer
 
typedef MRFEnergy< TInputImage, TClassifiedImage > EnergyFidelityType
 
typedef EnergyRegularizationType::Pointer EnergyRegularizationPointer
 
typedef MRFEnergy< TClassifiedImage, TClassifiedImage > EnergyRegularizationType
 
typedef LabelledImageIndexType::IndexValueType IndexValueType
 
typedef TInputImage::ConstPointer InputImageConstPointer
 
typedef InputImageFaceListType::iterator InputImageFaceListIterator
 
typedef InputImageFacesCalculator::FaceListType InputImageFaceListType
 
typedef itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TInputImage > InputImageFacesCalculator
 
typedef itk::ConstNeighborhoodIterator< TInputImage > InputImageNeighborhoodIterator
 
typedef InputImageNeighborhoodIterator::RadiusType InputImageNeighborhoodRadiusType
 
typedef TInputImage::PixelType InputImagePixelType
 
typedef TInputImage::Pointer InputImagePointer
 
typedef itk::ImageRegionConstIterator< TInputImage > InputImageRegionConstIterator
 
typedef itk::ImageRegionIterator< TInputImage > InputImageRegionIterator
 
typedef TInputImage::RegionType InputImageRegionType
 
typedef TInputImage InputImageType
 
typedef LabelledImageFaceListType::iterator LabelledImageFaceListIterator
 
typedef LabelledImageFacesCalculator::FaceListType LabelledImageFaceListType
 
typedef itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TClassifiedImage > LabelledImageFacesCalculator
 
typedef TClassifiedImage::IndexType LabelledImageIndexType
 
typedef itk::NeighborhoodIterator< TClassifiedImage > LabelledImageNeighborhoodIterator
 
typedef LabelledImageNeighborhoodIterator::RadiusType LabelledImageNeighborhoodRadiusType
 
typedef TClassifiedImage::OffsetType LabelledImageOffsetType
 
typedef TClassifiedImage::PixelType LabelledImagePixelType
 
typedef TClassifiedImage::Pointer LabelledImagePointer
 
typedef itk::ImageRegionConstIterator< TClassifiedImage > LabelledImageRegionConstIterator
 
typedef itk::ImageRegionIterator< TClassifiedImage > LabelledImageRegionIterator
 
typedef TClassifiedImage::RegionType LabelledImageRegionType
 
typedef TClassifiedImage LabelledImageType
 
typedef TInputImage::SizeType NeighborhoodRadiusType
 
typedef OptimizerType::Pointer OptimizerPointer
 
typedef MRFOptimizer OptimizerType
 
typedef Superclass::OutputImagePointer OutputImagePointer
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType
 
typedef SamplerType::Pointer SamplerPointer
 
typedef MRFSampler< TInputImage, TClassifiedImage > SamplerType
 
typedef MarkovRandomFieldFilter Self
 
typedef TInputImage::SizeType SizeType
 
typedef itk::ImageToImageFilter< TInputImage, TClassifiedImage > Superclass
 
typedef TClassifiedImage::PixelType TrainingImagePixelType
 
typedef TClassifiedImage::Pointer TrainingImagePointer
 
typedef TClassifiedImage TrainingImageType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int ClassifiedImageDimension = TClassifiedImage::ImageDimension
 
static const unsigned int InputImageDimension = TInputImage::ImageDimension
 
enum  StopConditionType {
  MaximumNumberOfIterations = 1,
  ErrorTolerance
}
 
typedef TInputImage::SizeType InputImageSizeType
 
InputImageNeighborhoodRadiusType m_InputImageNeighborhoodRadius
 
LabelledImageNeighborhoodRadiusType m_LabelledImageNeighborhoodRadius
 
unsigned int m_NumberOfClasses
 
unsigned int m_MaximumNumberOfIterations
 
int m_ErrorCounter
 
double m_ImageDeltaEnergy
 
int m_NeighborhoodRadius
 
int m_TotalNumberOfValidPixelsInOutputImage
 
int m_TotalNumberOfPixelsInInputImage
 
double m_ErrorTolerance
 
double m_SmoothingFactor
 
unsigned int m_NumberOfIterations
 
double m_Lambda
 
bool m_ExternalClassificationSet
 
StopConditionType m_StopCondition
 
TrainingImagePointer m_TrainingImage
 
std::vector< double > m_MRFNeighborhoodWeight
 
std::vector< double > m_NeighborInfluence
 
std::vector< double > m_DummyVector
 
RandomGeneratorType::Pointer m_Generator
 
EnergyRegularizationPointer m_EnergyRegularization
 
EnergyFidelityPointer m_EnergyFidelity
 
OptimizerPointer m_Optimizer
 
SamplerPointer m_Sampler
 
virtual void SetEnergyRegularization (EnergyRegularizationType *_arg)
 
 itkGetObjectMacro (EnergyRegularization, EnergyRegularizationType)
 
virtual void SetEnergyFidelity (EnergyFidelityType *_arg)
 
 itkGetObjectMacro (EnergyFidelity, EnergyFidelityType)
 
virtual void SetSampler (SamplerType *_arg)
 
 itkGetObjectMacro (Sampler, SamplerType)
 
virtual void SetOptimizer (OptimizerType *_arg)
 
 itkGetObjectMacro (Optimizer, OptimizerType)
 
virtual void SetNumberOfClasses (unsigned int _arg)
 
virtual unsigned int GetNumberOfClasses ()
 
virtual void SetMaximumNumberOfIterations (unsigned int _arg)
 
virtual unsigned int GetMaximumNumberOfIterations ()
 
virtual void SetErrorTolerance (double _arg)
 
virtual double GetErrorTolerance ()
 
virtual void SetSmoothingFactor (double _arg)
 
virtual double GetSmoothingFactor ()
 
virtual void SetLambda (double _arg)
 
virtual double GetLambda ()
 
void SetNeighborhoodRadius (const NeighborhoodRadiusType &)
 
void SetNeighborhoodRadius (const unsigned long)
 
void SetNeighborhoodRadius (const unsigned long *radiusArray)
 
const NeighborhoodRadiusType GetNeighborhoodRadius () const
 
virtual void SetTrainingInput (const TrainingImageType *trainingImage)
 
const TrainingImageTypeGetTrainingInput (void)
 
virtual const StopConditionTypeGetStopCondition () const
 
virtual const unsigned int & GetNumberOfIterations () const
 
 typedef (itk::Concept::Convertible< unsigned int, LabelledImagePixelType >) UnsignedIntConvertibleToClassifiedCheck
 
 typedef (itk::Concept::Convertible< LabelledImagePixelType, unsigned int >) ClassifiedConvertibleToUnsignedIntCheck
 
 typedef (itk::Concept::Convertible< LabelledImagePixelType, int >) ClassifiedConvertibleToIntCheck
 
 typedef (itk::Concept::Convertible< int, LabelledImagePixelType >) IntConvertibleToClassifiedCheck
 
 typedef (itk::Concept::SameDimension< InputImageDimension, ClassifiedImageDimension >) SameDimensionCheck
 
void InitializeSeed (int seed)
 
void InitializeSeed ()
 
 MarkovRandomFieldFilter ()
 
 ~MarkovRandomFieldFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void Allocate ()
 
void Initialize ()
 
virtual void ApplyMarkovRandomFieldFilter ()
 
void GenerateData () override
 
void GenerateInputRequestedRegion () override
 
void EnlargeOutputRequestedRegion (itk::DataObject *) override
 
void GenerateOutputInformation () override
 
 MarkovRandomFieldFilter (const Self &)=delete
 
void operator= (const Self &)=delete
 
virtual void MinimizeOnce ()
 

Detailed Description

template<class TInputImage, class TClassifiedImage>
class otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >

This is the class to use the Markov Random Field framework in OTB.

This filter apply a Markov Random Field to an input image. Several components need to be specify:

An example of usage for this filter is:

markovFilter->SetNumberOfClasses(4);
markovFilter->SetMaximumNumberOfIterations(30);
markovFilter->SetErrorTolerance(0.0);
markovFilter->SetLambda(1.0);
markovFilter->SetNeighborhoodRadius(1);
markovFilter->SetEnergyRegularization(energyRegularization);
markovFilter->SetEnergyFidelity(energyFidelity);
markovFilter->SetOptimizer(optimizer);
markovFilter->SetSampler(sampler);
Examples
Markov/MarkovClassification1Example.cxx, Markov/MarkovClassification2Example.cxx, Markov/MarkovRegularizationExample.cxx, and Markov/MarkovRestorationExample.cxx.

Definition at line 86 of file otbMarkovRandomFieldFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage , class TClassifiedImage >
typedef itk::SmartPointer<const Self> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::ConstPointer

Definition at line 93 of file otbMarkovRandomFieldFilter.h.

◆ EnergyFidelityPointer

template<class TInputImage , class TClassifiedImage >
typedef EnergyFidelityType::Pointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::EnergyFidelityPointer

Definition at line 191 of file otbMarkovRandomFieldFilter.h.

◆ EnergyFidelityType

template<class TInputImage , class TClassifiedImage >
typedef MRFEnergy<TInputImage, TClassifiedImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::EnergyFidelityType

Definition at line 188 of file otbMarkovRandomFieldFilter.h.

◆ EnergyRegularizationPointer

template<class TInputImage , class TClassifiedImage >
typedef EnergyRegularizationType::Pointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::EnergyRegularizationPointer

Definition at line 190 of file otbMarkovRandomFieldFilter.h.

◆ EnergyRegularizationType

template<class TInputImage , class TClassifiedImage >
typedef MRFEnergy<TClassifiedImage, TClassifiedImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::EnergyRegularizationType

Set pipeline elements

Definition at line 187 of file otbMarkovRandomFieldFilter.h.

◆ IndexValueType

template<class TInputImage , class TClassifiedImage >
typedef LabelledImageIndexType::IndexValueType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::IndexValueType

Definition at line 142 of file otbMarkovRandomFieldFilter.h.

◆ InputImageConstPointer

template<class TInputImage , class TClassifiedImage >
typedef TInputImage::ConstPointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageConstPointer

Definition at line 105 of file otbMarkovRandomFieldFilter.h.

◆ InputImageFaceListIterator

template<class TInputImage , class TClassifiedImage >
typedef InputImageFaceListType::iterator otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageFaceListIterator

Definition at line 170 of file otbMarkovRandomFieldFilter.h.

◆ InputImageFaceListType

template<class TInputImage , class TClassifiedImage >
typedef InputImageFacesCalculator::FaceListType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageFaceListType

Definition at line 168 of file otbMarkovRandomFieldFilter.h.

◆ InputImageFacesCalculator

template<class TInputImage , class TClassifiedImage >
typedef itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator<TInputImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageFacesCalculator

Definition at line 166 of file otbMarkovRandomFieldFilter.h.

◆ InputImageNeighborhoodIterator

template<class TInputImage , class TClassifiedImage >
typedef itk::ConstNeighborhoodIterator<TInputImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageNeighborhoodIterator

Input image neighborhood iterator and kernel size typedef

Definition at line 162 of file otbMarkovRandomFieldFilter.h.

◆ InputImageNeighborhoodRadiusType

template<class TInputImage , class TClassifiedImage >
typedef InputImageNeighborhoodIterator::RadiusType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageNeighborhoodRadiusType

Definition at line 164 of file otbMarkovRandomFieldFilter.h.

◆ InputImagePixelType

template<class TInputImage , class TClassifiedImage >
typedef TInputImage::PixelType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImagePixelType

Type definition for the input image pixel type.

Definition at line 108 of file otbMarkovRandomFieldFilter.h.

◆ InputImagePointer

template<class TInputImage , class TClassifiedImage >
typedef TInputImage::Pointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImagePointer

Definition at line 104 of file otbMarkovRandomFieldFilter.h.

◆ InputImageRegionConstIterator

template<class TInputImage , class TClassifiedImage >
typedef itk::ImageRegionConstIterator<TInputImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageRegionConstIterator

Definition at line 115 of file otbMarkovRandomFieldFilter.h.

◆ InputImageRegionIterator

template<class TInputImage , class TClassifiedImage >
typedef itk::ImageRegionIterator<TInputImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageRegionIterator

Type definition for the input image region iterator

Definition at line 114 of file otbMarkovRandomFieldFilter.h.

◆ InputImageRegionType

template<class TInputImage , class TClassifiedImage >
typedef TInputImage::RegionType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageRegionType

Type definition for the input image region type.

Definition at line 111 of file otbMarkovRandomFieldFilter.h.

◆ InputImageSizeType

template<class TInputImage , class TClassifiedImage >
typedef TInputImage::SizeType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageSizeType
protected

Pointer to different elements

Definition at line 334 of file otbMarkovRandomFieldFilter.h.

◆ InputImageType

template<class TInputImage , class TClassifiedImage >
typedef TInputImage otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageType

Type definition for the input image.

Definition at line 100 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageFaceListIterator

template<class TInputImage , class TClassifiedImage >
typedef LabelledImageFaceListType::iterator otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageFaceListIterator

Definition at line 181 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageFaceListType

template<class TInputImage , class TClassifiedImage >
typedef LabelledImageFacesCalculator::FaceListType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageFaceListType

Definition at line 179 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageFacesCalculator

template<class TInputImage , class TClassifiedImage >
typedef itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator<TClassifiedImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageFacesCalculator

Definition at line 177 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageIndexType

template<class TInputImage , class TClassifiedImage >
typedef TClassifiedImage::IndexType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageIndexType

Type definition for the classified image index type.

Definition at line 141 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageNeighborhoodIterator

template<class TInputImage , class TClassifiedImage >
typedef itk::NeighborhoodIterator<TClassifiedImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageNeighborhoodIterator

Labelled image neighborhood iterator typedef

Definition at line 173 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageNeighborhoodRadiusType

template<class TInputImage , class TClassifiedImage >
typedef LabelledImageNeighborhoodIterator::RadiusType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageNeighborhoodRadiusType

Definition at line 175 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageOffsetType

template<class TInputImage , class TClassifiedImage >
typedef TClassifiedImage::OffsetType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageOffsetType

Type definition for the classified image offset type.

Definition at line 145 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImagePixelType

template<class TInputImage , class TClassifiedImage >
typedef TClassifiedImage::PixelType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImagePixelType

Type definitions for the classified image pixel type. It has to be the same type as the training image.

Definition at line 134 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImagePointer

template<class TInputImage , class TClassifiedImage >
typedef TClassifiedImage::Pointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImagePointer

Definition at line 130 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageRegionConstIterator

template<class TInputImage , class TClassifiedImage >
typedef itk::ImageRegionConstIterator<TClassifiedImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageRegionConstIterator

Definition at line 150 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageRegionIterator

template<class TInputImage , class TClassifiedImage >
typedef itk::ImageRegionIterator<TClassifiedImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageRegionIterator

Type definition for the input image region iterator

Definition at line 148 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageRegionType

template<class TInputImage , class TClassifiedImage >
typedef TClassifiedImage::RegionType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageRegionType

Type definitions for the classified image pixel type. It has to be the same type as the training image.

Definition at line 138 of file otbMarkovRandomFieldFilter.h.

◆ LabelledImageType

template<class TInputImage , class TClassifiedImage >
typedef TClassifiedImage otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::LabelledImageType

Type definitions for the labelled image. It is derived from the training image.

Definition at line 129 of file otbMarkovRandomFieldFilter.h.

◆ NeighborhoodRadiusType

template<class TInputImage , class TClassifiedImage >
typedef TInputImage::SizeType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::NeighborhoodRadiusType

Radius typedef support.

Definition at line 159 of file otbMarkovRandomFieldFilter.h.

◆ OptimizerPointer

template<class TInputImage , class TClassifiedImage >
typedef OptimizerType::Pointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::OptimizerPointer

Definition at line 197 of file otbMarkovRandomFieldFilter.h.

◆ OptimizerType

template<class TInputImage , class TClassifiedImage >
typedef MRFOptimizer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::OptimizerType

Definition at line 196 of file otbMarkovRandomFieldFilter.h.

◆ OutputImagePointer

template<class TInputImage , class TClassifiedImage >
typedef Superclass::OutputImagePointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::OutputImagePointer

Definition at line 94 of file otbMarkovRandomFieldFilter.h.

◆ Pointer

template<class TInputImage , class TClassifiedImage >
typedef itk::SmartPointer<Self> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::Pointer

Definition at line 92 of file otbMarkovRandomFieldFilter.h.

◆ RandomGeneratorType

template<class TInputImage , class TClassifiedImage >
typedef itk::Statistics::MersenneTwisterRandomVariateGenerator otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::RandomGeneratorType

Typedef for random values.

Definition at line 184 of file otbMarkovRandomFieldFilter.h.

◆ SamplerPointer

template<class TInputImage , class TClassifiedImage >
typedef SamplerType::Pointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SamplerPointer

Definition at line 194 of file otbMarkovRandomFieldFilter.h.

◆ SamplerType

template<class TInputImage , class TClassifiedImage >
typedef MRFSampler<TInputImage, TClassifiedImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SamplerType

Definition at line 193 of file otbMarkovRandomFieldFilter.h.

◆ Self

template<class TInputImage , class TClassifiedImage >
typedef MarkovRandomFieldFilter otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::Self

Standard class typedefs.

Definition at line 90 of file otbMarkovRandomFieldFilter.h.

◆ SizeType

template<class TInputImage , class TClassifiedImage >
typedef TInputImage::SizeType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SizeType

Size and value typedef support.

Definition at line 156 of file otbMarkovRandomFieldFilter.h.

◆ Superclass

template<class TInputImage , class TClassifiedImage >
typedef itk::ImageToImageFilter<TInputImage, TClassifiedImage> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::Superclass

Definition at line 91 of file otbMarkovRandomFieldFilter.h.

◆ TrainingImagePixelType

template<class TInputImage , class TClassifiedImage >
typedef TClassifiedImage::PixelType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::TrainingImagePixelType

Type definitions for the training image pixel type.

Definition at line 125 of file otbMarkovRandomFieldFilter.h.

◆ TrainingImagePointer

template<class TInputImage , class TClassifiedImage >
typedef TClassifiedImage::Pointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::TrainingImagePointer

Definition at line 122 of file otbMarkovRandomFieldFilter.h.

◆ TrainingImageType

template<class TInputImage , class TClassifiedImage >
typedef TClassifiedImage otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::TrainingImageType

Type definitions for the training image.

Definition at line 121 of file otbMarkovRandomFieldFilter.h.

Member Enumeration Documentation

◆ StopConditionType

template<class TInputImage , class TClassifiedImage >
enum otb::MarkovRandomFieldFilter::StopConditionType

Pointer to different elements

Enumerator
MaximumNumberOfIterations 
ErrorTolerance 

Definition at line 276 of file otbMarkovRandomFieldFilter.h.

Constructor & Destructor Documentation

◆ MarkovRandomFieldFilter() [1/2]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::MarkovRandomFieldFilter
protected

◆ ~MarkovRandomFieldFilter()

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::~MarkovRandomFieldFilter ( )
inlineoverrideprotected

Pointer to different elements

Definition at line 309 of file otbMarkovRandomFieldFilter.h.

◆ MarkovRandomFieldFilter() [2/2]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::MarkovRandomFieldFilter ( const Self )
protecteddelete

Pointer to different elements

Member Function Documentation

◆ Allocate()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::Allocate
protected

Allocate memory for labelled images. This is automatically called in GenerateData().

Allocate algorithm specific resources

Definition at line 218 of file otbMarkovRandomFieldFilter.hxx.

◆ ApplyMarkovRandomFieldFilter()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::ApplyMarkovRandomFieldFilter
protectedvirtual

Apply the MRF image filter

Definition at line 315 of file otbMarkovRandomFieldFilter.hxx.

References otbMsgDevMacro.

◆ CreateAnother()

template<class TInputImage , class TClassifiedImage >
virtual::itk::LightObject::Pointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::CreateAnother ( void  ) const

◆ EnlargeOutputRequestedRegion()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::EnlargeOutputRequestedRegion ( itk::DataObject *  output)
overrideprotected

EnlargeOutputRequestedRegion method.

Definition at line 124 of file otbMarkovRandomFieldFilter.hxx.

◆ GenerateData()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GenerateData
overrideprotected

Pointer to different elements

Definition at line 147 of file otbMarkovRandomFieldFilter.hxx.

◆ GenerateInputRequestedRegion()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GenerateInputRequestedRegion
overrideprotected

GenerateInputRequestedRegion method.

Definition at line 110 of file otbMarkovRandomFieldFilter.hxx.

◆ GenerateOutputInformation()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GenerateOutputInformation
overrideprotected

GenerateOutputInformation method.

Definition at line 138 of file otbMarkovRandomFieldFilter.hxx.

◆ GetErrorTolerance()

template<class TInputImage , class TClassifiedImage >
virtual double otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GetErrorTolerance ( )
virtual

Pointer to different elements

◆ GetLambda()

template<class TInputImage , class TClassifiedImage >
virtual double otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GetLambda ( )
virtual

Pointer to different elements

◆ GetMaximumNumberOfIterations()

template<class TInputImage , class TClassifiedImage >
virtual unsigned int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GetMaximumNumberOfIterations ( )
virtual

Pointer to different elements

◆ GetNameOfClass()

template<class TInputImage , class TClassifiedImage >
virtual const char* otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

◆ GetNeighborhoodRadius()

template<class TInputImage , class TClassifiedImage >
const NeighborhoodRadiusType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GetNeighborhoodRadius ( ) const
inline

Get the neighborhood radius

Definition at line 254 of file otbMarkovRandomFieldFilter.h.

◆ GetNumberOfClasses()

template<class TInputImage , class TClassifiedImage >
virtual unsigned int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GetNumberOfClasses ( )
virtual

Pointer to different elements

◆ GetNumberOfIterations()

template<class TInputImage , class TClassifiedImage >
virtual const unsigned int& otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GetNumberOfIterations ( ) const
virtual

Get macro for number of iterations

◆ GetSmoothingFactor()

template<class TInputImage , class TClassifiedImage >
virtual double otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GetSmoothingFactor ( )
virtual

Pointer to different elements

◆ GetStopCondition()

template<class TInputImage , class TClassifiedImage >
virtual const StopConditionType& otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GetStopCondition ( ) const
virtual

Get condition that stops the MRF filter (Number of Iterations / Error tolerance )

◆ GetTrainingInput()

template<class TInputImage , class TClassifiedImage >
const MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::TrainingImageType * otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::GetTrainingInput ( void  )

Pointer to different elements

Definition at line 75 of file otbMarkovRandomFieldFilter.hxx.

◆ Initialize()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::Initialize
protected

Connect the pipeline and propagate the required parameters. This is automatically called in GenerateData().

Initialize pipeline and values

Definition at line 262 of file otbMarkovRandomFieldFilter.hxx.

◆ InitializeSeed() [1/2]

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InitializeSeed ( )
inline

Pointer to different elements

Definition at line 301 of file otbMarkovRandomFieldFilter.h.

◆ InitializeSeed() [2/2]

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InitializeSeed ( int  seed)
inline

End concept checking Methods to cancel random effects.

Definition at line 297 of file otbMarkovRandomFieldFilter.h.

◆ itkGetObjectMacro() [1/4]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::itkGetObjectMacro ( EnergyFidelity  ,
EnergyFidelityType   
)

Pointer to different elements

◆ itkGetObjectMacro() [2/4]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::itkGetObjectMacro ( EnergyRegularization  ,
EnergyRegularizationType   
)

Pointer to different elements

◆ itkGetObjectMacro() [3/4]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::itkGetObjectMacro ( Optimizer  ,
OptimizerType   
)

Pointer to different elements

◆ itkGetObjectMacro() [4/4]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::itkGetObjectMacro ( Sampler  ,
SamplerType   
)

Pointer to different elements

◆ MinimizeOnce()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::MinimizeOnce
protectedvirtual

Apply the MRF image filter on the whole image once

Definition at line 357 of file otbMarkovRandomFieldFilter.hxx.

◆ New()

template<class TInputImage , class TClassifiedImage >
static Pointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::New ( )
static

Method for creation through the object factory.

◆ operator=()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::operator= ( const Self )
protecteddelete

Pointer to different elements

◆ PrintSelf()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

Pointer to different elements

Definition at line 85 of file otbMarkovRandomFieldFilter.hxx.

◆ SetEnergyFidelity()

template<class TInputImage , class TClassifiedImage >
virtual void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetEnergyFidelity ( EnergyFidelityType _arg)
virtual

Pointer to different elements

◆ SetEnergyRegularization()

template<class TInputImage , class TClassifiedImage >
virtual void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetEnergyRegularization ( EnergyRegularizationType _arg)
virtual

ACCESSORS ************

◆ SetErrorTolerance()

template<class TInputImage , class TClassifiedImage >
virtual void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetErrorTolerance ( double  _arg)
virtual

Set/Get the error tolerance level which is used as a threshold to quit the iterations

◆ SetLambda()

template<class TInputImage , class TClassifiedImage >
virtual void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetLambda ( double  _arg)
virtual

Set/Get the regularization coefficient

◆ SetMaximumNumberOfIterations()

template<class TInputImage , class TClassifiedImage >
virtual void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetMaximumNumberOfIterations ( unsigned int  _arg)
virtual

Set/Get the number of iteration of the Iterated Conditional Mode (ICM) algorithm. A default value is set at 50 iterations.

◆ SetNeighborhoodRadius() [1/3]

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetNeighborhoodRadius ( const NeighborhoodRadiusType radius)

Set the neighborhood radius

Set the neighborhood radius from a radius object

Definition at line 201 of file otbMarkovRandomFieldFilter.hxx.

◆ SetNeighborhoodRadius() [2/3]

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetNeighborhoodRadius ( const unsigned long *  radiusArray)

Set the neighborhood radius from an array

Definition at line 184 of file otbMarkovRandomFieldFilter.hxx.

◆ SetNeighborhoodRadius() [3/3]

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetNeighborhoodRadius ( const unsigned long  radiusValue)

Sets the radius for the neighborhood, calculates size from the radius, and allocates storage.

Set the neighborhood radius from a single value

Definition at line 167 of file otbMarkovRandomFieldFilter.hxx.

◆ SetNumberOfClasses()

template<class TInputImage , class TClassifiedImage >
virtual void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetNumberOfClasses ( unsigned int  _arg)
virtual

Set/Get the number of classes.

◆ SetOptimizer()

template<class TInputImage , class TClassifiedImage >
virtual void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetOptimizer ( OptimizerType _arg)
virtual

Pointer to different elements

◆ SetSampler()

template<class TInputImage , class TClassifiedImage >
virtual void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetSampler ( SamplerType _arg)
virtual

Pointer to different elements

◆ SetSmoothingFactor()

template<class TInputImage , class TClassifiedImage >
virtual void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetSmoothingFactor ( double  _arg)
virtual

Set/Get the degree of smoothing desired

◆ SetTrainingInput()

template<class TInputImage , class TClassifiedImage >
void otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetTrainingInput ( const TrainingImageType trainingImage)
virtual

Set training image for the starting point. This is not compulsory: if the starting image is not specified, a random image will be used instead. One important restriction: in the case of classification, the training image should contain values corresponding to the class number (consecutive integers).

Definition at line 65 of file otbMarkovRandomFieldFilter.hxx.

◆ typedef() [1/5]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::typedef ( itk::Concept::Convertible< int, LabelledImagePixelType )

This class requires IntConvertibleToClassifiedCheck in the form of (itk::Concept::Convertible<int, LabelledImagePixelType>)

◆ typedef() [2/5]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::typedef ( itk::Concept::Convertible< LabelledImagePixelType, int >  )

This class requires ClassifiedConvertibleToIntCheck in the form of (itk::Concept::Convertible<LabelledImagePixelType, int>)

◆ typedef() [3/5]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::typedef ( itk::Concept::Convertible< LabelledImagePixelType, unsigned int >  )

This class requires ClassifiedConvertibleToUnsignedIntCheck in the form of (itk::Concept::Convertible<LabelledImagePixelType, unsigned int>)

◆ typedef() [4/5]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::typedef ( itk::Concept::Convertible< unsigned int, LabelledImagePixelType )

Begin concept checking This class requires UnsignedIntConvertibleToClassifiedCheck in the form of (itk::Concept::Convertible<unsigned int, LabelledImagePixelType>)

◆ typedef() [5/5]

template<class TInputImage , class TClassifiedImage >
otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::typedef ( itk::Concept::SameDimension< InputImageDimension, ClassifiedImageDimension )

This class requires SameDimensionCheck in the form of (itk::Concept::SameDimension<InputImageDimension, ClassifiedImageDimension>)

Member Data Documentation

◆ ClassifiedImageDimension

template<class TInputImage , class TClassifiedImage >
const unsigned int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::ClassifiedImageDimension = TClassifiedImage::ImageDimension
static

◆ InputImageDimension

template<class TInputImage , class TClassifiedImage >
const unsigned int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::InputImageDimension = TInputImage::ImageDimension
static

◆ m_DummyVector

template<class TInputImage , class TClassifiedImage >
std::vector<double> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_DummyVector
protected

Pointer to different elements

Definition at line 361 of file otbMarkovRandomFieldFilter.h.

◆ m_EnergyFidelity

template<class TInputImage , class TClassifiedImage >
EnergyFidelityPointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_EnergyFidelity
protected

Pointer to different elements

Definition at line 368 of file otbMarkovRandomFieldFilter.h.

◆ m_EnergyRegularization

template<class TInputImage , class TClassifiedImage >
EnergyRegularizationPointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_EnergyRegularization
protected

Pointer to different elements

Definition at line 367 of file otbMarkovRandomFieldFilter.h.

◆ m_ErrorCounter

template<class TInputImage , class TClassifiedImage >
int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_ErrorCounter
protected

Pointer to different elements

Definition at line 342 of file otbMarkovRandomFieldFilter.h.

◆ m_ErrorTolerance

template<class TInputImage , class TClassifiedImage >
double otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_ErrorTolerance
protected

Pointer to different elements

Definition at line 348 of file otbMarkovRandomFieldFilter.h.

◆ m_ExternalClassificationSet

template<class TInputImage , class TClassifiedImage >
bool otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_ExternalClassificationSet
protected

Pointer to different elements

Definition at line 354 of file otbMarkovRandomFieldFilter.h.

◆ m_Generator

template<class TInputImage , class TClassifiedImage >
RandomGeneratorType::Pointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_Generator
protected

◆ m_ImageDeltaEnergy

template<class TInputImage , class TClassifiedImage >
double otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_ImageDeltaEnergy
protected

Pointer to different elements

Definition at line 343 of file otbMarkovRandomFieldFilter.h.

◆ m_InputImageNeighborhoodRadius

template<class TInputImage , class TClassifiedImage >
InputImageNeighborhoodRadiusType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_InputImageNeighborhoodRadius
protected

◆ m_LabelledImageNeighborhoodRadius

template<class TInputImage , class TClassifiedImage >
LabelledImageNeighborhoodRadiusType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_LabelledImageNeighborhoodRadius
protected

Pointer to different elements

Definition at line 337 of file otbMarkovRandomFieldFilter.h.

◆ m_Lambda

template<class TInputImage , class TClassifiedImage >
double otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_Lambda
protected

Pointer to different elements

Definition at line 353 of file otbMarkovRandomFieldFilter.h.

◆ m_MaximumNumberOfIterations

template<class TInputImage , class TClassifiedImage >
unsigned int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_MaximumNumberOfIterations
protected

Pointer to different elements

Definition at line 340 of file otbMarkovRandomFieldFilter.h.

◆ m_MRFNeighborhoodWeight

template<class TInputImage , class TClassifiedImage >
std::vector<double> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_MRFNeighborhoodWeight
protected

Pointer to different elements

Definition at line 359 of file otbMarkovRandomFieldFilter.h.

◆ m_NeighborhoodRadius

template<class TInputImage , class TClassifiedImage >
int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_NeighborhoodRadius
protected

◆ m_NeighborInfluence

template<class TInputImage , class TClassifiedImage >
std::vector<double> otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_NeighborInfluence
protected

Pointer to different elements

Definition at line 360 of file otbMarkovRandomFieldFilter.h.

◆ m_NumberOfClasses

template<class TInputImage , class TClassifiedImage >
unsigned int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_NumberOfClasses
protected

Pointer to different elements

Definition at line 339 of file otbMarkovRandomFieldFilter.h.

◆ m_NumberOfIterations

template<class TInputImage , class TClassifiedImage >
unsigned int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_NumberOfIterations
protected

Pointer to different elements

Definition at line 351 of file otbMarkovRandomFieldFilter.h.

◆ m_Optimizer

template<class TInputImage , class TClassifiedImage >
OptimizerPointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_Optimizer
protected

Pointer to different elements

Definition at line 369 of file otbMarkovRandomFieldFilter.h.

◆ m_Sampler

template<class TInputImage , class TClassifiedImage >
SamplerPointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_Sampler
protected

Pointer to different elements

Definition at line 370 of file otbMarkovRandomFieldFilter.h.

◆ m_SmoothingFactor

template<class TInputImage , class TClassifiedImage >
double otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_SmoothingFactor
protected

Pointer to different elements

Definition at line 349 of file otbMarkovRandomFieldFilter.h.

◆ m_StopCondition

template<class TInputImage , class TClassifiedImage >
StopConditionType otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_StopCondition
protected

Pointer to different elements

Definition at line 355 of file otbMarkovRandomFieldFilter.h.

◆ m_TotalNumberOfPixelsInInputImage

template<class TInputImage , class TClassifiedImage >
int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_TotalNumberOfPixelsInInputImage
protected

Pointer to different elements

Definition at line 347 of file otbMarkovRandomFieldFilter.h.

◆ m_TotalNumberOfValidPixelsInOutputImage

template<class TInputImage , class TClassifiedImage >
int otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_TotalNumberOfValidPixelsInOutputImage
protected

Pointer to different elements

Definition at line 346 of file otbMarkovRandomFieldFilter.h.

◆ m_TrainingImage

template<class TInputImage , class TClassifiedImage >
TrainingImagePointer otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::m_TrainingImage
protected

Pointer to different elements

Definition at line 357 of file otbMarkovRandomFieldFilter.h.


The documentation for this class was generated from the following files: