# encoding: utf-8
# module dipy.align.bundlemin
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\dipy\align\bundlemin.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
from dipy.utils.omp import determine_num_threads


# functions

def distance_matrix_mdf(*args, **kwargs): # real signature unknown
    """
    Minimum direct flipped distance matrix between two streamline sets
    
        All streamlines need to have the same number of points
    
        Parameters
        ----------
        streamlines_a : sequence
           of streamlines as arrays, [(N, 3) .. (N, 3)]
        streamlines_b : sequence
           of streamlines as arrays, [(N, 3) .. (N, 3)]
    
        Returns
        -------
        DM : array, shape (len(streamlines_a), len(streamlines_b))
            distance matrix
    """
    pass

def _bundle_minimum_distance(*args, **kwargs): # real signature unknown
    """
    MDF-based pairwise distance optimization function
    
        We minimize the distance between moving streamlines of the same number of
        points as they align with the static streamlines.
    
        Parameters
        ----------
        static : array
            Static streamlines
        moving : array
            Moving streamlines
        static_size : int
            Number of static streamlines
        moving_size : int
            Number of moving streamlines
        rows : int
            Number of points per streamline
        num_threads : int, optional
            Number of threads to be used for OpenMP parallelization. If None
            (default) the value of OMP_NUM_THREADS environment variable is used
            if it is set, otherwise all available threads are used. If < 0 the
            maximal number of threads minus |num_threads + 1| is used (enter -1 to
            use as many threads as possible). 0 raises an error.
    
        Returns
        -------
        cost : double
    
        Notes
        -----
        The difference with ``_bundle_minimum_distance_matrix`` is that it does not
        save the full distance matrix and therefore needs much less memory.
    """
    pass

def _bundle_minimum_distance_asymmetric(*args, **kwargs): # real signature unknown
    """
    MDF-based pairwise distance optimization function
    
        We minimize the distance between moving streamlines of the same number of
        points as they align with the static streamlines.
    
        Parameters
        ----------
        static : array
            Static streamlines
        moving : array
            Moving streamlines
        static_size : int
            Number of static streamlines
        moving_size : int
            Number of moving streamlines
        rows : int
            Number of points per streamline
    
        Returns
        -------
        cost : double
    
        Notes
        -----
        The difference with ``_bundle_minimum_distance`` is that we sum the
        minimum values only for the static. Therefore, this is an asymmetric
        distance metric. This means that we are weighting only one direction of the
        registration. Not both directions. This can be very useful when we want
        to register a big set of bundles to a small set of bundles.
        See [Wanyan17]_.
    
        References
        ----------
        .. [Wanyan17] Wanyan and Garyfallidis, Important new insights for the
        reduction of false positives in tractograms emerge from streamline-based
        registration and pruning, International Society for Magnetic Resonance in
        Medicine, Honolulu, Hawai, 2017.
    """
    pass

def _bundle_minimum_distance_matrix(*args, **kwargs): # real signature unknown
    """
    MDF-based pairwise distance optimization function
    
        We minimize the distance between moving streamlines of the same number of
        points as they align with the static streamlines.
    
        Parameters
        ----------
        static: array
            Static streamlines
        moving: array
            Moving streamlines
        static_size : int
            Number of static streamlines
        moving_size : int
            Number of moving streamlines
        rows : int
            Number of points per streamline
        D : 2D array
            Distance matrix
        num_threads : int, optional
            Number of threads to be used for OpenMP parallelization. If None
            (default) the value of OMP_NUM_THREADS environment variable is used
            if it is set, otherwise all available threads are used. If < 0 the
            maximal number of threads minus |num_threads + 1| is used (enter -1 to
            use as many threads as possible). 0 raises an error.
    
        Returns
        -------
        cost : double
    """
    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 0x000002183BB357D0>'

__spec__ = None # (!) real value is "ModuleSpec(name='dipy.align.bundlemin', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000002183BB357D0>, origin='C:\\\\Users\\\\xukai\\\\Downloads\\\\??2\\\\venv\\\\Lib\\\\site-packages\\\\dipy\\\\align\\\\bundlemin.cp311-win_amd64.pyd')"

__test__ = {}

