[Numpy-discussion] idea of optimisation?

Xavier Barthelemy xabart at gmail.com
Tue Dec 6 02:51:22 EST 2011


ok let me be more precise

I have an Z array which is the elevation
from this I extract a discrete array of Zero Crossing, and another discrete
array of Crests.
len(crest) is different than len(Xzeros). I have a threshold method to
detect my "valid" crests, and sometimes there are 2 crests between two
zero-crossing (grouping effect)

Crest and Zeros are 2 different arrays, with positions. example:
Zeros=[1,2,3,4] Arrays=[1.5,1.7,3.5]


and yes arrays can be sorted. not a problm with this.

Xavier

2011/12/6 David Froger <david.froger at gmail.com>

> Excerpts from Xavier Barthelemy's message of mar. déc. 06 06:53:09 +0100
> 2011:
> > Hi everyone
> >
> > I was wondering if there is a more optimal way to write what follows:
> > I am studying waves, so I have an array of wave crests positions, Xcrest
> > and the positions of the ZeroCrossings, Xzeros.
> >
> > The goal is to find between which Xzeros my xcrest are.
> >
> >
> > XXX1=XCrest
> > CrestZerosNeighbour=np.zeros([len(XCrest),2], dtype='d')
> > for nn in range(len(Xzeros)-1):
> >     X1=Xzeros[nn]
> >     X2=Xzeros[nn+1]
> >     indexxx1=np.where((X1<=XXX1) & (XXX1 < X2))
> >     try:
> >       CrestZerosNeighbour[indexxx1[0]]=np.array([X1,X2])
> >     except:
> >       pass
> >
> > Someone has an idea? in the spirit of (numpy.ma.masked_outside) which
> does
> > exactly the opposite I want: it masks an array outside an interval. I
> would
> > like to mask everything except the interval that contains my value.
> > I do this operation a large number of times , and a loop is time
> consuming.
>
> Hi,
>
> My first idea  would be to write a  function in C or Fortran  that return
> Xzeros
> index (instead of values).  Algorithms may be optimized according to the
> inputs:
> if  the  XCrest  are  Xzeros  sorted,   if  len(Xcreast)  >>  len(Xzeros)
>  using
> dichotomy...  But I would be interested to see a solution with masked
> array too.
>
> --
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>



-- 
 « Quand le gouvernement viole les droits du peuple, l'insurrection est,
pour le peuple et pour chaque portion du peuple, le plus sacré des droits
et le plus indispensable des devoirs »

Déclaration des droits de l'homme et du citoyen, article 35, 1793
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20111206/113e9863/attachment.html>


More information about the NumPy-Discussion mailing list