18 #ifndef sitkN4BiasFieldCorrectionImageFilter_h
19 #define sitkN4BiasFieldCorrectionImageFilter_h
92 SITK_RETURN_SELF_TYPE_HEADER
SetConvergenceThreshold (
double ConvergenceThreshold ) { this->m_ConvergenceThreshold = ConvergenceThreshold;
return *
this; }
102 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumNumberOfIterations ( std::vector<uint32_t> MaximumNumberOfIterations ) { this->m_MaximumNumberOfIterations = MaximumNumberOfIterations;
return *
this; }
112 SITK_RETURN_SELF_TYPE_HEADER
SetBiasFieldFullWidthAtHalfMaximum (
double BiasFieldFullWidthAtHalfMaximum ) { this->m_BiasFieldFullWidthAtHalfMaximum = BiasFieldFullWidthAtHalfMaximum;
return *
this; }
122 SITK_RETURN_SELF_TYPE_HEADER
SetWienerFilterNoise (
double WienerFilterNoise ) { this->m_WienerFilterNoise = WienerFilterNoise;
return *
this; }
142 SITK_RETURN_SELF_TYPE_HEADER
SetNumberOfControlPoints ( std::vector<uint32_t> NumberOfControlPoints ) { this->m_NumberOfControlPoints = std::move(NumberOfControlPoints);
return *
this; }
155 SITK_RETURN_SELF_TYPE_HEADER
SetSplineOrder (
uint32_t SplineOrder ) { this->m_SplineOrder = SplineOrder;
return *
this; }
165 SITK_RETURN_SELF_TYPE_HEADER
SetUseMaskLabel (
bool UseMaskLabel ) { this->m_UseMaskLabel = UseMaskLabel;
return *
this; }
168 SITK_RETURN_SELF_TYPE_HEADER
UseMaskLabelOn() {
return this->SetUseMaskLabel(
true); }
169 SITK_RETURN_SELF_TYPE_HEADER
UseMaskLabelOff() {
return this->SetUseMaskLabel(
false); }
179 SITK_RETURN_SELF_TYPE_HEADER
SetMaskLabel (
uint8_t MaskLabel ) { this->m_MaskLabel = MaskLabel;
return *
this; }
197 std::string
GetName()
const {
return std::string (
"N4BiasFieldCorrectionImageFilter"); }
200 std::string ToString()
const;
213 template <
class TImageType>
Image ExecuteInternal (
const Image * image,
const Image * maskImage );
222 double m_ConvergenceThreshold{0.001};
225 std::vector<uint32_t> m_MaximumNumberOfIterations{std::vector<uint32_t>(4,50)};
228 double m_BiasFieldFullWidthAtHalfMaximum{0.15};
231 double m_WienerFilterNoise{0.01};
237 std::vector<uint32_t> m_NumberOfControlPoints{std::vector<uint32_t>(3, 4)};
242 bool m_UseMaskLabel{
true};
264 SITKBasicFilters_EXPORT 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 );
265 SITKBasicFilters_EXPORT Image N4BiasFieldCorrection (
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 );