[MINC-development] Draft API for MINC 2.0

Peter NEELIN minc-development@bic.mni.mcgill.ca
Sun, 6 Jul 2003 15:15:36 -0400


Hi John,

I've finally had a chance to quickly read through the draft API - looks
good. It would be helpful to have a document to go with it that gave some
overview of the basic concepts.

The only thing that I noticed to be missing was a set of functions for
dealing with spatial voxel-to-world conversions. Either functions for
doing voxel-to-world transformations, or for returning a transformation
object (perhaps a matrix of some form, although then the programmer would
have to deal with non-spatial dimensions that might be intermixed with
spatial ones). Another thing that is non-trivial to compute and that might
be helpful in the minc library (although it is already in the Proglib
library) is a mapping between a world coordinate and the dimension start
values. For non-orthogonal axes, the projection onto the axes is not an
orthogonal projection and so requires some thought (see
convert_origin_to_start.c). This is mostly useful for writing converters
when one knows the coordinate of the first voxel and one wants to compute
the start values.

Apart from that, a very minor point is that MINC 1.0 refers to images and
not slices. There are a few new functions that talk about slice max and
min, etc. If these refer to minc 1 images (fastest-varying 2 or 3
(for vector) dimensions in the image variable), then they should probably
use the same word.

            Peter
----
            Peter Neelin (neelin@bic.mni.mcgill.ca)