AI-generated Key Takeaways
-
You can compute the gradient of each band of an image using
image.gradient(). -
The
gradient()function outputs two bands: the gradient in the X-direction and the gradient in the Y-direction. -
The X and Y gradients can be combined to calculate the gradient magnitude and direction.
You can compute the gradient of each band of an image with image.gradient().
For example, the following code computes the gradient magnitude and direction of the
Landsat 8 panchromatic band:
Code Editor (JavaScript)
// Load a Landsat 8 image and select the panchromatic band. var image = ee.Image('LANDSAT/LC08/C02/T1/LC08_044034_20140318').select('B8'); // Compute the image gradient in the X and Y directions. var xyGrad = image.gradient(); // Compute the magnitude of the gradient. var gradient = xyGrad.select('x').pow(2) .add(xyGrad.select('y').pow(2)).sqrt(); // Compute the direction of the gradient. var direction = xyGrad.select('y').atan2(xyGrad.select('x')); // Display the results. Map.setCenter(-122.054, 37.7295, 10); Map.addLayer(direction, {min: -2, max: 2, format: 'png'}, 'direction'); Map.addLayer(gradient, {min: -7, max: 7, format: 'png'}, 'gradient');
Note that gradient() outputs two bands: the gradient in the X-direction and the
gradient in the Y-direction. As shown in the example, the two directions can be combined to
get gradient magnitude and direction. The magnitude should look something like Figure 1.