LAUREL BRIDGE

Program Class

DICOM Connectivity Framework V3.4
This example demonstrates how to customize the default tag dictionary.

When DCF needs to look up a value representation (VR) in the implicit transfer syntax, it uses the TagLookup singleton. If no dictionary is configured for the application, the default dictionary is loaded from a resource in the libary.

The default dictionary may also be extended via the use of the custom_tags file, where users may automatically load custom tag extensions upon construction of the default DataDictionary. This facility is used to support the tags and naming conventions for DICONDE.

Extending the data dictionary is useful in several scenarios:

  • Adding to tags in the standard dictionary for items newly added by the DICOM standard.
  • Adding definitions of private tags for vendor specific private tags.
  • Poorly encoded elements may be able to be better processed by changing the VR of a tag in the dictionary.
  • Overriding a tag allows you to change the name or description of an element in the log output.
Inheritance Hierarchy

SystemObject
  LaurelBridge.DCF.Examples.CustomTagDictionaryProgram

Namespace:  LaurelBridge.DCF.Examples.CustomTagDictionary
Assembly:  CustomTagDictionary (in CustomTagDictionary.exe) Version: DCF34 r11538 DCF_3_4_24_20190319
Syntax

C#
public class Program

The Program type exposes the following members.

Constructors

  NameDescription
Public methodProgram
Initializes a new instance of the Program class
Top
Methods

  NameDescription
Public methodStatic memberMain
Main entry point for CustomTagDictionary example.
Top
Remarks

This version of DCF uses a new dictionary format which adds capabilities that were not available in previous versions of DCF. The new dictionary format uses the leading '#' as a comment character, and has one Tag Entry per line with fields delimited by '|' (pipe) characters. Some examples of tag entries in this new format are as follows:

# Tag|Name|Keyword|VR|VM|Status|RetFlag
A comment that describes the fields in a tag entry line.
(0000,0002)|Affected SOP Class UID|AffectedSOPClassUID|UI|1|
The tag entry for the Affected SOP Class UID element, whose VR is UI, and whose VM is 1.
(0000,51B0)|Overlays|Overlays|US|1-n|RET
The tag entry for the retired Overlays element, whose VR is US, and whose VM is 1-n.
(0028,3006)|LUT Data|LUTData|OW or US|1 or 1-n|
The tag entry for the Lut Data element, whose VR is OW or US, and whose VM is 1-n.
(60xx,0010)|Overlay Rows|OverlayRows|US|1|
The combo tag entry for Overlay Rows, whose VR is US, and whose VM is 1. The 'xx' in the group specification matches groups between 6000-60FF.
(0019,xx03,PRIVATE CREATOR)|My Overridden Person Name|MyPersonName|PN|1|
The private tag entry for private tag (0019,xx03) whose creator id is 'PRIVATE CREATOR', and whose VR is PN and whose VM is 1. The 'xx' in the element specification matches the last two hex digits of the private creator id whic is defined by the element at tag (0019,00xx), and whose value is 'PRIVATE CREATOR'.

A session based TagLookup custom tags dictionary extension is also supported via the use of DicomSessionSettings.TagLookup.

The DCF33 legacy CFGGroup style format and semantics are also supported, although additional features available with the new DCF34 dictionary format are not.

See Also

Reference

DataDictionary.TagLookup
ITagEntry
TagLookup
ITagEntryProvider
TagEntryProvider