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



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 _itkConvolutionImageFilterBasePython
else:
    import _itkConvolutionImageFilterBasePython

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

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ConvolutionImageFilterOutputRegion_SAME = _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseEnums_ConvolutionImageFilterOutputRegion_SAME
    
    ConvolutionImageFilterOutputRegion_VALID = _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseEnums_ConvolutionImageFilterOutputRegion_VALID
    

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

        Parameters
        ----------
        arg0: itkConvolutionImageFilterBaseEnums const &

        """
        _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseEnums_swiginit(self, _itkConvolutionImageFilterBasePython.new_itkConvolutionImageFilterBaseEnums(*args))
    __swig_destroy__ = _itkConvolutionImageFilterBasePython.delete_itkConvolutionImageFilterBaseEnums

# Register itkConvolutionImageFilterBaseEnums in _itkConvolutionImageFilterBasePython:
_itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseEnums_swigregister(itkConvolutionImageFilterBaseEnums)
class itkConvolutionImageFilterBaseIF2IF2(itk.itkImageToImageFilterAPython.itkImageToImageFilterIF2IF2):
    r"""Proxy of C++ itkConvolutionImageFilterBaseIF2IF2 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

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

        Parameters
        ----------
        _arg: itkImageBoundaryConditionIF2 *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_SetBoundaryCondition(self, _arg)

    def GetBoundaryCondition(self):
        r"""GetBoundaryCondition(self) -> itkImageBoundaryConditionIF2"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_GetBoundaryCondition(self)

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

        Parameters
        ----------
        _arg: itkImageF2 const *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_SetKernelImage(self, _arg)

    def GetKernelImage(self):
        r"""GetKernelImage(self) -> itkImageF2"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_GetKernelImage(self)

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_SetNormalize(self, _arg)

    def GetNormalize(self):
        r"""GetNormalize(self) -> bool"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_GetNormalize(self)

    def NormalizeOn(self):
        r"""NormalizeOn(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_NormalizeOn(self)

    def NormalizeOff(self):
        r"""NormalizeOff(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_NormalizeOff(self)

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

        Parameters
        ----------
        _arg: enum itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion const

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_SetOutputRegionMode(self, _arg)

    def GetOutputRegionMode(self):
        r"""GetOutputRegionMode(self) -> itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_GetOutputRegionMode(self)

    def SetOutputRegionModeToSame(self):
        r"""SetOutputRegionModeToSame(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_SetOutputRegionModeToSame(self)

    def SetOutputRegionModeToValid(self):
        r"""SetOutputRegionModeToValid(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_SetOutputRegionModeToValid(self)
    __swig_destroy__ = _itkConvolutionImageFilterBasePython.delete_itkConvolutionImageFilterBaseIF2IF2

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_cast(obj)

# Register itkConvolutionImageFilterBaseIF2IF2 in _itkConvolutionImageFilterBasePython:
_itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF2IF2_swigregister(itkConvolutionImageFilterBaseIF2IF2)
class itkConvolutionImageFilterBaseIF3IF3(itk.itkImageToImageFilterAPython.itkImageToImageFilterIF3IF3):
    r"""Proxy of C++ itkConvolutionImageFilterBaseIF3IF3 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

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

        Parameters
        ----------
        _arg: itkImageBoundaryConditionIF3 *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_SetBoundaryCondition(self, _arg)

    def GetBoundaryCondition(self):
        r"""GetBoundaryCondition(self) -> itkImageBoundaryConditionIF3"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_GetBoundaryCondition(self)

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

        Parameters
        ----------
        _arg: itkImageF3 const *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_SetKernelImage(self, _arg)

    def GetKernelImage(self):
        r"""GetKernelImage(self) -> itkImageF3"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_GetKernelImage(self)

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_SetNormalize(self, _arg)

    def GetNormalize(self):
        r"""GetNormalize(self) -> bool"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_GetNormalize(self)

    def NormalizeOn(self):
        r"""NormalizeOn(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_NormalizeOn(self)

    def NormalizeOff(self):
        r"""NormalizeOff(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_NormalizeOff(self)

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

        Parameters
        ----------
        _arg: enum itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion const

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_SetOutputRegionMode(self, _arg)

    def GetOutputRegionMode(self):
        r"""GetOutputRegionMode(self) -> itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_GetOutputRegionMode(self)

    def SetOutputRegionModeToSame(self):
        r"""SetOutputRegionModeToSame(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_SetOutputRegionModeToSame(self)

    def SetOutputRegionModeToValid(self):
        r"""SetOutputRegionModeToValid(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_SetOutputRegionModeToValid(self)
    __swig_destroy__ = _itkConvolutionImageFilterBasePython.delete_itkConvolutionImageFilterBaseIF3IF3

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_cast(obj)

# Register itkConvolutionImageFilterBaseIF3IF3 in _itkConvolutionImageFilterBasePython:
_itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIF3IF3_swigregister(itkConvolutionImageFilterBaseIF3IF3)
class itkConvolutionImageFilterBaseISS2ISS2(itk.itkImageToImageFilterAPython.itkImageToImageFilterISS2ISS2):
    r"""Proxy of C++ itkConvolutionImageFilterBaseISS2ISS2 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

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

        Parameters
        ----------
        _arg: itkImageBoundaryConditionISS2 *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_SetBoundaryCondition(self, _arg)

    def GetBoundaryCondition(self):
        r"""GetBoundaryCondition(self) -> itkImageBoundaryConditionISS2"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_GetBoundaryCondition(self)

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

        Parameters
        ----------
        _arg: itkImageSS2 const *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_SetKernelImage(self, _arg)

    def GetKernelImage(self):
        r"""GetKernelImage(self) -> itkImageSS2"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_GetKernelImage(self)

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_SetNormalize(self, _arg)

    def GetNormalize(self):
        r"""GetNormalize(self) -> bool"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_GetNormalize(self)

    def NormalizeOn(self):
        r"""NormalizeOn(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_NormalizeOn(self)

    def NormalizeOff(self):
        r"""NormalizeOff(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_NormalizeOff(self)

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

        Parameters
        ----------
        _arg: enum itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion const

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_SetOutputRegionMode(self, _arg)

    def GetOutputRegionMode(self):
        r"""GetOutputRegionMode(self) -> itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_GetOutputRegionMode(self)

    def SetOutputRegionModeToSame(self):
        r"""SetOutputRegionModeToSame(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_SetOutputRegionModeToSame(self)

    def SetOutputRegionModeToValid(self):
        r"""SetOutputRegionModeToValid(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_SetOutputRegionModeToValid(self)
    __swig_destroy__ = _itkConvolutionImageFilterBasePython.delete_itkConvolutionImageFilterBaseISS2ISS2

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_cast(obj)

# Register itkConvolutionImageFilterBaseISS2ISS2 in _itkConvolutionImageFilterBasePython:
_itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS2ISS2_swigregister(itkConvolutionImageFilterBaseISS2ISS2)
class itkConvolutionImageFilterBaseISS3ISS3(itk.itkImageToImageFilterAPython.itkImageToImageFilterISS3ISS3):
    r"""Proxy of C++ itkConvolutionImageFilterBaseISS3ISS3 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

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

        Parameters
        ----------
        _arg: itkImageBoundaryConditionISS3 *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_SetBoundaryCondition(self, _arg)

    def GetBoundaryCondition(self):
        r"""GetBoundaryCondition(self) -> itkImageBoundaryConditionISS3"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_GetBoundaryCondition(self)

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

        Parameters
        ----------
        _arg: itkImageSS3 const *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_SetKernelImage(self, _arg)

    def GetKernelImage(self):
        r"""GetKernelImage(self) -> itkImageSS3"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_GetKernelImage(self)

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_SetNormalize(self, _arg)

    def GetNormalize(self):
        r"""GetNormalize(self) -> bool"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_GetNormalize(self)

    def NormalizeOn(self):
        r"""NormalizeOn(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_NormalizeOn(self)

    def NormalizeOff(self):
        r"""NormalizeOff(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_NormalizeOff(self)

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

        Parameters
        ----------
        _arg: enum itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion const

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_SetOutputRegionMode(self, _arg)

    def GetOutputRegionMode(self):
        r"""GetOutputRegionMode(self) -> itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_GetOutputRegionMode(self)

    def SetOutputRegionModeToSame(self):
        r"""SetOutputRegionModeToSame(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_SetOutputRegionModeToSame(self)

    def SetOutputRegionModeToValid(self):
        r"""SetOutputRegionModeToValid(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_SetOutputRegionModeToValid(self)
    __swig_destroy__ = _itkConvolutionImageFilterBasePython.delete_itkConvolutionImageFilterBaseISS3ISS3

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_cast(obj)

# Register itkConvolutionImageFilterBaseISS3ISS3 in _itkConvolutionImageFilterBasePython:
_itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseISS3ISS3_swigregister(itkConvolutionImageFilterBaseISS3ISS3)
class itkConvolutionImageFilterBaseIUC2IUC2(itk.itkImageToImageFilterAPython.itkImageToImageFilterIUC2IUC2):
    r"""Proxy of C++ itkConvolutionImageFilterBaseIUC2IUC2 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

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

        Parameters
        ----------
        _arg: itkImageBoundaryConditionIUC2 *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_SetBoundaryCondition(self, _arg)

    def GetBoundaryCondition(self):
        r"""GetBoundaryCondition(self) -> itkImageBoundaryConditionIUC2"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_GetBoundaryCondition(self)

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

        Parameters
        ----------
        _arg: itkImageUC2 const *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_SetKernelImage(self, _arg)

    def GetKernelImage(self):
        r"""GetKernelImage(self) -> itkImageUC2"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_GetKernelImage(self)

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_SetNormalize(self, _arg)

    def GetNormalize(self):
        r"""GetNormalize(self) -> bool"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_GetNormalize(self)

    def NormalizeOn(self):
        r"""NormalizeOn(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_NormalizeOn(self)

    def NormalizeOff(self):
        r"""NormalizeOff(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_NormalizeOff(self)

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

        Parameters
        ----------
        _arg: enum itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion const

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_SetOutputRegionMode(self, _arg)

    def GetOutputRegionMode(self):
        r"""GetOutputRegionMode(self) -> itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_GetOutputRegionMode(self)

    def SetOutputRegionModeToSame(self):
        r"""SetOutputRegionModeToSame(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_SetOutputRegionModeToSame(self)

    def SetOutputRegionModeToValid(self):
        r"""SetOutputRegionModeToValid(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_SetOutputRegionModeToValid(self)
    __swig_destroy__ = _itkConvolutionImageFilterBasePython.delete_itkConvolutionImageFilterBaseIUC2IUC2

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_cast(obj)

# Register itkConvolutionImageFilterBaseIUC2IUC2 in _itkConvolutionImageFilterBasePython:
_itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC2IUC2_swigregister(itkConvolutionImageFilterBaseIUC2IUC2)
class itkConvolutionImageFilterBaseIUC3IUC3(itk.itkImageToImageFilterAPython.itkImageToImageFilterIUC3IUC3):
    r"""Proxy of C++ itkConvolutionImageFilterBaseIUC3IUC3 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

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

        Parameters
        ----------
        _arg: itkImageBoundaryConditionIUC3 *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_SetBoundaryCondition(self, _arg)

    def GetBoundaryCondition(self):
        r"""GetBoundaryCondition(self) -> itkImageBoundaryConditionIUC3"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_GetBoundaryCondition(self)

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

        Parameters
        ----------
        _arg: itkImageUC3 const *

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_SetKernelImage(self, _arg)

    def GetKernelImage(self):
        r"""GetKernelImage(self) -> itkImageUC3"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_GetKernelImage(self)

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_SetNormalize(self, _arg)

    def GetNormalize(self):
        r"""GetNormalize(self) -> bool"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_GetNormalize(self)

    def NormalizeOn(self):
        r"""NormalizeOn(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_NormalizeOn(self)

    def NormalizeOff(self):
        r"""NormalizeOff(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_NormalizeOff(self)

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

        Parameters
        ----------
        _arg: enum itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion const

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_SetOutputRegionMode(self, _arg)

    def GetOutputRegionMode(self):
        r"""GetOutputRegionMode(self) -> itkConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_GetOutputRegionMode(self)

    def SetOutputRegionModeToSame(self):
        r"""SetOutputRegionModeToSame(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_SetOutputRegionModeToSame(self)

    def SetOutputRegionModeToValid(self):
        r"""SetOutputRegionModeToValid(self)"""
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_SetOutputRegionModeToValid(self)
    __swig_destroy__ = _itkConvolutionImageFilterBasePython.delete_itkConvolutionImageFilterBaseIUC3IUC3

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

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

        """
        return _itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_cast(obj)

# Register itkConvolutionImageFilterBaseIUC3IUC3 in _itkConvolutionImageFilterBasePython:
_itkConvolutionImageFilterBasePython.itkConvolutionImageFilterBaseIUC3IUC3_swigregister(itkConvolutionImageFilterBaseIUC3IUC3)

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

@helpers.accept_array_like_xarray_torch
def convolution_image_filter_base(*args: itkt.ImageLike,  boundary_condition: itkt.ImageBoundaryCondition=..., kernel_image: itkt.Image=..., normalize: bool=..., output_region_mode=...,**kwargs)-> itkt.ImageSourceReturn:
    """Functional interface for ConvolutionImageFilterBase"""
    import itk

    kwarg_typehints = { 'boundary_condition':boundary_condition,'kernel_image':kernel_image,'normalize':normalize,'output_region_mode':output_region_mode }
    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.ConvolutionImageFilterBase.New(*args, **kwargs)

    return instance.__internal_call__()

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

    filter_class = itk.ITKConvolution.ConvolutionImageFilterBase
    convolution_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

    convolution_image_filter_base.__doc__ = filter_object.__doc__



