ARI

Image channel arithmetic


EnvironmentsPYTHON :: EASI :: MODELER
Batch ModeYes
Quick linksDescription :: Parameters :: Parameter descriptions :: Details :: Related

Back to top

Description


Performs arithmetic operations between two image channels or between an image channel and a scalar constant. Addition, subtraction, multiplication, division, logical AND, and logical OR operations are supported.
Back to top

Parameters


Name Type Length Value range
InputA: Input layer A * Raster port 1 -    
InputB: Input layer B * Raster port 1 -    
Mask: Area mask Bitmap port 0 -    
Output: Output Raster port 0 -    
Operation String 0 - 1 ADD, SUB, MUL, DIV, AND, OR
Default: ADD
DBOC * Integer 1 - 1  
Zero Divide Value Float 0 - 1 0.0 -
Autoscaling Mode String 0 - 1 ON, OFF, USER
Default: ON
Minimum Input Range Float 0 - 1024  
Maximum Input Range Float 0 - 1024  
Minimum Output Range Float 0 - 1024  
Maximum Output Range Float 0 - 1024  
Minimum Real 0 - 1024  
Maximum Real 0 - 1024  

* Required parameter
Back to top

Parameter descriptions

InputA: Input layer A

Specifies the input image layer A, one of two input image layers.

InputB: Input layer B

Specifies the input image layer B, one of two input image layers.

Mask: Area mask

Specifies the input Area Mask layer, a bitmap that indicates the area in the input raster that should be processed. If no bitmap is specified, the entire input layer is processed.

Output: Output

Specifies the output image layer that will receive the arithmetic or logical results.

Operation

Specifies the arithmetic or logical operation to be performed.

Logical operations are performed in a bitwise manner on binary representations of integers by comparing corresponding bit values with corresponding bit values to generate the output pixel value.

The OR option sets a bit value to 1 if one or both of the corresponding bits in its operands have a value of 1, and sets a bit value to 0 if both of the corresponding bits have a value of 0.

The OR option always returns a value of 1, unless the corresponding bit values of both operands are 0.

The AND option sets a bit value to 1 only if both of the corresponding bit values in its operands are 1; it sets a bit value to 0 if the bits differ or if both are 0. A 1 combined with AND with a second bit value is that second bit, and a zero combined with AND with a second bit is zero.

Valid options include:

DBOC

Specifies the output image channel to receive the arithmetic or logical results.

Zero Divide Value

Specifies the value to be used for the result of a division by zero.

Autoscaling Mode

Specifies the scaling method used to modify the results of the arithmetic operation, to preserve dynamic range. It has no effect on logical operations; that is, if Operation equals "AND" or "OR".

Available values include:
Note:

For more detailed information, see Scaling in the Details section.

Minimum Input Range

Specifies the minimum input range for scaling the results of image arithmetic operations when the Autoscaling method is set to "USER".

Minimum Input should be less than or equal to the Maximum Input Range.

The value of this parameter is ignored if:

For more detailed information, see Scaling in the Details section.

Maximum Input Range

Specifies the maximum input range for scaling the results of image arithmetic operations when the Autoscaling method is set to "USER".

Maximum Input should greater than or equal to the Minimum Input Range.

The value of this parameter is ignored if:

For more detailed information, see Scaling in the Details section.

Minimum Output Range

Specifies the minimum output range for scaling the results of image arithmetic operations when the Autoscaling method is set to "USER".

Minimum Output should be less than or equal to the Maximum Output Range.

The value of this parameter is ignored if:

For more detailed information, see Scaling in the Details section.

Maximum Output Range

Specifies the maximum output range for scaling the results of image arithmetic operations when the Autoscaling method is set to "USER".

Maximum Output should greater than or equal to the Minimum Output Range.

The value of this parameter is ignored if:

For more detailed information, see Scaling in the Details section.

Minimum

Specifies the minimum result of the operation. ARI saves the actual range of output values that resulted from the specified arithmetic operation before any scaling was performed. This parameter stores the minimum result of the operation.

For more detailed information, see the Details section.

Maximum

Specifies the maximum result of the operation. ARI saves the actual range of output values that resulted from the specified arithmetic operation before any scaling was performed. This parameter stores the maximum result of the operation.

For more detailed information, see the Function Details section.

Back to top

Details

ARI performs an arithmetic or a logical operation on image data stored in two ports ("InputA", "InputB"). The result is saved on a specified output layer (Output).

One of the following arithmetic or logical operations can be performed:

For logical operations, real pixel values are truncated to integers, then each bit in the first input channel is correlated to its corresponding bit in the second input channel using AND or OR.

A bitmap specifies the area within the input layers that will be processed. Only the areas covered by the bitmap will be processed; the rest of the pixels will be set to 0. If no bitmap is connected, the entire image is processed.

If an input pixel is NoData, it will be written as NoData in the output. The NoData value of the first input channel will be used to set the NoData value of the output channel.

Scaling

Scaling can be performed for arithmetic operations (ADD, SUB, MUL, or DIV). Scaling is NEVER performed for logical operations (AND or OR).

ARI can perform arithmetic operations on 8-bit unsigned integer, 16-bit signed integer, 16-bit unsigned integer, and 32-bit real channels (layers). These channels have the following ranges for data:

Type				   Min			   Max

8-bit unsigned integer		     0			    255
16-bit signed integer		-32768			  32767
16-bit unsigned integer		     0			  65535
32-bit real			1.0E38			+1.0E38

Because the results of arithmetic operations may be outside of the range of the values that the output channel can store, it is often necessary to scale the results to fit into the output channel. The user can control this scaling using autoscaling, and input and output range specifications.

Three options exist for scaling:

© PCI Geomatics Enterprises, Inc.®, 2026. All rights reserved.