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



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

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

def itkFFTPadImageFilterICF2_New():
    return itkFFTPadImageFilterICF2.New()

class itkFFTPadImageFilterICF2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICF2ICF2):
    r"""Proxy of C++ itkFFTPadImageFilterICF2 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__() -> itkFFTPadImageFilterICF2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICF2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterICF2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICF2_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICF2_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICF2_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterICF2

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICF2_cast(obj)

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

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

          itkFFTPadImageFilterICF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterICF2 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterICF2_swigregister(itkFFTPadImageFilterICF2)

def itkFFTPadImageFilterICF3_New():
    return itkFFTPadImageFilterICF3.New()

class itkFFTPadImageFilterICF3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICF3ICF3):
    r"""Proxy of C++ itkFFTPadImageFilterICF3 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__() -> itkFFTPadImageFilterICF3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICF3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterICF3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICF3_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICF3_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICF3_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterICF3

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICF3_cast(obj)

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

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

          itkFFTPadImageFilterICF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterICF3 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterICF3_swigregister(itkFFTPadImageFilterICF3)

def itkFFTPadImageFilterICVF22_New():
    return itkFFTPadImageFilterICVF22.New()

class itkFFTPadImageFilterICVF22(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF22ICVF22):
    r"""Proxy of C++ itkFFTPadImageFilterICVF22 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__() -> itkFFTPadImageFilterICVF22_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF22___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterICVF22_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF22_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF22_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF22_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterICVF22

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF22_cast(obj)

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

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

          itkFFTPadImageFilterICVF22.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterICVF22 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF22_swigregister(itkFFTPadImageFilterICVF22)

def itkFFTPadImageFilterICVF23_New():
    return itkFFTPadImageFilterICVF23.New()

class itkFFTPadImageFilterICVF23(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF23ICVF23):
    r"""Proxy of C++ itkFFTPadImageFilterICVF23 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__() -> itkFFTPadImageFilterICVF23_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF23___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterICVF23_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF23_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF23_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF23_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterICVF23

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF23_cast(obj)

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

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

          itkFFTPadImageFilterICVF23.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterICVF23 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF23_swigregister(itkFFTPadImageFilterICVF23)

def itkFFTPadImageFilterICVF32_New():
    return itkFFTPadImageFilterICVF32.New()

class itkFFTPadImageFilterICVF32(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF32ICVF32):
    r"""Proxy of C++ itkFFTPadImageFilterICVF32 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__() -> itkFFTPadImageFilterICVF32_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF32___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterICVF32_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF32_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF32_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF32_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterICVF32

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF32_cast(obj)

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

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

          itkFFTPadImageFilterICVF32.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterICVF32 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF32_swigregister(itkFFTPadImageFilterICVF32)

def itkFFTPadImageFilterICVF33_New():
    return itkFFTPadImageFilterICVF33.New()

class itkFFTPadImageFilterICVF33(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF33ICVF33):
    r"""Proxy of C++ itkFFTPadImageFilterICVF33 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__() -> itkFFTPadImageFilterICVF33_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF33___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterICVF33_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF33_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF33_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF33_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterICVF33

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF33_cast(obj)

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

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

          itkFFTPadImageFilterICVF33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterICVF33 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF33_swigregister(itkFFTPadImageFilterICVF33)

def itkFFTPadImageFilterICVF42_New():
    return itkFFTPadImageFilterICVF42.New()

class itkFFTPadImageFilterICVF42(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF42ICVF42):
    r"""Proxy of C++ itkFFTPadImageFilterICVF42 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__() -> itkFFTPadImageFilterICVF42_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF42___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterICVF42_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF42_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF42_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF42_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterICVF42

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF42_cast(obj)

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

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

          itkFFTPadImageFilterICVF42.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterICVF42 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF42_swigregister(itkFFTPadImageFilterICVF42)

def itkFFTPadImageFilterICVF43_New():
    return itkFFTPadImageFilterICVF43.New()

class itkFFTPadImageFilterICVF43(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseICVF43ICVF43):
    r"""Proxy of C++ itkFFTPadImageFilterICVF43 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__() -> itkFFTPadImageFilterICVF43_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF43___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterICVF43_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF43_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF43_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF43_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterICVF43

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF43_cast(obj)

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

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

          itkFFTPadImageFilterICVF43.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterICVF43 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterICVF43_swigregister(itkFFTPadImageFilterICVF43)

def itkFFTPadImageFilterIF2_New():
    return itkFFTPadImageFilterIF2.New()

class itkFFTPadImageFilterIF2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIF2IF2):
    r"""Proxy of C++ itkFFTPadImageFilterIF2 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__() -> itkFFTPadImageFilterIF2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIF2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIF2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIF2_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIF2_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIF2_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIF2

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIF2_cast(obj)

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

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

          itkFFTPadImageFilterIF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIF2 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIF2_swigregister(itkFFTPadImageFilterIF2)

def itkFFTPadImageFilterIF3_New():
    return itkFFTPadImageFilterIF3.New()

class itkFFTPadImageFilterIF3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIF3IF3):
    r"""Proxy of C++ itkFFTPadImageFilterIF3 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__() -> itkFFTPadImageFilterIF3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIF3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIF3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIF3_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIF3_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIF3_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIF3

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIF3_cast(obj)

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

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

          itkFFTPadImageFilterIF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIF3 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIF3_swigregister(itkFFTPadImageFilterIF3)

def itkFFTPadImageFilterIRGBAUC2_New():
    return itkFFTPadImageFilterIRGBAUC2.New()

class itkFFTPadImageFilterIRGBAUC2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIRGBAUC2IRGBAUC2):
    r"""Proxy of C++ itkFFTPadImageFilterIRGBAUC2 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__() -> itkFFTPadImageFilterIRGBAUC2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIRGBAUC2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC2_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC2_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC2_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIRGBAUC2

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC2_cast(obj)

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

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

          itkFFTPadImageFilterIRGBAUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIRGBAUC2 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC2_swigregister(itkFFTPadImageFilterIRGBAUC2)

def itkFFTPadImageFilterIRGBAUC3_New():
    return itkFFTPadImageFilterIRGBAUC3.New()

class itkFFTPadImageFilterIRGBAUC3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIRGBAUC3IRGBAUC3):
    r"""Proxy of C++ itkFFTPadImageFilterIRGBAUC3 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__() -> itkFFTPadImageFilterIRGBAUC3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIRGBAUC3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC3_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC3_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC3_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIRGBAUC3

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC3_cast(obj)

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

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

          itkFFTPadImageFilterIRGBAUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIRGBAUC3 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBAUC3_swigregister(itkFFTPadImageFilterIRGBAUC3)

def itkFFTPadImageFilterIRGBUC2_New():
    return itkFFTPadImageFilterIRGBUC2.New()

class itkFFTPadImageFilterIRGBUC2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIRGBUC2IRGBUC2):
    r"""Proxy of C++ itkFFTPadImageFilterIRGBUC2 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__() -> itkFFTPadImageFilterIRGBUC2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIRGBUC2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC2_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC2_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC2_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIRGBUC2

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC2_cast(obj)

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

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

          itkFFTPadImageFilterIRGBUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIRGBUC2 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC2_swigregister(itkFFTPadImageFilterIRGBUC2)

def itkFFTPadImageFilterIRGBUC3_New():
    return itkFFTPadImageFilterIRGBUC3.New()

class itkFFTPadImageFilterIRGBUC3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIRGBUC3IRGBUC3):
    r"""Proxy of C++ itkFFTPadImageFilterIRGBUC3 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__() -> itkFFTPadImageFilterIRGBUC3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIRGBUC3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC3_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC3_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC3_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIRGBUC3

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC3_cast(obj)

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

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

          itkFFTPadImageFilterIRGBUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIRGBUC3 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIRGBUC3_swigregister(itkFFTPadImageFilterIRGBUC3)

def itkFFTPadImageFilterISS2_New():
    return itkFFTPadImageFilterISS2.New()

class itkFFTPadImageFilterISS2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseISS2ISS2):
    r"""Proxy of C++ itkFFTPadImageFilterISS2 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__() -> itkFFTPadImageFilterISS2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterISS2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterISS2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterISS2_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterISS2_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterISS2_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterISS2

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterISS2_cast(obj)

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

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

          itkFFTPadImageFilterISS2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterISS2 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterISS2_swigregister(itkFFTPadImageFilterISS2)

def itkFFTPadImageFilterISS3_New():
    return itkFFTPadImageFilterISS3.New()

class itkFFTPadImageFilterISS3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseISS3ISS3):
    r"""Proxy of C++ itkFFTPadImageFilterISS3 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__() -> itkFFTPadImageFilterISS3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterISS3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterISS3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterISS3_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterISS3_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterISS3_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterISS3

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterISS3_cast(obj)

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

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

          itkFFTPadImageFilterISS3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterISS3 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterISS3_swigregister(itkFFTPadImageFilterISS3)

def itkFFTPadImageFilterIUC2_New():
    return itkFFTPadImageFilterIUC2.New()

class itkFFTPadImageFilterIUC2(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIUC2IUC2):
    r"""Proxy of C++ itkFFTPadImageFilterIUC2 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__() -> itkFFTPadImageFilterIUC2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIUC2_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC2_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC2_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC2_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIUC2

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC2_cast(obj)

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

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

          itkFFTPadImageFilterIUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIUC2 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC2_swigregister(itkFFTPadImageFilterIUC2)

def itkFFTPadImageFilterIUC3_New():
    return itkFFTPadImageFilterIUC3.New()

class itkFFTPadImageFilterIUC3(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIUC3IUC3):
    r"""Proxy of C++ itkFFTPadImageFilterIUC3 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__() -> itkFFTPadImageFilterIUC3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIUC3_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC3_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC3_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC3_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIUC3

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC3_cast(obj)

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

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

          itkFFTPadImageFilterIUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIUC3 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIUC3_swigregister(itkFFTPadImageFilterIUC3)

def itkFFTPadImageFilterIVF22_New():
    return itkFFTPadImageFilterIVF22.New()

class itkFFTPadImageFilterIVF22(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF22IVF22):
    r"""Proxy of C++ itkFFTPadImageFilterIVF22 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__() -> itkFFTPadImageFilterIVF22_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF22___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIVF22_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF22_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF22_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF22_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIVF22

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF22_cast(obj)

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

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

          itkFFTPadImageFilterIVF22.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIVF22 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF22_swigregister(itkFFTPadImageFilterIVF22)

def itkFFTPadImageFilterIVF23_New():
    return itkFFTPadImageFilterIVF23.New()

class itkFFTPadImageFilterIVF23(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF23IVF23):
    r"""Proxy of C++ itkFFTPadImageFilterIVF23 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__() -> itkFFTPadImageFilterIVF23_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF23___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIVF23_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF23_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF23_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF23_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIVF23

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF23_cast(obj)

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

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

          itkFFTPadImageFilterIVF23.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIVF23 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF23_swigregister(itkFFTPadImageFilterIVF23)

def itkFFTPadImageFilterIVF32_New():
    return itkFFTPadImageFilterIVF32.New()

class itkFFTPadImageFilterIVF32(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF32IVF32):
    r"""Proxy of C++ itkFFTPadImageFilterIVF32 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__() -> itkFFTPadImageFilterIVF32_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF32___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIVF32_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF32_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF32_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF32_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIVF32

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF32_cast(obj)

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

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

          itkFFTPadImageFilterIVF32.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIVF32 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF32_swigregister(itkFFTPadImageFilterIVF32)

def itkFFTPadImageFilterIVF33_New():
    return itkFFTPadImageFilterIVF33.New()

class itkFFTPadImageFilterIVF33(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF33IVF33):
    r"""Proxy of C++ itkFFTPadImageFilterIVF33 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__() -> itkFFTPadImageFilterIVF33_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF33___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIVF33_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF33_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF33_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF33_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIVF33

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF33_cast(obj)

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

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

          itkFFTPadImageFilterIVF33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIVF33 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF33_swigregister(itkFFTPadImageFilterIVF33)

def itkFFTPadImageFilterIVF42_New():
    return itkFFTPadImageFilterIVF42.New()

class itkFFTPadImageFilterIVF42(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF42IVF42):
    r"""Proxy of C++ itkFFTPadImageFilterIVF42 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__() -> itkFFTPadImageFilterIVF42_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF42___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIVF42_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF42_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF42_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF42_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIVF42

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF42_cast(obj)

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

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

          itkFFTPadImageFilterIVF42.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIVF42 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF42_swigregister(itkFFTPadImageFilterIVF42)

def itkFFTPadImageFilterIVF43_New():
    return itkFFTPadImageFilterIVF43.New()

class itkFFTPadImageFilterIVF43(itk.itkPadImageFilterBasePython.itkPadImageFilterBaseIVF43IVF43):
    r"""Proxy of C++ itkFFTPadImageFilterIVF43 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__() -> itkFFTPadImageFilterIVF43_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF43___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkFFTPadImageFilterIVF43_Pointer"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF43_Clone(self)

    def GetSizeGreatestPrimeFactor(self):
        r"""GetSizeGreatestPrimeFactor(self) -> unsigned long"""
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF43_GetSizeGreatestPrimeFactor(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF43_SetSizeGreatestPrimeFactor(self, _arg)
    __swig_destroy__ = _itkFFTPadImageFilterPython.delete_itkFFTPadImageFilterIVF43

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

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

        """
        return _itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF43_cast(obj)

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

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

          itkFFTPadImageFilterIVF43.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkFFTPadImageFilterIVF43 in _itkFFTPadImageFilterPython:
_itkFFTPadImageFilterPython.itkFFTPadImageFilterIVF43_swigregister(itkFFTPadImageFilterIVF43)

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

@helpers.accept_array_like_xarray_torch
def fft_pad_image_filter(*args: itkt.ImageLike,  size_greatest_prime_factor: int=..., boundary_condition: itkt.ImageBoundaryCondition=...,**kwargs)-> itkt.ImageSourceReturn:
    """Functional interface for FFTPadImageFilter"""
    import itk

    kwarg_typehints = { 'size_greatest_prime_factor':size_greatest_prime_factor,'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.FFTPadImageFilter.New(*args, **kwargs)

    return instance.__internal_call__()

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

    filter_class = itk.ITKFFT.FFTPadImageFilter
    fft_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

    fft_pad_image_filter.__doc__ = filter_object.__doc__



