Fixed database typo and removed unnecessary class identifier.
This commit is contained in:
		
							parent
							
								
									00ad49a143
								
							
						
					
					
						commit
						45fb349a7d
					
				
					 5098 changed files with 952558 additions and 85 deletions
				
			
		
							
								
								
									
										50
									
								
								venv/Lib/site-packages/skimage/util/unique.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								venv/Lib/site-packages/skimage/util/unique.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
import numpy as np
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def unique_rows(ar):
 | 
			
		||||
    """Remove repeated rows from a 2D array.
 | 
			
		||||
 | 
			
		||||
    In particular, if given an array of coordinates of shape
 | 
			
		||||
    (Npoints, Ndim), it will remove repeated points.
 | 
			
		||||
 | 
			
		||||
    Parameters
 | 
			
		||||
    ----------
 | 
			
		||||
    ar : 2-D ndarray
 | 
			
		||||
        The input array.
 | 
			
		||||
 | 
			
		||||
    Returns
 | 
			
		||||
    -------
 | 
			
		||||
    ar_out : 2-D ndarray
 | 
			
		||||
        A copy of the input array with repeated rows removed.
 | 
			
		||||
 | 
			
		||||
    Raises
 | 
			
		||||
    ------
 | 
			
		||||
    ValueError : if `ar` is not two-dimensional.
 | 
			
		||||
 | 
			
		||||
    Notes
 | 
			
		||||
    -----
 | 
			
		||||
    The function will generate a copy of `ar` if it is not
 | 
			
		||||
    C-contiguous, which will negatively affect performance for large
 | 
			
		||||
    input arrays.
 | 
			
		||||
 | 
			
		||||
    Examples
 | 
			
		||||
    --------
 | 
			
		||||
    >>> ar = np.array([[1, 0, 1],
 | 
			
		||||
    ...                [0, 1, 0],
 | 
			
		||||
    ...                [1, 0, 1]], np.uint8)
 | 
			
		||||
    >>> unique_rows(ar)
 | 
			
		||||
    array([[0, 1, 0],
 | 
			
		||||
           [1, 0, 1]], dtype=uint8)
 | 
			
		||||
    """
 | 
			
		||||
    if ar.ndim != 2:
 | 
			
		||||
        raise ValueError("unique_rows() only makes sense for 2D arrays, "
 | 
			
		||||
                         "got %dd" % ar.ndim)
 | 
			
		||||
    # the view in the next line only works if the array is C-contiguous
 | 
			
		||||
    ar = np.ascontiguousarray(ar)
 | 
			
		||||
    # np.unique() finds identical items in a raveled array. To make it
 | 
			
		||||
    # see each row as a single item, we create a view of each row as a
 | 
			
		||||
    # byte string of length itemsize times number of columns in `ar`
 | 
			
		||||
    ar_row_view = ar.view('|S%d' % (ar.itemsize * ar.shape[1]))
 | 
			
		||||
    _, unique_row_indices = np.unique(ar_row_view, return_index=True)
 | 
			
		||||
    ar_out = ar[unique_row_indices]
 | 
			
		||||
    return ar_out
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue