# Interface methods for submodule: N4BiasFieldCorrectionImageFilter
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import ImageSourceProxy as _ImageSourceProxy, ImageToImageFilterCommonProxy as _ImageToImageFilterCommonProxy


# Interface methods for class: N4BiasFieldCorrectionImageFilter
class N4BiasFieldCorrectionImageFilterProxy(_ImageSourceProxy, _ImageToImageFilterCommonProxy):
	def GetNameOfClass(self):
		""""""
		...

	@overload
	def SetInput(self, input) -> None:
		""""""
		...

	@overload
	def SetInput(self, arg0: int, image) -> None:
		""""""
		...

	@overload
	def GetInput(self):
		""""""
		...

	@overload
	def GetInput(self, idx: int):
		""""""
		...

	def PushBackInput(self, input) -> None:
		""""""
		...

	def PopBackInput(self) -> None:
		""""""
		...

	def PushFrontInput(self, input) -> None:
		""""""
		...

	def PopFrontInput(self) -> None:
		""""""
		...

	def SetCoordinateTolerance(self, _arg: float) -> None:
		""""""
		...

	def GetCoordinateTolerance(self) -> float:
		""""""
		...

	def SetDirectionTolerance(self, _arg: float) -> None:
		""""""
		...

	def GetDirectionTolerance(self) -> float:
		""""""
		...

	@staticmethod
	def New():
		""""""
		...

	def Clone(self):
		""""""
		...

	def EnlargeOutputRequestedRegion(self, arg0) -> None:
		""""""
		...

	def SetInput1(self, image) -> None:
		""""""
		...

	def SetMaskImage(self, _arg) -> None:
		""""""
		...

	def SetInput2(self, mask) -> None:
		""""""
		...

	def GetMaskImage(self):
		""""""
		...

	def SetMaskLabel(self, _arg: int) -> None:
		""""""
		...

	def GetMaskLabel(self) -> int:
		""""""
		...

	def SetUseMaskLabel(self, _arg: bool) -> None:
		""""""
		...

	def GetUseMaskLabel(self) -> bool:
		""""""
		...

	def UseMaskLabelOn(self) -> None:
		""""""
		...

	def UseMaskLabelOff(self) -> None:
		""""""
		...

	def SetConfidenceImage(self, _arg) -> None:
		""""""
		...

	def SetInput3(self, image) -> None:
		""""""
		...

	def GetConfidenceImage(self):
		""""""
		...

	def SetNumberOfHistogramBins(self, _arg: int) -> None:
		""""""
		...

	def GetNumberOfHistogramBins(self) -> int:
		""""""
		...

	def SetWienerFilterNoise(self, _arg: float) -> None:
		""""""
		...

	def GetWienerFilterNoise(self) -> float:
		""""""
		...

	def SetBiasFieldFullWidthAtHalfMaximum(self, _arg: float) -> None:
		""""""
		...

	def GetBiasFieldFullWidthAtHalfMaximum(self) -> float:
		""""""
		...

	def SetSplineOrder(self, _arg: int) -> None:
		""""""
		...

	def GetSplineOrder(self) -> int:
		""""""
		...

	def SetNumberOfControlPoints(self, _arg: Sequence[int]) -> None:
		""""""
		...

	def GetNumberOfControlPoints(self) -> Sequence[int]:
		""""""
		...

	@overload
	def SetNumberOfFittingLevels(self, _arg: Sequence[int]) -> None:
		""""""
		...

	@overload
	def SetNumberOfFittingLevels(self, n: int) -> None:
		""""""
		...

	def GetNumberOfFittingLevels(self) -> Sequence[int]:
		""""""
		...

	def SetMaximumNumberOfIterations(self, _arg: Sequence[int]) -> None:
		""""""
		...

	def GetMaximumNumberOfIterations(self) -> Sequence[int]:
		""""""
		...

	def SetConvergenceThreshold(self, _arg: float) -> None:
		""""""
		...

	def GetConvergenceThreshold(self) -> float:
		""""""
		...

	def GetLogBiasFieldControlPointLattice(self):
		""""""
		...

	def GetElapsedIterations(self) -> int:
		""""""
		...

	def GetCurrentConvergenceMeasurement(self) -> float:
		""""""
		...

	def GetCurrentLevel(self) -> int:
		""""""
		...

	def ReconstructBiasField(self, arg0):
		""""""
		...

