Sebastian Haase wrote:
> Hi,
> I have a (medical) image file.
> I wrote a nice interface based on memmap using numarray.
> The class design I used was essentially to return a numarray array
> object with a new "custom" attribute giving access to special
> information about the base file.
>
> Now with numpy I noticed that a numpy object does not allow adding new
> attributes !! (How is this ? Why ?)
>
> Travis already suggested (replying to one of my last postings) to create
> a new sub class of numpy.ndarray.
>
> But how do I initialize an object of my new class to be "basically
> identically to" an existing ndarray object ?
> Normally I could do
> class B(N.ndarray):
> pass
> a=N.arange(10)
> a.__class__ = B
Isn't this what you need to do instead?
In [1]:import numpy as N
In [2]:class B(N.ndarray):
...: pass
...:
In [3]:a = B(N.arange(10))
In [4]:a.__class__
Out[4]:<class '__main__.B'>
In [5]:a.stuff = 'stuff'
I don't think it makes sense to try to change the __class__ attribute by
assignment.
Eric
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Numpy-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/numpy-discussion