[Numpy-discussion] Fast function application on list of 2D points?

Paulo J. S. Silva pjssilva at ime.usp.br
Mon Jan 12 09:33:08 EST 2009


Why you don't create a mask to select only the points in array that
satisfies the condition on x and y coordinates. For example the code
below applies filter only to the values that have x coordinate bigger
than 0.7 and y coordinate smaller than 0.3:

    mask = numpy.logical_and(points[:,0] > 0.7, points[:,1] < 0.3)
    points = numpy.apply_along_axis(filter, axis = 1, arr = points[mask,:])

best,

Paulo

Em Seg, 2009-01-12 às 15:21 +0100, Eric LEBIGOT escreveu:
> Hello,
> 
> What is the fastest way of applying a function on a list of 2D points?  More 
> specifically, I have a list of 2D points, and some do not meet some criteria 
> and must be rejected.  Even more specifically, the filter only lets through 
> points whose x coordinate satisfies some condition, _and_ whose y coordinates 
> satisfies another condition (maybe is there room for optimization, here?).
> 
> Currently, I use
> 
>    points = numpy.apply_along_axis(filter, axis = 1, arr = points)
> 
> but this creates a bottleneck in my program (array arr may contains 1 million 
> points, for instance).
> 
> Is there anything that could be faster?
> 
> Any suggestion would be much appreciated!
> 
> EOL
> 
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
> 




More information about the NumPy-Discussion mailing list