MINC/SoftwareDevelopment/MINC1 File Format Reference

< MINC < SoftwareDevelopment

MINC 1.0 Name and Usage Conventions

The MINC (Medical Imaging NetCDF) 1.0 file format was designed as a specification for medical imaging data building upon the NetCDF (Network Common Data Format) standard.

This document is intended to describe the specifics of this layering by defining the essential variables, attributes, and conventions used by MINC files. While this information applies specifically to the implementation of MINC 1.0, much of this information is expected to apply to MINC 2.0. The major change will be in the adaptation or elimination of structural objects as a result of the transition from NetCDF to HDF5 (Hierarchical Data Format). MINC 2.0 probably will require considerable expansion and clarification of this specification.

Much of the information in this document is excerpted from the {\it MINC Programmer's Reference Manual} by Peter Neelin.

NOTE: Throughout this document, literal MINC variable names, attribute names, and predefined values are set in a fixed-width font.

Dimensions

MINC associates the dimensions of a medical image with standard textual names, such as 'xspace' or 'time'. This association serves both to clarify the interpretation of each dimension and to specify the relationships among variables which share the same coordinate space. The length of a dimension is defined when the file is created.

NetCDF's model of a dimension is very simple, associated just a name, a numeric identifier, and a length with each dimension. To extend this model to represent the full set of attributes associated with a MINC dimension object, MINC relies on the concept of a 'dimension variable', which is a variable with the same name as the corresponding dimension object.

While specialized applications can and occasionally do define additional dimensions, MINC defines the following standard dimension names:



Variables

MINC variables fall into one of four classes. The first is the {\it group} class, which define data objects and names which are used to hold actual image data and supporting information. The second is the var-attribute class, which contain data qualifying another variable, for example, by specifying the range of the other variable's data. The third and fourth are the dimension class and the {\it dimension-width} class, which are used to specify the properties of the dimensions in a MINC file.

Standard MINC Variable Names


Hierarchy

In MINC 1.0, group and var-attribute variables may be considered to exist in a tree-structured hierarchy. The base of the hierarchy is located at the rootvariable. This variable exists solely to form the base node of the hierarchy tree. The image, acquisition, patient, and study variables form the next layer of the hierarchy. Below the image variable are the image-min and image-max variables.

Other, non-standard variables may be added to this hierarchy as desired.

Because NetCDF is a non-hierarchical format, MINC uses a the {\tt parent} and children attributes to implement this hierarchy. In actual practice, the MINC 1.0 format relies this hierarchy very loosely, if at all. However, MINC 2.0, being based on a fundamentally hierarchical format (HDF5), will use and extend this hierarchy.


Attributes

In MINC, attributes are used to specify additional information about an object. These attributes can be considered to fall into three broad categories: Those which are defined by the NetCDF standard itself, those which play a structural role in defining the MINC file organization, and those which contain actual data or parameters associated with the file.

NetCDF attributes may be either global to the file or local to a specific variable. Only two global attributes are used as part of the MINC specification, history and title. These string attributes are both part of the NetCDF specification. All other MINC attributes are local to a specific variable.

Standard NetCDF Attribute Usage

These attributes are defined by the NetCDF standard itself.

This attribute must not be defined if either the valid_min or the valid_max attributes are defined.

These attributes should be considered mandatory for the MINC image variable, unless the variable uses the default range, which is defined to be the full range of an (possibly signed or unsigned) integer type or the interval [0.0, 1.0] for floating point types. They are not required for any other MINC variable.


MINC Structural Attributes

Many MINC attributes are used to describe the types of variables and the relationships among variables.

These variables are considered 'structural' in the sense that they convey no useful information about the medical image stored in the MINC file, but instead serve to support the MINC format itself.

Each of these attributes should be considered mandatory for any MINC standard variable, with the following exceptions: The {\tt signtype} attribute is required only for variables of integral type, and the parent and children attributes are required only for variables of class group or var-attribute. They are not used for variables of class dimension or dimension-width.



MINC Informational Attributes

Informational attributes in MINC may be of either a text string or a number.

Some string attributes are 'freeform' and may contain any value without restrictions on format and length. Other string attributes are assumed to have a specific format. Still other string attributes must contain one of several well-known values. When this is the case, the well-known strings are padded with underscore characters to the length of the longest legal value.

Another type of string attribute is the 'pointer' or 'variable' attribute. These attributes take the form '{\tt --->{\it var-name}}'. A typical example is the image variable's '{\tt image-max}' attribute, which in most MINC files contains the value '--->image-max', indicating that the image-max attribute value is stored in the variable of the same name.

Numeric attributes may be either integer or floating-point format. MINC includes attribute access routines which will automatically convert a value to the desired type on retrieval.

image variable attributes


study variable attributes

These attributes are grouped with the study variable for purposes of namespace organization. They are modeled after ACR-NEMA conventions. All of these attributes are optional, and have no default value defined.



patient variable attributes

These attributes are grouped with the patient variable for purposes of namespace organization. They are modeled after ACR-NEMA conventions for patient identification. All of these attributes are optional, and have no default value defined.


acquisition variable attributes

These attributes store parameters about the acquisition. All of these attributes are optional, and have no default value defined.



Dimension variable attributes

The attributes associated with either dimension or dimension width variables are given in this section.


If these attributes are not present, they are assumed to have the following default values:

For xspace: [1, 0, 0], for yspace: [0, 1, 0], and for zspace: [0, 0, 1]

The direction_cosines attributes apply only to dimension variables.


Minimal MINC file

Of all of the variables, dimensions, and attributes described here, only the 'image' variable and its associated dimensions are required to define a valid MINC file.

Any missing attributes are assumed to have default values, or to be undefined.

Non-Standard Objects

While MINC specifies the structure and interpretation of a number of objects, typical MINC programs will operate gracefully with MINC files which contain non-standard constructs. This imposes two requirements on MINC programs. First, MINC programs must operate correctly on files which contain non-standard variables and attributes. Second, MINC programs must copy non-standard attributes and variables from the input file to the resulting output file without alteration.

This behaviour allows the addition of arbitrary variables and/or attributes for informational purposes that extend the standard MINC namespace.

References

 Russell K.~Rew et al, 'NetCDF User's Guide for C'
 [online], Unidata Program Center, Boulder, CO, 1997
 (http://www.unidata.ucar.edu/packages/netcdf/guidec/).
 
 'HDF5: A New Generation of HDF' [online], National Center for 
 Supercomputing Applications, University of Illinois, Urbana-Champaign,
 IL 2003 (http://hdf.ncsa.uiuc.edu/HDF5/).
 
 Peter Neelin, 'MINC Programmer's Reference Manual' [online], Montreal
 Neurological Institute, Montreal, QC, 1993
 
 American College of Radiology, National Electrical Manufacturers
 Association (ACR-NEMA) Standards Publication Number 300-1985, {\bf
 Digital Imaging and Communications}, National Electrical
 Manufacturers Association (NEMA), Washington, DC, 1986.

Author

Robert D. Vincent

This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.