L_DicomGetRootElement

#include "Ltdic.h"

L_LTDIC_API pDICOMELEMENT L_DicomGetRootElement(hDS, pElement)

HDICOMDS hDS;

/* a DICOM handle */

pDICOMELEMENT pElement;

/* pointer to a DICOMELEMENT structure */

Returns a pointer to the root of the specified item.

Parameter

Description

hDS

A DICOM handle.

pElement

Pointer to a DICOMELEMENT structure that contains an item in the Data Set.

Returns

!NULL

A pointer to a DICOMELEMENT structure that contains the item in the Data Set that is the root of the item specified in pElement.

NULL

The Data Set is empty or pElement is NULL.

Comments

The root is the Level 0 ancestor of pElement. If pElement points to an item on Level 0, a pointer to that same item will be returned. Please note that the numbering of the items in this illustration is arbitrary and does not imply order.

image\GetRoot.gif

If the passed pointer points to :

The function returns a pointer to :

Item 1

Item 2

Item 3

Item 2

Item 4

Item4

Item 5

Item 6

The following functions will also help you navigate the Data Set:

L_DicomGetFirstElement

L_DicomGetLastElement

L_DicomGetNextElement

L_DicomGetParentElement

L_DicomGetChildElement

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

Platforms

Win32, x64

See Also

Functions:

L_DicomGetFirstElement, L_DicomGetLastElement, L_DicomGetNextElement, L_DicomGetPrevElement, L_DicomGetCountModule, L_DicomGetParentElement, L_DicomGetChildElement

Topics:

Working with Data Sets

Example

This example displays the root's name of an element

L_INT DicomGetRootElementExample(L_VOID)
{
   HDICOMDS       hDS;
   pDICOMELEMENT  pRoot;
   pDICOMELEMENT  pElement;
   pDICOMTAG      pTag;
   L_TCHAR        szUnknown[]=TEXT("Unknown");
   L_TCHAR        *p;

   hDS = L_DicomCreateDS(NULL);

   L_DicomInitDS(hDS, CLASS_XA_BIPLANE_IMAGE_STORAGE_RETIRED, 0); 

   pElement = L_DicomFindFirstElement(hDS, NULL, TAG_RADIATION_SETTING, FALSE);
   if (pElement != NULL)
   {
      pRoot = L_DicomGetRootElement(hDS, pElement);
      pTag = L_DicomFindTag(pRoot->nTag);
      if (pTag != NULL)
      {
         p = pTag->pszName;
      }
      else
      {
         p = szUnknown;
      }

      MessageBox(NULL, p, TEXT("Notice"), MB_OK);
   }

   L_DicomFreeDS(hDS);
   return DICOM_SUCCESS;
}