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



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

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.itkVariableLengthVectorPython
import itk.stdcomplexPython
import itk.pyBasePython
import itk.itkOptimizerParametersPython
import itk.vnl_vectorPython
import itk.vnl_matrixPython
import itk.ITKCommonBasePython
import itk.itkMatrixPython
import itk.itkCovariantVectorPython
import itk.vnl_vector_refPython
import itk.itkVectorPython
import itk.itkFixedArrayPython
import itk.vnl_matrix_fixedPython
import itk.itkPointPython
import itk.itkArrayPython
import itk.itkTransformBasePython
import itk.itkSymmetricSecondRankTensorPython
import itk.itkArray2DPython
import itk.itkDiffusionTensor3DPython

def itkMatrixOffsetTransformBaseD22_New():
    return itkMatrixOffsetTransformBaseD22.New()

class itkMatrixOffsetTransformBaseD22(itk.itkTransformBasePython.itkTransformD22):
    r"""Proxy of C++ itkMatrixOffsetTransformBaseD22 class."""

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMatrixOffsetTransformBaseD22_Pointer"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMatrixOffsetTransformBaseD22_Pointer"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_Clone(self)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_SetIdentity(self)

    def SetMatrix(self, matrix):
        r"""
        SetMatrix(self, matrix)

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

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_SetMatrix(self, matrix)

    def GetMatrix(self):
        r"""GetMatrix(self) -> itkMatrixD22"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_GetMatrix(self)

    def SetOffset(self, offset):
        r"""
        SetOffset(self, offset)

        Parameters
        ----------
        offset: itkVectorD2 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_SetOffset(self, offset)

    def GetOffset(self):
        r"""GetOffset(self) -> itkVectorD2"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_GetOffset(self)

    def SetCenter(self, center):
        r"""
        SetCenter(self, center)

        Parameters
        ----------
        center: itkPointD2 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_SetCenter(self, center)

    def GetCenter(self):
        r"""GetCenter(self) -> itkPointD2"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_GetCenter(self)

    def SetTranslation(self, translation):
        r"""
        SetTranslation(self, translation)

        Parameters
        ----------
        translation: itkVectorD2 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_SetTranslation(self, translation)

    def GetTranslation(self):
        r"""GetTranslation(self) -> itkVectorD2"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_GetTranslation(self)

    def Compose(self, other, pre=False):
        r"""
        Compose(self, other, pre=False)

        Parameters
        ----------
        other: itkMatrixOffsetTransformBaseD22 const *
        pre: bool

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_Compose(self, other, pre)

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

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

        TransformVector(self, vect) -> vnl_vector_fixed< double,2 >

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

        TransformVector(self, vect) -> itkVariableLengthVectorD

        Parameters
        ----------
        vect: itkVariableLengthVectorD const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_TransformVector(self, *args)

    def TransformCovariantVector(self, *args):
        r"""
        TransformCovariantVector(self, vec) -> itkCovariantVectorD2

        Parameters
        ----------
        vec: itkCovariantVectorD2 const &

        TransformCovariantVector(self, vect) -> itkVariableLengthVectorD

        Parameters
        ----------
        vect: itkVariableLengthVectorD const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_TransformCovariantVector(self, *args)

    def TransformDiffusionTensor3D(self, *args):
        r"""
        TransformDiffusionTensor3D(self, tensor) -> itkDiffusionTensor3DD

        Parameters
        ----------
        tensor: itkDiffusionTensor3DD const &

        TransformDiffusionTensor3D(self, tensor) -> itkVariableLengthVectorD

        Parameters
        ----------
        tensor: itkVariableLengthVectorD const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_TransformDiffusionTensor3D(self, *args)

    def TransformSymmetricSecondRankTensor(self, *args):
        r"""
        TransformSymmetricSecondRankTensor(self, inputTensor) -> itkSymmetricSecondRankTensorD2

        Parameters
        ----------
        inputTensor: itkSymmetricSecondRankTensorD2 const &

        TransformSymmetricSecondRankTensor(self, inputTensor) -> itkVariableLengthVectorD

        Parameters
        ----------
        inputTensor: itkVariableLengthVectorD const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_TransformSymmetricSecondRankTensor(self, *args)

    def GetInverse(self, inverse):
        r"""
        GetInverse(self, inverse) -> bool

        Parameters
        ----------
        inverse: itkMatrixOffsetTransformBaseD22 *

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_GetInverse(self, inverse)
    __swig_destroy__ = _itkMatrixOffsetTransformBasePython.delete_itkMatrixOffsetTransformBaseD22

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

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

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_cast(obj)

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

        Create a new object of the class itkMatrixOffsetTransformBaseD22 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMatrixOffsetTransformBaseD22.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMatrixOffsetTransformBaseD22 in _itkMatrixOffsetTransformBasePython:
_itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD22_swigregister(itkMatrixOffsetTransformBaseD22)

def itkMatrixOffsetTransformBaseD33_New():
    return itkMatrixOffsetTransformBaseD33.New()

class itkMatrixOffsetTransformBaseD33(itk.itkTransformBasePython.itkTransformD33):
    r"""Proxy of C++ itkMatrixOffsetTransformBaseD33 class."""

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMatrixOffsetTransformBaseD33_Pointer"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMatrixOffsetTransformBaseD33_Pointer"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_Clone(self)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_SetIdentity(self)

    def SetMatrix(self, matrix):
        r"""
        SetMatrix(self, matrix)

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

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_SetMatrix(self, matrix)

    def GetMatrix(self):
        r"""GetMatrix(self) -> itkMatrixD33"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_GetMatrix(self)

    def SetOffset(self, offset):
        r"""
        SetOffset(self, offset)

        Parameters
        ----------
        offset: itkVectorD3 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_SetOffset(self, offset)

    def GetOffset(self):
        r"""GetOffset(self) -> itkVectorD3"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_GetOffset(self)

    def SetCenter(self, center):
        r"""
        SetCenter(self, center)

        Parameters
        ----------
        center: itkPointD3 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_SetCenter(self, center)

    def GetCenter(self):
        r"""GetCenter(self) -> itkPointD3"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_GetCenter(self)

    def SetTranslation(self, translation):
        r"""
        SetTranslation(self, translation)

        Parameters
        ----------
        translation: itkVectorD3 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_SetTranslation(self, translation)

    def GetTranslation(self):
        r"""GetTranslation(self) -> itkVectorD3"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_GetTranslation(self)

    def Compose(self, other, pre=False):
        r"""
        Compose(self, other, pre=False)

        Parameters
        ----------
        other: itkMatrixOffsetTransformBaseD33 const *
        pre: bool

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_Compose(self, other, pre)

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

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

        TransformVector(self, vect) -> vnl_vector_fixed< double,3 >

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

        TransformVector(self, vect) -> itkVariableLengthVectorD

        Parameters
        ----------
        vect: itkVariableLengthVectorD const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_TransformVector(self, *args)

    def TransformCovariantVector(self, *args):
        r"""
        TransformCovariantVector(self, vec) -> itkCovariantVectorD3

        Parameters
        ----------
        vec: itkCovariantVectorD3 const &

        TransformCovariantVector(self, vect) -> itkVariableLengthVectorD

        Parameters
        ----------
        vect: itkVariableLengthVectorD const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_TransformCovariantVector(self, *args)

    def TransformDiffusionTensor3D(self, *args):
        r"""
        TransformDiffusionTensor3D(self, tensor) -> itkDiffusionTensor3DD

        Parameters
        ----------
        tensor: itkDiffusionTensor3DD const &

        TransformDiffusionTensor3D(self, tensor) -> itkVariableLengthVectorD

        Parameters
        ----------
        tensor: itkVariableLengthVectorD const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_TransformDiffusionTensor3D(self, *args)

    def TransformSymmetricSecondRankTensor(self, *args):
        r"""
        TransformSymmetricSecondRankTensor(self, inputTensor) -> itkSymmetricSecondRankTensorD3

        Parameters
        ----------
        inputTensor: itkSymmetricSecondRankTensorD3 const &

        TransformSymmetricSecondRankTensor(self, inputTensor) -> itkVariableLengthVectorD

        Parameters
        ----------
        inputTensor: itkVariableLengthVectorD const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_TransformSymmetricSecondRankTensor(self, *args)

    def GetInverse(self, inverse):
        r"""
        GetInverse(self, inverse) -> bool

        Parameters
        ----------
        inverse: itkMatrixOffsetTransformBaseD33 *

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_GetInverse(self, inverse)
    __swig_destroy__ = _itkMatrixOffsetTransformBasePython.delete_itkMatrixOffsetTransformBaseD33

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

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

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_cast(obj)

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

        Create a new object of the class itkMatrixOffsetTransformBaseD33 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMatrixOffsetTransformBaseD33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMatrixOffsetTransformBaseD33 in _itkMatrixOffsetTransformBasePython:
_itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseD33_swigregister(itkMatrixOffsetTransformBaseD33)

def itkMatrixOffsetTransformBaseF22_New():
    return itkMatrixOffsetTransformBaseF22.New()

class itkMatrixOffsetTransformBaseF22(itk.itkTransformBasePython.itkTransformF22):
    r"""Proxy of C++ itkMatrixOffsetTransformBaseF22 class."""

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMatrixOffsetTransformBaseF22_Pointer"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMatrixOffsetTransformBaseF22_Pointer"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_Clone(self)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_SetIdentity(self)

    def SetMatrix(self, matrix):
        r"""
        SetMatrix(self, matrix)

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

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_SetMatrix(self, matrix)

    def GetMatrix(self):
        r"""GetMatrix(self) -> itkMatrixF22"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_GetMatrix(self)

    def SetOffset(self, offset):
        r"""
        SetOffset(self, offset)

        Parameters
        ----------
        offset: itkVectorF2 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_SetOffset(self, offset)

    def GetOffset(self):
        r"""GetOffset(self) -> itkVectorF2"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_GetOffset(self)

    def SetCenter(self, center):
        r"""
        SetCenter(self, center)

        Parameters
        ----------
        center: itkPointF2 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_SetCenter(self, center)

    def GetCenter(self):
        r"""GetCenter(self) -> itkPointF2"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_GetCenter(self)

    def SetTranslation(self, translation):
        r"""
        SetTranslation(self, translation)

        Parameters
        ----------
        translation: itkVectorF2 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_SetTranslation(self, translation)

    def GetTranslation(self):
        r"""GetTranslation(self) -> itkVectorF2"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_GetTranslation(self)

    def Compose(self, other, pre=False):
        r"""
        Compose(self, other, pre=False)

        Parameters
        ----------
        other: itkMatrixOffsetTransformBaseF22 const *
        pre: bool

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_Compose(self, other, pre)

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

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

        TransformVector(self, vect) -> vnl_vector_fixed< float,2 >

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

        TransformVector(self, vect) -> itkVariableLengthVectorF

        Parameters
        ----------
        vect: itkVariableLengthVectorF const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_TransformVector(self, *args)

    def TransformCovariantVector(self, *args):
        r"""
        TransformCovariantVector(self, vec) -> itkCovariantVectorF2

        Parameters
        ----------
        vec: itkCovariantVectorF2 const &

        TransformCovariantVector(self, vect) -> itkVariableLengthVectorF

        Parameters
        ----------
        vect: itkVariableLengthVectorF const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_TransformCovariantVector(self, *args)

    def TransformDiffusionTensor3D(self, *args):
        r"""
        TransformDiffusionTensor3D(self, tensor) -> itkDiffusionTensor3DF

        Parameters
        ----------
        tensor: itkDiffusionTensor3DF const &

        TransformDiffusionTensor3D(self, tensor) -> itkVariableLengthVectorF

        Parameters
        ----------
        tensor: itkVariableLengthVectorF const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_TransformDiffusionTensor3D(self, *args)

    def TransformSymmetricSecondRankTensor(self, *args):
        r"""
        TransformSymmetricSecondRankTensor(self, inputTensor) -> itkSymmetricSecondRankTensorF2

        Parameters
        ----------
        inputTensor: itkSymmetricSecondRankTensorF2 const &

        TransformSymmetricSecondRankTensor(self, inputTensor) -> itkVariableLengthVectorF

        Parameters
        ----------
        inputTensor: itkVariableLengthVectorF const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_TransformSymmetricSecondRankTensor(self, *args)

    def GetInverse(self, inverse):
        r"""
        GetInverse(self, inverse) -> bool

        Parameters
        ----------
        inverse: itkMatrixOffsetTransformBaseF22 *

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_GetInverse(self, inverse)
    __swig_destroy__ = _itkMatrixOffsetTransformBasePython.delete_itkMatrixOffsetTransformBaseF22

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

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

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_cast(obj)

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

        Create a new object of the class itkMatrixOffsetTransformBaseF22 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMatrixOffsetTransformBaseF22.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMatrixOffsetTransformBaseF22 in _itkMatrixOffsetTransformBasePython:
_itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF22_swigregister(itkMatrixOffsetTransformBaseF22)

def itkMatrixOffsetTransformBaseF33_New():
    return itkMatrixOffsetTransformBaseF33.New()

class itkMatrixOffsetTransformBaseF33(itk.itkTransformBasePython.itkTransformF33):
    r"""Proxy of C++ itkMatrixOffsetTransformBaseF33 class."""

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMatrixOffsetTransformBaseF33_Pointer"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMatrixOffsetTransformBaseF33_Pointer"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_Clone(self)

    def SetIdentity(self):
        r"""SetIdentity(self)"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_SetIdentity(self)

    def SetMatrix(self, matrix):
        r"""
        SetMatrix(self, matrix)

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

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_SetMatrix(self, matrix)

    def GetMatrix(self):
        r"""GetMatrix(self) -> itkMatrixF33"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_GetMatrix(self)

    def SetOffset(self, offset):
        r"""
        SetOffset(self, offset)

        Parameters
        ----------
        offset: itkVectorF3 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_SetOffset(self, offset)

    def GetOffset(self):
        r"""GetOffset(self) -> itkVectorF3"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_GetOffset(self)

    def SetCenter(self, center):
        r"""
        SetCenter(self, center)

        Parameters
        ----------
        center: itkPointF3 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_SetCenter(self, center)

    def GetCenter(self):
        r"""GetCenter(self) -> itkPointF3"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_GetCenter(self)

    def SetTranslation(self, translation):
        r"""
        SetTranslation(self, translation)

        Parameters
        ----------
        translation: itkVectorF3 const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_SetTranslation(self, translation)

    def GetTranslation(self):
        r"""GetTranslation(self) -> itkVectorF3"""
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_GetTranslation(self)

    def Compose(self, other, pre=False):
        r"""
        Compose(self, other, pre=False)

        Parameters
        ----------
        other: itkMatrixOffsetTransformBaseF33 const *
        pre: bool

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_Compose(self, other, pre)

    def TransformVector(self, *args):
        r"""
        TransformVector(self, vect) -> itkVectorF3

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

        TransformVector(self, vect) -> vnl_vector_fixed< float,3 >

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

        TransformVector(self, vect) -> itkVariableLengthVectorF

        Parameters
        ----------
        vect: itkVariableLengthVectorF const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_TransformVector(self, *args)

    def TransformCovariantVector(self, *args):
        r"""
        TransformCovariantVector(self, vec) -> itkCovariantVectorF3

        Parameters
        ----------
        vec: itkCovariantVectorF3 const &

        TransformCovariantVector(self, vect) -> itkVariableLengthVectorF

        Parameters
        ----------
        vect: itkVariableLengthVectorF const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_TransformCovariantVector(self, *args)

    def TransformDiffusionTensor3D(self, *args):
        r"""
        TransformDiffusionTensor3D(self, tensor) -> itkDiffusionTensor3DF

        Parameters
        ----------
        tensor: itkDiffusionTensor3DF const &

        TransformDiffusionTensor3D(self, tensor) -> itkVariableLengthVectorF

        Parameters
        ----------
        tensor: itkVariableLengthVectorF const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_TransformDiffusionTensor3D(self, *args)

    def TransformSymmetricSecondRankTensor(self, *args):
        r"""
        TransformSymmetricSecondRankTensor(self, inputTensor) -> itkSymmetricSecondRankTensorF3

        Parameters
        ----------
        inputTensor: itkSymmetricSecondRankTensorF3 const &

        TransformSymmetricSecondRankTensor(self, inputTensor) -> itkVariableLengthVectorF

        Parameters
        ----------
        inputTensor: itkVariableLengthVectorF const &

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_TransformSymmetricSecondRankTensor(self, *args)

    def GetInverse(self, inverse):
        r"""
        GetInverse(self, inverse) -> bool

        Parameters
        ----------
        inverse: itkMatrixOffsetTransformBaseF33 *

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_GetInverse(self, inverse)
    __swig_destroy__ = _itkMatrixOffsetTransformBasePython.delete_itkMatrixOffsetTransformBaseF33

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

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

        """
        return _itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_cast(obj)

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

        Create a new object of the class itkMatrixOffsetTransformBaseF33 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMatrixOffsetTransformBaseF33.New(reader, threshold=10)

        is (most of the time) equivalent to:

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


# Register itkMatrixOffsetTransformBaseF33 in _itkMatrixOffsetTransformBasePython:
_itkMatrixOffsetTransformBasePython.itkMatrixOffsetTransformBaseF33_swigregister(itkMatrixOffsetTransformBaseF33)

