Signed Image Support

Image (bitmap) data values may be expressed as absolute value-only, or  as positive/negative integer values ("signed" images). These image values are stored in a look-up table (LUT), where the image data range is represented as a single series of (positive) integer values.

Most LEADTOOLS image functions now support both signed (+/– integer) and unsigned images. Where signed images are supported, LEADTOOLS can manipulate either the LUT values, or the image data directly.  When displaying images, mapping the negative and positive values of the signed images to LUT values speeds up processing.

Who uses signed images?

Signed images are most commonly manipulated by medical imaging applications supporting the DICOM standard. Astronomical and geophysical image data may also be signed.

When and why do signed image values matter?

Whenever image classification is based on variation from a reference value. For example, image values for DICOM images acquired from a Modality depend on a reference plate, with some (positive) values recorded above the plate threshold, and some (negative) below. Some astronomical images are also signed as variations from a nominal background reference value.

When would I want to manipulate the LUT, and when would I want to manipulate the image data directly?

For many effects, the final result will be the same whether you apply the effect on the LUT or the source data—but processing the LUT will be much faster. For example, the end display for inverting an image will be the same either way, but it will be much faster if processing the LUT.

Examples

Functions that do not support signed images are so noted. For examples of image processing functions that support both signed and unsigned images, refer to:

LBitmap::Add

LBitmap::ColorizeGray