LBitmap::GetMinMaxBits

#include "ltwrappr.h"

virtual L_INT LBitmap::GetMinMaxBits(pnLowBit, pnHighBit)

L_INT * pnLowBit;

/* address of a variable to be updated */

L_INT * pnHighBit;

/* address of a variable to be updated */

Returns the low and high bits of the values present in a 12 or 16-bit grayscale and 48 and 64-bit image. This function is available in Document/Medical toolkits only.

Parameter

Description

pnLowBit

Address of a variable to be updated with the lowest bit set in the bitmap.

pnHighBit

Address of a variable to be updated with the highest bit set in the bitmap.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The minimum and maximum bit values can be used to specify the range of useful bits and to create a lookup table, for use in LBitmap::WindowLevel or LBitmap::WindowLevelBitmap.

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 supports signed data images.

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
LTFIL
LTIMGCOR

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

See Also

Functions:

LBitmap::GetMinMaxVal, LBitmap::WindowLevel, LBitmap::WindowLevelBitmap, Class Members

Topics:

Raster Image Functions: Palettes

 

Grayscale Images

 

Color Halftones and Halftone Images

 

Raster Image Functions: Working with Color Halftones, Halftones, and Grayscale Images

 

Raster Image Functions: Processing an Image

Example

L_INT LBitmap__GetMinMaxBitsExample()
{
   L_INT nRet;
   LBitmap LeadBitmap;
   L_INT nLowBit, nHighBit;
   L_TCHAR szDummyBuffer[50];
   nRet =LeadBitmap.Load(TEXT("test16.tif"), 0,ORDER_BGR);
   if(nRet !=SUCCESS)
      return nRet;
   if(
      ((LeadBitmap.IsGrayScale()!=GRAY_NO)&&
      ((LeadBitmap.GetBitsPerPixel ()==12)||
      (LeadBitmap.GetBitsPerPixel()==16)))
      )
   {
      nRet =LeadBitmap.GetMinMaxBits(&nLowBit, &nHighBit);
      if(nRet !=SUCCESS)
         return nRet;
      wsprintf(szDummyBuffer, TEXT("LowBit= %d\tHighBit= %d"), nLowBit, nHighBit);
      MessageBox(NULL, szDummyBuffer, TEXT("GetMinMaxBits"), MB_OK);
   }
   else
   {
      MessageBox(NULL, TEXT("Not a (12 or 16) gray scale image."), TEXT("GetMinMaxBits"), MB_OK);
      return FAILURE;
   }
   return SUCCESS;
}