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



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

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

def itkWrapPadImageFilterICF2ICF2_New():
    return itkWrapPadImageFilterICF2ICF2.New()

class itkWrapPadImageFilterICF2ICF2(itk.itkPadImageFilterPython.itkPadImageFilterICF2ICF2):
    r"""Proxy of C++ itkWrapPadImageFilterICF2ICF2 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__() -> itkWrapPadImageFilterICF2ICF2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICF2ICF2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterICF2ICF2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICF2ICF2_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterICF2ICF2_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterICF2ICF2

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICF2ICF2_cast(obj)

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

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

          itkWrapPadImageFilterICF2ICF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterICF2ICF2 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterICF2ICF2_swigregister(itkWrapPadImageFilterICF2ICF2)

def itkWrapPadImageFilterICF3ICF3_New():
    return itkWrapPadImageFilterICF3ICF3.New()

class itkWrapPadImageFilterICF3ICF3(itk.itkPadImageFilterPython.itkPadImageFilterICF3ICF3):
    r"""Proxy of C++ itkWrapPadImageFilterICF3ICF3 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__() -> itkWrapPadImageFilterICF3ICF3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICF3ICF3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterICF3ICF3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICF3ICF3_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterICF3ICF3_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterICF3ICF3

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICF3ICF3_cast(obj)

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

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

          itkWrapPadImageFilterICF3ICF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterICF3ICF3 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterICF3ICF3_swigregister(itkWrapPadImageFilterICF3ICF3)

def itkWrapPadImageFilterICVF22ICVF22_New():
    return itkWrapPadImageFilterICVF22ICVF22.New()

class itkWrapPadImageFilterICVF22ICVF22(itk.itkPadImageFilterPython.itkPadImageFilterICVF22ICVF22):
    r"""Proxy of C++ itkWrapPadImageFilterICVF22ICVF22 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__() -> itkWrapPadImageFilterICVF22ICVF22_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF22ICVF22___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterICVF22ICVF22_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF22ICVF22_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF22ICVF22_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterICVF22ICVF22

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF22ICVF22_cast(obj)

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

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

          itkWrapPadImageFilterICVF22ICVF22.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterICVF22ICVF22 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF22ICVF22_swigregister(itkWrapPadImageFilterICVF22ICVF22)

def itkWrapPadImageFilterICVF23ICVF23_New():
    return itkWrapPadImageFilterICVF23ICVF23.New()

class itkWrapPadImageFilterICVF23ICVF23(itk.itkPadImageFilterPython.itkPadImageFilterICVF23ICVF23):
    r"""Proxy of C++ itkWrapPadImageFilterICVF23ICVF23 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__() -> itkWrapPadImageFilterICVF23ICVF23_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF23ICVF23___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterICVF23ICVF23_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF23ICVF23_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF23ICVF23_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterICVF23ICVF23

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF23ICVF23_cast(obj)

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

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

          itkWrapPadImageFilterICVF23ICVF23.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterICVF23ICVF23 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF23ICVF23_swigregister(itkWrapPadImageFilterICVF23ICVF23)

def itkWrapPadImageFilterICVF32ICVF32_New():
    return itkWrapPadImageFilterICVF32ICVF32.New()

class itkWrapPadImageFilterICVF32ICVF32(itk.itkPadImageFilterPython.itkPadImageFilterICVF32ICVF32):
    r"""Proxy of C++ itkWrapPadImageFilterICVF32ICVF32 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__() -> itkWrapPadImageFilterICVF32ICVF32_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF32ICVF32___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterICVF32ICVF32_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF32ICVF32_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF32ICVF32_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterICVF32ICVF32

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF32ICVF32_cast(obj)

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

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

          itkWrapPadImageFilterICVF32ICVF32.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterICVF32ICVF32 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF32ICVF32_swigregister(itkWrapPadImageFilterICVF32ICVF32)

def itkWrapPadImageFilterICVF33ICVF33_New():
    return itkWrapPadImageFilterICVF33ICVF33.New()

class itkWrapPadImageFilterICVF33ICVF33(itk.itkPadImageFilterPython.itkPadImageFilterICVF33ICVF33):
    r"""Proxy of C++ itkWrapPadImageFilterICVF33ICVF33 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__() -> itkWrapPadImageFilterICVF33ICVF33_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF33ICVF33___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterICVF33ICVF33_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF33ICVF33_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF33ICVF33_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterICVF33ICVF33

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF33ICVF33_cast(obj)

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

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

          itkWrapPadImageFilterICVF33ICVF33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterICVF33ICVF33 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF33ICVF33_swigregister(itkWrapPadImageFilterICVF33ICVF33)

def itkWrapPadImageFilterICVF42ICVF42_New():
    return itkWrapPadImageFilterICVF42ICVF42.New()

class itkWrapPadImageFilterICVF42ICVF42(itk.itkPadImageFilterPython.itkPadImageFilterICVF42ICVF42):
    r"""Proxy of C++ itkWrapPadImageFilterICVF42ICVF42 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__() -> itkWrapPadImageFilterICVF42ICVF42_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF42ICVF42___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterICVF42ICVF42_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF42ICVF42_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF42ICVF42_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterICVF42ICVF42

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF42ICVF42_cast(obj)

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

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

          itkWrapPadImageFilterICVF42ICVF42.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterICVF42ICVF42 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF42ICVF42_swigregister(itkWrapPadImageFilterICVF42ICVF42)

def itkWrapPadImageFilterICVF43ICVF43_New():
    return itkWrapPadImageFilterICVF43ICVF43.New()

class itkWrapPadImageFilterICVF43ICVF43(itk.itkPadImageFilterPython.itkPadImageFilterICVF43ICVF43):
    r"""Proxy of C++ itkWrapPadImageFilterICVF43ICVF43 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__() -> itkWrapPadImageFilterICVF43ICVF43_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF43ICVF43___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterICVF43ICVF43_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF43ICVF43_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF43ICVF43_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterICVF43ICVF43

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF43ICVF43_cast(obj)

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

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

          itkWrapPadImageFilterICVF43ICVF43.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterICVF43ICVF43 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterICVF43ICVF43_swigregister(itkWrapPadImageFilterICVF43ICVF43)

def itkWrapPadImageFilterIF2IF2_New():
    return itkWrapPadImageFilterIF2IF2.New()

class itkWrapPadImageFilterIF2IF2(itk.itkPadImageFilterPython.itkPadImageFilterIF2IF2):
    r"""Proxy of C++ itkWrapPadImageFilterIF2IF2 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__() -> itkWrapPadImageFilterIF2IF2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIF2IF2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIF2IF2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIF2IF2_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIF2IF2_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIF2IF2

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIF2IF2_cast(obj)

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

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

          itkWrapPadImageFilterIF2IF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIF2IF2 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIF2IF2_swigregister(itkWrapPadImageFilterIF2IF2)

def itkWrapPadImageFilterIF3IF3_New():
    return itkWrapPadImageFilterIF3IF3.New()

class itkWrapPadImageFilterIF3IF3(itk.itkPadImageFilterPython.itkPadImageFilterIF3IF3):
    r"""Proxy of C++ itkWrapPadImageFilterIF3IF3 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__() -> itkWrapPadImageFilterIF3IF3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIF3IF3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIF3IF3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIF3IF3_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIF3IF3_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIF3IF3

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIF3IF3_cast(obj)

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

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

          itkWrapPadImageFilterIF3IF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIF3IF3 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIF3IF3_swigregister(itkWrapPadImageFilterIF3IF3)

def itkWrapPadImageFilterIRGBAUC2IRGBAUC2_New():
    return itkWrapPadImageFilterIRGBAUC2IRGBAUC2.New()

class itkWrapPadImageFilterIRGBAUC2IRGBAUC2(itk.itkPadImageFilterPython.itkPadImageFilterIRGBAUC2IRGBAUC2):
    r"""Proxy of C++ itkWrapPadImageFilterIRGBAUC2IRGBAUC2 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__() -> itkWrapPadImageFilterIRGBAUC2IRGBAUC2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBAUC2IRGBAUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIRGBAUC2IRGBAUC2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBAUC2IRGBAUC2_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBAUC2IRGBAUC2_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIRGBAUC2IRGBAUC2

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBAUC2IRGBAUC2_cast(obj)

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

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

          itkWrapPadImageFilterIRGBAUC2IRGBAUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIRGBAUC2IRGBAUC2 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBAUC2IRGBAUC2_swigregister(itkWrapPadImageFilterIRGBAUC2IRGBAUC2)

def itkWrapPadImageFilterIRGBAUC3IRGBAUC3_New():
    return itkWrapPadImageFilterIRGBAUC3IRGBAUC3.New()

class itkWrapPadImageFilterIRGBAUC3IRGBAUC3(itk.itkPadImageFilterPython.itkPadImageFilterIRGBAUC3IRGBAUC3):
    r"""Proxy of C++ itkWrapPadImageFilterIRGBAUC3IRGBAUC3 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__() -> itkWrapPadImageFilterIRGBAUC3IRGBAUC3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBAUC3IRGBAUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIRGBAUC3IRGBAUC3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBAUC3IRGBAUC3_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBAUC3IRGBAUC3_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIRGBAUC3IRGBAUC3

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBAUC3IRGBAUC3_cast(obj)

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

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

          itkWrapPadImageFilterIRGBAUC3IRGBAUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIRGBAUC3IRGBAUC3 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBAUC3IRGBAUC3_swigregister(itkWrapPadImageFilterIRGBAUC3IRGBAUC3)

def itkWrapPadImageFilterIRGBUC2IRGBUC2_New():
    return itkWrapPadImageFilterIRGBUC2IRGBUC2.New()

class itkWrapPadImageFilterIRGBUC2IRGBUC2(itk.itkPadImageFilterPython.itkPadImageFilterIRGBUC2IRGBUC2):
    r"""Proxy of C++ itkWrapPadImageFilterIRGBUC2IRGBUC2 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__() -> itkWrapPadImageFilterIRGBUC2IRGBUC2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBUC2IRGBUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIRGBUC2IRGBUC2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBUC2IRGBUC2_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBUC2IRGBUC2_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIRGBUC2IRGBUC2

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBUC2IRGBUC2_cast(obj)

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

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

          itkWrapPadImageFilterIRGBUC2IRGBUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIRGBUC2IRGBUC2 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBUC2IRGBUC2_swigregister(itkWrapPadImageFilterIRGBUC2IRGBUC2)

def itkWrapPadImageFilterIRGBUC3IRGBUC3_New():
    return itkWrapPadImageFilterIRGBUC3IRGBUC3.New()

class itkWrapPadImageFilterIRGBUC3IRGBUC3(itk.itkPadImageFilterPython.itkPadImageFilterIRGBUC3IRGBUC3):
    r"""Proxy of C++ itkWrapPadImageFilterIRGBUC3IRGBUC3 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__() -> itkWrapPadImageFilterIRGBUC3IRGBUC3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBUC3IRGBUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIRGBUC3IRGBUC3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBUC3IRGBUC3_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBUC3IRGBUC3_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIRGBUC3IRGBUC3

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBUC3IRGBUC3_cast(obj)

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

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

          itkWrapPadImageFilterIRGBUC3IRGBUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIRGBUC3IRGBUC3 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIRGBUC3IRGBUC3_swigregister(itkWrapPadImageFilterIRGBUC3IRGBUC3)

def itkWrapPadImageFilterISS2ISS2_New():
    return itkWrapPadImageFilterISS2ISS2.New()

class itkWrapPadImageFilterISS2ISS2(itk.itkPadImageFilterPython.itkPadImageFilterISS2ISS2):
    r"""Proxy of C++ itkWrapPadImageFilterISS2ISS2 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__() -> itkWrapPadImageFilterISS2ISS2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterISS2ISS2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterISS2ISS2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterISS2ISS2_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterISS2ISS2_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterISS2ISS2

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterISS2ISS2_cast(obj)

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

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

          itkWrapPadImageFilterISS2ISS2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterISS2ISS2 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterISS2ISS2_swigregister(itkWrapPadImageFilterISS2ISS2)

def itkWrapPadImageFilterISS3ISS3_New():
    return itkWrapPadImageFilterISS3ISS3.New()

class itkWrapPadImageFilterISS3ISS3(itk.itkPadImageFilterPython.itkPadImageFilterISS3ISS3):
    r"""Proxy of C++ itkWrapPadImageFilterISS3ISS3 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__() -> itkWrapPadImageFilterISS3ISS3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterISS3ISS3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterISS3ISS3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterISS3ISS3_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterISS3ISS3_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterISS3ISS3

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterISS3ISS3_cast(obj)

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

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

          itkWrapPadImageFilterISS3ISS3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterISS3ISS3 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterISS3ISS3_swigregister(itkWrapPadImageFilterISS3ISS3)

def itkWrapPadImageFilterIUC2IUC2_New():
    return itkWrapPadImageFilterIUC2IUC2.New()

class itkWrapPadImageFilterIUC2IUC2(itk.itkPadImageFilterPython.itkPadImageFilterIUC2IUC2):
    r"""Proxy of C++ itkWrapPadImageFilterIUC2IUC2 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__() -> itkWrapPadImageFilterIUC2IUC2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIUC2IUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIUC2IUC2_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIUC2IUC2_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIUC2IUC2_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIUC2IUC2

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIUC2IUC2_cast(obj)

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

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

          itkWrapPadImageFilterIUC2IUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIUC2IUC2 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIUC2IUC2_swigregister(itkWrapPadImageFilterIUC2IUC2)

def itkWrapPadImageFilterIUC3IUC3_New():
    return itkWrapPadImageFilterIUC3IUC3.New()

class itkWrapPadImageFilterIUC3IUC3(itk.itkPadImageFilterPython.itkPadImageFilterIUC3IUC3):
    r"""Proxy of C++ itkWrapPadImageFilterIUC3IUC3 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__() -> itkWrapPadImageFilterIUC3IUC3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIUC3IUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIUC3IUC3_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIUC3IUC3_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIUC3IUC3_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIUC3IUC3

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIUC3IUC3_cast(obj)

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

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

          itkWrapPadImageFilterIUC3IUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIUC3IUC3 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIUC3IUC3_swigregister(itkWrapPadImageFilterIUC3IUC3)

def itkWrapPadImageFilterIVF22IVF22_New():
    return itkWrapPadImageFilterIVF22IVF22.New()

class itkWrapPadImageFilterIVF22IVF22(itk.itkPadImageFilterPython.itkPadImageFilterIVF22IVF22):
    r"""Proxy of C++ itkWrapPadImageFilterIVF22IVF22 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__() -> itkWrapPadImageFilterIVF22IVF22_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF22IVF22___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIVF22IVF22_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF22IVF22_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF22IVF22_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIVF22IVF22

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF22IVF22_cast(obj)

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

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

          itkWrapPadImageFilterIVF22IVF22.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIVF22IVF22 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF22IVF22_swigregister(itkWrapPadImageFilterIVF22IVF22)

def itkWrapPadImageFilterIVF23IVF23_New():
    return itkWrapPadImageFilterIVF23IVF23.New()

class itkWrapPadImageFilterIVF23IVF23(itk.itkPadImageFilterPython.itkPadImageFilterIVF23IVF23):
    r"""Proxy of C++ itkWrapPadImageFilterIVF23IVF23 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__() -> itkWrapPadImageFilterIVF23IVF23_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF23IVF23___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIVF23IVF23_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF23IVF23_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF23IVF23_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIVF23IVF23

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF23IVF23_cast(obj)

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

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

          itkWrapPadImageFilterIVF23IVF23.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIVF23IVF23 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF23IVF23_swigregister(itkWrapPadImageFilterIVF23IVF23)

def itkWrapPadImageFilterIVF32IVF32_New():
    return itkWrapPadImageFilterIVF32IVF32.New()

class itkWrapPadImageFilterIVF32IVF32(itk.itkPadImageFilterPython.itkPadImageFilterIVF32IVF32):
    r"""Proxy of C++ itkWrapPadImageFilterIVF32IVF32 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__() -> itkWrapPadImageFilterIVF32IVF32_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF32IVF32___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIVF32IVF32_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF32IVF32_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF32IVF32_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIVF32IVF32

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF32IVF32_cast(obj)

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

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

          itkWrapPadImageFilterIVF32IVF32.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIVF32IVF32 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF32IVF32_swigregister(itkWrapPadImageFilterIVF32IVF32)

def itkWrapPadImageFilterIVF33IVF33_New():
    return itkWrapPadImageFilterIVF33IVF33.New()

class itkWrapPadImageFilterIVF33IVF33(itk.itkPadImageFilterPython.itkPadImageFilterIVF33IVF33):
    r"""Proxy of C++ itkWrapPadImageFilterIVF33IVF33 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__() -> itkWrapPadImageFilterIVF33IVF33_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF33IVF33___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIVF33IVF33_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF33IVF33_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF33IVF33_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIVF33IVF33

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF33IVF33_cast(obj)

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

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

          itkWrapPadImageFilterIVF33IVF33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIVF33IVF33 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF33IVF33_swigregister(itkWrapPadImageFilterIVF33IVF33)

def itkWrapPadImageFilterIVF42IVF42_New():
    return itkWrapPadImageFilterIVF42IVF42.New()

class itkWrapPadImageFilterIVF42IVF42(itk.itkPadImageFilterPython.itkPadImageFilterIVF42IVF42):
    r"""Proxy of C++ itkWrapPadImageFilterIVF42IVF42 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__() -> itkWrapPadImageFilterIVF42IVF42_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF42IVF42___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIVF42IVF42_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF42IVF42_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF42IVF42_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIVF42IVF42

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF42IVF42_cast(obj)

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

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

          itkWrapPadImageFilterIVF42IVF42.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIVF42IVF42 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF42IVF42_swigregister(itkWrapPadImageFilterIVF42IVF42)

def itkWrapPadImageFilterIVF43IVF43_New():
    return itkWrapPadImageFilterIVF43IVF43.New()

class itkWrapPadImageFilterIVF43IVF43(itk.itkPadImageFilterPython.itkPadImageFilterIVF43IVF43):
    r"""Proxy of C++ itkWrapPadImageFilterIVF43IVF43 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__() -> itkWrapPadImageFilterIVF43IVF43_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF43IVF43___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkWrapPadImageFilterIVF43IVF43_Pointer"""
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF43IVF43_Clone(self)
    InputConvertibleToOutputCheck = _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF43IVF43_InputConvertibleToOutputCheck
    
    __swig_destroy__ = _itkWrapPadImageFilterPython.delete_itkWrapPadImageFilterIVF43IVF43

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

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

        """
        return _itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF43IVF43_cast(obj)

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

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

          itkWrapPadImageFilterIVF43IVF43.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkWrapPadImageFilterIVF43IVF43 in _itkWrapPadImageFilterPython:
_itkWrapPadImageFilterPython.itkWrapPadImageFilterIVF43IVF43_swigregister(itkWrapPadImageFilterIVF43IVF43)

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

@helpers.accept_array_like_xarray_torch
def wrap_pad_image_filter(*args: itkt.ImageLike,  pad_lower_bound: Sequence[int]=..., pad_upper_bound: Sequence[int]=..., pad_bound: Sequence[int]=..., boundary_condition: itkt.ImageBoundaryCondition=...,**kwargs)-> itkt.ImageSourceReturn:
    """Functional interface for WrapPadImageFilter"""
    import itk

    kwarg_typehints = { 'pad_lower_bound':pad_lower_bound,'pad_upper_bound':pad_upper_bound,'pad_bound':pad_bound,'boundary_condition':boundary_condition }
    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.WrapPadImageFilter.New(*args, **kwargs)

    return instance.__internal_call__()

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

    filter_class = itk.ITKImageGrid.WrapPadImageFilter
    wrap_pad_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

    wrap_pad_image_filter.__doc__ = filter_object.__doc__



