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

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.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 itkPadImageFilterICF2ICF2_New():
    return itkPadImageFilterICF2ICF2.New()

class itkPadImageFilterICF2ICF2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICF2ICF2):
    r"""Proxy of C++ itkPadImageFilterICF2ICF2 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__() -> itkPadImageFilterICF2ICF2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICF2ICF2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterICF2ICF2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICF2ICF2_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterICF2ICF2_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterICF2ICF2_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICF2ICF2_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICF2ICF2_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterICF2ICF2_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterICF2ICF2

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterICF2ICF2_cast(obj)

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

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

          itkPadImageFilterICF2ICF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterICF2ICF2 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterICF2ICF2_swigregister(itkPadImageFilterICF2ICF2)

def itkPadImageFilterICF3ICF3_New():
    return itkPadImageFilterICF3ICF3.New()

class itkPadImageFilterICF3ICF3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICF3ICF3):
    r"""Proxy of C++ itkPadImageFilterICF3ICF3 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__() -> itkPadImageFilterICF3ICF3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICF3ICF3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterICF3ICF3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICF3ICF3_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterICF3ICF3_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterICF3ICF3_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICF3ICF3_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICF3ICF3_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterICF3ICF3_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterICF3ICF3

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterICF3ICF3_cast(obj)

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

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

          itkPadImageFilterICF3ICF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterICF3ICF3 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterICF3ICF3_swigregister(itkPadImageFilterICF3ICF3)

def itkPadImageFilterICVF22ICVF22_New():
    return itkPadImageFilterICVF22ICVF22.New()

class itkPadImageFilterICVF22ICVF22(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF22ICVF22):
    r"""Proxy of C++ itkPadImageFilterICVF22ICVF22 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__() -> itkPadImageFilterICVF22ICVF22_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF22ICVF22___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterICVF22ICVF22_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF22ICVF22_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF22ICVF22_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF22ICVF22_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF22ICVF22_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF22ICVF22_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF22ICVF22_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterICVF22ICVF22

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF22ICVF22_cast(obj)

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

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

          itkPadImageFilterICVF22ICVF22.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterICVF22ICVF22 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterICVF22ICVF22_swigregister(itkPadImageFilterICVF22ICVF22)

def itkPadImageFilterICVF23ICVF23_New():
    return itkPadImageFilterICVF23ICVF23.New()

class itkPadImageFilterICVF23ICVF23(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF23ICVF23):
    r"""Proxy of C++ itkPadImageFilterICVF23ICVF23 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__() -> itkPadImageFilterICVF23ICVF23_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF23ICVF23___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterICVF23ICVF23_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF23ICVF23_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF23ICVF23_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF23ICVF23_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF23ICVF23_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF23ICVF23_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF23ICVF23_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterICVF23ICVF23

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF23ICVF23_cast(obj)

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

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

          itkPadImageFilterICVF23ICVF23.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterICVF23ICVF23 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterICVF23ICVF23_swigregister(itkPadImageFilterICVF23ICVF23)

def itkPadImageFilterICVF32ICVF32_New():
    return itkPadImageFilterICVF32ICVF32.New()

class itkPadImageFilterICVF32ICVF32(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF32ICVF32):
    r"""Proxy of C++ itkPadImageFilterICVF32ICVF32 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__() -> itkPadImageFilterICVF32ICVF32_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF32ICVF32___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterICVF32ICVF32_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF32ICVF32_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF32ICVF32_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF32ICVF32_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF32ICVF32_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF32ICVF32_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF32ICVF32_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterICVF32ICVF32

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF32ICVF32_cast(obj)

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

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

          itkPadImageFilterICVF32ICVF32.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterICVF32ICVF32 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterICVF32ICVF32_swigregister(itkPadImageFilterICVF32ICVF32)

def itkPadImageFilterICVF33ICVF33_New():
    return itkPadImageFilterICVF33ICVF33.New()

class itkPadImageFilterICVF33ICVF33(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF33ICVF33):
    r"""Proxy of C++ itkPadImageFilterICVF33ICVF33 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__() -> itkPadImageFilterICVF33ICVF33_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF33ICVF33___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterICVF33ICVF33_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF33ICVF33_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF33ICVF33_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF33ICVF33_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF33ICVF33_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF33ICVF33_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF33ICVF33_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterICVF33ICVF33

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF33ICVF33_cast(obj)

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

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

          itkPadImageFilterICVF33ICVF33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterICVF33ICVF33 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterICVF33ICVF33_swigregister(itkPadImageFilterICVF33ICVF33)

def itkPadImageFilterICVF42ICVF42_New():
    return itkPadImageFilterICVF42ICVF42.New()

class itkPadImageFilterICVF42ICVF42(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF42ICVF42):
    r"""Proxy of C++ itkPadImageFilterICVF42ICVF42 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__() -> itkPadImageFilterICVF42ICVF42_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF42ICVF42___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterICVF42ICVF42_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF42ICVF42_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF42ICVF42_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF42ICVF42_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF42ICVF42_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF42ICVF42_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF42ICVF42_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterICVF42ICVF42

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF42ICVF42_cast(obj)

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

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

          itkPadImageFilterICVF42ICVF42.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterICVF42ICVF42 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterICVF42ICVF42_swigregister(itkPadImageFilterICVF42ICVF42)

def itkPadImageFilterICVF43ICVF43_New():
    return itkPadImageFilterICVF43ICVF43.New()

class itkPadImageFilterICVF43ICVF43(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF43ICVF43):
    r"""Proxy of C++ itkPadImageFilterICVF43ICVF43 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__() -> itkPadImageFilterICVF43ICVF43_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF43ICVF43___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterICVF43ICVF43_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF43ICVF43_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF43ICVF43_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterICVF43ICVF43_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF43ICVF43_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF43ICVF43_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF43ICVF43_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterICVF43ICVF43

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterICVF43ICVF43_cast(obj)

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

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

          itkPadImageFilterICVF43ICVF43.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterICVF43ICVF43 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterICVF43ICVF43_swigregister(itkPadImageFilterICVF43ICVF43)

def itkPadImageFilterIF2IF2_New():
    return itkPadImageFilterIF2IF2.New()

class itkPadImageFilterIF2IF2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIF2IF2):
    r"""Proxy of C++ itkPadImageFilterIF2IF2 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__() -> itkPadImageFilterIF2IF2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIF2IF2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIF2IF2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIF2IF2_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIF2IF2_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIF2IF2_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIF2IF2_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIF2IF2_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIF2IF2_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIF2IF2

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIF2IF2_cast(obj)

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

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

          itkPadImageFilterIF2IF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIF2IF2 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIF2IF2_swigregister(itkPadImageFilterIF2IF2)

def itkPadImageFilterIF3IF3_New():
    return itkPadImageFilterIF3IF3.New()

class itkPadImageFilterIF3IF3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIF3IF3):
    r"""Proxy of C++ itkPadImageFilterIF3IF3 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__() -> itkPadImageFilterIF3IF3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIF3IF3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIF3IF3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIF3IF3_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIF3IF3_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIF3IF3_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIF3IF3_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIF3IF3_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIF3IF3_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIF3IF3

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIF3IF3_cast(obj)

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

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

          itkPadImageFilterIF3IF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIF3IF3 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIF3IF3_swigregister(itkPadImageFilterIF3IF3)

def itkPadImageFilterIRGBAUC2IRGBAUC2_New():
    return itkPadImageFilterIRGBAUC2IRGBAUC2.New()

class itkPadImageFilterIRGBAUC2IRGBAUC2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIRGBAUC2IRGBAUC2):
    r"""Proxy of C++ itkPadImageFilterIRGBAUC2IRGBAUC2 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__() -> itkPadImageFilterIRGBAUC2IRGBAUC2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC2IRGBAUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIRGBAUC2IRGBAUC2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC2IRGBAUC2_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC2IRGBAUC2_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC2IRGBAUC2_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC2IRGBAUC2_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC2IRGBAUC2_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC2IRGBAUC2_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIRGBAUC2IRGBAUC2

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC2IRGBAUC2_cast(obj)

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

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

          itkPadImageFilterIRGBAUC2IRGBAUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIRGBAUC2IRGBAUC2 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIRGBAUC2IRGBAUC2_swigregister(itkPadImageFilterIRGBAUC2IRGBAUC2)

def itkPadImageFilterIRGBAUC3IRGBAUC3_New():
    return itkPadImageFilterIRGBAUC3IRGBAUC3.New()

class itkPadImageFilterIRGBAUC3IRGBAUC3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIRGBAUC3IRGBAUC3):
    r"""Proxy of C++ itkPadImageFilterIRGBAUC3IRGBAUC3 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__() -> itkPadImageFilterIRGBAUC3IRGBAUC3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC3IRGBAUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIRGBAUC3IRGBAUC3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC3IRGBAUC3_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC3IRGBAUC3_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC3IRGBAUC3_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC3IRGBAUC3_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC3IRGBAUC3_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC3IRGBAUC3_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIRGBAUC3IRGBAUC3

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBAUC3IRGBAUC3_cast(obj)

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

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

          itkPadImageFilterIRGBAUC3IRGBAUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIRGBAUC3IRGBAUC3 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIRGBAUC3IRGBAUC3_swigregister(itkPadImageFilterIRGBAUC3IRGBAUC3)

def itkPadImageFilterIRGBUC2IRGBUC2_New():
    return itkPadImageFilterIRGBUC2IRGBUC2.New()

class itkPadImageFilterIRGBUC2IRGBUC2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIRGBUC2IRGBUC2):
    r"""Proxy of C++ itkPadImageFilterIRGBUC2IRGBUC2 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__() -> itkPadImageFilterIRGBUC2IRGBUC2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC2IRGBUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIRGBUC2IRGBUC2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC2IRGBUC2_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC2IRGBUC2_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC2IRGBUC2_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC2IRGBUC2_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC2IRGBUC2_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC2IRGBUC2_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIRGBUC2IRGBUC2

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC2IRGBUC2_cast(obj)

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

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

          itkPadImageFilterIRGBUC2IRGBUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIRGBUC2IRGBUC2 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIRGBUC2IRGBUC2_swigregister(itkPadImageFilterIRGBUC2IRGBUC2)

def itkPadImageFilterIRGBUC3IRGBUC3_New():
    return itkPadImageFilterIRGBUC3IRGBUC3.New()

class itkPadImageFilterIRGBUC3IRGBUC3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIRGBUC3IRGBUC3):
    r"""Proxy of C++ itkPadImageFilterIRGBUC3IRGBUC3 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__() -> itkPadImageFilterIRGBUC3IRGBUC3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC3IRGBUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIRGBUC3IRGBUC3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC3IRGBUC3_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC3IRGBUC3_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC3IRGBUC3_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC3IRGBUC3_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC3IRGBUC3_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC3IRGBUC3_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIRGBUC3IRGBUC3

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIRGBUC3IRGBUC3_cast(obj)

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

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

          itkPadImageFilterIRGBUC3IRGBUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIRGBUC3IRGBUC3 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIRGBUC3IRGBUC3_swigregister(itkPadImageFilterIRGBUC3IRGBUC3)

def itkPadImageFilterISS2ISS2_New():
    return itkPadImageFilterISS2ISS2.New()

class itkPadImageFilterISS2ISS2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseISS2ISS2):
    r"""Proxy of C++ itkPadImageFilterISS2ISS2 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__() -> itkPadImageFilterISS2ISS2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterISS2ISS2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterISS2ISS2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterISS2ISS2_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterISS2ISS2_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterISS2ISS2_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterISS2ISS2_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterISS2ISS2_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterISS2ISS2_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterISS2ISS2

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterISS2ISS2_cast(obj)

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

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

          itkPadImageFilterISS2ISS2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterISS2ISS2 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterISS2ISS2_swigregister(itkPadImageFilterISS2ISS2)

def itkPadImageFilterISS3ISS3_New():
    return itkPadImageFilterISS3ISS3.New()

class itkPadImageFilterISS3ISS3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseISS3ISS3):
    r"""Proxy of C++ itkPadImageFilterISS3ISS3 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__() -> itkPadImageFilterISS3ISS3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterISS3ISS3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterISS3ISS3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterISS3ISS3_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterISS3ISS3_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterISS3ISS3_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterISS3ISS3_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterISS3ISS3_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterISS3ISS3_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterISS3ISS3

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterISS3ISS3_cast(obj)

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

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

          itkPadImageFilterISS3ISS3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterISS3ISS3 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterISS3ISS3_swigregister(itkPadImageFilterISS3ISS3)

def itkPadImageFilterIUC2IUC2_New():
    return itkPadImageFilterIUC2IUC2.New()

class itkPadImageFilterIUC2IUC2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIUC2IUC2):
    r"""Proxy of C++ itkPadImageFilterIUC2IUC2 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__() -> itkPadImageFilterIUC2IUC2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIUC2IUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIUC2IUC2_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIUC2IUC2_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIUC2IUC2_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIUC2IUC2_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIUC2IUC2_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIUC2IUC2_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIUC2IUC2_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIUC2IUC2

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIUC2IUC2_cast(obj)

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

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

          itkPadImageFilterIUC2IUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIUC2IUC2 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIUC2IUC2_swigregister(itkPadImageFilterIUC2IUC2)

def itkPadImageFilterIUC3IUC3_New():
    return itkPadImageFilterIUC3IUC3.New()

class itkPadImageFilterIUC3IUC3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIUC3IUC3):
    r"""Proxy of C++ itkPadImageFilterIUC3IUC3 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__() -> itkPadImageFilterIUC3IUC3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIUC3IUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIUC3IUC3_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIUC3IUC3_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIUC3IUC3_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIUC3IUC3_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIUC3IUC3_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIUC3IUC3_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIUC3IUC3_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIUC3IUC3

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIUC3IUC3_cast(obj)

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

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

          itkPadImageFilterIUC3IUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIUC3IUC3 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIUC3IUC3_swigregister(itkPadImageFilterIUC3IUC3)

def itkPadImageFilterIVF22IVF22_New():
    return itkPadImageFilterIVF22IVF22.New()

class itkPadImageFilterIVF22IVF22(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF22IVF22):
    r"""Proxy of C++ itkPadImageFilterIVF22IVF22 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__() -> itkPadImageFilterIVF22IVF22_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF22IVF22___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIVF22IVF22_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF22IVF22_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF22IVF22_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF22IVF22_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF22IVF22_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF22IVF22_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF22IVF22_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIVF22IVF22

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF22IVF22_cast(obj)

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

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

          itkPadImageFilterIVF22IVF22.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIVF22IVF22 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIVF22IVF22_swigregister(itkPadImageFilterIVF22IVF22)

def itkPadImageFilterIVF23IVF23_New():
    return itkPadImageFilterIVF23IVF23.New()

class itkPadImageFilterIVF23IVF23(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF23IVF23):
    r"""Proxy of C++ itkPadImageFilterIVF23IVF23 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__() -> itkPadImageFilterIVF23IVF23_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF23IVF23___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIVF23IVF23_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF23IVF23_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF23IVF23_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF23IVF23_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF23IVF23_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF23IVF23_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF23IVF23_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIVF23IVF23

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF23IVF23_cast(obj)

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

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

          itkPadImageFilterIVF23IVF23.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIVF23IVF23 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIVF23IVF23_swigregister(itkPadImageFilterIVF23IVF23)

def itkPadImageFilterIVF32IVF32_New():
    return itkPadImageFilterIVF32IVF32.New()

class itkPadImageFilterIVF32IVF32(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF32IVF32):
    r"""Proxy of C++ itkPadImageFilterIVF32IVF32 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__() -> itkPadImageFilterIVF32IVF32_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF32IVF32___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIVF32IVF32_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF32IVF32_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF32IVF32_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF32IVF32_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF32IVF32_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF32IVF32_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF32IVF32_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIVF32IVF32

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF32IVF32_cast(obj)

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

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

          itkPadImageFilterIVF32IVF32.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIVF32IVF32 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIVF32IVF32_swigregister(itkPadImageFilterIVF32IVF32)

def itkPadImageFilterIVF33IVF33_New():
    return itkPadImageFilterIVF33IVF33.New()

class itkPadImageFilterIVF33IVF33(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF33IVF33):
    r"""Proxy of C++ itkPadImageFilterIVF33IVF33 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__() -> itkPadImageFilterIVF33IVF33_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF33IVF33___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIVF33IVF33_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF33IVF33_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF33IVF33_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF33IVF33_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF33IVF33_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF33IVF33_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF33IVF33_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIVF33IVF33

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF33IVF33_cast(obj)

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

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

          itkPadImageFilterIVF33IVF33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIVF33IVF33 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIVF33IVF33_swigregister(itkPadImageFilterIVF33IVF33)

def itkPadImageFilterIVF42IVF42_New():
    return itkPadImageFilterIVF42IVF42.New()

class itkPadImageFilterIVF42IVF42(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF42IVF42):
    r"""Proxy of C++ itkPadImageFilterIVF42IVF42 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__() -> itkPadImageFilterIVF42IVF42_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF42IVF42___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIVF42IVF42_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF42IVF42_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF42IVF42_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize2"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF42IVF42_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF42IVF42_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize2

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF42IVF42_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize2 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF42IVF42_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIVF42IVF42

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF42IVF42_cast(obj)

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

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

          itkPadImageFilterIVF42IVF42.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIVF42IVF42 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIVF42IVF42_swigregister(itkPadImageFilterIVF42IVF42)

def itkPadImageFilterIVF43IVF43_New():
    return itkPadImageFilterIVF43IVF43.New()

class itkPadImageFilterIVF43IVF43(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF43IVF43):
    r"""Proxy of C++ itkPadImageFilterIVF43IVF43 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__() -> itkPadImageFilterIVF43IVF43_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF43IVF43___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPadImageFilterIVF43IVF43_Pointer"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF43IVF43_Clone(self)

    def GetPadLowerBound(self):
        r"""GetPadLowerBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF43IVF43_GetPadLowerBound(self)

    def GetPadUpperBound(self):
        r"""GetPadUpperBound(self) -> itkSize3"""
        return _itkPadImageFilterPython.itkPadImageFilterIVF43IVF43_GetPadUpperBound(self)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadLowerBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF43IVF43_SetPadLowerBound(self, *args)

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

        Parameters
        ----------
        _arg: itkSize3

        SetPadUpperBound(self, data)

        Parameters
        ----------
        data: unsigned long const *

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF43IVF43_SetPadUpperBound(self, *args)

    def SetPadBound(self, bound):
        r"""
        SetPadBound(self, bound)

        Parameters
        ----------
        bound: itkSize3 const &

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF43IVF43_SetPadBound(self, bound)
    __swig_destroy__ = _itkPadImageFilterPython.delete_itkPadImageFilterIVF43IVF43

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

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

        """
        return _itkPadImageFilterPython.itkPadImageFilterIVF43IVF43_cast(obj)

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

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

          itkPadImageFilterIVF43IVF43.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPadImageFilterIVF43IVF43 in _itkPadImageFilterPython:
_itkPadImageFilterPython.itkPadImageFilterIVF43IVF43_swigregister(itkPadImageFilterIVF43IVF43)

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

@helpers.accept_array_like_xarray_torch
def 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 PadImageFilter"""
    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.PadImageFilter.New(*args, **kwargs)

    return instance.__internal_call__()

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

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

    pad_image_filter.__doc__ = filter_object.__doc__



