L_DicomGetOverlayBitmapList

#include "ltdic.h"

L_LTDIC_API L_UINT16 L_DicomGetOverlayBitmapList(hDS, uOverlayIndex, hList, uOverlayFrameIndex, uCount, uFlags)

HDICOMDS hDS;

/* a DICOM handle */

L_UINT uOverlayIndex;

/* the overlay index */

HBITMAPLIST hList;

/* handle to the list of bitmaps */

L_UINT32 uOverlayFrameIndex;

/* position of the first frame to get*/

L_UINT32 uCount;

/* number of frames to retrieve into the bitmap list */

L_UINT uFlags;

/* reserved for future use */

Loads the bitmap list with frames from the "Overlay Data" (60xx, 3000) element.

Parameter

Description

hDS

A DICOM handle.

uOverlayIndex

The index of the overlay for which to get the frames. This index is zero-based.

hList

Handle to the list of bitmaps.

uOverlayFrameIndex

Position of the first frame to load. Use zero-based indexing. For example, if there are 5 bitmaps in a list, the index of the last one is 4.

uCount

Number of frames to load into the bitmap list.

uFlags

Reserved for future use. Pass 0.

Returns

0

The function was successful.

>0

An error occurred. Refer to Return Codes.

Comments

Before calling this function you must call L_DicomGetOverlayAttributes. The nNumFramesInOverlay member of the OVERLAYATTRIBUTES structure will be filled with the number of frames under an overlay.

As an example, if you wish to load 5 frames starting with the 1st frame in the "Overlay Data", call this function with uOverlayFrameIndex set to 0 and uCount set to 5.

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_DicomGetOverlayCount, L_DicomGetOverlayAttributes, L_DicomGetOverlayActivationLayer, L_DicomGetOverlayBitmap, L_DicomSetOverlayAttributes, L_DicomSetOverlayBitmap, L_DicomSetOverlayBitmapList, L_DicomDeleteOverlay

Topics:

Overlays Overview

 

Overlays

Example

This function will load frames of an overlay into a bitmap list

L_INT DicomGetOverlayBitmapListExample(
   HDICOMDS hDicomDS,         // handle to Dicom DS
   HBITMAPLIST hList,         //Bitmap list to be populated
   L_TCHAR* pActivationLayer, //Retrieve activation layer if needed
   L_UINT uLength)            //Length of input buffer
{
   L_UINT16             uRet;   
   OVERLAYATTRIBUTES    OverlayAttributes = {0};
   L_INT                GroupNumber=0;
   L_BOOL               IsOverlayInDataset = FALSE; 

   //(1)Sanity Check !
   if((hList == NULL )|| (hDicomDS == NULL))
      return DICOM_ERROR_NULL_PTR;

   // Get activation layer
   if(pActivationLayer && uLength)
   {
      uRet = L_DicomGetOverlayActivationLayer(hDicomDS,0,pActivationLayer,uLength);
      if (uRet != DICOM_SUCCESS)
         return uRet;
   }

   uRet = L_DicomGetOverlayAttributes(hDicomDS, 0, &OverlayAttributes, sizeof(OverlayAttributes), &GroupNumber, &IsOverlayInDataset, 0);
   if(DICOM_SUCCESS !=uRet)
      return uRet;

   return L_DicomGetOverlayBitmapList(hDicomDS, 0, hList, 0, OverlayAttributes.nNumFramesInOverlay, 0);
}