Proposals:Adding MINC File Format
Adding support for MINC File Format
Description..
What is MINC ?
MINC is an Image File Format, 3 level API and an Image Processing toolkit that has been developed at the Brain Imaging Centre (or Centre) at the Montreal Neurological Institute. You can read more about it here and here.
MINC 1.X was originally called Medical Image NetCDF, but things have changed since given the use of large datasets as the BIC (>4GB), this necessitated a shift away from netCDF and as such HDF5 was chosen for MINC2.X. The ITK MINC library will be based upon MINC 2.X with planned support for reading MINC 1.X files.
Note, that there are readily available tools that are included in the MINC 2.X distribution (mincconvert) that will convert between the two formats.
A large amount of work on this IO module has been done already by Leila Bagdahdi of the mICE imaging Center in Toronto, this has resulted in this Insight Article
Capabilities
There have been a number of well used Medical Imaging "things" developed around MINC including N3 - Inhomogeneity Correction, registration, brainweb, the ICBM, average 305 and colin 27 models to name a few.
A short-list of things that the MINC tools can do:
* Non Unifority Correction (John Sled) * linear and nonlinear (grid-transform based) registration (Louis Collins) * MATLAB interface (EMMA) * Partial Volue Estimation (PVE - Jussi Tohka) * Segmentation (Alex Zijdenbos, Louis Collins, Chris Cocosco and others) * Cortical Surface Extraction (lots, just about everyone in Alan Evans Lab for the past 15 years) * Diffusion, Perfusion (Andrew Janke) * Deformation Analysis * GLM Modeling * fMRIstat (Keith Worsley)
* MINC Toolbox: resampling, math, arbitrary calculus across images, resampling, reshaping, lookup tables, image generation via ImageMagick,
* MINC file format: "limitless" arbitrary named dimensions, direction cosines, abstracted range calculations from multiple underlying data formats dependant on precision, separation of voxel and world co-ordinates, automated history storage for provenance of data, "limitless" user defined header fields
* MINC API: 2/3 levels of programming, minc_simple (slurp it all in), volume_io (more low-level), minc proper. There are also programming interfaces such as voxel_loop that allow buffered processing of multiple files (>100) with a very small memory footprint.
Limitations
* You have to use the API to write tools, there are some who haven't and reverse engineered it and suffered... (They shall remain nameless).