Working with 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:

MoveRootKey method

MoveParentKey method

MoveChildKey method

MoveFirstKey method

MoveLastKey method

MovePrevKey method

MoveNextKey method

LEADTOOLS provides the following functions for searching the Data Set.

FindFirstKey method

FindLastKey method

FindPrevKey method

FindNextKey method

To insert new key elements, use:

InsertKey method

To delete key elements, use:

DeleteKey method

To determine the type of a specific key element, use

GetKeyValue method

These methods work the same way as the corresponding XXXElement methods. Please note however, that it is most important that you use the DeleteKey method when deleting a key element. Trying to delete a key element using the DeleteElement method will remove the specified key element and any information about any related key elements, but it will not remove the child key elements.