18 #ifndef __itkHistogramMatchingImageFilter_h
19 #define __itkHistogramMatchingImageFilter_h
23 #include "vnl/vnl_matrix.h"
67 template<
class TInputImage,
class TOutputImage,
class THistogramMeasurement =
typename TInputImage::PixelType >
85 itkStaticConstMacro(ImageDimension,
unsigned int,
86 TInputImage::ImageDimension);
87 itkStaticConstMacro(OutputImageDimension,
unsigned int,
88 TOutputImage::ImageDimension);
111 { this->SetInput(source); }
113 {
return this->GetInput(); }
117 void SetReferenceImage(
const InputImageType *reference);
119 const InputImageType * GetReferenceImage(
void);
136 itkSetMacro(ThresholdAtMeanIntensity,
bool);
137 itkGetConstMacro(ThresholdAtMeanIntensity,
bool);
138 itkBooleanMacro(ThresholdAtMeanIntensity);
142 virtual void GenerateInputRequestedRegion();
147 itkGetModifiableObjectMacro(SourceHistogram, HistogramType);
148 itkGetModifiableObjectMacro(ReferenceHistogram, HistogramType);
149 itkGetModifiableObjectMacro(OutputHistogram, HistogramType);
152 #ifdef ITK_USE_CONCEPT_CHECKING
175 void PrintSelf(std::ostream & os,
Indent indent)
const;
177 void BeforeThreadedGenerateData();
179 void AfterThreadedGenerateData();
181 void ThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread,
192 void ComputeMinMaxMean(
const InputImageType *image,
193 THistogramMeasurement & minValue,
194 THistogramMeasurement & maxValue,
195 THistogramMeasurement & meanValue);
198 void ConstructHistogram(
const InputImageType *image,
199 HistogramType *histogram,
const THistogramMeasurement minValue,
200 const THistogramMeasurement maxValue);
204 void operator=(
const Self &);
238 #ifndef ITK_MANUAL_INSTANTIATION
239 #include "itkHistogramMatchingImageFilter.hxx"