# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.3.1
#
# Do not make changes to this file unless you know what you are doing - modify
# the SWIG interface file instead.


import collections

from sys import version_info as _version_info
if _version_info < (3, 7, 0):
    raise RuntimeError("Python 3.7 or later required")

from . import _ITKCommonPython


from . import _ITKMetricsv4Python



from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _itkExpectationBasedPointSetToPointSetMetricv4Python
else:
    import _itkExpectationBasedPointSetToPointSetMetricv4Python

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


if _swig_python_version_info[0:2] >= (3, 3):
    import collections.abc
else:
    import collections

import itk.itkObjectToObjectMetricBasePython
import itk.itkSingleValuedCostFunctionv4Python
import itk.itkArrayPython
import itk.vnl_vectorPython
import itk.stdcomplexPython
import itk.pyBasePython
import itk.vnl_matrixPython
import itk.itkCostFunctionPython
import itk.ITKCommonBasePython
import itk.itkMatrixPython
import itk.itkVectorPython
import itk.itkFixedArrayPython
import itk.vnl_vector_refPython
import itk.itkPointPython
import itk.itkCovariantVectorPython
import itk.vnl_matrix_fixedPython
import itk.itkOptimizerParametersPython
import itk.itkPointSetPython
import itk.itkVectorContainerPython
import itk.itkOffsetPython
import itk.itkSizePython
import itk.itkContinuousIndexPython
import itk.itkIndexPython
import itk.itkObjectToObjectMetricPython
import itk.itkImageRegionPython
import itk.itkTransformBasePython
import itk.itkArray2DPython
import itk.itkSymmetricSecondRankTensorPython
import itk.itkVariableLengthVectorPython
import itk.itkDiffusionTensor3DPython
import itk.itkImagePython
import itk.itkRGBPixelPython
import itk.itkRGBAPixelPython
import itk.itkDisplacementFieldTransformPython
import itk.itkVectorImagePython
class itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass(itk.itkObjectToObjectMetricPython.itkObjectToObjectMetric22):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetFixedPointSet(self, _arg):
        r"""
        SetFixedPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetD2 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetD2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetD2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_GetModifiableFixedTransformedPointSet(self)

    def GetFixedTransformedPointSet(self, *args):
        r"""
        GetFixedTransformedPointSet(self) -> itkPointSetD2
        GetFixedTransformedPointSet(self) -> itkPointSetD2
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_GetFixedTransformedPointSet(self, *args)

    def SetMovingPointSet(self, _arg):
        r"""
        SetMovingPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetD2 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetD2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetD2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_GetModifiableMovingTransformedPointSet(self)

    def GetMovingTransformedPointSet(self, *args):
        r"""
        GetMovingTransformedPointSet(self) -> itkPointSetD2
        GetMovingTransformedPointSet(self) -> itkPointSetD2
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_GetMovingTransformedPointSet(self, *args)

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_GetVirtualTransformedPointSet(self)

    def SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg):
        r"""
        SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

    def SetCalculateValueAndDerivativeInTangentSpace(self, _arg):
        r"""
        SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass(itk.itkObjectToObjectMetricPython.itkObjectToObjectMetric33):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetFixedPointSet(self, _arg):
        r"""
        SetFixedPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetD3 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetD3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetD3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_GetModifiableFixedTransformedPointSet(self)

    def GetFixedTransformedPointSet(self, *args):
        r"""
        GetFixedTransformedPointSet(self) -> itkPointSetD3
        GetFixedTransformedPointSet(self) -> itkPointSetD3
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_GetFixedTransformedPointSet(self, *args)

    def SetMovingPointSet(self, _arg):
        r"""
        SetMovingPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetD3 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetD3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetD3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_GetModifiableMovingTransformedPointSet(self)

    def GetMovingTransformedPointSet(self, *args):
        r"""
        GetMovingTransformedPointSet(self) -> itkPointSetD3
        GetMovingTransformedPointSet(self) -> itkPointSetD3
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_GetMovingTransformedPointSet(self, *args)

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_GetVirtualTransformedPointSet(self)

    def SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg):
        r"""
        SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

    def SetCalculateValueAndDerivativeInTangentSpace(self, _arg):
        r"""
        SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass(itk.itkObjectToObjectMetricPython.itkObjectToObjectMetric22):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetFixedPointSet(self, _arg):
        r"""
        SetFixedPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetF2 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetF2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetF2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_GetModifiableFixedTransformedPointSet(self)

    def GetFixedTransformedPointSet(self, *args):
        r"""
        GetFixedTransformedPointSet(self) -> itkPointSetF2
        GetFixedTransformedPointSet(self) -> itkPointSetF2
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_GetFixedTransformedPointSet(self, *args)

    def SetMovingPointSet(self, _arg):
        r"""
        SetMovingPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetF2 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetF2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetF2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_GetModifiableMovingTransformedPointSet(self)

    def GetMovingTransformedPointSet(self, *args):
        r"""
        GetMovingTransformedPointSet(self) -> itkPointSetF2
        GetMovingTransformedPointSet(self) -> itkPointSetF2
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_GetMovingTransformedPointSet(self, *args)

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_GetVirtualTransformedPointSet(self)

    def SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg):
        r"""
        SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

    def SetCalculateValueAndDerivativeInTangentSpace(self, _arg):
        r"""
        SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass(itk.itkObjectToObjectMetricPython.itkObjectToObjectMetric33):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetFixedPointSet(self, _arg):
        r"""
        SetFixedPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetF3 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetF3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetF3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_GetModifiableFixedTransformedPointSet(self)

    def GetFixedTransformedPointSet(self, *args):
        r"""
        GetFixedTransformedPointSet(self) -> itkPointSetF3
        GetFixedTransformedPointSet(self) -> itkPointSetF3
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_GetFixedTransformedPointSet(self, *args)

    def SetMovingPointSet(self, _arg):
        r"""
        SetMovingPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetF3 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetF3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetF3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_GetModifiableMovingTransformedPointSet(self)

    def GetMovingTransformedPointSet(self, *args):
        r"""
        GetMovingTransformedPointSet(self) -> itkPointSetF3
        GetMovingTransformedPointSet(self) -> itkPointSetF3
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_GetMovingTransformedPointSet(self, *args)

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_GetVirtualTransformedPointSet(self)

    def SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg):
        r"""
        SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

    def SetCalculateValueAndDerivativeInTangentSpace(self, _arg):
        r"""
        SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass(itk.itkObjectToObjectMetricPython.itkObjectToObjectMetric22):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetFixedPointSet(self, _arg):
        r"""
        SetFixedPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetSS2 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetSS2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetSS2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_GetModifiableFixedTransformedPointSet(self)

    def GetFixedTransformedPointSet(self, *args):
        r"""
        GetFixedTransformedPointSet(self) -> itkPointSetSS2
        GetFixedTransformedPointSet(self) -> itkPointSetSS2
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_GetFixedTransformedPointSet(self, *args)

    def SetMovingPointSet(self, _arg):
        r"""
        SetMovingPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetSS2 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetSS2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetSS2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_GetModifiableMovingTransformedPointSet(self)

    def GetMovingTransformedPointSet(self, *args):
        r"""
        GetMovingTransformedPointSet(self) -> itkPointSetSS2
        GetMovingTransformedPointSet(self) -> itkPointSetSS2
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_GetMovingTransformedPointSet(self, *args)

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_GetVirtualTransformedPointSet(self)

    def SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg):
        r"""
        SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

    def SetCalculateValueAndDerivativeInTangentSpace(self, _arg):
        r"""
        SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass(itk.itkObjectToObjectMetricPython.itkObjectToObjectMetric33):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetFixedPointSet(self, _arg):
        r"""
        SetFixedPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetSS3 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetSS3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetSS3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_GetModifiableFixedTransformedPointSet(self)

    def GetFixedTransformedPointSet(self, *args):
        r"""
        GetFixedTransformedPointSet(self) -> itkPointSetSS3
        GetFixedTransformedPointSet(self) -> itkPointSetSS3
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_GetFixedTransformedPointSet(self, *args)

    def SetMovingPointSet(self, _arg):
        r"""
        SetMovingPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetSS3 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetSS3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetSS3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_GetModifiableMovingTransformedPointSet(self)

    def GetMovingTransformedPointSet(self, *args):
        r"""
        GetMovingTransformedPointSet(self) -> itkPointSetSS3
        GetMovingTransformedPointSet(self) -> itkPointSetSS3
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_GetMovingTransformedPointSet(self, *args)

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_GetVirtualTransformedPointSet(self)

    def SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg):
        r"""
        SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

    def SetCalculateValueAndDerivativeInTangentSpace(self, _arg):
        r"""
        SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass(itk.itkObjectToObjectMetricPython.itkObjectToObjectMetric22):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetFixedPointSet(self, _arg):
        r"""
        SetFixedPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetUC2 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetUC2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetUC2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_GetModifiableFixedTransformedPointSet(self)

    def GetFixedTransformedPointSet(self, *args):
        r"""
        GetFixedTransformedPointSet(self) -> itkPointSetUC2
        GetFixedTransformedPointSet(self) -> itkPointSetUC2
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_GetFixedTransformedPointSet(self, *args)

    def SetMovingPointSet(self, _arg):
        r"""
        SetMovingPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetUC2 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetUC2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetUC2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_GetModifiableMovingTransformedPointSet(self)

    def GetMovingTransformedPointSet(self, *args):
        r"""
        GetMovingTransformedPointSet(self) -> itkPointSetUC2
        GetMovingTransformedPointSet(self) -> itkPointSetUC2
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_GetMovingTransformedPointSet(self, *args)

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD2"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_GetVirtualTransformedPointSet(self)

    def SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg):
        r"""
        SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

    def SetCalculateValueAndDerivativeInTangentSpace(self, _arg):
        r"""
        SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass(itk.itkObjectToObjectMetricPython.itkObjectToObjectMetric33):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetFixedPointSet(self, _arg):
        r"""
        SetFixedPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetUC3 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetUC3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetUC3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_GetModifiableFixedTransformedPointSet(self)

    def GetFixedTransformedPointSet(self, *args):
        r"""
        GetFixedTransformedPointSet(self) -> itkPointSetUC3
        GetFixedTransformedPointSet(self) -> itkPointSetUC3
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_GetFixedTransformedPointSet(self, *args)

    def SetMovingPointSet(self, _arg):
        r"""
        SetMovingPointSet(self, _arg)

        Parameters
        ----------
        _arg: itkPointSetUC3 const *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetUC3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetUC3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_GetModifiableMovingTransformedPointSet(self)

    def GetMovingTransformedPointSet(self, *args):
        r"""
        GetMovingTransformedPointSet(self) -> itkPointSetUC3
        GetMovingTransformedPointSet(self) -> itkPointSetUC3
        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_GetMovingTransformedPointSet(self, *args)

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD3"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_GetVirtualTransformedPointSet(self)

    def SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg):
        r"""
        SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

    def SetCalculateValueAndDerivativeInTangentSpace(self, _arg):
        r"""
        SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass(itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def GetLocalNeighborhoodValue(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel) -> double

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: double const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodDerivative(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodDerivative(self, arg0, pixel) -> itkFixedArrayD2

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: double const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_GetLocalNeighborhoodDerivative(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

        Parameters
        ----------
        arg0: itkPointF2 const &
        arg1: double &
        arg2: itkFixedArrayD2 &
        pixel: double const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass(itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def GetLocalNeighborhoodValue(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel) -> double

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: double const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodDerivative(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodDerivative(self, arg0, pixel) -> itkFixedArrayD3

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: double const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_GetLocalNeighborhoodDerivative(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

        Parameters
        ----------
        arg0: itkPointF3 const &
        arg1: double &
        arg2: itkFixedArrayD3 &
        pixel: double const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass(itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def GetLocalNeighborhoodValue(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel) -> double

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: float const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodDerivative(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodDerivative(self, arg0, pixel) -> itkFixedArrayD2

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: float const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_GetLocalNeighborhoodDerivative(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

        Parameters
        ----------
        arg0: itkPointF2 const &
        arg1: double &
        arg2: itkFixedArrayD2 &
        pixel: float const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass(itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def GetLocalNeighborhoodValue(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel) -> double

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: float const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodDerivative(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodDerivative(self, arg0, pixel) -> itkFixedArrayD3

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: float const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_GetLocalNeighborhoodDerivative(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

        Parameters
        ----------
        arg0: itkPointF3 const &
        arg1: double &
        arg2: itkFixedArrayD3 &
        pixel: float const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass(itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def GetLocalNeighborhoodValue(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel) -> double

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: short const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodDerivative(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodDerivative(self, arg0, pixel) -> itkFixedArrayD2

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: short const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_GetLocalNeighborhoodDerivative(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

        Parameters
        ----------
        arg0: itkPointF2 const &
        arg1: double &
        arg2: itkFixedArrayD2 &
        pixel: short const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass(itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def GetLocalNeighborhoodValue(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel) -> double

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: short const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodDerivative(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodDerivative(self, arg0, pixel) -> itkFixedArrayD3

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: short const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_GetLocalNeighborhoodDerivative(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

        Parameters
        ----------
        arg0: itkPointF3 const &
        arg1: double &
        arg2: itkFixedArrayD3 &
        pixel: short const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass(itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def GetLocalNeighborhoodValue(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel) -> double

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: unsigned char const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodDerivative(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodDerivative(self, arg0, pixel) -> itkFixedArrayD2

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: unsigned char const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_GetLocalNeighborhoodDerivative(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

        Parameters
        ----------
        arg0: itkPointF2 const &
        arg1: double &
        arg2: itkFixedArrayD2 &
        pixel: unsigned char const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass)
class itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass(itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def GetLocalNeighborhoodValue(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel) -> double

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: unsigned char const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodDerivative(self, arg0, pixel):
        r"""
        GetLocalNeighborhoodDerivative(self, arg0, pixel) -> itkFixedArrayD3

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: unsigned char const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_GetLocalNeighborhoodDerivative(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

        Parameters
        ----------
        arg0: itkPointF3 const &
        arg1: double &
        arg2: itkFixedArrayD3 &
        pixel: unsigned char const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_cast(obj)

# Register itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass)

def itkExpectationBasedPointSetToPointSetMetricv4PSD2_New():
    return itkExpectationBasedPointSetToPointSetMetricv4PSD2.New()

class itkExpectationBasedPointSetToPointSetMetricv4PSD2(itkExpectationBasedPointSetToPointSetMetricv4PSD2_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSD2 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkExpectationBasedPointSetToPointSetMetricv4PSD2_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2___New_orig__()

    def GetLocalNeighborhoodValue(self, arg0, pixel=0):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel=0) -> double

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: double const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0)

        Parameters
        ----------
        arg0: itkPointF2 const &
        arg1: double &
        arg2: itkFixedArrayD2 &
        pixel: double const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

    def SetPointSetSigma(self, _arg):
        r"""
        SetPointSetSigma(self, _arg)

        Parameters
        ----------
        _arg: float

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_SetPointSetSigma(self, _arg)

    def GetPointSetSigma(self):
        r"""GetPointSetSigma(self) -> float"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_GetPointSetSigma(self)

    def SetEvaluationKNeighborhood(self, _arg):
        r"""
        SetEvaluationKNeighborhood(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_SetEvaluationKNeighborhood(self, _arg)

    def GetEvaluationKNeighborhood(self):
        r"""GetEvaluationKNeighborhood(self) -> unsigned int"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_GetEvaluationKNeighborhood(self)

    def InternalClone(self):
        r"""InternalClone(self) -> itkLightObject_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_InternalClone(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSD2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSD2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkExpectationBasedPointSetToPointSetMetricv4PSD2

        Create a new object of the class itkExpectationBasedPointSetToPointSetMetricv4PSD2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkExpectationBasedPointSetToPointSetMetricv4PSD2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkExpectationBasedPointSetToPointSetMetricv4PSD2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkExpectationBasedPointSetToPointSetMetricv4PSD2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkExpectationBasedPointSetToPointSetMetricv4PSD2 in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD2_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSD2)

def itkExpectationBasedPointSetToPointSetMetricv4PSD3_New():
    return itkExpectationBasedPointSetToPointSetMetricv4PSD3.New()

class itkExpectationBasedPointSetToPointSetMetricv4PSD3(itkExpectationBasedPointSetToPointSetMetricv4PSD3_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSD3 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkExpectationBasedPointSetToPointSetMetricv4PSD3_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3___New_orig__()

    def GetLocalNeighborhoodValue(self, arg0, pixel=0):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel=0) -> double

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: double const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0)

        Parameters
        ----------
        arg0: itkPointF3 const &
        arg1: double &
        arg2: itkFixedArrayD3 &
        pixel: double const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

    def SetPointSetSigma(self, _arg):
        r"""
        SetPointSetSigma(self, _arg)

        Parameters
        ----------
        _arg: float

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_SetPointSetSigma(self, _arg)

    def GetPointSetSigma(self):
        r"""GetPointSetSigma(self) -> float"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_GetPointSetSigma(self)

    def SetEvaluationKNeighborhood(self, _arg):
        r"""
        SetEvaluationKNeighborhood(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_SetEvaluationKNeighborhood(self, _arg)

    def GetEvaluationKNeighborhood(self):
        r"""GetEvaluationKNeighborhood(self) -> unsigned int"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_GetEvaluationKNeighborhood(self)

    def InternalClone(self):
        r"""InternalClone(self) -> itkLightObject_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_InternalClone(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSD3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSD3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkExpectationBasedPointSetToPointSetMetricv4PSD3

        Create a new object of the class itkExpectationBasedPointSetToPointSetMetricv4PSD3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkExpectationBasedPointSetToPointSetMetricv4PSD3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkExpectationBasedPointSetToPointSetMetricv4PSD3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkExpectationBasedPointSetToPointSetMetricv4PSD3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkExpectationBasedPointSetToPointSetMetricv4PSD3 in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSD3_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSD3)

def itkExpectationBasedPointSetToPointSetMetricv4PSF2_New():
    return itkExpectationBasedPointSetToPointSetMetricv4PSF2.New()

class itkExpectationBasedPointSetToPointSetMetricv4PSF2(itkExpectationBasedPointSetToPointSetMetricv4PSF2_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSF2 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkExpectationBasedPointSetToPointSetMetricv4PSF2_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2___New_orig__()

    def GetLocalNeighborhoodValue(self, arg0, pixel=0):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel=0) -> double

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: float const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0)

        Parameters
        ----------
        arg0: itkPointF2 const &
        arg1: double &
        arg2: itkFixedArrayD2 &
        pixel: float const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

    def SetPointSetSigma(self, _arg):
        r"""
        SetPointSetSigma(self, _arg)

        Parameters
        ----------
        _arg: float

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_SetPointSetSigma(self, _arg)

    def GetPointSetSigma(self):
        r"""GetPointSetSigma(self) -> float"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_GetPointSetSigma(self)

    def SetEvaluationKNeighborhood(self, _arg):
        r"""
        SetEvaluationKNeighborhood(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_SetEvaluationKNeighborhood(self, _arg)

    def GetEvaluationKNeighborhood(self):
        r"""GetEvaluationKNeighborhood(self) -> unsigned int"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_GetEvaluationKNeighborhood(self)

    def InternalClone(self):
        r"""InternalClone(self) -> itkLightObject_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_InternalClone(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSF2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSF2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkExpectationBasedPointSetToPointSetMetricv4PSF2

        Create a new object of the class itkExpectationBasedPointSetToPointSetMetricv4PSF2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkExpectationBasedPointSetToPointSetMetricv4PSF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkExpectationBasedPointSetToPointSetMetricv4PSF2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkExpectationBasedPointSetToPointSetMetricv4PSF2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkExpectationBasedPointSetToPointSetMetricv4PSF2 in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF2_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSF2)

def itkExpectationBasedPointSetToPointSetMetricv4PSF3_New():
    return itkExpectationBasedPointSetToPointSetMetricv4PSF3.New()

class itkExpectationBasedPointSetToPointSetMetricv4PSF3(itkExpectationBasedPointSetToPointSetMetricv4PSF3_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSF3 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkExpectationBasedPointSetToPointSetMetricv4PSF3_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3___New_orig__()

    def GetLocalNeighborhoodValue(self, arg0, pixel=0):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel=0) -> double

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: float const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0)

        Parameters
        ----------
        arg0: itkPointF3 const &
        arg1: double &
        arg2: itkFixedArrayD3 &
        pixel: float const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

    def SetPointSetSigma(self, _arg):
        r"""
        SetPointSetSigma(self, _arg)

        Parameters
        ----------
        _arg: float

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_SetPointSetSigma(self, _arg)

    def GetPointSetSigma(self):
        r"""GetPointSetSigma(self) -> float"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_GetPointSetSigma(self)

    def SetEvaluationKNeighborhood(self, _arg):
        r"""
        SetEvaluationKNeighborhood(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_SetEvaluationKNeighborhood(self, _arg)

    def GetEvaluationKNeighborhood(self):
        r"""GetEvaluationKNeighborhood(self) -> unsigned int"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_GetEvaluationKNeighborhood(self)

    def InternalClone(self):
        r"""InternalClone(self) -> itkLightObject_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_InternalClone(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSF3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSF3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkExpectationBasedPointSetToPointSetMetricv4PSF3

        Create a new object of the class itkExpectationBasedPointSetToPointSetMetricv4PSF3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkExpectationBasedPointSetToPointSetMetricv4PSF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkExpectationBasedPointSetToPointSetMetricv4PSF3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkExpectationBasedPointSetToPointSetMetricv4PSF3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkExpectationBasedPointSetToPointSetMetricv4PSF3 in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSF3_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSF3)

def itkExpectationBasedPointSetToPointSetMetricv4PSSS2_New():
    return itkExpectationBasedPointSetToPointSetMetricv4PSSS2.New()

class itkExpectationBasedPointSetToPointSetMetricv4PSSS2(itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSSS2 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkExpectationBasedPointSetToPointSetMetricv4PSSS2_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2___New_orig__()

    def GetLocalNeighborhoodValue(self, arg0, pixel=0):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel=0) -> double

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: short const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0)

        Parameters
        ----------
        arg0: itkPointF2 const &
        arg1: double &
        arg2: itkFixedArrayD2 &
        pixel: short const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

    def SetPointSetSigma(self, _arg):
        r"""
        SetPointSetSigma(self, _arg)

        Parameters
        ----------
        _arg: float

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_SetPointSetSigma(self, _arg)

    def GetPointSetSigma(self):
        r"""GetPointSetSigma(self) -> float"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_GetPointSetSigma(self)

    def SetEvaluationKNeighborhood(self, _arg):
        r"""
        SetEvaluationKNeighborhood(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_SetEvaluationKNeighborhood(self, _arg)

    def GetEvaluationKNeighborhood(self):
        r"""GetEvaluationKNeighborhood(self) -> unsigned int"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_GetEvaluationKNeighborhood(self)

    def InternalClone(self):
        r"""InternalClone(self) -> itkLightObject_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_InternalClone(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSSS2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSSS2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkExpectationBasedPointSetToPointSetMetricv4PSSS2

        Create a new object of the class itkExpectationBasedPointSetToPointSetMetricv4PSSS2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkExpectationBasedPointSetToPointSetMetricv4PSSS2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkExpectationBasedPointSetToPointSetMetricv4PSSS2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkExpectationBasedPointSetToPointSetMetricv4PSSS2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkExpectationBasedPointSetToPointSetMetricv4PSSS2 in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS2_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSSS2)

def itkExpectationBasedPointSetToPointSetMetricv4PSSS3_New():
    return itkExpectationBasedPointSetToPointSetMetricv4PSSS3.New()

class itkExpectationBasedPointSetToPointSetMetricv4PSSS3(itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSSS3 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkExpectationBasedPointSetToPointSetMetricv4PSSS3_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3___New_orig__()

    def GetLocalNeighborhoodValue(self, arg0, pixel=0):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel=0) -> double

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: short const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0)

        Parameters
        ----------
        arg0: itkPointF3 const &
        arg1: double &
        arg2: itkFixedArrayD3 &
        pixel: short const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

    def SetPointSetSigma(self, _arg):
        r"""
        SetPointSetSigma(self, _arg)

        Parameters
        ----------
        _arg: float

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_SetPointSetSigma(self, _arg)

    def GetPointSetSigma(self):
        r"""GetPointSetSigma(self) -> float"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_GetPointSetSigma(self)

    def SetEvaluationKNeighborhood(self, _arg):
        r"""
        SetEvaluationKNeighborhood(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_SetEvaluationKNeighborhood(self, _arg)

    def GetEvaluationKNeighborhood(self):
        r"""GetEvaluationKNeighborhood(self) -> unsigned int"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_GetEvaluationKNeighborhood(self)

    def InternalClone(self):
        r"""InternalClone(self) -> itkLightObject_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_InternalClone(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSSS3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSSS3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkExpectationBasedPointSetToPointSetMetricv4PSSS3

        Create a new object of the class itkExpectationBasedPointSetToPointSetMetricv4PSSS3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkExpectationBasedPointSetToPointSetMetricv4PSSS3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkExpectationBasedPointSetToPointSetMetricv4PSSS3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkExpectationBasedPointSetToPointSetMetricv4PSSS3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkExpectationBasedPointSetToPointSetMetricv4PSSS3 in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSSS3_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSSS3)

def itkExpectationBasedPointSetToPointSetMetricv4PSUC2_New():
    return itkExpectationBasedPointSetToPointSetMetricv4PSUC2.New()

class itkExpectationBasedPointSetToPointSetMetricv4PSUC2(itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSUC2 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkExpectationBasedPointSetToPointSetMetricv4PSUC2_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2___New_orig__()

    def GetLocalNeighborhoodValue(self, arg0, pixel=0):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel=0) -> double

        Parameters
        ----------
        arg0: itkPointF2 const &
        pixel: unsigned char const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0)

        Parameters
        ----------
        arg0: itkPointF2 const &
        arg1: double &
        arg2: itkFixedArrayD2 &
        pixel: unsigned char const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

    def SetPointSetSigma(self, _arg):
        r"""
        SetPointSetSigma(self, _arg)

        Parameters
        ----------
        _arg: float

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_SetPointSetSigma(self, _arg)

    def GetPointSetSigma(self):
        r"""GetPointSetSigma(self) -> float"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_GetPointSetSigma(self)

    def SetEvaluationKNeighborhood(self, _arg):
        r"""
        SetEvaluationKNeighborhood(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_SetEvaluationKNeighborhood(self, _arg)

    def GetEvaluationKNeighborhood(self):
        r"""GetEvaluationKNeighborhood(self) -> unsigned int"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_GetEvaluationKNeighborhood(self)

    def InternalClone(self):
        r"""InternalClone(self) -> itkLightObject_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_InternalClone(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSUC2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSUC2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkExpectationBasedPointSetToPointSetMetricv4PSUC2

        Create a new object of the class itkExpectationBasedPointSetToPointSetMetricv4PSUC2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkExpectationBasedPointSetToPointSetMetricv4PSUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkExpectationBasedPointSetToPointSetMetricv4PSUC2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkExpectationBasedPointSetToPointSetMetricv4PSUC2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkExpectationBasedPointSetToPointSetMetricv4PSUC2 in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC2_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSUC2)

def itkExpectationBasedPointSetToPointSetMetricv4PSUC3_New():
    return itkExpectationBasedPointSetToPointSetMetricv4PSUC3.New()

class itkExpectationBasedPointSetToPointSetMetricv4PSUC3(itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Superclass):
    r"""Proxy of C++ itkExpectationBasedPointSetToPointSetMetricv4PSUC3 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkExpectationBasedPointSetToPointSetMetricv4PSUC3_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3___New_orig__()

    def GetLocalNeighborhoodValue(self, arg0, pixel=0):
        r"""
        GetLocalNeighborhoodValue(self, arg0, pixel=0) -> double

        Parameters
        ----------
        arg0: itkPointF3 const &
        pixel: unsigned char const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_GetLocalNeighborhoodValue(self, arg0, pixel)

    def GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0):
        r"""
        GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel=0)

        Parameters
        ----------
        arg0: itkPointF3 const &
        arg1: double &
        arg2: itkFixedArrayD3 &
        pixel: unsigned char const &

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_GetLocalNeighborhoodValueAndDerivative(self, arg0, arg1, arg2, pixel)

    def SetPointSetSigma(self, _arg):
        r"""
        SetPointSetSigma(self, _arg)

        Parameters
        ----------
        _arg: float

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_SetPointSetSigma(self, _arg)

    def GetPointSetSigma(self):
        r"""GetPointSetSigma(self) -> float"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_GetPointSetSigma(self)

    def SetEvaluationKNeighborhood(self, _arg):
        r"""
        SetEvaluationKNeighborhood(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_SetEvaluationKNeighborhood(self, _arg)

    def GetEvaluationKNeighborhood(self):
        r"""GetEvaluationKNeighborhood(self) -> unsigned int"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_GetEvaluationKNeighborhood(self)

    def InternalClone(self):
        r"""InternalClone(self) -> itkLightObject_Pointer"""
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_InternalClone(self)
    __swig_destroy__ = _itkExpectationBasedPointSetToPointSetMetricv4Python.delete_itkExpectationBasedPointSetToPointSetMetricv4PSUC3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkExpectationBasedPointSetToPointSetMetricv4PSUC3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkExpectationBasedPointSetToPointSetMetricv4PSUC3

        Create a new object of the class itkExpectationBasedPointSetToPointSetMetricv4PSUC3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkExpectationBasedPointSetToPointSetMetricv4PSUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkExpectationBasedPointSetToPointSetMetricv4PSUC3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkExpectationBasedPointSetToPointSetMetricv4PSUC3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkExpectationBasedPointSetToPointSetMetricv4PSUC3 in _itkExpectationBasedPointSetToPointSetMetricv4Python:
_itkExpectationBasedPointSetToPointSetMetricv4Python.itkExpectationBasedPointSetToPointSetMetricv4PSUC3_swigregister(itkExpectationBasedPointSetToPointSetMetricv4PSUC3)

