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



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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


if _swig_python_version_info[0:2] >= (3, 3):
    import collections.abc
else:
    import collections

import itk.ITKCommonBasePython
import itk.itkMatrixPython
import itk.itkCovariantVectorPython
import itk.vnl_vector_refPython
import itk.vnl_vectorPython
import itk.stdcomplexPython
import itk.pyBasePython
import itk.vnl_matrixPython
import itk.itkFixedArrayPython
import itk.itkVectorPython
import itk.vnl_matrix_fixedPython
import itk.itkPointPython
import itk.itkArrayPython

def itkMetaDataObjectAD_New():
    return itkMetaDataObjectAD.New()

class itkMetaDataObjectAD(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectAD 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__() -> itkMetaDataObjectAD_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectAD___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> itkArrayD"""
        return _itkMetaDataObjectPython.itkMetaDataObjectAD_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: itkArrayD const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectAD_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectAD

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectAD_cast(obj)

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

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

          itkMetaDataObjectAD.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectAD in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectAD_swigregister(itkMetaDataObjectAD)

def itkMetaDataObjectAF_New():
    return itkMetaDataObjectAF.New()

class itkMetaDataObjectAF(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectAF 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__() -> itkMetaDataObjectAF_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectAF___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> itkArrayF"""
        return _itkMetaDataObjectPython.itkMetaDataObjectAF_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: itkArrayF const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectAF_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectAF

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectAF_cast(obj)

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

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

          itkMetaDataObjectAF.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectAF in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectAF_swigregister(itkMetaDataObjectAF)

def itkMetaDataObjectB_New():
    return itkMetaDataObjectB.New()

class itkMetaDataObjectB(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectB 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__() -> itkMetaDataObjectB_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectB___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> bool const &"""
        return _itkMetaDataObjectPython.itkMetaDataObjectB_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: bool const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectB_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectB

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectB_cast(obj)

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

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

          itkMetaDataObjectB.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectB in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectB_swigregister(itkMetaDataObjectB)

def itkMetaDataObjectD_New():
    return itkMetaDataObjectD.New()

class itkMetaDataObjectD(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectD 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__() -> itkMetaDataObjectD_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectD___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> double const &"""
        return _itkMetaDataObjectPython.itkMetaDataObjectD_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: double const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectD_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectD

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectD_cast(obj)

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

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

          itkMetaDataObjectD.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectD in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectD_swigregister(itkMetaDataObjectD)

def itkMetaDataObjectF_New():
    return itkMetaDataObjectF.New()

class itkMetaDataObjectF(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectF 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__() -> itkMetaDataObjectF_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectF___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> float const &"""
        return _itkMetaDataObjectPython.itkMetaDataObjectF_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: float const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectF_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectF

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectF_cast(obj)

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

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

          itkMetaDataObjectF.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectF in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectF_swigregister(itkMetaDataObjectF)

def itkMetaDataObjectS_New():
    return itkMetaDataObjectS.New()

class itkMetaDataObjectS(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectS 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__() -> itkMetaDataObjectS_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectS___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> std::string const &"""
        return _itkMetaDataObjectPython.itkMetaDataObjectS_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: std::string const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectS_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectS

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectS_cast(obj)

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

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

          itkMetaDataObjectS.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectS in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectS_swigregister(itkMetaDataObjectS)

def itkMetaDataObjectSI_New():
    return itkMetaDataObjectSI.New()

class itkMetaDataObjectSI(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectSI 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__() -> itkMetaDataObjectSI_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectSI___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> int const &"""
        return _itkMetaDataObjectPython.itkMetaDataObjectSI_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: int const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectSI_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectSI

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectSI_cast(obj)

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

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

          itkMetaDataObjectSI.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectSI in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectSI_swigregister(itkMetaDataObjectSI)

def itkMetaDataObjectSS_New():
    return itkMetaDataObjectSS.New()

class itkMetaDataObjectSS(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectSS 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__() -> itkMetaDataObjectSS_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectSS___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> short const &"""
        return _itkMetaDataObjectPython.itkMetaDataObjectSS_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: short const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectSS_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectSS

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectSS_cast(obj)

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

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

          itkMetaDataObjectSS.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectSS in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectSS_swigregister(itkMetaDataObjectSS)

def itkMetaDataObjectUI_New():
    return itkMetaDataObjectUI.New()

class itkMetaDataObjectUI(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectUI 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__() -> itkMetaDataObjectUI_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectUI___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> unsigned int const &"""
        return _itkMetaDataObjectPython.itkMetaDataObjectUI_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: unsigned int const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectUI_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectUI

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectUI_cast(obj)

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

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

          itkMetaDataObjectUI.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectUI in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectUI_swigregister(itkMetaDataObjectUI)

def itkMetaDataObjectUL_New():
    return itkMetaDataObjectUL.New()

class itkMetaDataObjectUL(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectUL 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__() -> itkMetaDataObjectUL_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectUL___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> unsigned long const &"""
        return _itkMetaDataObjectPython.itkMetaDataObjectUL_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: unsigned long const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectUL_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectUL

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectUL_cast(obj)

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

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

          itkMetaDataObjectUL.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectUL in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectUL_swigregister(itkMetaDataObjectUL)

def itkMetaDataObjectUS_New():
    return itkMetaDataObjectUS.New()

class itkMetaDataObjectUS(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectUS 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__() -> itkMetaDataObjectUS_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectUS___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> unsigned short const &"""
        return _itkMetaDataObjectPython.itkMetaDataObjectUS_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: unsigned short const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectUS_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectUS

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectUS_cast(obj)

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

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

          itkMetaDataObjectUS.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectUS in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectUS_swigregister(itkMetaDataObjectUS)

def itkMetaDataObjectmatrixD33_New():
    return itkMetaDataObjectmatrixD33.New()

class itkMetaDataObjectmatrixD33(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectmatrixD33 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__() -> itkMetaDataObjectmatrixD33_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectmatrixD33___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> itkMatrixD33"""
        return _itkMetaDataObjectPython.itkMetaDataObjectmatrixD33_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: itkMatrixD33 const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectmatrixD33_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectmatrixD33

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectmatrixD33_cast(obj)

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

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

          itkMetaDataObjectmatrixD33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectmatrixD33 in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectmatrixD33_swigregister(itkMetaDataObjectmatrixD33)

def itkMetaDataObjectmatrixF44_New():
    return itkMetaDataObjectmatrixF44.New()

class itkMetaDataObjectmatrixF44(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectmatrixF44 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__() -> itkMetaDataObjectmatrixF44_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectmatrixF44___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> itkMatrixF44"""
        return _itkMetaDataObjectPython.itkMetaDataObjectmatrixF44_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: itkMatrixF44 const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectmatrixF44_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectmatrixF44

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectmatrixF44_cast(obj)

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

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

          itkMetaDataObjectmatrixF44.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectmatrixF44 in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectmatrixF44_swigregister(itkMetaDataObjectmatrixF44)

def itkMetaDataObjectvectorD_New():
    return itkMetaDataObjectvectorD.New()

class itkMetaDataObjectvectorD(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectvectorD 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__() -> itkMetaDataObjectvectorD_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorD___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> vectorD"""
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorD_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: std::vector< double,std::allocator< double > > const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorD_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectvectorD

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorD_cast(obj)

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

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

          itkMetaDataObjectvectorD.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectvectorD in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectvectorD_swigregister(itkMetaDataObjectvectorD)

def itkMetaDataObjectvectorF_New():
    return itkMetaDataObjectvectorF.New()

class itkMetaDataObjectvectorF(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectvectorF 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__() -> itkMetaDataObjectvectorF_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorF___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> vectorF"""
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorF_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: std::vector< float,std::allocator< float > > const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorF_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectvectorF

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorF_cast(obj)

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

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

          itkMetaDataObjectvectorF.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectvectorF in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectvectorF_swigregister(itkMetaDataObjectvectorF)

def itkMetaDataObjectvectorvectorD_New():
    return itkMetaDataObjectvectorvectorD.New()

class itkMetaDataObjectvectorvectorD(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectvectorvectorD 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__() -> itkMetaDataObjectvectorvectorD_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorvectorD___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> vectorvectorD"""
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorvectorD_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorvectorD_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectvectorvectorD

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorvectorD_cast(obj)

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

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

          itkMetaDataObjectvectorvectorD.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectvectorvectorD in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectvectorvectorD_swigregister(itkMetaDataObjectvectorvectorD)

def itkMetaDataObjectvectorvectorF_New():
    return itkMetaDataObjectvectorvectorF.New()

class itkMetaDataObjectvectorvectorF(itk.ITKCommonBasePython.itkMetaDataObjectBase):
    r"""Proxy of C++ itkMetaDataObjectvectorvectorF 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__() -> itkMetaDataObjectvectorvectorF_Pointer"""
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorvectorF___New_orig__()

    def GetMetaDataObjectValue(self):
        r"""GetMetaDataObjectValue(self) -> vectorvectorF"""
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorvectorF_GetMetaDataObjectValue(self)

    def SetMetaDataObjectValue(self, newValue):
        r"""
        SetMetaDataObjectValue(self, newValue)

        Parameters
        ----------
        newValue: std::vector< std::vector< float,std::allocator< float > >,std::allocator< std::vector< float,std::allocator< float > > > > const &

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorvectorF_SetMetaDataObjectValue(self, newValue)
    __swig_destroy__ = _itkMetaDataObjectPython.delete_itkMetaDataObjectvectorvectorF

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

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

        """
        return _itkMetaDataObjectPython.itkMetaDataObjectvectorvectorF_cast(obj)

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

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

          itkMetaDataObjectvectorvectorF.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMetaDataObjectvectorvectorF in _itkMetaDataObjectPython:
_itkMetaDataObjectPython.itkMetaDataObjectvectorvectorF_swigregister(itkMetaDataObjectvectorvectorF)

