LEADTOOLS DICOM C++ Class Library Help > LEADTOOLS DICOM Features > DICOM Files > Key Elements > Working with Basic Directory Key Elements |
DICOM Dir data sets may contain special data element called key elements. A Key element is a data element that also contains special information about other key elements in the data set and their relative location within the data set.
Key elements all have the TAG_ITEM tag and they must be one of the following types:
"PATIENT" |
Patient key element |
"STUDY" |
Study key element |
"SERIES" |
Series key element |
"IMAGE" |
Image key element |
"OVERLAY" |
Overlay key element |
"MODALITY LUT" |
Modality-LUT key element |
"VOI LUT" |
VOI-LUT key element |
"CURVE" |
Curve key element |
"TOPIC" |
Topic key element |
"VISIT" |
Visit key element |
"RESULTS" |
Results key element |
"INTERPRETATION" |
Interpretation key element |
"STUDY COMPONENT" |
Study Component key element |
"PRINT QUEUE" |
Print Queue key element |
"FILM SESSION" |
Film session key element |
"FILM BOX" |
Film box key element |
"IMAGE BOX" |
Image box key element |
"PRIVATE" |
Private key element |
LEADTOOLS maintains the DICOM Dir data set as a tree, however, all key elements are stored at the same level of the tree. The specialized information included in a key element maintains information on key element children, non-key element children, parent key elements, and the logical relationships between the elements.
LEADTOOLS provides special functions for searching the DICOM Dir data set, maneuvering through the data set, inserting and deleting key elements, and manipulating key elements. To work with key elements, you should create a Data Set as type CLASS_BASIC_DIRECTORY.
For maneuvering through the DICOM Dir data set, use the following:
LEADTOOLS provides the following functions for searching the Data Set.
To insert new key elements, use:
To delete key elements, use:
To determine the type of a specific key element, use
These functions work the same way as the corresponding LDicomDS::XXXElement functions. Please note however, that it is most important that you use LDicomDS::DeleteKey when deleting a key element. Trying to delete a key element using LDicomDS::DeleteElement will remove the specified key element and any information about any related key elements, but it will not remove the child key elements.