Gradient
Summary
Calculates the gradient along x, y, x,y, or a given dimension.
Discussion
The Gradient function works on a single-band input. If the input is multiband, the first band will be used. Use the ExtractBand function to specify the required band.
For multidimensional input that contains multiple variables, all variables will be processed. If a variable does not contain the specified gradient_dimension parameter, it will be ignored. Use the Multidimensional Filter function to select the required variables.
The Multidimensional Filter function can also be used to define the dimension range for which the function is applied.
The following table lists the equations for the various gradient calculations:
|
Gradient type |
Equation |
|---|---|
|
Gradient X |
\((right \space pixel \space - \space current \space pixel) \space / \space Denominator \space Unit\) |
|
Gradient Y |
\((lower \space pixel \space - \space current \space pixel) \space / \space Denominator \space Unit\) |
|
Gradient for a dimension |
\((next \space slice \space - \space current \space slice) \space / \space Denominator \space Unit\) |
Syntax
Gradient(raster, {gradient_dimension}, {denominator_unit})
| Parameter | Explanation | Data Type |
|---|---|---|
|
raster |
The input raster or list of rasters. |
Raster |
|
gradient_dimension |
The available dimensions for which the gradient will be calculated. For nonmultidimensional input, available dimension options are For multidimensional input, available dimension options are The The default value is X. |
String |
|
denominator_unit |
The unit of the gradient denominator. The unit depends on the The following options are available for
The following options are available for
The following options are available for dimensions other than time dimensions:
The default value is DEFAULT. |
String |
Return value
| Data Type | Explanation |
|---|---|
|
Raster |
The output raster. |
Code sample
Calculate the gradient along the x and y dimensions of a Landsat image.
# Import system modules
import arcpy
from arcpy.ia import *
arcpy.ia.Gradient(raster, gradient_dimension, denominator_unit)
# Set local variables
input_raster = in_multidimensional_raster = "C:/data/landsat.crf"
gradient_dimension = "XY"
denominator_unit = "Cellsize"
# Apply Gradient function
gradient_raster = arcpy.ia.Gradient (raster, gradient_dimension, denominator_unit)
# Save the output
gradient_raster.save("C:/output/landsat_xy_gradient.crf")
This example calculates the gradient along StdTime of an NDVI time series.
# Import system modules
import arcpy
from arcpy.ia import *
arcpy.ia.Gradient (raster, gradient_dimension, denominator_unit)
# Set local variables
input_raster = in_multidimensional_raster = "C:/data/ndvi_time_series.crf"
gradient_dimension = "StdTime"
denominator_unit = "Per Year"
# Apply Gradient function
gradient_raster = arcpy.ia.Gradient (raster, gradient_dimension, denominator_unit)
# Save the output
gradient_raster.save("C:/output/ndvi_stdtime_gradient.crf")