Skip To Content

Bitwise Not

Available with Spatial Analyst license.

Available with Image Analyst license.

Summary

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

Learn more about how Bitwise Math tools work

Illustration

Bitwise Not illustration
OutRas = BitwiseNot(InRas1)

Usage

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

  • In bitwise operations:

    • 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 Not operation treats the sign bit as it would any other bit. If the input for a cell location is negative, the output is negative; if the input is positive, the output is positive.

Syntax

BitwiseNot(in_raster_or_constant)
ParameterExplanationData Type
in_raster_or_constant

The input raster on which to perform the Bitwise Not (complement) operation.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To be able 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 Not operation on the input.

Raster

Code sample

BitwiseNot example 1 (Python window)

This example performs a Bitwise Not operation on an input Grid raster.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outBitwiseNot = BitwiseNot("degs")
outBitwiseNot.save("C:/iapyexamples/output/outbitn")
BitwiseNot example 2 (stand-alone script)

This example performs a Bitwise Not operation on an input Grid raster.

# Name: BitwiseNot_Ex_02.py
# Description: Performs a Bitwise Complement operation on the
#              binary value of an input raster
# 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
inRaster = "degs"

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

# Execute BitwiseNot
outBitwiseNot = BitwiseNot(inRaster)

# Save the output 
outBitwiseNot.save("C:/iapyexamples/output/outbitnot")

Licensing information

  • Basic: Requires Image Analyst or Spatial Analyst
  • Standard: Requires Image Analyst or Spatial Analyst
  • Advanced: Requires Image Analyst or Spatial Analyst

Related topics