L_DicomSetKeepPixelDataIntactFlag

#include "Ltdic.h"

L_VOID EXT_FUNCTION L_DicomSetGetKeepPixelDataIntactFlag(hDS, bSet)

HDICOMDS hDS;

/* a DICOM handle */

L_BOOL bSet;

/* flag */

Enables or disables the pre-processing of image data when a function that gets a bitmap from a Pixel Data element is called.

Parameter

Description

hDS

A DICOM handle to the data set.

bSet

Flag the indicates whether to enable or disable the pre-processing of image data when a function that gets a bitmap from a Pixel Data element is called. Possible values are:

 

Value

Meaning

 

TRUE

Do not pre-process the image data.

 

FALSE

Pre-process the image data.

Returns

None.

Comments

When a function that gets a bitmap from a data set is called, such as L_DicomGetImage or L_DicomGetImageList, LEADTOOLS may pre-process the image data in the bitmap handle for optimal display. Call the L_DicomGetKeepPixelDataIntactFlag function to determine whether LEADTOOLS will pre-process the image data. By default LEADTOOLS pre-processes the image data.

Calling the L_DicomSetKeepPixelDataIntactFlag function with bSet set to TRUE stops LEADTOOLS from pre-processing the image data in the bitmap handle. Please note that this may result in unexpected behavior when a LEADTOOLS display or image processing function is called for that bitmap handle.

Required DLLs and Libraries

LTDIC

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:

L_DicomGetKeepPixelDataIntactFlag, L_DicomGetImage, L_DicomGetImageList

Topics:

Working with Data Sets

Example

L_VOID Test()
{
   pDICOMELEMENT pElement;
   HDICOMDS hDS = L_DicomCreateDS(NULL);

   // Load a Data Set
   L_DicomLoadDS(hDS, "C:\\Images\\Image1.dic", 0);

   if (L_DicomGetKeepPixelDataIntactFlag(hDS) == FALSE)
   {
      L_CHAR* pszMessage;
      pszMessage = "Would you like to keep the pixel data unchanged?\n" \
                   "If you choose Yes, then the resulting bitmap data " \
                   "will represent exactly what appears inside the " \
                   "DICOM file, but may not display properly. If you " \
                   "choose No, then the resulting bitmap data may not " \
                   "be identical to what appears inside the DICOM file, " \
                   "but will display properly.";
      if (MessageBox(NULL, pszMessage, "Test", MB_YESNO) == IDYES)
         L_DicomSetKeepPixelDataIntactFlag(hDS, TRUE);
   }

   pElement = L_DicomFindFirstElement(hDS, NULL, TAG_PIXEL_DATA, FALSE);
   if (pElement)
   {
      BITMAPHANDLE Bitmap;
      L_DicomGetImage(hDS, pElement, &Bitmap, sizeof(BITMAPHANDLE), 0, 0, ORDER_BGR, 0, NULL, NULL);
      
      // ...

      L_FreeBitmap(&Bitmap);
   }   

   L_DicomFreeDS(hDS);
}