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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _itkArrayPython.SWIG_PyInstanceMethod_New
_swig_new_static_method = _itkArrayPython.SWIG_PyStaticMethod_New

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__)


import vnl_vectorPython
import vnl_matrixPython
import stdcomplexPython
import pyBasePython
class itkArrayD(vnl_vectorPython.vnl_vectorD):
    r"""Proxy of C++ itkArrayD class."""

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

    def __init__(self, *args):
        r"""
        __init__(itkArrayD self) -> itkArrayD
        __init__(itkArrayD self, itkArrayD arg0) -> itkArrayD
        __init__(itkArrayD self, unsigned long dimension) -> itkArrayD
        __init__(itkArrayD self, double * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArrayD
        __init__(itkArrayD self, double const * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArrayD
        """
        _itkArrayPython.itkArrayD_swiginit(self, _itkArrayPython.new_itkArrayD(*args))
    Fill = _swig_new_instance_method(_itkArrayPython.itkArrayD_Fill)
    Size = _swig_new_instance_method(_itkArrayPython.itkArrayD_Size)
    GetNumberOfElements = _swig_new_instance_method(_itkArrayPython.itkArrayD_GetNumberOfElements)
    GetElement = _swig_new_instance_method(_itkArrayPython.itkArrayD_GetElement)
    SetElement = _swig_new_instance_method(_itkArrayPython.itkArrayD_SetElement)
    SetSize = _swig_new_instance_method(_itkArrayPython.itkArrayD_SetSize)
    GetSize = _swig_new_instance_method(_itkArrayPython.itkArrayD_GetSize)
    SetDataSameSize = _swig_new_instance_method(_itkArrayPython.itkArrayD_SetDataSameSize)
    SetData = _swig_new_instance_method(_itkArrayPython.itkArrayD_SetData)
    __swig_destroy__ = _itkArrayPython.delete_itkArrayD
    swap = _swig_new_instance_method(_itkArrayPython.itkArrayD_swap)
    Swap = _swig_new_instance_method(_itkArrayPython.itkArrayD_Swap)
    __getitem__ = _swig_new_instance_method(_itkArrayPython.itkArrayD___getitem__)
    __setitem__ = _swig_new_instance_method(_itkArrayPython.itkArrayD___setitem__)
    __len__ = _swig_new_instance_method(_itkArrayPython.itkArrayD___len__)
    __repr__ = _swig_new_instance_method(_itkArrayPython.itkArrayD___repr__)

# Register itkArrayD in _itkArrayPython:
_itkArrayPython.itkArrayD_swigregister(itkArrayD)
class itkArrayF(vnl_vectorPython.vnl_vectorF):
    r"""Proxy of C++ itkArrayF class."""

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

    def __init__(self, *args):
        r"""
        __init__(itkArrayF self) -> itkArrayF
        __init__(itkArrayF self, itkArrayF arg0) -> itkArrayF
        __init__(itkArrayF self, unsigned long dimension) -> itkArrayF
        __init__(itkArrayF self, float * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArrayF
        __init__(itkArrayF self, float const * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArrayF
        """
        _itkArrayPython.itkArrayF_swiginit(self, _itkArrayPython.new_itkArrayF(*args))
    Fill = _swig_new_instance_method(_itkArrayPython.itkArrayF_Fill)
    Size = _swig_new_instance_method(_itkArrayPython.itkArrayF_Size)
    GetNumberOfElements = _swig_new_instance_method(_itkArrayPython.itkArrayF_GetNumberOfElements)
    GetElement = _swig_new_instance_method(_itkArrayPython.itkArrayF_GetElement)
    SetElement = _swig_new_instance_method(_itkArrayPython.itkArrayF_SetElement)
    SetSize = _swig_new_instance_method(_itkArrayPython.itkArrayF_SetSize)
    GetSize = _swig_new_instance_method(_itkArrayPython.itkArrayF_GetSize)
    SetDataSameSize = _swig_new_instance_method(_itkArrayPython.itkArrayF_SetDataSameSize)
    SetData = _swig_new_instance_method(_itkArrayPython.itkArrayF_SetData)
    __swig_destroy__ = _itkArrayPython.delete_itkArrayF
    swap = _swig_new_instance_method(_itkArrayPython.itkArrayF_swap)
    Swap = _swig_new_instance_method(_itkArrayPython.itkArrayF_Swap)
    __getitem__ = _swig_new_instance_method(_itkArrayPython.itkArrayF___getitem__)
    __setitem__ = _swig_new_instance_method(_itkArrayPython.itkArrayF___setitem__)
    __len__ = _swig_new_instance_method(_itkArrayPython.itkArrayF___len__)
    __repr__ = _swig_new_instance_method(_itkArrayPython.itkArrayF___repr__)

# Register itkArrayF in _itkArrayPython:
_itkArrayPython.itkArrayF_swigregister(itkArrayF)
class itkArraySL(vnl_vectorPython.vnl_vectorSL):
    r"""Proxy of C++ itkArraySL class."""

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

    def __init__(self, *args):
        r"""
        __init__(itkArraySL self) -> itkArraySL
        __init__(itkArraySL self, itkArraySL arg0) -> itkArraySL
        __init__(itkArraySL self, unsigned long dimension) -> itkArraySL
        __init__(itkArraySL self, long * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArraySL
        __init__(itkArraySL self, long const * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArraySL
        """
        _itkArrayPython.itkArraySL_swiginit(self, _itkArrayPython.new_itkArraySL(*args))
    Fill = _swig_new_instance_method(_itkArrayPython.itkArraySL_Fill)
    Size = _swig_new_instance_method(_itkArrayPython.itkArraySL_Size)
    GetNumberOfElements = _swig_new_instance_method(_itkArrayPython.itkArraySL_GetNumberOfElements)
    GetElement = _swig_new_instance_method(_itkArrayPython.itkArraySL_GetElement)
    SetElement = _swig_new_instance_method(_itkArrayPython.itkArraySL_SetElement)
    SetSize = _swig_new_instance_method(_itkArrayPython.itkArraySL_SetSize)
    GetSize = _swig_new_instance_method(_itkArrayPython.itkArraySL_GetSize)
    SetDataSameSize = _swig_new_instance_method(_itkArrayPython.itkArraySL_SetDataSameSize)
    SetData = _swig_new_instance_method(_itkArrayPython.itkArraySL_SetData)
    __swig_destroy__ = _itkArrayPython.delete_itkArraySL
    swap = _swig_new_instance_method(_itkArrayPython.itkArraySL_swap)
    Swap = _swig_new_instance_method(_itkArrayPython.itkArraySL_Swap)
    __getitem__ = _swig_new_instance_method(_itkArrayPython.itkArraySL___getitem__)
    __setitem__ = _swig_new_instance_method(_itkArrayPython.itkArraySL___setitem__)
    __len__ = _swig_new_instance_method(_itkArrayPython.itkArraySL___len__)
    __repr__ = _swig_new_instance_method(_itkArrayPython.itkArraySL___repr__)

# Register itkArraySL in _itkArrayPython:
_itkArrayPython.itkArraySL_swigregister(itkArraySL)
class itkArraySLL(vnl_vectorPython.vnl_vectorSLL):
    r"""Proxy of C++ itkArraySLL class."""

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

    def __init__(self, *args):
        r"""
        __init__(itkArraySLL self) -> itkArraySLL
        __init__(itkArraySLL self, itkArraySLL arg0) -> itkArraySLL
        __init__(itkArraySLL self, unsigned long dimension) -> itkArraySLL
        __init__(itkArraySLL self, long long * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArraySLL
        __init__(itkArraySLL self, long long const * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArraySLL
        """
        _itkArrayPython.itkArraySLL_swiginit(self, _itkArrayPython.new_itkArraySLL(*args))
    Fill = _swig_new_instance_method(_itkArrayPython.itkArraySLL_Fill)
    Size = _swig_new_instance_method(_itkArrayPython.itkArraySLL_Size)
    GetNumberOfElements = _swig_new_instance_method(_itkArrayPython.itkArraySLL_GetNumberOfElements)
    GetElement = _swig_new_instance_method(_itkArrayPython.itkArraySLL_GetElement)
    SetElement = _swig_new_instance_method(_itkArrayPython.itkArraySLL_SetElement)
    SetSize = _swig_new_instance_method(_itkArrayPython.itkArraySLL_SetSize)
    GetSize = _swig_new_instance_method(_itkArrayPython.itkArraySLL_GetSize)
    SetDataSameSize = _swig_new_instance_method(_itkArrayPython.itkArraySLL_SetDataSameSize)
    SetData = _swig_new_instance_method(_itkArrayPython.itkArraySLL_SetData)
    __swig_destroy__ = _itkArrayPython.delete_itkArraySLL
    swap = _swig_new_instance_method(_itkArrayPython.itkArraySLL_swap)
    Swap = _swig_new_instance_method(_itkArrayPython.itkArraySLL_Swap)
    __getitem__ = _swig_new_instance_method(_itkArrayPython.itkArraySLL___getitem__)
    __setitem__ = _swig_new_instance_method(_itkArrayPython.itkArraySLL___setitem__)
    __len__ = _swig_new_instance_method(_itkArrayPython.itkArraySLL___len__)
    __repr__ = _swig_new_instance_method(_itkArrayPython.itkArraySLL___repr__)

# Register itkArraySLL in _itkArrayPython:
_itkArrayPython.itkArraySLL_swigregister(itkArraySLL)
class itkArrayUI(vnl_vectorPython.vnl_vectorUI):
    r"""Proxy of C++ itkArrayUI class."""

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

    def __init__(self, *args):
        r"""
        __init__(itkArrayUI self) -> itkArrayUI
        __init__(itkArrayUI self, itkArrayUI arg0) -> itkArrayUI
        __init__(itkArrayUI self, unsigned long dimension) -> itkArrayUI
        __init__(itkArrayUI self, unsigned int * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArrayUI
        __init__(itkArrayUI self, unsigned int const * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArrayUI
        """
        _itkArrayPython.itkArrayUI_swiginit(self, _itkArrayPython.new_itkArrayUI(*args))
    Fill = _swig_new_instance_method(_itkArrayPython.itkArrayUI_Fill)
    Size = _swig_new_instance_method(_itkArrayPython.itkArrayUI_Size)
    GetNumberOfElements = _swig_new_instance_method(_itkArrayPython.itkArrayUI_GetNumberOfElements)
    GetElement = _swig_new_instance_method(_itkArrayPython.itkArrayUI_GetElement)
    SetElement = _swig_new_instance_method(_itkArrayPython.itkArrayUI_SetElement)
    SetSize = _swig_new_instance_method(_itkArrayPython.itkArrayUI_SetSize)
    GetSize = _swig_new_instance_method(_itkArrayPython.itkArrayUI_GetSize)
    SetDataSameSize = _swig_new_instance_method(_itkArrayPython.itkArrayUI_SetDataSameSize)
    SetData = _swig_new_instance_method(_itkArrayPython.itkArrayUI_SetData)
    __swig_destroy__ = _itkArrayPython.delete_itkArrayUI
    swap = _swig_new_instance_method(_itkArrayPython.itkArrayUI_swap)
    Swap = _swig_new_instance_method(_itkArrayPython.itkArrayUI_Swap)
    __getitem__ = _swig_new_instance_method(_itkArrayPython.itkArrayUI___getitem__)
    __setitem__ = _swig_new_instance_method(_itkArrayPython.itkArrayUI___setitem__)
    __len__ = _swig_new_instance_method(_itkArrayPython.itkArrayUI___len__)
    __repr__ = _swig_new_instance_method(_itkArrayPython.itkArrayUI___repr__)

# Register itkArrayUI in _itkArrayPython:
_itkArrayPython.itkArrayUI_swigregister(itkArrayUI)
class itkArrayUL(vnl_vectorPython.vnl_vectorUL):
    r"""Proxy of C++ itkArrayUL class."""

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

    def __init__(self, *args):
        r"""
        __init__(itkArrayUL self) -> itkArrayUL
        __init__(itkArrayUL self, itkArrayUL arg0) -> itkArrayUL
        __init__(itkArrayUL self, unsigned long dimension) -> itkArrayUL
        __init__(itkArrayUL self, unsigned long * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArrayUL
        __init__(itkArrayUL self, unsigned long const * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArrayUL
        """
        _itkArrayPython.itkArrayUL_swiginit(self, _itkArrayPython.new_itkArrayUL(*args))
    Fill = _swig_new_instance_method(_itkArrayPython.itkArrayUL_Fill)
    Size = _swig_new_instance_method(_itkArrayPython.itkArrayUL_Size)
    GetNumberOfElements = _swig_new_instance_method(_itkArrayPython.itkArrayUL_GetNumberOfElements)
    GetElement = _swig_new_instance_method(_itkArrayPython.itkArrayUL_GetElement)
    SetElement = _swig_new_instance_method(_itkArrayPython.itkArrayUL_SetElement)
    SetSize = _swig_new_instance_method(_itkArrayPython.itkArrayUL_SetSize)
    GetSize = _swig_new_instance_method(_itkArrayPython.itkArrayUL_GetSize)
    SetDataSameSize = _swig_new_instance_method(_itkArrayPython.itkArrayUL_SetDataSameSize)
    SetData = _swig_new_instance_method(_itkArrayPython.itkArrayUL_SetData)
    __swig_destroy__ = _itkArrayPython.delete_itkArrayUL
    swap = _swig_new_instance_method(_itkArrayPython.itkArrayUL_swap)
    Swap = _swig_new_instance_method(_itkArrayPython.itkArrayUL_Swap)
    __getitem__ = _swig_new_instance_method(_itkArrayPython.itkArrayUL___getitem__)
    __setitem__ = _swig_new_instance_method(_itkArrayPython.itkArrayUL___setitem__)
    __len__ = _swig_new_instance_method(_itkArrayPython.itkArrayUL___len__)
    __repr__ = _swig_new_instance_method(_itkArrayPython.itkArrayUL___repr__)

# Register itkArrayUL in _itkArrayPython:
_itkArrayPython.itkArrayUL_swigregister(itkArrayUL)
class itkArrayULL(vnl_vectorPython.vnl_vectorULL):
    r"""Proxy of C++ itkArrayULL class."""

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

    def __init__(self, *args):
        r"""
        __init__(itkArrayULL self) -> itkArrayULL
        __init__(itkArrayULL self, itkArrayULL arg0) -> itkArrayULL
        __init__(itkArrayULL self, unsigned long dimension) -> itkArrayULL
        __init__(itkArrayULL self, unsigned long long * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArrayULL
        __init__(itkArrayULL self, unsigned long long const * data, unsigned long sz, bool LetArrayManageMemory=False) -> itkArrayULL
        """
        _itkArrayPython.itkArrayULL_swiginit(self, _itkArrayPython.new_itkArrayULL(*args))
    Fill = _swig_new_instance_method(_itkArrayPython.itkArrayULL_Fill)
    Size = _swig_new_instance_method(_itkArrayPython.itkArrayULL_Size)
    GetNumberOfElements = _swig_new_instance_method(_itkArrayPython.itkArrayULL_GetNumberOfElements)
    GetElement = _swig_new_instance_method(_itkArrayPython.itkArrayULL_GetElement)
    SetElement = _swig_new_instance_method(_itkArrayPython.itkArrayULL_SetElement)
    SetSize = _swig_new_instance_method(_itkArrayPython.itkArrayULL_SetSize)
    GetSize = _swig_new_instance_method(_itkArrayPython.itkArrayULL_GetSize)
    SetDataSameSize = _swig_new_instance_method(_itkArrayPython.itkArrayULL_SetDataSameSize)
    SetData = _swig_new_instance_method(_itkArrayPython.itkArrayULL_SetData)
    __swig_destroy__ = _itkArrayPython.delete_itkArrayULL
    swap = _swig_new_instance_method(_itkArrayPython.itkArrayULL_swap)
    Swap = _swig_new_instance_method(_itkArrayPython.itkArrayULL_Swap)
    __getitem__ = _swig_new_instance_method(_itkArrayPython.itkArrayULL___getitem__)
    __setitem__ = _swig_new_instance_method(_itkArrayPython.itkArrayULL___setitem__)
    __len__ = _swig_new_instance_method(_itkArrayPython.itkArrayULL___len__)
    __repr__ = _swig_new_instance_method(_itkArrayPython.itkArrayULL___repr__)

# Register itkArrayULL in _itkArrayPython:
_itkArrayPython.itkArrayULL_swigregister(itkArrayULL)

