Available in LEADTOOLS Medical Imaging toolkits. |
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 |
Win32, x64
See Also
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); }