Karnak 2.0 – DICOM conformance validator driven by the standard

33 views
Skip to first unread message

Nicolas Roduit

unread,
Sep 11, 2026, 12:36:19 PM (8 days ago) Sep 11
to DICOM Forum
Karnak 2.0, the open-source DICOM gateway for de-identification and tag morphing, adds a DICOM conformance validator whose IOD rules are not hand-written. They come from a machine-readable copy of the standard, the Innolitics dicom-standard JSON (SOP Classes, IODs, modules, attribute Types, VR, VM). A small curated rule set adds what the standard only states in prose: enumerated values and the Type 1C/2C conditions that can be evaluated.

What it checks: module presence, Type 1/2/1C/2C, VR and VM, private blocks, and retired constructs. It also runs value-level checks modeled on dciodvfy (implausible zeros, pixel geometry, orientation, laterality, UID reuse, multi-frame consistency) and study-level consistency (Study UID, patient identity, Frame of Reference, Modality ↔ SOP Class). On de-identifying destinations, it flags identifiers that survived the profile.

Why in a gateway: it validates the dataset that actually leaves Karnak, after de-identification and tag morphing, and emails one HTML report per study with a PASSED/FAILED verdict. A virtual destination validates without forwarding, which is useful for commissioning a new modality or checking outside data before it reaches the archive. See example reports.

Try it with the portable version (Windows, Linux, macOS, nothing to install)

Conformance report: https://karnak.weasis.org/en/userguide/conformancereport/
General documentation: https://karnak.weasis.org/en/
Source: https://github.com/nroduit/karnak

Reports of false positives or issues are very welcome on GitHub.
Reply all
Reply to author
Forward
0 new messages