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


Namespace:  LaurelBridge.DCF.Examples.CustomTagDictionary
Assembly:  CustomTagDictionary (in CustomTagDictionary.exe) Version: DCF34 r11295 DCF_3_4_22

public class Program

The Program type exposes the following members.


Public methodProgram
Initializes a new instance of the Program class

Public methodStatic memberMain
Main entry point for CustomTagDictionary example.

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.
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