[Numpy-discussion] setting rows of a numpy array
Mon Apr 28 14:10:35 CDT 2008
A couple suggestions:
> I am setting
> the each row using pixel values of each image in some folder.
As an image is generally a 2-d array of pixels, you may want to use a N
X Width X Height 3-d array, rather than flattening each image to a
> def putrow(myarray,inrow ,rownum):
I'm not sure I'd both writing a function for a one liner like that --
why not just put it in the code and avoid the function overhead?
> for i in range(numofimgs):
no need to make an array out of _pixelarray first -- you can just do:
for i in range(numofimgs):
myimagesdata[i,:] = myimagefileslist[i]._pixelarray
Can you load the data right into myimagesdata up front, rather than
creating your MyImage instances first? That'll save you a bunch of data
copying. In fact, if you build the big array, you can then have the
MyImage objects reference a view intot he big array, so no data copying:
myimagefileslist[i]._pixelarray = myimagesdata[i,:]
will give you a 1-d array that shares data with the main 2-d array.
Christopher Barker, Ph.D.
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
More information about the Numpy-discussion