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 |