Last update: 7/4/2008 1 MIDAS Project Definition A. A. Maudsley, A. Darkazanli, July 2004- Contents 1 Introduction .............................................................................................................................. 2 2 Overview of the Data Processing Functionality ....................................................................... 2 3 Major Program Modules .......................................................................................................... 3 4 General Organization of the MIDAS Data Management System ............................................ 4 5 Data Formats ............................................................................................................................ 5 5.1 MRI .................................................................................................................................... 6 5.2 SI ........................................................................................................................................ 6 5.3 Parameter Maps ................................................................................................................. 6 5.4 MRI Segmentation ............................................................................................................. 6 6 The MIDAS Browser ............................................................................................................... 7 6.1 Series and DataSet Labels .................................................................................................. 7 6.2 Example File Open Browser .............................................................................................. 9 6.3 Example Browser Output and Underlying XML Tag Information.................................. 10 6.4 Example for Multi-Echo MRI Data ................................................................................. 12 7 The Subject.xml Format ......................................................................................................... 13 7.1 General Organization ....................................................................................................... 13 7.2 Parameters ........................................................................................................................ 14 7.3 ID Tags ............................................................................................................................. 16 7.4 Process_IDs...................................................................................................................... 17 7.5 The DataSet Node and Multi-Channel Data .................................................................... 18 7.6 Frames, Labels, and the Register_Viewer Parameter ...................................................... 19 8 The Project.xml and xxx_Project.xml File Formats ............................................................... 20 9 Data Processing Parameter Definitions .................................................................................. 21 10 Program and Data Directory Structure ................................................................................... 22 10.1 Projects.xml Location................................................................................................... 22 10.2 Software Directory Locations ...................................................................................... 22 10.3 Data Directory Locations ............................................................................................. 23 11 The Atlas Format .................................................................................................................... 24 12 Programming Overview ......................................................................................................... 26 12.1 The MIDAS Library ..................................................................................................... 26 12.2 Command Line Protocol .............................................................................................. 26 12.2.1 Error Handling in Batch mode .............................................................................. 27 12.2.2 Summary of Command Line Calls to All Functions ............................................ 27 13 Spectral Bases Functions and the GAVA Program ................................................................ 28 14 Miscellaneous Acknowledgements ........................................................................................ 28 A. Frame Labels .............................................................................................................................. 30 B. Metabolite Name Definitions ..................................................................................................... 32 C. Essential Tags ............................................................................................................................. 34 D. Spatial Registration .................................................................................................................... 35 E. XML Organization of Multi-Channel and Multi-TE Data ......................................................... 37 F. XML Organization of DWI/DTI Results ................................................................................... 37
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Last update: 7/4/2008 1
MIDAS Project Definition
A. A. Maudsley, A. Darkazanli, July 2004-
Contents
1 Introduction .............................................................................................................................. 2 2 Overview of the Data Processing Functionality ....................................................................... 2 3 Major Program Modules .......................................................................................................... 3
4 General Organization of the MIDAS Data Management System ............................................ 4
5 Data Formats ............................................................................................................................ 5 5.1 MRI .................................................................................................................................... 6
6 The MIDAS Browser ............................................................................................................... 7 6.1 Series and DataSet Labels .................................................................................................. 7 6.2 Example File Open Browser .............................................................................................. 9
6.3 Example Browser Output and Underlying XML Tag Information.................................. 10 6.4 Example for Multi-Echo MRI Data ................................................................................. 12
7 The Subject.xml Format ......................................................................................................... 13 7.1 General Organization ....................................................................................................... 13
7.2 Parameters ........................................................................................................................ 14 7.3 ID Tags ............................................................................................................................. 16
7.4 Process_IDs ...................................................................................................................... 17 7.5 The DataSet Node and Multi-Channel Data .................................................................... 18 7.6 Frames, Labels, and the Register_Viewer Parameter ...................................................... 19
8 The Project.xml and xxx_Project.xml File Formats ............................................................... 20 9 Data Processing Parameter Definitions .................................................................................. 21
10 Program and Data Directory Structure ................................................................................... 22
11 The Atlas Format .................................................................................................................... 24 12 Programming Overview ......................................................................................................... 26
12.1 The MIDAS Library ..................................................................................................... 26
12.2 Command Line Protocol .............................................................................................. 26 12.2.1 Error Handling in Batch mode .............................................................................. 27 12.2.2 Summary of Command Line Calls to All Functions ............................................ 27
13 Spectral Bases Functions and the GAVA Program ................................................................ 28 14 Miscellaneous Acknowledgements ........................................................................................ 28
A. Frame Labels .............................................................................................................................. 30 B. Metabolite Name Definitions ..................................................................................................... 32
C. Essential Tags ............................................................................................................................. 34 D. Spatial Registration .................................................................................................................... 35 E. XML Organization of Multi-Channel and Multi-TE Data ......................................................... 37 F. XML Organization of DWI/DTI Results ................................................................................... 37
MIDAS
2
G. XML Organization of Analysis Results ..................................................................................... 38 H. File Names and Extensions ........................................................................................................ 40
1 Introduction
This document describes the underlying organization of the data and processing methods of
the MIDAS project, which includes a suite of MRSI and MRI data processing, analysis, and
visualization tools that support implementation of 1H MR Spectroscopic Imaging (MRSI) for
clinical research studies. The project includes development of a database of brain metabolite
distributions in normal subjects, which will be used in the evaluation of metabolic changes in
neurological diseases, and secondarily aims to encourage the development of standardized MRSI
acquisition and processing procedures.
The software development aims include providing a high degree of automation; open source
software; minimize interactions with multiple image data formats; operation on multiple computer
systems, with an emphasis on Windows and PC/Linux systems.
2 Overview of the Data Processing Functionality
Multiple data processing procedures are provided, which support different imaging protocols
with a variety of input data types and processing options. The minimal requirement will be a 2D
MRSI and coregistered MRIs, while other protocols may also include tissue segmentation and
calibration scans. All modules will be suitable for processing 2D or 3D (volumetric) MRSI. A
simplified overview and example of the possible data processing paths and interactions between
different MRI and MRSI processing functions is shown in Figure 1.
Study Result, Display, Report[Metabolite, Tissue, Region, Analysis]
MRSI Data
Reconstruction
B0/ECC map;
Region masks
Spectral
Database
Metabolite Image
Formation
Intensity
Normalization
Tissue Segmentation
& Calibration Maps
Spatial
Normalization
MRSI / MRI
Co-Analysis
Study
Analysis
Metabolite
MRSI
Calibration
H2O MRSI
MRI
Comparison
DataComparison
DataComparison
Data
Spatial
Transformation
Normalized Metabolite
Image Database
Reference
MRI &
Brain Atlas
Spatial
Registration
MRSI Data
Reconstruction
Figure 1. Example of possible interrelationships between processing modules.
MIDAS
3
The MRSI processing makes use of information obtained from MRI, for example to account
for relative tissue contributions in the analysis and to provide a spatial reference to a brain atlas. The
resultant data will be fitted metabolite parameters with voxel assignments in terms of brain regions.
Spatial transformations of individual results into a normalized spatial coordinate system will be
used to form a database of normal metabolite distributions, from which 'group statistics' datasets
will be calculated for different study groups.
The final study analysis is carried out for the multiparametric metabolite data and tissue
contribution analysis, using statistical comparisons against the normalized metabolite intensities
after being converted to subject coordinates. Analyses may be performed by region (e.g. lobe,
hippocampus, etc), between regions, at a single voxel, or for all voxels. Additional tools not
indicated in Fig. 1 include comprehensive MRSI and MRI display functions, data and processing
handling modules, and formation of a normalized image database.
The result of a complete MRSI processing procedure will be a multiparametric data set,
containing at each MRSI voxel:
1) All fitted spectral parameters;
2) Tissue contributions to that voxel;
3) A set of labels identifying the spatial regions and normalized coordinates for that voxel;
4) Parameters defining the spatial transformations to a normalized brain atlas;
5) Additional tags to identify regions to be tested or excluded in subsequent analysis
procedures. These will allow the operator to manually identify voxels to specifically include
or excluded from analysis.
3 Major Program Modules
The processing functions are broadly separated by developer groups, as:
1. MRSI Processing Functions
2. MRI Tissue Segmentation
3. MRI and MRSI Spatial Transformation
4. Statistical Data Analysis Tools
5. Data Display
In addition, these are supported by:
6. Data Import and Database Maintenance
7. Process Scheduler (or Pipeline)
8. Spectral Simulation (GAVA)
9. Data Simulation
Each program module can be run independently of the others. Software development of each
module is also independent. The current implementation includes modules written in C/C++, IDL,
and Java; however, all modules will make use of a standard library of functions for interacting with
the parameter information contained in the MIDAS database.
MIDAS
4
4 General Organization of the MIDAS Data Management System
Several files keep track of the data maintained within the MIDAS environment and the
processing of that data. These are all ASCII files and use the industry-standard XML format. These
files keep track of which projects are being managed by each user; the subjects included under each
Project; the processing protocols for those projects; and the raw data and results of the processing.
This organization uses the following files:
Projects.xml Maintains information on all projects for a specific user. A project represents
a combination of subject group, acquisition protocol, and processing
protocol. Each user account will have one Projects.xml file.
This file also contains some site-specific default parameters and file
locations.
xxx_Project.xml One file for each project that maintains the list of subjects that have been
added to the specific project as well as a set of protocols describing how the
data will be processed.
The basic format of the Projects.xml and xxx_Project.xml is given in Section
7.4.
Subject.xml This file contains all information related to a single subject. This serves to:
a) group multiple data sets associated with each subject;
b) keep a record of the acquisition and data parameters; and
c) keep a record of the data processing.
A more detailed discussion of this file format is given in Section 7.
This organization is illustrated for a single Project named “Epilepsy” in the following diagram:
All parameter information is maintained within the MIDAS data management environment,
together with a record of the data processing done within the MIDAS environment. When data is
imported into the MIDAS database, all needed parameters are copied into the subject.xml file. The
default process for DICOM files is to remove the DICOM header and only keep the binary data,
although, it would also be possible to maintain the data in the original format, provided that the
organization of the data is of the form with a header followed by the binary data (e.g. DICOM), or
with a separate parameter and binary file (e.g. Analyze), and that the order of the data, i.e. X,Y,Z
order is consistent with that used by MIDAS. However, the MIDAS processing modules will only
obtain parameter information from the XML files. To accommodate different formats, e.g. with or
without a header, the subject.xml file contains parameters that reference: 1) the filename, 2) the data
type (byte, float, big/little endian, etc), and 3) a byte offset into the data file where the first data
point is, i.e. start of the image in a DICOM file.
AnalyzeTM (http://www.mayo.edu/bir/PDF/ANALYZE75.pdf) format images can be
imported or are used within some modules. This represents a situation where the binary data format
is directly compatible with the MIDAS format. However, there is no the data parameter to indicate
that the data is in this format. There is, however, inconsistency in the image orientation used for
MIDAS
6
Analyze and DICOM, and in this project the orientation is defined as that used in Dicom (which is
inverted from that used in most Analyze programs). Support for other image formats such as JPEG,
TIFF etc, is not available, but may be included in the future.
Byte, 16-bit integer, and 32-bit floating point formats are used. Should it become necessary
to include data in other formats, e.g. long integer, then this data will be converted at the import
stage, e.g. to floating point.
5.1 MRI
Reconstructed MRI data is imported in Dicom format and the raw data is maintained in this
format. However, the first processing step is to concatenate the multiple-file DICOM data into a
single binary volume and apply some data conversions if necessary, e.g. to have all data in the same
orientation. The default MRI format is:
- 16 bit unsigned INTEGER. This default can be overridden and specified by the
Data_Representation parameter.
- Axial orientation; radiologist convention; right to left orientation (as if viewed from the foot
end), with the face looking up (eyes at top of the image). Slice order of volume data is
bottom (first image plane) to top (last image plane);
- The spatial position vector points to the upper left hand corner and images are painted to the
screen from top left corner to the bottom. Note, for IDL this requires setting !order=1 as
described in the installation instructions.
- Little- or big-endian, as defined in the parameter “Byte_Order”.
5.2 SI
- Complex FLOATING POINT. Complex INTEGER may also be used for the raw k-space
data.
- 1st data dimension is time or spectral data. 2nd, 3rd, and 4th data dimensions are spatial,
corresponding to MRI 1st, 2nd, 3rd spatial dimensions.
- Parameter definitions include support for 2 spectral dimensions; however, this is not
currently supported.
5.3 Parameter Maps
This data type refers to spatial distributions of any processed parameter, typically at the
resolution of the MRSI data; for example, fitted metabolite amplitude results, or B0 maps.
- Orientation is as MRI
- Data type = Float, Integer, or Byte
5.4 MRI Segmentation
The format used for the tissue segmentation results is based on Analyze format:
- Orientation as MRI
- Data type is byte, with value 255 equivalent to 100% volume contribution.
Segmentation data is stored as a FRAME (see below), and the descriptor of the
corresponding tissue type is given using the FRAME_TYPE definition tag Multiple images
representing each tissue type may be concatenated into a single file, or stored as individual files.
MIDAS
7
6 The MIDAS Browser
The MIDAS Browser provides the interface to the database to select a specific data file. The
top-level organization of the database is as:
Project Subject Study There can be multiple studies per subject, e.g. today, last year… Series There can be multiple Series per study, e.g. MRI, SI.. Dataset A Series can contain multiple data files, e.g. multiecho data
To simplify identification of the different data types by the user, a “label” is associated with
each Series and Dataset. The label assignment is first done at the time data is imported into the
MIDAS database, but other labels may also be created by a process. Although many image data
types can be interpreted from information contained in the Dicom header this is not always the case;
therefore the initial assignment is done by the operator at the time of the data import. Only a few
broad data types are defined, though these may be extended in the future to accommodate different
imaging modalities or acquisition types.
The Labels are intended to be used for visual display to the user; however, a process could
also search for a specific data type by a label name. This latter function requires that the label be
consistently used in the data import function and in any processing functions.
6.1 Series and DataSet Labels
Only a small number of labels are defined. These are in two levels, the first indicating the
image type (e.g. MRI_* or SI_*), and the second providing being used to separate different
versions, for example after processing.
The following labels are currently defined:
Level 1
(Series) Level 2
(DataSet or
Process)
Comment
MRI_PD The TR/TE may also be appended to the label (See note)
MRI_T1 “
MRI_T2 For multi-echo, the _T2 label will be used for all data (See
note)
MRI_DWI
(etc)
MRI_Ref
We can add any MRI type
MRI scan to be used for correcting the phased array data.
MRI_Seg
Tissue Segmentation – This is the result of a between series
“process” so goes under the Series level
MRI_*
MRI_Cal1
Result of some between MRI series analysis
Calibration functions, e.g. for receive & transmit sensitivity
correction, with multiple files numbered consecutively,
Cal1, Cal2, Cal3 etc.
Raw
Original
k-space data
The original image data as imported. For Dicom format this
is as multiple single-slice image files.
MIDAS
8
Volume A 3D image volume. Typically derived from concatenating
the (Dicom) series of multislice image files.
Norm
Registration
Spatially-Normalized MRI – the result of a within-series
“process”.
Registration parameters (no image data)
SI Metabolite MRS data.
SI_Ref Reference MRSI data. Typically H2O SI
Raw Time and k-space data
Spectral Processed result, frequency+space. Could include space-
time result, e.g. for B0 measurement from reference SI.
Maps
Spectral_Norm
Maps_Norm
Parameter maps at SI spatial resolution. E.g. spectral fitting
results, B0 maps, tissue density functions, etc.
Spatially-normalized Spectral data
Spatially-normalized MAPS data
SVS Single Voxel
Raw
Spectral
Analysis
Maps
Report
Maps
Report
These labels indicate the result of an analysis process on
either the Series or Dataset levels, resulting in an image
format or simple text results. A Report may contain links to
files in any commonly supported format, e.g. PDF, TIFF,
etc., which could contain plots, text reports, etc.
PET (etc) Other modalities possible. Currently PET import in ECAT7
is available.
Notes:
1. While these labels are defined for display in the browser, the three levels of the labels also
reflects the organizational structure used within the Subject.xml parameter file (described in Section
7). In brief, the first-level label (e.g. MRI, SI) is associated with each “Series” node of the XML
structure or between-series “Process” node, the second level label (e.g. T1, T2, Raw) is associated
with each “Data” node.
2. The labels ‘Seg’ (segmentation result) and ‘Norm’ (Spatially Normalized) describe data
types resulting from a process, i.e. not acquired data. The Seg label is defined on the ‘Series’ level,
and is assumed to be the result of a between-series processing operation, i.e. requiring multiple
input MRI data, and produces a new Series. The Norm label is on the ‘DataSet’ level, and
represents the result of a processing operation applied to a single series. Although MRI
segmentation can be applied to a single MRI series, this will always be treated as a between-series
processing operation.
3. For multiple echo MRI data we will only use the “MRI_T2” label. Although the ‘PD’
(proton density) type is traditionally used to indicate the first echo, this will be reserved for single
MRI contrast data that has been specifically acquired for this purpose. For a multiecho series, the
operator can still identify the fist-echo data in the browser by the TE value which gets appended to
the label.
4. The DataSet and Process labels (level 2) may be defined multiple times for each Series, e.g.
a process node for every TE of a multi-echo acquisition.
MIDAS
9
6.2 Example File Open Browser
The MIDAS Browser enables selections of individual data sets or general groups of data. An
example screen shot is shown here:
Here, the various levels, or node of the organizational hierarchy, have been opened up to
reveal the data filename. However; generally a selection can be done on a higher level.
The appearance of the MIDAS Browser essentially mimics the hierarchy of the database
organization. Another example of this organization is shown below, with additional comments
indicating the organizational structure:
+ Epilepsy_Project_1 Project + Epil_1230 Subject
+ 12-MAY-2001 12:45 Study MRI_Scout One series, with one data set + MRI_T1_300/5 One series, but with two data sets
Original Volume A processed copy (volume) of this Series Registration Another processed copy (spatially normalized) of this Series
+ MRI_T2 Series with multiple data sets 1200/20
1200/40
MRI_Seg A MRI result of processing that used multiple input Series + SI
Raw Spectral Maps
+ SI_Ref
Raw Spectral Maps
MIDAS
10
SI_Seg + 13-JUNE-2003 13:46 Another Study + Analysis A result of processing that used multiple Studies
Once the operator selects a file, the browser returns a set of IDs that define the data, study, series,
and the name of the subject.xml file.
6.3 Example Browser Output and Underlying XML Tag Information
Below, we expand the tree shown above with additional comments (blue) and some
examples of the underlying parameter information that is contained in the Subject.xml file (red).
+ Epilepsy_Project_1 The list of project names is obtained from the MIDAS.xml file + Epil_1230 This is the Subject ID
+ SUBJECT
+ 12-MAY-2001 12:45 Study Date, will include Study Time if multiple studies
+ STUDY Date = 12-05-2001 Time = 12:45
+ MRI_Scout + SERIES
Label = MRI_Scout TR = 300000 TE = 5000 + DATASET
Label = Original Note, the browser doesn’t use this label as there is only one dataset
+ DATA File_Name = …
+ MRI_T1_300/5 + SERIES
Label = MRI_T1 This is the label which gets displayed above in the browser TR = 300000 TE = 5000
Original + DATASET
Label = Original This is the DataSet level label that becomes a branch to the Series level label in the browser
+ DATA File_Name = … Other parameters identifying the data file
+ DATA File_Name = …
Volume + PROCESS The ‘PROCESS’ tag is defined to be equivalent to ‘DATASET’
Label = Volume Process_Name = Volumizer This is a within-series process, i.e. applied to this data only + INPUT + DATA
File_Name = …
Norm + PROCESS Another result of a within-series process
Label = Norm Process_Name = Reg123 + INPUT + DATA Contains copy of data in standardized coordinate frame
MIDAS
11
+ MRI_T2 1200/20
+ MRI_T2 1200/40
+ SERIES Label = MRI_T2
Original + DATASET
Label = Original + DATA
TE = 20000 + DATA
TE = 40000
Registration + PROCESS
Label = Registration + INPUT + DATA Note, just contains registration parameters, no image data
+ MRI_Seg + PROCESS Note, segmentation always results in data on the Series level
Label = MRI_Seg + INPUT + DATASET
Label = Original + DATA
+ MRI_Sen + PROCESS Note, MRI Sensitivity maps results in data on the Series level
since it is a cross series process and the output is related to the study
Label = MRI_Sen + INPUT + DATASET
Label = Original + DATA
+ SI This is the Metabolite SI section + SERIES
Label = SI
+ Raw + DATASET
Label = Raw + DATA
File_Name = …
+ Spectral + PROCESS
Label = Spectral + INPUT
Process_Name = 4DFT + INPUT Example of multiple processing steps for a single data set
Process_Name = LITE + DATA
File_Name = …
+ Maps + PROCESS
Label = Maps + INPUT
Process_Name = FITT + INPUT
Process_Name = QMAPS + DATA
File_Name = + FRAME This frame-level info is not used in the Browser
MIDAS
12
Frame_Type = NAA Integral + FRAME
Frame_Type = NAA Frequency + PROCESS
Label = Registration + INPUT + DATA
+ SI_Ref This is the Water Reference SI section
+ SERIES Label = SI_Ref
+ Raw + Spectral + Maps
Notes:
1. On import, multiecho data are treated as a single series with multiple DataSet nodes.
However, if the metabolite SI and a reference SI are acquired together in an interleaved fashion, in
which case the Dicom header indicates this as a two-echo acquisition, this is changed on import to
create two separate Series.
2. The result of process that obtains data or information from a single data set and creates a
new data file is treated as a daughter of that data set, which appears as a branch in the Browser
hierarchy. A process that requires information from two or more data sets is referred to as a
between-series process (also discussed in Section 7.1), and results in a new data set on the Series,
i.e. top, level in the Browser. The results and actions of each process are defined elsewhere.
3. A PROCESS node existing under a SERIES node does not include a DATASET daughter
node, but may be considered equivalent to a DATASET.
4. A PROCESS that operates on data from multiple Series creates a node on the SERIES level,
e.g. the Tissue Segmentation process, and will contain a DATASET subnode.
6.4 Example for Multi-Echo MRI Data
The following shows another example of the browser output and underlying XML label tags
for multiecho data. Here the imported data is organized in the common DICOM manner as multiple
files each containing a single slice (Original), and this has been processed to make a second copy as
+ DATASET Label = Original TE = 20000 + DATA + DATA
Original_1200/40
+ DATASET Label = Original TE = 40000 + DATA + DATA
Volume_1200/20 + PROCESS
Label = Volume TE = 20000 + INPUT + DATA + DATA
Volume_1200/40
+ PROCESS Label = Volume TE = 40000 + INPUT + DATA + DATA
7 The Subject.xml Format
7.1 General Organization
This file represents the primary unit of the MIDAS database and contains information for all
of the data collected for a single subject, a record of the processing of that data, and optionally,
information such as comments, or results of analysis. For each subject, there is always a file named
“Subject.xml”. Typically this resides in the top-level directory, with sub-directories containing the
different data types, and data for different subjects are kept organized using the names of the top-
level directory.
The information on the subject and data is maintained in a hierarchical format, using XML
tags. The File Open Browser, previously described, provides an introduction to the organization of
the subject.xml file, though in this section we examine the XML format in more detail. The general
organization is as:
1. <subject> One subject per file 2. <study> There can be multiple studies per subject, e.g. today, last year… 3. <series> There can be multiple Series per study, e.g. MRI, SI.. 4. <dataset> A dataset can comprise of one or more data files 5. <data> Information on one data file
6. <frame> Information on one image slice (frame) in a single data file
In addition we can have the results of processing operations:
2. <process> Parameters and results for processing between two or more Studies 3. <process> Parameters and results for processing between two or more Series 4. <process> Parameters and results for processing on a single Series
MIDAS
14
Each of these <process> sections has an associated list of the processing parameters used, which
are contained in an <input> section.
In XML, each node is terminated by the backslash. Here is an example:
<subject> <study>
<series> 1st data series <dataset> A dataset that consists of multiple data files <data> </data> <data> </data> </dataset>
<process> Parameters and results for processing of this Series <input> </input> <data> <frame> </frame> <frame> </frame> </data> </process>
</series> <process> Parameters and results for processing between two or more Series
Both of these examples are valid and define the same thing.
If multiple DATA nodes are organized under a DataSet node, then the DATA_TYPE parameter can
be defined on the top level, e.g. as: <DataSet>
Process_ID =1.3.12.2.110 Label =Maps Data_Type =DTI_B0 <data> <data> <data> Etc.
</ DataSet >
8 The Project.xml and xxx_Project.xml File Formats
Here we review the files that are used to maintain information on the projects that are being
processed under the MIDAS processing environment. The PROJECT.XML file can be considered
the ‘top-level’ of the MIDAS database organization. This is used to maintain a list of the projects,
along with some default parameters on each project and for the site. Information on the individual
projects, including the list of subjects, is kept in the xxx_PROJECT.XML files, where ‘xxx’ is
substituted by the project name, e.g. ‘epilepsy’, or ‘normal’. Both files are in XML format.
The basic PROJECT.XML content and layout is illustrated below, where the full XML
format has not been used for the parameters to improve clarity:
<PROJECT> <PROJECT> Project_ID = 1 Project_Name = NormalSubjects Label, gets displayed in the Importer PI = Charles Darwin Default_Data_format = SIEMENS DICOM Type of data, for importer
Data_Source_Default = X:\DataTransfer Project_Path = D:\Data\ NormalSubjects Directory location for the data Project_XML = NormalSubjects_Project.xml Filename for the project XML file ….. etc. </PROJECT>
MIDAS
21
<PROJECT> Project_ID = 2 Project_Name = Epilepsy PI = Alberto Project_Path = D:\Data\Epilepsy Project_XML = Epilepsy_Project.xml Note, path not included … etc. </PROJECT> Default_Project = 1 some default parameters, e.g. directory MIDAS_Binaries_Directory = M:\MIDAS\bin points to directory containing the binaries Last_Project = 1 Last_Data_Directory = Study_123 Last_Access_Node = …. Used by the Browser only
</PROJECTS>
The basic format for the XXX_PROJECT.XML files is as:
<Project > Project_Name = NormalSubjects PI = Andrew Maudsley Creation_Date = 04/08/2003 Creation_Time = 04:58:06 Processing = .//ProcessingFiles path to data processing definitions
<Subject> Subject_ID = Norm001 Creation_Date = 09/02/2003 Creation_Time = 10:19:29 Subject_Directory = .//Norm001 Note, path relative to location of this file
Other Programs java edu.miami.midas.mriseg.runmriseg Flags –p SubjectXML –d StudyID Where Flags=
-f <program name: fsl or bip or clp > choose different segmentation tool -s <1, 2a, 2b, 3 > number of image contrasts to be used, default is 1, 2a (T1 and T2), 2b (T1 and PD), or 3 (all features) -p <path for subject.xml> ex: c:\data\MN012\subject.xml -d <Study ID> -b : do bias correction while using usf segmentation (optional) -ob: save corrected data -ov: partial volume option (FSL package only)
13 Spectral Bases Functions and the GAVA Program
Automated spectral fitting and formation of metabolite images is performed using the FITT
program. This program uses a parametric modeling and optimization approach based on a set of
bases functions for each of the fitted metabolite spectra. These bases functions are described in a
simple ASCII table, which defines the frequency, phase, and relative amplitude of each resonance.
Additional information on this format is provided in the FITT_help file. The VESPA program,
obtained from Brian soher, is used to generate this table by computer simulation. Additional
information on this is given in the files FITT2_help and FITT2_PriorInfo.
14 Miscellaneous Acknowledgements
The primary architects of the MIDAS organizational structure are Drs. Ammar Darkazanli
and Andrew Maudsley. Additional contributions have been obtained from the MIDAS development
team that has included (in no particular order): Colin Studholme; Francois Rousseau; Yingjian Yu;
Krishna Sivasankaran; Rajesh Garugu; Yuhua Gu; Patrice Weber; Karl Young; Raj Pajare; James
Norman; Sulaiman Sheriff; Mohammed Goryawala.
In addition to the code developed by the primary MIDAS teams, and the major software
packages that are included, the MIDAS Software incorporates pieces of code inherited and
borrowed from various sources of open software, over the years. We gratefully acknowledge the
following contributions:
Various IDL Code: Christine Haupt (LITE), Scott Claflin (SID), Andreas Ebel (EPSI3D).
MIDAS
29
Support from 2DNMR in the IDL SI processing functions was provided under NIH grant
EB000730.
FSL: The FAST segmentation and other routines comes from the FSL distribution from the
Oxford group at: http://www.fmrib.ox.ac.uk/fsl/
The Prelude phase unwrap routine was derived from the FSL distribution, and developed by
Mark Jenkinson of the FMRIB Image Analysis Group.
The XMLCompare program was developed by Ammar Darkazanli.
Viewer makes use of the ImageJ library: http://rsb.info.nih.gov/ij/index.html
The VESPA program is provided courtesy of Brian Soher.
The RView program is available for download from http://rview.colin-studholme.net
PRINTRAW (GE data support) from Thomas Brosnan, Stanford University.
Also:
The BrainWeb simulated MRI data was obtained from the Montreal Neurological Institute:
http://www.bic.mni.mcgill.ca/brainweb
We applaud the Open Software initiative and if anyone has been left off this list then we apologize
A. Frame Labels Frame nodes are used to organize any image data that is the result of some process, for
example, metabolite intensities, tissue distribution maps, etc. The type of image data is described
by a frame label. The defined frame names are not limited, i.e. new labels can be created as
needed; however, several are defined and are specifically searched for by various programs. For
example, the segmentation frame names are specifically searched for in the spectral
normalization program. The currently defined frame labels are shown in the following table.
The frame labels are organized by process used to create the data, which is shown in the
‘Process’ column. The Process_Name parameter is also listed in the INPUT node affiliated with
that frame. Since many parameters are of little value to most users, an additional parameter,
‘Register_Viewer’ located inside the FRAME node, is used to tell the Viewer tool whether this
image type should normally be shown in the display menu.
Process Frame Label Register Viewer
Comment
FITT XXXX_Area Other
Metabolite integral as returned from the spectral fit. XXXX is a metabolite name, defined below, e.g. NAcetylAspartate, tCholine, etc. Note, the metabolite image that is normally displayed at the ‘top level’ is that obtained after normalization (see below for SINorm process), which does not include the _Area suffix
XXXX_Freq Other
Fitted frequency value for each metabolite. XXX is a metabolite name, may be up to 4 characters.
LW-Ta Other
Lorentzian part of the Lor-Gauss linewidth parameter
LW-Tb Other Gaussian part of the Lor-Gauss parameter
Phase0 Other Fitted zero-order phase, in degrees
Phase1 Other
Fitted first-order phase, in degrees over whole spectrum
Init_Ph0_Map Other Initial phase estimate, in degrees
Init_B0_Map Other Initial B0 estimate, in Hz
Linewidth Top Linewidth, In Hz
ChiSqrXXX Other
XXX is the iteration number, but is set to 001 if only the last iteration save flag is set
WtChiSqrXXX Other
XXX is the iteration number, but is set to 001 if only the last iteration save flag is set
BaseErrXXX None
XXX is the iteration number, but is set to 001 if only the last iteration save flag is set
FiniteErrXXX None
XXX is the iteration number, but is set to 001 if only the last iteration save flag is set
ConfLim_XXX_Area Other
XXX is a metabolite name, may be up to 4 characters
ConfLim_XXX_Freq Other
XXX is a metabolite name, may be up to 4 characters
MIDAS
31
ConfLim_LW-Ta Other
ConfLim_LW-Tb Other
ConfLim_Phase0 Other
ConfLim_Phase1 Other
CramRao_XXX_Area Other
XXX is a metabolite name, may be up to 4 characters
CramRao_XXX_Freq Other
XXX is a metabolite name, may be up to 4 characters
CramRao_LW-Ta Other
CramRao_LW-Tb Other
CramRao_Phase0 Other
CramRao_Phase1 Other
MMol_AreaX Other X is one or more digits
MMol_PPMX Other X is one or more digits
MMol_WidthX Other X is one or more digits
QMAPS Quality_Map Top
Quality map representing regions believed to have good and inadequate quality data.
MASK Mask_Lipid Other
Mask_Brain Other
4DFT Reference Other
Image created by integration over a region of the spectrum, but primarily meant for the water integral from SI_Ref data.
PA_PhaseMap_n Other
Reference phase map for each channel, n, of a Phased Array acquisition
PA_MagnMap_n Other
Reference signal magnitude map for each channel, n, of a Phased Array acquisition
REFDAT B0_Map Top B0 Map, in Hz.
Phase_Map Other Zero-order phase map, in radians.
Ampl_Map Other Magnitude of water image.
T2Star_Map Other T2Star of the ware SI, in Hz.
ECC_Map Other Time-Phase data, in radians
QECC_Map Other QECC, Magnitude+Phase time data
SINorm XXX Top Metabolite signal distribution normalized to ‘institutional units’. XXX is a metabolite name, which are defined below
BiasField Other Signal intensity correction function at SI resolution. Represents SI signal amplitude corresponding to 100% water.
SINorm or
CoAnalysis CSF_SIMap Other
CSF distribution at SI resolution.
GM_SIMap Other Grey Matter distribution at SI resolution.
WM_SIMap Other White Matter distribution at SI resolution.
xxx_SIMap Other Distribution of any parameter, xxx, at SI resolution.
Segmentation Grey_Matter Segmentation
White_Matter Segmentation
CSF Segmentation
MIDAS
32
Other Segmentation
Scalp Segmentation
Atlas Brain Region Name Atlas TO BE DEFINED
DWI/DTI
DWI_B0 Top B0 MRI with no diffusion weighting
DWI_G1 Other
1st diffusion weighting data. Additional images with incremented numbers.
FA Top Fractional Anisotropy
ADC Top
Apparent Diffusion Coefficient (aka Mean Diffusivity)
EV0, EV1, EV2 Other Eigen vectors
Registration *_Norm As needed
When any data type is spatially transformed the same label is used with _Norm added.
B. Metabolite Name Definitions Metabolite names are carried through from the metabolite definitions used to generate the
basis functions (in the database used by the GAVA program) to the spectral fitting program
(FITT), and then to the spectral normalization program (SINorm) which creates the final image
for display. To identify results of the spectral fitting which reflect spectral area measurements,
and then relative metabolite concentrations (after normalization), the names need to be fixed.
Therefore, the following metabolite names are used for a) the spectral database and fitting and b)
for the final normalized metabolite images:
Labels used for the spectral database and fitting
Labels used for the final metabolite images
NAA NAcetylAspartate
CR tCreatine (total Creatine)
CRE tCreatine
CHO tCholine (total Choline)
INO myo-Inositol
M-INO myo-Inositol
LAC Lactate
ALA Alanine
ASP Aspartate
ETOH Ethanol
GABA GABA
GLU Glutamate
GLN Glutamine
GLY Glycine
GLX Glx.
GLY Glycine
GPC GPC
NAAG NAAG
MIDAS
33
PCR PhosphoCreatine
PCHO Phosphocholine
SINO scyllo-Inositol
S-INO scyllo-Inositol
TAU Taurine
H2O Water
MIDAS
34
C. Essential Tags For image data, there are several essential tags that must be defined. Generally these can
exist at any node level, though the following lists reflect typical groupings:
D. Spatial Registration There are two types of spatial registration:
Affine Registration:
To account for subject motion between series, an affine transformation (translation,
scaling, and rotation) of a image data set to the target image is determined and optionally
applied.
The MRI_T1 data is defined as the Target MRI data for this transform.
The affine registration is a relatively fast operation, so the transform is normally not
applied to the data such that a copy of the spatially-transformed data is saved, but instead the
transformation is applied ‘on-the-fly’ as needed. This minimizes duplication of these large
datasets.
Non-linear Transformation:
To register the subject image data to a reference data, a non-linear spatial registration is
performed.
The Atlas MRI (BrainWeb) is defined as the Target MRI for this transform.
Since the non-linear transformations can be time consuming, this will be applied as
needed, and a copy the data saved, with a corresponding entry in the subject.xml file.
MIDAS
36
XML Structure and Parameter Definitions:
Two types of sub-node within the XML structure are used for the registration operations:
1. For storing the registration parameters (or link to a file containing the parameters), a
PROCESS node is used with the label “Registration”.
2. For image data that have had the spatial registration applied, a DATASET node is used
with the “Norm” label.
E.g. the Browser output will look like:
MRI_T2 Original Volume Registration Contains the parameters for registration to the MRI_T1 Norm Contains another copy of the MRI, in normalized space MRI_T1 Original Volume Registration Contains the registration parameters to Atlas MRI Norm Contains another copy of the MRI in normalized space SI Original Maps Registration Contains the registration parameters to MRI_T1 Maps_Norm Spectral Spectral_Norm (it is unlikely that this data will be generated)
The XML structure for the T2 and SI would look like:
+ SERIES Label = MRI_T2 + DATASET
Label = Original + PROCESS
Label = Volume + PROCESS
Label = Registration + INPUT Includes ID of Target MRI and type of registration + DATA Registration parameters of filename
+ PROCESS Label = Norm + INPUT Includes ID of registration process (above) + DATA data information
+ SERIES Label = SI + DATASET
Label = Original + PROCESS
Label = Maps + PROCESS
Label = Registration + PROCESS
Label = Maps_Norm Etc.
MIDAS
37
E. XML Organization of Multi-Channel and Multi-TE Data Multi-Channel (i.e. Phase-Array) data are collected as individual DATA nodes, under a
PROCESS or DATASET Node. E.g.
TO BE DONE
For 2D Spectroscopy, e.g. 2D-J-resolved MRSI, the data includes separate files for each channel
and each TE (or other variable). In this case, all multi-channel data for each TE value are
collected under a different PROCESS node. E.g.
TO BE DONE
F. XML Organization of DWI/DTI Results Proposed 9/10/2008
+ SERIES
Label = MRI_DWI
+ DATASET Label = Original Data_Type= DWI_MOSAIC
+ DATA + DATA + etc. for all MOSAIC slices (as per DICOM import)
+ PROCESS ; Results of the DTI processing
Label = Maps
+ INPUT + DATA
Data_Type=DWI_B0 ; Here a separate data file/parameter is used and identified
using the Data_Type parameter. Alternatively, these could all be put in one data file and Frame_Type used to identify each frame.
+ INPUT + DATA ;
Data_Type=FA
+ INPUT + DATA
Data_Type=ADC
+ INPUT + DATA
Data_Type=EV1 ; (EV = Eigen Value)
+ INPUT + DATA
Data_Type=EV2
+ INPUT + DATA
Data_Type=EV3
+ INPUT ; Results of the DTI Registration + DATA
Data_Type= DWI_B0_Norm
+ INPUT ; Results of the DTI Registration + DATA
Data_Type= FA_Norm
MIDAS
38
+ INPUT ; Results of the DTI Registration + DATA
Data_Type= ADC_Norm
+ PROCESS ; Registration parameters for DTI_B0 to T1
Label = Registration
+ INPUT + DATA
Data_Type=FirstEstimate ; Only transformation parameters – no physical data
+ INPUT + DATA
Data_Type=RIGID ; Only transformation parameters – no physical data
G. XML Organization of Analysis Results There are three different types of statistical analysis results possible when the user uses MIDAS.
1. Summary statistical results for a set (or subset) of subjects within one project,
these may be the average on a voxel by voxel basis.
2. Summary statistical results for a subject compared to summary statistics results
for a set (or subset) of subjects in a project (may be within a project containing the
subject or summary statistical results obtained from a project does not include the
subject). An example of the latter would be to compare one subject (who may
have an Alzheimer disease) to the statistical analysis results of all the normals
population.
3. Summary statistical results for a group of subjects within a project to the
summary statistical results of another group of subjects. As an example, the user
may wish to compare the maps results of all male normal subjects to all male
abnormal subjects.
The following shows an example of the general XML organizational structure of the process
node in general as subject.xml file for results of data analysis, which may exist on any level:
<Subject>
<Study> <Series>
Label = MRI_, SI, etc <Dataset> </Dataset>
<Process> - Image result of a Series analysis Label = Maps
<Input> </Input> <Data>
Frame Label = “some_result_of_the_analysis”
</Data> </Process> <Process> - Text (or other) report of a Series analysis
Label = Report
Description = “… …” <Data> path
</Process> </Study>
MIDAS
39
<Process> - Result of an Study analysis involving multiple Series, e.g. MRI+SI
Label = Maps (or Report)
e.g. MRI + MRSI co-analysis <input> we should always have an input node to let us know how we created this process. </input>
<Data> </Data>
</Process>
</Subject>
For an analysis that takes as its input multiple subject data the result will be saved on the Subject
level, i.e. equivalent to a new subject data set and containing a subject.xml file. This new
‘subject’ will also be documented in the specific_project.xml file, as a <process> node, e.g.:
<Subject> ….. This indicates the existing subject data </Subject> <Subject> ….. </Subject> <Process> - Result of an analysis involving multiple Subjects. Equivalent to a new Subject.
Process_ID = ‘Average Metabolite Analysis’ - Label displayed in Browser. Equivalent to Subject_ID.. this must be unique ID as it will be referenced in other processes and UI to display details of the process. Process_Name = ‘Average Metabolite Analysis’ Label = Maps Creation_Date and Creation_Time The UserLabel is not needed and must be constructed by the browser… i.e. we use Process Name + Date/time to display on the browser. <Input>
Parameter1 = … e.g. lower age limit Parameter2 = … e.g. upper age limit Parameter3 = … e.g. list of subjects used
</Input> <Data> Assuming all the files are in the same data file, i.e. we can not have multiple files in the same data node. Filepath = “./analysis001” FileName = “NAcetylaspartate.dat”
</Frame> </Data> <Data> Assuming all the files are in the same data file, i.e. we can not have multiple files in the same data node. Filepath = “./analysis001” FileName = “NAA.dat”