18 #ifndef itkN4BiasFieldCorrectionImageFilter_h
19 #define itkN4BiasFieldCorrectionImageFilter_h
28 #include "vnl/vnl_vector.h"
92 template<
typename TInputImage,
typename TMaskImage =
93 Image<unsigned char, TInputImage::ImageDimension>,
94 class TOutputImage = TInputImage>
179 itkSetMacro( UseMaskLabel,
bool );
180 itkGetConstMacro( UseMaskLabel,
bool );
181 itkBooleanMacro( UseMaskLabel );
219 itkSetMacro( NumberOfHistogramBins,
unsigned int );
225 itkGetConstMacro( NumberOfHistogramBins,
unsigned int );
230 itkSetMacro( WienerFilterNoise,
RealType );
235 itkGetConstMacro( WienerFilterNoise,
RealType );
241 itkSetMacro( BiasFieldFullWidthAtHalfMaximum,
RealType );
247 itkGetConstMacro( BiasFieldFullWidthAtHalfMaximum,
RealType );
254 itkSetMacro( SplineOrder,
unsigned int );
259 itkGetConstMacro( SplineOrder,
unsigned int );
268 itkSetMacro( NumberOfControlPoints,
ArrayType );
277 itkGetConstMacro( NumberOfControlPoints,
ArrayType );
285 itkSetMacro( NumberOfFittingLevels,
ArrayType );
307 itkGetConstMacro( NumberOfFittingLevels,
ArrayType );
328 itkSetMacro( ConvergenceThreshold,
RealType );
337 itkGetConstMacro( ConvergenceThreshold,
RealType );
354 itkGetConstMacro( ElapsedIterations,
unsigned int );
360 itkGetConstMacro( CurrentConvergenceMeasurement,
RealType );
366 itkGetConstMacro( CurrentLevel,
unsigned int );
439 #ifndef ITK_MANUAL_INSTANTIATION
440 #include "itkN4BiasFieldCorrectionImageFilter.hxx"
void PrintSelf(std::ostream &os, Indent indent) const override
SmartPointer< Self > Pointer
typename BSplineFilterType::ArrayType ArrayType
RealImagePointer UpdateBiasFieldEstimate(RealImageType *, std::vcl_size_t)
void SetInput1(const InputImageType *image)
Image< RealType, ImageDimension > RealImageType
void SetInput2(const MaskImageType *mask)
RealType m_ConvergenceThreshold
typename PointSetType::Pointer PointSetPointer
RealType m_BiasFieldFullWidthAtHalfMaximum
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
void EnlargeOutputRequestedRegion(DataObject *) override
typename BSplineFilterType::PointDataImageType BiasFieldControlPointLatticeType
Base class for all process objects that output image data.
FixedArray< unsigned, Self::ImageDimension > ArrayType
ArrayType m_NumberOfFittingLevels
void SetInput3(const RealImageType *image)
~N4BiasFieldCorrectionImageFilter() override=default
TInputImage InputImageType
RealImagePointer SharpenImage(const RealImageType *) const
typename MeshTraits::PointType PointType
virtual void SetInput(const InputImageType *image)
ArrayType m_NumberOfControlPoints
A templated class holding a n-Dimensional vector.
TOutputImage OutputImageType
VariableSizeArrayType m_MaximumNumberOfIterations
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
virtual void SetNumberOfFittingLevels(ArrayType _arg)
typename RealImageType::Pointer RealImagePointer
Image filter which provides a B-spline output approximation.
virtual void SetConfidenceImage(const RealImageType *input)
RealType m_CurrentConvergenceMeasurement
Image< PointDataType, Self::ImageDimension > PointDataImageType
typename MaskImageType::PixelType MaskPixelType
PointSet< ScalarType, Self::ImageDimension > PointSetType
Array< unsigned int > VariableSizeArrayType
void SetNumberOfFittingLevels(unsigned int n)
unsigned int m_ElapsedIterations
RealImagePointer ReconstructBiasField(BiasFieldControlPointLatticeType *)
N4BiasFieldCorrectionImageFilter()
void GenerateData() override
Base class for filters that take an image as input and produce an image as output.
RealType CalculateConvergenceMeasurement(const RealImageType *, const RealImageType *) const
static constexpr unsigned int ImageDimension
Control indentation during Print() invocation.
RealType m_WienerFilterNoise
unsigned int m_NumberOfHistogramBins
unsigned int m_SplineOrder
SmartPointer< Self > Pointer
BiasFieldControlPointLatticeType::Pointer m_LogBiasFieldControlPointLattice
virtual void SetMaskImage(const MaskImageType *input)
unsigned int m_CurrentLevel
MaskPixelType m_MaskLabel
Base class for all data objects in ITK.
Implementation of the N4 bias field correction algorithm.
Templated n-dimensional image class.
typename PointSetType::PointType PointType