Using the Convert Pixel Type process
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 supported conversions include
- Floatingpoint to 16 bit (integer)
- Floatingpoint to 32 bit (integer)
- 8 bit to 16 bit (integer)
- 16 bit to floatingpoint
- 4 bit to 8 bit
- 1 bit to 8 bit
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