# Local Function

The Local function allows you to perform bitwise, conditional, logical, mathematical, and statistical operations on a pixel-by-pixel basis. Depending on the operation type, it may require 1, 2, 3 or *n* input rasters. You may need to stack a few Local functions together in order to achieve some of the conditional and logical functions.

The inputs for this function are the following:

- Input
- Operations
- Cell Size
- Extent

## Input

There are several inputs that can be used within the Local function. The Local function only works on a single band. If you have a multiple band raster, use the Extract Band function to specify which band to use in the Local function.

Add raster from disk | Add a raster that is on disk. You can add raster datasets, mosaic datasets, and raster products. |

Add function chain | Add a function chain as an input. |

Add scalar | Add a scalar value. Scalar values must be numeric. |

Add reference to selected input | Add a referenced copy of the selected raster or the selected function chain input. A change in the referenced raster or the function chain will be reflected in this referenced copy. This can be useful when creating many Local functions that may use the same referenced input. |

Add copy of selected input | Add a static copy of the selected function chain input. A change in the copied function chain will not reflect this static copy. This can be useful when creating many similar Local functions where there is a slight change in the function chains. |

## Operations

The operations will perform the specified function on the input rasters. The Operation information box informs you which Operation was chosen and how many inputs are needed.

| |

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

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

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

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

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

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

| |

Majority | Determines the majority (value that occurs most often) of the inputs. |

Maximum | Determines the maximum (largest value) of the inputs. |

Mean | Calculates the mean (average) of the inputs. |

Median | Calculates the median of the inputs. |

Minimum | Determines the minimum (smallest value) of the inputs. |

Minority | Determines the minority (value that occurs least often) of the inputs. |

Range | Calculates the range (difference between largest and smallest value) of the inputs. |

Standard Deviation | Calculates the standard deviation of the inputs. |

Sum | Calculates the sum (total of all values) of the inputs. |

Variety | Calculates the variety (number of unique values) of the inputs. |

Majority (Ignore NoData) | Determines the majority (value that occurs most often) of the inputs. Only cells that have data values will be used in determining the statistic value. If a NoData value exists at a certain location, the NoData value will be ignored. Only cells that have data values will be used in determining the output. |

Maximum (Ignore NoData) | Determines the maximum (largest value) of the inputs. Only cells that have data values will be used in determining the statistic value. If a NoData value exists at a certain location, the NoData value will be ignored. Only cells that have data values will be used in determining the output. |

Mean (Ignore NoData) | Calculates the mean (average) of the inputs. Only cells that have data values will be used in determining the statistic value. If a NoData value exists at a certain location, the NoData value will be ignored. Only cells that have data values will be used in determining the output. |

Median (Ignore NoData) | Calculates the median of the inputs. |

Minimum (Ignore NoData) | Determines the minimum (smallest value) of the inputs. |

Minority (Ignore NoData) | Determines the minority (value that occurs least often) of the inputs. |

Range (Ignore NoData) | Calculates the range (difference between largest and smallest value) of the inputs. |

Standard Deviation (Ignore NoData) | Calculates the standard deviation of the inputs. |

Sum (Ignore NoData) | Calculates the sum (total of all values) of the inputs. |

Variety (Ignore NoData) | Calculates the variety (number of unique values) of the inputs. |

| |

Con | Performs a conditional If, Then, Else operation. When a Con operator is used, there usually needs to be two or more local functions chained together, where one local function states the criteria and the second local function is the Con operator which uses the criteria and dictates what the true and false outputs should be. |

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

| |

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

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

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

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

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

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

Greater Than Equal | 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. |

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

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

Less Than Equal | 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. |

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

| |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Round Down | Returns the next lower integer value, just represented as a floating point, for each cell in a raster. |

Round Up | Returns the next higher integer value, just represented as a floating point, for each cell in a raster. |

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

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

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

| |

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

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

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

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

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

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

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

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

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

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

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

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

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

## Cell size and Extent

Choose which cell size to use in the output raster. If all the input cell sizes are the same, then all the options will yield the same results.

First | Use the first cell size of the input rasters. This is the default. |

Last | Use the last cell size of the input rasters. |

Max | Use the largest cell size of all the input rasters. |

Mean | Use the mean cell size of all the input rasters. |

Min | Use the smallest cell size of all the input rasters. |

Choose which extent should be used in the output raster.

First | Use the extent of the first input raster to determine the processing extent. This is the default. |

Intersection | Use the extent of the overlapping pixels to determine the processing extent. |

Last | Use the extent of the last input raster to determine the processing extent. |

Union | Use the extent of all the rasters to determine the processing extent. |