469,625 Members | 1,097 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,625 developers. It's quick & easy.

Numeric + wxPython, can't understand a bug...

Hi, folks,

This probably has to do with Numeric and not with wxPython, but I
mention both for completeness.

My OS: Win2000
Python: 2.3.4
wx: 2.6.1.0, Unicode version
Numeric: 23.8
Here's the minimal code:
================================================

height = 50
width = 60
L = []
for y in range(height):
for x in range(width):
L.append(wx.Point(3+(2*x+y%2)*4, 3+7*y))
print width, height, len(L)
pos = reshape(array(L), (height, width))

And here's the output:
================================================

60 50 3000

pos = reshape(array(L), (height, width))
ValueError: total size of new array must be unchanged

I've used exactly this approach to create 2D arrays from lists of
numbers, with no problems. Why does this fail with wx.Point objects?
Why is it telling me that I'm changing the array size, when the
dimensions indicate that I am NOT? Typecasting the array as
containing PyObject items does not change the error message...

Thanks for any advice!

+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
| Ladasky Home Solar, Inc.: blowing sunshine up your |
| power grid since March 24, 2005. Fiat lux! |
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
| Uptime Downtime kWh generated kWh consumed |
| 744 days 13 hours 12886 14321 |
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+

Apr 28 '07 #1
2 1881
John Ladasky wrote:
Hi, folks,

This probably has to do with Numeric and not with wxPython, but I
mention both for completeness.

My OS: Win2000
Python: 2.3.4
wx: 2.6.1.0, Unicode version
Numeric: 23.8
Here's the minimal code:
================================================

height = 50
width = 60
L = []
for y in range(height):
for x in range(width):
L.append(wx.Point(3+(2*x+y%2)*4, 3+7*y))
print width, height, len(L)
pos = reshape(array(L), (height, width))

And here's the output:
================================================

60 50 3000

pos = reshape(array(L), (height, width))
ValueError: total size of new array must be unchanged

I've used exactly this approach to create 2D arrays from lists of
numbers, with no problems. Why does this fail with wx.Point objects?
Why is it telling me that I'm changing the array size, when the
dimensions indicate that I am NOT? Typecasting the array as
containing PyObject items does not change the error message...
wx.Point objects are being recognized as sequences by array(). Consequently,
reshape() thinks you are trying to reshape a (height*width, 2) array into a
(height, width) array. You might want to create an empty (height, width)
PyObject array first, and simply assign wx.Point values into it. That bypasses
array()'s attempt at intuiting the structure of the list.

--
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

Apr 28 '07 #2
On Apr 27, 9:40 pm, Robert Kern <robert.k...@gmail.comwrote:
wx.Point objects are being recognized as sequences by array(). Consequently,
reshape() thinks you are trying to reshape a (height*width, 2) array into a
(height, width) array. You might want to create an empty (height, width)
PyObject array first, and simply assign wx.Point values into it. That bypasses
array()'s attempt at intuiting the structure of the list.
Thanks for the heads-up, Robert. I did as you suggested, and it works
fine. I'll need to read more about Numeric's array init procedure --
what it does it not immediately obvious to a newcomer.

+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
| Ladasky Home Solar, Inc.: blowing sunshine up your |
| power grid since March 24, 2005. Fiat lux! |
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
| Uptime Downtime kWh generated kWh consumed |
| 744 days 13 hours 12886 14321 |
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+

Apr 28 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by wang xiaoyu | last post: by
3 posts views Thread by Robert | last post: by
19 posts views Thread by Grant Edwards | last post: by
15 posts views Thread by Grant Edwards | last post: by
25 posts views Thread by BJörn Lindqvist | last post: by
22 posts views Thread by Glurt Wuntal | last post: by
25 posts views Thread by Daniel Jonsson | last post: by
4 posts views Thread by stef | last post: by
reply views Thread by gheharukoh7 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.