My platform is windows 7 64bit, and when I do this: import Image im = Image.open(file) print im.getpixel((168,78)) #pixel intensity is 65535, gives -1 as value print im.getpixel((169,78)) #pixel intensity is 64453, gives -1083 as value.
On Sun, Aug 1, 2010 at 7:14 AM, Fredrik Lundh <fred...@pythonware.com> wrote: > 2010/7/6 Chris Mitchell <chris.m...@gmail.com>: >> I'm running into a problem where my image intensities are being loaded >> as 16 bit signed integers. The code I'm using to open the tiff file >> is: >> >> im = Image.open(file) >> self.pixels = np.array([im.getdata()], np.uint16) >> >> the filetype is a 16bit TIFF, whose intensities load fine into ImageJ. >> I load their intensities into a numpy 16bit array, and for the time >> being I've fixed this problem with this code: >> >> np.where(self.pixels<0, -1*self.pixels+(32768+self.pixels),self.pixels) >> >> That basically takes any negative values and compensates for the >> rollover. Does anyone have any idea why PIL is loading my TIFF files >> as signed integers? > > Could be that something goes wrong on the way to numpy. What values > do you get from PIL's own access methods (e.g. getpixel)? > > Also, what platform is this on? > > </F> > _______________________________________________ Image-SIG maillist - Image-SIG@python.org http://mail.python.org/mailman/listinfo/image-sig