Imagine++
Pascal Monasse
ImagineQt
Imagine
Images
src
Imagine
Images
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
Imagine++ namespace.
Generated by
1.9.4