# 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 _ITKImageFunctionPython



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

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.itkFixedArrayPython
import itk.pyBasePython
import itk.vnl_vectorPython
import itk.vnl_matrixPython
import itk.stdcomplexPython
import itk.itkImageRegionPython
import itk.itkSizePython
import itk.ITKCommonBasePython
import itk.itkMatrixPython
import itk.itkVectorPython
import itk.vnl_vector_refPython
import itk.itkPointPython
import itk.itkCovariantVectorPython
import itk.vnl_matrix_fixedPython
import itk.itkIndexPython
import itk.itkOffsetPython
import itk.itkInterpolateImageFunctionPython
import itk.itkRGBAPixelPython
import itk.itkContinuousIndexPython
import itk.itkRGBPixelPython
import itk.itkImageFunctionBasePython
import itk.itkFunctionBasePython
import itk.itkArrayPython
import itk.itkImagePython
import itk.itkSymmetricSecondRankTensorPython
import itk.itkPhasedArray3DSpecialCoordinatesImagePython

def itkGaussianInterpolateImageFunctionIF2D_New():
    return itkGaussianInterpolateImageFunctionIF2D.New()

class itkGaussianInterpolateImageFunctionIF2D(itk.itkInterpolateImageFunctionPython.itkInterpolateImageFunctionIF2D):
    r"""Proxy of C++ itkGaussianInterpolateImageFunctionIF2D 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")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkGaussianInterpolateImageFunctionIF2D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF2D___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkGaussianInterpolateImageFunctionIF2D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF2D_Clone(self)

    def SetSigma(self, *args):
        r"""
        SetSigma(self, s)

        Parameters
        ----------
        s: itkFixedArrayD2 const

        SetSigma(self, s)

        Parameters
        ----------
        s: double *

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF2D_SetSigma(self, *args)

    def GetSigma(self):
        r"""GetSigma(self) -> itkFixedArrayD2"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF2D_GetSigma(self)

    def SetAlpha(self, a):
        r"""
        SetAlpha(self, a)

        Parameters
        ----------
        a: double const

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF2D_SetAlpha(self, a)

    def GetAlpha(self):
        r"""GetAlpha(self) -> double"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF2D_GetAlpha(self)

    def SetParameters(self, sigma, alpha):
        r"""
        SetParameters(self, sigma, alpha)

        Parameters
        ----------
        sigma: double *
        alpha: double

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF2D_SetParameters(self, sigma, alpha)
    __swig_destroy__ = _itkGaussianInterpolateImageFunctionPython.delete_itkGaussianInterpolateImageFunctionIF2D

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

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

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF2D_cast(obj)

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

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

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

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

        Ex:

          itkGaussianInterpolateImageFunctionIF2D.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkGaussianInterpolateImageFunctionIF2D in _itkGaussianInterpolateImageFunctionPython:
_itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF2D_swigregister(itkGaussianInterpolateImageFunctionIF2D)

def itkGaussianInterpolateImageFunctionIF3D_New():
    return itkGaussianInterpolateImageFunctionIF3D.New()

class itkGaussianInterpolateImageFunctionIF3D(itk.itkInterpolateImageFunctionPython.itkInterpolateImageFunctionIF3D):
    r"""Proxy of C++ itkGaussianInterpolateImageFunctionIF3D 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")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkGaussianInterpolateImageFunctionIF3D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF3D___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkGaussianInterpolateImageFunctionIF3D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF3D_Clone(self)

    def SetSigma(self, *args):
        r"""
        SetSigma(self, s)

        Parameters
        ----------
        s: itkFixedArrayD3 const

        SetSigma(self, s)

        Parameters
        ----------
        s: double *

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF3D_SetSigma(self, *args)

    def GetSigma(self):
        r"""GetSigma(self) -> itkFixedArrayD3"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF3D_GetSigma(self)

    def SetAlpha(self, a):
        r"""
        SetAlpha(self, a)

        Parameters
        ----------
        a: double const

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF3D_SetAlpha(self, a)

    def GetAlpha(self):
        r"""GetAlpha(self) -> double"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF3D_GetAlpha(self)

    def SetParameters(self, sigma, alpha):
        r"""
        SetParameters(self, sigma, alpha)

        Parameters
        ----------
        sigma: double *
        alpha: double

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF3D_SetParameters(self, sigma, alpha)
    __swig_destroy__ = _itkGaussianInterpolateImageFunctionPython.delete_itkGaussianInterpolateImageFunctionIF3D

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

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

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF3D_cast(obj)

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

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

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

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

        Ex:

          itkGaussianInterpolateImageFunctionIF3D.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkGaussianInterpolateImageFunctionIF3D in _itkGaussianInterpolateImageFunctionPython:
_itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIF3D_swigregister(itkGaussianInterpolateImageFunctionIF3D)

def itkGaussianInterpolateImageFunctionISS2D_New():
    return itkGaussianInterpolateImageFunctionISS2D.New()

class itkGaussianInterpolateImageFunctionISS2D(itk.itkInterpolateImageFunctionPython.itkInterpolateImageFunctionISS2D):
    r"""Proxy of C++ itkGaussianInterpolateImageFunctionISS2D 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")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkGaussianInterpolateImageFunctionISS2D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS2D___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkGaussianInterpolateImageFunctionISS2D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS2D_Clone(self)

    def SetSigma(self, *args):
        r"""
        SetSigma(self, s)

        Parameters
        ----------
        s: itkFixedArrayD2 const

        SetSigma(self, s)

        Parameters
        ----------
        s: double *

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS2D_SetSigma(self, *args)

    def GetSigma(self):
        r"""GetSigma(self) -> itkFixedArrayD2"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS2D_GetSigma(self)

    def SetAlpha(self, a):
        r"""
        SetAlpha(self, a)

        Parameters
        ----------
        a: double const

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS2D_SetAlpha(self, a)

    def GetAlpha(self):
        r"""GetAlpha(self) -> double"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS2D_GetAlpha(self)

    def SetParameters(self, sigma, alpha):
        r"""
        SetParameters(self, sigma, alpha)

        Parameters
        ----------
        sigma: double *
        alpha: double

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS2D_SetParameters(self, sigma, alpha)
    __swig_destroy__ = _itkGaussianInterpolateImageFunctionPython.delete_itkGaussianInterpolateImageFunctionISS2D

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

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

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS2D_cast(obj)

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

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

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

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

        Ex:

          itkGaussianInterpolateImageFunctionISS2D.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkGaussianInterpolateImageFunctionISS2D in _itkGaussianInterpolateImageFunctionPython:
_itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS2D_swigregister(itkGaussianInterpolateImageFunctionISS2D)

def itkGaussianInterpolateImageFunctionISS3D_New():
    return itkGaussianInterpolateImageFunctionISS3D.New()

class itkGaussianInterpolateImageFunctionISS3D(itk.itkInterpolateImageFunctionPython.itkInterpolateImageFunctionISS3D):
    r"""Proxy of C++ itkGaussianInterpolateImageFunctionISS3D 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")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkGaussianInterpolateImageFunctionISS3D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS3D___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkGaussianInterpolateImageFunctionISS3D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS3D_Clone(self)

    def SetSigma(self, *args):
        r"""
        SetSigma(self, s)

        Parameters
        ----------
        s: itkFixedArrayD3 const

        SetSigma(self, s)

        Parameters
        ----------
        s: double *

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS3D_SetSigma(self, *args)

    def GetSigma(self):
        r"""GetSigma(self) -> itkFixedArrayD3"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS3D_GetSigma(self)

    def SetAlpha(self, a):
        r"""
        SetAlpha(self, a)

        Parameters
        ----------
        a: double const

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS3D_SetAlpha(self, a)

    def GetAlpha(self):
        r"""GetAlpha(self) -> double"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS3D_GetAlpha(self)

    def SetParameters(self, sigma, alpha):
        r"""
        SetParameters(self, sigma, alpha)

        Parameters
        ----------
        sigma: double *
        alpha: double

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS3D_SetParameters(self, sigma, alpha)
    __swig_destroy__ = _itkGaussianInterpolateImageFunctionPython.delete_itkGaussianInterpolateImageFunctionISS3D

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

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

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS3D_cast(obj)

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

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

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

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

        Ex:

          itkGaussianInterpolateImageFunctionISS3D.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkGaussianInterpolateImageFunctionISS3D in _itkGaussianInterpolateImageFunctionPython:
_itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionISS3D_swigregister(itkGaussianInterpolateImageFunctionISS3D)

def itkGaussianInterpolateImageFunctionIUC2D_New():
    return itkGaussianInterpolateImageFunctionIUC2D.New()

class itkGaussianInterpolateImageFunctionIUC2D(itk.itkInterpolateImageFunctionPython.itkInterpolateImageFunctionIUC2D):
    r"""Proxy of C++ itkGaussianInterpolateImageFunctionIUC2D 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")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkGaussianInterpolateImageFunctionIUC2D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC2D___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkGaussianInterpolateImageFunctionIUC2D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC2D_Clone(self)

    def SetSigma(self, *args):
        r"""
        SetSigma(self, s)

        Parameters
        ----------
        s: itkFixedArrayD2 const

        SetSigma(self, s)

        Parameters
        ----------
        s: double *

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC2D_SetSigma(self, *args)

    def GetSigma(self):
        r"""GetSigma(self) -> itkFixedArrayD2"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC2D_GetSigma(self)

    def SetAlpha(self, a):
        r"""
        SetAlpha(self, a)

        Parameters
        ----------
        a: double const

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC2D_SetAlpha(self, a)

    def GetAlpha(self):
        r"""GetAlpha(self) -> double"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC2D_GetAlpha(self)

    def SetParameters(self, sigma, alpha):
        r"""
        SetParameters(self, sigma, alpha)

        Parameters
        ----------
        sigma: double *
        alpha: double

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC2D_SetParameters(self, sigma, alpha)
    __swig_destroy__ = _itkGaussianInterpolateImageFunctionPython.delete_itkGaussianInterpolateImageFunctionIUC2D

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

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

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC2D_cast(obj)

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

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

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

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

        Ex:

          itkGaussianInterpolateImageFunctionIUC2D.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkGaussianInterpolateImageFunctionIUC2D in _itkGaussianInterpolateImageFunctionPython:
_itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC2D_swigregister(itkGaussianInterpolateImageFunctionIUC2D)

def itkGaussianInterpolateImageFunctionIUC3D_New():
    return itkGaussianInterpolateImageFunctionIUC3D.New()

class itkGaussianInterpolateImageFunctionIUC3D(itk.itkInterpolateImageFunctionPython.itkInterpolateImageFunctionIUC3D):
    r"""Proxy of C++ itkGaussianInterpolateImageFunctionIUC3D 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")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkGaussianInterpolateImageFunctionIUC3D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC3D___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkGaussianInterpolateImageFunctionIUC3D_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC3D_Clone(self)

    def SetSigma(self, *args):
        r"""
        SetSigma(self, s)

        Parameters
        ----------
        s: itkFixedArrayD3 const

        SetSigma(self, s)

        Parameters
        ----------
        s: double *

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC3D_SetSigma(self, *args)

    def GetSigma(self):
        r"""GetSigma(self) -> itkFixedArrayD3"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC3D_GetSigma(self)

    def SetAlpha(self, a):
        r"""
        SetAlpha(self, a)

        Parameters
        ----------
        a: double const

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC3D_SetAlpha(self, a)

    def GetAlpha(self):
        r"""GetAlpha(self) -> double"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC3D_GetAlpha(self)

    def SetParameters(self, sigma, alpha):
        r"""
        SetParameters(self, sigma, alpha)

        Parameters
        ----------
        sigma: double *
        alpha: double

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC3D_SetParameters(self, sigma, alpha)
    __swig_destroy__ = _itkGaussianInterpolateImageFunctionPython.delete_itkGaussianInterpolateImageFunctionIUC3D

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

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

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC3D_cast(obj)

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

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

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

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

        Ex:

          itkGaussianInterpolateImageFunctionIUC3D.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkGaussianInterpolateImageFunctionIUC3D in _itkGaussianInterpolateImageFunctionPython:
_itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionIUC3D_swigregister(itkGaussianInterpolateImageFunctionIUC3D)

def itkGaussianInterpolateImageFunctionPA3DSCIFD_New():
    return itkGaussianInterpolateImageFunctionPA3DSCIFD.New()

class itkGaussianInterpolateImageFunctionPA3DSCIFD(itk.itkInterpolateImageFunctionPython.itkInterpolateImageFunctionPA3DSCIFD):
    r"""Proxy of C++ itkGaussianInterpolateImageFunctionPA3DSCIFD 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")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkGaussianInterpolateImageFunctionPA3DSCIFD_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIFD___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkGaussianInterpolateImageFunctionPA3DSCIFD_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIFD_Clone(self)

    def SetSigma(self, *args):
        r"""
        SetSigma(self, s)

        Parameters
        ----------
        s: itkFixedArrayD3 const

        SetSigma(self, s)

        Parameters
        ----------
        s: double *

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIFD_SetSigma(self, *args)

    def GetSigma(self):
        r"""GetSigma(self) -> itkFixedArrayD3"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIFD_GetSigma(self)

    def SetAlpha(self, a):
        r"""
        SetAlpha(self, a)

        Parameters
        ----------
        a: double const

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIFD_SetAlpha(self, a)

    def GetAlpha(self):
        r"""GetAlpha(self) -> double"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIFD_GetAlpha(self)

    def SetParameters(self, sigma, alpha):
        r"""
        SetParameters(self, sigma, alpha)

        Parameters
        ----------
        sigma: double *
        alpha: double

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIFD_SetParameters(self, sigma, alpha)
    __swig_destroy__ = _itkGaussianInterpolateImageFunctionPython.delete_itkGaussianInterpolateImageFunctionPA3DSCIFD

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

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

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIFD_cast(obj)

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

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

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

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

        Ex:

          itkGaussianInterpolateImageFunctionPA3DSCIFD.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkGaussianInterpolateImageFunctionPA3DSCIFD in _itkGaussianInterpolateImageFunctionPython:
_itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIFD_swigregister(itkGaussianInterpolateImageFunctionPA3DSCIFD)

def itkGaussianInterpolateImageFunctionPA3DSCIUCD_New():
    return itkGaussianInterpolateImageFunctionPA3DSCIUCD.New()

class itkGaussianInterpolateImageFunctionPA3DSCIUCD(itk.itkInterpolateImageFunctionPython.itkInterpolateImageFunctionPA3DSCIUCD):
    r"""Proxy of C++ itkGaussianInterpolateImageFunctionPA3DSCIUCD 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")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkGaussianInterpolateImageFunctionPA3DSCIUCD_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIUCD___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkGaussianInterpolateImageFunctionPA3DSCIUCD_Pointer"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIUCD_Clone(self)

    def SetSigma(self, *args):
        r"""
        SetSigma(self, s)

        Parameters
        ----------
        s: itkFixedArrayD3 const

        SetSigma(self, s)

        Parameters
        ----------
        s: double *

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIUCD_SetSigma(self, *args)

    def GetSigma(self):
        r"""GetSigma(self) -> itkFixedArrayD3"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIUCD_GetSigma(self)

    def SetAlpha(self, a):
        r"""
        SetAlpha(self, a)

        Parameters
        ----------
        a: double const

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIUCD_SetAlpha(self, a)

    def GetAlpha(self):
        r"""GetAlpha(self) -> double"""
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIUCD_GetAlpha(self)

    def SetParameters(self, sigma, alpha):
        r"""
        SetParameters(self, sigma, alpha)

        Parameters
        ----------
        sigma: double *
        alpha: double

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIUCD_SetParameters(self, sigma, alpha)
    __swig_destroy__ = _itkGaussianInterpolateImageFunctionPython.delete_itkGaussianInterpolateImageFunctionPA3DSCIUCD

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

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

        """
        return _itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIUCD_cast(obj)

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

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

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

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

        Ex:

          itkGaussianInterpolateImageFunctionPA3DSCIUCD.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkGaussianInterpolateImageFunctionPA3DSCIUCD in _itkGaussianInterpolateImageFunctionPython:
_itkGaussianInterpolateImageFunctionPython.itkGaussianInterpolateImageFunctionPA3DSCIUCD_swigregister(itkGaussianInterpolateImageFunctionPA3DSCIUCD)

