Using the Convert Pixel Type process

LegacyLegacy:

ArcGIS 10 is the last release of the stand-alone ArcGIS Image Server product. The image service definition (.ISDef) has been replaced by an improved geodatabase data model—the mosaic dataset—which can be published as an image service using the ArcGIS Server Image extension.

The Convert Pixel Type process allows you to convert the pixel type of an image from 1-bit depth data to another. The pixel type (also known as bit depth) of a cell determines the range of values that a particular raster file can store, which is based on the formula 2n (where n is the bit depth). For example, an 8-bit raster can have 256 unique values, which range from 0 to 255.

This process is generally used to convert an input image to the required pixel type. It can also be used to convert 16-bit or 12-bit imagery to 8-bit imagery, although generally the Stretching process is used for this conversion instead.

The following table shows the range of values stored for different bit depths:

Bit depth

Range of values that each pixel can contain

1 bit

0 to 1

2 bit

0 to 4

4 bit

0 to 16

Unsigned 8 bit

0 to 255

Signed 8 bit

-128 to 127

Unsigned 16 bit

0 to 65 535

Signed 16 bit

-32 768 to 32 767

Unsigned 32 bit

0 to 4 294 967 295

Signed 32 bit

-2 147 483 648 to 2 147 483 647

Floating-point 32 bit

-3.402823466e+38 to 3.402823466e+38

The range of values stored for different bit depths

The supported conversions include

You can also take advantage of applying an offset and scale pixel values.

Pixel Value = (Pixel Value + Offset) * Scale

You can use these to convert the pixel values from feet to meters or apply simple transformations on the pixel values. This process can also be used to convert a terrain model's values from ellipsoidal height to orthometric height by applying an offset to shift the values.

You can also set a value that will be converted to a NoData value.

It should be noted that floating-point images are read into ArcGIS Image Server by scaling them by 214 and converting them internally to signed 32-bit long values.

signed 32 bit long value = 32 bit floating point value * 2

Related Topics


4/19/2011