While analyzing multiple (more than 3) satellite images from the same location, it is sometimes necessary to extract pixel values from specific areas of the image to see the changing trends whether it be for phenological studies, change detection, ecological studies etc. I know there is a tool called 'ROI' in ENVI but I was wondering if there is a similar tool in ArcMap Toolbox?
You might want to look at the Extract Multi Values to Points tool: Extract Values to Points—Help | ArcGIS for Desktop
Good answer but the true link is : Extract Multi Values to Points—Help | ArcGIS for Desktop
Really? The true method?
How about true multidimensional tools
3 image with 3 bands stacked... what are the values for the middle pixel for all images and all bands
>>> import numpy as np
>>> np.set_printoptions(edgeitems=2,linewidth=80,precision=2,suppress=True,threshold=10)
>>> a = np.arange(81).reshape(9,3,3)
>>>
>>> a
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
...,
[[63, 64, 65],
[66, 67, 68],
[69, 70, 71]],
[[72, 73, 74],
[75, 76, 77],
[78, 79, 80]]])
>>> a[...,1,1] # center cell over 9 bands
array([ 4, 13, 22, 31, 40, 49, 58, 67, 76])
>>> # extract by points
>>> b # point mask
array([[1, 0, 1],
[0, 1, 0],
[1, 0, 1]])
>>> a[np.where(b==1)]
array([[ 0, 1, 2],
[ 6, 7, 8],
[12, 13, 14],
[18, 19, 20],
[24, 25, 26]])
>>> # or where the mask is nonzero
>>> r,c = np.nonzero(b)
>>> r
array([0, 0, 1, 2, 2], dtype=int64)
>>> c
array([0, 2, 1, 0, 2], dtype=int64)
>>> sub = a[:,r,c]
>>> sub
array([[ 0, 2, 4, 6, 8],
[ 9, 11, 13, 15, 17],
[18, 20, 22, 24, 26],
...,
[54, 56, 58, 60, 62],
[63, 65, 67, 69, 71],
[72, 74, 76, 78, 80]])
>>> sub.shape
(9, 5)
Thanks FC, Abdullah and Dan for your valuable answers and comments. I see that the Spatial Analyst tools 'Extract Values to Points' and 'Extract Multi Values to Points' only work with point feature. There is another tool under the Geostatistical Analyst called the 'Extract Values to Table' which seems to work with both points and polygon. I was looking for the polygon option. Nevertheless, I don't find these tools as intuitive and interactive as the 'ROI' tool. Surely Dan, open source solutions work, I just need to get familiar with the coding part. Python is cool.
It is builtin to arcmap
to array
RasterToNumPyArray—Help | ArcGIS for Desktop
TableToNumPyArray—Help | ArcGIS for Desktop
FeatureClassToNumPyArray—Help | ArcGIS for Desktop
then back
NumPyArrayToRaster—Help | ArcGIS for Desktop
NumPyArrayToFeatureClass—Help | ArcGIS for Desktop or
NumPyArrayToTable—Help | ArcGIS for Desktop
And that doesn't even cover SciPy if you have access to Pro
esri has embraced the open source tools