MINC 2.0 makes extensive use of the hierarchical capabilties of HDF5. HDF5 allows the creation of ``groups'', which roughly correspond to UNIX directories, and ``datasets'', which roughly correspond to UNIX files. An HDF5 group is a container which may enclose any number of other groups or datasets.
All HDF5 objects in a file are considered to be children of a ``root'' group, similar to the root directory in a UNIX filesystem.
To allow MINC 2.0 data to exist alongside other data structures in a single HDF5 file, and to help differentiate MINC 2.0 files from other HDF5 files, a MINC group named minc-2.0 is created within the HDF5 root group. This group should be the only entry a MINC program creates in the HDF5 root group. All other MINC objects are created within (or ``below'') the minc-2.0 group.
All MINC 2.0 dimension variables are placed in a subgroup called dimensions. These dimension variables are considered global to all of the MINC objects in the file.
The MINC 2.0 informational variables (study, patient, etc.), are placed in a subgroup called info. This subgroup is intended to be the repository of all ancillary data related to the scan, modality, study, etc.
The MINC 2.0 image variables are placed in a subgroup called image. For every resolution stored in the file, there must be a subgroup which takes the name 0, 1, 2, etc. The full resolution data is stored within group 0, and each successive integer corresponds to a factor of 2 reduction in all image dimensions. Within each of these subgroups are three datasets, image, image-min, and image-max.
The primary rationale for this hierarchy is to anticipate future extensions to the MINC file format. Additional classes of data could be stored in a group alongside the image group. For example, a ``geometry'' or ``objects'' group might be added to contain geometric data associated with or derived from the image. These geometric objects presumably would share the dimensions of the image.