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>
113 TInputImage::ImageDimension );
153 this->
SetNthInput( 1, const_cast<MaskImageType *>( mask ) );
168 #if ! defined ( ITK_FUTURE_LEGACY_REMOVE )
185 itkSetMacro( UseMaskLabel,
bool );
186 itkGetConstMacro( UseMaskLabel,
bool );
187 itkBooleanMacro( UseMaskLabel );
203 this->
SetNthInput( 2, const_cast<RealImageType *>( image ) );
232 itkSetMacro( NumberOfHistogramBins,
unsigned int );
238 itkGetConstMacro( NumberOfHistogramBins,
unsigned int );
243 itkSetMacro( WienerFilterNoise,
RealType );
248 itkGetConstMacro( WienerFilterNoise,
RealType );
254 itkSetMacro( BiasFieldFullWidthAtHalfMaximum,
RealType );
260 itkGetConstMacro( BiasFieldFullWidthAtHalfMaximum,
RealType );
267 itkSetMacro( SplineOrder,
unsigned int );
272 itkGetConstMacro( SplineOrder,
unsigned int );
281 itkSetMacro( NumberOfControlPoints,
ArrayType );
290 itkGetConstMacro( NumberOfControlPoints,
ArrayType );
298 itkSetMacro( NumberOfFittingLevels,
ArrayType );
320 itkGetConstMacro( NumberOfFittingLevels,
ArrayType );
341 itkSetMacro( ConvergenceThreshold,
RealType );
350 itkGetConstMacro( ConvergenceThreshold,
RealType );
367 itkGetConstMacro( ElapsedIterations,
unsigned int );
373 itkGetConstMacro( CurrentConvergenceMeasurement,
RealType );
379 itkGetConstMacro( CurrentLevel,
unsigned int );
424 #if ! defined ( ITK_FUTURE_LEGACY_REMOVE )
456 #ifndef ITK_MANUAL_INSTANTIATION
457 #include "itkN4BiasFieldCorrectionImageFilter.hxx"
void PrintSelf(std::ostream &os, Indent indent) const override
PointSet< ScalarType, itkGetStaticConstMacro(ImageDimension)> PointSetType
Vector< RealType, 1 > ScalarType
SmartPointer< Self > Pointer
~N4BiasFieldCorrectionImageFilter() override
void SetInput1(const InputImageType *image)
PointSetType::Pointer PointSetPointer
void SetInput2(const MaskImageType *mask)
RealType m_ConvergenceThreshold
SmartPointer< const Self > ConstPointer
Image< ScalarType, itkGetStaticConstMacro(ImageDimension)> ScalarImageType
RealType m_BiasFieldFullWidthAtHalfMaximum
const RealImageType * GetConfidenceImage() const
Base class for all process objects that output image data.
ArrayType m_NumberOfFittingLevels
void SetInput3(const RealImageType *image)
PointSetType::PointType PointType
Image< RealType, ImageDimension > RealImageType
void Fill(const ValueType &)
N4BiasFieldCorrectionImageFilter Self
RealImagePointer SharpenImage(const RealImageType *) const
ImageToImageFilter< TInputImage, TOutputImage > Superclass
RealImagePointer UpdateBiasFieldEstimate(RealImageType *)
const MaskImageType * GetMaskImage() const
virtual void SetInput(const InputImageType *image)
ArrayType m_NumberOfControlPoints
A templated class holding a n-Dimensional vector.
TInputImage InputImageType
BSplineScatteredDataPointSetToImageFilter< PointSetType, ScalarImageType > BSplineFilterType
BSplineFilterType::ArrayType ArrayType
VariableSizeArrayType m_MaximumNumberOfIterations
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
TInputImage InputImageType
virtual void SetNumberOfFittingLevels(ArrayType _arg)
MeshTraits::PointType PointType
Image filter which provides a B-spline output approximation.
DataObject * GetInput(const DataObjectIdentifierType &key)
Return an input.
void SetMaskImage(const MaskImageType *mask)
TOutputImage OutputImageType
RealType m_CurrentConvergenceMeasurement
BSplineFilterType::PointDataImageType BiasFieldControlPointLatticeType
MaskImageType::PixelType MaskPixelType
void SetNumberOfFittingLevels(unsigned int n)
static const unsigned int ImageDimension
unsigned int m_ElapsedIterations
RealImagePointer ReconstructBiasField(BiasFieldControlPointLatticeType *)
RealImageType::Pointer RealImagePointer
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
Control indentation during Print() invocation.
RealType m_WienerFilterNoise
unsigned int m_NumberOfHistogramBins
unsigned int m_SplineOrder
virtual void SetNthInput(DataObjectPointerArraySizeType num, DataObject *input)
void SetConfidenceImage(const RealImageType *image)
BiasFieldControlPointLatticeType::Pointer m_LogBiasFieldControlPointLattice
unsigned int m_CurrentLevel
MaskPixelType m_MaskLabel
Implementation of the N4 bias field correction algorithm.
Templated n-dimensional image class.
Array< unsigned int > VariableSizeArrayType