18#ifndef sitkN4BiasFieldCorrectionImageFilter_h
19#define sitkN4BiasFieldCorrectionImageFilter_h
135 std::vector<uint32_t>
195 std::vector<uint32_t>
288 std::string
GetName()
const {
return std::string(
"N4BiasFieldCorrectionImageFilter"); }
339 std::unique_ptr<itk::ProcessObject, ProcessObjectDeleter>
m_Filter{
nullptr};
355 const Image &image,
const Image &maskImage,
double convergenceThreshold = 0.001, std::vector<uint32_t> maximumNumberOfIterations = std::vector<uint32_t>(4,50),
double biasFieldFullWidthAtHalfMaximum = 0.15,
double wienerFilterNoise = 0.01, uint32_t numberOfHistogramBins = 200u, std::vector<uint32_t> numberOfControlPoints = std::vector<uint32_t>(3, 4), uint32_t splineOrder = 3u,
bool useMaskLabel =
true, uint8_t maskLabel = 1
359 const Image &image,
double convergenceThreshold = 0.001, std::vector<uint32_t> maximumNumberOfIterations = std::vector<uint32_t>(4,50),
double biasFieldFullWidthAtHalfMaximum = 0.15,
double wienerFilterNoise = 0.01, uint32_t numberOfHistogramBins = 200u, std::vector<uint32_t> numberOfControlPoints = std::vector<uint32_t>(3, 4), uint32_t splineOrder = 3u,
bool useMaskLabel =
true, uint8_t maskLabel = 1
The Image class for SimpleITK.
void SetMaskLabel(uint8_t MaskLabel)
N4BiasFieldCorrectionImageFilter()
std::string GetName() const
Image Execute(const Image &image, const Image &maskImage)
uint32_t m_NumberOfHistogramBins
void SetSplineOrder(uint32_t SplineOrder)
std::vector< uint32_t > GetNumberOfControlPoints() const
uint32_t GetCurrentLevel() const
std::function< Image(Image)> m_pfGetLogBiasFieldAsImage
std::unique_ptr< itk::ProcessObject, ProcessObjectDeleter > m_Filter
Image Execute(const Image &image)
std::vector< uint32_t > GetMaximumNumberOfIterations() const
Image GetLogBiasFieldAsImage(Image referenceImage) const
The computed log bias field correction. Typically, a reduced size image is used as input to the N4 fi...
uint32_t GetSplineOrder() const
std::function< uint32_t()> m_pfGetCurrentLevel
void SetWienerFilterNoise(double WienerFilterNoise)
double GetBiasFieldFullWidthAtHalfMaximum() const
uint32_t GetElapsedIterations() const
double GetCurrentConvergenceMeasurement() const
void SetNumberOfControlPoints(uint32_t value)
std::vector< uint32_t > m_MaximumNumberOfIterations
uint8_t GetMaskLabel() const
void SetBiasFieldFullWidthAtHalfMaximum(double BiasFieldFullWidthAtHalfMaximum)
void SetMaximumNumberOfIterations(std::vector< uint32_t > MaximumNumberOfIterations)
double GetConvergenceThreshold() const
std::vector< uint32_t > m_NumberOfControlPoints
void SetConvergenceThreshold(double ConvergenceThreshold)
virtual ~N4BiasFieldCorrectionImageFilter()
void SetNumberOfHistogramBins(uint32_t NumberOfHistogramBins)
Image(Self::*)(const Image * image, const Image * maskImage) MemberFunctionType
N4BiasFieldCorrectionImageFilter Self
uint32_t GetNumberOfHistogramBins() const
Image ExecuteInternal(const Image *image, const Image *maskImage)
bool GetUseMaskLabel() const
void SetUseMaskLabel(bool UseMaskLabel)
double m_WienerFilterNoise
RealPixelIDTypeList PixelIDTypeList
double m_BiasFieldFullWidthAtHalfMaximum
double m_ConvergenceThreshold
std::function< uint32_t()> m_pfGetElapsedIterations
std::function< double()> m_pfGetCurrentConvergenceMeasurement
double GetWienerFilterNoise() const
std::string ToString() const
void SetNumberOfControlPoints(std::vector< uint32_t > NumberOfControlPoints)
static const detail::MemberFunctionFactory< MemberFunctionType > & GetMemberFunctionFactory()
A class used to instantiate and generate function object to templated member functions.
typelist2::typelist< BasicPixelID< float >, BasicPixelID< double > > RealPixelIDTypeList
Image N4BiasFieldCorrection(const Image &image, const Image &maskImage, double convergenceThreshold=0.001, std::vector< uint32_t > maximumNumberOfIterations=std::vector< uint32_t >(4, 50), double biasFieldFullWidthAtHalfMaximum=0.15, double wienerFilterNoise=0.01, uint32_t numberOfHistogramBins=200u, std::vector< uint32_t > numberOfControlPoints=std::vector< uint32_t >(3, 4), uint32_t splineOrder=3u, bool useMaskLabel=true, uint8_t maskLabel=1)
Implementation of the N4 bias field correction algorithm.
#define SITKBasicFilters_EXPORT