# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.4.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 _ITKImageGridPython



from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
    from . import _itkPasteImageFilterPython
else:
    import _itkPasteImageFilterPython

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.itkSimpleDataObjectDecoratorPython
import itk.ITKCommonBasePython
import itk.itkMatrixPython
import itk.vnl_matrix_fixedPython
import itk.vnl_vectorPython
import itk.stdcomplexPython
import itk.pyBasePython
import itk.vnl_matrixPython
import itk.itkPointPython
import itk.vnl_vector_refPython
import itk.itkFixedArrayPython
import itk.itkVectorPython
import itk.itkCovariantVectorPython
import itk.itkRGBPixelPython
import itk.itkArrayPython
import itk.itkRGBAPixelPython
import itk.itkInPlaceImageFilterAPython
import itk.itkImageToImageFilterBPython
import itk.itkImageRegionPython
import itk.itkSizePython
import itk.itkIndexPython
import itk.itkOffsetPython
import itk.itkImageSourcePython
import itk.itkImagePython
import itk.itkSymmetricSecondRankTensorPython
import itk.itkImageSourceCommonPython
import itk.itkVectorImagePython
import itk.itkVariableLengthVectorPython
import itk.itkPhasedArray3DSpecialCoordinatesImagePython
import itk.itkImageToImageFilterCommonPython
import itk.itkImageToImageFilterAPython

def itkPasteImageFilterIF2_New():
    return itkPasteImageFilterIF2.New()

class itkPasteImageFilterIF2(itk.itkInPlaceImageFilterAPython.itkInPlaceImageFilterIF2IF2):
    r"""Proxy of C++ itkPasteImageFilterIF2 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__() -> itkPasteImageFilterIF2_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPasteImageFilterIF2_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_Clone(self)

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

        Parameters
        ----------
        _arg: itkIndex2

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_SetDestinationIndex(self, _arg)

    def GetDestinationIndex(self):
        r"""GetDestinationIndex(self) -> itkIndex2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_GetDestinationIndex(self)

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

        Parameters
        ----------
        _arg: itkFixedArrayB2

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_SetDestinationSkipAxes(self, _arg)

    def GetDestinationSkipAxes(self):
        r"""GetDestinationSkipAxes(self) -> itkFixedArrayB2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_GetDestinationSkipAxes(self)

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

        Parameters
        ----------
        _arg: itkImageRegion2

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_SetSourceRegion(self, _arg)

    def GetSourceRegion(self):
        r"""GetSourceRegion(self) -> itkImageRegion2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_GetSourceRegion(self)

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

        Parameters
        ----------
        _arg: itkImageF2 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_SetDestinationImage(self, _arg)

    def GetDestinationImage(self):
        r"""GetDestinationImage(self) -> itkImageF2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_GetDestinationImage(self)

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

        Parameters
        ----------
        _arg: itkImageF2 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_SetSourceImage(self, _arg)

    def GetSourceImage(self):
        r"""GetSourceImage(self) -> itkImageF2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_GetSourceImage(self)

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

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorF const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_SetConstantInput(self, _arg)

    def SetConstant(self, *args):
        r"""
        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorF const *

        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: float const &

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_SetConstant(self, *args)

    def GetConstantInput(self):
        r"""GetConstantInput(self) -> itkSimpleDataObjectDecoratorF"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_GetConstantInput(self)

    def GetConstant(self):
        r"""GetConstant(self) -> float const &"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_GetConstant(self)

    def GenerateInputRequestedRegion(self):
        r"""GenerateInputRequestedRegion(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_GenerateInputRequestedRegion(self)

    def VerifyInputInformation(self):
        r"""VerifyInputInformation(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_VerifyInputInformation(self)

    def VerifyPreconditions(self):
        r"""VerifyPreconditions(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_VerifyPreconditions(self)
    __swig_destroy__ = _itkPasteImageFilterPython.delete_itkPasteImageFilterIF2

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

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

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF2_cast(obj)

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

        Create a new object of the class itkPasteImageFilterIF2 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:

          itkPasteImageFilterIF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPasteImageFilterIF2 in _itkPasteImageFilterPython:
_itkPasteImageFilterPython.itkPasteImageFilterIF2_swigregister(itkPasteImageFilterIF2)

def itkPasteImageFilterIF3_New():
    return itkPasteImageFilterIF3.New()

class itkPasteImageFilterIF3(itk.itkInPlaceImageFilterAPython.itkInPlaceImageFilterIF3IF3):
    r"""Proxy of C++ itkPasteImageFilterIF3 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__() -> itkPasteImageFilterIF3_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPasteImageFilterIF3_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_Clone(self)

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

        Parameters
        ----------
        _arg: itkIndex3

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_SetDestinationIndex(self, _arg)

    def GetDestinationIndex(self):
        r"""GetDestinationIndex(self) -> itkIndex3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_GetDestinationIndex(self)

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

        Parameters
        ----------
        _arg: itkFixedArrayB3

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_SetDestinationSkipAxes(self, _arg)

    def GetDestinationSkipAxes(self):
        r"""GetDestinationSkipAxes(self) -> itkFixedArrayB3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_GetDestinationSkipAxes(self)

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

        Parameters
        ----------
        _arg: itkImageRegion3

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_SetSourceRegion(self, _arg)

    def GetSourceRegion(self):
        r"""GetSourceRegion(self) -> itkImageRegion3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_GetSourceRegion(self)

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

        Parameters
        ----------
        _arg: itkImageF3 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_SetDestinationImage(self, _arg)

    def GetDestinationImage(self):
        r"""GetDestinationImage(self) -> itkImageF3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_GetDestinationImage(self)

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

        Parameters
        ----------
        _arg: itkImageF3 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_SetSourceImage(self, _arg)

    def GetSourceImage(self):
        r"""GetSourceImage(self) -> itkImageF3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_GetSourceImage(self)

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

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorF const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_SetConstantInput(self, _arg)

    def SetConstant(self, *args):
        r"""
        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorF const *

        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: float const &

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_SetConstant(self, *args)

    def GetConstantInput(self):
        r"""GetConstantInput(self) -> itkSimpleDataObjectDecoratorF"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_GetConstantInput(self)

    def GetConstant(self):
        r"""GetConstant(self) -> float const &"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_GetConstant(self)

    def GenerateInputRequestedRegion(self):
        r"""GenerateInputRequestedRegion(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_GenerateInputRequestedRegion(self)

    def VerifyInputInformation(self):
        r"""VerifyInputInformation(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_VerifyInputInformation(self)

    def VerifyPreconditions(self):
        r"""VerifyPreconditions(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_VerifyPreconditions(self)
    __swig_destroy__ = _itkPasteImageFilterPython.delete_itkPasteImageFilterIF3

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

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

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIF3_cast(obj)

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

        Create a new object of the class itkPasteImageFilterIF3 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:

          itkPasteImageFilterIF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPasteImageFilterIF3 in _itkPasteImageFilterPython:
_itkPasteImageFilterPython.itkPasteImageFilterIF3_swigregister(itkPasteImageFilterIF3)

def itkPasteImageFilterISS2_New():
    return itkPasteImageFilterISS2.New()

class itkPasteImageFilterISS2(itk.itkInPlaceImageFilterAPython.itkInPlaceImageFilterISS2ISS2):
    r"""Proxy of C++ itkPasteImageFilterISS2 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__() -> itkPasteImageFilterISS2_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPasteImageFilterISS2_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_Clone(self)

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

        Parameters
        ----------
        _arg: itkIndex2

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_SetDestinationIndex(self, _arg)

    def GetDestinationIndex(self):
        r"""GetDestinationIndex(self) -> itkIndex2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_GetDestinationIndex(self)

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

        Parameters
        ----------
        _arg: itkFixedArrayB2

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_SetDestinationSkipAxes(self, _arg)

    def GetDestinationSkipAxes(self):
        r"""GetDestinationSkipAxes(self) -> itkFixedArrayB2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_GetDestinationSkipAxes(self)

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

        Parameters
        ----------
        _arg: itkImageRegion2

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_SetSourceRegion(self, _arg)

    def GetSourceRegion(self):
        r"""GetSourceRegion(self) -> itkImageRegion2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_GetSourceRegion(self)

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

        Parameters
        ----------
        _arg: itkImageSS2 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_SetDestinationImage(self, _arg)

    def GetDestinationImage(self):
        r"""GetDestinationImage(self) -> itkImageSS2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_GetDestinationImage(self)

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

        Parameters
        ----------
        _arg: itkImageSS2 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_SetSourceImage(self, _arg)

    def GetSourceImage(self):
        r"""GetSourceImage(self) -> itkImageSS2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_GetSourceImage(self)

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

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorSS const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_SetConstantInput(self, _arg)

    def SetConstant(self, *args):
        r"""
        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorSS const *

        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: short const &

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_SetConstant(self, *args)

    def GetConstantInput(self):
        r"""GetConstantInput(self) -> itkSimpleDataObjectDecoratorSS"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_GetConstantInput(self)

    def GetConstant(self):
        r"""GetConstant(self) -> short const &"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_GetConstant(self)

    def GenerateInputRequestedRegion(self):
        r"""GenerateInputRequestedRegion(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_GenerateInputRequestedRegion(self)

    def VerifyInputInformation(self):
        r"""VerifyInputInformation(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_VerifyInputInformation(self)

    def VerifyPreconditions(self):
        r"""VerifyPreconditions(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_VerifyPreconditions(self)
    __swig_destroy__ = _itkPasteImageFilterPython.delete_itkPasteImageFilterISS2

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

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

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS2_cast(obj)

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

        Create a new object of the class itkPasteImageFilterISS2 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:

          itkPasteImageFilterISS2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPasteImageFilterISS2 in _itkPasteImageFilterPython:
_itkPasteImageFilterPython.itkPasteImageFilterISS2_swigregister(itkPasteImageFilterISS2)

def itkPasteImageFilterISS3_New():
    return itkPasteImageFilterISS3.New()

class itkPasteImageFilterISS3(itk.itkInPlaceImageFilterAPython.itkInPlaceImageFilterISS3ISS3):
    r"""Proxy of C++ itkPasteImageFilterISS3 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__() -> itkPasteImageFilterISS3_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPasteImageFilterISS3_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_Clone(self)

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

        Parameters
        ----------
        _arg: itkIndex3

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_SetDestinationIndex(self, _arg)

    def GetDestinationIndex(self):
        r"""GetDestinationIndex(self) -> itkIndex3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_GetDestinationIndex(self)

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

        Parameters
        ----------
        _arg: itkFixedArrayB3

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_SetDestinationSkipAxes(self, _arg)

    def GetDestinationSkipAxes(self):
        r"""GetDestinationSkipAxes(self) -> itkFixedArrayB3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_GetDestinationSkipAxes(self)

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

        Parameters
        ----------
        _arg: itkImageRegion3

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_SetSourceRegion(self, _arg)

    def GetSourceRegion(self):
        r"""GetSourceRegion(self) -> itkImageRegion3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_GetSourceRegion(self)

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

        Parameters
        ----------
        _arg: itkImageSS3 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_SetDestinationImage(self, _arg)

    def GetDestinationImage(self):
        r"""GetDestinationImage(self) -> itkImageSS3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_GetDestinationImage(self)

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

        Parameters
        ----------
        _arg: itkImageSS3 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_SetSourceImage(self, _arg)

    def GetSourceImage(self):
        r"""GetSourceImage(self) -> itkImageSS3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_GetSourceImage(self)

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

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorSS const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_SetConstantInput(self, _arg)

    def SetConstant(self, *args):
        r"""
        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorSS const *

        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: short const &

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_SetConstant(self, *args)

    def GetConstantInput(self):
        r"""GetConstantInput(self) -> itkSimpleDataObjectDecoratorSS"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_GetConstantInput(self)

    def GetConstant(self):
        r"""GetConstant(self) -> short const &"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_GetConstant(self)

    def GenerateInputRequestedRegion(self):
        r"""GenerateInputRequestedRegion(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_GenerateInputRequestedRegion(self)

    def VerifyInputInformation(self):
        r"""VerifyInputInformation(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_VerifyInputInformation(self)

    def VerifyPreconditions(self):
        r"""VerifyPreconditions(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_VerifyPreconditions(self)
    __swig_destroy__ = _itkPasteImageFilterPython.delete_itkPasteImageFilterISS3

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

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

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterISS3_cast(obj)

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

        Create a new object of the class itkPasteImageFilterISS3 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:

          itkPasteImageFilterISS3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPasteImageFilterISS3 in _itkPasteImageFilterPython:
_itkPasteImageFilterPython.itkPasteImageFilterISS3_swigregister(itkPasteImageFilterISS3)

def itkPasteImageFilterIUC2_New():
    return itkPasteImageFilterIUC2.New()

class itkPasteImageFilterIUC2(itk.itkInPlaceImageFilterAPython.itkInPlaceImageFilterIUC2IUC2):
    r"""Proxy of C++ itkPasteImageFilterIUC2 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__() -> itkPasteImageFilterIUC2_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPasteImageFilterIUC2_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_Clone(self)

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

        Parameters
        ----------
        _arg: itkIndex2

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_SetDestinationIndex(self, _arg)

    def GetDestinationIndex(self):
        r"""GetDestinationIndex(self) -> itkIndex2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_GetDestinationIndex(self)

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

        Parameters
        ----------
        _arg: itkFixedArrayB2

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_SetDestinationSkipAxes(self, _arg)

    def GetDestinationSkipAxes(self):
        r"""GetDestinationSkipAxes(self) -> itkFixedArrayB2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_GetDestinationSkipAxes(self)

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

        Parameters
        ----------
        _arg: itkImageRegion2

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_SetSourceRegion(self, _arg)

    def GetSourceRegion(self):
        r"""GetSourceRegion(self) -> itkImageRegion2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_GetSourceRegion(self)

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

        Parameters
        ----------
        _arg: itkImageUC2 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_SetDestinationImage(self, _arg)

    def GetDestinationImage(self):
        r"""GetDestinationImage(self) -> itkImageUC2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_GetDestinationImage(self)

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

        Parameters
        ----------
        _arg: itkImageUC2 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_SetSourceImage(self, _arg)

    def GetSourceImage(self):
        r"""GetSourceImage(self) -> itkImageUC2"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_GetSourceImage(self)

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

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorUC const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_SetConstantInput(self, _arg)

    def SetConstant(self, *args):
        r"""
        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorUC const *

        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: unsigned char const &

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_SetConstant(self, *args)

    def GetConstantInput(self):
        r"""GetConstantInput(self) -> itkSimpleDataObjectDecoratorUC"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_GetConstantInput(self)

    def GetConstant(self):
        r"""GetConstant(self) -> unsigned char const &"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_GetConstant(self)

    def GenerateInputRequestedRegion(self):
        r"""GenerateInputRequestedRegion(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_GenerateInputRequestedRegion(self)

    def VerifyInputInformation(self):
        r"""VerifyInputInformation(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_VerifyInputInformation(self)

    def VerifyPreconditions(self):
        r"""VerifyPreconditions(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_VerifyPreconditions(self)
    __swig_destroy__ = _itkPasteImageFilterPython.delete_itkPasteImageFilterIUC2

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

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

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC2_cast(obj)

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

        Create a new object of the class itkPasteImageFilterIUC2 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:

          itkPasteImageFilterIUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPasteImageFilterIUC2 in _itkPasteImageFilterPython:
_itkPasteImageFilterPython.itkPasteImageFilterIUC2_swigregister(itkPasteImageFilterIUC2)

def itkPasteImageFilterIUC3_New():
    return itkPasteImageFilterIUC3.New()

class itkPasteImageFilterIUC3(itk.itkInPlaceImageFilterAPython.itkInPlaceImageFilterIUC3IUC3):
    r"""Proxy of C++ itkPasteImageFilterIUC3 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__() -> itkPasteImageFilterIUC3_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPasteImageFilterIUC3_Pointer"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_Clone(self)

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

        Parameters
        ----------
        _arg: itkIndex3

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_SetDestinationIndex(self, _arg)

    def GetDestinationIndex(self):
        r"""GetDestinationIndex(self) -> itkIndex3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_GetDestinationIndex(self)

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

        Parameters
        ----------
        _arg: itkFixedArrayB3

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_SetDestinationSkipAxes(self, _arg)

    def GetDestinationSkipAxes(self):
        r"""GetDestinationSkipAxes(self) -> itkFixedArrayB3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_GetDestinationSkipAxes(self)

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

        Parameters
        ----------
        _arg: itkImageRegion3

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_SetSourceRegion(self, _arg)

    def GetSourceRegion(self):
        r"""GetSourceRegion(self) -> itkImageRegion3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_GetSourceRegion(self)

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

        Parameters
        ----------
        _arg: itkImageUC3 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_SetDestinationImage(self, _arg)

    def GetDestinationImage(self):
        r"""GetDestinationImage(self) -> itkImageUC3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_GetDestinationImage(self)

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

        Parameters
        ----------
        _arg: itkImageUC3 const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_SetSourceImage(self, _arg)

    def GetSourceImage(self):
        r"""GetSourceImage(self) -> itkImageUC3"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_GetSourceImage(self)

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

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorUC const *

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_SetConstantInput(self, _arg)

    def SetConstant(self, *args):
        r"""
        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: itkSimpleDataObjectDecoratorUC const *

        SetConstant(self, _arg)

        Parameters
        ----------
        _arg: unsigned char const &

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_SetConstant(self, *args)

    def GetConstantInput(self):
        r"""GetConstantInput(self) -> itkSimpleDataObjectDecoratorUC"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_GetConstantInput(self)

    def GetConstant(self):
        r"""GetConstant(self) -> unsigned char const &"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_GetConstant(self)

    def GenerateInputRequestedRegion(self):
        r"""GenerateInputRequestedRegion(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_GenerateInputRequestedRegion(self)

    def VerifyInputInformation(self):
        r"""VerifyInputInformation(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_VerifyInputInformation(self)

    def VerifyPreconditions(self):
        r"""VerifyPreconditions(self)"""
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_VerifyPreconditions(self)
    __swig_destroy__ = _itkPasteImageFilterPython.delete_itkPasteImageFilterIUC3

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

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

        """
        return _itkPasteImageFilterPython.itkPasteImageFilterIUC3_cast(obj)

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

        Create a new object of the class itkPasteImageFilterIUC3 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:

          itkPasteImageFilterIUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPasteImageFilterIUC3 in _itkPasteImageFilterPython:
_itkPasteImageFilterPython.itkPasteImageFilterIUC3_swigregister(itkPasteImageFilterIUC3)

from itk.support import helpers
import itk.support.types as itkt
from typing import Sequence, Tuple, Union

@helpers.accept_array_like_xarray_torch
def paste_image_filter(*args: itkt.ImageLike,  destination_index: Sequence[int]=..., destination_skip_axes: Sequence[bool]=..., source_region: itkt.ImageRegion=..., destination_image: itkt.Image=..., source_image: itkt.Image=..., constant_input=..., constant: int=...,**kwargs)-> itkt.ImageSourceReturn:
    """Functional interface for PasteImageFilter"""
    import itk

    kwarg_typehints = { 'destination_index':destination_index,'destination_skip_axes':destination_skip_axes,'source_region':source_region,'destination_image':destination_image,'source_image':source_image,'constant_input':constant_input,'constant':constant }
    specified_kwarg_typehints = { k:v for (k,v) in kwarg_typehints.items() if kwarg_typehints[k] is not ... }
    kwargs.update(specified_kwarg_typehints)


    instance = itk.PasteImageFilter.New(*args, **kwargs)

    return instance.__internal_call__()

def paste_image_filter_init_docstring():
    import itk
    from itk.support import template_class

    filter_class = itk.ITKImageGrid.PasteImageFilter
    paste_image_filter.process_object = filter_class
    is_template = isinstance(filter_class, template_class.itkTemplate)
    if is_template:
        filter_object = filter_class.values()[0]
    else:
        filter_object = filter_class

    paste_image_filter.__doc__ = filter_object.__doc__



