TPCCLIB
Toggle main menu visibility
Loading...
Searching...
No Matches
ecat
ehdrconv.c
Go to the documentation of this file.
1
7
/*****************************************************************************/
8
#include "tpcclibConfig.h"
9
/*****************************************************************************/
10
#include <stdio.h>
11
#include <stdlib.h>
12
#include <math.h>
13
#include <string.h>
14
#include <time.h>
15
/*****************************************************************************/
16
#include "
libtpcmisc.h
"
17
#include "
libtpcimgio.h
"
18
#include "
ehdrconv.h
"
19
/*****************************************************************************/
20
21
/*****************************************************************************/
25
int
ecatCopy63to7mainheader
(
ECAT63_mainheader
*h1,
ECAT7_mainheader
*h2)
26
{
27
int
i;
28
29
if
(h1==NULL || h2==NULL)
return
(1);
30
memset(h2, 0,
sizeof
(
ECAT7_mainheader
));
31
strlcpy
(h2->
original_file_name
, h1->
original_file_name
, 20);
32
h2->
sw_version
=72;
33
if
(h1->
system_type
==12) h2->
system_type
=12096;
/* for GE Advance in Turku */
34
else
h2->
system_type
=h1->
system_type
;
35
switch
(h1->
file_type
) {
36
case
RAW_DATA
:
37
h2->
file_type
=
ECAT7_3DSCAN
;
38
strcpy(h2->
magic_number
, ECAT7S_MAGICNR);
39
break
;
40
case
IMAGE_DATA
:
41
h2->
file_type
=
ECAT7_VOLUME16
;
42
strcpy(h2->
magic_number
, ECAT7V_MAGICNR);
43
break
;
44
case
ATTN_DATA
:
45
h2->
file_type
=
ECAT7_ATTEN
;
46
strcpy(h2->
magic_number
, ECAT7S_MAGICNR);
47
break
;
48
case
NORM_DATA
:
49
h2->
file_type
=
ECAT7_2DNORM
;
50
strcpy(h2->
magic_number
, ECAT7S_MAGICNR);
51
break
;
52
default
:
return
(5);
53
}
54
strlcpy
(h2->
serial_number
, h1->
node_id
, 10);
55
h2->
scan_start_time
=
ecat63Scanstarttime
(h1);
56
strlcpy
(h2->
isotope_name
, h1->
isotope_code
, 8);
57
h2->
isotope_halflife
=h1->
isotope_halflife
;
58
strlcpy
(h2->
radiopharmaceutical
, h1->
radiopharmaceutical
, 32);
59
h2->
gantry_tilt
=h1->
gantry_tilt
;
60
h2->
gantry_rotation
=h1->
gantry_rotation
;
61
h2->
bed_elevation
=h1->
bed_elevation
;
62
h2->
intrinsic_tilt
=15.0;
63
h2->
wobble_speed
=h1->
wobble_speed
;
64
h2->
transm_source_type
=h1->
transm_source_type
;
65
h2->
distance_scanned
=h1->
axial_fov
;
66
h2->
transaxial_fov
=h1->
transaxial_fov
;
67
h2->
angular_compression
=h1->
compression_code
%256;
68
h2->
coin_samp_mode
=h1->
coin_samp_mode
;
69
h2->
axial_samp_mode
=h1->
axial_samp_mode
;
70
h2->
ecat_calibration_factor
=h1->
calibration_factor
;
71
switch
(h1->
calibration_units
) {
72
case
0:
/* Unknown */
73
h2->
calibration_units
=2;
74
h2->
calibration_units_label
=0;
75
strcpy(h2->
data_units
,
""
);
76
break
;
77
case
1:
/* MBq/cc */
78
h2->
calibration_units
=1;
79
h2->
calibration_units_label
=1;
80
strcpy(h2->
data_units
,
"MBq/cc"
);
81
break
;
82
case
2:
/* ECAT counts */
83
h2->
calibration_units
=0;
84
h2->
calibration_units_label
=1;
85
strcpy(h2->
data_units
,
"ECAT counts/sec"
);
86
break
;
87
case
3:
/* uCi/cc */
88
h2->
calibration_units
=1;
89
h2->
calibration_units_label
=1;
90
strcpy(h2->
data_units
,
"uCi/cc"
);
91
break
;
92
case
4:
/* LMRGlu */
93
case
5:
/* LMRGlu umol/min/100g */
94
case
6:
/* LMRGlu mg/min/100g */
95
h2->
calibration_units
=2;
96
h2->
calibration_units_label
=1;
97
strcpy(h2->
data_units
,
"LMRGlu"
);
98
break
;
99
case
7:
/* nCi/cc */
100
h2->
calibration_units
=1;
101
h2->
calibration_units_label
=1;
102
strcpy(h2->
data_units
,
"nCi/cc"
);
103
break
;
104
case
8:
/* Well counts */
105
case
9:
/* Becquerels */
106
h2->
calibration_units
=1;
107
h2->
calibration_units_label
=1;
108
strcpy(h2->
data_units
,
"Bq/cc"
);
109
break
;
110
case
10:
/* kBq/cc */
111
h2->
calibration_units
=1;
112
h2->
calibration_units_label
=1;
113
strcpy(h2->
data_units
,
"kBq/cc"
);
114
break
;
115
default
:
116
h2->
calibration_units
=2;
117
h2->
calibration_units_label
=0;
118
strcpy(h2->
data_units
,
""
);
119
break
;
120
}
121
h2->
compression_code
=h1->
compression_code
;
122
strlcpy
(h2->
study_type
, h1->
study_name
, 12);
123
strlcpy
(h2->
patient_id
, h1->
patient_id
, 16);
124
strlcpy
(h2->
patient_name
, h1->
patient_name
, 32);
125
h2->
patient_sex
=h1->
patient_sex
;
126
h2->
patient_dexterity
=h1->
patient_dexterity
;
127
h2->
patient_age
=atof(h1->
patient_age
);
128
h2->
patient_height
=atof(h1->
patient_height
);
129
h2->
patient_weight
=atof(h1->
patient_weight
);
130
strlcpy
(h2->
physician_name
, h1->
physician_name
, 32);
131
strlcpy
(h2->
operator_name
, h1->
operator_name
, 32);
132
strlcpy
(h2->
study_description
, h1->
study_description
, 32);
133
h2->
acquisition_type
=h1->
acquisition_type
;
134
if
(h2->
acquisition_type
==0 && h1->
num_frames
>1) h2->
acquisition_type
=4;
135
h2->
patient_orientation
=
ECAT7_Head_First_Supine
;
136
strlcpy
(h2->
facility_name
, h1->
facility_name
, 20);
137
h2->
num_planes
=h1->
num_planes
;
/* may need adjusting later */
138
h2->
num_frames
=h1->
num_frames
;
139
h2->
num_gates
=h1->
num_gates
;
140
h2->
num_bed_pos
=h1->
num_bed_pos
;
if
(h2->
num_bed_pos
>0) h2->
num_bed_pos
-=1;
141
h2->
init_bed_position
=h1->
init_bed_position
;
142
for
(i=0; i<15; i++) h2->
bed_position
[i]=h1->
bed_offset
[i];
143
h2->
plane_separation
=h1->
plane_separation
;
144
h2->
lwr_sctr_thres
=h1->
lwr_sctr_thres
;
145
h2->
lwr_true_thres
=h1->
lwr_true_thres
;
146
h2->
upr_true_thres
=h1->
upr_true_thres
;
147
strlcpy
(h2->
user_process_code
, h1->
user_process_code
, 10);
148
h2->
acquisition_mode
=0;
149
h2->
bin_size
=0;
/* this value must be read from scan subheader */
150
h2->
branching_fraction
=1.0;
151
h2->
dose_start_time
=h2->
scan_start_time
;
152
h2->
dosage
=0.0;
153
h2->
well_counter_corr_factor
=0.0;
154
h2->
septa_state
=h1->
septa_type
;
155
return
(0);
156
}
157
/*****************************************************************************/
158
159
/*****************************************************************************/
163
int
ecatCopy63to7imageheader
(
ECAT63_imageheader
*h1,
ECAT7_imageheader
*h2)
164
{
165
if
(h1==NULL || h2==NULL)
return
(1);
166
memset(h2, 0,
sizeof
(
ECAT7_imageheader
));
167
h2->
data_type
=h1->
data_type
;
168
h2->
num_dimensions
=3;
169
h2->
x_dimension
=h1->
dimension_1
;
170
h2->
y_dimension
=h1->
dimension_2
;
171
h2->
z_dimension
=1;
/* Fill this later with plane number! */
172
h2->
x_offset
=h1->
x_origin
;
173
h2->
y_offset
=h1->
y_origin
;
174
h2->
z_offset
=0.0;
175
h2->
recon_zoom
=h1->
recon_scale
;
176
h2->
scale_factor
=h1->
quant_scale
;
177
h2->
image_min
=h1->
image_min
;
178
h2->
image_max
=h1->
image_max
;
179
h2->
x_pixel_size
=h1->
pixel_size
;
180
h2->
y_pixel_size
=h1->
pixel_size
;
181
h2->
z_pixel_size
=h1->
slice_width
;
182
h2->
frame_duration
=h1->
frame_duration
;
183
h2->
frame_start_time
=h1->
frame_start_time
;
184
h2->
filter_code
=h1->
filter_code
;
185
h2->
x_resolution
=0.0;
186
h2->
y_resolution
=0.0;
187
h2->
z_resolution
=0.0;
188
h2->
num_r_elements
=0.0;
189
h2->
num_angles
=0.0;
190
h2->
z_rotation_angle
=h1->
image_rotation
;
191
h2->
decay_corr_fctr
=h1->
decay_corr_fctr
;
192
h2->
processing_code
=h1->
processing_code
;
193
h2->
gate_duration
=0;
194
h2->
r_wave_offset
=0;
195
h2->
num_accepted_beats
=0;
196
h2->
filter_cutoff_frequency
=h1->
filter_params
[0];
197
h2->
filter_resolution
=h1->
filter_params
[1];
198
h2->
filter_ramp_slope
=h1->
filter_params
[2];
199
h2->
filter_order
=(
short
int)
temp_roundf
(h1->
filter_params
[3]);
200
h2->
filter_scatter_fraction
=h1->
filter_params
[4];
201
h2->
filter_scatter_slope
=h1->
filter_params
[5];
202
strncpy(h2->
annotation
, h1->
annotation
, 40);
203
return
(0);
204
}
205
/*****************************************************************************/
206
207
/*****************************************************************************/
211
int
ecatCopy63to7scanheader
(
ECAT63_scanheader
*h1,
ECAT7_scanheader
*h2)
212
{
213
if
(h1==NULL || h2==NULL)
return
(1);
214
memset(h2, 0,
sizeof
(
ECAT7_scanheader
));
215
h2->
data_type
=h1->
data_type
;
216
h2->
num_dimensions
=4;
217
h2->
num_r_elements
=h1->
dimension_1
;
218
h2->
num_angles
=h1->
dimension_2
;
219
h2->
corrections_applied
=h1->
processing_code
;
/* ??? */
220
h2->
num_z_elements
[0]=1;
/* Fill these later with plane number(s) */
221
h2->
ring_difference
=0;
222
h2->
storage_order
=1;
/* r, theta, z, d */
223
h2->
axial_compression
=0;
224
h2->
x_resolution
=h1->
sample_distance
;
225
h2->
v_resolution
=0.0;
226
h2->
z_resolution
=0.0;
227
h2->
w_resolution
=0.0;
228
h2->
gate_duration
=h1->
gate_duration
;
229
h2->
r_wave_offset
=h1->
r_wave_offset
;
230
h2->
num_accepted_beats
=0;
231
h2->
scale_factor
=h1->
scale_factor
;
232
h2->
scan_min
=h1->
scan_min
;
233
h2->
scan_max
=h1->
scan_max
;
234
h2->
prompts
=h1->
prompts
;
235
h2->
delayed
=h1->
delayed
;
236
h2->
multiples
=h1->
multiples
;
237
h2->
net_trues
=h1->
net_trues
;
238
h2->
tot_avg_cor
=h1->
tot_avg_cor
;
239
h2->
tot_avg_uncor
=h1->
tot_avg_uncor
;
240
h2->
total_coin_rate
=h1->
total_coin_rate
;
241
h2->
frame_start_time
=h1->
frame_start_time
;
242
h2->
frame_duration
=h1->
frame_duration
;
243
h2->
deadtime_correction_factor
=h1->
loss_correction_fctr
;
244
return
(0);
245
}
246
/*****************************************************************************/
247
248
/*****************************************************************************/
252
int
ecatCopy63to7normheader
(
ECAT63_normheader
*h1,
ECAT7_2Dnormheader
*h2)
253
{
254
if
(h1==NULL || h2==NULL)
return
(1);
255
memset(h2, 0,
sizeof
(
ECAT7_2Dnormheader
));
256
h2->
data_type
=h1->
data_type
;
257
h2->
num_dimensions
=2;
258
h2->
num_r_elements
=h1->
dimension_1
;
259
h2->
num_angles
=h1->
dimension_2
;
260
h2->
num_z_elements
=1;
261
h2->
ring_difference
=0;
262
h2->
scale_factor
=h1->
scale_factor
;
263
h2->
norm_min
=0.0;
264
h2->
norm_max
=0.0;
265
h2->
fov_source_width
=h1->
fov_source_width
;
266
h2->
norm_quality_factor
=1.0;
267
h2->
norm_quality_factor_code
=0;
268
h2->
storage_order
=1;
269
h2->
span
=0;
270
h2->
z_elements
[0]=1;
271
return
(0);
272
}
273
/*****************************************************************************/
274
275
/*****************************************************************************/
279
int
ecatCopy7to63mainheader
(
ECAT7_mainheader
*h1,
ECAT63_mainheader
*h2)
280
{
281
struct
tm scanStart;
282
time_t t;
283
284
//printf("ecatCopy7to63mainheader()\n");
285
if
(h1==NULL || h2==NULL)
return
(1);
286
memset(h2, 0,
sizeof
(
ECAT63_mainheader
));
287
strlcpy
(h2->
original_file_name
, h1->
original_file_name
, 20);
288
h2->
sw_version
=2;
289
h2->
data_type
=
SUN_I2
;
/* fill later with better knowledge */
290
if
(h1->
system_type
==12096) h2->
system_type
=12;
/* for GE Advance in Turku */
291
else
h2->
system_type
=h1->
system_type
;
292
h2->
system_type
=h1->
system_type
;
293
switch
(h1->
file_type
) {
294
case
ECAT7_2DSCAN
: h2->
file_type
=
RAW_DATA
;
break
;
295
case
ECAT7_IMAGE16
: h2->
file_type
=
IMAGE_DATA
;
break
;
296
case
ECAT7_ATTEN
: h2->
file_type
=
ATTN_DATA
;
break
;
297
case
ECAT7_2DNORM
: h2->
file_type
=
NORM_DATA
;
break
;
298
case
ECAT7_VOLUME8
: h2->
file_type
=
IMAGE_DATA
;
break
;
299
case
ECAT7_VOLUME16
: h2->
file_type
=
IMAGE_DATA
;
break
;
300
case
ECAT7_IMAGE8
: h2->
file_type
=
IMAGE_DATA
;
break
;
301
case
ECAT7_3DSCAN
: h2->
file_type
=
RAW_DATA
;
break
;
302
case
ECAT7_3DSCANFIT
: h2->
file_type
=
RAW_DATA
;
break
;
303
case
ECAT7_3DSCAN8
: h2->
file_type
=
RAW_DATA
;
break
;
304
default
:
return
(5);
305
}
306
strlcpy
(h2->
node_id
, h1->
serial_number
, 10);
307
t=h1->
scan_start_time
;
308
if
(
gmtime_r
(&t, &scanStart)!=NULL) {
309
h2->
scan_start_year
=scanStart.tm_year+1900;
310
h2->
scan_start_month
=scanStart.tm_mon+1;
311
h2->
scan_start_day
=scanStart.tm_mday;
312
h2->
scan_start_hour
=scanStart.tm_hour;
313
h2->
scan_start_minute
=scanStart.tm_min;
314
h2->
scan_start_second
=scanStart.tm_sec;
315
}
else
{
316
h2->
scan_start_year
=1900;
317
h2->
scan_start_month
=1;
318
h2->
scan_start_day
=1;
319
h2->
scan_start_hour
=0;
320
h2->
scan_start_minute
=0;
321
h2->
scan_start_second
=0;
322
}
323
strlcpy
(h2->
isotope_code
, h1->
isotope_name
, 8);
324
h2->
isotope_halflife
=h1->
isotope_halflife
;
325
strlcpy
(h2->
radiopharmaceutical
, h1->
radiopharmaceutical
, 32);
326
h2->
gantry_tilt
=h1->
gantry_tilt
;
327
h2->
gantry_rotation
=h1->
gantry_rotation
;
328
h2->
bed_elevation
=h1->
bed_elevation
;
329
h2->
rot_source_speed
=0;
330
h2->
wobble_speed
=h1->
wobble_speed
;
331
h2->
transm_source_type
=h1->
transm_source_type
;
332
h2->
axial_fov
=h1->
distance_scanned
;
333
h2->
transaxial_fov
=h1->
transaxial_fov
;
334
h2->
transaxial_samp_mode
=0;
335
h2->
coin_samp_mode
=h1->
coin_samp_mode
;
336
h2->
axial_samp_mode
=h1->
axial_samp_mode
;
337
h2->
calibration_factor
=h1->
ecat_calibration_factor
;
338
if
(h1->
calibration_units
==0) {
339
h2->
calibration_units
=2;
340
}
else
if
(h1->
calibration_units
==1) {
341
if
(h1->
calibration_units_label
==0)
342
h2->
calibration_units
=9;
343
else
if
(strcasecmp(h1->
data_units
,
"MBq/cc"
)==0)
344
h2->
calibration_units
=1;
345
else
if
(strcasecmp(h1->
data_units
,
"MBq/mL"
)==0)
346
h2->
calibration_units
=1;
347
else
if
(strcasecmp(h1->
data_units
,
"uCi/cc"
)==0)
348
h2->
calibration_units
=3;
349
else
if
(strcasecmp(h1->
data_units
,
"uCi/mL"
)==0)
350
h2->
calibration_units
=3;
351
else
if
(strcasecmp(h1->
data_units
,
"nCi/cc"
)==0)
352
h2->
calibration_units
=7;
353
else
if
(strcasecmp(h1->
data_units
,
"Bq/cc"
)==0)
354
h2->
calibration_units
=9;
355
else
if
(strcasecmp(h1->
data_units
,
"Bq/mL"
)==0)
356
h2->
calibration_units
=9;
357
else
if
(strcasecmp(h1->
data_units
,
"kBq/cc"
)==0)
358
h2->
calibration_units
=10;
359
else
if
(strcasecmp(h1->
data_units
,
"kBq/mL"
)==0)
360
h2->
calibration_units
=10;
361
else
362
h2->
calibration_units
=0;
363
}
else
{
364
h2->
calibration_units
=0;
365
}
366
h2->
compression_code
=h1->
compression_code
;
367
strlcpy
(h2->
study_name
, h1->
study_type
, 12);
368
strlcpy
(h2->
patient_id
, h1->
patient_id
, 16);
369
strlcpy
(h2->
patient_name
, h1->
patient_name
, 32);
370
h2->
patient_sex
=h1->
patient_sex
;
371
sprintf(h2->
patient_age
,
"%-9.2f"
, h1->
patient_age
);
372
sprintf(h2->
patient_height
,
"%-9.3f"
, h1->
patient_height
);
373
sprintf(h2->
patient_weight
,
"%-9.3f"
, h1->
patient_weight
);
374
h2->
patient_dexterity
=h1->
patient_dexterity
;
375
strlcpy
(h2->
physician_name
, h1->
physician_name
, 32);
376
strlcpy
(h2->
operator_name
, h1->
operator_name
, 32);
377
strlcpy
(h2->
study_description
, h1->
study_description
, 32);
378
h2->
acquisition_type
=h1->
acquisition_type
;
379
if
(h2->
acquisition_type
==0 && h1->
num_frames
>1) h2->
acquisition_type
=4;
380
h2->
bed_type
=0;
381
h2->
septa_type
=h1->
septa_state
;
382
strlcpy
(h2->
facility_name
, h1->
facility_name
, 20);
383
h2->
num_planes
=h1->
num_planes
;
/* may need adjusting later */
384
h2->
num_frames
=h1->
num_frames
;
385
h2->
num_gates
=h1->
num_gates
;
386
h2->
num_bed_pos
=h1->
num_bed_pos
+1;
387
h2->
init_bed_position
=h1->
init_bed_position
;
388
for
(
int
i=0; i<15; i++) h2->
bed_offset
[i]=h1->
bed_position
[i];
389
h2->
plane_separation
=h1->
plane_separation
;
390
h2->
lwr_sctr_thres
=h1->
lwr_sctr_thres
;
391
h2->
lwr_true_thres
=h1->
lwr_true_thres
;
392
h2->
upr_true_thres
=h1->
upr_true_thres
;
393
h2->
collimator
=0;
394
395
strlcpy
(h2->
user_process_code
, h1->
user_process_code
, 10);
396
return
(0);
397
}
398
/*****************************************************************************/
399
400
/*****************************************************************************/
404
int
ecatCopy7to63imageheader
(
ECAT7_imageheader
*h1,
ECAT63_imageheader
*h2)
405
{
406
if
(h1==NULL || h2==NULL)
return
(1);
407
memset(h2, 0,
sizeof
(
ECAT63_imageheader
));
408
h2->
data_type
=h1->
data_type
;
409
h2->
num_dimensions
=h1->
num_dimensions
;
410
h2->
dimension_1
=h1->
x_dimension
;
411
h2->
dimension_2
=h1->
y_dimension
;
412
h2->
x_origin
=h1->
x_offset
;
413
h2->
y_origin
=h1->
y_offset
;
414
h2->
recon_scale
=h1->
recon_zoom
;
415
h2->
quant_scale
=h1->
scale_factor
;
416
h2->
image_min
=h1->
image_min
;
417
h2->
image_max
=h1->
image_max
;
418
h2->
pixel_size
=h1->
x_pixel_size
;
419
h2->
slice_width
=h1->
z_pixel_size
;
420
h2->
frame_duration
=h1->
frame_duration
;
421
h2->
frame_start_time
=h1->
frame_start_time
;
422
h2->
slice_location
=h1->
z_offset
;
423
h2->
recon_start_hour
=0;
424
h2->
recon_start_min
=0;
425
h2->
recon_start_sec
=0;
426
h2->
recon_duration
=0;
427
h2->
filter_code
=h1->
filter_code
;
428
h2->
scan_matrix_num
=0;
429
h2->
norm_matrix_num
=0;
430
h2->
atten_cor_mat_num
=0;
431
h2->
image_rotation
=h1->
z_rotation_angle
;
432
h2->
plane_eff_corr_fctr
=1.0;
433
h2->
decay_corr_fctr
=h1->
decay_corr_fctr
;
434
h2->
loss_corr_fctr
=1.0;
435
h2->
processing_code
=(
short
int)h1->
processing_code
;
436
h2->
quant_units
=0;
437
h2->
recon_start_day
=0;
438
h2->
recon_start_month
=0;
439
h2->
recon_start_year
=0;
440
h2->
ecat_calibration_fctr
=1.0;
441
h2->
well_counter_cal_fctr
=1.0;
442
h2->
filter_params
[0]=h1->
filter_cutoff_frequency
;
443
h2->
filter_params
[1]=h1->
filter_resolution
;
444
h2->
filter_params
[2]=h1->
filter_ramp_slope
;
445
h2->
filter_params
[3]=(float)h1->
filter_order
;
446
h2->
filter_params
[4]=h1->
filter_scatter_fraction
;
447
h2->
filter_params
[5]=h1->
filter_scatter_slope
;
448
strncpy(h2->
annotation
, h1->
annotation
, 40);
449
return
(0);
450
}
451
/*****************************************************************************/
452
453
/*****************************************************************************/
457
int
ecatCopy7to63scanheader
(
ECAT7_scanheader
*h1,
ECAT63_scanheader
*h2)
458
{
459
if
(h1==NULL || h2==NULL)
return
(1);
460
memset(h2, 0,
sizeof
(
ECAT63_scanheader
));
461
h2->
data_type
=h1->
data_type
;
462
h2->
dimension_1
=h1->
num_r_elements
;
463
h2->
dimension_2
=h1->
num_angles
;
464
h2->
smoothing
=0;
465
h2->
processing_code
=h1->
corrections_applied
;
/* ??? */
466
h2->
sample_distance
=0.0;
/* this must be set from main header bin_size */
467
h2->
isotope_halflife
=0.0;
/* fill this from main header */
468
h2->
frame_duration_sec
=(
short
int)(h1->
frame_duration
/1000);
469
h2->
gate_duration
=h1->
gate_duration
;
470
h2->
r_wave_offset
=h1->
r_wave_offset
;
471
h2->
scale_factor
=h1->
scale_factor
;
472
h2->
scan_min
=h1->
scan_min
;
473
h2->
scan_max
=h1->
scan_max
;
474
h2->
prompts
=h1->
prompts
;
475
h2->
delayed
=h1->
delayed
;
476
h2->
multiples
=h1->
multiples
;
477
h2->
net_trues
=h1->
net_trues
;
478
h2->
tot_avg_cor
=h1->
tot_avg_cor
;
479
h2->
tot_avg_uncor
=h1->
tot_avg_uncor
;
480
h2->
total_coin_rate
=h1->
total_coin_rate
;
481
h2->
frame_start_time
=h1->
frame_start_time
;
482
h2->
frame_duration
=h1->
frame_duration
;
483
h2->
loss_correction_fctr
=h1->
deadtime_correction_factor
;
484
return
(0);
485
}
486
/*****************************************************************************/
487
488
/*****************************************************************************/
492
int
ecatCopy7_2D_to63scanheader
(
ECAT7_2Dscanheader
*h1,
ECAT63_scanheader
*h2)
493
{
494
if
(h1==NULL || h2==NULL)
return
(1);
495
memset(h2, 0,
sizeof
(
ECAT63_scanheader
));
496
h2->
data_type
=h1->
data_type
;
497
h2->
dimension_1
=h1->
num_r_elements
;
498
h2->
dimension_2
=h1->
num_angles
;
499
h2->
smoothing
=0;
500
h2->
processing_code
=h1->
corrections_applied
;
/* ??? */
501
/* this may need to be set from main header bin_size */
502
h2->
sample_distance
=h1->
x_resolution
;
503
h2->
isotope_halflife
=0.0;
/* fill this from main header */
504
h2->
frame_duration_sec
=(
short
int)(h1->
frame_duration
/1000);
505
h2->
gate_duration
=h1->
gate_duration
;
506
h2->
r_wave_offset
=h1->
r_wave_offset
;
507
h2->
scale_factor
=h1->
scale_factor
;
508
h2->
scan_min
=h1->
scan_min
;
509
h2->
scan_max
=h1->
scan_max
;
510
h2->
prompts
=h1->
prompts
;
511
h2->
delayed
=h1->
delayed
;
512
h2->
multiples
=h1->
multiples
;
513
h2->
net_trues
=h1->
net_trues
;
514
h2->
tot_avg_cor
=h1->
tot_avg_cor
;
515
h2->
tot_avg_uncor
=h1->
tot_avg_uncor
;
516
h2->
total_coin_rate
=h1->
total_coin_rate
;
517
h2->
frame_start_time
=h1->
frame_start_time
;
518
h2->
frame_duration
=h1->
frame_duration
;
519
h2->
loss_correction_fctr
=h1->
deadtime_correction_factor
;
520
return
(0);
521
}
522
/*****************************************************************************/
523
524
/*****************************************************************************/
525
gmtime_r
struct tm * gmtime_r(const time_t *t, struct tm *tm)
Convert time_t to GMT struct tm.
Definition
datetime.c:22
ecat63Scanstarttime
time_t ecat63Scanstarttime(const ECAT63_mainheader *h)
Get calendar time from ECAT 6.3 main header.
Definition
ecat63w.c:925
ecatCopy7_2D_to63scanheader
int ecatCopy7_2D_to63scanheader(ECAT7_2Dscanheader *h1, ECAT63_scanheader *h2)
Definition
ehdrconv.c:492
ecatCopy7to63scanheader
int ecatCopy7to63scanheader(ECAT7_scanheader *h1, ECAT63_scanheader *h2)
Definition
ehdrconv.c:457
ecatCopy63to7imageheader
int ecatCopy63to7imageheader(ECAT63_imageheader *h1, ECAT7_imageheader *h2)
Definition
ehdrconv.c:163
ecatCopy63to7normheader
int ecatCopy63to7normheader(ECAT63_normheader *h1, ECAT7_2Dnormheader *h2)
Definition
ehdrconv.c:252
ecatCopy63to7mainheader
int ecatCopy63to7mainheader(ECAT63_mainheader *h1, ECAT7_mainheader *h2)
Definition
ehdrconv.c:25
ecatCopy7to63imageheader
int ecatCopy7to63imageheader(ECAT7_imageheader *h1, ECAT63_imageheader *h2)
Definition
ehdrconv.c:404
ecatCopy7to63mainheader
int ecatCopy7to63mainheader(ECAT7_mainheader *h1, ECAT63_mainheader *h2)
Definition
ehdrconv.c:279
ecatCopy63to7scanheader
int ecatCopy63to7scanheader(ECAT63_scanheader *h1, ECAT7_scanheader *h2)
Definition
ehdrconv.c:211
ehdrconv.h
Header file for ehdrconv.c.
libtpcimgio.h
Header file for libtpcimgio.
ECAT7_VOLUME8
#define ECAT7_VOLUME8
Definition
libtpcimgio.h:255
ATTN_DATA
#define ATTN_DATA
Definition
libtpcimgio.h:954
ECAT7_ATTEN
#define ECAT7_ATTEN
Definition
libtpcimgio.h:249
ECAT7_3DSCAN
#define ECAT7_3DSCAN
Definition
libtpcimgio.h:265
ECAT7_3DSCAN8
#define ECAT7_3DSCAN8
Definition
libtpcimgio.h:267
ECAT7_IMAGE16
#define ECAT7_IMAGE16
Definition
libtpcimgio.h:247
ECAT7_3DSCANFIT
#define ECAT7_3DSCANFIT
Definition
libtpcimgio.h:271
ECAT7_VOLUME16
#define ECAT7_VOLUME16
Definition
libtpcimgio.h:257
RAW_DATA
#define RAW_DATA
Definition
libtpcimgio.h:950
ECAT7_IMAGE8
#define ECAT7_IMAGE8
Definition
libtpcimgio.h:263
ECAT7_Head_First_Supine
#define ECAT7_Head_First_Supine
Definition
libtpcimgio.h:280
NORM_DATA
#define NORM_DATA
Definition
libtpcimgio.h:956
IMAGE_DATA
#define IMAGE_DATA
Definition
libtpcimgio.h:952
ECAT7_2DNORM
#define ECAT7_2DNORM
Definition
libtpcimgio.h:251
SUN_I2
#define SUN_I2
Definition
libtpcimgio.h:945
ECAT7_2DSCAN
#define ECAT7_2DSCAN
Definition
libtpcimgio.h:245
libtpcmisc.h
Header file for libtpcmisc.
strlcpy
size_t strlcpy(char *dst, const char *src, size_t dstsize)
Definition
strext.c:244
temp_roundf
int temp_roundf(float e)
Definition
petc99.c:20
ECAT63_imageheader
Definition
libtpcimgio.h:1129
ECAT63_imageheader::x_origin
float x_origin
Definition
libtpcimgio.h:1145
ECAT63_imageheader::quant_units
short int quant_units
Definition
libtpcimgio.h:1205
ECAT63_imageheader::pixel_size
float pixel_size
Definition
libtpcimgio.h:1159
ECAT63_imageheader::y_origin
float y_origin
Definition
libtpcimgio.h:1147
ECAT63_imageheader::dimension_2
short int dimension_2
Definition
libtpcimgio.h:1141
ECAT63_imageheader::recon_start_month
short int recon_start_month
Definition
libtpcimgio.h:1209
ECAT63_imageheader::dimension_1
short int dimension_1
Definition
libtpcimgio.h:1139
ECAT63_imageheader::annotation
char annotation[40]
Definition
libtpcimgio.h:1219
ECAT63_imageheader::well_counter_cal_fctr
float well_counter_cal_fctr
Definition
libtpcimgio.h:1215
ECAT63_imageheader::data_type
short int data_type
Definition
libtpcimgio.h:1133
ECAT63_imageheader::image_min
short int image_min
Definition
libtpcimgio.h:1153
ECAT63_imageheader::quant_scale
float quant_scale
Definition
libtpcimgio.h:1151
ECAT63_imageheader::frame_start_time
int frame_start_time
Definition
libtpcimgio.h:1165
ECAT63_imageheader::recon_start_day
short int recon_start_day
Definition
libtpcimgio.h:1207
ECAT63_imageheader::filter_code
short int filter_code
Definition
libtpcimgio.h:1179
ECAT63_imageheader::ecat_calibration_fctr
float ecat_calibration_fctr
Definition
libtpcimgio.h:1213
ECAT63_imageheader::scan_matrix_num
int scan_matrix_num
Definition
libtpcimgio.h:1181
ECAT63_imageheader::frame_duration
int frame_duration
Definition
libtpcimgio.h:1163
ECAT63_imageheader::slice_location
short int slice_location
Definition
libtpcimgio.h:1167
ECAT63_imageheader::processing_code
short int processing_code
Definition
libtpcimgio.h:1201
ECAT63_imageheader::recon_scale
float recon_scale
Definition
libtpcimgio.h:1149
ECAT63_imageheader::norm_matrix_num
int norm_matrix_num
Definition
libtpcimgio.h:1183
ECAT63_imageheader::recon_duration
int recon_duration
Definition
libtpcimgio.h:1175
ECAT63_imageheader::recon_start_min
short int recon_start_min
Definition
libtpcimgio.h:1171
ECAT63_imageheader::loss_corr_fctr
float loss_corr_fctr
Definition
libtpcimgio.h:1195
ECAT63_imageheader::atten_cor_mat_num
int atten_cor_mat_num
Definition
libtpcimgio.h:1185
ECAT63_imageheader::recon_start_year
short int recon_start_year
Definition
libtpcimgio.h:1211
ECAT63_imageheader::decay_corr_fctr
float decay_corr_fctr
Definition
libtpcimgio.h:1193
ECAT63_imageheader::filter_params
float filter_params[6]
Definition
libtpcimgio.h:1217
ECAT63_imageheader::num_dimensions
short int num_dimensions
Definition
libtpcimgio.h:1135
ECAT63_imageheader::plane_eff_corr_fctr
float plane_eff_corr_fctr
Definition
libtpcimgio.h:1191
ECAT63_imageheader::recon_start_hour
short int recon_start_hour
Definition
libtpcimgio.h:1169
ECAT63_imageheader::image_rotation
float image_rotation
Definition
libtpcimgio.h:1189
ECAT63_imageheader::slice_width
float slice_width
Definition
libtpcimgio.h:1161
ECAT63_imageheader::image_max
short int image_max
Definition
libtpcimgio.h:1155
ECAT63_imageheader::recon_start_sec
short int recon_start_sec
Definition
libtpcimgio.h:1173
ECAT63_mainheader
Definition
libtpcimgio.h:1002
ECAT63_mainheader::axial_fov
float axial_fov
Definition
libtpcimgio.h:1050
ECAT63_mainheader::collimator
float collimator
Definition
libtpcimgio.h:1121
ECAT63_mainheader::bed_elevation
float bed_elevation
Definition
libtpcimgio.h:1042
ECAT63_mainheader::gantry_rotation
float gantry_rotation
Definition
libtpcimgio.h:1040
ECAT63_mainheader::plane_separation
float plane_separation
Definition
libtpcimgio.h:1113
ECAT63_mainheader::isotope_halflife
float isotope_halflife
Definition
libtpcimgio.h:1034
ECAT63_mainheader::radiopharmaceutical
char radiopharmaceutical[32]
Definition
libtpcimgio.h:1036
ECAT63_mainheader::patient_id
char patient_id[16]
Definition
libtpcimgio.h:1069
ECAT63_mainheader::operator_name
char operator_name[32]
Definition
libtpcimgio.h:1085
ECAT63_mainheader::scan_start_month
short int scan_start_month
Definition
libtpcimgio.h:1022
ECAT63_mainheader::sw_version
short int sw_version
Definition
libtpcimgio.h:1010
ECAT63_mainheader::bed_offset
float bed_offset[15]
Definition
libtpcimgio.h:1111
ECAT63_mainheader::coin_samp_mode
short int coin_samp_mode
Definition
libtpcimgio.h:1057
ECAT63_mainheader::lwr_true_thres
short int lwr_true_thres
Definition
libtpcimgio.h:1117
ECAT63_mainheader::compression_code
short int compression_code
Definition
libtpcimgio.h:1065
ECAT63_mainheader::bed_type
short int bed_type
Definition
libtpcimgio.h:1091
ECAT63_mainheader::patient_sex
char patient_sex
Definition
libtpcimgio.h:1073
ECAT63_mainheader::patient_height
char patient_height[10]
Definition
libtpcimgio.h:1077
ECAT63_mainheader::calibration_factor
float calibration_factor
Definition
libtpcimgio.h:1061
ECAT63_mainheader::wobble_speed
short int wobble_speed
Definition
libtpcimgio.h:1046
ECAT63_mainheader::patient_dexterity
char patient_dexterity
Definition
libtpcimgio.h:1081
ECAT63_mainheader::scan_start_second
short int scan_start_second
Definition
libtpcimgio.h:1030
ECAT63_mainheader::num_bed_pos
short int num_bed_pos
Definition
libtpcimgio.h:1107
ECAT63_mainheader::transaxial_samp_mode
short int transaxial_samp_mode
Definition
libtpcimgio.h:1055
ECAT63_mainheader::rot_source_speed
short int rot_source_speed
Definition
libtpcimgio.h:1044
ECAT63_mainheader::acquisition_type
short int acquisition_type
Definition
libtpcimgio.h:1089
ECAT63_mainheader::calibration_units
short int calibration_units
Definition
libtpcimgio.h:1063
ECAT63_mainheader::isotope_code
char isotope_code[8]
Definition
libtpcimgio.h:1032
ECAT63_mainheader::scan_start_year
short int scan_start_year
Definition
libtpcimgio.h:1024
ECAT63_mainheader::original_file_name
char original_file_name[20]
Definition
libtpcimgio.h:1008
ECAT63_mainheader::study_name
char study_name[12]
Definition
libtpcimgio.h:1067
ECAT63_mainheader::patient_age
char patient_age[10]
Definition
libtpcimgio.h:1075
ECAT63_mainheader::study_description
char study_description[32]
Definition
libtpcimgio.h:1087
ECAT63_mainheader::num_gates
short int num_gates
Definition
libtpcimgio.h:1104
ECAT63_mainheader::num_planes
short int num_planes
Definition
libtpcimgio.h:1098
ECAT63_mainheader::transaxial_fov
float transaxial_fov
Definition
libtpcimgio.h:1052
ECAT63_mainheader::scan_start_day
short int scan_start_day
Definition
libtpcimgio.h:1020
ECAT63_mainheader::gantry_tilt
float gantry_tilt
Definition
libtpcimgio.h:1038
ECAT63_mainheader::septa_type
short int septa_type
Definition
libtpcimgio.h:1093
ECAT63_mainheader::transm_source_type
short int transm_source_type
Definition
libtpcimgio.h:1048
ECAT63_mainheader::scan_start_minute
short int scan_start_minute
Definition
libtpcimgio.h:1028
ECAT63_mainheader::user_process_code
char user_process_code[10]
Definition
libtpcimgio.h:1123
ECAT63_mainheader::num_frames
short int num_frames
Definition
libtpcimgio.h:1101
ECAT63_mainheader::patient_name
char patient_name[32]
Definition
libtpcimgio.h:1071
ECAT63_mainheader::node_id
char node_id[10]
Definition
libtpcimgio.h:1018
ECAT63_mainheader::patient_weight
char patient_weight[10]
Definition
libtpcimgio.h:1079
ECAT63_mainheader::file_type
short int file_type
Definition
libtpcimgio.h:1016
ECAT63_mainheader::data_type
short int data_type
Definition
libtpcimgio.h:1012
ECAT63_mainheader::lwr_sctr_thres
short int lwr_sctr_thres
Definition
libtpcimgio.h:1115
ECAT63_mainheader::axial_samp_mode
short int axial_samp_mode
Definition
libtpcimgio.h:1059
ECAT63_mainheader::init_bed_position
float init_bed_position
Definition
libtpcimgio.h:1109
ECAT63_mainheader::scan_start_hour
short int scan_start_hour
Definition
libtpcimgio.h:1026
ECAT63_mainheader::upr_true_thres
short int upr_true_thres
Definition
libtpcimgio.h:1119
ECAT63_mainheader::physician_name
char physician_name[32]
Definition
libtpcimgio.h:1083
ECAT63_mainheader::facility_name
char facility_name[20]
Definition
libtpcimgio.h:1095
ECAT63_mainheader::system_type
short int system_type
Definition
libtpcimgio.h:1014
ECAT63_normheader
Definition
libtpcimgio.h:1295
ECAT63_normheader::data_type
short int data_type
Definition
libtpcimgio.h:1299
ECAT63_normheader::dimension_1
short int dimension_1
Definition
libtpcimgio.h:1303
ECAT63_normheader::scale_factor
float scale_factor
Definition
libtpcimgio.h:1310
ECAT63_normheader::fov_source_width
float fov_source_width
Definition
libtpcimgio.h:1314
ECAT63_normheader::dimension_2
short int dimension_2
Definition
libtpcimgio.h:1305
ECAT63_scanheader
Definition
libtpcimgio.h:1225
ECAT63_scanheader::smoothing
short int smoothing
Definition
libtpcimgio.h:1237
ECAT63_scanheader::scan_min
short int scan_min
Definition
libtpcimgio.h:1261
ECAT63_scanheader::dimension_2
short int dimension_2
Definition
libtpcimgio.h:1235
ECAT63_scanheader::delayed
int delayed
Definition
libtpcimgio.h:1267
ECAT63_scanheader::tot_avg_cor
float tot_avg_cor
Definition
libtpcimgio.h:1279
ECAT63_scanheader::gate_duration
int gate_duration
Definition
libtpcimgio.h:1251
ECAT63_scanheader::sample_distance
float sample_distance
Definition
libtpcimgio.h:1243
ECAT63_scanheader::processing_code
short int processing_code
Definition
libtpcimgio.h:1239
ECAT63_scanheader::prompts
int prompts
Definition
libtpcimgio.h:1265
ECAT63_scanheader::r_wave_offset
int r_wave_offset
Definition
libtpcimgio.h:1253
ECAT63_scanheader::tot_avg_uncor
float tot_avg_uncor
Definition
libtpcimgio.h:1281
ECAT63_scanheader::isotope_halflife
float isotope_halflife
Definition
libtpcimgio.h:1247
ECAT63_scanheader::multiples
int multiples
Definition
libtpcimgio.h:1269
ECAT63_scanheader::frame_duration
int frame_duration
Definition
libtpcimgio.h:1287
ECAT63_scanheader::total_coin_rate
int total_coin_rate
Definition
libtpcimgio.h:1283
ECAT63_scanheader::scan_max
short int scan_max
Definition
libtpcimgio.h:1263
ECAT63_scanheader::loss_correction_fctr
float loss_correction_fctr
Definition
libtpcimgio.h:1289
ECAT63_scanheader::net_trues
int net_trues
Definition
libtpcimgio.h:1271
ECAT63_scanheader::frame_start_time
int frame_start_time
Definition
libtpcimgio.h:1285
ECAT63_scanheader::dimension_1
short int dimension_1
Definition
libtpcimgio.h:1233
ECAT63_scanheader::scale_factor
float scale_factor
Definition
libtpcimgio.h:1257
ECAT63_scanheader::frame_duration_sec
short int frame_duration_sec
Definition
libtpcimgio.h:1249
ECAT63_scanheader::data_type
short int data_type
Definition
libtpcimgio.h:1229
ECAT7_2Dnormheader
Definition
libtpcimgio.h:694
ECAT7_2Dnormheader::norm_quality_factor
float norm_quality_factor
Definition
libtpcimgio.h:716
ECAT7_2Dnormheader::norm_min
float norm_min
Definition
libtpcimgio.h:710
ECAT7_2Dnormheader::z_elements
short int z_elements[64]
Definition
libtpcimgio.h:724
ECAT7_2Dnormheader::scale_factor
float scale_factor
Definition
libtpcimgio.h:708
ECAT7_2Dnormheader::num_dimensions
short int num_dimensions
Definition
libtpcimgio.h:698
ECAT7_2Dnormheader::ring_difference
short int ring_difference
Definition
libtpcimgio.h:706
ECAT7_2Dnormheader::norm_max
float norm_max
Definition
libtpcimgio.h:712
ECAT7_2Dnormheader::storage_order
short int storage_order
Definition
libtpcimgio.h:720
ECAT7_2Dnormheader::num_z_elements
short int num_z_elements
Definition
libtpcimgio.h:704
ECAT7_2Dnormheader::norm_quality_factor_code
short int norm_quality_factor_code
Definition
libtpcimgio.h:718
ECAT7_2Dnormheader::data_type
short int data_type
Definition
libtpcimgio.h:696
ECAT7_2Dnormheader::num_angles
short int num_angles
Definition
libtpcimgio.h:702
ECAT7_2Dnormheader::fov_source_width
float fov_source_width
Definition
libtpcimgio.h:714
ECAT7_2Dnormheader::num_r_elements
short int num_r_elements
Definition
libtpcimgio.h:700
ECAT7_2Dnormheader::span
short int span
Definition
libtpcimgio.h:722
ECAT7_2Dscanheader
Definition
libtpcimgio.h:624
ECAT7_2Dscanheader::total_coin_rate
int total_coin_rate
Definition
libtpcimgio.h:678
ECAT7_2Dscanheader::corrections_applied
short int corrections_applied
Definition
libtpcimgio.h:634
ECAT7_2Dscanheader::deadtime_correction_factor
float deadtime_correction_factor
Definition
libtpcimgio.h:684
ECAT7_2Dscanheader::num_angles
short int num_angles
Definition
libtpcimgio.h:632
ECAT7_2Dscanheader::delayed
int delayed
Definition
libtpcimgio.h:664
ECAT7_2Dscanheader::num_r_elements
short int num_r_elements
Definition
libtpcimgio.h:630
ECAT7_2Dscanheader::gate_duration
int gate_duration
Definition
libtpcimgio.h:650
ECAT7_2Dscanheader::frame_duration
int frame_duration
Definition
libtpcimgio.h:682
ECAT7_2Dscanheader::frame_start_time
int frame_start_time
Definition
libtpcimgio.h:680
ECAT7_2Dscanheader::scan_min
short int scan_min
Definition
libtpcimgio.h:658
ECAT7_2Dscanheader::multiples
int multiples
Definition
libtpcimgio.h:666
ECAT7_2Dscanheader::scan_max
short int scan_max
Definition
libtpcimgio.h:660
ECAT7_2Dscanheader::scale_factor
float scale_factor
Definition
libtpcimgio.h:656
ECAT7_2Dscanheader::tot_avg_cor
float tot_avg_cor
Definition
libtpcimgio.h:674
ECAT7_2Dscanheader::r_wave_offset
int r_wave_offset
Definition
libtpcimgio.h:652
ECAT7_2Dscanheader::tot_avg_uncor
float tot_avg_uncor
Definition
libtpcimgio.h:676
ECAT7_2Dscanheader::x_resolution
float x_resolution
Definition
libtpcimgio.h:640
ECAT7_2Dscanheader::prompts
int prompts
Definition
libtpcimgio.h:662
ECAT7_2Dscanheader::data_type
short int data_type
Definition
libtpcimgio.h:626
ECAT7_2Dscanheader::net_trues
int net_trues
Definition
libtpcimgio.h:668
ECAT7_imageheader
Definition
libtpcimgio.h:428
ECAT7_imageheader::y_offset
float y_offset
Definition
libtpcimgio.h:442
ECAT7_imageheader::decay_corr_fctr
float decay_corr_fctr
Definition
libtpcimgio.h:478
ECAT7_imageheader::scale_factor
float scale_factor
Definition
libtpcimgio.h:448
ECAT7_imageheader::filter_scatter_fraction
float filter_scatter_fraction
Definition
libtpcimgio.h:496
ECAT7_imageheader::frame_duration
int frame_duration
Definition
libtpcimgio.h:460
ECAT7_imageheader::annotation
char annotation[40]
Definition
libtpcimgio.h:500
ECAT7_imageheader::r_wave_offset
int r_wave_offset
Definition
libtpcimgio.h:484
ECAT7_imageheader::filter_code
short int filter_code
Definition
libtpcimgio.h:464
ECAT7_imageheader::filter_scatter_slope
float filter_scatter_slope
Definition
libtpcimgio.h:498
ECAT7_imageheader::image_max
short int image_max
Definition
libtpcimgio.h:452
ECAT7_imageheader::filter_resolution
float filter_resolution
Definition
libtpcimgio.h:490
ECAT7_imageheader::image_min
short int image_min
Definition
libtpcimgio.h:450
ECAT7_imageheader::z_offset
float z_offset
Definition
libtpcimgio.h:444
ECAT7_imageheader::x_pixel_size
float x_pixel_size
Definition
libtpcimgio.h:454
ECAT7_imageheader::recon_zoom
float recon_zoom
Definition
libtpcimgio.h:446
ECAT7_imageheader::filter_cutoff_frequency
float filter_cutoff_frequency
Definition
libtpcimgio.h:488
ECAT7_imageheader::y_pixel_size
float y_pixel_size
Definition
libtpcimgio.h:456
ECAT7_imageheader::frame_start_time
int frame_start_time
Definition
libtpcimgio.h:462
ECAT7_imageheader::x_resolution
float x_resolution
Definition
libtpcimgio.h:466
ECAT7_imageheader::filter_order
short int filter_order
Definition
libtpcimgio.h:494
ECAT7_imageheader::num_r_elements
float num_r_elements
Definition
libtpcimgio.h:472
ECAT7_imageheader::num_angles
float num_angles
Definition
libtpcimgio.h:474
ECAT7_imageheader::y_dimension
short int y_dimension
Definition
libtpcimgio.h:436
ECAT7_imageheader::num_accepted_beats
int num_accepted_beats
Definition
libtpcimgio.h:486
ECAT7_imageheader::z_dimension
short int z_dimension
Definition
libtpcimgio.h:438
ECAT7_imageheader::x_offset
float x_offset
Definition
libtpcimgio.h:440
ECAT7_imageheader::processing_code
int processing_code
Definition
libtpcimgio.h:480
ECAT7_imageheader::y_resolution
float y_resolution
Definition
libtpcimgio.h:468
ECAT7_imageheader::z_pixel_size
float z_pixel_size
Definition
libtpcimgio.h:458
ECAT7_imageheader::filter_ramp_slope
float filter_ramp_slope
Definition
libtpcimgio.h:492
ECAT7_imageheader::num_dimensions
short int num_dimensions
Definition
libtpcimgio.h:432
ECAT7_imageheader::gate_duration
int gate_duration
Definition
libtpcimgio.h:482
ECAT7_imageheader::z_rotation_angle
float z_rotation_angle
Definition
libtpcimgio.h:476
ECAT7_imageheader::x_dimension
short int x_dimension
Definition
libtpcimgio.h:434
ECAT7_imageheader::data_type
short int data_type
Definition
libtpcimgio.h:430
ECAT7_imageheader::z_resolution
float z_resolution
Definition
libtpcimgio.h:470
ECAT7_mainheader
Definition
libtpcimgio.h:300
ECAT7_mainheader::isotope_halflife
float isotope_halflife
Definition
libtpcimgio.h:318
ECAT7_mainheader::file_type
short int file_type
Definition
libtpcimgio.h:310
ECAT7_mainheader::compression_code
short int compression_code
Definition
libtpcimgio.h:350
ECAT7_mainheader::distance_scanned
float distance_scanned
Definition
libtpcimgio.h:334
ECAT7_mainheader::bed_position
float bed_position[15]
Definition
libtpcimgio.h:395
ECAT7_mainheader::system_type
short int system_type
Definition
libtpcimgio.h:308
ECAT7_mainheader::bin_size
float bin_size
Definition
libtpcimgio.h:409
ECAT7_mainheader::facility_name
char facility_name[20]
Definition
libtpcimgio.h:383
ECAT7_mainheader::scan_start_time
int scan_start_time
Definition
libtpcimgio.h:314
ECAT7_mainheader::branching_fraction
float branching_fraction
Definition
libtpcimgio.h:412
ECAT7_mainheader::num_frames
short int num_frames
Definition
libtpcimgio.h:387
ECAT7_mainheader::operator_name
char operator_name[32]
Definition
libtpcimgio.h:374
ECAT7_mainheader::patient_dexterity
char patient_dexterity
Definition
libtpcimgio.h:360
ECAT7_mainheader::coin_samp_mode
short int coin_samp_mode
Definition
libtpcimgio.h:340
ECAT7_mainheader::data_units
char data_units[32]
Definition
libtpcimgio.h:420
ECAT7_mainheader::init_bed_position
float init_bed_position
Definition
libtpcimgio.h:393
ECAT7_mainheader::magic_number
char magic_number[14]
Definition
libtpcimgio.h:302
ECAT7_mainheader::well_counter_corr_factor
float well_counter_corr_factor
Definition
libtpcimgio.h:418
ECAT7_mainheader::dose_start_time
int dose_start_time
Definition
libtpcimgio.h:414
ECAT7_mainheader::study_type
char study_type[12]
Definition
libtpcimgio.h:352
ECAT7_mainheader::user_process_code
char user_process_code[10]
Definition
libtpcimgio.h:405
ECAT7_mainheader::angular_compression
short int angular_compression
Definition
libtpcimgio.h:338
ECAT7_mainheader::calibration_units
short int calibration_units
Definition
libtpcimgio.h:346
ECAT7_mainheader::patient_sex
char patient_sex
Definition
libtpcimgio.h:358
ECAT7_mainheader::patient_weight
float patient_weight
Definition
libtpcimgio.h:366
ECAT7_mainheader::gantry_tilt
float gantry_tilt
Definition
libtpcimgio.h:322
ECAT7_mainheader::patient_age
float patient_age
Definition
libtpcimgio.h:362
ECAT7_mainheader::patient_name
char patient_name[32]
Definition
libtpcimgio.h:356
ECAT7_mainheader::septa_state
short int septa_state
Definition
libtpcimgio.h:422
ECAT7_mainheader::num_gates
short int num_gates
Definition
libtpcimgio.h:389
ECAT7_mainheader::num_planes
short int num_planes
Definition
libtpcimgio.h:385
ECAT7_mainheader::lwr_true_thres
short int lwr_true_thres
Definition
libtpcimgio.h:401
ECAT7_mainheader::physician_name
char physician_name[32]
Definition
libtpcimgio.h:372
ECAT7_mainheader::gantry_rotation
float gantry_rotation
Definition
libtpcimgio.h:324
ECAT7_mainheader::wobble_speed
short int wobble_speed
Definition
libtpcimgio.h:330
ECAT7_mainheader::acquisition_mode
short int acquisition_mode
Definition
libtpcimgio.h:407
ECAT7_mainheader::plane_separation
float plane_separation
Definition
libtpcimgio.h:397
ECAT7_mainheader::calibration_units_label
short int calibration_units_label
Definition
libtpcimgio.h:348
ECAT7_mainheader::serial_number
char serial_number[10]
Definition
libtpcimgio.h:312
ECAT7_mainheader::num_bed_pos
short int num_bed_pos
Definition
libtpcimgio.h:391
ECAT7_mainheader::isotope_name
char isotope_name[8]
Definition
libtpcimgio.h:316
ECAT7_mainheader::bed_elevation
float bed_elevation
Definition
libtpcimgio.h:326
ECAT7_mainheader::transaxial_fov
float transaxial_fov
Definition
libtpcimgio.h:336
ECAT7_mainheader::ecat_calibration_factor
float ecat_calibration_factor
Definition
libtpcimgio.h:344
ECAT7_mainheader::sw_version
short int sw_version
Definition
libtpcimgio.h:306
ECAT7_mainheader::transm_source_type
short int transm_source_type
Definition
libtpcimgio.h:332
ECAT7_mainheader::dosage
float dosage
Definition
libtpcimgio.h:416
ECAT7_mainheader::acquisition_type
short int acquisition_type
Definition
libtpcimgio.h:379
ECAT7_mainheader::patient_height
float patient_height
Definition
libtpcimgio.h:364
ECAT7_mainheader::study_description
char study_description[32]
Definition
libtpcimgio.h:376
ECAT7_mainheader::intrinsic_tilt
float intrinsic_tilt
Definition
libtpcimgio.h:328
ECAT7_mainheader::axial_samp_mode
short int axial_samp_mode
Definition
libtpcimgio.h:342
ECAT7_mainheader::patient_id
char patient_id[16]
Definition
libtpcimgio.h:354
ECAT7_mainheader::radiopharmaceutical
char radiopharmaceutical[32]
Definition
libtpcimgio.h:320
ECAT7_mainheader::patient_orientation
short int patient_orientation
Definition
libtpcimgio.h:381
ECAT7_mainheader::upr_true_thres
short int upr_true_thres
Definition
libtpcimgio.h:403
ECAT7_mainheader::lwr_sctr_thres
short int lwr_sctr_thres
Definition
libtpcimgio.h:399
ECAT7_mainheader::original_file_name
char original_file_name[32]
Definition
libtpcimgio.h:304
ECAT7_scanheader
Definition
libtpcimgio.h:554
ECAT7_scanheader::r_wave_offset
int r_wave_offset
Definition
libtpcimgio.h:586
ECAT7_scanheader::scan_min
short int scan_min
Definition
libtpcimgio.h:592
ECAT7_scanheader::num_r_elements
short int num_r_elements
Definition
libtpcimgio.h:560
ECAT7_scanheader::num_angles
short int num_angles
Definition
libtpcimgio.h:562
ECAT7_scanheader::w_resolution
float w_resolution
Definition
libtpcimgio.h:580
ECAT7_scanheader::tot_avg_cor
float tot_avg_cor
Definition
libtpcimgio.h:604
ECAT7_scanheader::data_type
short int data_type
Definition
libtpcimgio.h:556
ECAT7_scanheader::deadtime_correction_factor
float deadtime_correction_factor
Definition
libtpcimgio.h:614
ECAT7_scanheader::x_resolution
float x_resolution
Definition
libtpcimgio.h:574
ECAT7_scanheader::scale_factor
float scale_factor
Definition
libtpcimgio.h:590
ECAT7_scanheader::num_dimensions
short int num_dimensions
Definition
libtpcimgio.h:558
ECAT7_scanheader::z_resolution
float z_resolution
Definition
libtpcimgio.h:578
ECAT7_scanheader::axial_compression
short int axial_compression
Definition
libtpcimgio.h:572
ECAT7_scanheader::net_trues
int net_trues
Definition
libtpcimgio.h:602
ECAT7_scanheader::storage_order
short int storage_order
Definition
libtpcimgio.h:570
ECAT7_scanheader::gate_duration
int gate_duration
Definition
libtpcimgio.h:584
ECAT7_scanheader::scan_max
short int scan_max
Definition
libtpcimgio.h:594
ECAT7_scanheader::frame_start_time
int frame_start_time
Definition
libtpcimgio.h:610
ECAT7_scanheader::tot_avg_uncor
float tot_avg_uncor
Definition
libtpcimgio.h:606
ECAT7_scanheader::total_coin_rate
int total_coin_rate
Definition
libtpcimgio.h:608
ECAT7_scanheader::num_z_elements
short int num_z_elements[64]
Definition
libtpcimgio.h:566
ECAT7_scanheader::v_resolution
float v_resolution
Definition
libtpcimgio.h:576
ECAT7_scanheader::frame_duration
int frame_duration
Definition
libtpcimgio.h:612
ECAT7_scanheader::ring_difference
short int ring_difference
Definition
libtpcimgio.h:568
ECAT7_scanheader::multiples
int multiples
Definition
libtpcimgio.h:600
ECAT7_scanheader::prompts
int prompts
Definition
libtpcimgio.h:596
ECAT7_scanheader::num_accepted_beats
int num_accepted_beats
Definition
libtpcimgio.h:588
ECAT7_scanheader::corrections_applied
short int corrections_applied
Definition
libtpcimgio.h:564
ECAT7_scanheader::delayed
int delayed
Definition
libtpcimgio.h:598
Generated on
for TPCCLIB by
1.17.0