My Project
ecat7.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  ecat7.h (c) 2003-2010 Turku PET Centre
4 
5  Date:
6  2003-07-26 Vesa Oikonen
7  2003-08-03 VO
8  Included definitions for patient orientation.
9  2003-09-04 VO
10  Introduced functions for 3D scan r/w.
11  2003-10-08 VO
12  ECAT7_MAGICNR changed from MATRIX7 to MATRIX72v
13  2004-02-07 VO
14  ECAT7_MAGICNR replaced by separate defines for image volumes and sinograms:
15  ECAT7V_MAGICNR and ECAT7S_MAGICNR.
16  Included define for sw_version = 72.
17  2004-05-23 VO
18  Introduced new function for ecat7p.c.
19  Added a few comments.
20  2004-06-27 VO
21  Introduced new function for ecat7ml.c.
22  2004-07-26 VO
23  Comment style changes.
24  2004-09-20 VO
25  Added empty comments.
26  2004-09-24 VO
27  Added comments.
28  2004-12-28 VO
29  Introduced new function ecat7_is_scaling_needed().
30  2007-02-27 VO
31  Introduced new functions.
32  2007-03-13 VO
33  Introduced new functions.
34  2007-03-27 VO
35  Introduced new functions.
36  2008-07-24 VO
37  Introduced new functions.
38  2010-08-19 VO
39  Changed comment, not affecting compiled code.
40 
41 
42 ******************************************************************************/
43 #ifndef _ECAT7_H_
44 #define _ECAT7_H_
45 /*****************************************************************************/
46 #ifndef MatBLKSIZE
47 #define MatBLKSIZE 512
48 #endif
49 #ifndef MatFirstDirBlk
50 #define MatFirstDirBlk 2
51 #endif
52 /*****************************************************************************/
53 #define ECAT7V_MAGICNR "MATRIX72v"
54 #define ECAT7S_MAGICNR "MATRIX7011"
55 #define ECAT7_SW_VERSION 72
56 /*****************************************************************************/
58 #define ECAT7_BYTE 1
59 #define ECAT7_VAXI2 2
60 #define ECAT7_VAXI4 3
61 #define ECAT7_VAXR4 4
62 #define ECAT7_IEEER4 5
63 #define ECAT7_SUNI2 6
64 #define ECAT7_SUNI4 7
65 /*****************************************************************************/
67 #define ECAT7_UNKNOWN 0
68 #define ECAT7_2DSCAN 1
69 #define ECAT7_IMAGE16 2
70 #define ECAT7_ATTEN 3
71 #define ECAT7_2DNORM 4
72 #define ECAT7_POLARMAP 5
73 #define ECAT7_VOLUME8 6
74 #define ECAT7_VOLUME16 7
75 #define ECAT7_PROJ 8
76 #define ECAT7_PROJ16 9
77 #define ECAT7_IMAGE8 10
78 #define ECAT7_3DSCAN 11
79 #define ECAT7_3DSCAN8 12
80 #define ECAT7_3DNORM 13
81 #define ECAT7_3DSCANFIT 14
82 /*****************************************************************************/
84 #define ECAT7_Feet_First_Prone 0
85 #define ECAT7_Head_First_Prone 1
86 #define ECAT7_Feet_First_Supine 2
87 #define ECAT7_Head_First_Supine 3
88 #define ECAT7_Feet_First_Decubitus_Right 4
89 #define ECAT7_Head_First_Decubitus_Right 5
90 #define ECAT7_Feet_First_Decubitus_Left 6
91 #define ECAT7_Head_First_Decubitus_Left 7
92 #define ECAT7_Unknown_Orientation 8
93 /*****************************************************************************/
94 /* Backup file extension */
95 #ifndef BACKUP_EXTENSION
96 #define BACKUP_EXTENSION ".bak"
97 #endif
98 /*****************************************************************************/
99 char ecat7errmsg[128];
100 /*****************************************************************************/
102 /*****************************************************************************/
103 typedef struct ecat7_mainheader { /* 512 bytes */
105  char magic_number[14];
109  short int sw_version;
111  short int system_type;
113  short int file_type;
115  char serial_number[10];
119  char isotope_name[8];
125  float gantry_tilt;
133  short int wobble_speed;
143  short int coin_samp_mode;
145  short int axial_samp_mode;
148  short int calibration_units;
152  short int compression_code;
154  char study_type[12];
156  char patient_id[16];
158  char patient_name[32];
164  float patient_age;
174  char physician_name[32];
176  char operator_name[32];
181  short int acquisition_type;
185  char facility_name[20];
187  short int num_planes;
189  short int num_frames;
191  short int num_gates;
193  short int num_bed_pos;
197  float bed_position[15];
201  short int lwr_sctr_thres;
203  short int lwr_true_thres;
205  short int upr_true_thres;
209  short int acquisition_mode;
211  float bin_size;
217  float dosage;
221  char data_units[32];
223  short int septa_state;
225  short int fill_cti[6];
227 /*****************************************************************************/
228 typedef struct ecat7_imageheader { /* 512 bytes */
230  short int data_type;
232  short int num_dimensions;
234  short int x_dimension;
236  short int y_dimension;
238  short int z_dimension;
240  float x_offset;
242  float y_offset;
244  float z_offset;
246  float recon_zoom;
250  short int image_min;
252  short int image_max;
264  short int filter_code;
274  float num_angles;
294  short int filter_order;
300  char annotation[40];
302  float mt_1_1;
304  float mt_1_2;
306  float mt_1_3;
308  float mt_2_1;
310  float mt_2_2;
312  float mt_2_3;
314  float mt_3_1;
316  float mt_3_2;
318  float mt_3_3;
324  short int rfilter_code;
326  short int rfilter_order;
332  short int zfilter_code;
334  short int zfilter_order;
336  float mt_1_4;
338  float mt_2_4;
340  float mt_3_4;
342  short int scatter_type;
344  short int recon_type;
346  short int recon_views;
348  short int fill_cti[87];
350  short int fill_user[49];
352 /*****************************************************************************/
353 typedef struct ecat7_scanheader { /* 1024 bytes */
355  short int data_type;
357  short int num_dimensions;
359  short int num_r_elements;
361  short int num_angles;
365  short int num_z_elements[64];
367  short int ring_difference;
369  short int storage_order;
371  short int axial_compression;
381  short int fill_gate[6];
391  short int scan_min;
393  short int scan_max;
395  int prompts;
397  int delayed;
403  float tot_avg_cor;
415  short int fill_cti[90];
417  short int fill_user[50];
419  float uncor_singles[128];
421 /*****************************************************************************/
422 typedef struct ecat7_2Dscanheader { /* 512 bytes */
423  short int data_type;
424  short int num_dimensions;
425  short int num_r_elements;
426  short int num_angles;
428  short int num_z_elements;
429  short int ring_difference;
434  short int fill_gate[6];
439  short int scan_min;
440  short int scan_max;
441  int prompts;
442  int delayed;
445  float cor_singles[16];
446  float uncor_singles[16];
447  float tot_avg_cor;
453  short int physical_planes[8];
454  short int fill_cti[83];
455  short int fill_user[50];
457 /*****************************************************************************/
458 typedef struct ecat7_2Dnormheader {
459  short int data_type;
460  short int num_dimensions;
461  short int num_r_elements;
462  short int num_angles;
463  short int num_z_elements;
464  short int ring_difference;
466  float norm_min;
467  float norm_max;
471  short int storage_order;
472  short int span;
473  short int z_elements[64];
474  short int fill_cti[123];
475  short int fill_user[50];
477 /*****************************************************************************/
478 typedef struct ecat7_attenheader {
480  short int data_type;
482  short int num_dimensions;
484  short int attenuation_type;
486  short int num_r_elements;
488  short int num_angles;
490  short int num_z_elements;
492  short int ring_difference;
504  float x_offset;
506  float y_offset;
508  float x_radius;
510  float y_radius;
512  float tilt_angle;
528  short int storage_order;
530  short int span;
532  short int z_elements[64];
534  short int fill_cti[86];
536  short int fill_user[50];
538 /*****************************************************************************/
539 typedef struct ecat7_normheader {
540  short int data_type;
542  short int num_r_elements;
546  short int num_crystal_rings;
547  short int crystals_per_ring;
551  short int uld;
553  short int lld;
555  short int scatter_energy;
561  float ring_dtcor1[32];
563  float ring_dtcor2[32];
565  float crystal_dtcor[8];
567  short int span;
569  short int max_ring_diff;
571  short int fill_cti[48];
573  short int fill_user[50];
575 /*****************************************************************************/
576 typedef struct ecat7_polmapheader {
577  short int data_type;
578  short int polar_map_type;
579  short int num_rings;
580  short int sectors_per_ring[32];
581  float ring_position[32];
582  short int ring_angle[32];
583  short int start_angle;
584  short int long_axis_left[3];
585  short int long_axis_right[3];
586  short int position_data;
587  short int image_min;
588  short int image_max;
590  float pixel_size;
593  short int processing_code;
594  short int quant_units;
595  char annotation[40];
600  char database_name[30];
601  short int fill_cti[27];
602  short int fill_user[27];
604 /*****************************************************************************/
605 typedef struct {
606  int id;
607  int strtblk;
608  int endblk;
609  int status;
610 } ECAT7_MatDir;
611 typedef struct {
612  int matrixNr;
616 typedef struct {
617  int frame, plane, gate, data, bed;
618 } ECAT7_Matval;
619 /*****************************************************************************/
620 /* Read functions */
621 extern int ecat7ReadMainheader(FILE *fp, ECAT7_mainheader *h);
622 extern int ecat7ReadImageheader(FILE *fp, int blk, ECAT7_imageheader *h);
623 extern int ecat7ReadAttenheader(FILE *fp, int blk, ECAT7_attenheader *h);
624 extern int ecat7ReadPolmapheader(FILE *fp, int blk, ECAT7_polmapheader *h);
625 extern int ecat7ReadNormheader(FILE *fp, int blk, ECAT7_normheader *h);
626 extern int ecat7ReadScanheader(FILE *fp, int blk, ECAT7_scanheader *h);
627 extern int ecat7Read2DScanheader(FILE *fp, int blk, ECAT7_2Dscanheader *h);
628 extern int ecat7Read2DNormheader(FILE *fp, int blk, ECAT7_2Dnormheader *h);
629 extern int ecat7ReadMatrixdata(FILE *fp, int start_block, int block_nr,
630  char *data, int dtype);
631 extern float ecat7rFloat(void *bufi, int isvax, int islittle);
632 extern int ecat7rInt(void *bufi, int isvax, int islittle);
633 extern int ecat7ReadImageMatrix(FILE *fp, int first_block, int last_block,
634  ECAT7_imageheader *h, float **fdata);
635 extern int ecat7Read2DScanMatrix(FILE *fp, int first_block, int last_block,
636  ECAT7_2Dscanheader *h, float **fdata);
637 extern int ecat7ReadScanMatrix(FILE *fp, int first_block, int last_block,
638  ECAT7_scanheader *h, float **fdata);
639 extern int ecat7ReadPolarmapMatrix(FILE *fp, int first_block, int last_block,
640  ECAT7_polmapheader *h, float **fdata);
641 extern int ecat7pxlbytes(short int data_type);
642 /*****************************************************************************/
643 /* Matrix list functions */
644 extern void ecat7InitMatlist(ECAT7_MATRIXLIST *mlist);
645 extern void ecat7EmptyMatlist(ECAT7_MATRIXLIST *mlist);
646 extern int ecat7ReadMatlist(FILE *fp, ECAT7_MATRIXLIST *ml);
647 extern void ecat7PrintMatlist(ECAT7_MATRIXLIST *ml);
648 extern int ecat7EnterMatrix(FILE *fp, int matrix_id, int block_nr);
649 extern int ecat7_val_to_id(int frame, int plane, int gate, int data, int bed);
650 extern void ecat7_id_to_val(int matrix_id, ECAT7_Matval *matval);
653 extern int ecat7CheckMatlist(ECAT7_MATRIXLIST *ml);
654 extern int ecat7DeleteLateFrames(ECAT7_MATRIXLIST *ml, int frame_nr);
656  int *plane_nr, int *frame_nr);
657 extern int ecat7GetMatrixBlockSize(ECAT7_MATRIXLIST *mlist, int *blk_nr);
658 extern int ecat7GetNums(ECAT7_MATRIXLIST *ml, ECAT7_mainheader *mh, FILE *fp,
659  short int *num_planes, short int *num_frames, short int *num_gates,
660  short int *num_bed_pos);
661 extern int ecat7GatherMatlist(ECAT7_MATRIXLIST *ml, short int do_planes,
662  short int do_frames, short int do_gates, short int do_beds);
663 /*****************************************************************************/
664 /* Write functions */
665 extern int ecat7WriteMainheader(FILE *fp, ECAT7_mainheader *h);
666 extern int ecat7WriteImageheader(FILE *fp, int blk, ECAT7_imageheader *h);
667 extern int ecat7WriteAttenheader(FILE *fp, int blk, ECAT7_attenheader *h);
668 extern int ecat7WritePolmapheader(FILE *fp, int blk, ECAT7_polmapheader *h);
669 extern int ecat7WriteNormheader(FILE *fp, int blk, ECAT7_normheader *h);
670 extern int ecat7WriteScanheader(FILE *fp, int blk, ECAT7_scanheader *h);
671 extern int ecat7Write2DScanheader(FILE *fp, int blk, ECAT7_2Dscanheader *h);
672 extern int ecat7Write2DNormheader(FILE *fp, int blk, ECAT7_2Dnormheader *h);
673 extern int ecat7WritePolarmapMatrix(FILE *fp, int matrix_id,
674  ECAT7_polmapheader *h, float *fdata);
675 extern int ecat7WriteMatrixdata(FILE *fp, int start_block, char *data,
676  int pxl_nr, int pxl_size);
677 /*void ecat7wFloat(float *bufi, void *bufo, int tovax, int islittle);*/
678 /*void ecat7wInt(int *bufi, void *bufo, int tovax, int islittle);*/
679 extern FILE *ecat7Create(const char *fname, ECAT7_mainheader *h);
680 extern int ecat7WriteImageMatrix(FILE *fp, int matrix_id, ECAT7_imageheader *h,
681  float *fdata);
682 extern int ecat7Write2DScanMatrix(FILE *fp, int matrix_id, ECAT7_2Dscanheader *h,
683  float *fdata);
684 extern int ecat7WriteScanMatrix(FILE *fp, int matrix_id, ECAT7_scanheader *h,
685  float *fdata);
686 extern int ecat7_is_scaling_needed(float amax, float *data, int nr);
687 /*****************************************************************************/
688 /* Printing functions */
689 extern void ecat7PrintMainheader(ECAT7_mainheader *h, FILE *fp);
690 extern void ecat7PrintImageheader(ECAT7_imageheader *h, FILE *fp);
691 extern void ecat7PrintScanheader(ECAT7_scanheader *h, FILE *fp);
692 extern void ecat7PrintAttenheader(ECAT7_attenheader *h, FILE *fp);
693 extern void ecat7PrintPolmapheader(ECAT7_polmapheader *h, FILE *fp);
694 extern void ecat7PrintNormheader(ECAT7_normheader *h, FILE *fp);
695 extern void ecat7Print2DScanheader(ECAT7_2Dscanheader *h, FILE *fp);
696 extern void ecat7Print2DNormheader(ECAT7_2Dnormheader *h, FILE *fp);
697 extern int ecat7PrintSubheader(ECAT7_mainheader mh, FILE *fp,
698  int plane, int frame, FILE *ofp);
699 /* Descriptive strings for printing */
700 extern char* ecat7filetype(short int file_type);
701 extern char* ecat7acquisitiontype(short int acquisition_type);
702 extern char* ecat7datatype(short int data_type);
703 /*****************************************************************************/
704 /* Header edit functions */
705 extern int ecat7EditMHeader(ECAT7_mainheader *h, char *field, char *value);
706 extern int ecat7EditSHeader(ECAT7_scanheader *h, char *field, char *value);
707 extern int ecat7EditVHeader(ECAT7_imageheader *h, char *field, char *value);
708 /*****************************************************************************/
709 #endif
710 
int ecat7ReadMatlist(FILE *fp, ECAT7_MATRIXLIST *ml)
Definition: ecat7ml.c:86
void ecat7PrintNormheader(ECAT7_normheader *h, FILE *fp)
Definition: ecat7p.c:359
void ecat7InitMatlist(ECAT7_MATRIXLIST *mlist)
Definition: ecat7ml.c:59
void ecat7PrintImageheader(ECAT7_imageheader *h, FILE *fp)
Definition: ecat7p.c:137
void ecat7SortMatlistByFrame(ECAT7_MATRIXLIST *ml)
Definition: ecat7ml.c:340
struct ecat7_mainheader ECAT7_mainheader
struct ecat7_attenheader ECAT7_attenheader
int ecat7pxlbytes(short int data_type)
Definition: ecat7r.c:1055
int ecat7WriteImageMatrix(FILE *fp, int matrix_id, ECAT7_imageheader *h, float *fdata)
Definition: ecat7w.c:682
int ecat7EditMHeader(ECAT7_mainheader *h, char *field, char *value)
Definition: ecat7h.c:30
struct ecat7_polmapheader ECAT7_polmapheader
int ecat7GetPlaneAndFrameNr(ECAT7_MATRIXLIST *mlist, ECAT7_mainheader *h, int *plane_nr, int *frame_nr)
Definition: ecat7ml.c:409
int ecat7GetMatrixBlockSize(ECAT7_MATRIXLIST *mlist, int *blk_nr)
Definition: ecat7ml.c:455
int ecat7Read2DScanMatrix(FILE *fp, int first_block, int last_block, ECAT7_2Dscanheader *h, float **fdata)
Definition: ecat7r.c:749
struct ecat7_imageheader ECAT7_imageheader
int ecat7WriteScanMatrix(FILE *fp, int matrix_id, ECAT7_scanheader *h, float *fdata)
Definition: ecat7w.c:852
int ecat7WriteNormheader(FILE *fp, int blk, ECAT7_normheader *h)
Definition: ecat7w.c:380
int ecat7ReadScanheader(FILE *fp, int blk, ECAT7_scanheader *h)
Definition: ecat7r.c:424
int ecat7WriteScanheader(FILE *fp, int blk, ECAT7_scanheader *h)
Definition: ecat7w.c:433
struct ecat7_normheader ECAT7_normheader
float ecat7rFloat(void *bufi, int isvax, int islittle)
Definition: ecat7r.c:1015
int ecat7EditSHeader(ECAT7_scanheader *h, char *field, char *value)
Definition: ecat7h.c:195
int ecat7WriteImageheader(FILE *fp, int blk, ECAT7_imageheader *h)
Definition: ecat7w.c:164
int ecat7ReadPolmapheader(FILE *fp, int blk, ECAT7_polmapheader *h)
Definition: ecat7r.c:325
int ecat7_is_scaling_needed(float amax, float *data, int nr)
Definition: ecat7w.c:657
int ecat7ReadMatrixdata(FILE *fp, int start_block, int block_nr, char *data, int dtype)
Definition: ecat7r.c:595
void ecat7SortMatlistByPlane(ECAT7_MATRIXLIST *ml)
Definition: ecat7ml.c:314
void ecat7_id_to_val(int matrix_id, ECAT7_Matval *matval)
Definition: ecat7ml.c:299
int ecat7GetNums(ECAT7_MATRIXLIST *ml, ECAT7_mainheader *mh, FILE *fp, short int *num_planes, short int *num_frames, short int *num_gates, short int *num_bed_pos)
Definition: ecat7ml.c:489
int ecat7ReadNormheader(FILE *fp, int blk, ECAT7_normheader *h)
Definition: ecat7r.c:378
void ecat7EmptyMatlist(ECAT7_MATRIXLIST *mlist)
Definition: ecat7ml.c:70
struct ecat7_2Dnormheader ECAT7_2Dnormheader
int ecat7WritePolarmapMatrix(FILE *fp, int matrix_id, ECAT7_polmapheader *h, float *fdata)
Definition: ecat7w.c:939
int ecat7ReadAttenheader(FILE *fp, int blk, ECAT7_attenheader *h)
Definition: ecat7r.c:268
int ecat7rInt(void *bufi, int isvax, int islittle)
Definition: ecat7r.c:1038
char ecat7errmsg[128]
Definition: ecat7.h:99
char * ecat7acquisitiontype(short int acquisition_type)
Definition: ecat7p.c:498
int ecat7EditVHeader(ECAT7_imageheader *h, char *field, char *value)
Definition: ecat7h.c:312
void ecat7PrintPolmapheader(ECAT7_polmapheader *h, FILE *fp)
Definition: ecat7p.c:310
int ecat7ReadMainheader(FILE *fp, ECAT7_mainheader *h)
Definition: ecat7r.c:78
FILE * ecat7Create(const char *fname, ECAT7_mainheader *h)
Definition: ecat7w.c:616
int ecat7EnterMatrix(FILE *fp, int matrix_id, int block_nr)
Definition: ecat7ml.c:184
int ecat7WritePolmapheader(FILE *fp, int blk, ECAT7_polmapheader *h)
Definition: ecat7w.c:321
int ecat7ReadPolarmapMatrix(FILE *fp, int first_block, int last_block, ECAT7_polmapheader *h, float **fdata)
Definition: ecat7r.c:939
void ecat7PrintAttenheader(ECAT7_attenheader *h, FILE *fp)
Definition: ecat7p.c:264
int ecat7Write2DScanheader(FILE *fp, int blk, ECAT7_2Dscanheader *h)
Definition: ecat7w.c:499
int ecat7Read2DScanheader(FILE *fp, int blk, ECAT7_2Dscanheader *h)
Definition: ecat7r.c:485
struct ecat7_scanheader ECAT7_scanheader
int ecat7Write2DScanMatrix(FILE *fp, int matrix_id, ECAT7_2Dscanheader *h, float *fdata)
Definition: ecat7w.c:767
void ecat7Print2DScanheader(ECAT7_2Dscanheader *h, FILE *fp)
Definition: ecat7p.c:396
int ecat7Write2DNormheader(FILE *fp, int blk, ECAT7_2Dnormheader *h)
Definition: ecat7w.c:566
int ecat7WriteAttenheader(FILE *fp, int blk, ECAT7_attenheader *h)
Definition: ecat7w.c:258
void ecat7PrintMainheader(ECAT7_mainheader *h, FILE *fp)
Definition: ecat7p.c:49
int ecat7ReadImageMatrix(FILE *fp, int first_block, int last_block, ECAT7_imageheader *h, float **fdata)
Definition: ecat7r.c:656
int ecat7ReadImageheader(FILE *fp, int blk, ECAT7_imageheader *h)
Definition: ecat7r.c:177
int ecat7_val_to_id(int frame, int plane, int gate, int data, int bed)
Definition: ecat7ml.c:282
int ecat7PrintSubheader(ECAT7_mainheader mh, FILE *fp, int plane, int frame, FILE *ofp)
Definition: ecat7p.c:532
char * ecat7datatype(short int data_type)
Definition: ecat7p.c:517
int ecat7GatherMatlist(ECAT7_MATRIXLIST *ml, short int do_planes, short int do_frames, short int do_gates, short int do_beds)
Definition: ecat7ml.c:572
void ecat7PrintMatlist(ECAT7_MATRIXLIST *ml)
Definition: ecat7ml.c:149
int ecat7Read2DNormheader(FILE *fp, int blk, ECAT7_2Dnormheader *h)
Definition: ecat7r.c:546
int ecat7DeleteLateFrames(ECAT7_MATRIXLIST *ml, int frame_nr)
Definition: ecat7ml.c:383
void ecat7PrintScanheader(ECAT7_scanheader *h, FILE *fp)
Definition: ecat7p.c:215
int ecat7CheckMatlist(ECAT7_MATRIXLIST *ml)
Definition: ecat7ml.c:366
int ecat7WriteMatrixdata(FILE *fp, int start_block, char *data, int pxl_nr, int pxl_size)
Definition: ecat7w.c:1027
int ecat7WriteMainheader(FILE *fp, ECAT7_mainheader *h)
Definition: ecat7w.c:73
int ECAT7_TEST
Definition: ecat7.h:101
int ecat7ReadScanMatrix(FILE *fp, int first_block, int last_block, ECAT7_scanheader *h, float **fdata)
Definition: ecat7r.c:844
char * ecat7filetype(short int file_type)
Definition: ecat7p.c:479
struct ecat7_2Dscanheader ECAT7_2Dscanheader
void ecat7Print2DNormheader(ECAT7_2Dnormheader *h, FILE *fp)
Definition: ecat7p.c:447
ECAT7_MatDir * matdir
Definition: ecat7.h:614
int matrixSpace
Definition: ecat7.h:613
int id
Definition: ecat7.h:606
int strtblk
Definition: ecat7.h:607
int endblk
Definition: ecat7.h:608
int status
Definition: ecat7.h:609
int bed
Definition: ecat7.h:617
short int fill_cti[123]
Definition: ecat7.h:474
short int storage_order
Definition: ecat7.h:471
short int fill_user[50]
Definition: ecat7.h:475
short int num_dimensions
Definition: ecat7.h:460
float norm_min
Definition: ecat7.h:466
short int z_elements[64]
Definition: ecat7.h:473
float scale_factor
Definition: ecat7.h:465
float norm_quality_factor
Definition: ecat7.h:469
short int num_angles
Definition: ecat7.h:462
float fov_source_width
Definition: ecat7.h:468
short int num_z_elements
Definition: ecat7.h:463
short int span
Definition: ecat7.h:472
short int norm_quality_factor_code
Definition: ecat7.h:470
short int num_r_elements
Definition: ecat7.h:461
short int ring_difference
Definition: ecat7.h:464
float norm_max
Definition: ecat7.h:467
short int data_type
Definition: ecat7.h:459
short int fill_user[50]
Definition: ecat7.h:455
int num_accepted_beats
Definition: ecat7.h:437
int total_coin_rate
Definition: ecat7.h:449
short int physical_planes[8]
Definition: ecat7.h:453
float tot_avg_uncor
Definition: ecat7.h:448
short int fill_gate[6]
Definition: ecat7.h:434
short int num_dimensions
Definition: ecat7.h:424
short int num_z_elements
Definition: ecat7.h:428
short int ring_difference
Definition: ecat7.h:429
short int scan_min
Definition: ecat7.h:439
float x_resolution
Definition: ecat7.h:430
float deadtime_correction_factor
Definition: ecat7.h:452
int frame_start_time
Definition: ecat7.h:450
short int corrections_applied
Definition: ecat7.h:427
float w_resolution
Definition: ecat7.h:433
short int data_type
Definition: ecat7.h:423
float tot_avg_cor
Definition: ecat7.h:447
float y_resolution
Definition: ecat7.h:431
short int scan_max
Definition: ecat7.h:440
short int num_angles
Definition: ecat7.h:426
short int fill_cti[83]
Definition: ecat7.h:454
short int num_r_elements
Definition: ecat7.h:425
float uncor_singles[16]
Definition: ecat7.h:446
float scale_factor
Definition: ecat7.h:438
float z_resolution
Definition: ecat7.h:432
float cor_singles[16]
Definition: ecat7.h:445
int frame_duration
Definition: ecat7.h:451
short int data_type
Definition: ecat7.h:480
short int num_dimensions
Definition: ecat7.h:482
float edge_finding_threshold
Definition: ecat7.h:526
float z_resolution
Definition: ecat7.h:498
short int span
Definition: ecat7.h:530
short int attenuation_type
Definition: ecat7.h:484
short int num_angles
Definition: ecat7.h:488
float attenuation_min
Definition: ecat7.h:516
float scale_factor
Definition: ecat7.h:502
short int num_z_elements
Definition: ecat7.h:490
short int fill_cti[86]
Definition: ecat7.h:534
float y_radius
Definition: ecat7.h:510
float tilt_angle
Definition: ecat7.h:512
float w_resolution
Definition: ecat7.h:500
float y_resolution
Definition: ecat7.h:496
float x_radius
Definition: ecat7.h:508
short int ring_difference
Definition: ecat7.h:492
short int num_r_elements
Definition: ecat7.h:486
float additional_atten_coeff[8]
Definition: ecat7.h:524
short int fill_user[50]
Definition: ecat7.h:536
float attenuation_max
Definition: ecat7.h:518
short int num_additional_atten_coeff
Definition: ecat7.h:522
float attenuation_coeff
Definition: ecat7.h:514
float x_resolution
Definition: ecat7.h:494
float skull_thickness
Definition: ecat7.h:520
float x_offset
Definition: ecat7.h:504
short int storage_order
Definition: ecat7.h:528
short int z_elements[64]
Definition: ecat7.h:532
float y_offset
Definition: ecat7.h:506
float mt_2_2
Definition: ecat7.h:310
float num_angles
Definition: ecat7.h:274
short int recon_type
Definition: ecat7.h:344
short int image_max
Definition: ecat7.h:252
short int filter_order
Definition: ecat7.h:294
float mt_1_2
Definition: ecat7.h:304
short int y_dimension
Definition: ecat7.h:236
float filter_scatter_slope
Definition: ecat7.h:298
short int scatter_type
Definition: ecat7.h:342
float scale_factor
Definition: ecat7.h:248
short int rfilter_code
Definition: ecat7.h:324
float x_offset
Definition: ecat7.h:240
short int x_dimension
Definition: ecat7.h:234
float x_pixel_size
Definition: ecat7.h:254
float mt_3_2
Definition: ecat7.h:316
float z_pixel_size
Definition: ecat7.h:258
float zfilter_cutoff
Definition: ecat7.h:328
float mt_1_1
Definition: ecat7.h:302
int gate_duration
Definition: ecat7.h:282
int frame_start_time
Definition: ecat7.h:262
int processing_code
Definition: ecat7.h:280
short int fill_cti[87]
Definition: ecat7.h:348
float recon_zoom
Definition: ecat7.h:246
float decay_corr_fctr
Definition: ecat7.h:278
short int z_dimension
Definition: ecat7.h:238
short int rfilter_order
Definition: ecat7.h:326
float num_r_elements
Definition: ecat7.h:272
float y_resolution
Definition: ecat7.h:268
short int zfilter_order
Definition: ecat7.h:334
float filter_resolution
Definition: ecat7.h:290
float mt_3_1
Definition: ecat7.h:314
float x_resolution
Definition: ecat7.h:266
int num_accepted_beats
Definition: ecat7.h:286
float mt_2_1
Definition: ecat7.h:308
short int data_type
Definition: ecat7.h:230
float mt_2_3
Definition: ecat7.h:312
float z_resolution
Definition: ecat7.h:270
float filter_ramp_slope
Definition: ecat7.h:292
float zfilter_resolution
Definition: ecat7.h:330
float z_offset
Definition: ecat7.h:244
float rfilter_resolution
Definition: ecat7.h:322
float mt_1_3
Definition: ecat7.h:306
short int fill_user[49]
Definition: ecat7.h:350
float filter_scatter_fraction
Definition: ecat7.h:296
float z_rotation_angle
Definition: ecat7.h:276
short int num_dimensions
Definition: ecat7.h:232
short int image_min
Definition: ecat7.h:250
short int filter_code
Definition: ecat7.h:264
char annotation[40]
Definition: ecat7.h:300
float y_offset
Definition: ecat7.h:242
float mt_2_4
Definition: ecat7.h:338
float mt_3_4
Definition: ecat7.h:340
short int recon_views
Definition: ecat7.h:346
float mt_1_4
Definition: ecat7.h:336
int frame_duration
Definition: ecat7.h:260
short int zfilter_code
Definition: ecat7.h:332
float y_pixel_size
Definition: ecat7.h:256
float rfilter_cutoff
Definition: ecat7.h:320
int r_wave_offset
Definition: ecat7.h:284
float mt_3_3
Definition: ecat7.h:318
float filter_cutoff_frequency
Definition: ecat7.h:288
float dosage
Definition: ecat7.h:217
char serial_number[10]
Definition: ecat7.h:115
char patient_name[32]
Definition: ecat7.h:158
char study_description[32]
Definition: ecat7.h:178
float well_counter_corr_factor
Definition: ecat7.h:219
short int compression_code
Definition: ecat7.h:152
char physician_name[32]
Definition: ecat7.h:174
short int patient_orientation
Definition: ecat7.h:183
short int file_type
Definition: ecat7.h:113
char isotope_name[8]
Definition: ecat7.h:119
int scan_start_time
Definition: ecat7.h:117
float distance_scanned
Definition: ecat7.h:137
char original_file_name[32]
Definition: ecat7.h:107
char facility_name[20]
Definition: ecat7.h:185
char patient_id[16]
Definition: ecat7.h:156
float transaxial_fov
Definition: ecat7.h:139
short int sw_version
Definition: ecat7.h:109
short int num_gates
Definition: ecat7.h:191
short int upr_true_thres
Definition: ecat7.h:205
short int angular_compression
Definition: ecat7.h:141
short int calibration_units
Definition: ecat7.h:148
short int fill_cti[6]
Definition: ecat7.h:225
float patient_weight
Definition: ecat7.h:168
float gantry_tilt
Definition: ecat7.h:125
short int transm_source_type
Definition: ecat7.h:135
short int wobble_speed
Definition: ecat7.h:133
char magic_number[14]
Definition: ecat7.h:105
float plane_separation
Definition: ecat7.h:199
int dose_start_time
Definition: ecat7.h:215
short int num_frames
Definition: ecat7.h:189
float gantry_rotation
Definition: ecat7.h:127
float init_bed_position
Definition: ecat7.h:195
short int coin_samp_mode
Definition: ecat7.h:143
short int acquisition_type
Definition: ecat7.h:181
float bed_elevation
Definition: ecat7.h:129
float isotope_halflife
Definition: ecat7.h:121
char user_process_code[10]
Definition: ecat7.h:207
short int axial_samp_mode
Definition: ecat7.h:145
char operator_name[32]
Definition: ecat7.h:176
short int calibration_units_label
Definition: ecat7.h:150
char data_units[32]
Definition: ecat7.h:221
short int num_planes
Definition: ecat7.h:187
short int acquisition_mode
Definition: ecat7.h:209
float patient_height
Definition: ecat7.h:166
char radiopharmaceutical[32]
Definition: ecat7.h:123
int patient_birth_date
Definition: ecat7.h:172
short int septa_state
Definition: ecat7.h:223
float bin_size
Definition: ecat7.h:211
float intrinsic_tilt
Definition: ecat7.h:131
float branching_fraction
Definition: ecat7.h:213
char patient_dexterity
Definition: ecat7.h:162
short int num_bed_pos
Definition: ecat7.h:193
float patient_age
Definition: ecat7.h:164
float ecat_calibration_factor
Definition: ecat7.h:146
short int lwr_true_thres
Definition: ecat7.h:203
short int lwr_sctr_thres
Definition: ecat7.h:201
short int system_type
Definition: ecat7.h:111
char patient_sex
Definition: ecat7.h:160
char study_type[12]
Definition: ecat7.h:154
float bed_position[15]
Definition: ecat7.h:197
short int num_crystal_rings
Definition: ecat7.h:546
short int lld
Definition: ecat7.h:553
float norm_quality_factor
Definition: ecat7.h:557
short int norm_quality_factor_code
Definition: ecat7.h:559
short int scatter_energy
Definition: ecat7.h:555
short int num_geo_corr_planes
Definition: ecat7.h:549
short int max_ring_diff
Definition: ecat7.h:569
short int span
Definition: ecat7.h:567
float ring_dtcor1[32]
Definition: ecat7.h:561
short int num_transaxial_crystals
Definition: ecat7.h:544
short int uld
Definition: ecat7.h:551
short int crystals_per_ring
Definition: ecat7.h:547
short int fill_user[50]
Definition: ecat7.h:573
float ring_dtcor2[32]
Definition: ecat7.h:563
float crystal_dtcor[8]
Definition: ecat7.h:565
short int fill_cti[48]
Definition: ecat7.h:571
short int num_r_elements
Definition: ecat7.h:542
short int data_type
Definition: ecat7.h:540
short int fill_cti[27]
Definition: ecat7.h:601
short int processing_code
Definition: ecat7.h:593
short int polar_map_type
Definition: ecat7.h:578
float ring_position[32]
Definition: ecat7.h:581
short int image_max
Definition: ecat7.h:588
float pixel_size
Definition: ecat7.h:590
short int num_rings
Definition: ecat7.h:579
char database_name[30]
Definition: ecat7.h:600
short int sectors_per_ring[32]
Definition: ecat7.h:580
short int data_type
Definition: ecat7.h:577
char annotation[40]
Definition: ecat7.h:595
short int fill_user[27]
Definition: ecat7.h:602
short int quant_units
Definition: ecat7.h:594
short int long_axis_left[3]
Definition: ecat7.h:584
int num_accepted_beats
Definition: ecat7.h:598
char polar_map_protocol[20]
Definition: ecat7.h:599
int frame_start_time
Definition: ecat7.h:592
short int image_min
Definition: ecat7.h:587
float scale_factor
Definition: ecat7.h:589
short int start_angle
Definition: ecat7.h:583
int frame_duration
Definition: ecat7.h:591
short int position_data
Definition: ecat7.h:586
short int ring_angle[32]
Definition: ecat7.h:582
short int long_axis_right[3]
Definition: ecat7.h:585
short int corrections_applied
Definition: ecat7.h:363
float z_resolution
Definition: ecat7.h:377
float uncor_singles[128]
Definition: ecat7.h:419
float w_resolution
Definition: ecat7.h:379
float v_resolution
Definition: ecat7.h:375
float x_resolution
Definition: ecat7.h:373
short int fill_cti[90]
Definition: ecat7.h:415
short int num_dimensions
Definition: ecat7.h:357
short int num_angles
Definition: ecat7.h:361
int gate_duration
Definition: ecat7.h:383
short int scan_max
Definition: ecat7.h:393
short int num_z_elements[64]
Definition: ecat7.h:365
int frame_start_time
Definition: ecat7.h:409
float scale_factor
Definition: ecat7.h:389
float tot_avg_uncor
Definition: ecat7.h:405
short int fill_user[50]
Definition: ecat7.h:417
float deadtime_correction_factor
Definition: ecat7.h:413
float tot_avg_cor
Definition: ecat7.h:403
short int data_type
Definition: ecat7.h:355
short int axial_compression
Definition: ecat7.h:371
short int fill_gate[6]
Definition: ecat7.h:381
short int ring_difference
Definition: ecat7.h:367
int r_wave_offset
Definition: ecat7.h:385
int frame_duration
Definition: ecat7.h:411
int num_accepted_beats
Definition: ecat7.h:387
short int scan_min
Definition: ecat7.h:391
short int num_r_elements
Definition: ecat7.h:359
short int storage_order
Definition: ecat7.h:369
int total_coin_rate
Definition: ecat7.h:407