Hey, In the last weeks I tested `np.asarray(np.bmat(....))` as `stack` function and it works quite well. So the question persits: If `bmat` already offers something like `stack` should we even bother implementing `stack`? More code leads to more bugs and maintenance work. (However, the current implementation is only 5 lines and by using `bmat` which would reduce that even more.)
Best, Stefan On Fri, Sep 19, 2014 at 4:47 PM, Paul Hobson <pmhob...@gmail.com> wrote: > Hey Ben, > > Side note: I've had to do the same thing for stitching curvilinear model > grid coordinates together. Usings pandas DataFrames indexed by `i` and `j` > is really good for this. You can offset the indices directly, unstack the > DF, and the pandas will align for you. > > Happy to send an example along if you're curious. > -p > > On Mon, Sep 8, 2014 at 9:55 AM, Benjamin Root <ben.r...@ou.edu> wrote: >> >> 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 >> > > > _______________________________________________ > 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