# Interface methods for submodule: ScalarChanAndVeseLevelSetFunction
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import FiniteDifferenceFunctionProxy as _FiniteDifferenceFunctionProxy


# Interface methods for class: ScalarChanAndVeseLevelSetFunction
class ScalarChanAndVeseLevelSetFunctionProxy(_FiniteDifferenceFunctionProxy):
	def GetNameOfClass(self):
		""""""
		...

	def SetDomainFunction(self, f) -> None:
		""""""
		...

	def Initialize(self, r: Sequence[int]) -> None:
		""""""
		...

	def UpdateSharedData(self, forceUpdate: bool) -> None:
		""""""
		...

	def GetGlobalDataPointer(self):
		""""""
		...

	def ComputeGlobalTimeStep(self, GlobalData) -> float:
		""""""
		...

	def ComputeUpdate(self, neighborhood, globalData, arg2: Sequence[float] = ...) -> float:
		""""""
		...

	def SetInitialImage(self, f) -> None:
		""""""
		...

	def GetFeatureImage(self):
		""""""
		...

	def SetFeatureImage(self, f) -> None:
		""""""
		...

	def AdvectionField(self, arg0, arg1: Sequence[float], arg2 = 0) -> Sequence[float]:
		""""""
		...

	def SetAreaWeight(self, nu: float) -> None:
		""""""
		...

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

	def SetLambda1(self, lambda1: float) -> None:
		""""""
		...

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

	def SetLambda2(self, lambda2: float) -> None:
		""""""
		...

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

	def SetOverlapPenaltyWeight(self, gamma: float) -> None:
		""""""
		...

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

	def SetCurvatureWeight(self, c: float) -> None:
		""""""
		...

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

	def SetAdvectionWeight(self, iA: float) -> None:
		""""""
		...

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

	def SetReinitializationSmoothingWeight(self, c: float) -> None:
		""""""
		...

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

	def SetVolumeMatchingWeight(self, tau: float) -> None:
		""""""
		...

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

	def SetVolume(self, volume: float) -> None:
		""""""
		...

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

	def SetFunctionId(self, iFid: int) -> None:
		""""""
		...

	def ReleaseGlobalDataPointer(self, GlobalData) -> None:
		""""""
		...

	def ComputeCurvature(self, arg0, arg1: Sequence[float], gd) -> float:
		""""""
		...

	def LaplacianSmoothingSpeed(self, arg0, arg1: Sequence[float], arg2 = 0) -> float:
		""""""
		...

	def CurvatureSpeed(self, arg0, arg1: Sequence[float], arg2 = 0) -> float:
		""""""
		...

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

	def UpdatePixel(self, idx: int, iterator, newValue: float, status: bool) -> None:
		""""""
		...

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

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

