21 #ifndef otbCLHistogramEqualizationFilter_h
22 #define otbCLHistogramEqualizationFilter_h
24 #include "itkImageToImageFilter.h"
30 #include "itkStreamingImageFilter.h"
46 template <
class TInputImage,
class TOutputImage>
56 typedef itk::ImageToImageFilter<InputImageType, OutputImageType>
Superclass;
85 m_HistoFilter->SetMin(min);
86 m_GainLutFilter->SetMin(min);
87 m_ApplyGainFilter->SetMin(min);
91 itkGetMacro(Max, InputPixelType);
95 m_HistoFilter->SetMax(max);
96 m_GainLutFilter->SetMax(max);
97 m_ApplyGainFilter->SetMax(max);
101 itkGetMacro(NbBin,
unsigned long);
105 m_HistoFilter->SetNbBin(bin);
109 itkGetMacro(ThumbSize,
typename InputImageType::SizeType);
113 m_HistoFilter->SetThumbSize(size);
114 m_ApplyGainFilter->SetThumbSize(size);
115 m_GainLutFilter->SetNbPixel(size[0] * size[1]);
119 itkGetMacro(Threshold,
double);
123 m_HistoFilter->SetThreshold(t);
127 itkGetMacro(NoData, InputPixelType);
131 m_HistoFilter->SetNoData(n);
132 m_ApplyGainFilter->SetNoData(n);
137 itkGetMacro(NoDataFlag,
bool);
141 m_HistoFilter->SetNoDataFlag(flag);
142 m_ApplyGainFilter->SetNoDataFlag(flag);
152 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
154 void UpdateOutputInformation()
override;
156 void PropagateRequestedRegion(itk::DataObject* output)
override;
158 void GenerateData()
override;
162 void operator=(
const Self&) =
delete;
171 typename InputImageType::SizeType m_ThumbSize{0,0};
178 #ifndef OTB_MANUAL_INSTANTIATION