Imagine++
AnalyzeHeader.h
1 // ===========================================================================
2 // Imagine++ Libraries
3 // Copyright (C) Imagine
4 // For detailed information: http://imagine.enpc.fr/software
5 // ===========================================================================
6 
7 #ifndef DOXYGEN_SHOULD_SKIP_THIS
8 
9 namespace Imagine {
10 
11  namespace Analyze {
12 
13  /* ANALYZETM Header File Format
14  *
15  * (c) Copyright, 1986-1995
16  * Biomedical Imaging Resource
17  * Mayo Foundation
18  *
19  * dbh.h
20  *
21  * databse sub-definitions
22  */
23 
24  struct header_key /* header key */
25  { /* off + size */
26  int sizeof_hdr; /* 0 + 4 */
27  char data_type[10]; /* 4 + 10 */
28  char db_name[18]; /* 14 + 18 */
29  int extents; /* 32 + 4 */
30  short int session_error; /* 36 + 2 */
31  char regular; /* 38 + 1 */
32  char hkey_un0; /* 39 + 1 */
33  }; /* total=40 bytes */
34 
35  struct image_dimension
36  { /* off + size */
37  short int dim[8]; /* 0 + 16 */
38  short int unused8; /* 16 + 2 */
39  short int unused9; /* 18 + 2 */
40  short int unused10; /* 20 + 2 */
41  short int unused11; /* 22 + 2 */
42  short int unused12; /* 24 + 2 */
43  short int unused13; /* 26 + 2 */
44  short int unused14; /* 28 + 2 */
45  short int datatype; /* 30 + 2 */
46  short int bitpix; /* 32 + 2 */
47  short int dim_un0; /* 34 + 2 */
48  float pixdim[8]; /* 36 + 32 */
49  /*
50  pixdim[] specifies the voxel dimensitons:
51  pixdim[1] - voxel width
52  pixdim[2] - voxel height
53  pixdim[3] - interslice distance
54  ...etc
55  */
56  float vox_offset; /* 68 + 4 */
57  float funused1; /* 72 + 4 */
58  float funused2; /* 76 + 4 */
59  float funused3; /* 80 + 4 */
60  float cal_max; /* 84 + 4 */
61  float cal_min; /* 88 + 4 */
62  float compressed; /* 92 + 4 */
63  float verified; /* 96 + 4 */
64  int glmax,glmin; /* 100 + 8 */
65  }; /* total=108 bytes */
66 
67  struct data_history
68  { /* off + size */
69  char descrip[80]; /* 0 + 80 */
70  char aux_file[24]; /* 80 + 24 */
71  char orient; /* 104 + 1 */
72  char originator[10]; /* 105 + 10 */
73  char generated[10]; /* 115 + 10 */
74  char scannum[10]; /* 125 + 10 */
75  char patient_id[10]; /* 135 + 10 */
76  char exp_date[10]; /* 145 + 10 */
77  char exp_time[10]; /* 155 + 10 */
78  char hist_un0[3]; /* 165 + 3 */
79  int views; /* 168 + 4 */
80  int vols_added; /* 172 + 4 */
81  int start_field; /* 176 + 4 */
82  int field_skip; /* 180 + 4 */
83  int omax, omin; /* 184 + 8 */
84  int smax, smin; /* 192 + 8 */
85  };
86 
87  struct dsr
88  {
89  struct header_key hk; /* 0 + 40 */
90  struct image_dimension dime; /* 40 + 108 */
91  struct data_history hist; /* 148 + 200 */
92  }; /* total= 348 bytes */
93 
94  /* Acceptable values for datatype */
95 #define DT_NONE 0
96 #define DT_UNKNOWN 0
97 #define DT_BINARY 1
98 #define DT_UNSIGNED_CHAR 2
99 #define DT_SIGNED_SHORT 4
100 #define DT_SIGNED_INT 8
101 #define DT_FLOAT 16
102 #define DT_COMPLEX 32
103 #define DT_DOUBLE 64
104 #define DT_RGB 128
105 #define DT_ALL 255
106 
107  typedef struct
108  {
109  float real;
110  float imag;
111  } COMPLEX;
112 
113  }
114 }
115 
116 #endif
Imagine++ namespace.
Definition: Array.h:7