The ArcGIS Image Analyst extension provides a rich suite of geoprocessing tools in ArcGIS Pro.

## Geoprocessing tools

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

### Change Detection

The Change Detection toolset contains a tool that performs change detection between two raster datasets.

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

Calculates the absolute, relative, or categorical difference between two raster datasets. |

### Deep Learning

Deep Learning tools detect features in imagery by using multiple layers of artificial neural networks where each layer is capable of extracting one or more unique features in the image. The following table lists the available Deep Learning tools and provides a brief description of each.

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

Runs a trained deep learning model on an input raster and an optional feature class to produce a feature class or table in which each input object or feature has an assigned class or category label. | |

Runs a trained deep learning model on an input raster to produce a classified raster, with each valid pixel having an assigned class label. | |

Calculates the accuracy of a deep learning model by comparing the detected objects from the Detect Objects Using Deep Learning tool to ground truth data. | |

Runs a trained deep learning model on an input raster to produce a feature class containing the objects it finds. The features can be bounding boxes or polygons around the objects found or points at the centers of the objects. | |

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

Identifies duplicate features from the output of the Detect Objects Using Deep Learning tool as a postprocessing step and creates a new output with duplicates removed. | |

Trains a deep learning model using the output from the Export Training Data For Deep Learning tool. |

### Extraction

The Extraction toolset allows you to extract a subset of pixels from a raster by the pixels' attributes or their spatial location.

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

Creates a table or a point feature class that shows the values of cells from a raster, or a set of rasters, for defined locations. The locations are defined by raster cells, points, polylines, or polygons. |

### Map Algebra

Map algebra is a way to perform raster analysis by creating expressions in an algebraic language. Expressions are created with the Raster Calculator tool, 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.

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

### Math

More than 60 Math tools are provided for performing mathematical operations on raster datasets. These 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, just represented as a floating point, for each cell in a raster. | |

Returns the next higher integer value, just represented as a floating point, for each cell 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 available Conditional Math tools 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. | |

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

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 tables list the available Logical Math tools and provide a brief description of each.

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 cell, if the value of the first input raster is found in any of the list of other inputs, that value will be assigned to the output raster. If it is not found, the output cell 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 for cells that are 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. |

### Motion Imagery

The Motion Imagery toolset contains tools for managing, processing, and analyzing motion imagery, including full motion video data. The following table lists the available Motion Imagery tools and provides a brief description of each.

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

Extracts video frame images and associated metadata from a FMV-compliant video stream and saves the data to a directory. | |

Extracts the platform, frame center, frame outline, and attributes metadata from a FMV-compliant video and saves the feature data to a directory. | |

Creates a video file that combines an archived video stream file and an associated metadata file synchronized by a time stamp. |

### Multidimensional Analysis

The tools in the Multidimensional Analysis toolset allow you to perform analysis on scientific data across multiple variables and dimensions. The following table lists the available Multidimensional Analysis tools and a brief description of each.

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

Generates a multidimensional raster dataset by combining existing multidimensional raster variables along a dimension. | |

Evaluates changes in pixel values over time using the Continuous Change Detection and Classification (CCDC) method and generates a change analysis raster containing the model results. | |

Evaluates changes in pixel values over time using the Landsat-based detection of trends in disturbance and recovery (LandTrendr) method and generates a change analysis raster containing the model results. | |

Generates a raster containing pixel change information using the output change analysis raster from the Analyze Changes Using CCDC tool or the Analyze Changes Using LandTrendr tool. | |

Extracts the dimension value or band index at which a given statistic is attained for each pixel in a multidimensional or multiband raster. | |

Computes the anomaly for each slice in an existing multidimensional raster to generate a new multidimensional raster. | |

Estimates the trend for each pixel along a dimension for one or more variables in a multidimensional raster. | |

Computes a forecasted multidimensional raster using the output trend raster from the Generate Trend Raster tool. | |

Generates a table containing the pixel count for each class, in each slice of an input categorical raster. |

### Overlay

The tool in the Overlay toolset performs various operations on multiple overlaid rasters. The following table lists the available Overlay tools and provides a brief description of each.

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

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

### 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 |
---|---|

Classifies a raster dataset based on an Esri classifier definition file (.ecd) 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 must match the inputs used to generate the required .ecd file. | |

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

Computes a set of attributes associated with the 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. | |

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. | |

Performs subpixel classification and calculates the fractional abundance of different land cover types for individual pixels. | |

Corrects segments or objects cut by tile boundaries during the segmentation process performed as a raster function. This tool is helpful for some regional processes, such as image segmentation, that have inconsistencies near image tile boundaries. This processing step is 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 into segments adjacent pixels that have similar spectral characteristics. | |

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

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

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

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

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

### Statistics

Use the Statistics 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. | |

Extract the dimension value (for example the date, height, or depth) at which a specific statistic is reached in the stack of rasters in a multidimensional raster dataset. | |

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. |

#### Related topics

- Introduction to the ArcGIS Pro Image Analyst extension
- An overview of the Image Analyst toolbox
- An overview of the Segmentation and Classification toolset in Image Analyst
- An overview of the Change Detection toolset
- An overview of the Deep Learning toolset
- An overview of the Math toolset in Image Analyst
- An overview of the Conditional math toolset
- An overview of the Logical Math toolset in Image Analyst
- An overview of the Trigonometric Math toolset in Image Analyst
- An overview of the Statistical toolset in Image Analyst
- An overview of the Map Algebra toolset in Image Analyst
- An overview of the Overlay toolset in Image Analyst
- An overview of the Motion Imagery toolset
- An overview of the Multidimensional Analysis toolset