# encoding: utf-8
# module dipy.segment.featurespeed
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\dipy\segment\featurespeed.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 extract(*args, **kwargs): # real signature unknown
    """
    Extracts features from data.
    
        Parameters
        ----------
        feature : `Feature` object
            Tells how to extract features from the data.
        datum : list of 2D arrays
            List of sequence of N-dimensional points.
    
        Returns
        -------
        list of 2D arrays
            List of features extracted from `data`.
    """
    pass

def infer_shape(*args, **kwargs): # real signature unknown
    """
    Infers shape of the features extracted from data.
    
        Parameters
        ----------
        feature : `Feature` object
            Tells how to infer shape of the features.
        data : list of 2D arrays
            List of sequences of N-dimensional points.
    
        Returns
        -------
        list of tuples
            Shapes of the features inferred from `data`.
    """
    pass

def __pyx_unpickle_ArcLengthFeature(*args, **kwargs): # real signature unknown
    pass

def __pyx_unpickle_CenterOfMassFeature(*args, **kwargs): # real signature unknown
    pass

def __pyx_unpickle_CythonFeature(*args, **kwargs): # real signature unknown
    pass

def __pyx_unpickle_Enum(*args, **kwargs): # real signature unknown
    pass

def __pyx_unpickle_Feature(*args, **kwargs): # real signature unknown
    pass

def __pyx_unpickle_IdentityFeature(*args, **kwargs): # real signature unknown
    pass

def __pyx_unpickle_MidpointFeature(*args, **kwargs): # real signature unknown
    pass

def __pyx_unpickle_ResampleFeature(*args, **kwargs): # real signature unknown
    pass

def __pyx_unpickle_VectorOfEndpointsFeature(*args, **kwargs): # real signature unknown
    pass

# classes

class Feature(object):
    """
    Extracts features from a sequential datum.
    
        A sequence of N-dimensional points is represented as a 2D array with
        shape (nb_points, nb_dimensions).
    
        Parameters
        ----------
        is_order_invariant : bool (optional)
            tells if this feature is invariant to the sequence's ordering. This
            means starting from either extremities produces the same features.
            (Default: True)
    
        Notes
        -----
        When subclassing `Feature`, one only needs to override the `extract` and
        `infer_shape` methods.
    """
    def extract(self, *args, **kwargs): # real signature unknown
        """
        Extracts features from a sequential datum.
        
                Parameters
                ----------
                datum : 2D array
                    Sequence of N-dimensional points.
        
                Returns
                -------
                2D array
                    Features extracted from `datum`.
        """
        pass

    def infer_shape(self, *args, **kwargs): # real signature unknown
        """
        Infers the shape of features extracted from a sequential datum.
        
                Parameters
                ----------
                datum : 2D array
                    Sequence of N-dimensional points.
        
                Returns
                -------
                int, 1-tuple or 2-tuple
                    Shape of the features.
        """
        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

    is_order_invariant = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """ Is this feature invariant to the sequence's ordering """


    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001DD7FD7E070>'


class CythonFeature(Feature):
    """
    Extracts features from a sequential datum.
    
        A sequence of N-dimensional points is represented as a 2D array with
        shape (nb_points, nb_dimensions).
    
        Parameters
        ----------
        is_order_invariant : bool, optional
            Tells if this feature is invariant to the sequence's ordering (Default: True).
    
        Notes
        -----
        By default, when inheriting from `CythonFeature`, Python methods will call their
        C version (e.g. `CythonFeature.extract` -> `self.c_extract`).
    """
    def extract(self, *args, **kwargs): # real signature unknown
        """
        Extracts features from a sequential datum.
        
                Parameters
                ----------
                datum : 2D array
                    Sequence of N-dimensional points.
        
                Returns
                -------
                2D array
                    Features extracted from `datum`.
        
                Notes
                -----
                This method calls its Cython version `self.c_extract` accordingly.
        """
        pass

    def infer_shape(self, *args, **kwargs): # real signature unknown
        """
        Infers the shape of features extracted from a sequential datum.
        
                Parameters
                ----------
                datum : 2D array
                    Sequence of N-dimensional points.
        
                Returns
                -------
                tuple
                    Shape of the features.
        
                Notes
                -----
                This method calls its Cython version `self.c_infer_shape` accordingly.
        """
        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 0x000001DD7FD7E0D0>'


class ArcLengthFeature(CythonFeature):
    """
    Extracts features from a sequential datum.
    
        A sequence of N-dimensional points is represented as a 2D array with
        shape (nb_points, nb_dimensions).
    
        The feature being extracted consists of one scalar representing
        the arc length of the sequence (i.e. the sum of the length of all segments).
    """
    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 0x000001DD7FD7E2B0>'


class CenterOfMassFeature(CythonFeature):
    """
    Extracts features from a sequential datum.
    
        A sequence of N-dimensional points is represented as a 2D array with
        shape (nb_points, nb_dimensions).
    
        The feature being extracted consists of one N-dimensional point representing
        the mean of the points, i.e. the center of mass.
    """
    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 0x000001DD7FD7E1F0>'


class IdentityFeature(CythonFeature):
    """
    Extracts features from a sequential datum.
    
        A sequence of N-dimensional points is represented as a 2D array with
        shape (nb_points, nb_dimensions).
    
        The features being extracted are the actual sequence's points. This is
        useful for metric that does not require any pre-processing.
    """
    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 0x000001DD7FD7E130>'


class MidpointFeature(CythonFeature):
    """
    Extracts features from a sequential datum.
    
        A sequence of N-dimensional points is represented as a 2D array with
        shape (nb_points, nb_dimensions).
    
        The feature being extracted consists of one N-dimensional point representing
        the middle point of the sequence (i.e. `nb_points//2`th point).
    """
    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 0x000001DD7FD7E250>'


class ResampleFeature(CythonFeature):
    """
    Extracts features from a sequential datum.
    
        A sequence of N-dimensional points is represented as a 2D array with
        shape (nb_points, nb_dimensions).
    
        The features being extracted are the points of the sequence once resampled.
        This is useful for metrics requiring a constant number of points for all
         streamlines.
    """
    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 0x000001DD7FD7E190>'


class VectorOfEndpointsFeature(CythonFeature):
    """
    Extracts features from a sequential datum.
    
        A sequence of N-dimensional points is represented as a 2D array with
        shape (nb_points, nb_dimensions).
    
        The feature being extracted consists of one vector in the N-dimensional
        space pointing from one end-point of the sequence to the other
        (i.e. `S[-1]-S[0]`).
    """
    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 0x000001DD7FD7E310>'


# variables with complex values

__loader__ = None # (!) real value is '<_frozen_importlib_external.ExtensionFileLoader object at 0x000001DD6569F610>'

__spec__ = None # (!) real value is "ModuleSpec(name='dipy.segment.featurespeed', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001DD6569F610>, origin='C:\\\\Users\\\\xukai\\\\Downloads\\\\??2\\\\venv\\\\Lib\\\\site-packages\\\\dipy\\\\segment\\\\featurespeed.cp311-win_amd64.pyd')"

__test__ = {}

