The management of medical images and their metadata is complicated by the continued use of different file formats (e.g., JPEG, ANALYZE, DICOM, etc) as well as the use of different conventions within the same standard (e.g., different DICOM metadata values assigned by different scanners). We developed a data mediator to manage the conversion of images and their metadata from one format and convention into another. The data mediator performed the following functions: (1) read input data using plug-ins that we developed for several common medical image file formats, (2) organized the images and metadata into trees, (3) used values in the trees to determine the source that produced the data, (4) regrouped data from the same source, (5) mapped values from a source tree to a designated target tree, and (6) wrote data from the target metadata tree into the desired output file format using the same plug-in library. We also developed a graphical user interface (GUI) that allowed users to construct a visual, data-flow representation of the conversions. The extensible plug-in architecture enabled us to develop new file format readers and writers as needed. The graphically programmable mediator engine enabled us to easily translate input image file formats and conventions into very different output formats and conventions. The ability to easily convert from one format and convention to another enabled us to solve a variety of image acquisition, database and display problems. For example, our data mediator was used to convert axial DICOM images to a common coronal ANALYZE format for brain data analysis. It was also used to anonymize DICOM header elements for HIPAA compliance. Another application of our data mediator approach is the implementation of an "interpretation layer" to separate the development of DICOM Hanging Protocols from the complexities of the underlying data so that differences and changes at the source of the data (e.g., at scanners) do not require changing the functionality and layout of the Hanging Protocol. In summary, we developed a flexible environment for displaying medical images and their associated metadata, and graphically programming user-specific translations of the data. All of the software was developed in the Java programming language for maximum portability, and the source code is available in the public domain under a GNU license agreement (see http://www.loni.ucla.edu/software).
1. Understand why a variety of image file formats (e.g., DICOM, JPEG, ANALYZE and others) are used in biomedical imaging 2. Understand the differences between image file formats and between conventions used in describing image metadata 3. Understand how to map images and their metadata from one format into another using a graphical application 4. Understand how to use the mapping to create Hanging Protocols