---
name: "m-anlz"
section: "4"
platform: "linux"
package: "libmdc-dev"
version: "0.25.1-gtk3+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/m-anlz"
---

# m-anlz(4)

Analyze (SPM) medical image format for (X)MedCon

## NAME

m-anlz - Analyze (SPM) medical image format for (X)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)](/medcon/1.md), [xmedcon(1)](/xmedcon/1.md), [xmedcon-config(1)](/xmedcon-config/1.md)

[m-acr(4)](/m-acr/4.md), [m-gif(4)](/m-gif/4.md), [m-inw(4)](/m-inw/4.md), [m-intf(4)](/m-intf/4.md), [m-ecat(4)](/m-ecat/4.md)

[medcon(3)](/medcon/3.md)

## 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 |
