A use case would be "image stitching" or even data tiling. I have had to implement something like this at work (so, I can't share it, unfortunately) and it even goes so far as to allow the caller to specify how much the tiles can overlap and such. The specification is ungodly hideous and I doubt I would be willing to share it even if I could lest I release code-thulu upon the world...
I think just having this generalize stack feature would be nice start. Tetris could be built on top of that later. (Although, I do vote for at least 3 or 4 dimensional stacking, if possible). Cheers! Ben Root On Mon, Sep 8, 2014 at 12:41 PM, Eelco Hoogendoorn < hoogendoorn.ee...@gmail.com> wrote: > Sturla: im not sure if the intention is always unambiguous, for such more > flexible arrangements. > > Also, I doubt such situations arise often in practice; if the arrays arnt > a grid, they are probably a nested grid, and the code would most naturally > concatenate them with nested calls to a stacking function. > > However, some form of nd-stack function would be neat in my opinion. > > On Mon, Sep 8, 2014 at 6:10 PM, Jaime Fernández del Río < > jaime.f...@gmail.com> wrote: > >> On Mon, Sep 8, 2014 at 7:41 AM, Sturla Molden <sturla.mol...@gmail.com> >> wrote: >> >>> Stefan Otte <stefan.o...@gmail.com> wrote: >>> >>> > stack([[a, b], [c, d]]) >>> > >>> > In my case `stack` replaced `hstack` and `vstack` almost completely. >>> > >>> > If you're interested in including it in numpy I created a pull request >>> > [1]. I'm looking forward to getting some feedback! >>> >>> As far as I can see, it uses hstack and vstack. But that means a and b >>> have >>> to have the same number of rows, c and d must have the same rumber of >>> rows, >>> and hstack((a,b)) and hstack((c,d)) must have the same number of columns. >>> >>> Thus it requires a regularity like this: >>> >>> AAAABB >>> AAAABB >>> CCCDDD >>> CCCDDD >>> CCCDDD >>> CCCDDD >>> >>> What if we just ignore this constraint, and only require the output to be >>> rectangular? Now we have a 'tetris game': >>> >>> AAAABB >>> AAAABB >>> CCCCBB >>> CCCCBB >>> CCCCDD >>> CCCCDD >>> >>> or >>> >>> AAAABB >>> AAAABB >>> CCCCBB >>> CCCCBB >>> CCCCBB >>> CCCCBB >>> >>> This should be 'stackable', yes? Or perhaps we need another stacking >>> function for this, say numpy.tetris? >>> >>> And while we're at it, what about higher dimensions? should there be an >>> ndstack function too? >>> >> >> This is starting to look like the second time in a row Stefan tries to >> extend numpy with a simple convenience function, and he gets tricked into >> implementing some sophisticated algorithm... >> >> For his next PR I expect nothing less than an NP-complete problem. ;-) >> >> >>> Jaime >> >> -- >> (\__/) >> ( O.o) >> ( > <) Este es Conejo. Copia a Conejo en tu firma y ayúdale en sus planes >> de dominación mundial. >> >> _______________________________________________ >> 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