AI-generated Key Takeaways
-
Image.arrayArgmax()
identifies the positional index of the maximum value within an image's array of values. -
In cases where the maximum value appears multiple times, the function returns the index of the first occurrence.
-
The function works with both 1D and multidimensional arrays, providing the index or indices corresponding to the maximum value's location.
-
This method returns a new Image where each pixel represents the index or indices of the maximum value in the input image's corresponding pixel array.
Usage | Returns |
---|---|
Image.arrayArgmax() | Image |
Argument | Type | Details |
---|---|---|
this: image | Image | The input image. |
Examples
Code Editor (JavaScript)
// A function to print the array for a selected pixel in the following examples. function sampArrImg(arrImg) { var point = ee.Geometry.Point([-121, 42]); return arrImg.sample(point, 500).first().get('array'); } // Create a 1D array image. var arrayImg1D = ee.Image([0, 1, 5, 2, 3, 4]).toArray(); print('1D array image (pixel)', sampArrImg(arrayImg1D)); // [0, 1, 5, 2, 3, 4] // Get the position of the maximum value in a 1D array. var maxValue1D = arrayImg1D.arrayArgmax(); print('Position of the maximum 1D array value', sampArrImg(maxValue1D)); // [2] // Create a 2D 2x3 array image (reshape the 1D array image). var arrayImg2D = arrayImg1D.arrayReshape(ee.Image([2, 3]).toArray(), 2); print('2D 2x3 array image (pixel)', sampArrImg(arrayImg2D)); // [[0, 1, 5], // [2, 3, 4]] // Get the position of the maximum value in a 2D array. var maxValue2D = arrayImg2D.arrayArgmax(); print('Position of the maximum 2D array value', sampArrImg(maxValue2D)); // [0, 2]
import ee import geemap.core as geemap
Colab (Python)
# A function to print the array for a selected pixel in the following examples. def samp_arr_img(arr_img): point = ee.Geometry.Point([-121, 42]) return arr_img.sample(point, 500).first().get('array') # Create a 1D array image. array_img_1d = ee.Image([0, 1, 5, 2, 3, 4]).toArray() print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo()) # [0, 1, 5, 2, 3, 4] # Get the position of the maximum value in a 1D array. max_value_1d = array_img_1d.arrayArgmax() print( 'Position of the maximum 1D array value:', samp_arr_img(max_value_1d).getInfo() ) # [2] # Create a 2D 2x3 array image (reshape the 1D array image). array_img_2d = array_img_1d.arrayReshape(ee.Image([2, 3]).toArray(), 2) print('2D 2x3 array image (pixel):', samp_arr_img(array_img_2d).getInfo()) # [[0, 1, 5], # [2, 3, 4]] # Get the position of the maximum value in a 2D array. max_value_2d = array_img_2d.arrayArgmax() print( 'Position of the maximum 2D array value:', samp_arr_img(max_value_2d).getInfo() ) # [0, 2]