Not sure that this is what you were up to, but I've read images (rasters) into arrays using Python and NumPy (completely outside GIS). I'm not sure if you are familiar with scripting, however, this worked perfectly for me:
import Image
from numpy import *
im =Image.open(imPathFile)
pix = array(im).transpose()
where pix is matrix with numeric values; matrix dimension is the same as the dimension of the raster and value locations are the same as in the pixel locations in the image.
Cheers,