ImageGear for C and C++ on Windows v19.9 - Updated
Process 9...16-bit Grayscale Images
User Guide > How to Work with... > Formats with Additional Functionality > DICOM > Process 9...16-bit Grayscale Images

Most of the baseline ImageGear processing functions support 9..16 bit images.

The ImageGear Medical Component presents a set of methods that were designed specifically for 9..16 bit and Medical images.

The Medical Image Processing API is described below:

Function Description
MED_IP_high_bit_transform() Gives the high bit data element a new value and transforms the image accordingly.
MED_IP_histo_clear() Clears the histogram created by MED_IP_histo_tabulate().
MED_IP_histo_tabulate() Tabulates a histogram for a specified region of an image (or the whole image), and allows you to set the width of and number of bins that are used. This function also indicates whether the image is signed or not.
MED_IP_min_max() Gets the minimum and maximum pixel values from a specified region of an image (or the whole image), and also indicates whether the image is signed or not.
MED_IP_normalize() Converts a signed image to an unsigned image. Takes an argument for a minimum pixel value, converts the lowest pixel value in the image to the new minimum, and maps all the rest of the pixels in the image such that the original contrast is maintained.
MED_IP_promote_to_16_gray() Promotes an 8g or 8i image to a 16-bit grayscale image and gives you the possibility to select the position of the high bit.
MED_IP_reduce_depth_with_downshift() Reduces a 9-16-bit image to an 8-bit image using downshifting, that allows you to choose which 8 bits to use for the new image.
MED_IP_reduce_depth_with_LUT() Reduces a 9-16-bit image to an 8-bit image using your own LUT or the current display 16x8 LUT.
MED_IP_swap_bytes() Corrects a poorly constructed image in which the bytes of each 16-bit pixel are in the wrong order.
MED_IP_contrast() Reduces a 9-16-bit image to an 8-bit image using Rescale Slope, Intercept, Window Center, Width, and Gamma. You would normally use Rescale and Window settings from the Data Set, and your own setting for Gamma.
MED_IP_contrast_auto() Same as MED_IP_contrast(), except that it automatically derives Window Level and Window Center values for you by scanning the image for the min/max pixel values.

Critical Data Elements

In this help documentation, we use the term "Critical Data Elements" for those Data Elements (DEs) that are used to help load a DICOM image correctly. It's important to note that when certain IP methods are called, the toolkit alters the Data Set. See the "Critical Data Elements" section of DICOM Data Structures for more details.