next up previous contents
Next: mifree_dimension_handle Up: DIMENSION FUNCTIONS (39) Previous: micopy_dimension   Contents

micreate_dimension

NAME

micreate_dimension - define a new dimension in a MINC volume

SYNOPSIS

#include <minc2.h>


int micreate_dimension ( const char     *name,
                         midimclass_t   class, midimattr_t      attr,
                         unsigned long  size, midimhandle_t     *new_dim_ptr);

DESCRIPTION

This function defines a dimension that can be used in the definition
of a new MINC volume (see the create_volume function).  The name may
be an arbitrary string of up to 128 alphanumeric characters. Any of
the "standard" names retained from MINC 1.0 retain their default
behaviors: MIxspace, MIyspace, and MIzspace default to spatial
dimensions, and MItime default to be a time dimension.  MItfrequency
is a temporal frequency axis, and MIxfrequency, MIyfrequency, and
MIzfrequency are spatial frequency axes.  Any other name may be used.

When initially defined, a regularly-sampled dimension will have a
"start" value of zero, and a "separation" or "step" value of 1.0.  An
irregular dimension will be initialized with all offsets equal to
zero.

The type midimclass_t is defined as follows:

typedef enum { 
MI_DIMCLASS_ANY         = 0,            /* Don't care (or unknown) */
MI_DIMCLASS_SPATIAL     = 1,            /* Space */
MI_DIMCLASS_TIME        = 2,            /* Time */
MI_DIMCLASS_SFREQUENCY  = 3,            /* Spatial frequency */
MI_DIMCLASS_TFREQUENCY  = 4,            /* Temporal frequency */
MI_DIMCLASS_USER        = 5,            /* Arbitrary user-defined axis */
MI_DIMCLASS_FLAT_RECORD = 6             /* Record as dimension */

} midimclass_t;

The type midimattr_t is a bit field of dimension attributes, defined as
follows:

typedef unsigned int midimattr_t; 
#define MI_DIMATTR_ALL 0
#define MI_DIMATTR_REGULARLY_SAMPLED 0x1
#define MI_DIMATTR_NOT_REGULARLY_SAMPLED 0x2

The "size" argument may range from 0 to 2^32, which should provide
enough range to represent detail on the order of 10 Angstroms in
typical medical imaging applications.

If successful, the function will return a handle to the newly-defined
dimension in the location specified by "new_dim_ptr".

RETURN VALUE

micreate_dimension returns MI_NOERROR on success, MI_ERROR on failure.



Robert VINCENT 2005-03-09