On Thu, Dec 22, 2011 at 6:27 AM, Adrien Gaidon <adnoth...@gmail.com> wrote: > Hello Nicola, > > I am not aware of a magical "one function" numpy solution (is there one > numpy gurus?). > > I don't know if it's optimal, but here's how I usually do similar things. > > I wrote a simple function that assigns points (any number of dimensions) to > a regular multi-dimensional grid. It is > here: https://gist.github.com/1509853 It is short, commented and should be > straightforward to use. > > Once you have the assignments, you can: > - get the non-empty cell indexes with `np.unique(assignments)` > - retrieve the points assigned to a cell with `points[assignments == > cell_index]` > - iterate over assignments to select the points you want for each cell.
looks nice, reading through it. line 71 looks like a nice trick BSD licensed, so we can keep it? as far as I know numpy doesn't have anything like a digitize_nd Thanks, Josef > > Hope this helps, > > Adrien > > PS: This is one of the first times I post an answer on this list, so if I > did anything wrong, let me know. Numpy is such a wonderful thing and you > guys do such an amazing work, that I though it is time to give back at least > epsilon of what I got from you :-) > > > 2011/12/22 Nicola Creati <ncre...@inogs.it> >> >> Hello, >> >> I have a cloud on sparse points that can be described by a Nx3 array (N >> is the number of points). Each point is defined by an x, y and z >> coordinate: >> >> x0 y0 z0 >> x1 y1 z1 >> . . . >> . . . >> . . . >> xn yn zn >> >> >> I need to bin the cloud to a regular 2D array according to a desired bin >> size assigning to each cell (bin) the minimum z of all points that fall >> in that cell(bin). Moreover I need indexes of points that fall in each >> cell(bin). >> >> Is there any way to accomplish this task in numpy? >> >> Thanks. >> >> Nicola Creati >> >> >> >> >> -- >> Nicola Creati >> Istituto Nazionale di Oceanografia e di Geofisica Sperimentale - OGS >> www.inogs.it Dipartimento di Geofisica della Litosfera Geophysics of >> Lithosphere Department CARS (Cartography and Remote Sensing) Research Group >> http://www.inogs.it/Cars/ Borgo Grotta Gigante 42/c 34010 Sgonico - Trieste >> - ITALY ncre...@ogs.trieste.it >> off. +39 040 2140 213 >> fax. +39 040 327307 >> >> _____________________________________________________________________ >> This communication, that may contain confidential and/or legally >> privileged information, is intended solely for the use of the intended >> addressees. Opinions, conclusions and other information contained in this >> message, that do not relate to the official business of OGS, shall be >> considered as not given or endorsed by it. Every opinion or advice contained >> in this communication is subject to the terms and conditions provided by the >> agreement governing the engagement with such a client. Any use, disclosure, >> copying or distribution of the contents of this communication by a >> not-intended recipient or in violation of the purposes of this communication >> is strictly prohibited and may be unlawful. For Italy only: Ai sensi del >> D.Lgs.196/2003 - "T.U. sulla Privacy" si precisa che le informazioni >> contenute in questo messaggio sono riservate ed a uso esclusivo del >> destinatario. >> _____________________________________________________________________ >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion@scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion