# encoding: utf-8
# module dipy.align.transforms
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\dipy\align\transforms.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import builtins as __builtins__ # <module 'builtins' (built-in)>
import numpy as np # C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\numpy\__init__.py

# functions

def __pyx_unpickle_Enum(*args, **kwargs): # real signature unknown
    pass

# classes

class Transform(object):
    """
    Base class (contract) for all transforms for affine image registration
        Each transform must define the following (fast, nogil) methods:
    
        1. _jacobian(theta, x, J): receives a parameter vector theta, a point in
           x, and a matrix J with shape (dim, len(theta)). It must writes in J, the
           Jacobian of the transform with parameters theta evaluated at x.
    
        2. _get_identity_parameters(theta): receives a vector theta whose length is
           the number of parameters of the transform and sets in theta the values
           that define the identity transform.
    
        3. _param_to_matrix(theta, T): receives a parameter vector theta, and a
           matrix T of shape (dim + 1, dim + 1) and writes in T the matrix
           representation of the transform with parameters theta
    
        This base class defines the (slow, convenient) python wrappers for each
        of the above functions, which also do parameter checking and raise
        a ValueError in case the provided parameters are invalid.
    """
    def get_dim(self, *args, **kwargs): # real signature unknown
        pass

    def get_identity_parameters(self, *args, **kwargs): # real signature unknown
        """
        Parameter values corresponding to the identity transform
        
                Returns
                -------
                theta : array, shape (n,)
                    the n parameter values corresponding to the identity transform
        """
        pass

    def get_number_of_parameters(self, *args, **kwargs): # real signature unknown
        pass

    def jacobian(self, *args, **kwargs): # real signature unknown
        """
        Jacobian function of this transform
        
                Parameters
                ----------
                theta : array, shape (n,)
                    vector containing the n parameters of this transform
                x : array, shape (dim,)
                    vector containing the point where the Jacobian must be evaluated
        
                Returns
                -------
                J : array, shape (dim, n)
                    Jacobian matrix of the transform with parameters theta at point x
        """
        pass

    def param_to_matrix(self, *args, **kwargs): # real signature unknown
        """
        Matrix representation of this transform with the given parameters
        
                Parameters
                ----------
                theta : array, shape (n,)
                    the parameter values of the transform
        
                Returns
                -------
                T : array, shape (dim + 1, dim + 1)
                    the matrix representation of this transform with parameters theta
        """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F950180>'


class AffineTransform2D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """ Affine transform in 2D """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F9506F0>'


class AffineTransform3D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """ Affine transform in 3D """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F950750>'


class RigidIsoScalingTransform2D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """
        Rigid isoscaling transform in 2D.
        
                (rotation + translation + scaling)
        
                The parameter vector theta of length 4 is interpreted as follows:
                theta[0] : rotation angle
                theta[1] : translation along the x axis
                theta[2] : translation along the y axis
                theta[3] : isotropic scaling
        """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F9504B0>'


class RigidIsoScalingTransform3D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """
        Rigid isoscaling transform in 3D.
        
                (rotation + translation + scaling)
                The parameter vector theta of length 7 is interpreted as follows:
                theta[0] : rotation about the x axis
                theta[1] : rotation about the y axis
                theta[2] : rotation about the z axis
                theta[3] : translation along the x axis
                theta[4] : translation along the y axis
                theta[5] : translation along the z axis
                theta[6] : isotropic scaling
        """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F950510>'


class RigidScalingTransform2D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """
        Rigid scaling transform in 2D.
        
                (rotation + translation + scaling)
        
                The parameter vector theta of length 5 is interpreted as follows:
                theta[0] : rotation angle
                theta[1] : translation along the x axis
                theta[2] : translation along the y axis
                theta[3] : scaling along the x axis
                theta[4] : scaling along the y axis
        """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F950570>'


class RigidScalingTransform3D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """
        Rigid Scaling transform in 3D (rotation + translation + scaling).
        
                The parameter vector theta of length 9 is interpreted as follows:
                theta[0] : rotation about the x axis
                theta[1] : rotation about the y axis
                theta[2] : rotation about the z axis
                theta[3] : translation along the x axis
                theta[4] : translation along the y axis
                theta[5] : translation along the z axis
                theta[6] : scaling in the x axis
                theta[7] : scaling in the y axis
                theta[8] : scaling in the z axis
        """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F9505D0>'


class RigidTransform2D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """
        Rigid transform in 2D (rotation + translation)
                The parameter vector theta of length 3 is interpreted as follows:
                theta[0] : rotation angle
                theta[1] : translation along the x axis
                theta[2] : translation along the y axis
        """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F9503F0>'


class RigidTransform3D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """
        Rigid transform in 3D (rotation + translation)
                The parameter vector theta of length 6 is interpreted as follows:
                theta[0] : rotation about the x axis
                theta[1] : rotation about the y axis
                theta[2] : rotation about the z axis
                theta[3] : translation along the x axis
                theta[4] : translation along the y axis
                theta[5] : translation along the z axis
        """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F950450>'


class RotationTransform2D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """ Rotation transform in 2D """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F950330>'


class RotationTransform3D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """ Rotation transform in 3D """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F950390>'


class ScalingTransform2D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """ Scaling transform in 2D """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F950630>'


class ScalingTransform3D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """ Scaling transform in 3D """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F950690>'


class TranslationTransform2D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """ Translation transform in 2D """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F950270>'


class TranslationTransform3D(Transform):
    # no doc
    def __init__(self, *args, **kwargs): # real signature unknown
        """ Translation transform in 3D """
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001FB7F9502D0>'


# variables with complex values

regtransforms = {
    (
        'AFFINE',
        2,
    ): 
        None # (!) real value is '<dipy.align.transforms.AffineTransform2D object at 0x000001FB7F95C310>'
    ,
    (
        'AFFINE',
        3,
    ): 
        None # (!) real value is '<dipy.align.transforms.AffineTransform3D object at 0x000001FB7F95C330>'
    ,
    (
        'RIGID',
        2,
    ): 
        None # (!) real value is '<dipy.align.transforms.RigidTransform2D object at 0x000001FB7F95C290>'
    ,
    (
        'RIGID',
        3,
    ): 
        None # (!) real value is '<dipy.align.transforms.RigidTransform3D object at 0x000001FB7F95C2B0>'
    ,
    (
        'RIGIDISOSCALING',
        2,
    ): 
        None # (!) real value is '<dipy.align.transforms.RigidIsoScalingTransform2D object at 0x000001FB7F95C390>'
    ,
    (
        'RIGIDISOSCALING',
        3,
    ): 
        None # (!) real value is '<dipy.align.transforms.RigidIsoScalingTransform3D object at 0x000001FB7F95C3B0>'
    ,
    (
        'RIGIDSCALING',
        2,
    ): 
        None # (!) real value is '<dipy.align.transforms.RigidScalingTransform2D object at 0x000001FB7F95C350>'
    ,
    (
        'RIGIDSCALING',
        3,
    ): 
        None # (!) real value is '<dipy.align.transforms.RigidScalingTransform3D object at 0x000001FB7F95C370>'
    ,
    (
        'ROTATION',
        2,
    ): 
        None # (!) real value is '<dipy.align.transforms.RotationTransform2D object at 0x000001FB7F95C250>'
    ,
    (
        'ROTATION',
        3,
    ): 
        None # (!) real value is '<dipy.align.transforms.RotationTransform3D object at 0x000001FB7F95C270>'
    ,
    (
        'SCALING',
        2,
    ): 
        None # (!) real value is '<dipy.align.transforms.ScalingTransform2D object at 0x000001FB7F95C2D0>'
    ,
    (
        'SCALING',
        3,
    ): 
        None # (!) real value is '<dipy.align.transforms.ScalingTransform3D object at 0x000001FB7F95C2F0>'
    ,
    (
        'TRANSLATION',
        2,
    ): 
        None # (!) real value is '<dipy.align.transforms.TranslationTransform2D object at 0x000001FB7F95C210>'
    ,
    (
        'TRANSLATION',
        3,
    ): 
        None # (!) real value is '<dipy.align.transforms.TranslationTransform3D object at 0x000001FB7F95C230>'
    ,
}

__loader__ = None # (!) real value is '<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FB7F942090>'

__spec__ = None # (!) real value is "ModuleSpec(name='dipy.align.transforms', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FB7F942090>, origin='C:\\\\Users\\\\xukai\\\\Downloads\\\\??2\\\\venv\\\\Lib\\\\site-packages\\\\dipy\\\\align\\\\transforms.cp311-win_amd64.pyd')"

__test__ = {}

