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

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.itkPointPython
import itk.itkFixedArrayPython
import itk.pyBasePython
import itk.vnl_vectorPython
import itk.stdcomplexPython
import itk.vnl_matrixPython
import itk.vnl_vector_refPython
import itk.itkVectorPython
import itk.itkVectorContainerPython
import itk.ITKCommonBasePython
import itk.itkMatrixPython
import itk.vnl_matrix_fixedPython
import itk.itkCovariantVectorPython
import itk.itkContinuousIndexPython
import itk.itkIndexPython
import itk.itkOffsetPython
import itk.itkSizePython
import itk.itkArrayPython

def itkPointSetAD2_New():
    return itkPointSetAD2.New()

class itkPointSetAD2(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetAD2 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__() -> itkPointSetAD2_Pointer"""
        return _itkPointSetPython.itkPointSetAD2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetAD2_Pointer"""
        return _itkPointSetPython.itkPointSetAD2_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetAD2_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetAD2 *

        """
        return _itkPointSetPython.itkPointSetAD2_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetAD2_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF2 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetAD2_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF2
        GetPoints(self) -> itkVectorContainerULPF2
        """
        return _itkPointSetPython.itkPointSetAD2_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2

        """
        return _itkPointSetPython.itkPointSetAD2_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2 *

        GetPoint(self, arg0) -> itkPointF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetAD2_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULAD *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkArrayD

        """
        return _itkPointSetPython.itkPointSetAD2_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULAD
        GetPointData(self) -> itkVectorContainerULAD
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkArrayD *

        """
        return _itkPointSetPython.itkPointSetAD2_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetAD2_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetAD2_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetAD2_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetAD2_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetAD2

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

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

        """
        return _itkPointSetPython.itkPointSetAD2_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetAD2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetAD2 in _itkPointSetPython:
_itkPointSetPython.itkPointSetAD2_swigregister(itkPointSetAD2)

def itkPointSetAD3_New():
    return itkPointSetAD3.New()

class itkPointSetAD3(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetAD3 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__() -> itkPointSetAD3_Pointer"""
        return _itkPointSetPython.itkPointSetAD3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetAD3_Pointer"""
        return _itkPointSetPython.itkPointSetAD3_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetAD3_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetAD3 *

        """
        return _itkPointSetPython.itkPointSetAD3_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetAD3_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF3 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetAD3_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF3
        GetPoints(self) -> itkVectorContainerULPF3
        """
        return _itkPointSetPython.itkPointSetAD3_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3

        """
        return _itkPointSetPython.itkPointSetAD3_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3 *

        GetPoint(self, arg0) -> itkPointF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetAD3_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULAD *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkArrayD

        """
        return _itkPointSetPython.itkPointSetAD3_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULAD
        GetPointData(self) -> itkVectorContainerULAD
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkArrayD *

        """
        return _itkPointSetPython.itkPointSetAD3_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetAD3_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetAD3_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetAD3_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetAD3_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetAD3

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

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

        """
        return _itkPointSetPython.itkPointSetAD3_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetAD3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetAD3 in _itkPointSetPython:
_itkPointSetPython.itkPointSetAD3_swigregister(itkPointSetAD3)

def itkPointSetD2_New():
    return itkPointSetD2.New()

class itkPointSetD2(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetD2 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__() -> itkPointSetD2_Pointer"""
        return _itkPointSetPython.itkPointSetD2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetD2_Pointer"""
        return _itkPointSetPython.itkPointSetD2_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetD2_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetD2 *

        """
        return _itkPointSetPython.itkPointSetD2_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetD2_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF2 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetD2_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF2
        GetPoints(self) -> itkVectorContainerULPF2
        """
        return _itkPointSetPython.itkPointSetD2_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2

        """
        return _itkPointSetPython.itkPointSetD2_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2 *

        GetPoint(self, arg0) -> itkPointF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetD2_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULD *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: double

        """
        return _itkPointSetPython.itkPointSetD2_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULD
        GetPointData(self) -> itkVectorContainerULD
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: double *

        """
        return _itkPointSetPython.itkPointSetD2_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetD2_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetD2_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetD2_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetD2_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetD2

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

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

        """
        return _itkPointSetPython.itkPointSetD2_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetD2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetD2 in _itkPointSetPython:
_itkPointSetPython.itkPointSetD2_swigregister(itkPointSetD2)

def itkPointSetD3_New():
    return itkPointSetD3.New()

class itkPointSetD3(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetD3 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__() -> itkPointSetD3_Pointer"""
        return _itkPointSetPython.itkPointSetD3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetD3_Pointer"""
        return _itkPointSetPython.itkPointSetD3_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetD3_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetD3 *

        """
        return _itkPointSetPython.itkPointSetD3_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetD3_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF3 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetD3_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF3
        GetPoints(self) -> itkVectorContainerULPF3
        """
        return _itkPointSetPython.itkPointSetD3_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3

        """
        return _itkPointSetPython.itkPointSetD3_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3 *

        GetPoint(self, arg0) -> itkPointF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetD3_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULD *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: double

        """
        return _itkPointSetPython.itkPointSetD3_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULD
        GetPointData(self) -> itkVectorContainerULD
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: double *

        """
        return _itkPointSetPython.itkPointSetD3_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetD3_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetD3_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetD3_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetD3_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetD3

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

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

        """
        return _itkPointSetPython.itkPointSetD3_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetD3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetD3 in _itkPointSetPython:
_itkPointSetPython.itkPointSetD3_swigregister(itkPointSetD3)

def itkPointSetF2_New():
    return itkPointSetF2.New()

class itkPointSetF2(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetF2 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__() -> itkPointSetF2_Pointer"""
        return _itkPointSetPython.itkPointSetF2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetF2_Pointer"""
        return _itkPointSetPython.itkPointSetF2_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetF2_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetF2 *

        """
        return _itkPointSetPython.itkPointSetF2_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetF2_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF2 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetF2_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF2
        GetPoints(self) -> itkVectorContainerULPF2
        """
        return _itkPointSetPython.itkPointSetF2_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2

        """
        return _itkPointSetPython.itkPointSetF2_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2 *

        GetPoint(self, arg0) -> itkPointF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetF2_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: float

        """
        return _itkPointSetPython.itkPointSetF2_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULF
        GetPointData(self) -> itkVectorContainerULF
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: float *

        """
        return _itkPointSetPython.itkPointSetF2_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetF2_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetF2_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetF2_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetF2_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetF2

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

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

        """
        return _itkPointSetPython.itkPointSetF2_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetF2 in _itkPointSetPython:
_itkPointSetPython.itkPointSetF2_swigregister(itkPointSetF2)

def itkPointSetF3_New():
    return itkPointSetF3.New()

class itkPointSetF3(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetF3 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__() -> itkPointSetF3_Pointer"""
        return _itkPointSetPython.itkPointSetF3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetF3_Pointer"""
        return _itkPointSetPython.itkPointSetF3_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetF3_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetF3 *

        """
        return _itkPointSetPython.itkPointSetF3_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetF3_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF3 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetF3_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF3
        GetPoints(self) -> itkVectorContainerULPF3
        """
        return _itkPointSetPython.itkPointSetF3_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3

        """
        return _itkPointSetPython.itkPointSetF3_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3 *

        GetPoint(self, arg0) -> itkPointF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetF3_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: float

        """
        return _itkPointSetPython.itkPointSetF3_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULF
        GetPointData(self) -> itkVectorContainerULF
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: float *

        """
        return _itkPointSetPython.itkPointSetF3_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetF3_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetF3_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetF3_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetF3_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetF3

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

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

        """
        return _itkPointSetPython.itkPointSetF3_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetF3 in _itkPointSetPython:
_itkPointSetPython.itkPointSetF3_swigregister(itkPointSetF3)

def itkPointSetMD22_New():
    return itkPointSetMD22.New()

class itkPointSetMD22(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetMD22 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__() -> itkPointSetMD22_Pointer"""
        return _itkPointSetPython.itkPointSetMD22___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetMD22_Pointer"""
        return _itkPointSetPython.itkPointSetMD22_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetMD22_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetMD22 *

        """
        return _itkPointSetPython.itkPointSetMD22_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetMD22_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF2 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetMD22_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF2
        GetPoints(self) -> itkVectorContainerULPF2
        """
        return _itkPointSetPython.itkPointSetMD22_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2

        """
        return _itkPointSetPython.itkPointSetMD22_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2 *

        GetPoint(self, arg0) -> itkPointF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetMD22_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULMD22 *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkMatrixD22

        """
        return _itkPointSetPython.itkPointSetMD22_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULMD22
        GetPointData(self) -> itkVectorContainerULMD22
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkMatrixD22 *

        """
        return _itkPointSetPython.itkPointSetMD22_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetMD22_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetMD22_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetMD22_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetMD22_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetMD22

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

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

        """
        return _itkPointSetPython.itkPointSetMD22_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetMD22.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetMD22 in _itkPointSetPython:
_itkPointSetPython.itkPointSetMD22_swigregister(itkPointSetMD22)

def itkPointSetMD33_New():
    return itkPointSetMD33.New()

class itkPointSetMD33(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetMD33 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__() -> itkPointSetMD33_Pointer"""
        return _itkPointSetPython.itkPointSetMD33___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetMD33_Pointer"""
        return _itkPointSetPython.itkPointSetMD33_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetMD33_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetMD33 *

        """
        return _itkPointSetPython.itkPointSetMD33_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetMD33_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF3 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetMD33_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF3
        GetPoints(self) -> itkVectorContainerULPF3
        """
        return _itkPointSetPython.itkPointSetMD33_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3

        """
        return _itkPointSetPython.itkPointSetMD33_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3 *

        GetPoint(self, arg0) -> itkPointF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetMD33_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULMD33 *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkMatrixD33

        """
        return _itkPointSetPython.itkPointSetMD33_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULMD33
        GetPointData(self) -> itkVectorContainerULMD33
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkMatrixD33 *

        """
        return _itkPointSetPython.itkPointSetMD33_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetMD33_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetMD33_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetMD33_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetMD33_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetMD33

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

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

        """
        return _itkPointSetPython.itkPointSetMD33_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetMD33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetMD33 in _itkPointSetPython:
_itkPointSetPython.itkPointSetMD33_swigregister(itkPointSetMD33)

def itkPointSetPD22STD22DD_New():
    return itkPointSetPD22STD22DD.New()

class itkPointSetPD22STD22DD(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetPD22STD22DD 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__() -> itkPointSetPD22STD22DD_Pointer"""
        return _itkPointSetPython.itkPointSetPD22STD22DD___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetPD22STD22DD_Pointer"""
        return _itkPointSetPython.itkPointSetPD22STD22DD_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetPD22STD22DD_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetPD22STD22DD *

        """
        return _itkPointSetPython.itkPointSetPD22STD22DD_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetPD22STD22DD_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPD2 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULD *

        """
        return _itkPointSetPython.itkPointSetPD22STD22DD_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPD2
        GetPoints(self) -> itkVectorContainerULPD2
        """
        return _itkPointSetPython.itkPointSetPD22STD22DD_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointD2

        """
        return _itkPointSetPython.itkPointSetPD22STD22DD_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointD2 *

        GetPoint(self, arg0) -> itkPointD2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetPD22STD22DD_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULD *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: double

        """
        return _itkPointSetPython.itkPointSetPD22STD22DD_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULD
        GetPointData(self) -> itkVectorContainerULD
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: double *

        """
        return _itkPointSetPython.itkPointSetPD22STD22DD_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetPD22STD22DD_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetPD22STD22DD_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetPD22STD22DD_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetPD22STD22DD_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetPD22STD22DD

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

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

        """
        return _itkPointSetPython.itkPointSetPD22STD22DD_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetPD22STD22DD.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetPD22STD22DD in _itkPointSetPython:
_itkPointSetPython.itkPointSetPD22STD22DD_swigregister(itkPointSetPD22STD22DD)

def itkPointSetPD33STD33DD_New():
    return itkPointSetPD33STD33DD.New()

class itkPointSetPD33STD33DD(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetPD33STD33DD 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__() -> itkPointSetPD33STD33DD_Pointer"""
        return _itkPointSetPython.itkPointSetPD33STD33DD___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetPD33STD33DD_Pointer"""
        return _itkPointSetPython.itkPointSetPD33STD33DD_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetPD33STD33DD_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetPD33STD33DD *

        """
        return _itkPointSetPython.itkPointSetPD33STD33DD_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetPD33STD33DD_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPD3 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULD *

        """
        return _itkPointSetPython.itkPointSetPD33STD33DD_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPD3
        GetPoints(self) -> itkVectorContainerULPD3
        """
        return _itkPointSetPython.itkPointSetPD33STD33DD_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointD3

        """
        return _itkPointSetPython.itkPointSetPD33STD33DD_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointD3 *

        GetPoint(self, arg0) -> itkPointD3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetPD33STD33DD_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULD *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: double

        """
        return _itkPointSetPython.itkPointSetPD33STD33DD_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULD
        GetPointData(self) -> itkVectorContainerULD
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: double *

        """
        return _itkPointSetPython.itkPointSetPD33STD33DD_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetPD33STD33DD_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetPD33STD33DD_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetPD33STD33DD_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetPD33STD33DD_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetPD33STD33DD

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

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

        """
        return _itkPointSetPython.itkPointSetPD33STD33DD_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetPD33STD33DD.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetPD33STD33DD in _itkPointSetPython:
_itkPointSetPython.itkPointSetPD33STD33DD_swigregister(itkPointSetPD33STD33DD)

def itkPointSetSS2_New():
    return itkPointSetSS2.New()

class itkPointSetSS2(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetSS2 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__() -> itkPointSetSS2_Pointer"""
        return _itkPointSetPython.itkPointSetSS2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetSS2_Pointer"""
        return _itkPointSetPython.itkPointSetSS2_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetSS2_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetSS2 *

        """
        return _itkPointSetPython.itkPointSetSS2_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetSS2_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF2 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetSS2_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF2
        GetPoints(self) -> itkVectorContainerULPF2
        """
        return _itkPointSetPython.itkPointSetSS2_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2

        """
        return _itkPointSetPython.itkPointSetSS2_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2 *

        GetPoint(self, arg0) -> itkPointF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetSS2_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULSS *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: short

        """
        return _itkPointSetPython.itkPointSetSS2_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULSS
        GetPointData(self) -> itkVectorContainerULSS
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: short *

        """
        return _itkPointSetPython.itkPointSetSS2_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetSS2_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetSS2_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetSS2_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetSS2_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetSS2

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

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

        """
        return _itkPointSetPython.itkPointSetSS2_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetSS2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetSS2 in _itkPointSetPython:
_itkPointSetPython.itkPointSetSS2_swigregister(itkPointSetSS2)

def itkPointSetSS3_New():
    return itkPointSetSS3.New()

class itkPointSetSS3(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetSS3 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__() -> itkPointSetSS3_Pointer"""
        return _itkPointSetPython.itkPointSetSS3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetSS3_Pointer"""
        return _itkPointSetPython.itkPointSetSS3_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetSS3_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetSS3 *

        """
        return _itkPointSetPython.itkPointSetSS3_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetSS3_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF3 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetSS3_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF3
        GetPoints(self) -> itkVectorContainerULPF3
        """
        return _itkPointSetPython.itkPointSetSS3_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3

        """
        return _itkPointSetPython.itkPointSetSS3_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3 *

        GetPoint(self, arg0) -> itkPointF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetSS3_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULSS *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: short

        """
        return _itkPointSetPython.itkPointSetSS3_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULSS
        GetPointData(self) -> itkVectorContainerULSS
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: short *

        """
        return _itkPointSetPython.itkPointSetSS3_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetSS3_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetSS3_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetSS3_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetSS3_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetSS3

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

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

        """
        return _itkPointSetPython.itkPointSetSS3_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetSS3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetSS3 in _itkPointSetPython:
_itkPointSetPython.itkPointSetSS3_swigregister(itkPointSetSS3)

def itkPointSetUC2_New():
    return itkPointSetUC2.New()

class itkPointSetUC2(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetUC2 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__() -> itkPointSetUC2_Pointer"""
        return _itkPointSetPython.itkPointSetUC2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetUC2_Pointer"""
        return _itkPointSetPython.itkPointSetUC2_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetUC2_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetUC2 *

        """
        return _itkPointSetPython.itkPointSetUC2_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetUC2_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF2 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetUC2_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF2
        GetPoints(self) -> itkVectorContainerULPF2
        """
        return _itkPointSetPython.itkPointSetUC2_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2

        """
        return _itkPointSetPython.itkPointSetUC2_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2 *

        GetPoint(self, arg0) -> itkPointF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetUC2_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULUC *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: unsigned char

        """
        return _itkPointSetPython.itkPointSetUC2_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULUC
        GetPointData(self) -> itkVectorContainerULUC
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: unsigned char *

        """
        return _itkPointSetPython.itkPointSetUC2_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetUC2_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetUC2_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetUC2_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetUC2_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetUC2

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

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

        """
        return _itkPointSetPython.itkPointSetUC2_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetUC2.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetUC2 in _itkPointSetPython:
_itkPointSetPython.itkPointSetUC2_swigregister(itkPointSetUC2)

def itkPointSetUC3_New():
    return itkPointSetUC3.New()

class itkPointSetUC3(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetUC3 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__() -> itkPointSetUC3_Pointer"""
        return _itkPointSetPython.itkPointSetUC3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetUC3_Pointer"""
        return _itkPointSetPython.itkPointSetUC3_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetUC3_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetUC3 *

        """
        return _itkPointSetPython.itkPointSetUC3_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetUC3_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF3 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetUC3_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF3
        GetPoints(self) -> itkVectorContainerULPF3
        """
        return _itkPointSetPython.itkPointSetUC3_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3

        """
        return _itkPointSetPython.itkPointSetUC3_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3 *

        GetPoint(self, arg0) -> itkPointF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetUC3_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULUC *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: unsigned char

        """
        return _itkPointSetPython.itkPointSetUC3_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULUC
        GetPointData(self) -> itkVectorContainerULUC
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: unsigned char *

        """
        return _itkPointSetPython.itkPointSetUC3_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetUC3_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetUC3_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetUC3_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetUC3_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetUC3

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

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

        """
        return _itkPointSetPython.itkPointSetUC3_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetUC3.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetUC3 in _itkPointSetPython:
_itkPointSetPython.itkPointSetUC3_swigregister(itkPointSetUC3)

def itkPointSetUI2DSMUI22FFUI_New():
    return itkPointSetUI2DSMUI22FFUI.New()

class itkPointSetUI2DSMUI22FFUI(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetUI2DSMUI22FFUI 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__() -> itkPointSetUI2DSMUI22FFUI_Pointer"""
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetUI2DSMUI22FFUI_Pointer"""
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetUI2DSMUI22FFUI *

        """
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF2 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF2
        GetPoints(self) -> itkVectorContainerULPF2
        """
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2

        """
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF2 *

        GetPoint(self, arg0) -> itkPointF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULUI *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: unsigned int

        """
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULUI
        GetPointData(self) -> itkVectorContainerULUI
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: unsigned int *

        """
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetUI2DSMUI22FFUI

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

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

        """
        return _itkPointSetPython.itkPointSetUI2DSMUI22FFUI_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetUI2DSMUI22FFUI.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetUI2DSMUI22FFUI in _itkPointSetPython:
_itkPointSetPython.itkPointSetUI2DSMUI22FFUI_swigregister(itkPointSetUI2DSMUI22FFUI)

def itkPointSetUI3DSMUI33FFUI_New():
    return itkPointSetUI3DSMUI33FFUI.New()

class itkPointSetUI3DSMUI33FFUI(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetUI3DSMUI33FFUI 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__() -> itkPointSetUI3DSMUI33FFUI_Pointer"""
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetUI3DSMUI33FFUI_Pointer"""
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetUI3DSMUI33FFUI *

        """
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF3 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF3
        GetPoints(self) -> itkVectorContainerULPF3
        """
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3

        """
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3 *

        GetPoint(self, arg0) -> itkPointF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULUI *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: unsigned int

        """
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULUI
        GetPointData(self) -> itkVectorContainerULUI
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: unsigned int *

        """
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetUI3DSMUI33FFUI

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

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

        """
        return _itkPointSetPython.itkPointSetUI3DSMUI33FFUI_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetUI3DSMUI33FFUI.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetUI3DSMUI33FFUI in _itkPointSetPython:
_itkPointSetPython.itkPointSetUI3DSMUI33FFUI_swigregister(itkPointSetUI3DSMUI33FFUI)

def itkPointSetVF33_New():
    return itkPointSetVF33.New()

class itkPointSetVF33(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetVF33 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__() -> itkPointSetVF33_Pointer"""
        return _itkPointSetPython.itkPointSetVF33___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetVF33_Pointer"""
        return _itkPointSetPython.itkPointSetVF33_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkPointSetPython.itkPointSetVF33_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetVF33 *

        """
        return _itkPointSetPython.itkPointSetVF33_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkPointSetPython.itkPointSetVF33_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULPF3 *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkPointSetPython.itkPointSetVF33_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkVectorContainerULPF3
        GetPoints(self) -> itkVectorContainerULPF3
        """
        return _itkPointSetPython.itkPointSetVF33_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3

        """
        return _itkPointSetPython.itkPointSetVF33_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointF3 *

        GetPoint(self, arg0) -> itkPointF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkPointSetPython.itkPointSetVF33_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULVF3 *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkVectorF3

        """
        return _itkPointSetPython.itkPointSetVF33_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkVectorContainerULVF3
        GetPointData(self) -> itkVectorContainerULVF3
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkVectorF3 *

        """
        return _itkPointSetPython.itkPointSetVF33_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetVF33_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetVF33_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkPointSetPython.itkPointSetVF33_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkPointSetPython.itkPointSetVF33_GetBufferedRegion(self)
    __swig_destroy__ = _itkPointSetPython.delete_itkPointSetVF33

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

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

        """
        return _itkPointSetPython.itkPointSetVF33_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


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

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

          itkPointSetVF33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkPointSetVF33 in _itkPointSetPython:
_itkPointSetPython.itkPointSetVF33_swigregister(itkPointSetVF33)

