# 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 _itkPointSetToPointSetMetricWithIndexv4Python
else:
    import _itkPointSetToPointSetMetricWithIndexv4Python

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.itkIndexPython
import itk.itkSizePython
import itk.pyBasePython
import itk.itkOffsetPython
import itk.itkImageRegionPython
import itk.ITKCommonBasePython
import itk.itkMatrixPython
import itk.itkVectorPython
import itk.vnl_vectorPython
import itk.stdcomplexPython
import itk.vnl_matrixPython
import itk.itkFixedArrayPython
import itk.vnl_vector_refPython
import itk.itkPointPython
import itk.itkCovariantVectorPython
import itk.vnl_matrix_fixedPython
import itk.itkDisplacementFieldTransformPython
import itk.itkImagePython
import itk.itkRGBPixelPython
import itk.itkRGBAPixelPython
import itk.itkSymmetricSecondRankTensorPython
import itk.itkVariableLengthVectorPython
import itk.itkDiffusionTensor3DPython
import itk.itkTransformBasePython
import itk.itkArray2DPython
import itk.itkOptimizerParametersPython
import itk.itkArrayPython
import itk.itkVectorImagePython
import itk.itkPointSetPython
import itk.itkVectorContainerPython
import itk.itkContinuousIndexPython
import itk.itkObjectToObjectMetricBasePython
import itk.itkSingleValuedCostFunctionv4Python
import itk.itkCostFunctionPython
class itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass(itk.itkObjectToObjectMetricBasePython.itkObjectToObjectMetricBaseTemplateD):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSD2_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 SetFixedTransform(self, _arg):
        r"""
        SetFixedTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_SetFixedTransform(self, _arg)

    def GetModifiableFixedTransform(self):
        r"""GetModifiableFixedTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetModifiableFixedTransform(self)

    def GetFixedTransform(self, *args):
        r"""
        GetFixedTransform(self) -> itkTransformD22
        GetFixedTransform(self) -> itkTransformD22
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetFixedTransform(self, *args)

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

        Parameters
        ----------
        _arg: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_SetMovingTransform(self, _arg)

    def GetModifiableMovingTransform(self):
        r"""GetModifiableMovingTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetModifiableMovingTransform(self)

    def GetMovingTransform(self, *args):
        r"""
        GetMovingTransform(self) -> itkTransformD22
        GetMovingTransform(self) -> itkTransformD22
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetMovingTransform(self, *args)

    def SetTransform(self, transform):
        r"""
        SetTransform(self, transform)

        Parameters
        ----------
        transform: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_SetTransform(self, transform)

    def GetTransform(self):
        r"""GetTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetTransform(self)

    def GetNumberOfValidPoints(self):
        r"""GetNumberOfValidPoints(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetNumberOfValidPoints(self)

    def SetVirtualDomain(self, spacing, origin, direction, region):
        r"""
        SetVirtualDomain(self, spacing, origin, direction, region)

        Parameters
        ----------
        spacing: itkVectorD2 const &
        origin: itkPointD2 const &
        direction: itkMatrixD22 const &
        region: itkImageRegion2 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_SetVirtualDomain(self, spacing, origin, direction, region)

    def SetVirtualDomainFromImage(self, virtualImage):
        r"""
        SetVirtualDomainFromImage(self, virtualImage)

        Parameters
        ----------
        virtualImage: itkImageD2 const *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_SetVirtualDomainFromImage(self, virtualImage)

    def SupportsArbitraryVirtualDomainSamples(self):
        r"""SupportsArbitraryVirtualDomainSamples(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_SupportsArbitraryVirtualDomainSamples(self)

    def GetVirtualDomainTimeStamp(self):
        r"""GetVirtualDomainTimeStamp(self) -> itkTimeStamp"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetVirtualDomainTimeStamp(self)

    def GetVirtualSpacing(self):
        r"""GetVirtualSpacing(self) -> itkVectorD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetVirtualSpacing(self)

    def GetVirtualOrigin(self):
        r"""GetVirtualOrigin(self) -> itkPointD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetVirtualOrigin(self)

    def GetVirtualDirection(self):
        r"""GetVirtualDirection(self) -> itkMatrixD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetVirtualDirection(self)

    def GetVirtualRegion(self):
        r"""GetVirtualRegion(self) -> itkImageRegion2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetVirtualRegion(self)

    def GetModifiableVirtualImage(self):
        r"""GetModifiableVirtualImage(self) -> itkImageD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetModifiableVirtualImage(self)

    def GetVirtualImage(self, *args):
        r"""
        GetVirtualImage(self) -> itkImageD2
        GetVirtualImage(self) -> itkImageD2
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_GetVirtualImage(self, *args)

    def ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters) -> long

        Parameters
        ----------
        index: itkIndex2 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters)

    def ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters) -> long

        Parameters
        ----------
        point: itkPointD2 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters)

    def IsInsideVirtualDomain(self, *args):
        r"""
        IsInsideVirtualDomain(self, point) -> bool

        Parameters
        ----------
        point: itkPointD2 const &

        IsInsideVirtualDomain(self, index) -> bool

        Parameters
        ----------
        index: itkIndex2 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_IsInsideVirtualDomain(self, *args)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass_swigregister(itkPointSetToPointSetMetricWithIndexv4PSD2_Superclass)
class itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass(itk.itkObjectToObjectMetricBasePython.itkObjectToObjectMetricBaseTemplateD):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSD3_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 SetFixedTransform(self, _arg):
        r"""
        SetFixedTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_SetFixedTransform(self, _arg)

    def GetModifiableFixedTransform(self):
        r"""GetModifiableFixedTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetModifiableFixedTransform(self)

    def GetFixedTransform(self, *args):
        r"""
        GetFixedTransform(self) -> itkTransformD33
        GetFixedTransform(self) -> itkTransformD33
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetFixedTransform(self, *args)

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

        Parameters
        ----------
        _arg: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_SetMovingTransform(self, _arg)

    def GetModifiableMovingTransform(self):
        r"""GetModifiableMovingTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetModifiableMovingTransform(self)

    def GetMovingTransform(self, *args):
        r"""
        GetMovingTransform(self) -> itkTransformD33
        GetMovingTransform(self) -> itkTransformD33
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetMovingTransform(self, *args)

    def SetTransform(self, transform):
        r"""
        SetTransform(self, transform)

        Parameters
        ----------
        transform: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_SetTransform(self, transform)

    def GetTransform(self):
        r"""GetTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetTransform(self)

    def GetNumberOfValidPoints(self):
        r"""GetNumberOfValidPoints(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetNumberOfValidPoints(self)

    def SetVirtualDomain(self, spacing, origin, direction, region):
        r"""
        SetVirtualDomain(self, spacing, origin, direction, region)

        Parameters
        ----------
        spacing: itkVectorD3 const &
        origin: itkPointD3 const &
        direction: itkMatrixD33 const &
        region: itkImageRegion3 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_SetVirtualDomain(self, spacing, origin, direction, region)

    def SetVirtualDomainFromImage(self, virtualImage):
        r"""
        SetVirtualDomainFromImage(self, virtualImage)

        Parameters
        ----------
        virtualImage: itkImageD3 const *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_SetVirtualDomainFromImage(self, virtualImage)

    def SupportsArbitraryVirtualDomainSamples(self):
        r"""SupportsArbitraryVirtualDomainSamples(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_SupportsArbitraryVirtualDomainSamples(self)

    def GetVirtualDomainTimeStamp(self):
        r"""GetVirtualDomainTimeStamp(self) -> itkTimeStamp"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetVirtualDomainTimeStamp(self)

    def GetVirtualSpacing(self):
        r"""GetVirtualSpacing(self) -> itkVectorD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetVirtualSpacing(self)

    def GetVirtualOrigin(self):
        r"""GetVirtualOrigin(self) -> itkPointD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetVirtualOrigin(self)

    def GetVirtualDirection(self):
        r"""GetVirtualDirection(self) -> itkMatrixD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetVirtualDirection(self)

    def GetVirtualRegion(self):
        r"""GetVirtualRegion(self) -> itkImageRegion3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetVirtualRegion(self)

    def GetModifiableVirtualImage(self):
        r"""GetModifiableVirtualImage(self) -> itkImageD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetModifiableVirtualImage(self)

    def GetVirtualImage(self, *args):
        r"""
        GetVirtualImage(self) -> itkImageD3
        GetVirtualImage(self) -> itkImageD3
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_GetVirtualImage(self, *args)

    def ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters) -> long

        Parameters
        ----------
        index: itkIndex3 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters)

    def ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters) -> long

        Parameters
        ----------
        point: itkPointD3 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters)

    def IsInsideVirtualDomain(self, *args):
        r"""
        IsInsideVirtualDomain(self, point) -> bool

        Parameters
        ----------
        point: itkPointD3 const &

        IsInsideVirtualDomain(self, index) -> bool

        Parameters
        ----------
        index: itkIndex3 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_IsInsideVirtualDomain(self, *args)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass_swigregister(itkPointSetToPointSetMetricWithIndexv4PSD3_Superclass)
class itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass(itk.itkObjectToObjectMetricBasePython.itkObjectToObjectMetricBaseTemplateD):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSF2_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 SetFixedTransform(self, _arg):
        r"""
        SetFixedTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_SetFixedTransform(self, _arg)

    def GetModifiableFixedTransform(self):
        r"""GetModifiableFixedTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetModifiableFixedTransform(self)

    def GetFixedTransform(self, *args):
        r"""
        GetFixedTransform(self) -> itkTransformD22
        GetFixedTransform(self) -> itkTransformD22
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetFixedTransform(self, *args)

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

        Parameters
        ----------
        _arg: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_SetMovingTransform(self, _arg)

    def GetModifiableMovingTransform(self):
        r"""GetModifiableMovingTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetModifiableMovingTransform(self)

    def GetMovingTransform(self, *args):
        r"""
        GetMovingTransform(self) -> itkTransformD22
        GetMovingTransform(self) -> itkTransformD22
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetMovingTransform(self, *args)

    def SetTransform(self, transform):
        r"""
        SetTransform(self, transform)

        Parameters
        ----------
        transform: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_SetTransform(self, transform)

    def GetTransform(self):
        r"""GetTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetTransform(self)

    def GetNumberOfValidPoints(self):
        r"""GetNumberOfValidPoints(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetNumberOfValidPoints(self)

    def SetVirtualDomain(self, spacing, origin, direction, region):
        r"""
        SetVirtualDomain(self, spacing, origin, direction, region)

        Parameters
        ----------
        spacing: itkVectorD2 const &
        origin: itkPointD2 const &
        direction: itkMatrixD22 const &
        region: itkImageRegion2 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_SetVirtualDomain(self, spacing, origin, direction, region)

    def SetVirtualDomainFromImage(self, virtualImage):
        r"""
        SetVirtualDomainFromImage(self, virtualImage)

        Parameters
        ----------
        virtualImage: itkImageD2 const *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_SetVirtualDomainFromImage(self, virtualImage)

    def SupportsArbitraryVirtualDomainSamples(self):
        r"""SupportsArbitraryVirtualDomainSamples(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_SupportsArbitraryVirtualDomainSamples(self)

    def GetVirtualDomainTimeStamp(self):
        r"""GetVirtualDomainTimeStamp(self) -> itkTimeStamp"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetVirtualDomainTimeStamp(self)

    def GetVirtualSpacing(self):
        r"""GetVirtualSpacing(self) -> itkVectorD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetVirtualSpacing(self)

    def GetVirtualOrigin(self):
        r"""GetVirtualOrigin(self) -> itkPointD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetVirtualOrigin(self)

    def GetVirtualDirection(self):
        r"""GetVirtualDirection(self) -> itkMatrixD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetVirtualDirection(self)

    def GetVirtualRegion(self):
        r"""GetVirtualRegion(self) -> itkImageRegion2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetVirtualRegion(self)

    def GetModifiableVirtualImage(self):
        r"""GetModifiableVirtualImage(self) -> itkImageD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetModifiableVirtualImage(self)

    def GetVirtualImage(self, *args):
        r"""
        GetVirtualImage(self) -> itkImageD2
        GetVirtualImage(self) -> itkImageD2
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_GetVirtualImage(self, *args)

    def ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters) -> long

        Parameters
        ----------
        index: itkIndex2 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters)

    def ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters) -> long

        Parameters
        ----------
        point: itkPointD2 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters)

    def IsInsideVirtualDomain(self, *args):
        r"""
        IsInsideVirtualDomain(self, point) -> bool

        Parameters
        ----------
        point: itkPointD2 const &

        IsInsideVirtualDomain(self, index) -> bool

        Parameters
        ----------
        index: itkIndex2 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_IsInsideVirtualDomain(self, *args)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass_swigregister(itkPointSetToPointSetMetricWithIndexv4PSF2_Superclass)
class itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass(itk.itkObjectToObjectMetricBasePython.itkObjectToObjectMetricBaseTemplateD):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSF3_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 SetFixedTransform(self, _arg):
        r"""
        SetFixedTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_SetFixedTransform(self, _arg)

    def GetModifiableFixedTransform(self):
        r"""GetModifiableFixedTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetModifiableFixedTransform(self)

    def GetFixedTransform(self, *args):
        r"""
        GetFixedTransform(self) -> itkTransformD33
        GetFixedTransform(self) -> itkTransformD33
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetFixedTransform(self, *args)

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

        Parameters
        ----------
        _arg: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_SetMovingTransform(self, _arg)

    def GetModifiableMovingTransform(self):
        r"""GetModifiableMovingTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetModifiableMovingTransform(self)

    def GetMovingTransform(self, *args):
        r"""
        GetMovingTransform(self) -> itkTransformD33
        GetMovingTransform(self) -> itkTransformD33
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetMovingTransform(self, *args)

    def SetTransform(self, transform):
        r"""
        SetTransform(self, transform)

        Parameters
        ----------
        transform: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_SetTransform(self, transform)

    def GetTransform(self):
        r"""GetTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetTransform(self)

    def GetNumberOfValidPoints(self):
        r"""GetNumberOfValidPoints(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetNumberOfValidPoints(self)

    def SetVirtualDomain(self, spacing, origin, direction, region):
        r"""
        SetVirtualDomain(self, spacing, origin, direction, region)

        Parameters
        ----------
        spacing: itkVectorD3 const &
        origin: itkPointD3 const &
        direction: itkMatrixD33 const &
        region: itkImageRegion3 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_SetVirtualDomain(self, spacing, origin, direction, region)

    def SetVirtualDomainFromImage(self, virtualImage):
        r"""
        SetVirtualDomainFromImage(self, virtualImage)

        Parameters
        ----------
        virtualImage: itkImageD3 const *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_SetVirtualDomainFromImage(self, virtualImage)

    def SupportsArbitraryVirtualDomainSamples(self):
        r"""SupportsArbitraryVirtualDomainSamples(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_SupportsArbitraryVirtualDomainSamples(self)

    def GetVirtualDomainTimeStamp(self):
        r"""GetVirtualDomainTimeStamp(self) -> itkTimeStamp"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetVirtualDomainTimeStamp(self)

    def GetVirtualSpacing(self):
        r"""GetVirtualSpacing(self) -> itkVectorD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetVirtualSpacing(self)

    def GetVirtualOrigin(self):
        r"""GetVirtualOrigin(self) -> itkPointD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetVirtualOrigin(self)

    def GetVirtualDirection(self):
        r"""GetVirtualDirection(self) -> itkMatrixD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetVirtualDirection(self)

    def GetVirtualRegion(self):
        r"""GetVirtualRegion(self) -> itkImageRegion3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetVirtualRegion(self)

    def GetModifiableVirtualImage(self):
        r"""GetModifiableVirtualImage(self) -> itkImageD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetModifiableVirtualImage(self)

    def GetVirtualImage(self, *args):
        r"""
        GetVirtualImage(self) -> itkImageD3
        GetVirtualImage(self) -> itkImageD3
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_GetVirtualImage(self, *args)

    def ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters) -> long

        Parameters
        ----------
        index: itkIndex3 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters)

    def ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters) -> long

        Parameters
        ----------
        point: itkPointD3 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters)

    def IsInsideVirtualDomain(self, *args):
        r"""
        IsInsideVirtualDomain(self, point) -> bool

        Parameters
        ----------
        point: itkPointD3 const &

        IsInsideVirtualDomain(self, index) -> bool

        Parameters
        ----------
        index: itkIndex3 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_IsInsideVirtualDomain(self, *args)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass_swigregister(itkPointSetToPointSetMetricWithIndexv4PSF3_Superclass)
class itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass(itk.itkObjectToObjectMetricBasePython.itkObjectToObjectMetricBaseTemplateD):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSSS2_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 SetFixedTransform(self, _arg):
        r"""
        SetFixedTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_SetFixedTransform(self, _arg)

    def GetModifiableFixedTransform(self):
        r"""GetModifiableFixedTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetModifiableFixedTransform(self)

    def GetFixedTransform(self, *args):
        r"""
        GetFixedTransform(self) -> itkTransformD22
        GetFixedTransform(self) -> itkTransformD22
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetFixedTransform(self, *args)

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

        Parameters
        ----------
        _arg: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_SetMovingTransform(self, _arg)

    def GetModifiableMovingTransform(self):
        r"""GetModifiableMovingTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetModifiableMovingTransform(self)

    def GetMovingTransform(self, *args):
        r"""
        GetMovingTransform(self) -> itkTransformD22
        GetMovingTransform(self) -> itkTransformD22
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetMovingTransform(self, *args)

    def SetTransform(self, transform):
        r"""
        SetTransform(self, transform)

        Parameters
        ----------
        transform: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_SetTransform(self, transform)

    def GetTransform(self):
        r"""GetTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetTransform(self)

    def GetNumberOfValidPoints(self):
        r"""GetNumberOfValidPoints(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetNumberOfValidPoints(self)

    def SetVirtualDomain(self, spacing, origin, direction, region):
        r"""
        SetVirtualDomain(self, spacing, origin, direction, region)

        Parameters
        ----------
        spacing: itkVectorD2 const &
        origin: itkPointD2 const &
        direction: itkMatrixD22 const &
        region: itkImageRegion2 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_SetVirtualDomain(self, spacing, origin, direction, region)

    def SetVirtualDomainFromImage(self, virtualImage):
        r"""
        SetVirtualDomainFromImage(self, virtualImage)

        Parameters
        ----------
        virtualImage: itkImageD2 const *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_SetVirtualDomainFromImage(self, virtualImage)

    def SupportsArbitraryVirtualDomainSamples(self):
        r"""SupportsArbitraryVirtualDomainSamples(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_SupportsArbitraryVirtualDomainSamples(self)

    def GetVirtualDomainTimeStamp(self):
        r"""GetVirtualDomainTimeStamp(self) -> itkTimeStamp"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetVirtualDomainTimeStamp(self)

    def GetVirtualSpacing(self):
        r"""GetVirtualSpacing(self) -> itkVectorD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetVirtualSpacing(self)

    def GetVirtualOrigin(self):
        r"""GetVirtualOrigin(self) -> itkPointD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetVirtualOrigin(self)

    def GetVirtualDirection(self):
        r"""GetVirtualDirection(self) -> itkMatrixD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetVirtualDirection(self)

    def GetVirtualRegion(self):
        r"""GetVirtualRegion(self) -> itkImageRegion2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetVirtualRegion(self)

    def GetModifiableVirtualImage(self):
        r"""GetModifiableVirtualImage(self) -> itkImageD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetModifiableVirtualImage(self)

    def GetVirtualImage(self, *args):
        r"""
        GetVirtualImage(self) -> itkImageD2
        GetVirtualImage(self) -> itkImageD2
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_GetVirtualImage(self, *args)

    def ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters) -> long

        Parameters
        ----------
        index: itkIndex2 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters)

    def ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters) -> long

        Parameters
        ----------
        point: itkPointD2 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters)

    def IsInsideVirtualDomain(self, *args):
        r"""
        IsInsideVirtualDomain(self, point) -> bool

        Parameters
        ----------
        point: itkPointD2 const &

        IsInsideVirtualDomain(self, index) -> bool

        Parameters
        ----------
        index: itkIndex2 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_IsInsideVirtualDomain(self, *args)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass_swigregister(itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass)
class itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass(itk.itkObjectToObjectMetricBasePython.itkObjectToObjectMetricBaseTemplateD):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSSS3_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 SetFixedTransform(self, _arg):
        r"""
        SetFixedTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_SetFixedTransform(self, _arg)

    def GetModifiableFixedTransform(self):
        r"""GetModifiableFixedTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetModifiableFixedTransform(self)

    def GetFixedTransform(self, *args):
        r"""
        GetFixedTransform(self) -> itkTransformD33
        GetFixedTransform(self) -> itkTransformD33
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetFixedTransform(self, *args)

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

        Parameters
        ----------
        _arg: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_SetMovingTransform(self, _arg)

    def GetModifiableMovingTransform(self):
        r"""GetModifiableMovingTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetModifiableMovingTransform(self)

    def GetMovingTransform(self, *args):
        r"""
        GetMovingTransform(self) -> itkTransformD33
        GetMovingTransform(self) -> itkTransformD33
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetMovingTransform(self, *args)

    def SetTransform(self, transform):
        r"""
        SetTransform(self, transform)

        Parameters
        ----------
        transform: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_SetTransform(self, transform)

    def GetTransform(self):
        r"""GetTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetTransform(self)

    def GetNumberOfValidPoints(self):
        r"""GetNumberOfValidPoints(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetNumberOfValidPoints(self)

    def SetVirtualDomain(self, spacing, origin, direction, region):
        r"""
        SetVirtualDomain(self, spacing, origin, direction, region)

        Parameters
        ----------
        spacing: itkVectorD3 const &
        origin: itkPointD3 const &
        direction: itkMatrixD33 const &
        region: itkImageRegion3 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_SetVirtualDomain(self, spacing, origin, direction, region)

    def SetVirtualDomainFromImage(self, virtualImage):
        r"""
        SetVirtualDomainFromImage(self, virtualImage)

        Parameters
        ----------
        virtualImage: itkImageD3 const *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_SetVirtualDomainFromImage(self, virtualImage)

    def SupportsArbitraryVirtualDomainSamples(self):
        r"""SupportsArbitraryVirtualDomainSamples(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_SupportsArbitraryVirtualDomainSamples(self)

    def GetVirtualDomainTimeStamp(self):
        r"""GetVirtualDomainTimeStamp(self) -> itkTimeStamp"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetVirtualDomainTimeStamp(self)

    def GetVirtualSpacing(self):
        r"""GetVirtualSpacing(self) -> itkVectorD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetVirtualSpacing(self)

    def GetVirtualOrigin(self):
        r"""GetVirtualOrigin(self) -> itkPointD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetVirtualOrigin(self)

    def GetVirtualDirection(self):
        r"""GetVirtualDirection(self) -> itkMatrixD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetVirtualDirection(self)

    def GetVirtualRegion(self):
        r"""GetVirtualRegion(self) -> itkImageRegion3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetVirtualRegion(self)

    def GetModifiableVirtualImage(self):
        r"""GetModifiableVirtualImage(self) -> itkImageD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetModifiableVirtualImage(self)

    def GetVirtualImage(self, *args):
        r"""
        GetVirtualImage(self) -> itkImageD3
        GetVirtualImage(self) -> itkImageD3
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_GetVirtualImage(self, *args)

    def ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters) -> long

        Parameters
        ----------
        index: itkIndex3 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters)

    def ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters) -> long

        Parameters
        ----------
        point: itkPointD3 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters)

    def IsInsideVirtualDomain(self, *args):
        r"""
        IsInsideVirtualDomain(self, point) -> bool

        Parameters
        ----------
        point: itkPointD3 const &

        IsInsideVirtualDomain(self, index) -> bool

        Parameters
        ----------
        index: itkIndex3 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_IsInsideVirtualDomain(self, *args)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass_swigregister(itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass)
class itkPointSetToPointSetMetricWithIndexv4PSUC2(itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSUC2 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 _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetUC2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetUC2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_GetModifiableFixedTransformedPointSet(self)

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

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetUC2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetUC2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_GetModifiableMovingTransformedPointSet(self)

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

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_GetVirtualTransformedPointSet(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSUC2

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSUC2 in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_swigregister(itkPointSetToPointSetMetricWithIndexv4PSUC2)
class itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass(itk.itkObjectToObjectMetricBasePython.itkObjectToObjectMetricBaseTemplateD):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSUC2_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 SetFixedTransform(self, _arg):
        r"""
        SetFixedTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_SetFixedTransform(self, _arg)

    def GetModifiableFixedTransform(self):
        r"""GetModifiableFixedTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetModifiableFixedTransform(self)

    def GetFixedTransform(self, *args):
        r"""
        GetFixedTransform(self) -> itkTransformD22
        GetFixedTransform(self) -> itkTransformD22
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetFixedTransform(self, *args)

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

        Parameters
        ----------
        _arg: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_SetMovingTransform(self, _arg)

    def GetModifiableMovingTransform(self):
        r"""GetModifiableMovingTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetModifiableMovingTransform(self)

    def GetMovingTransform(self, *args):
        r"""
        GetMovingTransform(self) -> itkTransformD22
        GetMovingTransform(self) -> itkTransformD22
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetMovingTransform(self, *args)

    def SetTransform(self, transform):
        r"""
        SetTransform(self, transform)

        Parameters
        ----------
        transform: itkTransformD22 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_SetTransform(self, transform)

    def GetTransform(self):
        r"""GetTransform(self) -> itkTransformD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetTransform(self)

    def GetNumberOfValidPoints(self):
        r"""GetNumberOfValidPoints(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetNumberOfValidPoints(self)

    def SetVirtualDomain(self, spacing, origin, direction, region):
        r"""
        SetVirtualDomain(self, spacing, origin, direction, region)

        Parameters
        ----------
        spacing: itkVectorD2 const &
        origin: itkPointD2 const &
        direction: itkMatrixD22 const &
        region: itkImageRegion2 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_SetVirtualDomain(self, spacing, origin, direction, region)

    def SetVirtualDomainFromImage(self, virtualImage):
        r"""
        SetVirtualDomainFromImage(self, virtualImage)

        Parameters
        ----------
        virtualImage: itkImageD2 const *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_SetVirtualDomainFromImage(self, virtualImage)

    def SupportsArbitraryVirtualDomainSamples(self):
        r"""SupportsArbitraryVirtualDomainSamples(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_SupportsArbitraryVirtualDomainSamples(self)

    def GetVirtualDomainTimeStamp(self):
        r"""GetVirtualDomainTimeStamp(self) -> itkTimeStamp"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetVirtualDomainTimeStamp(self)

    def GetVirtualSpacing(self):
        r"""GetVirtualSpacing(self) -> itkVectorD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetVirtualSpacing(self)

    def GetVirtualOrigin(self):
        r"""GetVirtualOrigin(self) -> itkPointD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetVirtualOrigin(self)

    def GetVirtualDirection(self):
        r"""GetVirtualDirection(self) -> itkMatrixD22"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetVirtualDirection(self)

    def GetVirtualRegion(self):
        r"""GetVirtualRegion(self) -> itkImageRegion2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetVirtualRegion(self)

    def GetModifiableVirtualImage(self):
        r"""GetModifiableVirtualImage(self) -> itkImageD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetModifiableVirtualImage(self)

    def GetVirtualImage(self, *args):
        r"""
        GetVirtualImage(self) -> itkImageD2
        GetVirtualImage(self) -> itkImageD2
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_GetVirtualImage(self, *args)

    def ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters) -> long

        Parameters
        ----------
        index: itkIndex2 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters)

    def ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters) -> long

        Parameters
        ----------
        point: itkPointD2 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters)

    def IsInsideVirtualDomain(self, *args):
        r"""
        IsInsideVirtualDomain(self, point) -> bool

        Parameters
        ----------
        point: itkPointD2 const &

        IsInsideVirtualDomain(self, index) -> bool

        Parameters
        ----------
        index: itkIndex2 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_IsInsideVirtualDomain(self, *args)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass_swigregister(itkPointSetToPointSetMetricWithIndexv4PSUC2_Superclass)
class itkPointSetToPointSetMetricWithIndexv4PSUC3(itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSUC3 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 _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetUC3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetUC3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_GetModifiableFixedTransformedPointSet(self)

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

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetUC3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetUC3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_GetModifiableMovingTransformedPointSet(self)

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

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_GetVirtualTransformedPointSet(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSUC3

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSUC3 in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_swigregister(itkPointSetToPointSetMetricWithIndexv4PSUC3)
class itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass(itk.itkObjectToObjectMetricBasePython.itkObjectToObjectMetricBaseTemplateD):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSUC3_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 SetFixedTransform(self, _arg):
        r"""
        SetFixedTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_SetFixedTransform(self, _arg)

    def GetModifiableFixedTransform(self):
        r"""GetModifiableFixedTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetModifiableFixedTransform(self)

    def GetFixedTransform(self, *args):
        r"""
        GetFixedTransform(self) -> itkTransformD33
        GetFixedTransform(self) -> itkTransformD33
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetFixedTransform(self, *args)

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

        Parameters
        ----------
        _arg: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_SetMovingTransform(self, _arg)

    def GetModifiableMovingTransform(self):
        r"""GetModifiableMovingTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetModifiableMovingTransform(self)

    def GetMovingTransform(self, *args):
        r"""
        GetMovingTransform(self) -> itkTransformD33
        GetMovingTransform(self) -> itkTransformD33
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetMovingTransform(self, *args)

    def SetTransform(self, transform):
        r"""
        SetTransform(self, transform)

        Parameters
        ----------
        transform: itkTransformD33 *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_SetTransform(self, transform)

    def GetTransform(self):
        r"""GetTransform(self) -> itkTransformD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetTransform(self)

    def GetNumberOfValidPoints(self):
        r"""GetNumberOfValidPoints(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetNumberOfValidPoints(self)

    def SetVirtualDomain(self, spacing, origin, direction, region):
        r"""
        SetVirtualDomain(self, spacing, origin, direction, region)

        Parameters
        ----------
        spacing: itkVectorD3 const &
        origin: itkPointD3 const &
        direction: itkMatrixD33 const &
        region: itkImageRegion3 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_SetVirtualDomain(self, spacing, origin, direction, region)

    def SetVirtualDomainFromImage(self, virtualImage):
        r"""
        SetVirtualDomainFromImage(self, virtualImage)

        Parameters
        ----------
        virtualImage: itkImageD3 const *

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_SetVirtualDomainFromImage(self, virtualImage)

    def SupportsArbitraryVirtualDomainSamples(self):
        r"""SupportsArbitraryVirtualDomainSamples(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_SupportsArbitraryVirtualDomainSamples(self)

    def GetVirtualDomainTimeStamp(self):
        r"""GetVirtualDomainTimeStamp(self) -> itkTimeStamp"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetVirtualDomainTimeStamp(self)

    def GetVirtualSpacing(self):
        r"""GetVirtualSpacing(self) -> itkVectorD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetVirtualSpacing(self)

    def GetVirtualOrigin(self):
        r"""GetVirtualOrigin(self) -> itkPointD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetVirtualOrigin(self)

    def GetVirtualDirection(self):
        r"""GetVirtualDirection(self) -> itkMatrixD33"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetVirtualDirection(self)

    def GetVirtualRegion(self):
        r"""GetVirtualRegion(self) -> itkImageRegion3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetVirtualRegion(self)

    def GetModifiableVirtualImage(self):
        r"""GetModifiableVirtualImage(self) -> itkImageD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetModifiableVirtualImage(self)

    def GetVirtualImage(self, *args):
        r"""
        GetVirtualImage(self) -> itkImageD3
        GetVirtualImage(self) -> itkImageD3
        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_GetVirtualImage(self, *args)

    def ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters) -> long

        Parameters
        ----------
        index: itkIndex3 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_ComputeParameterOffsetFromVirtualIndex(self, index, numberOfLocalParameters)

    def ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters):
        r"""
        ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters) -> long

        Parameters
        ----------
        point: itkPointD3 const &
        numberOfLocalParameters: unsigned int const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_ComputeParameterOffsetFromVirtualPoint(self, point, numberOfLocalParameters)

    def IsInsideVirtualDomain(self, *args):
        r"""
        IsInsideVirtualDomain(self, point) -> bool

        Parameters
        ----------
        point: itkPointD3 const &

        IsInsideVirtualDomain(self, index) -> bool

        Parameters
        ----------
        index: itkIndex3 const &

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_IsInsideVirtualDomain(self, *args)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass_swigregister(itkPointSetToPointSetMetricWithIndexv4PSUC3_Superclass)
class itkPointSetToPointSetMetricWithIndexv4PSD2(itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSD2 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 _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_GetModifiableFixedTransformedPointSet(self)

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

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_GetModifiableMovingTransformedPointSet(self)

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

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_GetVirtualTransformedPointSet(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSD2

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSD2 in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD2_swigregister(itkPointSetToPointSetMetricWithIndexv4PSD2)
class itkPointSetToPointSetMetricWithIndexv4PSD3(itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSD3 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 _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_GetModifiableFixedTransformedPointSet(self)

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

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_GetModifiableMovingTransformedPointSet(self)

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

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_GetVirtualTransformedPointSet(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSD3

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSD3 in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSD3_swigregister(itkPointSetToPointSetMetricWithIndexv4PSD3)
class itkPointSetToPointSetMetricWithIndexv4PSF2(itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSF2 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 _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetF2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetF2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_GetModifiableFixedTransformedPointSet(self)

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

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetF2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetF2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_GetModifiableMovingTransformedPointSet(self)

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

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_GetVirtualTransformedPointSet(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSF2

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSF2 in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF2_swigregister(itkPointSetToPointSetMetricWithIndexv4PSF2)
class itkPointSetToPointSetMetricWithIndexv4PSF3(itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSF3 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 _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetF3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetF3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_GetModifiableFixedTransformedPointSet(self)

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

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetF3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetF3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_GetModifiableMovingTransformedPointSet(self)

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

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_GetVirtualTransformedPointSet(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSF3

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSF3 in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSF3_swigregister(itkPointSetToPointSetMetricWithIndexv4PSF3)
class itkPointSetToPointSetMetricWithIndexv4PSSS2(itkPointSetToPointSetMetricWithIndexv4PSSS2_Superclass):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSSS2 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 _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetSS2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetSS2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_GetModifiableFixedTransformedPointSet(self)

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

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetSS2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetSS2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_GetModifiableMovingTransformedPointSet(self)

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

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD2"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_GetVirtualTransformedPointSet(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSSS2

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSSS2 in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS2_swigregister(itkPointSetToPointSetMetricWithIndexv4PSSS2)
class itkPointSetToPointSetMetricWithIndexv4PSSS3(itkPointSetToPointSetMetricWithIndexv4PSSS3_Superclass):
    r"""Proxy of C++ itkPointSetToPointSetMetricWithIndexv4PSSS3 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 _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_SetFixedPointSet(self, _arg)

    def GetFixedPointSet(self):
        r"""GetFixedPointSet(self) -> itkPointSetSS3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_GetFixedPointSet(self)

    def GetModifiableFixedTransformedPointSet(self):
        r"""GetModifiableFixedTransformedPointSet(self) -> itkPointSetSS3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_GetModifiableFixedTransformedPointSet(self)

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

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_SetMovingPointSet(self, _arg)

    def GetMovingPointSet(self):
        r"""GetMovingPointSet(self) -> itkPointSetSS3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_GetMovingPointSet(self)

    def GetModifiableMovingTransformedPointSet(self):
        r"""GetModifiableMovingTransformedPointSet(self) -> itkPointSetSS3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_GetModifiableMovingTransformedPointSet(self)

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

    def GetNumberOfComponents(self):
        r"""GetNumberOfComponents(self) -> unsigned long"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_GetNumberOfComponents(self)

    def GetVirtualTransformedPointSet(self):
        r"""GetVirtualTransformedPointSet(self) -> itkPointSetD3"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_GetVirtualTransformedPointSet(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg)

    def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self):
        r"""GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self)

    def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self):
        r"""StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self)

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_SetCalculateValueAndDerivativeInTangentSpace(self, _arg)

    def GetCalculateValueAndDerivativeInTangentSpace(self):
        r"""GetCalculateValueAndDerivativeInTangentSpace(self) -> bool"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_GetCalculateValueAndDerivativeInTangentSpace(self)

    def CalculateValueAndDerivativeInTangentSpaceOn(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOn(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_CalculateValueAndDerivativeInTangentSpaceOn(self)

    def CalculateValueAndDerivativeInTangentSpaceOff(self):
        r"""CalculateValueAndDerivativeInTangentSpaceOff(self)"""
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_CalculateValueAndDerivativeInTangentSpaceOff(self)
    __swig_destroy__ = _itkPointSetToPointSetMetricWithIndexv4Python.delete_itkPointSetToPointSetMetricWithIndexv4PSSS3

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

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

        """
        return _itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_cast(obj)

# Register itkPointSetToPointSetMetricWithIndexv4PSSS3 in _itkPointSetToPointSetMetricWithIndexv4Python:
_itkPointSetToPointSetMetricWithIndexv4Python.itkPointSetToPointSetMetricWithIndexv4PSSS3_swigregister(itkPointSetToPointSetMetricWithIndexv4PSSS3)

