# encoding: utf-8
# module dipy.tracking.propspeed
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\dipy\tracking\propspeed.cp311-win_amd64.pyd
# by generator 1.147
""" Track propagation performance functions """

# 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 eudx_both_directions(*args, **kwargs): # real signature unknown
    """
    Parameters
        ----------
        seed : array, float64 shape (3,)
            Point where the tracking starts.
        ref : cnp.npy_intp int
            Index of peak to follow first.
        qa : array, float64 shape (X, Y, Z, Np)
            Anisotropy matrix, where ``Np`` is the number of maximum allowed peaks.
        ind : array, float64 shape(x, y, z, Np)
            Index of the track orientation.
        odf_vertices : double array shape (N, 3)
            Sampling directions on the sphere.
        qa_thr : float
            Threshold for QA, we want everything higher than this threshold.
        ang_thr : float
            Angle threshold, we only select fiber orientation within this range.
        step_sz : double
        total_weight : double
        max_points : cnp.npy_intp
    
        Returns
        -------
        track : array, shape (N,3)
    """
    pass

def ndarray_offset(I, S, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
    """
    Find offset in an N-dimensional ndarray using strides
    
        Parameters
        ----------
        indices : array, npy_intp shape (N,)
            Indices of the array which we want to find the offset.
        strides : array, shape (N,)
            Strides of array.
        lenind : int
            len of the `indices` array.
        typesize : int
            Number of bytes for data type e.g. if 8 for double, 4 for int32
    
        Returns
        -------
        offset : integer
            Index position in flattened array
    
        Examples
        --------
        >>> import numpy as np
        >>> from dipy.tracking.propspeed import ndarray_offset
        >>> I=np.array([1,1])
        >>> A=np.array([[1,0,0],[0,2,0],[0,0,3]])
        >>> S=np.array(A.strides)
        >>> ndarray_offset(I,S,2,A.dtype.itemsize)
        4
        >>> A.ravel()[4]==A[1,1]
        True
    """
    pass

def __pyx_unpickle_Enum(*args, **kwargs): # real signature unknown
    pass

# no classes
# variables with complex values

__loader__ = None # (!) real value is '<_frozen_importlib_external.ExtensionFileLoader object at 0x000001F3C23F9410>'

__pyx_capi__ = {
    '_propagation_direction': None, # (!) real value is '<capsule object "npy_intp (double *, double *, double *, double *, double *, double, double, npy_intp *, npy_intp *, double *, double)" at 0x000001F3C322E3D0>'
}

__spec__ = None # (!) real value is "ModuleSpec(name='dipy.tracking.propspeed', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001F3C23F9410>, origin='C:\\\\Users\\\\xukai\\\\Downloads\\\\??2\\\\venv\\\\Lib\\\\site-packages\\\\dipy\\\\tracking\\\\propspeed.cp311-win_amd64.pyd')"

__test__ = {
    'ndarray_offset (line 31)': ' Find offset in an N-dimensional ndarray using strides\n\n    Parameters\n    ----------\n    indices : array, npy_intp shape (N,)\n        Indices of the array which we want to find the offset.\n    strides : array, shape (N,)\n        Strides of array.\n    lenind : int\n        len of the `indices` array.\n    typesize : int\n        Number of bytes for data type e.g. if 8 for double, 4 for int32\n\n    Returns\n    -------\n    offset : integer\n        Index position in flattened array\n\n    Examples\n    --------\n    >>> import numpy as np\n    >>> from dipy.tracking.propspeed import ndarray_offset\n    >>> I=np.array([1,1])\n    >>> A=np.array([[1,0,0],[0,2,0],[0,0,3]])\n    >>> S=np.array(A.strides)\n    >>> ndarray_offset(I,S,2,A.dtype.itemsize)\n    4\n    >>> A.ravel()[4]==A[1,1]\n    True\n    ',
}

