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

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

def itkRegionalMaximaImageFilterIF2IF2_New():
    return itkRegionalMaximaImageFilterIF2IF2.New()

class itkRegionalMaximaImageFilterIF2IF2(itk.itkImageToImageFilterAPython.itkImageToImageFilterIF2IF2):
    r"""Proxy of C++ itkRegionalMaximaImageFilterIF2IF2 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__() -> itkRegionalMaximaImageFilterIF2IF2_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkRegionalMaximaImageFilterIF2IF2_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_Clone(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_SetFullyConnected(self, _arg)

    def GetFullyConnected(self):
        r"""GetFullyConnected(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_GetFullyConnected(self)

    def FullyConnectedOn(self):
        r"""FullyConnectedOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_FullyConnectedOn(self)

    def FullyConnectedOff(self):
        r"""FullyConnectedOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_FullyConnectedOff(self)

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

        Parameters
        ----------
        _arg: float

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_SetForegroundValue(self, _arg)

    def GetForegroundValue(self):
        r"""GetForegroundValue(self) -> float"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_GetForegroundValue(self)

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

        Parameters
        ----------
        _arg: float

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_SetBackgroundValue(self, _arg)

    def GetBackgroundValue(self):
        r"""GetBackgroundValue(self) -> float"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_GetBackgroundValue(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_SetFlatIsMaxima(self, _arg)

    def GetFlatIsMaxima(self):
        r"""GetFlatIsMaxima(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_GetFlatIsMaxima(self)

    def FlatIsMaximaOn(self):
        r"""FlatIsMaximaOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_FlatIsMaximaOn(self)

    def FlatIsMaximaOff(self):
        r"""FlatIsMaximaOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_FlatIsMaximaOff(self)
    InputHasPixelTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_InputHasPixelTraitsCheck
    
    InputHasNumericTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_InputHasNumericTraitsCheck
    
    __swig_destroy__ = _itkRegionalMaximaImageFilterPython.delete_itkRegionalMaximaImageFilterIF2IF2

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

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

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_cast(obj)

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

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

          itkRegionalMaximaImageFilterIF2IF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkRegionalMaximaImageFilterIF2IF2 in _itkRegionalMaximaImageFilterPython:
_itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF2IF2_swigregister(itkRegionalMaximaImageFilterIF2IF2)

def itkRegionalMaximaImageFilterIF3IF3_New():
    return itkRegionalMaximaImageFilterIF3IF3.New()

class itkRegionalMaximaImageFilterIF3IF3(itk.itkImageToImageFilterAPython.itkImageToImageFilterIF3IF3):
    r"""Proxy of C++ itkRegionalMaximaImageFilterIF3IF3 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__() -> itkRegionalMaximaImageFilterIF3IF3_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkRegionalMaximaImageFilterIF3IF3_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_Clone(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_SetFullyConnected(self, _arg)

    def GetFullyConnected(self):
        r"""GetFullyConnected(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_GetFullyConnected(self)

    def FullyConnectedOn(self):
        r"""FullyConnectedOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_FullyConnectedOn(self)

    def FullyConnectedOff(self):
        r"""FullyConnectedOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_FullyConnectedOff(self)

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

        Parameters
        ----------
        _arg: float

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_SetForegroundValue(self, _arg)

    def GetForegroundValue(self):
        r"""GetForegroundValue(self) -> float"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_GetForegroundValue(self)

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

        Parameters
        ----------
        _arg: float

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_SetBackgroundValue(self, _arg)

    def GetBackgroundValue(self):
        r"""GetBackgroundValue(self) -> float"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_GetBackgroundValue(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_SetFlatIsMaxima(self, _arg)

    def GetFlatIsMaxima(self):
        r"""GetFlatIsMaxima(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_GetFlatIsMaxima(self)

    def FlatIsMaximaOn(self):
        r"""FlatIsMaximaOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_FlatIsMaximaOn(self)

    def FlatIsMaximaOff(self):
        r"""FlatIsMaximaOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_FlatIsMaximaOff(self)
    InputHasPixelTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_InputHasPixelTraitsCheck
    
    InputHasNumericTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_InputHasNumericTraitsCheck
    
    __swig_destroy__ = _itkRegionalMaximaImageFilterPython.delete_itkRegionalMaximaImageFilterIF3IF3

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

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

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_cast(obj)

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

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

          itkRegionalMaximaImageFilterIF3IF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkRegionalMaximaImageFilterIF3IF3 in _itkRegionalMaximaImageFilterPython:
_itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIF3IF3_swigregister(itkRegionalMaximaImageFilterIF3IF3)

def itkRegionalMaximaImageFilterISS2ISS2_New():
    return itkRegionalMaximaImageFilterISS2ISS2.New()

class itkRegionalMaximaImageFilterISS2ISS2(itk.itkImageToImageFilterAPython.itkImageToImageFilterISS2ISS2):
    r"""Proxy of C++ itkRegionalMaximaImageFilterISS2ISS2 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__() -> itkRegionalMaximaImageFilterISS2ISS2_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkRegionalMaximaImageFilterISS2ISS2_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_Clone(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_SetFullyConnected(self, _arg)

    def GetFullyConnected(self):
        r"""GetFullyConnected(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_GetFullyConnected(self)

    def FullyConnectedOn(self):
        r"""FullyConnectedOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_FullyConnectedOn(self)

    def FullyConnectedOff(self):
        r"""FullyConnectedOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_FullyConnectedOff(self)

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

        Parameters
        ----------
        _arg: short

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_SetForegroundValue(self, _arg)

    def GetForegroundValue(self):
        r"""GetForegroundValue(self) -> short"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_GetForegroundValue(self)

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

        Parameters
        ----------
        _arg: short

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_SetBackgroundValue(self, _arg)

    def GetBackgroundValue(self):
        r"""GetBackgroundValue(self) -> short"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_GetBackgroundValue(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_SetFlatIsMaxima(self, _arg)

    def GetFlatIsMaxima(self):
        r"""GetFlatIsMaxima(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_GetFlatIsMaxima(self)

    def FlatIsMaximaOn(self):
        r"""FlatIsMaximaOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_FlatIsMaximaOn(self)

    def FlatIsMaximaOff(self):
        r"""FlatIsMaximaOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_FlatIsMaximaOff(self)
    InputHasPixelTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_InputHasPixelTraitsCheck
    
    InputHasNumericTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_InputHasNumericTraitsCheck
    
    __swig_destroy__ = _itkRegionalMaximaImageFilterPython.delete_itkRegionalMaximaImageFilterISS2ISS2

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

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

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_cast(obj)

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

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

          itkRegionalMaximaImageFilterISS2ISS2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkRegionalMaximaImageFilterISS2ISS2 in _itkRegionalMaximaImageFilterPython:
_itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS2ISS2_swigregister(itkRegionalMaximaImageFilterISS2ISS2)

def itkRegionalMaximaImageFilterISS3ISS3_New():
    return itkRegionalMaximaImageFilterISS3ISS3.New()

class itkRegionalMaximaImageFilterISS3ISS3(itk.itkImageToImageFilterAPython.itkImageToImageFilterISS3ISS3):
    r"""Proxy of C++ itkRegionalMaximaImageFilterISS3ISS3 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__() -> itkRegionalMaximaImageFilterISS3ISS3_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkRegionalMaximaImageFilterISS3ISS3_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_Clone(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_SetFullyConnected(self, _arg)

    def GetFullyConnected(self):
        r"""GetFullyConnected(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_GetFullyConnected(self)

    def FullyConnectedOn(self):
        r"""FullyConnectedOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_FullyConnectedOn(self)

    def FullyConnectedOff(self):
        r"""FullyConnectedOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_FullyConnectedOff(self)

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

        Parameters
        ----------
        _arg: short

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_SetForegroundValue(self, _arg)

    def GetForegroundValue(self):
        r"""GetForegroundValue(self) -> short"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_GetForegroundValue(self)

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

        Parameters
        ----------
        _arg: short

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_SetBackgroundValue(self, _arg)

    def GetBackgroundValue(self):
        r"""GetBackgroundValue(self) -> short"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_GetBackgroundValue(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_SetFlatIsMaxima(self, _arg)

    def GetFlatIsMaxima(self):
        r"""GetFlatIsMaxima(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_GetFlatIsMaxima(self)

    def FlatIsMaximaOn(self):
        r"""FlatIsMaximaOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_FlatIsMaximaOn(self)

    def FlatIsMaximaOff(self):
        r"""FlatIsMaximaOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_FlatIsMaximaOff(self)
    InputHasPixelTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_InputHasPixelTraitsCheck
    
    InputHasNumericTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_InputHasNumericTraitsCheck
    
    __swig_destroy__ = _itkRegionalMaximaImageFilterPython.delete_itkRegionalMaximaImageFilterISS3ISS3

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

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

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_cast(obj)

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

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

          itkRegionalMaximaImageFilterISS3ISS3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkRegionalMaximaImageFilterISS3ISS3 in _itkRegionalMaximaImageFilterPython:
_itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterISS3ISS3_swigregister(itkRegionalMaximaImageFilterISS3ISS3)

def itkRegionalMaximaImageFilterIUC2IUC2_New():
    return itkRegionalMaximaImageFilterIUC2IUC2.New()

class itkRegionalMaximaImageFilterIUC2IUC2(itk.itkImageToImageFilterAPython.itkImageToImageFilterIUC2IUC2):
    r"""Proxy of C++ itkRegionalMaximaImageFilterIUC2IUC2 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__() -> itkRegionalMaximaImageFilterIUC2IUC2_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkRegionalMaximaImageFilterIUC2IUC2_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_Clone(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_SetFullyConnected(self, _arg)

    def GetFullyConnected(self):
        r"""GetFullyConnected(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_GetFullyConnected(self)

    def FullyConnectedOn(self):
        r"""FullyConnectedOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_FullyConnectedOn(self)

    def FullyConnectedOff(self):
        r"""FullyConnectedOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_FullyConnectedOff(self)

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

        Parameters
        ----------
        _arg: unsigned char

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_SetForegroundValue(self, _arg)

    def GetForegroundValue(self):
        r"""GetForegroundValue(self) -> unsigned char"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_GetForegroundValue(self)

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

        Parameters
        ----------
        _arg: unsigned char

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_SetBackgroundValue(self, _arg)

    def GetBackgroundValue(self):
        r"""GetBackgroundValue(self) -> unsigned char"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_GetBackgroundValue(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_SetFlatIsMaxima(self, _arg)

    def GetFlatIsMaxima(self):
        r"""GetFlatIsMaxima(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_GetFlatIsMaxima(self)

    def FlatIsMaximaOn(self):
        r"""FlatIsMaximaOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_FlatIsMaximaOn(self)

    def FlatIsMaximaOff(self):
        r"""FlatIsMaximaOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_FlatIsMaximaOff(self)
    InputHasPixelTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_InputHasPixelTraitsCheck
    
    InputHasNumericTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_InputHasNumericTraitsCheck
    
    __swig_destroy__ = _itkRegionalMaximaImageFilterPython.delete_itkRegionalMaximaImageFilterIUC2IUC2

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

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

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_cast(obj)

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

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

          itkRegionalMaximaImageFilterIUC2IUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkRegionalMaximaImageFilterIUC2IUC2 in _itkRegionalMaximaImageFilterPython:
_itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC2IUC2_swigregister(itkRegionalMaximaImageFilterIUC2IUC2)

def itkRegionalMaximaImageFilterIUC3IUC3_New():
    return itkRegionalMaximaImageFilterIUC3IUC3.New()

class itkRegionalMaximaImageFilterIUC3IUC3(itk.itkImageToImageFilterAPython.itkImageToImageFilterIUC3IUC3):
    r"""Proxy of C++ itkRegionalMaximaImageFilterIUC3IUC3 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__() -> itkRegionalMaximaImageFilterIUC3IUC3_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkRegionalMaximaImageFilterIUC3IUC3_Pointer"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_Clone(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_SetFullyConnected(self, _arg)

    def GetFullyConnected(self):
        r"""GetFullyConnected(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_GetFullyConnected(self)

    def FullyConnectedOn(self):
        r"""FullyConnectedOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_FullyConnectedOn(self)

    def FullyConnectedOff(self):
        r"""FullyConnectedOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_FullyConnectedOff(self)

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

        Parameters
        ----------
        _arg: unsigned char

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_SetForegroundValue(self, _arg)

    def GetForegroundValue(self):
        r"""GetForegroundValue(self) -> unsigned char"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_GetForegroundValue(self)

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

        Parameters
        ----------
        _arg: unsigned char

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_SetBackgroundValue(self, _arg)

    def GetBackgroundValue(self):
        r"""GetBackgroundValue(self) -> unsigned char"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_GetBackgroundValue(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_SetFlatIsMaxima(self, _arg)

    def GetFlatIsMaxima(self):
        r"""GetFlatIsMaxima(self) -> bool"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_GetFlatIsMaxima(self)

    def FlatIsMaximaOn(self):
        r"""FlatIsMaximaOn(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_FlatIsMaximaOn(self)

    def FlatIsMaximaOff(self):
        r"""FlatIsMaximaOff(self)"""
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_FlatIsMaximaOff(self)
    InputHasPixelTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_InputHasPixelTraitsCheck
    
    InputHasNumericTraitsCheck = _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_InputHasNumericTraitsCheck
    
    __swig_destroy__ = _itkRegionalMaximaImageFilterPython.delete_itkRegionalMaximaImageFilterIUC3IUC3

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

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

        """
        return _itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_cast(obj)

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

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

          itkRegionalMaximaImageFilterIUC3IUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkRegionalMaximaImageFilterIUC3IUC3 in _itkRegionalMaximaImageFilterPython:
_itkRegionalMaximaImageFilterPython.itkRegionalMaximaImageFilterIUC3IUC3_swigregister(itkRegionalMaximaImageFilterIUC3IUC3)

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

@helpers.accept_array_like_xarray_torch
def regional_maxima_image_filter(*args: itkt.ImageLike,  fully_connected: bool=..., foreground_value: int=..., background_value: int=..., flat_is_maxima: bool=...,**kwargs)-> itkt.ImageSourceReturn:
    """Functional interface for RegionalMaximaImageFilter"""
    import itk

    kwarg_typehints = { 'fully_connected':fully_connected,'foreground_value':foreground_value,'background_value':background_value,'flat_is_maxima':flat_is_maxima }
    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.RegionalMaximaImageFilter.New(*args, **kwargs)

    return instance.__internal_call__()

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

    filter_class = itk.ITKMathematicalMorphology.RegionalMaximaImageFilter
    regional_maxima_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

    regional_maxima_image_filter.__doc__ = filter_object.__doc__



