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);
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);
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;
171 typename InputImageType::SizeType m_ThumbSize{0,0};
178 #ifndef OTB_MANUAL_INSTANTIATION
Apply gain on the input image with a bilineare interpolation.
itk::SmartPointer< Self > Pointer
Implement CLAHE algorithm.
void SetMin(InputPixelType min)
itk::SmartPointer< const Self > ConstPointer
CLHistogramEqualizationFilter Self
otb::VectorImage< double, 2 > LutType
otb::InPlacePassFilter< InputImageType > BufferFilter
CLHistogramEqualizationFilter(const Self &)=delete
void SetNoData(InputPixelType n)
otb::VectorImage< unsigned int, 2 > HistogramType
itk::StreamingImageFilter< LutType, LutType > StreamingImageFilter
GainLutFilter::Pointer m_GainLutFilter
HistoFilter::Pointer m_HistoFilter
void SetNoDataFlag(bool flag)
BufferFilter::Pointer m_BufferFilter
void SetMax(InputPixelType max)
itk::SmartPointer< Self > Pointer
otb::ComputeGainLutFilter< HistogramType, LutType > GainLutFilter
itk::ImageToImageFilter< InputImageType, OutputImageType > Superclass
void operator=(const Self &)=delete
void SetNbBin(unsigned long bin)
otb::ApplyGainFilter< InputImageType, LutType, OutputImageType > ApplyGainFilter
void SetThreshold(double t)
otb::ComputeHistoFilter< InputImageType, HistogramType > HistoFilter
ApplyGainFilter::Pointer m_ApplyGainFilter
StreamingImageFilter::Pointer m_StreamingImageFilter
TInputImage InputImageType
~CLHistogramEqualizationFilter() override
void SetThumbSize(typename InputImageType::SizeType size)
OutputImageType::RegionType OutputImageRegionType
InputImageType::PixelType InputPixelType
TOutputImage OutputImageType
Compute the gain for each pixel value from a histogram.
itk::SmartPointer< Self > Pointer
Compute local histogram with several parameters.
itk::SmartPointer< Self > Pointer
This filter has the only purpose to recall regions.
itk::SmartPointer< Self > Pointer
Creation of an "otb" vector image which contains metadata.
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.