Introduction to MINC

MINC (Medical Image NetCDF) is built on the general data format NetCDF (from the UCAR - University Corporation for Atmospheric Research). When programming with MINC, there are a number of levels to deal with:
  1. NetCDF is the basis of it all, providing a C and Fortran callable library for accessing data structures in a file at a low-level. Two applications exist for dumping data to text (ncdump) and converting that text back into a NetCDF file (ncgen).

  2. The low-level MINC library (again C and Fortran callable) is used with NetCDF routines to do medical-image specific things. It provides some enhancements to NetCDF (automatic type conversion, for example), as well as image conversion routines for dealing with image pixel value issues as well as image size and orientation. Documentation consists of a programmer's guide and a programmer's reference

  3. A high-level C library called volume_io provides a Volume data type, with functions like input_volume to give simple access to data while handling issues of pixel range conversion and voxel-to-world coordinate conversion. There is no documentation for this, but the source lives in ~neelin/src/file/minc/progs/volume_io or in ~david/MNI_release (this is the original but contains much more than the volume_io stuff). An example program exists in ~david/MNI_release called convert_volume_to_byte.c

  4. Generic MINC applications. All MINC applications should take the -help option for a listing of options. Man pages exist for all of the standard MINC programs.

  5. Specific MINC applications like register (for displaying one or two minc volumes and doing point tagging) and postf (display minc images). A man page exists for register and postf has -help option (for options) and a -describe option for some details.

You can download the source code for the latest version of MINC here.