#include "ltwrappr.h"
virtual L_INT LBitmap::WindowLevel(nLowBit, nHighBit, pLUT, uLUTLength, uFlags);
L_INT nLowBit; |
/* low bit to use */ |
L_INT nHighBit; |
/* high bit to use */ |
RGBQUAD * pLUT; |
/* lookup table */ |
L_UINT uLUTLength; |
/* number of entries */ |
L_UINT uFlags; |
/* flag that indicates which functions use pLUT*/ |
Sets up the paint or paint and image processing functions' window leveling options for a specific bitmap.
Parameter |
Description |
|
nLowBit |
Value indicating the low bit used for leveling. 0 <= nLowBit <= nHighBit <= (11 for 12-bit grayscale or 15 for 16-bit grayscale). |
|
nHighBit |
Value indicating the high bit used for leveling. 0 <= nLowBit <= nHighBit <= (11 for 12-bit grayscale or 15 for 16-bit grayscale). |
|
pLUT |
Optional lookup table that can be used to implement a user defined conversion. For every intensity value between 0 and 2 raised to the power of (nHighBit - nLowBit + 1)-1 there should be a corresponding entry in the lookup table that contains an RGB quad. If pLUT is NULL, the conversion is a normal shift (right or left) and the painted bitmap is 8-bit grayscale. If pLUT is not NULL, the painted bitmap is a 24-bit bitmap. |
|
uLUTLength |
Value indicating the number of entries pointed to by pLUT. |
|
uFlags |
Flag that indicates whether pLUT is used by the paint and image processing functions or only by the paint functions. Possible values are: |
|
|
Value |
Meaning |
|
WINDOWLEVEL_PAINT |
[0x00] pLUT is used only by the paint functions. |
|
WINDOWLEVEL_PAINT_AND_PROCESSING |
[0x01] pLUT is used for both paint and image processing routines. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
Provides "on demand" window leveling for the paint functions and does not alter the image data. To convert the image data to a window leveled bitmap, use LBitmap::WindowLevelBitmap.
If WINDOWLEVEL_PAINT_PROCESSING is specified, then all image processing functions will take the pLUT into account.
For information on saving bitmaps that have been window leveled, refer to Saving Window-Leveled Bitmaps.
LEADTOOLS supports two types of LUTs for 10-16-bit grayscale images (8-bit LUT and 16-bit LUT). Typical grayscale image display and processing is done using an 8-bit LUT. But, you can also use a 16-bit LUT, which offers more precision. Some special video cards and monitors also support display of grayscale images using a 16-bit LUT.
This function supports 12 and 16-bit grayscale images. Support for 12 and 16-bit grayscale images is available only in the Document/Medical toolkits.
This function does not support 32-bit grayscale images. It returns the error code ERROR_GRAY32_UNSUPPORTED if a 32-bit grayscale image is passed to this function.
Required DLLs and Libraries
LTDIS For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Win32, x64.
See Also
Example
//WindowLevel
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName L_INT LBitmap__WindowLevelExample() { L_INT nRet; LBitmap LeadBitmap; nRet =LeadBitmap.Load(MAKE_IMAGE_PATH(TEXT("image1.cmp")), 0,ORDER_BGR); if(nRet !=SUCCESS) return nRet; nRet =LeadBitmap.WindowLevel(1, 5, NULL, 0, 0); if(nRet !=SUCCESS) return nRet; return SUCCESS; }