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


import collections

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

from . import _ITKCommonPython


from . import _ITKCommonPython



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

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.itkFixedArrayPython
import itk.pyBasePython
class itkRGBAPixelD(itk.itkFixedArrayPython.itkFixedArrayD4):
    r"""Proxy of C++ itkRGBAPixelD class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __add__(self, r):
        r"""
        __add__(self, r) -> itkRGBAPixelD

        Parameters
        ----------
        r: itkRGBAPixelD const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelD___add__(self, r)

    def __sub__(self, r):
        r"""
        __sub__(self, r) -> itkRGBAPixelD

        Parameters
        ----------
        r: itkRGBAPixelD const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelD___sub__(self, r)

    def __mul__(self, r):
        r"""
        __mul__(self, r) -> itkRGBAPixelD

        Parameters
        ----------
        r: double const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelD___mul__(self, r)

    def __truediv__(self, *args):
        return _itkRGBAPixelPython.itkRGBAPixelD___truediv__(self, *args)
    __div__ = __truediv__



    def __iadd__(self, r):
        r"""
        __iadd__(self, r) -> itkRGBAPixelD

        Parameters
        ----------
        r: itkRGBAPixelD const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelD___iadd__(self, r)

    def __isub__(self, r):
        r"""
        __isub__(self, r) -> itkRGBAPixelD

        Parameters
        ----------
        r: itkRGBAPixelD const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelD___isub__(self, r)

    def __imul__(self, r):
        r"""
        __imul__(self, r) -> itkRGBAPixelD

        Parameters
        ----------
        r: double const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelD___imul__(self, r)

    def __itruediv__(self, *args):
        return _itkRGBAPixelPython.itkRGBAPixelD___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __lt__(self, r):
        r"""
        __lt__(self, r) -> bool

        Parameters
        ----------
        r: itkRGBAPixelD const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelD___lt__(self, r)

    def __eq__(self, r):
        r"""
        __eq__(self, r) -> bool

        Parameters
        ----------
        r: itkRGBAPixelD const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelD___eq__(self, r)

    @staticmethod
    def GetNumberOfComponents():
        r"""GetNumberOfComponents() -> unsigned int"""
        return _itkRGBAPixelPython.itkRGBAPixelD_GetNumberOfComponents()

    def GetNthComponent(self, c):
        r"""
        GetNthComponent(self, c) -> double

        Parameters
        ----------
        c: int

        """
        return _itkRGBAPixelPython.itkRGBAPixelD_GetNthComponent(self, c)

    def GetScalarValue(self):
        r"""GetScalarValue(self) -> double"""
        return _itkRGBAPixelPython.itkRGBAPixelD_GetScalarValue(self)

    def SetNthComponent(self, c, v):
        r"""
        SetNthComponent(self, c, v)

        Parameters
        ----------
        c: int
        v: double const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelD_SetNthComponent(self, c, v)

    def SetRed(self, red):
        r"""
        SetRed(self, red)

        Parameters
        ----------
        red: double

        """
        return _itkRGBAPixelPython.itkRGBAPixelD_SetRed(self, red)

    def SetGreen(self, green):
        r"""
        SetGreen(self, green)

        Parameters
        ----------
        green: double

        """
        return _itkRGBAPixelPython.itkRGBAPixelD_SetGreen(self, green)

    def SetBlue(self, blue):
        r"""
        SetBlue(self, blue)

        Parameters
        ----------
        blue: double

        """
        return _itkRGBAPixelPython.itkRGBAPixelD_SetBlue(self, blue)

    def SetAlpha(self, alpha):
        r"""
        SetAlpha(self, alpha)

        Parameters
        ----------
        alpha: double

        """
        return _itkRGBAPixelPython.itkRGBAPixelD_SetAlpha(self, alpha)

    def Set(self, red, green, blue, alpha):
        r"""
        Set(self, red, green, blue, alpha)

        Parameters
        ----------
        red: double
        green: double
        blue: double
        alpha: double

        """
        return _itkRGBAPixelPython.itkRGBAPixelD_Set(self, red, green, blue, alpha)

    def GetRed(self):
        r"""GetRed(self) -> double const &"""
        return _itkRGBAPixelPython.itkRGBAPixelD_GetRed(self)

    def GetGreen(self):
        r"""GetGreen(self) -> double const &"""
        return _itkRGBAPixelPython.itkRGBAPixelD_GetGreen(self)

    def GetBlue(self):
        r"""GetBlue(self) -> double const &"""
        return _itkRGBAPixelPython.itkRGBAPixelD_GetBlue(self)

    def GetAlpha(self):
        r"""GetAlpha(self) -> double const &"""
        return _itkRGBAPixelPython.itkRGBAPixelD_GetAlpha(self)

    def GetLuminance(self):
        r"""GetLuminance(self) -> double"""
        return _itkRGBAPixelPython.itkRGBAPixelD_GetLuminance(self)

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

        Parameters
        ----------
        r: double const *

        __init__(self, r) -> itkRGBAPixelD

        Parameters
        ----------
        r: double const &

        __init__(self, arg0) -> itkRGBAPixelD

        Parameters
        ----------
        arg0: itkRGBAPixelD const &

        """
        _itkRGBAPixelPython.itkRGBAPixelD_swiginit(self, _itkRGBAPixelPython.new_itkRGBAPixelD(*args))
    __swig_destroy__ = _itkRGBAPixelPython.delete_itkRGBAPixelD

    def __getitem__(self, dim):
        r"""
        __getitem__(self, dim) -> double

        Parameters
        ----------
        dim: unsigned long

        """
        return _itkRGBAPixelPython.itkRGBAPixelD___getitem__(self, dim)

    def __setitem__(self, dim, v):
        r"""
        __setitem__(self, dim, v)

        Parameters
        ----------
        dim: unsigned long
        v: double

        """
        return _itkRGBAPixelPython.itkRGBAPixelD___setitem__(self, dim, v)

    def __len__(self):
        r"""__len__(self) -> unsigned int"""
        return _itkRGBAPixelPython.itkRGBAPixelD___len__(self)

    def __repr__(self):
        r"""__repr__(self) -> std::string"""
        return _itkRGBAPixelPython.itkRGBAPixelD___repr__(self)

# Register itkRGBAPixelD in _itkRGBAPixelPython:
_itkRGBAPixelPython.itkRGBAPixelD_swigregister(itkRGBAPixelD)
class itkRGBAPixelF(itk.itkFixedArrayPython.itkFixedArrayF4):
    r"""Proxy of C++ itkRGBAPixelF class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __add__(self, r):
        r"""
        __add__(self, r) -> itkRGBAPixelF

        Parameters
        ----------
        r: itkRGBAPixelF const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelF___add__(self, r)

    def __sub__(self, r):
        r"""
        __sub__(self, r) -> itkRGBAPixelF

        Parameters
        ----------
        r: itkRGBAPixelF const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelF___sub__(self, r)

    def __mul__(self, r):
        r"""
        __mul__(self, r) -> itkRGBAPixelF

        Parameters
        ----------
        r: float const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelF___mul__(self, r)

    def __truediv__(self, *args):
        return _itkRGBAPixelPython.itkRGBAPixelF___truediv__(self, *args)
    __div__ = __truediv__



    def __iadd__(self, r):
        r"""
        __iadd__(self, r) -> itkRGBAPixelF

        Parameters
        ----------
        r: itkRGBAPixelF const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelF___iadd__(self, r)

    def __isub__(self, r):
        r"""
        __isub__(self, r) -> itkRGBAPixelF

        Parameters
        ----------
        r: itkRGBAPixelF const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelF___isub__(self, r)

    def __imul__(self, r):
        r"""
        __imul__(self, r) -> itkRGBAPixelF

        Parameters
        ----------
        r: float const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelF___imul__(self, r)

    def __itruediv__(self, *args):
        return _itkRGBAPixelPython.itkRGBAPixelF___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __lt__(self, r):
        r"""
        __lt__(self, r) -> bool

        Parameters
        ----------
        r: itkRGBAPixelF const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelF___lt__(self, r)

    def __eq__(self, r):
        r"""
        __eq__(self, r) -> bool

        Parameters
        ----------
        r: itkRGBAPixelF const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelF___eq__(self, r)

    @staticmethod
    def GetNumberOfComponents():
        r"""GetNumberOfComponents() -> unsigned int"""
        return _itkRGBAPixelPython.itkRGBAPixelF_GetNumberOfComponents()

    def GetNthComponent(self, c):
        r"""
        GetNthComponent(self, c) -> float

        Parameters
        ----------
        c: int

        """
        return _itkRGBAPixelPython.itkRGBAPixelF_GetNthComponent(self, c)

    def GetScalarValue(self):
        r"""GetScalarValue(self) -> float"""
        return _itkRGBAPixelPython.itkRGBAPixelF_GetScalarValue(self)

    def SetNthComponent(self, c, v):
        r"""
        SetNthComponent(self, c, v)

        Parameters
        ----------
        c: int
        v: float const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelF_SetNthComponent(self, c, v)

    def SetRed(self, red):
        r"""
        SetRed(self, red)

        Parameters
        ----------
        red: float

        """
        return _itkRGBAPixelPython.itkRGBAPixelF_SetRed(self, red)

    def SetGreen(self, green):
        r"""
        SetGreen(self, green)

        Parameters
        ----------
        green: float

        """
        return _itkRGBAPixelPython.itkRGBAPixelF_SetGreen(self, green)

    def SetBlue(self, blue):
        r"""
        SetBlue(self, blue)

        Parameters
        ----------
        blue: float

        """
        return _itkRGBAPixelPython.itkRGBAPixelF_SetBlue(self, blue)

    def SetAlpha(self, alpha):
        r"""
        SetAlpha(self, alpha)

        Parameters
        ----------
        alpha: float

        """
        return _itkRGBAPixelPython.itkRGBAPixelF_SetAlpha(self, alpha)

    def Set(self, red, green, blue, alpha):
        r"""
        Set(self, red, green, blue, alpha)

        Parameters
        ----------
        red: float
        green: float
        blue: float
        alpha: float

        """
        return _itkRGBAPixelPython.itkRGBAPixelF_Set(self, red, green, blue, alpha)

    def GetRed(self):
        r"""GetRed(self) -> float const &"""
        return _itkRGBAPixelPython.itkRGBAPixelF_GetRed(self)

    def GetGreen(self):
        r"""GetGreen(self) -> float const &"""
        return _itkRGBAPixelPython.itkRGBAPixelF_GetGreen(self)

    def GetBlue(self):
        r"""GetBlue(self) -> float const &"""
        return _itkRGBAPixelPython.itkRGBAPixelF_GetBlue(self)

    def GetAlpha(self):
        r"""GetAlpha(self) -> float const &"""
        return _itkRGBAPixelPython.itkRGBAPixelF_GetAlpha(self)

    def GetLuminance(self):
        r"""GetLuminance(self) -> double"""
        return _itkRGBAPixelPython.itkRGBAPixelF_GetLuminance(self)

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

        Parameters
        ----------
        r: float const *

        __init__(self, r) -> itkRGBAPixelF

        Parameters
        ----------
        r: float const &

        __init__(self, arg0) -> itkRGBAPixelF

        Parameters
        ----------
        arg0: itkRGBAPixelF const &

        """
        _itkRGBAPixelPython.itkRGBAPixelF_swiginit(self, _itkRGBAPixelPython.new_itkRGBAPixelF(*args))
    __swig_destroy__ = _itkRGBAPixelPython.delete_itkRGBAPixelF

    def __getitem__(self, dim):
        r"""
        __getitem__(self, dim) -> float

        Parameters
        ----------
        dim: unsigned long

        """
        return _itkRGBAPixelPython.itkRGBAPixelF___getitem__(self, dim)

    def __setitem__(self, dim, v):
        r"""
        __setitem__(self, dim, v)

        Parameters
        ----------
        dim: unsigned long
        v: float

        """
        return _itkRGBAPixelPython.itkRGBAPixelF___setitem__(self, dim, v)

    def __len__(self):
        r"""__len__(self) -> unsigned int"""
        return _itkRGBAPixelPython.itkRGBAPixelF___len__(self)

    def __repr__(self):
        r"""__repr__(self) -> std::string"""
        return _itkRGBAPixelPython.itkRGBAPixelF___repr__(self)

# Register itkRGBAPixelF in _itkRGBAPixelPython:
_itkRGBAPixelPython.itkRGBAPixelF_swigregister(itkRGBAPixelF)
class itkRGBAPixelUC(itk.itkFixedArrayPython.itkFixedArrayUC4):
    r"""Proxy of C++ itkRGBAPixelUC class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __add__(self, r):
        r"""
        __add__(self, r) -> itkRGBAPixelUC

        Parameters
        ----------
        r: itkRGBAPixelUC const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC___add__(self, r)

    def __sub__(self, r):
        r"""
        __sub__(self, r) -> itkRGBAPixelUC

        Parameters
        ----------
        r: itkRGBAPixelUC const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC___sub__(self, r)

    def __mul__(self, r):
        r"""
        __mul__(self, r) -> itkRGBAPixelUC

        Parameters
        ----------
        r: unsigned char const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC___mul__(self, r)

    def __truediv__(self, *args):
        return _itkRGBAPixelPython.itkRGBAPixelUC___truediv__(self, *args)
    __div__ = __truediv__



    def __iadd__(self, r):
        r"""
        __iadd__(self, r) -> itkRGBAPixelUC

        Parameters
        ----------
        r: itkRGBAPixelUC const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC___iadd__(self, r)

    def __isub__(self, r):
        r"""
        __isub__(self, r) -> itkRGBAPixelUC

        Parameters
        ----------
        r: itkRGBAPixelUC const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC___isub__(self, r)

    def __imul__(self, r):
        r"""
        __imul__(self, r) -> itkRGBAPixelUC

        Parameters
        ----------
        r: unsigned char const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC___imul__(self, r)

    def __itruediv__(self, *args):
        return _itkRGBAPixelPython.itkRGBAPixelUC___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __lt__(self, r):
        r"""
        __lt__(self, r) -> bool

        Parameters
        ----------
        r: itkRGBAPixelUC const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC___lt__(self, r)

    def __eq__(self, r):
        r"""
        __eq__(self, r) -> bool

        Parameters
        ----------
        r: itkRGBAPixelUC const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC___eq__(self, r)

    @staticmethod
    def GetNumberOfComponents():
        r"""GetNumberOfComponents() -> unsigned int"""
        return _itkRGBAPixelPython.itkRGBAPixelUC_GetNumberOfComponents()

    def GetNthComponent(self, c):
        r"""
        GetNthComponent(self, c) -> unsigned char

        Parameters
        ----------
        c: int

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC_GetNthComponent(self, c)

    def GetScalarValue(self):
        r"""GetScalarValue(self) -> unsigned char"""
        return _itkRGBAPixelPython.itkRGBAPixelUC_GetScalarValue(self)

    def SetNthComponent(self, c, v):
        r"""
        SetNthComponent(self, c, v)

        Parameters
        ----------
        c: int
        v: unsigned char const &

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC_SetNthComponent(self, c, v)

    def SetRed(self, red):
        r"""
        SetRed(self, red)

        Parameters
        ----------
        red: unsigned char

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC_SetRed(self, red)

    def SetGreen(self, green):
        r"""
        SetGreen(self, green)

        Parameters
        ----------
        green: unsigned char

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC_SetGreen(self, green)

    def SetBlue(self, blue):
        r"""
        SetBlue(self, blue)

        Parameters
        ----------
        blue: unsigned char

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC_SetBlue(self, blue)

    def SetAlpha(self, alpha):
        r"""
        SetAlpha(self, alpha)

        Parameters
        ----------
        alpha: unsigned char

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC_SetAlpha(self, alpha)

    def Set(self, red, green, blue, alpha):
        r"""
        Set(self, red, green, blue, alpha)

        Parameters
        ----------
        red: unsigned char
        green: unsigned char
        blue: unsigned char
        alpha: unsigned char

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC_Set(self, red, green, blue, alpha)

    def GetRed(self):
        r"""GetRed(self) -> unsigned char const &"""
        return _itkRGBAPixelPython.itkRGBAPixelUC_GetRed(self)

    def GetGreen(self):
        r"""GetGreen(self) -> unsigned char const &"""
        return _itkRGBAPixelPython.itkRGBAPixelUC_GetGreen(self)

    def GetBlue(self):
        r"""GetBlue(self) -> unsigned char const &"""
        return _itkRGBAPixelPython.itkRGBAPixelUC_GetBlue(self)

    def GetAlpha(self):
        r"""GetAlpha(self) -> unsigned char const &"""
        return _itkRGBAPixelPython.itkRGBAPixelUC_GetAlpha(self)

    def GetLuminance(self):
        r"""GetLuminance(self) -> double"""
        return _itkRGBAPixelPython.itkRGBAPixelUC_GetLuminance(self)

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

        Parameters
        ----------
        r: unsigned char const *

        __init__(self, r) -> itkRGBAPixelUC

        Parameters
        ----------
        r: unsigned char const &

        __init__(self, arg0) -> itkRGBAPixelUC

        Parameters
        ----------
        arg0: itkRGBAPixelUC const &

        """
        _itkRGBAPixelPython.itkRGBAPixelUC_swiginit(self, _itkRGBAPixelPython.new_itkRGBAPixelUC(*args))
    __swig_destroy__ = _itkRGBAPixelPython.delete_itkRGBAPixelUC

    def __getitem__(self, dim):
        r"""
        __getitem__(self, dim) -> unsigned char

        Parameters
        ----------
        dim: unsigned long

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC___getitem__(self, dim)

    def __setitem__(self, dim, v):
        r"""
        __setitem__(self, dim, v)

        Parameters
        ----------
        dim: unsigned long
        v: unsigned char

        """
        return _itkRGBAPixelPython.itkRGBAPixelUC___setitem__(self, dim, v)

    def __len__(self):
        r"""__len__(self) -> unsigned int"""
        return _itkRGBAPixelPython.itkRGBAPixelUC___len__(self)

    def __repr__(self):
        r"""__repr__(self) -> std::string"""
        return _itkRGBAPixelPython.itkRGBAPixelUC___repr__(self)

# Register itkRGBAPixelUC in _itkRGBAPixelPython:
_itkRGBAPixelPython.itkRGBAPixelUC_swigregister(itkRGBAPixelUC)

