Bitwise XOr (Image Analyst)

Available with Spatial Analyst license.

Available with Image Analyst license.

Summary

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

Learn more about how Bitwise Math tools work

Illustration

Bitwise XOr illustration
OutRas = BitwiseXOr(InRas1, InRas2)

Usage

  • Two inputs are necessary for this bitwise operation to take place.

  • The order of inputs is irrelevant for this tool.

  • If an input is floating point, the values are converted to integer values through truncation before the bitwise operation is performed.

  • In bitwise operations, the following are true:

    • Binary values are stored in two's complement.
    • The tools work on 32-bit integers.
    • The leftmost bit position is reserved for the sign (positive or negative) of the value. If the integer is positive, the bit position is 0; if it's negative, the bit position is 1.

  • The Bitwise XOr operation treats the sign bit as it would any other bit. If one or both inputs for a cell location are negative, the output is negative; if both inputs are positive, the output is positive.

  • If both inputs are single-band rasters or one of the inputs is a constant, the output will be a single-band raster.

  • If both inputs are multiband rasters, the tool will perform the operation on each band from one input, and the output will be a multiband raster. The number of bands in each multiband input must be the same.

  • If one of the inputs is a multiband raster and the other input is a constant, the tool will perform the operation using the constant value for each band in the multiband input, and the output will be a multiband raster.

  • If both inputs are multidimensional raster data with the same number of variables, the tool will perform the operation for all slices with the same dimension value. The output will be a multidimensional raster in CRF format. The variables in the inputs must have at least one common dimension and one common dimensional value for this tool to process; otherwise, an error will occur.

    If both inputs have one variable but different names, uncheck the Match Multidimensional Variable geoprocessing environment (set arcpy.env.matchMultidimensionalVariable = False in Python) before running the tool.

    If one of the inputs is a multidimensional raster and the other input is a constant, the tool will perform the operation for all slices for all variables using the constant value, and the output will be a multidimensional raster.

Parameters

LabelExplanationData Type
Input raster or constant value 1

The first input to use in this bitwise operation.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant
Input raster or constant value 2

The second input to use in this bitwise operation.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant

Return Value

LabelExplanationData Type
Output raster

The output raster.

The cell values are the result of a Bitwise eXclusive Or operation on the two inputs.

Raster

BitwiseXOr(in_raster_or_constant1, in_raster_or_constant2)
NameExplanationData Type
in_raster_or_constant1

The first input to use in this bitwise operation.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant
in_raster_or_constant2

The second input to use in this bitwise operation.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant

Return Value

NameExplanationData Type
out_raster

The output raster.

The cell values are the result of a Bitwise eXclusive Or operation on the two inputs.

Raster

Code sample

BitwiseXOr example 1 (Python window)

This example performs a Bitwise XOr operation on two Grid rasters.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outBitwiseXOr = BitwiseXOr("degs", "negs")
outBitwiseXOr.save("C:/iapyexamples/output/outbitxor")
BitwiseXOr example 2 (stand-alone script)

This example performs a Bitwise XOr operation on two Grid rasters and outputs the result as an IMG raster.

# Name: BitwiseXOr_Ex_02.py
# Description: Performs a Bitwise XOr operation on the binary values
#              of two input rasters
# Requirements: Image Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *

# Set environment settings
env.workspace = "C:/iapyexamples/data"

# Set local variables
inRaster1 = "degs"
inRaster2 = "negs"

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute BitwiseXOr
outBitwiseXOr = BitwiseXOr(inRaster1, inRaster2)

# Save the output 
outBitwiseXOr.save("C:/iapyexamples/output/outbitwisexor.img")

Related topics