diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2000-09-22 12:46:19 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2000-09-22 12:46:19 (GMT) |
commit | d35509a82d8fc1cb41ac9f10755f359e60a339a4 (patch) | |
tree | f5468cb688353084aab4a52c44d4461fff7adf8c /Mac/Contrib/ImageHelpers/ExtPixMapWrapper.py | |
parent | fdd2269fcc9ab9f6349e600a3cc29960cb3f8c39 (diff) | |
download | cpython-d35509a82d8fc1cb41ac9f10755f359e60a339a4.zip cpython-d35509a82d8fc1cb41ac9f10755f359e60a339a4.tar.gz cpython-d35509a82d8fc1cb41ac9f10755f359e60a339a4.tar.bz2 |
Contributed modules by Riccardo Trocca. Extended pixmap wrapper, NumPy visualiser and QuickTime to images.
Diffstat (limited to 'Mac/Contrib/ImageHelpers/ExtPixMapWrapper.py')
-rw-r--r-- | Mac/Contrib/ImageHelpers/ExtPixMapWrapper.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Mac/Contrib/ImageHelpers/ExtPixMapWrapper.py b/Mac/Contrib/ImageHelpers/ExtPixMapWrapper.py new file mode 100644 index 0000000..ac261b5 --- /dev/null +++ b/Mac/Contrib/ImageHelpers/ExtPixMapWrapper.py @@ -0,0 +1,46 @@ +''' +A really quick and dirty hack to extend PixMapWrapper +They are mere copies of the toImage and fromImage methods. +Riccardo Trocca (rtrocca@libero.it) +''' +from PixMapWrapper import * +import Numeric + +class ExtPixMapWrapper(PixMapWrapper): + + def toNumeric(self): + + data = self.tostring()[1:] + chr(0) + bounds = self.bounds + tmp=Numeric.fromstring(data,Numeric.UnsignedInt8) + #tmp.shape=(bounds[3]-bounds[1],bounds[2]-bounds[0],4) + tmp.shape=(bounds[2]-bounds[0],bounds[3]-bounds[1],4) + return Numeric.transpose(tmp,(1,0,2)) + + def fromNumeric(self,num): + s=num.shape + x=num.shape[1] + y=num.shape[0] + #bands=1 Greyscale image + #bands=3 RGB image + #bands=4 RGBA image + if len(s)==2: + bands=1 + num=Numeric.resize(num,(y,x,1)) + else: + bands=num.shape[2] + + if bands==1: + num=Numeric.concatenate((num,num,num),2) + bands=3 + if bands==3: + alpha=Numeric.ones((y,x))*255 + alpha.shape=(y,x,1) + num=Numeric.concatenate((num,alpha),2) + + data=chr(0)+Numeric.transpose(num,(1,0,2)).astype(Numeric.UnsignedInt8).tostring() + PixMapWrapper.fromstring(self,data,x,y) + + + + |