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
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion

Reply via email to