ogs5py.tools.tools.unique_rows(data, decimals=4, fast=True)[source]

Unique made row-data with respect to given precision.

this is constructed to work best if point-pairs appear. The output is sorted like the input data. data needs to be 2D

  • data (ndarray) – 2D array containing the list of vectors that should be made unique

  • decimals (int, optional) – Number of decimal places to round the ‘data’ to (default: 3). If decimals is negative, it specifies the number of positions to the left of the decimal point. This will not round the output, it is just for comparison of the vectors.

  • fast (bool, optional) – If fast is True, the vector comparison is executed by a decimal comparison. If fast is False, all pairwise distances are calculated. Default: True


  • result (ndarray) – 2D array of unique rows of data

  • ix (ndarray) – index positions of output in input data (data[ix] = result) len(ix) = result.shape[0]

  • ixr (ndarray) – reversed index positions of input in output data (result[ixr] = data) len(ixr) = data.shape[0]


This routine will preserve the order within the given array as effectively as possible. If you use it with a stack of 2 arrays and the first one is already unique, the resulting array will still have the first array at the beginning.