Available with Image Analyst license.

The ArcGIS Image Analyst extension provides a rich suite of raster functions and geoprocessing tools in ArcGIS Pro. These functions and tools are grouped into categories of related functionality in the following tables. Each function and tool is linked within the table to a detailed description.

## Raster functions

A large number of raster functions is provided with the Image Analyst extension. These functions are grouped into categories of related functionality in the following tables.

### Classification raster functions

The following functions are found in the Classification raster function category. Use the segmentation and classification functions to prepare segmented rasters or pixel-based raster datasets to use in creating classified raster datasets.

Function | Description |
---|---|

Classify function | Applies the appropriate classifier and associated training data specified in the .ecd training file to a raster dataset or segmented raster. |

Performs a maximum likelihood classification on a raster dataset or mosaic dataset. | |

Segment Mean Shift function | Groups pixels that are adjacent and have similar spectral characteristics into segments. This can be used as a second raster in the Classify function. |

### Math

The following functions are found in the Math raster function category. The general math functions apply a mathematical function to the input raster(s). These tools fall into several categories. The arithmetic tools perform basic mathematical operations, such as addition and multiplication. There are tools that perform various types of exponentiation operations, which includes exponentials and logarithms, in addition to the basic power operations. The remaining tools are used either for sign conversion or for conversion between integer and floating point data types.

Function | Description |
---|---|

Abs function | Calculates the absolute value of the pixels in a raster. |

Arithmetic function | Uses the pixel values to calculate mathematical operations on overlapping rasters. |

Band Arithmetic function | Calculates indexes using the predefined formulas or user-defined expressions. |

Calculator function | Computes a raster from a mathematical expression based on the raster bands. |

Divide function | Divides the values of two rasters on a pixel-by-pixel basis. |

Exp function | Calculates the base e exponential of the pixels in a raster. |

Exp10 function | Calculates the base 10 exponential of the pixels in a raster. |

Exp2 function | Calculates the base 2 exponential of the pixels in a raster. |

Float function | Converts each pixel value of a raster into a floating-point representation. |

Int function | Converts each pixel value of a raster to an integer by truncation. |

Ln function | Calculates the natural logarithm (base e) of each pixel in a raster. |

Log10 function | Calculates the base 10 logarithm of each pixel in a raster. |

Log2 function | Calculates the base 2 logarithm of each pixel in a raster. |

Minus | Subtracts the value of the second input raster from the value of the first input raster on a pixel-by-pixel basis. |

Mod function | Finds the remainder (modulo) of the first raster when divided by the second raster on a pixel-by-pixel basis. |

Negate function | Changes the sign (multiplies by -1) of the pixel values of the input raster on a pixel-by-pixel basis. |

Plus function | Adds (sums) the values of two rasters on a pixel-by-pixel basis. |

Power function | Raises the pixel values in a raster to the power of the values found in another raster. |

Round Down function | Returns the next lower integer, as a floating point value, for each pixel in a raster. |

Round Up function | Returns the next higher integer, as a floating point value, for each pixel in a raster. |

Square function | Calculates the square of the pixel values in a raster. |

Square Root function | Calculates the square root of the pixel values in a raster. |

Times function | Multiplies the values of two rasters on a pixel-by-pixel basis. |

### Math: Conditional

The following functions are found in the Math: Conditional raster function category. The conditional functions allow you to control the output values based on the conditions placed on the input values. The conditions that can be applied are of two types: either queries on the attributes or a condition based on the position of the conditional statement in a list.

Function | Description |
---|---|

Con function | Performs a conditional if/else evaluation on each of the input cells of an input raster. |

Set Null function | Sets identified pixel locations to NoData based on the specified criteria. Returns NoData if a conditional evaluation is true, and returns the value specified by another raster if it is false. |

### Math: Logical

The following functions are found in the Math: Logical raster function category. The logical math functions evaluate the values of the inputs and determine the output values based on Boolean logic. These functions process raster datasets in five main areas: Bitwise, Boolean, Combinatorial, Logical, and Relational.

Function | Description |
---|---|

Bitwise And function | Performs a Bitwise And operation on the binary values of two input rasters. |

Bitwise Left Shift function | Performs a Bitwise Left Shift operation on the binary values of two input rasters. |

Bitwise Not function | Performs a Bitwise Not (complement) operation on the binary value of an input raster. |

Bitwise Or function | Performs a Bitwise Or operation on the binary values of two input rasters. |

Bitwise Right Shift function | Performs a Bitwise Right Shift operation on the binary values of two input rasters. |

Bitwise Xor function | Performs a Bitwise eXclusive Or operation on the binary values of two input rasters. |

Boolean And function | Performs a Boolean And operation on the pixel values of two input rasters. If both input values are true (nonzero), the output value is 1. If one or both input values are false (zero), the output value is 0. |

Boolean Not function | Performs a Boolean Not (complement) operation on the pixel values of the input raster. If the input values are true (nonzero), the output value is 0. If the input values are false (zero), the output value is 1. |

Boolean Or function | Performs a Boolean Or operation on the cell values of two input rasters. If one or both input values are true (nonzero), the output value is 1. If both input values are false (zero), the output value is 0. |

Boolean Xor function | Performs a Boolean eXclusive Or operation on the cell values of two input rasters. If one input value is true (nonzero) and the other value is false (zero), the output value is 1. If both input values are true or both are false, the output value is 0. |

Equal To function | Performs an equal-to operation on two rasters on a pixel-by-pixel basis. |

Greater Than function | Performs a Relational greater-than operation on two inputs on a pixel-by-pixel basis. Returns a value of 1 for pixels where the first raster is greater than the second raster and a value of 0 for pixels where the first raster is not greater than the second raster. |

Greater Than Equal function | Performs a Relational greater-than-or-equal-to operation on two inputs on a pixel-by-pixel basis. Returns a value of 1 for pixels where the first raster is greater than or equal to the second raster and a value of 0 for pixels where the first raster is not greater than or equal to the second raster. |

Is Null function | Determines which values from the input raster are NoData on a pixel-by-pixel basis. Returns a value of 1 if the input value is NoData and a value of 0 for pixels that are not NoData. |

Less Than function | Performs a Relational less-than operation on two inputs on a pixel-by-pixel basis. Returns a value of 1 for pixels where the first raster is less than the second raster and a value of 0 if it is not less than the second raster. |

Less Than Equal function | Performs a Relational less-than-or-equal-to operation on two inputs on a pixel-by-pixel basis. Returns a value of 1 for pixels where the first raster is less than or equal to the second raster and a value of 0 where it is not less than or equal to the second raster. |

Not Equal function | Performs a Relational not-equal-to operation on two inputs on a pixel-by-pixel basis. Returns a value of 1 for pixels where the first raster is not equal to the second raster and a value of 0 for pixels where it is equal to the second raster. |

### Math: Trigonometric

The following functions are found in the Math: Trigonometric raster function category. The trigonometric math functions perform various trigonometric calculations on the values in an input raster.

Function | Description |
---|---|

ACos function | Calculates the inverse cosine of the pixels in a raster. |

ACosH function | Calculates the inverse hyperbolic cosine of the pixels in a raster. |

ASin function | Calculates the inverse sine of the pixels in a raster. |

ASinH function | Calculates the inverse hyperbolic sine of the pixels in a raster. |

ATan function | Calculates the inverse tangent of the pixels in a raster. |

ATan2 function | Calculates the inverse tangent (based on x,y) of the pixels in a raster. |

ATanH function | Calculates the inverse hyperbolic tangent of the pixels in a raster. |

Cos function | Calculates the cosine of the pixels in a raster. |

CosH function | Calculates the hyperbolic cosine of the pixels in a raster. |

Sin function | Calculates the sine of the pixels in a raster. |

SinH function | Calculates the hyperbolic sine of the pixels in a raster. |

Tan function | Calculates the tangent of the pixels in a raster. |

TanH function | Calculates the hyperbolic tangent of the pixels in a raster. |

### Statistical

The following functions are found in the Statistical raster function category. Use the statistical functions to perform statistical raster operations on a local, neighborhood, or zonal basis.

Function | Description |
---|---|

ArgStatistics function | Orders raster bands into an array and identifies the band that has the minimum, maximum, median, or duration of pixel values. |

Cell Statistics function | Calculates statistics from multiple rasters on a pixel-by-pixel basis. The available statistics are Majority, Maximum, Mean, Median, Minimum, Minority, Range, Standard Deviation, Sum, and Variety. |

Statistics function | Defines a neighborhood and calculates the statistics within those pixels. |

Zonal Statistic function | Calculates statistics on values of a raster within the zones of another dataset. |

### Overlay

The following functions are found in the Math: Overlay raster function category. The overlay functions perform various operations on multiple overlaid rasters.

Function | Description |
---|---|

Overlays several rasters, multiplying each by their given weight and summing them together. |

## Geoprocessing tools

An large number of geoprocessing tools is provided with the Image Analyst extension. These tools are grouped into categories of related functionality in the following table and associated toolsets.

### Segmentation and Classification

The segmentation and classification tools perform classic statistical and advanced machine learning image classification algorithms on segmented and pixel-based raster datasets. Additional tools are provided to perform training set and classification accuracy, and refinement of class maps.

The following table lists the available segmentation and classification tools and provides a brief description of each.

Tool | Description |
---|---|

Classify a raster dataset based on an Esri Classifier Definition (.ecd) file and raster dataset inputs. The .ecd file contains all the information needed to perform a specific type of Esri-supported classification. The inputs to this tool need to match the inputs used to generate the required .ecd file. | |

Computes a confusion matrix with errors of omission and commission, then derives a kappa index of agreement and an overall accuracy between the classified map and the reference data. | |

Compute a set of attributes associated with your segmented image. The input raster can be a single-band or 3-band, 8-bit segmented image. | |

Creates randomly sampled points for post-classification accuracy assessment. | |

Converts a deep learning model to an Esri Classifer Definition file. | |

Uses a remote sensing image to convert labeled vector or raster data into deep learning training datasets. The output is a folder of image chips, and a folder of metadata files in the specified format. | |

Generates training samples from seed points, such as accuracy assessment points or training sample points. A typical use case is generating training samples from an existing source, such as a thematic raster or a feature class. | |

Estimates the accuracy of individual training samples. The cross validation accuracy is computed using the previously generated classification training result in an .ecd file and the training samples. Outputs include a raster dataset containing the misclassified class values and a training sample dataset with the accuracy score for each training sample. | |

Some regional processes, such as image segmentation, will have inconsistencies near image tile boundaries. This tool corrects segments or objects cut by tile boundaries during the segmentation process performed as a raster function. This processing step is already included in the Segment Mean Shift tool, therefore it should only be used on a segmented image that was not created from that tool. | |

Groups together adjacent pixels that have similar spectral characteristics into segments. | |

Generate an Esri classifier definition (.ecd) file using the Iso Cluster classification definition. | |

Generate an Esri classifier definition (.ecd) file using the Maximum Likelihood Classifier (MLC) classification definition. | |

Generate an Esri classifier definition (.ecd) file using the Random Trees classification method. | |

Generate an Esri classifier definition (.ecd) file using the Support Vector Machine (SVM) classification definition. | |

Updates the Target field in the attribute table in order to be able to compare reference points to the classified image. |

### Math

More than 60 math tools are provided for performing mathematical operations on raster datasets. These math tools are grouped into functional areas:

- General
- Conditional
- Logical
- Bitwise
- Boolean
- Combinatorial
- Logical
- Relational

- Trigonometric

### Math (general)

The general Math tools apply a mathematical operation to the input. These tools fall into several categories. The arithmetic tools perform basic mathematical operations, such as addition and multiplication. There are tools that perform various types of exponentiation operations, which includes exponentials and logarithms in addition to the basic power operations. The remaining tools are used either for sign conversion or for conversion between integer and floating point data types. The following table lists the available general math tools and provides a brief description of each.

Tool | Description |
---|---|

Calculates the absolute value of the cells in a raster. | |

Divides the values of two rasters on a cell-by-cell basis. | |

Calculates the base e exponential of the cells in a raster. | |

Calculates the base 10 exponential of the cells in a raster. | |

Calculates the base 2 exponential of the cells in a raster. | |

Converts each cell value of a raster into a floating-point representation. | |

Converts each cell value of a raster to an integer by truncation. | |

Calculates the natural logarithm (base e) of cells in a raster. | |

Calculates the base 10 logarithm of cells in a raster. | |

Calculates the base 2 logarithm of cells in a raster. | |

Subtracts the value of the second input raster from the value of the first input raster on a cell-by-cell basis. | |

Finds the remainder (modulo) of the first raster when divided by the second raster on a cell-by-cell basis. | |

Changes the sign (multiplies by -1) of the cell values of the input raster on a cell-by-cell basis. | |

Adds (sums) the values of two rasters on a cell-by-cell basis. | |

Raises the cell values in a raster to the power of the values found in another raster. | |

Returns the next lower integer value, but represented as a floating point value, for each pixel in a raster. | |

Returns the next higher integer value, but represented as a floating point value, for each pixel in a raster. | |

Calculates the square of the cell values in a raster. | |

Calculates the square root of the cell values in a raster. | |

Multiplies the values of two rasters on a cell-by-cell basis. |

### Math (Conditional)

The conditional math tools allow you to control the output values based on the conditions placed on the input values. The conditions that can be applied are of two types: either queries on the attributes or a condition based on the position of the conditional statement in a list. The following table lists the tools that perform conditional analysis and provides a brief description of each.

Tool | Description |
---|---|

Performs a conditional if/else evaluation on each of the input cells of an input raster. | |

The value from a position raster is used to determine from which raster in a list of input rasters the output cell value will be obtained. | |

Set Null sets identified cell locations to NoData based on a specified criteria. It returns NoData if a conditional evaluation is true, and returns the value specified by another raster if it is false. |

### Math (Logical)

The logical math tools evaluate the values of the inputs and determine the output values based on Boolean logic. These tools process raster datasets in five main categories: bitwise, boolean, combinatorial, logical, and relational. The following tools are found in the logical math category.

Tool | Description |
---|---|

Performs a Bitwise And operation on the binary values of two input rasters. | |

Performs a Bitwise Left Shift operation on the binary values of two input rasters. | |

Performs a Bitwise Not (complement) operation on the binary value of an input raster. | |

Performs a Bitwise Or operation on the binary values of two input rasters. | |

Performs a Bitwise Right Shift operation on the binary values of two input rasters. | |

Performs a Bitwise eXclusive Or operation on the binary values of two input rasters. |

Tool | Description |
---|---|

Performs a Boolean And operation on the cell values of two input rasters. If both input values are true (non-zero), the output value is 1. If one or both inputs are false (zero), the output is 0. | |

Performs a Boolean Not (complement) operation on the cell values of the input raster. If the input values are true (non-zero), the output value is 0. If the input values are false (zero), the output is 1. | |

Performs a Boolean Or operation on the cell values of two input rasters. If one or both input values are true (non-zero), the output value is 1. If both input values are false (zero), the output is 0. | |

Performs a Boolean eXclusive Or operation on the cell values of two input rasters. If one input value is true (non-zero) and the other false (zero), the output is 1. If both input values are true or both are false, the output is 0. |

Tool | Description |
---|---|

Performs a Combinatorial And operation on the cell values of two input rasters. If both input values are true (non-zero), the output is a different value for each unique combination of input values. If one or both inputs are false (zero), the output value is 0. | |

Performs a Combinatorial Or operation on the cell values of two input rasters. If either input value is true (non-zero), the output is a different value for each unique combination of input values. If both inputs are false (zero), the output value is 0. | |

Performs a Combinatorial eXclusive Or operation on the cell values of two input rasters. If one input value is true (non-zero) and the other false (zero), the output is a different value for each unique combination of input values. If both inputs are true or both are false, the output value is 0. |

Tool | Description |
---|---|

Performs a Relational equal-to operation on two inputs on a cell-by-cell basis. Returns 1 for cells where the first raster equals the second raster and 0 for cells where it does not. | |

Performs a Relational greater-than operation on two inputs on a cell-by-cell basis. Returns 1 for cells where the first raster is greater than the second raster and 0 for cells if it is not. | |

Performs a Relational greater-than-or-equal-to operation on two inputs on a cell-by-cell basis. Returns 1 for cells where the first raster is greater than or equal to the second raster and 0 if it is not. | |

Performs a Relational less-than operation on two inputs on a cell-by-cell basis. Returns 1 for cells where the first raster is less than the second raster and 0 if it is not. | |

Performs a Relational less-than-or-equal-to operation on two inputs on a cell-by-cell basis. Returns 1 for cells where the first raster is less than or equal to the second raster and 0 where it is not. | |

Performs a Relational not-equal-to operation on two inputs on a cell-by-cell basis. Returns 1 for cells where the first raster is not equal to the second raster and 0 for cells where it is equal. |

Tool | Description |
---|---|

Determines which values from the first input are logically different from the values of the second input on a cell-by-cell basis. If the values on the two inputs are different, the value on the first input is output. If the values on the two inputs are the same, the output is 0. | |

Determines which values from the first input are contained in a set of other inputs, on a cell-by-cell basis. For each pixel, if the value of the first input raster is found in the list of any other inputs, that value will be assigned to the output raster. If it is not found, the output pixel will be NoData. | |

Determines which values from the input raster are NoData on a cell-by-cell basis. Returns a value of 1 if the input value is NoData and 0 if it is not. | |

For the cell values in the first input that are not 0, the output value will be that of the first input. Where the cell values are 0, the output will be that of the second input raster. | |

Performs a Boolean evaluation of the input raster using a logical expression. When the expression evaluates to true, the output cell value is 1. If the expression is false, the output cell value is 0. |

### Math (Trigonometric)

The trigonometric math tools perform various trigonometric calculations on the values in an input raster. The following table lists the available trigonometric math tools and provides a brief description of each.

Tool | Description |
---|---|

Calculates the inverse cosine of cells in a raster. | |

Calculates the inverse hyperbolic cosine of cells in a raster. | |

Calculates the inverse sine of cells in a raster. | |

Calculates the inverse hyperbolic sine of cells in a raster. | |

Calculates the inverse tangent of cells in a raster. | |

Calculates the inverse hyperbolic tangent of cells in a raster. | |

Calculates the inverse hyperbolic tangent of cells in a raster. | |

Calculates the cosine of cells in a raster. | |

Calculates the hyperbolic cosine of cells in a raster. | |

Calculates the sine of cells in a raster. | |

Calculates the hyperbolic sine of cells in a raster. | |

Calculates the tangent of cells in a raster. | |

Calculates the hyperbolic tangent of cells in a raster. |

### Statistics

Use the statistical tools to perform statistical raster operations on a local, neighborhood, or zonal basis. The following table lists the tools that perform statistical analysis and provides a brief description of each.

Tool | Description |
---|---|

Calculates a per-cell statistic from multiple rasters. The available statistics are Majority, Maximum, Mean, Median, Minimum, Minority, Range, Standard deviation, Sum, and Variety. | |

Calculates for each input cell location a statistic of the values within a specified neighborhood around it. | |

Calculates statistics on values of a raster within the zones of another dataset. |

### Map Algebra

Map Algebra is a way to perform raster analysis by creating expressions in an algebraic language. Expressions are created with a tool is called the Raster Calculator , which enables you to build expressions that output a raster dataset. The Raster Calculator builds and executes a single map algebra expression using Python syntax.

The operators in the Raster Calculator tool dialog box are:

For more details about the Raster Calculator, refer to An overview of the Map Algebra toolset

### Overlay

The overlay tools perform various operations on multiple overlaid rasters. The following table lists the available overlay math tools and provides a brief description of each.

Tool | Description |
---|---|

Overlays several rasters, multiplying each by their given weight and summing them together. |