SIVIC API  0.9.26
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
svkGEImageHeader.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2009-2014 The Regents of the University of California.
3  * All Rights Reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  * • Redistributions of source code must retain the above copyright notice,
8  * this list of conditions and the following disclaimer.
9  * • Redistributions in binary form must reproduce the above copyright notice,
10  * this list of conditions and the following disclaimer in the documentation
11  * and/or other materials provided with the distribution.
12  * • None of the names of any campus of the University of California, the name
13  * "The Regents of the University of California," or the names of any of its
14  * contributors may be used to endorse or promote products derived from this
15  * software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20  * IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
21  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
26  * OF SUCH DAMAGE.
27  */
28 
29 
30 
31 /*
32  * $URL$
33  * $Rev$
34  * $Author$
35  * $Date$
36  *
37  * Authors:
38  * Don C. Bigler, Ph.D.
39  */
40 
41 #ifndef SVK_GE_IMAGE_HEADER_H
42 #define SVK_GE_IMAGE_HEADER_H
43 
44 
45 namespace svk {
46 
47 
51  int Width;
52  int Height;
53  int Depth;
55  int Dwindow;
56  int Dlevel;
58  int Overflow;
59  int Underflow;
62  short Version;
63  unsigned short Checksum;
65  int Length_ID;
70  int Pointer_Histogram; // Appears to point to suite/exam/series/image info in version 2.
81  int Pointer_Suite; // Not present in version 2.
82  int Length_Suite; // Not present in version 2.
83  int Pointer_Exam; // Not present in version 2.
84  int Length_Exam; // Not present in version 2.
85  int Pointer_Series; // Not present in version 2.
86  int Length_Series; // Not present in version 2.
87  int Pointer_Image; // Not present in version 2.
88  int Length_Image; // Not present in version 2.
89 };
90 
91 struct GESignaHeader {
93  char Suite_Product_ID[13]; // Product ID from Suite header.
94  char Exam_System_ID[5]; // System ID stored in Exam header (plus 1 for string terminator).
95  unsigned short Exam_Number; // Exam number from Exam header.
96  char Exam_Hospital_Name[34]; // Version 3 only uses 34 bytes (not sure for version 2).
97  unsigned int Exam_Magnet_Strength; // MR magnet strength extracted from Exam header.
98  char Exam_Patient_ID[13]; // Patient ID stored in Exam header.
99  char Exam_Patient_Name[25]; // Patient name stored in Exam header.
100  unsigned short Exam_Patient_Age; // Patient age stored in Exam header.
101  unsigned short Exam_Patient_Age_Notation; // Patient age notation (years, etc.) stored in Exam header.
102  unsigned short Exam_Patient_Sex; // Patient sex.
103  unsigned int Exam_Patient_Weight_In_Grams; // Patient weight in grams stored in Exam header.
104  char Exam_Patient_History[62]; // Version 2 uses 62 bytes & version 3 61.
105  char Exam_Requisition_Number[13]; // Requisition Number from Exam header.
106  int Exam_Time_Stamp; // Study time stamp from Exam header.
107  char Exam_Time_Stamp_Date[9]; // Study time stamp date as a string.
108  char Exam_Time_Stamp_Time[7]; // Study time stamp time as a string.
109  char Exam_Referring_Physician[33]; // Referring physician from Exam header.
110  char Exam_Radiologist[33]; // Radiologist performing study from Exam header.
111  char Exam_Operator[4]; // Operator from Exam header.
112  char Exam_Description[23]; // Study description from Exam header.
113  char Exam_Type[3]; // Type of Exam (MR or CT).
114  char Exam_Unique_System_ID[17]; // Unique system ID from Exam header (plus 1 for string terminator).
115  char Exam_Software_Version[3]; // Software version stored in Exam header (plus 1 for string terminator).
116  unsigned short Series_Number; // Series number from Series header.
117  int Series_Time_Stamp; // Series time stamp from Series header.
118  char Series_Time_Stamp_Date[9]; // Series time stamp date as a string.
119  char Series_Time_Stamp_Time[7]; // Series time stamp time as a string.
120  char Series_Description[30]; // Series description from Series header.
121  unsigned short Series_Type; // Series type value from Series header.
122  unsigned int Series_Patient_Position; // Patient position from Series header.
123  unsigned int Series_Patient_Entry; // Patient entry from Series header.
124  char Series_Scan_Potocol_Name[26]; // Scan protocol name string from Series header.
125  unsigned short MR_Image_Number; // Image number from MR header.
126  int MR_Time_Stamp; // Acquisition time stamp from MR header.
127  char MR_Time_Stamp_Date[9]; // Acquisition time stamp date as string.
128  char MR_Time_Stamp_Time[7]; // Acquisition time stamp time as string.
129  float MR_Scan_Duration; // Duration of scan in seconds from MR header.
130  float MR_Slice_Thickness; // Slice thickness in mm from MR header.
131  unsigned short MR_Image_Matrix_Size_X; // Image x matrix size from MR header.
132  unsigned short MR_Image_Matrix_Size_Y; // Image y matrix size from MR header.
133  float MR_FOV_X; // Image FOV in the x dimension from MR header.
134  float MR_FOV_Y; // Image FOV in the y dimension from MR header.
135  float MR_Image_Dimension_X; // Image x dimension from MR header.
136  float MR_Image_Dimension_Y; // Image y dimension from MR header.
137  float MR_Image_Pixel_Size_X; // Image pixel spacing in the x dimension from MR header.
138  float MR_Image_Pixel_Size_Y; // Image pixel spacing in the y dimension from MR header.
139  char MR_IV_Contrast_Agent[14]; // IV contrast agent from MR header.
140  char MR_Oral_Contrast_Agent[17]; // Oral contrast agent from MR header.
141  unsigned short MR_Image_Contrast_Mode; // Image contrast mode used from MR header.
142  unsigned short MR_Plane_Type; // Imaging plane from MR header.
143  float MR_Slice_Spacing; // Spacing between slices from MR header.
144  float MR_Image_Location; // Spatial location of slice from MR header.
145  float MR_R_Normal; // Right coordinate normal vector value.
146  float MR_A_Normal; // Anterior coordinate normal vector value.
147  float MR_S_Normal; // Superior coordinate normal vector value.
148  float MR_R_Top_Left_Corner; // Right coordinate of top left hand corner from MR header.
149  float MR_A_Top_Left_Corner; // Anterior coordinate of top left hand corner from MR header.
150  float MR_S_Top_Left_Corner; // Superior coordinate of top left hand corner from MR header.
151  float MR_R_Top_Right_Corner; // Right coordinate of top right hand corner from MR header.
152  float MR_A_Top_Right_Corner; // Anterior coordinate of top right hand corner from MR header.
153  float MR_S_Top_Right_Corner; // Superior coordinate of top right hand corner from MR header.
154  float MR_R_Bottom_Right_Corner; // Right coordinate of bottom right hand corner from MR header.
155  float MR_A_Bottom_Right_Corner; // Anterior coordinate of bottom right hand corner from MR header.
156  float MR_S_Bottom_Right_Corner; // Superior coordinate of bottom right hand corner from MR header.
157  unsigned int MR_Pulse_Repetition_Time; // Pulse repetition time (TR) in usec from MR header.
158  unsigned int MR_Pulse_Inversion_Time; // Pulse inversion time (TI) in usec from MR header.
159  unsigned int MR_Pulse_Echo_Time; // Pulse echo time (TE) in usec from MR header.
160  unsigned short MR_Number_Of_Echoes; // Number of echoes from MR header.
161  unsigned short MR_Echo_Number; // Echo number from MR header.
162  float MR_Number_Of_Averages; // Number of averages from MR header.
163  unsigned short MR_Cardiac_Heart_Rate; // Cardiac heart rate in BPM from MR header.
164  float MR_Average_SAR; // Average SAR from MR header.
165  unsigned short MR_Trigger_Window; // Trigger window from MR header.
166  unsigned short MR_Images_Per_Cardiac_Cycle; // Images per cardiac cycle from MR header.
167  short MR_Flip_Angle; // Flip angle of sequence in degrees from MR header.
168  int MR_Center_Frequency; // Center frequency of MR scanner in 0.1 HZ from MR header.
169  unsigned short MR_Imaging_Mode; // MR imaging mode from MR header.
170  unsigned int MR_Imaging_Options; // MR imaging options from MR header.
171  unsigned short MR_Pulse_Sequence; // Pulse sequence number from MR header.
172  char MR_Pulse_Sequence_Name[34]; // Pulse sequence name from MR header.
173  char MR_Receive_Coil_Name[18]; // Receive coil name from MR header.
174  int MR_Raw_Data_Run_Number; // Acquisition number from MR header.
175  unsigned short MR_Fat_Water_SAT; // Fat/Water saturation value from MR header.
176  float MR_Variable_Bandwidth; // Variable bandwidth in Hz from MR header.
177  unsigned short MR_Number_Of_Slices; // Number of slices in this scan group from MR header.
178  int MR_Timestamp_Of_Last_Change; // Time stamp of last change from MR header.
179  char MR_Timestamp_Of_Last_Change_Date[9]; // Time stamp date of last change as string.
180  char MR_Timestamp_Of_Last_Change_Time[7]; // Time stamp time of last change as string.
181  unsigned short MR_Bitmap_Of_Saturation_Selections; // Bitmap of saturation selectioins used from MR header.
182  unsigned short MR_Surface_Coil_Intensity_Correction; // Surface coil intensity correction value from MR header.
183  unsigned short MR_Image_Type; // MR image type (magnitude, phase, real, imaginary, spectroscopy).
184  unsigned short MR_Vascular_Collapse; // Collapse image value from MR header.
185  unsigned short MR_Projection_Algorithm; // Projection algorithm from MR header.
186  unsigned short MR_Echo_Train_Length; // Echo train length from MR header.
187  unsigned short MR_Fractional_Echo_Flag; // Fractional echo flag from MR header.
188  unsigned short MR_Preparatory_Pulse_Option; // Prep. pulse option from MR header.
189  unsigned short MR_Frequency_Direction; // Frequency direction from the MR header.
190 };
191 
192 
193 } //svk
194 #endif //SVK_GE_IMAGE_HEADER_H
float MR_A_Top_Right_Corner
Definition: svkGEImageHeader.h:152
unsigned short MR_Cardiac_Heart_Rate
Definition: svkGEImageHeader.h:163
char Exam_Patient_ID[13]
Definition: svkGEImageHeader.h:98
Definition: svkGEImageHeader.h:48
unsigned short Series_Number
Definition: svkGEImageHeader.h:116
int Pointer_DBHeader
Definition: svkGEImageHeader.h:76
unsigned short MR_Echo_Number
Definition: svkGEImageHeader.h:161
char Suite_Product_ID[13]
Definition: svkGEImageHeader.h:93
float MR_Variable_Bandwidth
Definition: svkGEImageHeader.h:176
unsigned short Checksum
Definition: svkGEImageHeader.h:63
unsigned short MR_Image_Contrast_Mode
Definition: svkGEImageHeader.h:141
char Exam_Patient_History[62]
Definition: svkGEImageHeader.h:104
int Height
Definition: svkGEImageHeader.h:52
float MR_Scan_Duration
Definition: svkGEImageHeader.h:129
unsigned short Exam_Patient_Age_Notation
Definition: svkGEImageHeader.h:101
int Pointer_Series
Definition: svkGEImageHeader.h:85
char MR_Time_Stamp_Date[9]
Definition: svkGEImageHeader.h:127
unsigned int MR_Pulse_Inversion_Time
Definition: svkGEImageHeader.h:158
char Exam_Unique_System_ID[17]
Definition: svkGEImageHeader.h:114
float MR_Image_Pixel_Size_X
Definition: svkGEImageHeader.h:137
char MR_Timestamp_Of_Last_Change_Time[7]
Definition: svkGEImageHeader.h:180
unsigned short Series_Type
Definition: svkGEImageHeader.h:121
float MR_S_Bottom_Right_Corner
Definition: svkGEImageHeader.h:156
float MR_R_Top_Left_Corner
Definition: svkGEImageHeader.h:148
float MR_Image_Dimension_Y
Definition: svkGEImageHeader.h:136
float MR_S_Top_Left_Corner
Definition: svkGEImageHeader.h:150
unsigned int Exam_Magnet_Strength
Definition: svkGEImageHeader.h:97
int Underflow
Definition: svkGEImageHeader.h:59
int Bottom_Offset
Definition: svkGEImageHeader.h:61
unsigned int MR_Pulse_Echo_Time
Definition: svkGEImageHeader.h:159
int MR_Center_Frequency
Definition: svkGEImageHeader.h:168
float MR_Average_SAR
Definition: svkGEImageHeader.h:164
float MR_Slice_Thickness
Definition: svkGEImageHeader.h:130
int Dwindow
Definition: svkGEImageHeader.h:55
char Exam_Description[23]
Definition: svkGEImageHeader.h:112
float MR_S_Normal
Definition: svkGEImageHeader.h:147
float MR_Image_Pixel_Size_Y
Definition: svkGEImageHeader.h:138
char MR_Oral_Contrast_Agent[17]
Definition: svkGEImageHeader.h:140
unsigned short MR_Pulse_Sequence
Definition: svkGEImageHeader.h:171
char Exam_Type[3]
Definition: svkGEImageHeader.h:113
int Pointer_Suite
Definition: svkGEImageHeader.h:81
int Pointer_Exam
Definition: svkGEImageHeader.h:83
unsigned short MR_Imaging_Mode
Definition: svkGEImageHeader.h:169
int Pointer_Compress
Definition: svkGEImageHeader.h:68
char Exam_Patient_Name[25]
Definition: svkGEImageHeader.h:99
char Series_Description[30]
Definition: svkGEImageHeader.h:120
int Length_Unpack
Definition: svkGEImageHeader.h:67
unsigned short MR_Number_Of_Echoes
Definition: svkGEImageHeader.h:160
int Top_Offset
Definition: svkGEImageHeader.h:60
char Exam_Time_Stamp_Time[7]
Definition: svkGEImageHeader.h:108
char Exam_Operator[4]
Definition: svkGEImageHeader.h:111
int Length_Image
Definition: svkGEImageHeader.h:88
int Length_Text
Definition: svkGEImageHeader.h:73
unsigned short MR_Images_Per_Cardiac_Cycle
Definition: svkGEImageHeader.h:166
char MR_IV_Contrast_Agent[14]
Definition: svkGEImageHeader.h:139
unsigned short MR_Fractional_Echo_Flag
Definition: svkGEImageHeader.h:187
int Length_ID
Definition: svkGEImageHeader.h:65
float MR_FOV_Y
Definition: svkGEImageHeader.h:134
char Exam_Requisition_Number[13]
Definition: svkGEImageHeader.h:105
float MR_A_Normal
Definition: svkGEImageHeader.h:146
char Series_Scan_Potocol_Name[26]
Definition: svkGEImageHeader.h:124
int Pointer_Unpack
Definition: svkGEImageHeader.h:66
short MR_Flip_Angle
Definition: svkGEImageHeader.h:167
unsigned short MR_Preparatory_Pulse_Option
Definition: svkGEImageHeader.h:188
int Width
Definition: svkGEImageHeader.h:51
unsigned short MR_Surface_Coil_Intensity_Correction
Definition: svkGEImageHeader.h:182
float MR_Image_Dimension_X
Definition: svkGEImageHeader.h:135
char Exam_Software_Version[3]
Definition: svkGEImageHeader.h:115
unsigned short Exam_Patient_Age
Definition: svkGEImageHeader.h:100
float MR_Image_Location
Definition: svkGEImageHeader.h:144
unsigned int Series_Patient_Position
Definition: svkGEImageHeader.h:122
unsigned int MR_Imaging_Options
Definition: svkGEImageHeader.h:170
float MR_A_Top_Left_Corner
Definition: svkGEImageHeader.h:149
int Compressed
Definition: svkGEImageHeader.h:54
int Level_Offset
Definition: svkGEImageHeader.h:78
unsigned short MR_Image_Matrix_Size_X
Definition: svkGEImageHeader.h:131
float MR_Number_Of_Averages
Definition: svkGEImageHeader.h:162
int Exam_Time_Stamp
Definition: svkGEImageHeader.h:106
int Length_Exam
Definition: svkGEImageHeader.h:84
char Exam_Time_Stamp_Date[9]
Definition: svkGEImageHeader.h:107
unsigned int MR_Pulse_Repetition_Time
Definition: svkGEImageHeader.h:157
char Exam_Radiologist[33]
Definition: svkGEImageHeader.h:110
int MR_Time_Stamp
Definition: svkGEImageHeader.h:126
unsigned short MR_Bitmap_Of_Saturation_Selections
Definition: svkGEImageHeader.h:181
int Length_Histogram
Definition: svkGEImageHeader.h:71
unsigned short MR_Image_Matrix_Size_Y
Definition: svkGEImageHeader.h:132
int Pointer_Image
Definition: svkGEImageHeader.h:87
unsigned short MR_Fat_Water_SAT
Definition: svkGEImageHeader.h:175
float MR_A_Bottom_Right_Corner
Definition: svkGEImageHeader.h:155
int Magic_Number
Definition: svkGEImageHeader.h:49
char Series_Time_Stamp_Time[7]
Definition: svkGEImageHeader.h:119
unsigned short MR_Image_Number
Definition: svkGEImageHeader.h:125
char Exam_System_ID[5]
Definition: svkGEImageHeader.h:94
int Pointer_Graphics
Definition: svkGEImageHeader.h:74
char MR_Pulse_Sequence_Name[34]
Definition: svkGEImageHeader.h:172
short Version
Definition: svkGEImageHeader.h:62
int MR_Timestamp_Of_Last_Change
Definition: svkGEImageHeader.h:178
int Length_Graphics
Definition: svkGEImageHeader.h:75
float MR_Slice_Spacing
Definition: svkGEImageHeader.h:143
float MR_R_Normal
Definition: svkGEImageHeader.h:145
unsigned short Exam_Patient_Sex
Definition: svkGEImageHeader.h:102
int Pointer_Text
Definition: svkGEImageHeader.h:72
char MR_Timestamp_Of_Last_Change_Date[9]
Definition: svkGEImageHeader.h:179
char MR_Receive_Coil_Name[18]
Definition: svkGEImageHeader.h:173
int Length_Suite
Definition: svkGEImageHeader.h:82
Definition: svkGEImageHeader.h:91
int Length_Compress
Definition: svkGEImageHeader.h:69
int MR_Raw_Data_Run_Number
Definition: svkGEImageHeader.h:174
unsigned short MR_Echo_Train_Length
Definition: svkGEImageHeader.h:186
char Series_Time_Stamp_Date[9]
Definition: svkGEImageHeader.h:118
char Exam_Hospital_Name[34]
Definition: svkGEImageHeader.h:96
unsigned short MR_Vascular_Collapse
Definition: svkGEImageHeader.h:184
float MR_R_Bottom_Right_Corner
Definition: svkGEImageHeader.h:154
int Overflow
Definition: svkGEImageHeader.h:58
unsigned short Exam_Number
Definition: svkGEImageHeader.h:95
int Length_User
Definition: svkGEImageHeader.h:80
unsigned int Exam_Patient_Weight_In_Grams
Definition: svkGEImageHeader.h:103
unsigned short MR_Frequency_Direction
Definition: svkGEImageHeader.h:189
int Depth
Definition: svkGEImageHeader.h:53
unsigned short MR_Trigger_Window
Definition: svkGEImageHeader.h:165
int Pointer_ID
Definition: svkGEImageHeader.h:64
float MR_FOV_X
Definition: svkGEImageHeader.h:133
int Pointer_Histogram
Definition: svkGEImageHeader.h:70
int Length_DBHeader
Definition: svkGEImageHeader.h:77
float MR_S_Top_Right_Corner
Definition: svkGEImageHeader.h:153
float MR_R_Top_Right_Corner
Definition: svkGEImageHeader.h:151
int Pointer_User
Definition: svkGEImageHeader.h:79
int Background_Shade
Definition: svkGEImageHeader.h:57
unsigned short MR_Number_Of_Slices
Definition: svkGEImageHeader.h:177
char MR_Time_Stamp_Time[7]
Definition: svkGEImageHeader.h:128
int Series_Time_Stamp
Definition: svkGEImageHeader.h:117
int Length_Series
Definition: svkGEImageHeader.h:86
int Dlevel
Definition: svkGEImageHeader.h:56
unsigned short MR_Image_Type
Definition: svkGEImageHeader.h:183
int Header_Length
Definition: svkGEImageHeader.h:50
GEImageMainHeader mainHeader
Definition: svkGEImageHeader.h:92
unsigned short MR_Projection_Algorithm
Definition: svkGEImageHeader.h:185
char Exam_Referring_Physician[33]
Definition: svkGEImageHeader.h:109
unsigned int Series_Patient_Entry
Definition: svkGEImageHeader.h:123
unsigned short MR_Plane_Type
Definition: svkGEImageHeader.h:142