image thumbnail


version (3.8 KB) by Jadrian Miles
Automatically generates a parse tree from a DICOMDIR file, for easy non-interactive processing.


Updated 26 May 2010

View License

A DICOMDIR file describes a collection of (usually cryptically-named) DICOM medical image files and contains rich metadata for these images. Given the path to a DICOMDIR file, this function parses the file and generates a tree of the metadata.

- patient = parseDicomdir(fname);

- fname (string): the filename for a DICOMDIR file.

- patient (cell array of structs): the root of a metadata tree with the following levels of nodes: patient, study, series, image. Each node is a struct, with an "info" field containing all the metadata as stored in the DICOMDIR file and another field, named for the next deeper level of nodes, that is a cell array of node structs.

After calling the function,
- metadata for the i-th image in the j-th series in the k-th study for the l-th patient described by this DICOMDIR is
- metadata for the k-th study for the l-th patient is
- the birth date for the l-th patient is
- the date of the k-th study for the l-th patient is
- the description of the j-th series in the k-th study for the l-th patient is
- the relative path from the DICOMDIR file to the actual image file for the i-th image in the j-th series in the k-th study for the l-th patient is

Note that this relative path may be formatted using a path separator different from the one used on your system. For example, if the DICOMDIR was generated on a Windows machine but you're on Linux or Mac OS X,
strrep(patient{l}.study{k}.series{j}.image{i}.info.ReferencedFileID, '\', pathsep)
will give you a properly-formatted relative path, which you can then use as an argument to the fullfile() function to create an absolute path.

The zip file also includes copySeriesFromDicomdir.m, a script that uses parseDicomdir() to copy all images that belong to series matching a certain regular expression to a chosen destination directory.

Cite As

Jadrian Miles (2021). DICOMDIR Parser (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: DICOMDIR Reader

Inspired: dicomfolder, DICOMDir - OO dicom directory

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!