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

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.vnl_matrix_fixedPython
import itk.vnl_vectorPython
import itk.stdcomplexPython
import itk.pyBasePython
import itk.vnl_matrixPython
import itk.itkPointPython
import itk.vnl_vector_refPython
import itk.itkFixedArrayPython
import itk.itkVectorPython
import itk.itkCovariantVectorPython

def itkMatrixF22_New():
  return itkMatrixF22.New()


def itkMatrixD22_New():
  return itkMatrixD22.New()


def itkMatrixF23_New():
  return itkMatrixF23.New()


def itkMatrixD23_New():
  return itkMatrixD23.New()


def itkMatrixF24_New():
  return itkMatrixF24.New()


def itkMatrixD24_New():
  return itkMatrixD24.New()


def itkMatrixF32_New():
  return itkMatrixF32.New()


def itkMatrixD32_New():
  return itkMatrixD32.New()


def itkMatrixF33_New():
  return itkMatrixF33.New()


def itkMatrixD33_New():
  return itkMatrixD33.New()


def itkMatrixF34_New():
  return itkMatrixF34.New()


def itkMatrixD34_New():
  return itkMatrixD34.New()


def itkMatrixF42_New():
  return itkMatrixF42.New()


def itkMatrixD42_New():
  return itkMatrixD42.New()


def itkMatrixF43_New():
  return itkMatrixF43.New()


def itkMatrixD43_New():
  return itkMatrixD43.New()


def itkMatrixF44_New():
  return itkMatrixF44.New()


def itkMatrixD44_New():
  return itkMatrixD44.New()

class itkMatrixD22(object):
    r"""Proxy of C++ itkMatrixD22 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixD22

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        """
        return _itkMatrixPython.itkMatrixD22___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixD22

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        """
        return _itkMatrixPython.itkMatrixD22___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixD22

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        """
        return _itkMatrixPython.itkMatrixD22___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixD22

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        """
        return _itkMatrixPython.itkMatrixD22___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __imul__(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD22___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorD2

        Parameters
        ----------
        vect: itkVectorD2 const &

        __mul__(self, pnt) -> itkPointD2

        Parameters
        ----------
        pnt: itkPointD2 const &

        __mul__(self, covect) -> itkCovariantVectorD2

        Parameters
        ----------
        covect: itkCovariantVectorD2 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< double,2 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< double,2 > const &

        __mul__(self, matrix) -> itkMatrixD22

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        __mul__(self, matrix) -> vnl_matrixD

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __mul__(self, vc) -> vnl_vectorD

        Parameters
        ----------
        vc: vnl_vectorD const &

        __mul__(self, value) -> itkMatrixD22

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD22___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixD22___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixD22___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> double

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> double const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixD22___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_2_2
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_2_2
        """
        return _itkMatrixPython.itkMatrixD22___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixD22_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixD22"""
        return _itkMatrixPython.itkMatrixD22_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD22_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        """
        return _itkMatrixPython.itkMatrixD22___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixD22 const &

        """
        return _itkMatrixPython.itkMatrixD22___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedD_2_2"""
        return _itkMatrixPython.itkMatrixD22_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedD_2_2"""
        return _itkMatrixPython.itkMatrixD22_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixD22 &

        """
        return _itkMatrixPython.itkMatrixD22_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __init__(self, matrix) -> itkMatrixD22

        Parameters
        ----------
        matrix: vnl_matrix_fixedD_2_2 const &

        __init__(self) -> itkMatrixD22
        __init__(self, arg0) -> itkMatrixD22

        Parameters
        ----------
        arg0: itkMatrixD22 const &

        """
        _itkMatrixPython.itkMatrixD22_swiginit(self, _itkMatrixPython.new_itkMatrixD22(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixD22

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixD22 in _itkMatrixPython:
_itkMatrixPython.itkMatrixD22_swigregister(itkMatrixD22)
class itkMatrixD23(object):
    r"""Proxy of C++ itkMatrixD23 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixD23

        Parameters
        ----------
        matrix: itkMatrixD23 const &

        """
        return _itkMatrixPython.itkMatrixD23___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixD23

        Parameters
        ----------
        matrix: itkMatrixD23 const &

        """
        return _itkMatrixPython.itkMatrixD23___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixD23

        Parameters
        ----------
        matrix: itkMatrixD23 const &

        """
        return _itkMatrixPython.itkMatrixD23___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixD23

        Parameters
        ----------
        matrix: itkMatrixD23 const &

        """
        return _itkMatrixPython.itkMatrixD23___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __imul__(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD23___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorD2

        Parameters
        ----------
        vect: itkVectorD3 const &

        __mul__(self, pnt) -> itkPointD2

        Parameters
        ----------
        pnt: itkPointD3 const &

        __mul__(self, covect) -> itkCovariantVectorD2

        Parameters
        ----------
        covect: itkCovariantVectorD3 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< double,2 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< double,3 > const &

        __mul__(self, matrix) -> itkMatrixD23

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        __mul__(self, matrix) -> vnl_matrixD

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __mul__(self, vc) -> vnl_vectorD

        Parameters
        ----------
        vc: vnl_vectorD const &

        __mul__(self, value) -> itkMatrixD23

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD23___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixD23___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixD23___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> double

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> double const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixD23___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_2_3
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_2_3
        """
        return _itkMatrixPython.itkMatrixD23___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixD23_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixD23"""
        return _itkMatrixPython.itkMatrixD23_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD23_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixD23 const &

        """
        return _itkMatrixPython.itkMatrixD23___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixD23 const &

        """
        return _itkMatrixPython.itkMatrixD23___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixed< double,3,2 >"""
        return _itkMatrixPython.itkMatrixD23_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixed< double,3,2 >"""
        return _itkMatrixPython.itkMatrixD23_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixD23 &

        """
        return _itkMatrixPython.itkMatrixD23_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __init__(self, matrix) -> itkMatrixD23

        Parameters
        ----------
        matrix: vnl_matrix_fixedD_2_3 const &

        __init__(self) -> itkMatrixD23
        __init__(self, arg0) -> itkMatrixD23

        Parameters
        ----------
        arg0: itkMatrixD23 const &

        """
        _itkMatrixPython.itkMatrixD23_swiginit(self, _itkMatrixPython.new_itkMatrixD23(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixD23

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixD23 in _itkMatrixPython:
_itkMatrixPython.itkMatrixD23_swigregister(itkMatrixD23)
class itkMatrixD24(object):
    r"""Proxy of C++ itkMatrixD24 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixD24

        Parameters
        ----------
        matrix: itkMatrixD24 const &

        """
        return _itkMatrixPython.itkMatrixD24___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixD24

        Parameters
        ----------
        matrix: itkMatrixD24 const &

        """
        return _itkMatrixPython.itkMatrixD24___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixD24

        Parameters
        ----------
        matrix: itkMatrixD24 const &

        """
        return _itkMatrixPython.itkMatrixD24___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixD24

        Parameters
        ----------
        matrix: itkMatrixD24 const &

        """
        return _itkMatrixPython.itkMatrixD24___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __imul__(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD24___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorD2

        Parameters
        ----------
        vect: itkVectorD4 const &

        __mul__(self, pnt) -> itkPointD2

        Parameters
        ----------
        pnt: itkPointD4 const &

        __mul__(self, covect) -> itkCovariantVectorD2

        Parameters
        ----------
        covect: itkCovariantVectorD4 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< double,2 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< double,4 > const &

        __mul__(self, matrix) -> itkMatrixD24

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        __mul__(self, matrix) -> vnl_matrixD

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __mul__(self, vc) -> vnl_vectorD

        Parameters
        ----------
        vc: vnl_vectorD const &

        __mul__(self, value) -> itkMatrixD24

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD24___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixD24___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixD24___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> double

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> double const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixD24___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< double,2,4 >
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< double,2,4 > const &
        """
        return _itkMatrixPython.itkMatrixD24___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixD24_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixD24"""
        return _itkMatrixPython.itkMatrixD24_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD24_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixD24 const &

        """
        return _itkMatrixPython.itkMatrixD24___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixD24 const &

        """
        return _itkMatrixPython.itkMatrixD24___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixed< double,4,2 >"""
        return _itkMatrixPython.itkMatrixD24_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixed< double,4,2 >"""
        return _itkMatrixPython.itkMatrixD24_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixD24 &

        """
        return _itkMatrixPython.itkMatrixD24_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __init__(self, matrix) -> itkMatrixD24

        Parameters
        ----------
        matrix: vnl_matrix_fixed< double,2,4 > const &

        __init__(self) -> itkMatrixD24
        __init__(self, arg0) -> itkMatrixD24

        Parameters
        ----------
        arg0: itkMatrixD24 const &

        """
        _itkMatrixPython.itkMatrixD24_swiginit(self, _itkMatrixPython.new_itkMatrixD24(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixD24

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixD24 in _itkMatrixPython:
_itkMatrixPython.itkMatrixD24_swigregister(itkMatrixD24)
class itkMatrixD32(object):
    r"""Proxy of C++ itkMatrixD32 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixD32

        Parameters
        ----------
        matrix: itkMatrixD32 const &

        """
        return _itkMatrixPython.itkMatrixD32___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixD32

        Parameters
        ----------
        matrix: itkMatrixD32 const &

        """
        return _itkMatrixPython.itkMatrixD32___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixD32

        Parameters
        ----------
        matrix: itkMatrixD32 const &

        """
        return _itkMatrixPython.itkMatrixD32___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixD32

        Parameters
        ----------
        matrix: itkMatrixD32 const &

        """
        return _itkMatrixPython.itkMatrixD32___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __imul__(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD32___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorD3

        Parameters
        ----------
        vect: itkVectorD2 const &

        __mul__(self, pnt) -> itkPointD3

        Parameters
        ----------
        pnt: itkPointD2 const &

        __mul__(self, covect) -> itkCovariantVectorD3

        Parameters
        ----------
        covect: itkCovariantVectorD2 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< double,3 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< double,2 > const &

        __mul__(self, matrix) -> itkMatrixD32

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        __mul__(self, matrix) -> vnl_matrixD

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __mul__(self, vc) -> vnl_vectorD

        Parameters
        ----------
        vc: vnl_vectorD const &

        __mul__(self, value) -> itkMatrixD32

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD32___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixD32___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixD32___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> double

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> double const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixD32___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< double,3,2 >
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< double,3,2 > const &
        """
        return _itkMatrixPython.itkMatrixD32___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixD32_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixD32"""
        return _itkMatrixPython.itkMatrixD32_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD32_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixD32 const &

        """
        return _itkMatrixPython.itkMatrixD32___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixD32 const &

        """
        return _itkMatrixPython.itkMatrixD32___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedD_2_3"""
        return _itkMatrixPython.itkMatrixD32_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedD_2_3"""
        return _itkMatrixPython.itkMatrixD32_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixD32 &

        """
        return _itkMatrixPython.itkMatrixD32_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __init__(self, matrix) -> itkMatrixD32

        Parameters
        ----------
        matrix: vnl_matrix_fixed< double,3,2 > const &

        __init__(self) -> itkMatrixD32
        __init__(self, arg0) -> itkMatrixD32

        Parameters
        ----------
        arg0: itkMatrixD32 const &

        """
        _itkMatrixPython.itkMatrixD32_swiginit(self, _itkMatrixPython.new_itkMatrixD32(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixD32

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixD32 in _itkMatrixPython:
_itkMatrixPython.itkMatrixD32_swigregister(itkMatrixD32)
class itkMatrixD33(object):
    r"""Proxy of C++ itkMatrixD33 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixD33

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        """
        return _itkMatrixPython.itkMatrixD33___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixD33

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        """
        return _itkMatrixPython.itkMatrixD33___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixD33

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        """
        return _itkMatrixPython.itkMatrixD33___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixD33

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        """
        return _itkMatrixPython.itkMatrixD33___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __imul__(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD33___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorD3

        Parameters
        ----------
        vect: itkVectorD3 const &

        __mul__(self, pnt) -> itkPointD3

        Parameters
        ----------
        pnt: itkPointD3 const &

        __mul__(self, covect) -> itkCovariantVectorD3

        Parameters
        ----------
        covect: itkCovariantVectorD3 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< double,3 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< double,3 > const &

        __mul__(self, matrix) -> itkMatrixD33

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        __mul__(self, matrix) -> vnl_matrixD

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __mul__(self, vc) -> vnl_vectorD

        Parameters
        ----------
        vc: vnl_vectorD const &

        __mul__(self, value) -> itkMatrixD33

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD33___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixD33___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixD33___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> double

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> double const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixD33___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_3_3
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_3_3
        """
        return _itkMatrixPython.itkMatrixD33___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixD33_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixD33"""
        return _itkMatrixPython.itkMatrixD33_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD33_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        """
        return _itkMatrixPython.itkMatrixD33___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixD33 const &

        """
        return _itkMatrixPython.itkMatrixD33___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedD_3_3"""
        return _itkMatrixPython.itkMatrixD33_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedD_3_3"""
        return _itkMatrixPython.itkMatrixD33_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixD33 &

        """
        return _itkMatrixPython.itkMatrixD33_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __init__(self, matrix) -> itkMatrixD33

        Parameters
        ----------
        matrix: vnl_matrix_fixedD_3_3 const &

        __init__(self) -> itkMatrixD33
        __init__(self, arg0) -> itkMatrixD33

        Parameters
        ----------
        arg0: itkMatrixD33 const &

        """
        _itkMatrixPython.itkMatrixD33_swiginit(self, _itkMatrixPython.new_itkMatrixD33(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixD33

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixD33 in _itkMatrixPython:
_itkMatrixPython.itkMatrixD33_swigregister(itkMatrixD33)
class itkMatrixD34(object):
    r"""Proxy of C++ itkMatrixD34 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixD34

        Parameters
        ----------
        matrix: itkMatrixD34 const &

        """
        return _itkMatrixPython.itkMatrixD34___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixD34

        Parameters
        ----------
        matrix: itkMatrixD34 const &

        """
        return _itkMatrixPython.itkMatrixD34___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixD34

        Parameters
        ----------
        matrix: itkMatrixD34 const &

        """
        return _itkMatrixPython.itkMatrixD34___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixD34

        Parameters
        ----------
        matrix: itkMatrixD34 const &

        """
        return _itkMatrixPython.itkMatrixD34___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __imul__(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD34___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorD3

        Parameters
        ----------
        vect: itkVectorD4 const &

        __mul__(self, pnt) -> itkPointD3

        Parameters
        ----------
        pnt: itkPointD4 const &

        __mul__(self, covect) -> itkCovariantVectorD3

        Parameters
        ----------
        covect: itkCovariantVectorD4 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< double,3 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< double,4 > const &

        __mul__(self, matrix) -> itkMatrixD34

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        __mul__(self, matrix) -> vnl_matrixD

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __mul__(self, vc) -> vnl_vectorD

        Parameters
        ----------
        vc: vnl_vectorD const &

        __mul__(self, value) -> itkMatrixD34

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD34___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixD34___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixD34___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> double

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> double const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixD34___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_3_4
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_3_4
        """
        return _itkMatrixPython.itkMatrixD34___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixD34_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixD34"""
        return _itkMatrixPython.itkMatrixD34_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD34_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixD34 const &

        """
        return _itkMatrixPython.itkMatrixD34___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixD34 const &

        """
        return _itkMatrixPython.itkMatrixD34___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedD_4_3"""
        return _itkMatrixPython.itkMatrixD34_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedD_4_3"""
        return _itkMatrixPython.itkMatrixD34_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixD34 &

        """
        return _itkMatrixPython.itkMatrixD34_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __init__(self, matrix) -> itkMatrixD34

        Parameters
        ----------
        matrix: vnl_matrix_fixedD_3_4 const &

        __init__(self) -> itkMatrixD34
        __init__(self, arg0) -> itkMatrixD34

        Parameters
        ----------
        arg0: itkMatrixD34 const &

        """
        _itkMatrixPython.itkMatrixD34_swiginit(self, _itkMatrixPython.new_itkMatrixD34(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixD34

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixD34 in _itkMatrixPython:
_itkMatrixPython.itkMatrixD34_swigregister(itkMatrixD34)
class itkMatrixD42(object):
    r"""Proxy of C++ itkMatrixD42 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixD42

        Parameters
        ----------
        matrix: itkMatrixD42 const &

        """
        return _itkMatrixPython.itkMatrixD42___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixD42

        Parameters
        ----------
        matrix: itkMatrixD42 const &

        """
        return _itkMatrixPython.itkMatrixD42___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixD42

        Parameters
        ----------
        matrix: itkMatrixD42 const &

        """
        return _itkMatrixPython.itkMatrixD42___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixD42

        Parameters
        ----------
        matrix: itkMatrixD42 const &

        """
        return _itkMatrixPython.itkMatrixD42___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __imul__(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD42___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorD4

        Parameters
        ----------
        vect: itkVectorD2 const &

        __mul__(self, pnt) -> itkPointD4

        Parameters
        ----------
        pnt: itkPointD2 const &

        __mul__(self, covect) -> itkCovariantVectorD4

        Parameters
        ----------
        covect: itkCovariantVectorD2 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< double,4 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< double,2 > const &

        __mul__(self, matrix) -> itkMatrixD42

        Parameters
        ----------
        matrix: itkMatrixD22 const &

        __mul__(self, matrix) -> vnl_matrixD

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __mul__(self, vc) -> vnl_vectorD

        Parameters
        ----------
        vc: vnl_vectorD const &

        __mul__(self, value) -> itkMatrixD42

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD42___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixD42___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixD42___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> double

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> double const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixD42___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< double,4,2 >
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< double,4,2 > const &
        """
        return _itkMatrixPython.itkMatrixD42___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixD42_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixD42"""
        return _itkMatrixPython.itkMatrixD42_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD42_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixD42 const &

        """
        return _itkMatrixPython.itkMatrixD42___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixD42 const &

        """
        return _itkMatrixPython.itkMatrixD42___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixed< double,2,4 >"""
        return _itkMatrixPython.itkMatrixD42_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixed< double,2,4 >"""
        return _itkMatrixPython.itkMatrixD42_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixD42 &

        """
        return _itkMatrixPython.itkMatrixD42_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __init__(self, matrix) -> itkMatrixD42

        Parameters
        ----------
        matrix: vnl_matrix_fixed< double,4,2 > const &

        __init__(self) -> itkMatrixD42
        __init__(self, arg0) -> itkMatrixD42

        Parameters
        ----------
        arg0: itkMatrixD42 const &

        """
        _itkMatrixPython.itkMatrixD42_swiginit(self, _itkMatrixPython.new_itkMatrixD42(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixD42

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixD42 in _itkMatrixPython:
_itkMatrixPython.itkMatrixD42_swigregister(itkMatrixD42)
class itkMatrixD43(object):
    r"""Proxy of C++ itkMatrixD43 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixD43

        Parameters
        ----------
        matrix: itkMatrixD43 const &

        """
        return _itkMatrixPython.itkMatrixD43___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixD43

        Parameters
        ----------
        matrix: itkMatrixD43 const &

        """
        return _itkMatrixPython.itkMatrixD43___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixD43

        Parameters
        ----------
        matrix: itkMatrixD43 const &

        """
        return _itkMatrixPython.itkMatrixD43___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixD43

        Parameters
        ----------
        matrix: itkMatrixD43 const &

        """
        return _itkMatrixPython.itkMatrixD43___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __imul__(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD43___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorD4

        Parameters
        ----------
        vect: itkVectorD3 const &

        __mul__(self, pnt) -> itkPointD4

        Parameters
        ----------
        pnt: itkPointD3 const &

        __mul__(self, covect) -> itkCovariantVectorD4

        Parameters
        ----------
        covect: itkCovariantVectorD3 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< double,4 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< double,3 > const &

        __mul__(self, matrix) -> itkMatrixD43

        Parameters
        ----------
        matrix: itkMatrixD33 const &

        __mul__(self, matrix) -> vnl_matrixD

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __mul__(self, vc) -> vnl_vectorD

        Parameters
        ----------
        vc: vnl_vectorD const &

        __mul__(self, value) -> itkMatrixD43

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD43___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixD43___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixD43___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> double

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> double const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixD43___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_4_3
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_4_3
        """
        return _itkMatrixPython.itkMatrixD43___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixD43_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixD43"""
        return _itkMatrixPython.itkMatrixD43_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD43_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixD43 const &

        """
        return _itkMatrixPython.itkMatrixD43___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixD43 const &

        """
        return _itkMatrixPython.itkMatrixD43___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedD_3_4"""
        return _itkMatrixPython.itkMatrixD43_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedD_3_4"""
        return _itkMatrixPython.itkMatrixD43_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixD43 &

        """
        return _itkMatrixPython.itkMatrixD43_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __init__(self, matrix) -> itkMatrixD43

        Parameters
        ----------
        matrix: vnl_matrix_fixedD_4_3 const &

        __init__(self) -> itkMatrixD43
        __init__(self, arg0) -> itkMatrixD43

        Parameters
        ----------
        arg0: itkMatrixD43 const &

        """
        _itkMatrixPython.itkMatrixD43_swiginit(self, _itkMatrixPython.new_itkMatrixD43(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixD43

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixD43 in _itkMatrixPython:
_itkMatrixPython.itkMatrixD43_swigregister(itkMatrixD43)
class itkMatrixD44(object):
    r"""Proxy of C++ itkMatrixD44 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixD44

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        """
        return _itkMatrixPython.itkMatrixD44___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixD44

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        """
        return _itkMatrixPython.itkMatrixD44___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixD44

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        """
        return _itkMatrixPython.itkMatrixD44___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixD44

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        """
        return _itkMatrixPython.itkMatrixD44___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __imul__(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD44___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorD4

        Parameters
        ----------
        vect: itkVectorD4 const &

        __mul__(self, pnt) -> itkPointD4

        Parameters
        ----------
        pnt: itkPointD4 const &

        __mul__(self, covect) -> itkCovariantVectorD4

        Parameters
        ----------
        covect: itkCovariantVectorD4 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< double,4 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< double,4 > const &

        __mul__(self, matrix) -> itkMatrixD44

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        __mul__(self, matrix) -> vnl_matrixD

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __mul__(self, vc) -> vnl_vectorD

        Parameters
        ----------
        vc: vnl_vectorD const &

        __mul__(self, value) -> itkMatrixD44

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD44___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixD44___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixD44___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> double

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> double const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixD44___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_4_4
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedD_4_4
        """
        return _itkMatrixPython.itkMatrixD44___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixD44_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixD44"""
        return _itkMatrixPython.itkMatrixD44_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: double const &

        """
        return _itkMatrixPython.itkMatrixD44_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixD44 const &

        """
        return _itkMatrixPython.itkMatrixD44___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixD44 const &

        """
        return _itkMatrixPython.itkMatrixD44___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedD_4_4"""
        return _itkMatrixPython.itkMatrixD44_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedD_4_4"""
        return _itkMatrixPython.itkMatrixD44_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixD44 &

        """
        return _itkMatrixPython.itkMatrixD44_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixD const &

        __init__(self, matrix) -> itkMatrixD44

        Parameters
        ----------
        matrix: vnl_matrix_fixedD_4_4 const &

        __init__(self) -> itkMatrixD44
        __init__(self, arg0) -> itkMatrixD44

        Parameters
        ----------
        arg0: itkMatrixD44 const &

        """
        _itkMatrixPython.itkMatrixD44_swiginit(self, _itkMatrixPython.new_itkMatrixD44(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixD44

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixD44 in _itkMatrixPython:
_itkMatrixPython.itkMatrixD44_swigregister(itkMatrixD44)
class itkMatrixF22(object):
    r"""Proxy of C++ itkMatrixF22 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixF22

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        """
        return _itkMatrixPython.itkMatrixF22___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixF22

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        """
        return _itkMatrixPython.itkMatrixF22___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixF22

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        """
        return _itkMatrixPython.itkMatrixF22___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixF22

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        """
        return _itkMatrixPython.itkMatrixF22___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __imul__(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF22___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorF2

        Parameters
        ----------
        vect: itkVectorF2 const &

        __mul__(self, pnt) -> itkPointF2

        Parameters
        ----------
        pnt: itkPointF2 const &

        __mul__(self, covect) -> itkCovariantVectorF2

        Parameters
        ----------
        covect: itkCovariantVectorF2 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< float,2 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< float,2 > const &

        __mul__(self, matrix) -> itkMatrixF22

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        __mul__(self, matrix) -> vnl_matrixF

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __mul__(self, vc) -> vnl_vectorF

        Parameters
        ----------
        vc: vnl_vectorF const &

        __mul__(self, value) -> itkMatrixF22

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF22___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixF22___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixF22___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> float

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> float const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixF22___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_2_2
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_2_2
        """
        return _itkMatrixPython.itkMatrixF22___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixF22_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixF22"""
        return _itkMatrixPython.itkMatrixF22_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF22_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        """
        return _itkMatrixPython.itkMatrixF22___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixF22 const &

        """
        return _itkMatrixPython.itkMatrixF22___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedF_2_2"""
        return _itkMatrixPython.itkMatrixF22_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedF_2_2"""
        return _itkMatrixPython.itkMatrixF22_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixF22 &

        """
        return _itkMatrixPython.itkMatrixF22_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __init__(self, matrix) -> itkMatrixF22

        Parameters
        ----------
        matrix: vnl_matrix_fixedF_2_2 const &

        __init__(self) -> itkMatrixF22
        __init__(self, arg0) -> itkMatrixF22

        Parameters
        ----------
        arg0: itkMatrixF22 const &

        """
        _itkMatrixPython.itkMatrixF22_swiginit(self, _itkMatrixPython.new_itkMatrixF22(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixF22

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixF22 in _itkMatrixPython:
_itkMatrixPython.itkMatrixF22_swigregister(itkMatrixF22)
class itkMatrixF23(object):
    r"""Proxy of C++ itkMatrixF23 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixF23

        Parameters
        ----------
        matrix: itkMatrixF23 const &

        """
        return _itkMatrixPython.itkMatrixF23___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixF23

        Parameters
        ----------
        matrix: itkMatrixF23 const &

        """
        return _itkMatrixPython.itkMatrixF23___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixF23

        Parameters
        ----------
        matrix: itkMatrixF23 const &

        """
        return _itkMatrixPython.itkMatrixF23___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixF23

        Parameters
        ----------
        matrix: itkMatrixF23 const &

        """
        return _itkMatrixPython.itkMatrixF23___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __imul__(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF23___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorF2

        Parameters
        ----------
        vect: itkVectorF3 const &

        __mul__(self, pnt) -> itkPointF2

        Parameters
        ----------
        pnt: itkPointF3 const &

        __mul__(self, covect) -> itkCovariantVectorF2

        Parameters
        ----------
        covect: itkCovariantVectorF3 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< float,2 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< float,3 > const &

        __mul__(self, matrix) -> itkMatrixF23

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        __mul__(self, matrix) -> vnl_matrixF

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __mul__(self, vc) -> vnl_vectorF

        Parameters
        ----------
        vc: vnl_vectorF const &

        __mul__(self, value) -> itkMatrixF23

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF23___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixF23___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixF23___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> float

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> float const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixF23___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_2_3
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_2_3
        """
        return _itkMatrixPython.itkMatrixF23___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixF23_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixF23"""
        return _itkMatrixPython.itkMatrixF23_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF23_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixF23 const &

        """
        return _itkMatrixPython.itkMatrixF23___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixF23 const &

        """
        return _itkMatrixPython.itkMatrixF23___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixed< float,3,2 >"""
        return _itkMatrixPython.itkMatrixF23_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixed< float,3,2 >"""
        return _itkMatrixPython.itkMatrixF23_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixF23 &

        """
        return _itkMatrixPython.itkMatrixF23_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __init__(self, matrix) -> itkMatrixF23

        Parameters
        ----------
        matrix: vnl_matrix_fixedF_2_3 const &

        __init__(self) -> itkMatrixF23
        __init__(self, arg0) -> itkMatrixF23

        Parameters
        ----------
        arg0: itkMatrixF23 const &

        """
        _itkMatrixPython.itkMatrixF23_swiginit(self, _itkMatrixPython.new_itkMatrixF23(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixF23

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixF23 in _itkMatrixPython:
_itkMatrixPython.itkMatrixF23_swigregister(itkMatrixF23)
class itkMatrixF24(object):
    r"""Proxy of C++ itkMatrixF24 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixF24

        Parameters
        ----------
        matrix: itkMatrixF24 const &

        """
        return _itkMatrixPython.itkMatrixF24___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixF24

        Parameters
        ----------
        matrix: itkMatrixF24 const &

        """
        return _itkMatrixPython.itkMatrixF24___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixF24

        Parameters
        ----------
        matrix: itkMatrixF24 const &

        """
        return _itkMatrixPython.itkMatrixF24___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixF24

        Parameters
        ----------
        matrix: itkMatrixF24 const &

        """
        return _itkMatrixPython.itkMatrixF24___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __imul__(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF24___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorF2

        Parameters
        ----------
        vect: itkVectorF4 const &

        __mul__(self, pnt) -> itkPointF2

        Parameters
        ----------
        pnt: itkPointF4 const &

        __mul__(self, covect) -> itkCovariantVectorF2

        Parameters
        ----------
        covect: itkCovariantVectorF4 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< float,2 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< float,4 > const &

        __mul__(self, matrix) -> itkMatrixF24

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        __mul__(self, matrix) -> vnl_matrixF

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __mul__(self, vc) -> vnl_vectorF

        Parameters
        ----------
        vc: vnl_vectorF const &

        __mul__(self, value) -> itkMatrixF24

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF24___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixF24___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixF24___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> float

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> float const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixF24___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< float,2,4 >
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< float,2,4 > const &
        """
        return _itkMatrixPython.itkMatrixF24___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixF24_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixF24"""
        return _itkMatrixPython.itkMatrixF24_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF24_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixF24 const &

        """
        return _itkMatrixPython.itkMatrixF24___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixF24 const &

        """
        return _itkMatrixPython.itkMatrixF24___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixed< float,4,2 >"""
        return _itkMatrixPython.itkMatrixF24_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixed< float,4,2 >"""
        return _itkMatrixPython.itkMatrixF24_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixF24 &

        """
        return _itkMatrixPython.itkMatrixF24_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __init__(self, matrix) -> itkMatrixF24

        Parameters
        ----------
        matrix: vnl_matrix_fixed< float,2,4 > const &

        __init__(self) -> itkMatrixF24
        __init__(self, arg0) -> itkMatrixF24

        Parameters
        ----------
        arg0: itkMatrixF24 const &

        """
        _itkMatrixPython.itkMatrixF24_swiginit(self, _itkMatrixPython.new_itkMatrixF24(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixF24

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixF24 in _itkMatrixPython:
_itkMatrixPython.itkMatrixF24_swigregister(itkMatrixF24)
class itkMatrixF32(object):
    r"""Proxy of C++ itkMatrixF32 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixF32

        Parameters
        ----------
        matrix: itkMatrixF32 const &

        """
        return _itkMatrixPython.itkMatrixF32___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixF32

        Parameters
        ----------
        matrix: itkMatrixF32 const &

        """
        return _itkMatrixPython.itkMatrixF32___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixF32

        Parameters
        ----------
        matrix: itkMatrixF32 const &

        """
        return _itkMatrixPython.itkMatrixF32___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixF32

        Parameters
        ----------
        matrix: itkMatrixF32 const &

        """
        return _itkMatrixPython.itkMatrixF32___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __imul__(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF32___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorF3

        Parameters
        ----------
        vect: itkVectorF2 const &

        __mul__(self, pnt) -> itkPointF3

        Parameters
        ----------
        pnt: itkPointF2 const &

        __mul__(self, covect) -> itkCovariantVectorF3

        Parameters
        ----------
        covect: itkCovariantVectorF2 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< float,3 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< float,2 > const &

        __mul__(self, matrix) -> itkMatrixF32

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        __mul__(self, matrix) -> vnl_matrixF

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __mul__(self, vc) -> vnl_vectorF

        Parameters
        ----------
        vc: vnl_vectorF const &

        __mul__(self, value) -> itkMatrixF32

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF32___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixF32___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixF32___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> float

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> float const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixF32___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< float,3,2 >
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< float,3,2 > const &
        """
        return _itkMatrixPython.itkMatrixF32___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixF32_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixF32"""
        return _itkMatrixPython.itkMatrixF32_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF32_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixF32 const &

        """
        return _itkMatrixPython.itkMatrixF32___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixF32 const &

        """
        return _itkMatrixPython.itkMatrixF32___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedF_2_3"""
        return _itkMatrixPython.itkMatrixF32_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedF_2_3"""
        return _itkMatrixPython.itkMatrixF32_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixF32 &

        """
        return _itkMatrixPython.itkMatrixF32_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __init__(self, matrix) -> itkMatrixF32

        Parameters
        ----------
        matrix: vnl_matrix_fixed< float,3,2 > const &

        __init__(self) -> itkMatrixF32
        __init__(self, arg0) -> itkMatrixF32

        Parameters
        ----------
        arg0: itkMatrixF32 const &

        """
        _itkMatrixPython.itkMatrixF32_swiginit(self, _itkMatrixPython.new_itkMatrixF32(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixF32

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixF32 in _itkMatrixPython:
_itkMatrixPython.itkMatrixF32_swigregister(itkMatrixF32)
class itkMatrixF33(object):
    r"""Proxy of C++ itkMatrixF33 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixF33

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        """
        return _itkMatrixPython.itkMatrixF33___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixF33

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        """
        return _itkMatrixPython.itkMatrixF33___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixF33

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        """
        return _itkMatrixPython.itkMatrixF33___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixF33

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        """
        return _itkMatrixPython.itkMatrixF33___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __imul__(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF33___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorF3

        Parameters
        ----------
        vect: itkVectorF3 const &

        __mul__(self, pnt) -> itkPointF3

        Parameters
        ----------
        pnt: itkPointF3 const &

        __mul__(self, covect) -> itkCovariantVectorF3

        Parameters
        ----------
        covect: itkCovariantVectorF3 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< float,3 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< float,3 > const &

        __mul__(self, matrix) -> itkMatrixF33

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        __mul__(self, matrix) -> vnl_matrixF

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __mul__(self, vc) -> vnl_vectorF

        Parameters
        ----------
        vc: vnl_vectorF const &

        __mul__(self, value) -> itkMatrixF33

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF33___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixF33___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixF33___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> float

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> float const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixF33___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_3_3
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_3_3
        """
        return _itkMatrixPython.itkMatrixF33___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixF33_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixF33"""
        return _itkMatrixPython.itkMatrixF33_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF33_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        """
        return _itkMatrixPython.itkMatrixF33___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixF33 const &

        """
        return _itkMatrixPython.itkMatrixF33___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedF_3_3"""
        return _itkMatrixPython.itkMatrixF33_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedF_3_3"""
        return _itkMatrixPython.itkMatrixF33_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixF33 &

        """
        return _itkMatrixPython.itkMatrixF33_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __init__(self, matrix) -> itkMatrixF33

        Parameters
        ----------
        matrix: vnl_matrix_fixedF_3_3 const &

        __init__(self) -> itkMatrixF33
        __init__(self, arg0) -> itkMatrixF33

        Parameters
        ----------
        arg0: itkMatrixF33 const &

        """
        _itkMatrixPython.itkMatrixF33_swiginit(self, _itkMatrixPython.new_itkMatrixF33(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixF33

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixF33 in _itkMatrixPython:
_itkMatrixPython.itkMatrixF33_swigregister(itkMatrixF33)
class itkMatrixF34(object):
    r"""Proxy of C++ itkMatrixF34 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixF34

        Parameters
        ----------
        matrix: itkMatrixF34 const &

        """
        return _itkMatrixPython.itkMatrixF34___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixF34

        Parameters
        ----------
        matrix: itkMatrixF34 const &

        """
        return _itkMatrixPython.itkMatrixF34___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixF34

        Parameters
        ----------
        matrix: itkMatrixF34 const &

        """
        return _itkMatrixPython.itkMatrixF34___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixF34

        Parameters
        ----------
        matrix: itkMatrixF34 const &

        """
        return _itkMatrixPython.itkMatrixF34___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __imul__(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF34___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorF3

        Parameters
        ----------
        vect: itkVectorF4 const &

        __mul__(self, pnt) -> itkPointF3

        Parameters
        ----------
        pnt: itkPointF4 const &

        __mul__(self, covect) -> itkCovariantVectorF3

        Parameters
        ----------
        covect: itkCovariantVectorF4 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< float,3 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< float,4 > const &

        __mul__(self, matrix) -> itkMatrixF34

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        __mul__(self, matrix) -> vnl_matrixF

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __mul__(self, vc) -> vnl_vectorF

        Parameters
        ----------
        vc: vnl_vectorF const &

        __mul__(self, value) -> itkMatrixF34

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF34___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixF34___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixF34___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> float

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> float const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixF34___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_3_4
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_3_4
        """
        return _itkMatrixPython.itkMatrixF34___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixF34_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixF34"""
        return _itkMatrixPython.itkMatrixF34_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF34_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixF34 const &

        """
        return _itkMatrixPython.itkMatrixF34___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixF34 const &

        """
        return _itkMatrixPython.itkMatrixF34___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedF_4_3"""
        return _itkMatrixPython.itkMatrixF34_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedF_4_3"""
        return _itkMatrixPython.itkMatrixF34_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixF34 &

        """
        return _itkMatrixPython.itkMatrixF34_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __init__(self, matrix) -> itkMatrixF34

        Parameters
        ----------
        matrix: vnl_matrix_fixedF_3_4 const &

        __init__(self) -> itkMatrixF34
        __init__(self, arg0) -> itkMatrixF34

        Parameters
        ----------
        arg0: itkMatrixF34 const &

        """
        _itkMatrixPython.itkMatrixF34_swiginit(self, _itkMatrixPython.new_itkMatrixF34(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixF34

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixF34 in _itkMatrixPython:
_itkMatrixPython.itkMatrixF34_swigregister(itkMatrixF34)
class itkMatrixF42(object):
    r"""Proxy of C++ itkMatrixF42 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixF42

        Parameters
        ----------
        matrix: itkMatrixF42 const &

        """
        return _itkMatrixPython.itkMatrixF42___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixF42

        Parameters
        ----------
        matrix: itkMatrixF42 const &

        """
        return _itkMatrixPython.itkMatrixF42___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixF42

        Parameters
        ----------
        matrix: itkMatrixF42 const &

        """
        return _itkMatrixPython.itkMatrixF42___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixF42

        Parameters
        ----------
        matrix: itkMatrixF42 const &

        """
        return _itkMatrixPython.itkMatrixF42___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __imul__(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF42___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorF4

        Parameters
        ----------
        vect: itkVectorF2 const &

        __mul__(self, pnt) -> itkPointF4

        Parameters
        ----------
        pnt: itkPointF2 const &

        __mul__(self, covect) -> itkCovariantVectorF4

        Parameters
        ----------
        covect: itkCovariantVectorF2 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< float,4 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< float,2 > const &

        __mul__(self, matrix) -> itkMatrixF42

        Parameters
        ----------
        matrix: itkMatrixF22 const &

        __mul__(self, matrix) -> vnl_matrixF

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __mul__(self, vc) -> vnl_vectorF

        Parameters
        ----------
        vc: vnl_vectorF const &

        __mul__(self, value) -> itkMatrixF42

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF42___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixF42___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixF42___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> float

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> float const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixF42___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< float,4,2 >
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixed< float,4,2 > const &
        """
        return _itkMatrixPython.itkMatrixF42___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixF42_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixF42"""
        return _itkMatrixPython.itkMatrixF42_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF42_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixF42 const &

        """
        return _itkMatrixPython.itkMatrixF42___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixF42 const &

        """
        return _itkMatrixPython.itkMatrixF42___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixed< float,2,4 >"""
        return _itkMatrixPython.itkMatrixF42_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixed< float,2,4 >"""
        return _itkMatrixPython.itkMatrixF42_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixF42 &

        """
        return _itkMatrixPython.itkMatrixF42_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __init__(self, matrix) -> itkMatrixF42

        Parameters
        ----------
        matrix: vnl_matrix_fixed< float,4,2 > const &

        __init__(self) -> itkMatrixF42
        __init__(self, arg0) -> itkMatrixF42

        Parameters
        ----------
        arg0: itkMatrixF42 const &

        """
        _itkMatrixPython.itkMatrixF42_swiginit(self, _itkMatrixPython.new_itkMatrixF42(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixF42

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixF42 in _itkMatrixPython:
_itkMatrixPython.itkMatrixF42_swigregister(itkMatrixF42)
class itkMatrixF43(object):
    r"""Proxy of C++ itkMatrixF43 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixF43

        Parameters
        ----------
        matrix: itkMatrixF43 const &

        """
        return _itkMatrixPython.itkMatrixF43___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixF43

        Parameters
        ----------
        matrix: itkMatrixF43 const &

        """
        return _itkMatrixPython.itkMatrixF43___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixF43

        Parameters
        ----------
        matrix: itkMatrixF43 const &

        """
        return _itkMatrixPython.itkMatrixF43___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixF43

        Parameters
        ----------
        matrix: itkMatrixF43 const &

        """
        return _itkMatrixPython.itkMatrixF43___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __imul__(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF43___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorF4

        Parameters
        ----------
        vect: itkVectorF3 const &

        __mul__(self, pnt) -> itkPointF4

        Parameters
        ----------
        pnt: itkPointF3 const &

        __mul__(self, covect) -> itkCovariantVectorF4

        Parameters
        ----------
        covect: itkCovariantVectorF3 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< float,4 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< float,3 > const &

        __mul__(self, matrix) -> itkMatrixF43

        Parameters
        ----------
        matrix: itkMatrixF33 const &

        __mul__(self, matrix) -> vnl_matrixF

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __mul__(self, vc) -> vnl_vectorF

        Parameters
        ----------
        vc: vnl_vectorF const &

        __mul__(self, value) -> itkMatrixF43

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF43___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixF43___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixF43___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> float

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> float const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixF43___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_4_3
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_4_3
        """
        return _itkMatrixPython.itkMatrixF43___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixF43_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixF43"""
        return _itkMatrixPython.itkMatrixF43_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF43_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixF43 const &

        """
        return _itkMatrixPython.itkMatrixF43___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixF43 const &

        """
        return _itkMatrixPython.itkMatrixF43___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedF_3_4"""
        return _itkMatrixPython.itkMatrixF43_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedF_3_4"""
        return _itkMatrixPython.itkMatrixF43_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixF43 &

        """
        return _itkMatrixPython.itkMatrixF43_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __init__(self, matrix) -> itkMatrixF43

        Parameters
        ----------
        matrix: vnl_matrix_fixedF_4_3 const &

        __init__(self) -> itkMatrixF43
        __init__(self, arg0) -> itkMatrixF43

        Parameters
        ----------
        arg0: itkMatrixF43 const &

        """
        _itkMatrixPython.itkMatrixF43_swiginit(self, _itkMatrixPython.new_itkMatrixF43(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixF43

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixF43 in _itkMatrixPython:
_itkMatrixPython.itkMatrixF43_swigregister(itkMatrixF43)
class itkMatrixF44(object):
    r"""Proxy of C++ itkMatrixF44 class."""

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

    def __add__(self, matrix):
        r"""
        __add__(self, matrix) -> itkMatrixF44

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        """
        return _itkMatrixPython.itkMatrixF44___add__(self, matrix)

    def __iadd__(self, matrix):
        r"""
        __iadd__(self, matrix) -> itkMatrixF44

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        """
        return _itkMatrixPython.itkMatrixF44___iadd__(self, matrix)

    def __sub__(self, matrix):
        r"""
        __sub__(self, matrix) -> itkMatrixF44

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        """
        return _itkMatrixPython.itkMatrixF44___sub__(self, matrix)

    def __isub__(self, matrix):
        r"""
        __isub__(self, matrix) -> itkMatrixF44

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        """
        return _itkMatrixPython.itkMatrixF44___isub__(self, matrix)

    def __imul__(self, *args):
        r"""
        __imul__(self, matrix)

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        __imul__(self, matrix)

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __imul__(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF44___imul__(self, *args)

    def __mul__(self, *args):
        r"""
        __mul__(self, vect) -> itkVectorF4

        Parameters
        ----------
        vect: itkVectorF4 const &

        __mul__(self, pnt) -> itkPointF4

        Parameters
        ----------
        pnt: itkPointF4 const &

        __mul__(self, covect) -> itkCovariantVectorF4

        Parameters
        ----------
        covect: itkCovariantVectorF4 const &

        __mul__(self, inVNLvect) -> vnl_vector_fixed< float,4 >

        Parameters
        ----------
        inVNLvect: vnl_vector_fixed< float,4 > const &

        __mul__(self, matrix) -> itkMatrixF44

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        __mul__(self, matrix) -> vnl_matrixF

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __mul__(self, vc) -> vnl_vectorF

        Parameters
        ----------
        vc: vnl_vectorF const &

        __mul__(self, value) -> itkMatrixF44

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF44___mul__(self, *args)

    def __itruediv__(self, *args):
        return _itkMatrixPython.itkMatrixF44___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _itkMatrixPython.itkMatrixF44___truediv__(self, *args)
    __div__ = __truediv__



    def __call__(self, *args):
        r"""
        __call__(self, row, col) -> float

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        __call__(self, row, col) -> float const &

        Parameters
        ----------
        row: unsigned int
        col: unsigned int

        """
        return _itkMatrixPython.itkMatrixF44___call__(self, *args)

    def __GetVnlMatrix_orig__(self, *args):
        r"""
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_4_4
        __GetVnlMatrix_orig__(self) -> vnl_matrix_fixedF_4_4
        """
        return _itkMatrixPython.itkMatrixF44___GetVnlMatrix_orig__(self, *args)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixPython.itkMatrixF44_SetIdentity(self)

    @staticmethod
    def GetIdentity():
        r"""GetIdentity() -> itkMatrixF44"""
        return _itkMatrixPython.itkMatrixF44_GetIdentity()

    def Fill(self, value):
        r"""
        Fill(self, value)

        Parameters
        ----------
        value: float const &

        """
        return _itkMatrixPython.itkMatrixF44_Fill(self, value)

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

        Parameters
        ----------
        matrix: itkMatrixF44 const &

        """
        return _itkMatrixPython.itkMatrixF44___eq__(self, matrix)

    def __ne__(self, other):
        r"""
        __ne__(self, other) -> bool

        Parameters
        ----------
        other: itkMatrixF44 const &

        """
        return _itkMatrixPython.itkMatrixF44___ne__(self, other)

    def GetInverse(self):
        r"""GetInverse(self) -> vnl_matrix_fixedF_4_4"""
        return _itkMatrixPython.itkMatrixF44_GetInverse(self)

    def GetTranspose(self):
        r"""GetTranspose(self) -> vnl_matrix_fixedF_4_4"""
        return _itkMatrixPython.itkMatrixF44_GetTranspose(self)

    def swap(self, other):
        r"""
        swap(self, other)

        Parameters
        ----------
        other: itkMatrixF44 &

        """
        return _itkMatrixPython.itkMatrixF44_swap(self, other)

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

        Parameters
        ----------
        matrix: vnl_matrixF const &

        __init__(self, matrix) -> itkMatrixF44

        Parameters
        ----------
        matrix: vnl_matrix_fixedF_4_4 const &

        __init__(self) -> itkMatrixF44
        __init__(self, arg0) -> itkMatrixF44

        Parameters
        ----------
        arg0: itkMatrixF44 const &

        """
        _itkMatrixPython.itkMatrixF44_swiginit(self, _itkMatrixPython.new_itkMatrixF44(*args))
    __swig_destroy__ = _itkMatrixPython.delete_itkMatrixF44

    def GetVnlMatrix(self):
        vnl_reference = self.__GetVnlMatrix_orig__()
        vnl_copy = type(vnl_reference)(vnl_reference)
        return vnl_copy

    def __repr__(self):
        vnl_mat = self.GetVnlMatrix()
        python_list_mat = [
          [vnl_mat.get(i, j) for j in range(vnl_mat.cols())]
          for i in range(vnl_mat.rows())
        ]
        return type(self).__name__ + " (" + repr(python_list_mat) + ")"

    def __array__(self, dtype=None):
        import itk
        import numpy as np
        array = itk.array_from_matrix(self)
        return np.asarray(array, dtype=dtype)

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

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        matrix = itk.matrix_from_array(state)
        self.__init__(matrix)


# Register itkMatrixF44 in _itkMatrixPython:
_itkMatrixPython.itkMatrixF44_swigregister(itkMatrixF44)

