| 
   Available in LEADTOOLS Medical Imaging toolkits.  | 
L_ApplyModalityLUT
#include "l_bitmap.h"
L_LTIMGCOR_API L_INT L_ApplyModalityLUT (pBitmap, pLUT, pLUTDescriptor, uFlags)
| 
 pBITMAPHANDLE pBitmap;  | 
 /* pointer to the main bitmap handle */  | 
| 
 L_UINT16 *pLUT;  | 
 /* pointer to the lookup table to be applied to the bitmap */  | 
| 
 pDICOMLUTDESCRIPTOR pLUTDescriptor;  | 
 /* pointer to the structure describing the LUT parameters */  | 
| 
 L_UINT uFlags;  | 
 /* flags */  | 
Remaps the bitmap pixels through a lookup-table (LUT).
| 
 Parameter  | 
 Description  | ||||||||||
| 
 pBitmap  | 
 Pointer to the main bitmap handle.  | ||||||||||
| 
 pLUT  | 
 Pointer to the lookup table to be applied to the bitmap.  | ||||||||||
| 
 pLUTDescriptor  | 
 Pointer to a structure describing the LUT parameters.  | ||||||||||
| 
 uFlags  | 
 A flag that determine the behavior of the function, the user can use one or more flags of the following:  | ||||||||||
| 
 
  | 
  | 
Comment
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
| 
 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.  | 
Platforms
Win32, x64.
See Also
Example
 L_INT ApplyModalityLUTExample(pBITMAPHANDLE pBitmap,L_BOOL  bLinear)
{
   L_INT nRet;
   if(bLinear)
   {   
       nRet = L_ApplyLinearModalityLUT (pBitmap, 0.0, 0.5, 0); 
       if(nRet != SUCCESS)
          return nRet;
   }
   else
   {
      L_UINT16             *pLUT; 
      L_UINT16                i; 
      DICOMLUTDESCRIPTOR   LUTDescriptor; 
      // allocate and initialize the LUT
      pLUT = (L_UINT16 *)malloc(0x10000 * sizeof(L_UINT16)); 
      if(!pLUT) 
         return ERROR_NO_MEMORY; 
      // set a LUT which reduces the intensity of each pixel to half
      for(i = 0; i <= 0xFFFF; i++)
         pLUT[i] = i / 2; 
      // fill the LUTDescriptor structure
      LUTDescriptor.uStructSize =sizeof(LUTDescriptor);
      LUTDescriptor.nFirstStoredPixelValueMapped = 0; 
      LUTDescriptor.uEntryBits = 16; 
      LUTDescriptor.uNumberOfEntries = 0x10000; 
      // apply the LUT   
      nRet = L_ApplyModalityLUT(pBitmap, pLUT, &LUTDescriptor, 0);
      if(nRet != SUCCESS)
      {
         return nRet;
      }
      // free the LUT
      free(pLUT);   
   }
   return SUCCESS; 
   
}