AI / ML

Dynamic private tag dictionary lookup and validation

Resolve vendor private tags against a bundled dictionary and validate edits by VR.

Problem

Private (odd-group) DICOM tags carry vendor-proprietary data whose meaning depends on the Private Creator block that reserves the group. A raw viewer shows only Private Tag (0029,1033) with no name or Value Representation, so you cannot tell what a value means or whether an edit is well-formed. When preparing data for AI/ML pipelines you need those private elements resolved to human-readable names and their edits checked against the correct VR.

Steps

  1. Open the DICOM file (⌘O) and switch to Edit mode (⌘3).

  2. Filter for a vendor private tag, e.g. (0029,1033) from a Siemens dataset. The tag tree resolves the element against the bundled private dictionary: the Private Creator block (0029,0010) (“SIEMENS MEDCOM HEADER”) is read from the dataset, the dynamic offset is matched, and the row shows the vendor name (e.g. “DB TO DICOM”) and Value Representation instead of an anonymous Private Tag label.

  3. Verify the Private Creator element — filter for (0029,0010). It is labelled as a Private Creator Data Element carrying the vendor string that anchors the block.

  4. Open the Edit Tag Modal for the resolved private tag and enable Run format validation. The value input is now checked against the dictionary VR (e.g. LO) using the same rules applied to standard tags.

  5. Attempt an out-of-spec value — the validation error appears and Save is disabled until the value conforms.

  6. Save a valid edit. The gold modified highlight appears; Undo (⌘Z) restores the original value.

Result

Vendor private tags are resolved to their dictionary name and VR by reading the Private Creator block dynamically rather than assuming a fixed offset. Tags with no dictionary entry fall back to the neutral Private Tag label — you are never blocked from viewing or editing. With format validation enabled, edits to resolved private tags are checked against the dictionary VR, catching malformed values before they are saved.