18#ifndef itkHistogramMatchingImageFilter_h
19#define itkHistogramMatchingImageFilter_h
23#include "vnl/vnl_matrix.h"
71template <
typename TInputImage,
typename TOutputImage,
typename THistogramMeasurement =
typename TInputImage::PixelType>
148 itkSetMacro(ThresholdAtMeanIntensity,
bool);
149 itkGetConstMacro(ThresholdAtMeanIntensity,
bool);
150 itkBooleanMacro(ThresholdAtMeanIntensity);
162 itkSetMacro(GenerateReferenceHistogramFromImage,
bool);
163 itkGetConstMacro(GenerateReferenceHistogramFromImage,
bool);
164 itkBooleanMacro(GenerateReferenceHistogramFromImage);
217 THistogramMeasurement & minValue,
218 THistogramMeasurement & maxValue,
219 THistogramMeasurement & meanValue);
228 const THistogramMeasurement minHistogramValidValue,
229 const THistogramMeasurement maxHistogramValidValue,
230 const THistogramMeasurement imageTrueMinValue,
231 const THistogramMeasurement imageTrueMaxValue);
258#ifndef ITK_MANUAL_INSTANTIATION
259# include "itkHistogramMatchingImageFilter.hxx"
Statistics::Histogram< THistogramMeasurement > HistogramType
typename HistogramType::Pointer HistogramPointer
HistogramMatchingImageFilter()
~HistogramMatchingImageFilter() override=default
void GenerateInputRequestedRegion() override
HistogramPointer m_SourceHistogram
SizeValueType m_NumberOfHistogramLevels
itkSetInputMacro(ReferenceHistogram, HistogramType)
TInputImage InputImageType
HistogramMatchingImageFilter Self
void VerifyPreconditions() const override
Verifies that the process object has been configured correctly, that all required inputs are set,...
void ConstructHistogramFromIntensityRange(const InputImageType *image, HistogramType *histogram, const THistogramMeasurement minHistogramValidValue, const THistogramMeasurement maxHistogramValidValue, const THistogramMeasurement imageTrueMinValue, const THistogramMeasurement imageTrueMaxValue)
bool m_ThresholdAtMeanIntensity
typename OutputImageType::PixelType OutputPixelType
ImageToImageFilter< TInputImage, TOutputImage > Superclass
typename TOutputImage::RegionType OutputImageRegionType
itkSetInputMacro(SourceImage, InputImageType)
void ComputeMinMaxMean(const InputImageType *image, THistogramMeasurement &minValue, THistogramMeasurement &maxValue, THistogramMeasurement &meanValue)
THistogramMeasurement m_SourceMinValue
SmartPointer< Self > Pointer
static constexpr unsigned int OutputImageDimension
HistogramPointer m_OutputHistogram
SizeValueType m_NumberOfMatchPoints
vnl_vector< double > GradientArrayType
void VerifyInputInformation() const override
THistogramMeasurement m_ReferenceMinValue
void PrintSelf(std::ostream &os, Indent indent) const override
THistogramMeasurement m_SourceMaxValue
GradientArrayType m_Gradients
TableType m_QuantileTable
itkGetInputMacro(SourceImage, InputImageType)
static constexpr unsigned int ImageDimension
vnl_matrix< double > TableType
typename InputImageType::PixelType InputPixelType
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
bool m_GenerateReferenceHistogramFromImage
itkGetInputMacro(ReferenceImage, InputImageType)
SmartPointer< const Self > ConstPointer
itkSetInputMacro(ReferenceImage, InputImageType)
void AfterThreadedGenerateData() override
void BeforeThreadedGenerateData() override
itkGetInputMacro(ReferenceHistogram, HistogramType)
THistogramMeasurement m_ReferenceMaxValue
TOutputImage OutputImageType
typename OutputImageType::Pointer OutputImagePointer
TInputImage InputImageType
typename InputImageType::ConstPointer InputImageConstPointer
typename InputImageType::Pointer InputImagePointer
Control indentation during Print() invocation.
Implements transparent reference counting.
This class stores measurement vectors in the context of n-dimensional histogram.
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType