ee.Image.arrayArgmax
Computes the positional indices of the maximum value in image of array values. If there are multiple occurrences of the maximum, the indices reflect the first.
Usage | Returns |
---|
Image.arrayArgmax() | Image |
Argument | Type | Details |
---|
this: image | Image | The input image. |
Examples
// 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]
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
import ee
import geemap.core as geemap
# 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]
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-06 UTC.
[null,null,["Last updated 2023-10-06 UTC."],[[["`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."]]],[]]