From: Sebastian H. <ha...@ms...> - 2006-03-30 04:53:54
|
Hi, Please consider this a bug report (I have never filed a bug with SF...) I just don't want this falling through the cracks... Again: na.maximum.reduce(arr,-3) returned the transpose of what it should have given ( na.maximum.reduce(arr,1) in my case - see below for details ) Thanks, Sebastian haase Sebastian Haase wrote: > On Wednesday 22 March 2006 05:32, Paul Barrett wrote: >> On 3/21/06, Sebastian Haase <ha...@ms...> wrote: > <snip> >> The above behavior for maximum.reduce looks consistent to me. >> >> The reduce axis for examples 1 and 2 above is 0, so maximum is comparing >> arrays [[0 1] [2 3]] and [[4 5] [6 7]], which gives [[4 5] [6 7]]. Example >> 3 is comparing arrays [[0 1] [4 5]] and [[2 3] [6 7]], giving [[2 3] [6 >> 7]]. And the last example is comparing arrays [[0 2] [4 6]] and [[1 3] [5 >> 7]], giving [[1 3] [5 7]]. >> >> I think it depends on how you look at the shape of the array. >> >> -- Paul > Sorry > I did the test wrong - >>>> na.maximum.reduce(q,2) > [[1 3] > [5 7]] >>>> na.maximum.reduce(q,-1) > [[1 3] > [5 7]] > So it obviously works as advertised. > > The array where I noticed the transpose behaviour was really of shape > 32,15,521,512 and my command was na.maximum.reduce(arr,-3) which "looked" > tranpose to what I got with na.maximum.reduce(arr,1). > I using numarray for image analysis and the array might have been a memmap-ed > image file. I'm just worried because I found an "accidental transpose bug" > on type conversion a few years back (see mailing list)... > ( I forgot to say that I running Python 2.2 and numarray version '1.4.0' ) > > I just reran the test with python2.4 and arr=arr.copy() [which should give a > non-memmap version of arr] > >>>> arrM = na.maximum.reduce(arr,-3) >>>> arrMt = na.transpose(arrM,(0,2,1)) >>>> arrM1= na.maximum.reduce(arr,1) >>>> U.mmms(arrM1-arrMt) # returns min,max,mean,stddev > (0, 0, 0.0, 0.0) > > So it definitely transposes the last two axes ! Maybe the bug shows up on > rank >=4 !? - which is the case Robert tested. > > Thanks, > Sebastian Haase > |