L_DicomGetWaveformGroup

#include "Ltdic.h"

L_LTDIC_API L_UINT16 L_DicomGetWaveformGroup(hDS, uIndex, hDICOMWaveFormGroup)

Gets a waveform group.

Parameters

HDICOMDS hDS

A DICOM handle.

L_UINT32 uIndex

Zero-based index of the group to be retrieved. As an example, if there are three waveform groups, use an index of 2 to retrieve the third group.

HDICOMWAVEFORMGROUP hDICOMWaveFormGroup

A DICOM waveform group handle

Returns

Value Meaning
DICOM_SUCCESS The function was successful.
> 0 An error occurred. Refer to Return Codes.

Comments

In DICOM, a waveform consists of one or more multiplex groups, each encoded into an item in the "Waveform Sequence" (5400,0100). Use this function to extract the specified multiplex group.

This function populates the waveform group referenced by hDICOMWaveFormGroup with the multiplex group attributes and for each channel in the group, adds a new channel by calling L_DicomWaveGrpAddChannel.

This function fails and returns DICOM_ERROR_NULL_PTR if hDICOMWaveFormGroup is NULL.

This is the main function for extracting waveforms from a DICOM dataset. Once this function returns and hDICOMWaveFormGroup is initialized, you can call the L_DicomWaveGrpxxx and the L_DicomChannelxxx functions, providing you comprehensive DICOM waveform support.

Required DLLs and Libraries

Platforms

Win32, x64, Linux.

See Also

Functions

Topics

Example

#define WAVEFORM_FILE MAKE_IMAGE_PATH(TEXT("Waveform.dcm")) 
L_VOID DicomGetWaveFormGroupExample(L_VOID) 
{ 
   L_UINT uRet = DICOM_SUCCESS; 
   HDICOMDS hDS = NULL; 
   HDICOMWAVEFORMGROUP hDICOMWaveFormGroup = L_DicomWaveGrpCreate(); 
   hDS = L_DicomCreateDS(NULL); 
 
   uRet = L_DicomLoadDS(hDS, WAVEFORM_FILE, 0); 
   if(uRet != DICOM_SUCCESS) 
   { 
      MessageBox(NULL, TEXT("Load Failed"), TEXT(""), MB_ICONSTOP); 
      return ; 
   } 
 
   // Do we have any waveform groups at all 
   L_UINT32 uCount = L_DicomGetWaveformGroupCount(hDS); 
   if (uCount == 0) 
   { 
      MessageBox(NULL, TEXT("The DICOM file you are trying to load doesn't include any waveforms. "), TEXT(""), MB_ICONSTOP ); 
      return; 
   } 
   // There is at least one waveform group in this DS, the first waveform group will be loaded 
   uRet = L_DicomGetWaveformGroup(hDS, 0, hDICOMWaveFormGroup); 
   if (uRet != DICOM_SUCCESS) 
   { 
      MessageBox(NULL, TEXT("Failed to load the first waveform group from the dataset."),TEXT(""),MB_ICONSTOP ); 
   } 
   // Do something with the waveform 
   // ... 
   // ... 
   // ... 
 
   // Cleanup 
   L_DicomWaveGrpFree(hDICOMWaveFormGroup); 
   L_DicomFreeDS(hDS); 
} 
Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DICOM C API Help