Hi All,
I just added support for PIL (Python Imaging Library, for those living
in a cave) images to imshow(). This was acheived largely through the
creation of a pil_to_array() function in image.py, which may be useful
for other purposes. I've tested the code with numarray and Numeric and
several image types and checked it into CVS this morning.
This code does not add a dependency on PIL to matplotlib -- it merely
uses PIL object attributes if they happen to get passed in. (I think
it's important to keep matplotlib's dependency list from growing without
reason.)
I would like to test the pil_to_array() function for the case of >8-bit
per channel images that (IIRC) PIL supports. If anyone has such images,
could they either 1) send one to me or 2) run them through
pil_to_array() and fix it?
Note that *display* of such high dynamic range will currently only be
possible with single channel data passed through a colormap because the
matplotlib's _image.cpp uses 8 bits per channel. (Not that anyone's
display device is likely to make use of this information -- and if you
have such a device, I'd love to hear about it!)
Cheers!
Andrew
|