21 #ifndef otbKMeansImageClassificationFilter_h
22 #define otbKMeansImageClassificationFilter_h
24 #include "itkInPlaceImageFilter.h"
25 #include "itkListSample.h"
26 #include "itkEuclideanDistanceMetric.h"
44 template <
class TInputImage,
class TOutputImage,
unsigned int VMaxSampleDimension = 10,
class TMaskImage = TOutputImage>
50 typedef itk::InPlaceImageFilter<TInputImage, TOutputImage>
Superclass;
64 itkStaticConstMacro(MaxSampleDimension,
unsigned int, VMaxSampleDimension);
68 typedef typename InputImageType::InternalPixelType
ValueType;
77 typedef typename OutputImageType::PixelType
LabelType;
79 typedef itk::FixedArray<ValueType, MaxSampleDimension>
SampleType;
82 typedef itk::Statistics::EuclideanDistanceMetric<SampleType>
DistanceType;
120 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
136 #ifndef OTB_MANUAL_INSTANTIATION
This filter performs the classification of a VectorImage using a KMeans estimation result.
~KMeansImageClassificationFilter() override=default
void PrintSelf(std::ostream &os, itk::Indent indent) const override
void SetInputMask(const MaskImageType *mask)
std::map< LabelType, SampleType > CentroidsMapType
KMeansImageClassificationFilter(const Self &)=delete
OutputImageType::RegionType OutputImageRegionType
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
itk::Statistics::EuclideanDistanceMetric< SampleType > DistanceType
itk::SmartPointer< Self > Pointer
InputImageType::ConstPointer InputImageConstPointerType
TInputImage InputImageType
MaskImageType::ConstPointer MaskImageConstPointerType
KMeansImageClassificationFilter()
itk::Array< double > KMeansParametersType
itk::InPlaceImageFilter< TInputImage, TOutputImage > Superclass
itk::SmartPointer< const Self > ConstPointer
InputImageType::InternalPixelType ValueType
KMeansParametersType m_Centroids
MaskImageType::Pointer MaskImagePointerType
TOutputImage OutputImageType
OutputImageType::PixelType LabelType
CentroidsMapType m_CentroidsMap
KMeansImageClassificationFilter Self
const MaskImageType * GetInputMask(void)
itk::FixedArray< ValueType, MaxSampleDimension > SampleType
OutputImageType::Pointer OutputImagePointerType
void BeforeThreadedGenerateData() override
void operator=(const Self &)=delete
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.