Almar Klein wrote:
Basically, we want a[i][j] == a[i,j]. Since there is no literal
syntax for numpy arrays, we need to be able to convert from a
sequence of sequences to an array. The indexing needs to correspond
between the two.
Thanks for the reply. I guess that explains the *why*...
Adopt the numpy order. There are many functions in numpy which take
an axis= argument just like this. axis=0 means "y" in the
terminology that you are using.
Yes, I agree its best to use the numpy order, and I agree one gets
used to it. However, it will always feel a bit unnatural to reverse the
order of dimensions (at least to me it does). And I think it can in
some situations lead to confusion.
I for instance have a class to store sets of points in a nD space. I can
index the points, so using points[99,0] selects the *first* dimension of
the 99th point. I use this class to store locations of interesting
points in
2D and 3D images. But when programming, it can at times be quite confusing
switching between reversed and "normal" indexing. And sometimes I
might have a method that does stuff with an image and a point set and
I want to indicate an axis. What standard should I use then?
I'm not saying numpy should change the indexing order or something. But
other people must run into the same confusing situation at times. How do
they handle this? In the example above, I think it'll be weird
to change the
pointset class such that points[99,0] selects the *last* dimension of
point 99.
Or is it?
<shrug> It's occasionally annoying, but in my experience, it's just not a big
deal. And besides, images aren't always oriented the same way, so there's often
some more coordinate conversion that needs to be done.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
--
http://mail.python.org/mailman/listinfo/python-list