Yury V. Zaytsev wrote:
Is it normal when I execute the following code I get the red dot at X = 200, Y = 100 on the plot?!
yes, I think it is.
I would have expected to be able to address pixels in the resulting array in a usual p[X, Y] format.
IIRC, the standard data storage for PIL iamges results in a (h, w) array, rather than a (w, h) one -- using X,Y, rather than Y,X is just a convention.
In numpy -- the convention is to think of and display the indexing as (row, column), hence (y, x), and MPL displays it that way.
you can just use (y,x) , or you can transpose the array: > p = a.T.copy() Remember to transpose back if you want to make a PIL image again. -Chris
I might be blind, but I haven't found anything in the documentation. Actually I have found out about the possibility to interface with Numpy itself at some blog: http://effbot.org/zone/pil-changes-116.htm . import Image import numpy as np import pylab as pyl if __name__ == "__main__": img_name = 'ch43_roi.tiff' img = Image.open(img_name) a = np.asarray(img) p = a.copy() p[100, 200] = (255, 0, 0) pyl.imshow(p) pyl.show()
-- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov _______________________________________________ Image-SIG maillist - Image-SIG@python.org http://mail.python.org/mailman/listinfo/image-sig