# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.4.1
#
# Do not make changes to this file unless you know what you are doing - modify
# the SWIG interface file instead.


import collections

from sys import version_info as _version_info
if _version_info < (3, 7, 0):
    raise RuntimeError("Python 3.7 or later required")

from . import _ITKCommonPython


from . import _ITKMathematicalMorphologyPython



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

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.itkCovariantVectorPython
import itk.vnl_vector_refPython
import itk.stdcomplexPython
import itk.pyBasePython
import itk.vnl_vectorPython
import itk.vnl_matrixPython
import itk.itkVectorPython
import itk.itkFixedArrayPython
import itk.vnl_matrix_fixedPython
import itk.itkPointPython
import itk.itkBoxImageFilterPython
import itk.itkSizePython
import itk.itkImageToImageFilterAPython
import itk.itkImagePython
import itk.itkImageRegionPython
import itk.itkIndexPython
import itk.itkOffsetPython
import itk.itkSymmetricSecondRankTensorPython
import itk.itkRGBPixelPython
import itk.itkRGBAPixelPython
import itk.itkVectorImagePython
import itk.itkVariableLengthVectorPython
import itk.itkImageSourcePython
import itk.itkImageSourceCommonPython
import itk.itkPhasedArray3DSpecialCoordinatesImagePython
import itk.itkImageToImageFilterCommonPython
import itk.itkNeighborhoodPython
class itkFlatStructuringElement2(itk.itkNeighborhoodPython.itkNeighborhoodB2):
    r"""Proxy of C++ itkFlatStructuringElement2 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkFlatStructuringElement2

    @staticmethod
    def Box(radius):
        r"""
        Box(radius) -> itkFlatStructuringElement2

        Parameters
        ----------
        radius: itkSize2

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_Box(radius)

    @staticmethod
    def Ball(radius, radiusIsParametric=False):
        r"""
        Ball(radius, radiusIsParametric=False) -> itkFlatStructuringElement2

        Parameters
        ----------
        radius: itkSize2
        radiusIsParametric: bool

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_Ball(radius, radiusIsParametric)

    @staticmethod
    def Cross(radius):
        r"""
        Cross(radius) -> itkFlatStructuringElement2

        Parameters
        ----------
        radius: itkSize2

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_Cross(radius)

    @staticmethod
    def Annulus(radius, thickness=1, includeCenter=False, radiusIsParametric=False):
        r"""
        Annulus(radius, thickness=1, includeCenter=False, radiusIsParametric=False) -> itkFlatStructuringElement2

        Parameters
        ----------
        radius: itkSize2
        thickness: unsigned int
        includeCenter: bool
        radiusIsParametric: bool

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_Annulus(radius, thickness, includeCenter, radiusIsParametric)

    @staticmethod
    def Polygon(radius, lines):
        r"""
        Polygon(radius, lines) -> itkFlatStructuringElement2

        Parameters
        ----------
        radius: itkSize2
        lines: unsigned int

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_Polygon(radius, lines)

    def GetDecomposable(self):
        r"""GetDecomposable(self) -> bool"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_GetDecomposable(self)

    def SetDecomposable(self, v):
        r"""
        SetDecomposable(self, v)

        Parameters
        ----------
        v: bool

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_SetDecomposable(self, v)

    def GetLines(self):
        r"""GetLines(self) -> std::vector< itkVectorF2,std::allocator< itkVectorF2 > > const &"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_GetLines(self)

    def AddLine(self, l):
        r"""
        AddLine(self, l)

        Parameters
        ----------
        l: itkVectorF2

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_AddLine(self, l)

    def CheckParallel(self, NewVec):
        r"""
        CheckParallel(self, NewVec) -> bool

        Parameters
        ----------
        NewVec: itkVectorF2

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_CheckParallel(self, NewVec)

    def ComputeBufferFromLines(self):
        r"""ComputeBufferFromLines(self)"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_ComputeBufferFromLines(self)

    def GetRadiusIsParametric(self):
        r"""GetRadiusIsParametric(self) -> bool"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_GetRadiusIsParametric(self)

    def SetRadiusIsParametric(self, flag):
        r"""
        SetRadiusIsParametric(self, flag)

        Parameters
        ----------
        flag: bool

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_SetRadiusIsParametric(self, flag)

    def RadiusIsParametricOn(self):
        r"""RadiusIsParametricOn(self)"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_RadiusIsParametricOn(self)

    def RadiusIsParametricOff(self):
        r"""RadiusIsParametricOff(self)"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_RadiusIsParametricOff(self)

    @staticmethod
    def FromImage(image):
        r"""
        FromImage(image) -> itkFlatStructuringElement2

        Parameters
        ----------
        image: itkImageB2 const *

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement2_FromImage(image)

    def __init__(self, *args):
        r"""
        __init__(self) -> itkFlatStructuringElement2
        __init__(self, arg0) -> itkFlatStructuringElement2

        Parameters
        ----------
        arg0: itkFlatStructuringElement2 const &

        """
        _itkFlatStructuringElementPython.itkFlatStructuringElement2_swiginit(self, _itkFlatStructuringElementPython.new_itkFlatStructuringElement2(*args))

# Register itkFlatStructuringElement2 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkFlatStructuringElement2_swigregister(itkFlatStructuringElement2)
class itkFlatStructuringElement3(itk.itkNeighborhoodPython.itkNeighborhoodB3):
    r"""Proxy of C++ itkFlatStructuringElement3 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkFlatStructuringElement3

    @staticmethod
    def Box(radius):
        r"""
        Box(radius) -> itkFlatStructuringElement3

        Parameters
        ----------
        radius: itkSize3

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_Box(radius)

    @staticmethod
    def Ball(radius, radiusIsParametric=False):
        r"""
        Ball(radius, radiusIsParametric=False) -> itkFlatStructuringElement3

        Parameters
        ----------
        radius: itkSize3
        radiusIsParametric: bool

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_Ball(radius, radiusIsParametric)

    @staticmethod
    def Cross(radius):
        r"""
        Cross(radius) -> itkFlatStructuringElement3

        Parameters
        ----------
        radius: itkSize3

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_Cross(radius)

    @staticmethod
    def Annulus(radius, thickness=1, includeCenter=False, radiusIsParametric=False):
        r"""
        Annulus(radius, thickness=1, includeCenter=False, radiusIsParametric=False) -> itkFlatStructuringElement3

        Parameters
        ----------
        radius: itkSize3
        thickness: unsigned int
        includeCenter: bool
        radiusIsParametric: bool

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_Annulus(radius, thickness, includeCenter, radiusIsParametric)

    @staticmethod
    def Polygon(radius, lines):
        r"""
        Polygon(radius, lines) -> itkFlatStructuringElement3

        Parameters
        ----------
        radius: itkSize3
        lines: unsigned int

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_Polygon(radius, lines)

    def GetDecomposable(self):
        r"""GetDecomposable(self) -> bool"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_GetDecomposable(self)

    def SetDecomposable(self, v):
        r"""
        SetDecomposable(self, v)

        Parameters
        ----------
        v: bool

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_SetDecomposable(self, v)

    def GetLines(self):
        r"""GetLines(self) -> std::vector< itkVectorF3,std::allocator< itkVectorF3 > > const &"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_GetLines(self)

    def AddLine(self, l):
        r"""
        AddLine(self, l)

        Parameters
        ----------
        l: itkVectorF3

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_AddLine(self, l)

    def CheckParallel(self, NewVec):
        r"""
        CheckParallel(self, NewVec) -> bool

        Parameters
        ----------
        NewVec: itkVectorF3

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_CheckParallel(self, NewVec)

    def ComputeBufferFromLines(self):
        r"""ComputeBufferFromLines(self)"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_ComputeBufferFromLines(self)

    def GetRadiusIsParametric(self):
        r"""GetRadiusIsParametric(self) -> bool"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_GetRadiusIsParametric(self)

    def SetRadiusIsParametric(self, flag):
        r"""
        SetRadiusIsParametric(self, flag)

        Parameters
        ----------
        flag: bool

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_SetRadiusIsParametric(self, flag)

    def RadiusIsParametricOn(self):
        r"""RadiusIsParametricOn(self)"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_RadiusIsParametricOn(self)

    def RadiusIsParametricOff(self):
        r"""RadiusIsParametricOff(self)"""
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_RadiusIsParametricOff(self)

    @staticmethod
    def FromImage(image):
        r"""
        FromImage(image) -> itkFlatStructuringElement3

        Parameters
        ----------
        image: itkImageB3 const *

        """
        return _itkFlatStructuringElementPython.itkFlatStructuringElement3_FromImage(image)

    def __init__(self, *args):
        r"""
        __init__(self) -> itkFlatStructuringElement3
        __init__(self, arg0) -> itkFlatStructuringElement3

        Parameters
        ----------
        arg0: itkFlatStructuringElement3 const &

        """
        _itkFlatStructuringElementPython.itkFlatStructuringElement3_swiginit(self, _itkFlatStructuringElementPython.new_itkFlatStructuringElement3(*args))

# Register itkFlatStructuringElement3 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkFlatStructuringElement3_swigregister(itkFlatStructuringElement3)

def itkKernelImageFilterIF2IF2SE2_New():
    return itkKernelImageFilterIF2IF2SE2.New()

class itkKernelImageFilterIF2IF2SE2(itk.itkBoxImageFilterPython.itkBoxImageFilterIF2IF2):
    r"""Proxy of C++ itkKernelImageFilterIF2IF2SE2 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__() -> itkKernelImageFilterIF2IF2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF2IF2SE2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkKernelImageFilterIF2IF2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF2IF2SE2_Clone(self)

    def SetKernel(self, kernel):
        r"""
        SetKernel(self, kernel)

        Parameters
        ----------
        kernel: itkFlatStructuringElement2 const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF2IF2SE2_SetKernel(self, kernel)

    def GetKernel(self):
        r"""GetKernel(self) -> itkFlatStructuringElement2"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF2IF2SE2_GetKernel(self)

    def SetRadius(self, *args):
        r"""
        SetRadius(self, radius)

        Parameters
        ----------
        radius: itkSize2 const &

        SetRadius(self, radius)

        Parameters
        ----------
        radius: unsigned long const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF2IF2SE2_SetRadius(self, *args)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkKernelImageFilterIF2IF2SE2

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

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

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF2IF2SE2_cast(obj)

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

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

          itkKernelImageFilterIF2IF2SE2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkKernelImageFilterIF2IF2SE2 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkKernelImageFilterIF2IF2SE2_swigregister(itkKernelImageFilterIF2IF2SE2)

def itkKernelImageFilterIF3IF3SE3_New():
    return itkKernelImageFilterIF3IF3SE3.New()

class itkKernelImageFilterIF3IF3SE3(itk.itkBoxImageFilterPython.itkBoxImageFilterIF3IF3):
    r"""Proxy of C++ itkKernelImageFilterIF3IF3SE3 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__() -> itkKernelImageFilterIF3IF3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF3IF3SE3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkKernelImageFilterIF3IF3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF3IF3SE3_Clone(self)

    def SetKernel(self, kernel):
        r"""
        SetKernel(self, kernel)

        Parameters
        ----------
        kernel: itkFlatStructuringElement3 const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF3IF3SE3_SetKernel(self, kernel)

    def GetKernel(self):
        r"""GetKernel(self) -> itkFlatStructuringElement3"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF3IF3SE3_GetKernel(self)

    def SetRadius(self, *args):
        r"""
        SetRadius(self, radius)

        Parameters
        ----------
        radius: itkSize3 const &

        SetRadius(self, radius)

        Parameters
        ----------
        radius: unsigned long const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF3IF3SE3_SetRadius(self, *args)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkKernelImageFilterIF3IF3SE3

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

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

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIF3IF3SE3_cast(obj)

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

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

          itkKernelImageFilterIF3IF3SE3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkKernelImageFilterIF3IF3SE3 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkKernelImageFilterIF3IF3SE3_swigregister(itkKernelImageFilterIF3IF3SE3)

def itkKernelImageFilterISS2ISS2SE2_New():
    return itkKernelImageFilterISS2ISS2SE2.New()

class itkKernelImageFilterISS2ISS2SE2(itk.itkBoxImageFilterPython.itkBoxImageFilterISS2ISS2):
    r"""Proxy of C++ itkKernelImageFilterISS2ISS2SE2 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__() -> itkKernelImageFilterISS2ISS2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS2ISS2SE2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkKernelImageFilterISS2ISS2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS2ISS2SE2_Clone(self)

    def SetKernel(self, kernel):
        r"""
        SetKernel(self, kernel)

        Parameters
        ----------
        kernel: itkFlatStructuringElement2 const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS2ISS2SE2_SetKernel(self, kernel)

    def GetKernel(self):
        r"""GetKernel(self) -> itkFlatStructuringElement2"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS2ISS2SE2_GetKernel(self)

    def SetRadius(self, *args):
        r"""
        SetRadius(self, radius)

        Parameters
        ----------
        radius: itkSize2 const &

        SetRadius(self, radius)

        Parameters
        ----------
        radius: unsigned long const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS2ISS2SE2_SetRadius(self, *args)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkKernelImageFilterISS2ISS2SE2

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

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

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS2ISS2SE2_cast(obj)

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

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

          itkKernelImageFilterISS2ISS2SE2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkKernelImageFilterISS2ISS2SE2 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkKernelImageFilterISS2ISS2SE2_swigregister(itkKernelImageFilterISS2ISS2SE2)

def itkKernelImageFilterISS3ISS3SE3_New():
    return itkKernelImageFilterISS3ISS3SE3.New()

class itkKernelImageFilterISS3ISS3SE3(itk.itkBoxImageFilterPython.itkBoxImageFilterISS3ISS3):
    r"""Proxy of C++ itkKernelImageFilterISS3ISS3SE3 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__() -> itkKernelImageFilterISS3ISS3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS3ISS3SE3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkKernelImageFilterISS3ISS3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS3ISS3SE3_Clone(self)

    def SetKernel(self, kernel):
        r"""
        SetKernel(self, kernel)

        Parameters
        ----------
        kernel: itkFlatStructuringElement3 const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS3ISS3SE3_SetKernel(self, kernel)

    def GetKernel(self):
        r"""GetKernel(self) -> itkFlatStructuringElement3"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS3ISS3SE3_GetKernel(self)

    def SetRadius(self, *args):
        r"""
        SetRadius(self, radius)

        Parameters
        ----------
        radius: itkSize3 const &

        SetRadius(self, radius)

        Parameters
        ----------
        radius: unsigned long const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS3ISS3SE3_SetRadius(self, *args)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkKernelImageFilterISS3ISS3SE3

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

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

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterISS3ISS3SE3_cast(obj)

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

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

          itkKernelImageFilterISS3ISS3SE3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkKernelImageFilterISS3ISS3SE3 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkKernelImageFilterISS3ISS3SE3_swigregister(itkKernelImageFilterISS3ISS3SE3)

def itkKernelImageFilterIUC2IUC2SE2_New():
    return itkKernelImageFilterIUC2IUC2SE2.New()

class itkKernelImageFilterIUC2IUC2SE2(itk.itkBoxImageFilterPython.itkBoxImageFilterIUC2IUC2):
    r"""Proxy of C++ itkKernelImageFilterIUC2IUC2SE2 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__() -> itkKernelImageFilterIUC2IUC2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC2IUC2SE2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkKernelImageFilterIUC2IUC2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC2IUC2SE2_Clone(self)

    def SetKernel(self, kernel):
        r"""
        SetKernel(self, kernel)

        Parameters
        ----------
        kernel: itkFlatStructuringElement2 const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC2IUC2SE2_SetKernel(self, kernel)

    def GetKernel(self):
        r"""GetKernel(self) -> itkFlatStructuringElement2"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC2IUC2SE2_GetKernel(self)

    def SetRadius(self, *args):
        r"""
        SetRadius(self, radius)

        Parameters
        ----------
        radius: itkSize2 const &

        SetRadius(self, radius)

        Parameters
        ----------
        radius: unsigned long const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC2IUC2SE2_SetRadius(self, *args)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkKernelImageFilterIUC2IUC2SE2

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

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

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC2IUC2SE2_cast(obj)

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

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

          itkKernelImageFilterIUC2IUC2SE2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkKernelImageFilterIUC2IUC2SE2 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkKernelImageFilterIUC2IUC2SE2_swigregister(itkKernelImageFilterIUC2IUC2SE2)

def itkKernelImageFilterIUC3IUC3SE3_New():
    return itkKernelImageFilterIUC3IUC3SE3.New()

class itkKernelImageFilterIUC3IUC3SE3(itk.itkBoxImageFilterPython.itkBoxImageFilterIUC3IUC3):
    r"""Proxy of C++ itkKernelImageFilterIUC3IUC3SE3 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__() -> itkKernelImageFilterIUC3IUC3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC3IUC3SE3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkKernelImageFilterIUC3IUC3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC3IUC3SE3_Clone(self)

    def SetKernel(self, kernel):
        r"""
        SetKernel(self, kernel)

        Parameters
        ----------
        kernel: itkFlatStructuringElement3 const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC3IUC3SE3_SetKernel(self, kernel)

    def GetKernel(self):
        r"""GetKernel(self) -> itkFlatStructuringElement3"""
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC3IUC3SE3_GetKernel(self)

    def SetRadius(self, *args):
        r"""
        SetRadius(self, radius)

        Parameters
        ----------
        radius: itkSize3 const &

        SetRadius(self, radius)

        Parameters
        ----------
        radius: unsigned long const &

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC3IUC3SE3_SetRadius(self, *args)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkKernelImageFilterIUC3IUC3SE3

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

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

        """
        return _itkFlatStructuringElementPython.itkKernelImageFilterIUC3IUC3SE3_cast(obj)

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

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

          itkKernelImageFilterIUC3IUC3SE3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkKernelImageFilterIUC3IUC3SE3 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkKernelImageFilterIUC3IUC3SE3_swigregister(itkKernelImageFilterIUC3IUC3SE3)

def itkMovingHistogramImageFilterBaseIF2IF2SE2_New():
    return itkMovingHistogramImageFilterBaseIF2IF2SE2.New()

class itkMovingHistogramImageFilterBaseIF2IF2SE2(itkKernelImageFilterIF2IF2SE2):
    r"""Proxy of C++ itkMovingHistogramImageFilterBaseIF2IF2SE2 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__() -> itkMovingHistogramImageFilterBaseIF2IF2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIF2IF2SE2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMovingHistogramImageFilterBaseIF2IF2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIF2IF2SE2_Clone(self)

    def GetPixelsPerTranslation(self):
        r"""GetPixelsPerTranslation(self) -> unsigned long"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIF2IF2SE2_GetPixelsPerTranslation(self)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkMovingHistogramImageFilterBaseIF2IF2SE2

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

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

        """
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIF2IF2SE2_cast(obj)

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

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

          itkMovingHistogramImageFilterBaseIF2IF2SE2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMovingHistogramImageFilterBaseIF2IF2SE2 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIF2IF2SE2_swigregister(itkMovingHistogramImageFilterBaseIF2IF2SE2)

def itkMovingHistogramImageFilterBaseIF3IF3SE3_New():
    return itkMovingHistogramImageFilterBaseIF3IF3SE3.New()

class itkMovingHistogramImageFilterBaseIF3IF3SE3(itkKernelImageFilterIF3IF3SE3):
    r"""Proxy of C++ itkMovingHistogramImageFilterBaseIF3IF3SE3 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__() -> itkMovingHistogramImageFilterBaseIF3IF3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIF3IF3SE3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMovingHistogramImageFilterBaseIF3IF3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIF3IF3SE3_Clone(self)

    def GetPixelsPerTranslation(self):
        r"""GetPixelsPerTranslation(self) -> unsigned long"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIF3IF3SE3_GetPixelsPerTranslation(self)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkMovingHistogramImageFilterBaseIF3IF3SE3

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

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

        """
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIF3IF3SE3_cast(obj)

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

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

          itkMovingHistogramImageFilterBaseIF3IF3SE3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMovingHistogramImageFilterBaseIF3IF3SE3 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIF3IF3SE3_swigregister(itkMovingHistogramImageFilterBaseIF3IF3SE3)

def itkMovingHistogramImageFilterBaseISS2ISS2SE2_New():
    return itkMovingHistogramImageFilterBaseISS2ISS2SE2.New()

class itkMovingHistogramImageFilterBaseISS2ISS2SE2(itkKernelImageFilterISS2ISS2SE2):
    r"""Proxy of C++ itkMovingHistogramImageFilterBaseISS2ISS2SE2 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__() -> itkMovingHistogramImageFilterBaseISS2ISS2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseISS2ISS2SE2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMovingHistogramImageFilterBaseISS2ISS2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseISS2ISS2SE2_Clone(self)

    def GetPixelsPerTranslation(self):
        r"""GetPixelsPerTranslation(self) -> unsigned long"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseISS2ISS2SE2_GetPixelsPerTranslation(self)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkMovingHistogramImageFilterBaseISS2ISS2SE2

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

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

        """
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseISS2ISS2SE2_cast(obj)

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

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

          itkMovingHistogramImageFilterBaseISS2ISS2SE2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMovingHistogramImageFilterBaseISS2ISS2SE2 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseISS2ISS2SE2_swigregister(itkMovingHistogramImageFilterBaseISS2ISS2SE2)

def itkMovingHistogramImageFilterBaseISS3ISS3SE3_New():
    return itkMovingHistogramImageFilterBaseISS3ISS3SE3.New()

class itkMovingHistogramImageFilterBaseISS3ISS3SE3(itkKernelImageFilterISS3ISS3SE3):
    r"""Proxy of C++ itkMovingHistogramImageFilterBaseISS3ISS3SE3 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__() -> itkMovingHistogramImageFilterBaseISS3ISS3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseISS3ISS3SE3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMovingHistogramImageFilterBaseISS3ISS3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseISS3ISS3SE3_Clone(self)

    def GetPixelsPerTranslation(self):
        r"""GetPixelsPerTranslation(self) -> unsigned long"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseISS3ISS3SE3_GetPixelsPerTranslation(self)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkMovingHistogramImageFilterBaseISS3ISS3SE3

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

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

        """
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseISS3ISS3SE3_cast(obj)

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

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

          itkMovingHistogramImageFilterBaseISS3ISS3SE3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMovingHistogramImageFilterBaseISS3ISS3SE3 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseISS3ISS3SE3_swigregister(itkMovingHistogramImageFilterBaseISS3ISS3SE3)

def itkMovingHistogramImageFilterBaseIUC2IUC2SE2_New():
    return itkMovingHistogramImageFilterBaseIUC2IUC2SE2.New()

class itkMovingHistogramImageFilterBaseIUC2IUC2SE2(itkKernelImageFilterIUC2IUC2SE2):
    r"""Proxy of C++ itkMovingHistogramImageFilterBaseIUC2IUC2SE2 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__() -> itkMovingHistogramImageFilterBaseIUC2IUC2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIUC2IUC2SE2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMovingHistogramImageFilterBaseIUC2IUC2SE2_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIUC2IUC2SE2_Clone(self)

    def GetPixelsPerTranslation(self):
        r"""GetPixelsPerTranslation(self) -> unsigned long"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIUC2IUC2SE2_GetPixelsPerTranslation(self)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkMovingHistogramImageFilterBaseIUC2IUC2SE2

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

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

        """
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIUC2IUC2SE2_cast(obj)

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

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

          itkMovingHistogramImageFilterBaseIUC2IUC2SE2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMovingHistogramImageFilterBaseIUC2IUC2SE2 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIUC2IUC2SE2_swigregister(itkMovingHistogramImageFilterBaseIUC2IUC2SE2)

def itkMovingHistogramImageFilterBaseIUC3IUC3SE3_New():
    return itkMovingHistogramImageFilterBaseIUC3IUC3SE3.New()

class itkMovingHistogramImageFilterBaseIUC3IUC3SE3(itkKernelImageFilterIUC3IUC3SE3):
    r"""Proxy of C++ itkMovingHistogramImageFilterBaseIUC3IUC3SE3 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__() -> itkMovingHistogramImageFilterBaseIUC3IUC3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIUC3IUC3SE3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMovingHistogramImageFilterBaseIUC3IUC3SE3_Pointer"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIUC3IUC3SE3_Clone(self)

    def GetPixelsPerTranslation(self):
        r"""GetPixelsPerTranslation(self) -> unsigned long"""
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIUC3IUC3SE3_GetPixelsPerTranslation(self)
    __swig_destroy__ = _itkFlatStructuringElementPython.delete_itkMovingHistogramImageFilterBaseIUC3IUC3SE3

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

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

        """
        return _itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIUC3IUC3SE3_cast(obj)

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

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

          itkMovingHistogramImageFilterBaseIUC3IUC3SE3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMovingHistogramImageFilterBaseIUC3IUC3SE3 in _itkFlatStructuringElementPython:
_itkFlatStructuringElementPython.itkMovingHistogramImageFilterBaseIUC3IUC3SE3_swigregister(itkMovingHistogramImageFilterBaseIUC3IUC3SE3)

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

@helpers.accept_array_like_xarray_torch
def moving_histogram_image_filter_base(*args: itkt.ImageLike,  kernel: Union[itkt.FlatStructuringElement, itkt.FlatStructuringElement]=..., radius: Union[Sequence[int], int, int, Sequence[int]]=...,**kwargs)-> itkt.ImageSourceReturn:
    """Functional interface for MovingHistogramImageFilterBase"""
    import itk

    kwarg_typehints = { 'kernel':kernel,'radius':radius }
    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.MovingHistogramImageFilterBase.New(*args, **kwargs)

    return instance.__internal_call__()

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

    filter_class = itk.ITKMathematicalMorphology.MovingHistogramImageFilterBase
    moving_histogram_image_filter_base.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

    moving_histogram_image_filter_base.__doc__ = filter_object.__doc__

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

@helpers.accept_array_like_xarray_torch
def kernel_image_filter(*args: itkt.ImageLike,  kernel: itkt.FlatStructuringElement=..., radius: Union[int, Sequence[int], int, Sequence[int]]=...,**kwargs)-> itkt.ImageSourceReturn:
    """Functional interface for KernelImageFilter"""
    import itk

    kwarg_typehints = { 'kernel':kernel,'radius':radius }
    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.KernelImageFilter.New(*args, **kwargs)

    return instance.__internal_call__()

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

    filter_class = itk.ITKMathematicalMorphology.KernelImageFilter
    kernel_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

    kernel_image_filter.__doc__ = filter_object.__doc__



