This section defines some important terms that are relevant to image display. Most of the terminology and definitions used in this chapter are based on the X Window System (Massachusetts Institute of Technology) terminology. This may differ from other systems, such as Microsoft Windows NT.
A seat is a combination of an X-server and a host workstation.
- A host workstation consists of a CPU, keyboard, mouse, and a display.
- A display may consist of multiple screens. These screens work together, making it possible to move the mouse from one screen to the next.
- The display hardware contains memory that is used to produce the image. This hardware determines which types of displays are available (for example, true color or pseudo color) and the pixel depth (for example, 8-bit or 24-bit).
Example of Host Workstation
Display Memory Size
The size of memory varies for different displays. It is expressed in terms of:
- display resolution, which is expressed as the horizontal and vertical dimensions of memory—the number of pixels that can be viewed on the display screen. Some typical display resolutions are 1152 × 900, 1280× 1024, and 1024 × 780. For the PC, typical resolutions are 800 × 600, 1024 × 768, 1280 × 1024, 1680 x 1050
- number of bits for each pixel or pixel depth, as explained below.
Bits for Image Plane
A bit is a binary digit, meaning a number that can have two possible values—0 and 1, or off and on. A set of bits, however, can have many more values, depending upon the number of bits used. The number of values that can be expressed by a set of bits is 2 to the power of the number of bits used. For example, the number of values that can be expressed by 3 bits is 8 (23 = 8).
Displays are referred to in terms of a number of bits, such as 8-bit or 24-bit. These bits are used to determine the number of possible brightness values. For example, in a 24-bit display, 24 bits per pixel breaks down to eight bits for each of the three color guns per pixel. The number of possible values that can be expressed by eight bits is 28, or 256. Therefore, on a 24-bit display, each color gun of a pixel can have any one of 256 possible brightness values, expressed by the range of values 0 to 255.
The combination of the three color guns, each with 256 possible brightness values, yields 2563, (or 224, for the 24-bit image display), or 16,777,216 possible colors for each pixel on a 24-bit display. If the display being used is not 24-bit, the example above calculates the number of possible brightness values and colors that can be displayed.
The term pixel is abbreviated from picture element. As an element, a pixel is the smallest part of a digital picture (image). Raster image data are divided by a grid, in which each cell of the grid is represented by a pixel. A pixel is also called a grid cell.
Pixel is a broad term that is used for both:
- data file value or values for one data unit in an image (file pixels), or
- one grid location on a display or printout (display pixels).
Usually, one pixel in a file corresponds to one pixel in a display or printout. However, an image can be magnified or reduced so that one file pixel no longer corresponds to one pixel in the display or printout. For example, if an image is displayed with a magnification factor of 2, then one file pixel takes up 4 (2 × 2) grid cells on the display screen.
To display an image, a file pixel that consists of one or more numbers must be transformed into a display pixel with properties that can be seen, such as brightness and color. Whereas the file pixel has values that are relevant to data (such as wavelength of reflected light), the displayed pixel must have a particular color or gray level that represents these data file values.
Human perception of color comes from the relative amounts of red, green, and blue light that are measured by the cones (sensors) in the eye. Red, green, and blue light can be added together to produce a wide variety of colors—a wider variety than can be formed from the combinations of any three other colors. Red, green, and blue are therefore the additive primary colors.
A nearly infinite number of shades can be produced when red, green, and blue light are combined. On a display, different colors (combinations of red, green, and blue) allow you to perceive changes across an image. Color displays that are available currently yield 224, or 16,777,216 colors. Each color has a possible 256 different values (28).
On a display, color guns direct electron beams that fall on red, green, and blue phosphors. The phosphors glow at certain frequencies to produce different colors. Color monitors are often called RGB monitors, referring to the primary colors.
The red, green, and blue phosphors on the picture tube appear as tiny colored dots on the display screen. The human eye integrates these dots together, and combinations of red, green, and blue are perceived. Each pixel is represented by an equal number of red, green, and blue phosphors.
Brightness values (or intensity values) are the quantities of each primary color to be output to each displayed pixel. When an image is displayed, brightness values are calculated for all three color guns, for every pixel.
All of the colors that can be output to a display can be expressed with three brightness values—one for each color gun.
Colormap and Colorcells
A color on the screen is created by a combination of red, green, and blue values, where each of these components is represented as an 8-bit value. Therefore, 24 bits are needed to represent a color. Since many systems have only an 8-bit display, a colormap is used to translate the 8-bit value into a color. A colormap is an ordered set of colorcells, which is used to perform a function on a set of input values. To display or print an image, the colormap translates data file values in memory into brightness values for each color gun. Colormaps are not limited to 8-bit displays.
Colormap vs. Lookup Table
The colormap is a function of the display hardware, whereas a lookup table is a function of ERDAS IMAGINE. When a contrast adjustment is performed on an image in ERDAS IMAGINE, lookup tables are used. However, if the auto-update function is being used to view the adjustments in near real-time, then the colormap is being used to map the image through the lookup table. This process allows the colors on the screen to be updated in near real-time. This chapter explains how the colormap is used to display imagery.
There is a colorcell in the colormap for each data file value. The red, green, and blue values assigned to the colorcell control the brightness of the color guns for the displayed pixel (Nye 1990). The number of colorcells in a colormap is determined by the number of bits in the display (for example, 8-bit, 24-bit).
For example, if a pixel with a data file value of 40 was assigned a display value (colorcell value) of 24, then this pixel uses the brightness values for the 24th colorcell in the colormap. In the colormap below, this pixel is displayed as blue.
The colormap is controlled by the X Windows system. There are 256 colorcells in a colormap with an 8-bit display. This means that 256 colors can be displayed simultaneously on the display. With a 24-bit display, there are 256 colorcells for each color: red, green, and blue. This offers 256 × 256 × 256, or 16,777,216 different colors.
When an application requests a color, the server specifies which colorcell contains that color and returns the color. Colorcells can be read-only or read/write.
The color assigned to a read-only colorcell can be shared by other application windows, but it cannot be changed once it is set. To change the color of a pixel on the display, it would not be possible to change the color for the corresponding colorcell. Instead, the pixel value would have to be changed and the image redisplayed. For this reason, it is not possible to use auto-update operations in ERDAS IMAGINE with read-only colorcells.
The color assigned to a read/write colorcell can be changed, but it cannot be shared by other application windows. An application can easily change the color of displayed pixels by changing the color for the colorcell that corresponds to the pixel value. This allows applications to use auto update operations. However, this colorcell cannot be shared by other application windows, and all of the colorcells in the colormap could quickly be utilized.
Some colormaps can have both read-only and read/write colorcells. This type of colormap allows applications to utilize the type of colorcell that would be most preferred.
The possible range of different colors is determined by the display type. ERDAS IMAGINE supports the following types of displays:
- 8-bit PseudoColor
- 15-bit HiColor (for Windows NT)
- 24-bit DirectColor
- 24-bit TrueColor
These display types are explained in more detail below.
A 32-bit display is a combination of an 8-bit PseudoColor and 24-bit DirectColor, or TrueColor display. Whether or not it is DirectColor or TrueColor depends on the display hardware.
An 8-bit PseudoColor display has a colormap with 256 colorcells. Each cell has a red, green, and blue brightness value, giving 256 combinations of red, green, and blue. The data file value for the pixel is transformed into a colorcell value. The brightness values for the colorcell that is specified by this colorcell value are used to define the color to be displayed.
Transforming Data File Values to a Colorcell Value
In the figure above, data file values for a pixel of three continuous raster layers (bands) is transformed to a colorcell value. Since the colorcell value is four, the pixel is displayed with the brightness values of the fourth colorcell (blue).
This display grants a small number of colors to ERDAS IMAGINE. It works well with thematic raster layers containing less than 200 colors and with gray scale continuous raster layers. For image files with three continuous raster layers (bands), the colors are severely limited because, under ideal conditions, 256 colors are available on an 8-bit display, while 8-bit, 3-band image files can contain over 16,000,000 different colors.
An 8-bit PseudoColor display has read-only and read/write colorcells, allowing ERDAS IMAGINE to perform near real-time color modifications using Auto Update and Auto Apply options.
Use a 24-bit DirectColor display to view up to three bands of data at one time, creating displayed pixels that represent the relationships between the bands by their colors. Since this is a 24-bit display, it offers up to 256 shades of red, 256 shades of green, and 256 shades of blue, which is approximately 16 million different colors (2563). The data file values for each band are transformed into colorcell values. The colorcell that is specified by these values is used to define the color to be displayed.
Transforming Data File Values to a Colorcell Value
In the figure above, data file values for a pixel of three continuous raster layers (bands) are transformed to separate colorcell values for each band. Since the colorcell value is 1 for red band, 2 for green band, and 6 for blue band, the RGB brightness values are 0, 90, 200. This displays the pixel as a blue-green color.
This type of display grants a very large number of colors to ERDAS IMAGINE and it works well with all types of data.
A 24-bit DirectColor display has read-only and read/write colorcells, allowing ERDAS IMAGINE to perform real-time color modifications using Auto Update and Auto Apply options.
Use a 24-bit TrueColor display to view up to three continuous raster layers (bands) of data at one time, creating displayed pixels that represent the relationships between the bands by their colors. The data file values for the pixels are transformed into screen values and the colors are based on these values. Therefore, the color for the pixel is calculated without querying the server and the colormap. The colormap for a 24-bit TrueColor display is not available for ERDAS IMAGINE applications. Once a color is assigned to a screen value, it cannot be changed, but the color can be shared by other applications.
Screen values are used as the brightness values for red, green, and blue color guns. Since this is a 24-bit display, it offers 256 shades of red, 256 shades of green, and 256 shades of blue, which is approximately 16 million different colors (2563).
Transforming Data File Values to Screen Values
In the figure above, data file values for a pixel of three continuous raster layers (bands) are transformed to separate screen values for each band. Since the screen value is 0 for red band, 90 for green band, and 200 for blue band, the RGB brightness values are 0, 90, and 200. This displays the pixel as a blue-green color.
The 24-bit TrueColor display does not use the colormap in ERDAS IMAGINE, and thus does not provide ERDAS IMAGINE with any real-time color changing capability. Each time a color is changed, the screen values must be calculated and the image must be redrawn.
The 24-bit TrueColor visual provides the best color quality possible with standard equipment. There is no color degradation under any circumstances with this display.
ERDAS IMAGINE for Microsoft Windows supports the following visual type and pixel depths:
- 8-bit PseudoColor
- 15-bit HiColor
- 24-bit TrueColor
An 8-bit PseudoColor display for the PC uses the same type of colormap as the X Windows 8-bit PseudoColor display, except that each colorcell has a range of 0 to 63 on most video display adapters, instead of 0 to 255. Therefore, each colorcell has a red, green, and blue brightness value, giving 64 different combinations of red, green, and blue. The colormap, however, is the same as the X Windows 8-bit PseudoColor display. It has 256 colorcells allowing 256 different colors to be displayed simultaneously.
A 15-bit HiColor display for the PC assigns colors the same way as the X Windows 24-bit TrueColor display, except that it offers 32 shades of red, 32 shades of green, and 32 shades of blue, for a total of 32,768 possible color combinations. Some video display adapters allocate 6 bits to the green color gun, allowing 64,000 colors. These adapters use a 16-bit color scheme.
A 24-bit TrueColor display for the PC assigns colors the same way as the X Windows 24-bit TrueColor display.