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

Reply via email to