A Delphi/FireMonkey sample application that parses the medical-image format DICOM and displays every data element of a file as a tree. It is built on the rewritten LUX.DICOM library: the parse is driven by the transfer syntax, sequences are recursed into, encapsulated Pixel Data is decomposed into fragments, and a dictionary of some 5,300 attributes generated from the official PS3.6 source supplies the keywords.
- LUX.DICOM :Library for reading and writing the DICOM medical image format.
- Open a
*.dcmfile by drag & drop, by the Open... button, or by passing its path as the first command-line argument. - File Meta and the data set are shown as a tree. Each node reads tag | VR | length | keyword = value: the VR is the one on the stream (unknown VR names are preserved),
undefmarks undefined lengths, and text values — including Japanese person names under ISO 2022 IR 87 — are decoded per Specific Character Set. - A sequence (SQ) expands into
Item #nchild nodes recursively; encapsulated Pixel Data expands into its fragments with their sizes. Standard violations that the lenient parser survived are listed under anIssuesnode. - Files of any transfer syntax can be inspected — an unregistered codec only affects pixel decoding, never tag access.
Win64 only:
msbuild DICOMLoader.dproj /t:Build /p:Config=Release /p:Platform=Win64
The library sources are embedded under _LIBRARY/LUXOPHIA/LUX.DICOM as a git subtree of the LUX.DICOM repository; update them with git subtree pull --squash.
_DATA/ contains the eight JIRA Japanese standard test images: the same CR/DX exposures in Explicit VR Little Endian and in JPEG Lossless (Process 14, SV1), with and without ISO 2022 IR 87 character sets. All eight parse with zero issues.
- NEMA, DICOM PS3.5 — Data Structures and Encoding.
- NEMA, DICOM PS3.6 — Data Dictionary.
- NEMA, DICOM Standard — Current Edition.
Integrated Development Environment (IDE) for Creating Native Cross-Platform Apps.
