m-anlz

Langue: en

Version: 300833 (debian - 07/07/09)

Section: 4 (Pilotes et protocoles réseau)

NAME

m-anlz - Analyze (SPM) medical image format (MedCon)

DESCRIPTION

This is a very simple format. The basic headers are written in one file with extension `.hdr', the image data in another file with extension `.img'.

The basic defines for the format:

 ---------------------------------------------------------------------------
 
 typedef struct Header_Key_t{
         Int32  sizeof_hdr;               /* 348 or 148                 */
         char data_type[10];              /* "dsr"                      */
         char db_name[18];                /* filename without extension */
         Int32 extents;                   /* 16384                      */
         Int16 session_error;
         char regular;                    /* 'r'                        */
         char hkey_un0;
 } MDC_ANLZ_HEADER_KEY;
 
 #define MDC_ANLZ_HK_SIZE 40 
 
 typedef struct Image_Dimensions_t{
         Int16 dim[8];                    /* [0] = # of dimensions      */
                                          /* [1] = X-dim                */
                                          /* [2] = Y-dim                */
                                          /* [3] = Z-dim                */
                                          /* [4] = t-dim                */
                                          /* ...                        */
         Int16 unused[7];
         Int16 datatype;                  /* pixel type                 */
                                          /*  0 = Unknown   1 = one-bit */
                                          /*  2 = Uint8     4 = Int16   */
                                          /*  8 = Int32    16 = float   */
                                          /* 32 = complex  64 = double  */
                                          /*128 = RGB     255 = all     */
 
         Int16 bitpix;                    /* bits per pixel             */
         Int16 dim_un0;
         float pixdim[8];                 /* [0] = # of dimensions      */
                                          /* [1] = X-dim (mm)           */
                                          /* [2] = Y-dim (mm)           */
                                          /* [3] = Z-dim (mm)           */
                                          /* [4] = t-dim (ms)           */
                                          /* ...                        */
         float funused[6];
         float compressed;
         float verified;
         Int32 glmax,glmin;
 } MDC_ANLZ_IMAGE_DIMS;
 
 #define MDC_ANLZ_IMD_SIZE 108
 
 typedef struct Data_History_t{
         char descrip[80];
         char aux_file[24];
         char orient;                     /* patient orientation        */
                                          /* 0 = transverse unflipped   */
                                          /* 1 = coronal unflipped      */
                                          /* 2 = sagittal unflipped     */
                                          /* 3 = transverse flipped     */
                                          /* 4 = coronal flipped        */
                                          /* 5 = sagittal flipped       */
 
         char originator[10];
         char generated[10];
         char scannum[10];
         char patient_id[10];
         char exp_date[10];
         char exp_time[10];
         char hist_un0[3];
         Int32 views;
         Int32 vols_added;
         Int32 start_field;
         Int32 field_skip;
         Int32 omax, omin;
         Int32 smax, smin;
 } MDC_ANLZ_DATA_HIST;
 
 #define MDC_ANLZ_DH_SIZE 200
 
 ---------------------------------------------------------------------------
 

The structures are defined in the order as they should be found in the file. The Data_History header is not obliged. The SPM Analyze format, intended for the SPM software, differs a little from the normal Analyze format.

What does the format support or not support:

 ===========================================================================
 Item            Supported                             Not Supported
 ===========================================================================
 Color Map     : grayscale                                   -
 File Endian   : little & big                                - 
 Pixeltypes    : 1-bit, Uint8, Int16, Int32           Int8,Uint16,Uint32
                 float, double, (complex)               Int64,Uint64
 ===========================================================================
 Scaling factors  : quantify & calibrate factors/image  are NOT supported
 ---------------------------------------------------------------------------
 Dimensions/Image : different dimensions for each image are NOT supported
 ---------------------------------------------------------------------------
 Pixeltypes/Image : different pixeltypes for each image are NOT supported
 ---------------------------------------------------------------------------
 SPM remarks      : 1) imd.funused[0] = the offset 
                    2) imd.funused[1] = one global scaling factor
                    3) (Int16)dh.originator[0...1] \
                       (Int16)dh.originator[2...3]  } =  origin (X, Y, Z)
                       (Int16)dh.originator[4...5] / 
 ===========================================================================
 

NOTES

A note about the image (patient) orientation in SPM:

X-axis
increases from leftside (hand) to rightside (hand).
Y-axis
increases from posterior (back) to anterior (front).
Z-axis
increases from inferior (feet) to superior (head).

FILES

 /usr/local/xmedcon/source/m-anlz.h      The header file.
 /usr/local/xmedcon/source/m-anlz.c      The source file.
 

SEE ALSO

medcon(1), xmedcon(1), xmedcon-config(1)

m-acr(4), m-gif(4), m-inw(4), m-intf(4), m-ecat(4)

medcon(3)

AUTHOR

(X)MedCon project was originally written by Erik Nolf (eNlf) for the former PET-Centre at Ghent University (Belgium).

e-mail: enlf-at-users.sourceforge.net www: http://xmedcon.sourceforge.net