21 #ifndef otbImageClassificationFilter_h
22 #define otbImageClassificationFilter_h
24 #include "itkImageToImageFilter.h"
43 template <
class TInputImage,
class TOutputImage,
class TMaskImage = TOutputImage>
49 typedef itk::ImageToImageFilter<TInputImage, TOutputImage>
Superclass;
61 typedef typename InputImageType::InternalPixelType
ValueType;
70 typedef typename OutputImageType::PixelType
LabelType;
94 itkSetMacro(UseConfidenceMap,
bool);
95 itkGetMacro(UseConfidenceMap,
bool);
99 itkSetMacro(UseProbaMap,
bool);
100 itkGetMacro(UseProbaMap,
bool);
103 itkSetMacro(BatchMode,
bool);
104 itkGetMacro(BatchMode,
bool);
105 itkBooleanMacro(BatchMode);
107 itkSetMacro(NumberOfClasses,
unsigned int);
108 itkGetMacro(NumberOfClasses,
unsigned int);
139 void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId)
override;
140 void ClassicThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
141 void BatchThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
144 void BeforeThreadedGenerateData()
override;
147 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
151 Superclass::GenerateOutputInformation();
153 this->GetOutputProba()->SetNumberOfComponentsPerPixel(m_NumberOfClasses);
158 void operator=(
const Self&) =
delete;
173 #ifndef OTB_MANUAL_INSTANTIATION