I have an image that has 7 bands with 6938x752 pixels in each band. I want to do some processing on it so am using a python module called RIOS that deals with the reading and writing of the image to let the user focus on the processing. It reads the image in as a numpy array in blocks so that the processing is more efficient than reading in the whole image.
It reads the image in as a numpy array with the shape (7, 200, 200). I want to process the data by pixel so that I have the information from each band for each pixel. Is there a way to index the array so that for I can process just the 7 values (one for each band) for each pixel within image?
The only little code I can provide here is the function I use to read in, process and write the data.
def MASKimage(info, inputs, outputs):
inputs.image1 = inputs.image1.astype(numpy.float32) # Read the image in as an array with shape (7, 200, 200)
process = * Do some processing on the array which is the 7 values pixel by pixel * # has shape (1,7)
outputs.outimage = process
inputs.image1[:,0,0]for the 0th row 0th column and so on.