My Project
ecat63.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  Copyright (c) 2003-2008 Turku PET Centre
4 
5  ecat63.h
6 
7  Date:
8  1996-10-30 VO
9  2002-01-20 VO
10  2002-02-01 VO
11  2002-02-12 VO
12  2002-08-23 VO
13  2003-07-21 VO
14  2003-08-05 VO
15  2003-09-08 VO
16  2004-06-27 VO
17  2004-12-28 VO
18  2007-02-27 VO
19  2007-03-13 VO
20  2008-07-24 VO
21 
22 
23 ******************************************************************************/
24 #ifndef _ECAT63_H_
25 #define _ECAT63_H_
26 /*****************************************************************************/
27 #define MatBLKSIZE 512
28 #define MatFirstDirBlk 2
29 /* Data types */
30 #define BYTE_TYPE 1
31 #define VAX_I2 2
32 #define VAX_I4 3
33 #define VAX_R4 4
34 #define IEEE_R4 5
35 #define SUN_I2 6
36 #define SUN_I4 7
37 /* File types */
38 #define RAW_DATA 1
39 #define IMAGE_DATA 2
40 #define ATTN_DATA 3
41 #define NORM_DATA 4
42 /*****************************************************************************/
43 #define ECAT63_SYSTEM_TYPE_DEFAULT 931
44 /*****************************************************************************/
45 /* Backup file extension */
46 #ifndef BACKUP_EXTENSION
47 #define BACKUP_EXTENSION ".bak"
48 #endif
49 /*****************************************************************************/
50 char ecat63errmsg[128];
51 /*****************************************************************************/
53 /*****************************************************************************/
54 
55 typedef struct {
56  int matnum;
57  int strtblk;
58  int endblk;
59  int matstat;
60 } MatDir;
61 
62 typedef struct {
63  int matrixNr;
66 } MATRIXLIST;
67 
68 typedef struct {
69  int frame, plane, gate, data, bed;
70 } Matval;
71 
72 typedef struct ecat63_mainheader {
73  char ecat_format[14], fill1[14];
75  short int sw_version;
76  short int data_type;
77  short int system_type;
78  short int file_type;
79  char node_id[10];
82  char isotope_code[8];
96  char facility_name[20];
100  float collimator;
102  short int fill2[20];
104 
105 typedef struct ecat63_imageheader {
106  char fill1[126];
109  short int image_min, image_max;
112  short int slice_location,
115  short int filter_code;
122  char annotation[40];
123  short int fill2[26];
125 
126 typedef struct ecat63_scanheader {
127  char fill1[126];
128  short int data_type,
136  short int scan_min, scan_max;
138  float cor_singles[16], uncor_singles[16],
143  short int fill2[22];
145 
146 typedef struct ecat63_normheader {
147  short int data_type,
153 
154 typedef struct ecat63_attnheader {
162 
163 typedef struct matdirnode {
164  int matnum;
165  int strtblk;
166  int endblk;
167  int matstat;
168  struct matdirnode *next;
170 
171 typedef struct matdirlist {
172  int nmats;
176 
177 typedef struct matrixdata {
178  int mat_type;
179  char *shptr;
180  char *data_ptr;
181  int nviews;
183  int nblks;
186 
187 typedef struct matrix_file {
190  FILE *fptr ;
192 /*****************************************************************************/
193 /* Read functions */
194 extern int ecat63ReadMainheader(FILE *fp, ECAT63_mainheader *h);
195 extern int ecat63ReadImageheader(FILE *fp, int blk, ECAT63_imageheader *h);
196 extern int ecat63ReadScanheader(FILE *fp, int blk, ECAT63_scanheader *h);
197 extern int ecat63ReadAttnheader(FILE *fp, int blk, ECAT63_attnheader *h);
198 extern int ecat63ReadNormheader(FILE *fp, int blk, ECAT63_normheader *h);
199 extern int ecat63ReadMatdata(FILE *fp, int strtblk, int blkNr, char *data, int dtype);
200 extern int ecat63ReadImageMatrix(FILE *fp, int strtblk, int lastblk, ECAT63_imageheader *h, float **f);
201 extern int ecat63ReadScanMatrix(FILE *fp, int strtblk, int lastblk, ECAT63_scanheader *h, float **f);
202 extern float ecat63rFloat(void *bufi, int isvax, int islittle);
203 extern int ecat63rInt(void *bufi, int isvax, int islittle);
204 extern int ecat63pxlbytes(short int data_type);
205 /*****************************************************************************/
206 /* Matrix list functions */
207 extern void ecat63InitMatlist(MATRIXLIST *mlist);
208 extern void ecat63EmptyMatlist(MATRIXLIST *mlist);
209 extern int ecat63ReadMatlist(FILE *fp, MATRIXLIST *ml);
210 extern void ecat63PrintMatlist(MATRIXLIST *ml);
211 extern int mat_numcod(int frame, int plane, int gate, int data, int bed);
212 extern void mat_numdoc(int matnum, Matval *matval);
213 extern int ecat63Matenter(FILE *fp, int matnum, int blkNr);
214 extern void ecat63SortMatlistByPlane(MATRIXLIST *ml);
215 extern void ecat63SortMatlistByFrame(MATRIXLIST *ml);
216 extern int ecat63CheckMatlist(MATRIXLIST *ml);
217 extern int ecat63DeleteLateFrames(MATRIXLIST *ml, int frame_nr);
218 extern int ecat63GetMatrixBlockSize(MATRIXLIST *mlist, int *blk_nr);
219 extern int ecat63GetPlaneAndFrameNr(MATRIXLIST *mlist, ECAT63_mainheader *h, int *plane_nr, int *frame_nr);
220 extern int ecat63GetNums(MATRIXLIST *ml, short int *num_planes, short int *num_frames, short int *num_gates, short int *num_bed_pos);
221 extern int ecat63GatherMatlist(MATRIXLIST *ml, short int do_planes, short int do_frames, short int do_gates, short int do_beds);
222 /*****************************************************************************/
223 /* Write functions */
224 extern int ecat63WriteMainheader(FILE *fp, ECAT63_mainheader *h);
225 extern int ecat63WriteImageheader(FILE *fp, int block, ECAT63_imageheader *h);
226 extern int ecat63WriteScanheader(FILE *fp, int block, ECAT63_scanheader *h);
227 extern int ecat63WriteAttnheader(FILE *fp, int block, ECAT63_attnheader *h);
228 extern int ecat63WriteNormheader(FILE *fp, int block, ECAT63_normheader *h);
229 extern FILE *ecat63Create(const char *fname, ECAT63_mainheader *h);
230 extern int ecat63WriteMatdata(FILE *fp, int strtblk, char *data, int pxlNr, int pxlSize);
231 extern int ecat63WriteScan(FILE *fp, int matnum, ECAT63_scanheader *h, void *data);
232 extern int ecat63WriteImage(FILE *fp, int matnum, ECAT63_imageheader *h, void *data);
233 extern int ecat63WriteNorm(FILE *fp, int matnum, ECAT63_normheader *h, void *data);
234 extern int ecat63WriteAttn(FILE *fp, int matnum, ECAT63_attnheader *h, void *data);
235 extern int ecat63WriteImageMatrix(FILE *fp, int matnum, ECAT63_imageheader *h, float *fdata);
236 extern int ecat63WriteScanMatrix(FILE *fp, int matnum, ECAT63_scanheader *h, float *fdata);
237 extern void ecat63wFloat(float *bufi, void *bufo, int tovax, int islittle);
238 extern void ecat63wInt(int *bufi, void *bufo, int tovax, int islittle);
239 extern int ecat63_is_scaling_needed(float amax, float *data, int nr);
240 /*****************************************************************************/
241 /* Printing functions */
242 extern void ecat63PrintMainheader(ECAT63_mainheader *h, FILE *fp);
243 extern void ecat63PrintImageheader(ECAT63_imageheader *h, FILE *fp);
244 extern void ecat63PrintScanheader(ECAT63_scanheader *h, FILE *fp);
245 extern void ecat63PrintAttnheader(ECAT63_attnheader *h, FILE *fp);
246 extern void ecat63PrintNormheader(ECAT63_normheader *h, FILE *fp);
247 extern int ecat6PrintSubheader(ECAT63_mainheader mh, FILE *fp,
248  int plane, int frame, FILE *ofp);
249 extern char *ecat63Datatype(short int dtype);
250 extern char *ecat63Unit(short int dunit);
251 extern void float2parts(float *buf);
252 /*****************************************************************************/
253 #endif
254 
ecat63_normheader
Definition: ecat63.h:146
ecat63_scanheader::uncor_singles
float uncor_singles[16]
Definition: ecat63.h:138
ecat63_attnheader::dimension_2
short int dimension_2
Definition: ecat63.h:156
ecat63_mainheader::patient_sex
char patient_sex
Definition: ecat63.h:91
ecat63_mainheader::acquisition_type
short int acquisition_type
Definition: ecat63.h:95
MatDir::strtblk
int strtblk
Definition: ecat63.h:57
ecat63_normheader::fov_source_width
float fov_source_width
Definition: ecat63.h:151
float2parts
void float2parts(float *buf)
Definition: ecat63p.c:282
ecat63_scanheader::dimension_2
short int dimension_2
Definition: ecat63.h:129
ecat63WriteScan
int ecat63WriteScan(FILE *fp, int matnum, ECAT63_scanheader *h, void *data)
Definition: ecat63w.c:478
ecat63PrintImageheader
void ecat63PrintImageheader(ECAT63_imageheader *h, FILE *fp)
Definition: ecat63p.c:115
ecat63_imageheader::num_dimensions
short int num_dimensions
Definition: ecat63.h:107
ecat63PrintMainheader
void ecat63PrintMainheader(ECAT63_mainheader *h, FILE *fp)
Definition: ecat63p.c:62
ecat63_imageheader::loss_corr_fctr
float loss_corr_fctr
Definition: ecat63.h:118
ecat63_imageheader::quant_scale
float quant_scale
Definition: ecat63.h:108
matrixdata::mat_type
int mat_type
Definition: ecat63.h:178
MATRIXLIST::matrixNr
int matrixNr
Definition: ecat63.h:63
ecat63_mainheader::transaxial_fov
float transaxial_fov
Definition: ecat63.h:87
matrixdata::nelements
int nelements
Definition: ecat63.h:182
ecat63_mainheader::upr_true_thres
short int upr_true_thres
Definition: ecat63.h:99
Matval
Definition: ecat63.h:68
ecat63_imageheader::slice_width
float slice_width
Definition: ecat63.h:110
ecat63_scanheader::processing_code
short int processing_code
Definition: ecat63.h:130
ecat63ReadImageMatrix
int ecat63ReadImageMatrix(FILE *fp, int strtblk, int lastblk, ECAT63_imageheader *h, float **f)
Definition: ecat63r.c:494
ecat63_mainheader::calibration_factor
float calibration_factor
Definition: ecat63.h:89
ecat63_attnheader::attenuation_type
short int attenuation_type
Definition: ecat63.h:155
ecat63_mainheader::operator_name
char operator_name[32]
Definition: ecat63.h:93
ecat63_attnheader
Definition: ecat63.h:154
ecat63PrintMatlist
void ecat63PrintMatlist(MATRIXLIST *ml)
Definition: ecat63ml.c:160
ecat63_normheader::scale_factor
float scale_factor
Definition: ecat63.h:149
ecat63_mainheader::scan_start_minute
short int scan_start_minute
Definition: ecat63.h:81
ecat63_imageheader::image_max
short int image_max
Definition: ecat63.h:109
MATRIXLIST::matdir
MatDir * matdir
Definition: ecat63.h:65
ecat63CheckMatlist
int ecat63CheckMatlist(MATRIXLIST *ml)
Definition: ecat63ml.c:342
ecat63_normheader::norm_second
short int norm_second
Definition: ecat63.h:150
ecat63_attnheader::y_radius
float y_radius
Definition: ecat63.h:158
ecat63WriteImage
int ecat63WriteImage(FILE *fp, int matnum, ECAT63_imageheader *h, void *data)
Definition: ecat63w.c:429
ecat63_imageheader::filter_code
short int filter_code
Definition: ecat63.h:115
ecat63_scanheader::frame_start_time
int frame_start_time
Definition: ecat63.h:141
ecat63_mainheader::patient_weight
char patient_weight[10]
Definition: ecat63.h:92
ecat63Datatype
char * ecat63Datatype(short int dtype)
Definition: ecat63p.c:227
ecat63_imageheader::fill2
short int fill2[26]
Definition: ecat63.h:123
ecat63_mainheader::node_id
char node_id[10]
Definition: ecat63.h:79
ecat63_imageheader::intrinsic_tilt
float intrinsic_tilt
Definition: ecat63.h:118
ecat63_mainheader::lwr_true_thres
short int lwr_true_thres
Definition: ecat63.h:99
ecat63_imageheader::well_counter_cal_fctr
float well_counter_cal_fctr
Definition: ecat63.h:121
ecat63_scanheader::sample_distance
float sample_distance
Definition: ecat63.h:131
ecat63_imageheader::image_rotation
float image_rotation
Definition: ecat63.h:117
ecat63_normheader::dimension_1
short int dimension_1
Definition: ecat63.h:148
ecat63_mainheader::septa_type
short int septa_type
Definition: ecat63.h:95
ecat63GatherMatlist
int ecat63GatherMatlist(MATRIXLIST *ml, short int do_planes, short int do_frames, short int do_gates, short int do_beds)
Definition: ecat63ml.c:519
ecat63PrintScanheader
void ecat63PrintScanheader(ECAT63_scanheader *h, FILE *fp)
Definition: ecat63p.c:152
ecat63_imageheader::y_origin
float y_origin
Definition: ecat63.h:108
ecat63_mainheader::scan_start_month
short int scan_start_month
Definition: ecat63.h:80
ecat63_mainheader::physician_name
char physician_name[32]
Definition: ecat63.h:93
mat_numcod
int mat_numcod(int frame, int plane, int gate, int data, int bed)
Definition: ecat63ml.c:266
ecat63_mainheader::calibration_units
short int calibration_units
Definition: ecat63.h:90
ecat63Create
FILE * ecat63Create(const char *fname, ECAT63_mainheader *h)
Definition: ecat63w.c:386
ecat63_mainheader::isotope_halflife
float isotope_halflife
Definition: ecat63.h:83
ecat63_attnheader::x_origin
float x_origin
Definition: ecat63.h:158
MatDir::matstat
int matstat
Definition: ecat63.h:59
ECAT63_TEST
int ECAT63_TEST
Definition: ecat63.h:52
ecat63pxlbytes
int ecat63pxlbytes(short int data_type)
Definition: ecat63r.c:711
ecat63Unit
char * ecat63Unit(short int dunit)
Definition: ecat63p.c:250
matrix_file::dirlist
MatDirList * dirlist
Definition: ecat63.h:189
ecat63_mainheader::axial_samp_mode
short int axial_samp_mode
Definition: ecat63.h:88
ecat63_imageheader::frame_start_time
int frame_start_time
Definition: ecat63.h:111
matrix_file
Definition: ecat63.h:187
ecat63_mainheader::scan_start_year
short int scan_start_year
Definition: ecat63.h:80
ecat63_mainheader::patient_age
char patient_age[10]
Definition: ecat63.h:92
ecat63_mainheader::study_description
char study_description[32]
Definition: ecat63.h:94
ecat63_scanheader::tot_avg_uncor
float tot_avg_uncor
Definition: ecat63.h:139
ecat63_imageheader::plane_eff_corr_fctr
float plane_eff_corr_fctr
Definition: ecat63.h:117
matdirlist::first
MatDirNode * first
Definition: ecat63.h:173
ecat63_mainheader::scan_start_day
short int scan_start_day
Definition: ecat63.h:80
ecat63_scanheader::net_trues
int net_trues
Definition: ecat63.h:137
ecat63_mainheader::num_gates
short int num_gates
Definition: ecat63.h:97
ecat63_scanheader::multiples
int multiples
Definition: ecat63.h:137
Matrix_file
struct matrix_file Matrix_file
ecat63_mainheader::gantry_rotation
float gantry_rotation
Definition: ecat63.h:85
ecat63rInt
int ecat63rInt(void *bufi, int isvax, int islittle)
Definition: ecat63r.c:694
ecat63_imageheader::recon_scale
float recon_scale
Definition: ecat63.h:108
ecat63_mainheader::compression_code
short int compression_code
Definition: ecat63.h:90
ecat63_imageheader
Definition: ecat63.h:105
matdirnode
Definition: ecat63.h:163
ecat63Matenter
int ecat63Matenter(FILE *fp, int matnum, int blkNr)
Definition: ecat63ml.c:186
ecat63_mainheader::fill2
short int fill2[20]
Definition: ecat63.h:102
MatDirNode
struct matdirnode MatDirNode
ecat63_imageheader::data_type
short int data_type
Definition: ecat63.h:107
ecat63_imageheader::annotation
char annotation[40]
Definition: ecat63.h:122
ecat63_mainheader::lwr_sctr_thres
short int lwr_sctr_thres
Definition: ecat63.h:99
ecat63WriteImageheader
int ecat63WriteImageheader(FILE *fp, int block, ECAT63_imageheader *h)
Definition: ecat63w.c:150
ecat63_imageheader::ecat_calibration_fctr
float ecat_calibration_fctr
Definition: ecat63.h:121
ecat63ReadScanheader
int ecat63ReadScanheader(FILE *fp, int blk, ECAT63_scanheader *h)
Definition: ecat63r.c:296
ecat63_scanheader::frame_duration
int frame_duration
Definition: ecat63.h:141
ecat63PrintNormheader
void ecat63PrintNormheader(ECAT63_normheader *h, FILE *fp)
Definition: ecat63p.c:208
ecat63_imageheader::quant_units
short int quant_units
Definition: ecat63.h:119
ecat63_mainheader
Definition: ecat63.h:72
matrixdata::nblks
int nblks
Definition: ecat63.h:183
ecat63_scanheader::fill1
char fill1[126]
Definition: ecat63.h:127
ecat63GetMatrixBlockSize
int ecat63GetMatrixBlockSize(MATRIXLIST *mlist, int *blk_nr)
Definition: ecat63ml.c:382
ecat63SortMatlistByPlane
void ecat63SortMatlistByPlane(MATRIXLIST *ml)
Definition: ecat63ml.c:291
matrixdata::data_ptr
char * data_ptr
Definition: ecat63.h:180
MatDir::matnum
int matnum
Definition: ecat63.h:56
ecat63_attnheader::data_type
short int data_type
Definition: ecat63.h:155
ecat63_mainheader::system_type
short int system_type
Definition: ecat63.h:77
ecat63_imageheader::frame_duration
int frame_duration
Definition: ecat63.h:111
ecat63_mainheader::facility_name
char facility_name[20]
Definition: ecat63.h:96
ecat63_mainheader::isotope_code
char isotope_code[8]
Definition: ecat63.h:82
ecat63_scanheader::cor_singles
float cor_singles[16]
Definition: ecat63.h:138
ecat6PrintSubheader
int ecat6PrintSubheader(ECAT63_mainheader mh, FILE *fp, int plane, int frame, FILE *ofp)
Definition: ecat63p.c:296
ecat63GetNums
int ecat63GetNums(MATRIXLIST *ml, short int *num_planes, short int *num_frames, short int *num_gates, short int *num_bed_pos)
Definition: ecat63ml.c:462
ecat63_mainheader::file_type
short int file_type
Definition: ecat63.h:78
ecat63_imageheader::image_min
short int image_min
Definition: ecat63.h:109
ecat63_mainheader::coin_samp_mode
short int coin_samp_mode
Definition: ecat63.h:88
ecat63_mainheader::user_process_code
char user_process_code[10]
Definition: ecat63.h:101
MatDirList
struct matdirlist MatDirList
ecat63SortMatlistByFrame
void ecat63SortMatlistByFrame(MATRIXLIST *ml)
Definition: ecat63ml.c:316
ecat63_scanheader::prompts
int prompts
Definition: ecat63.h:137
ecat63WriteMatdata
int ecat63WriteMatdata(FILE *fp, int strtblk, char *data, int pxlNr, int pxlSize)
Definition: ecat63w.c:629
ecat63wInt
void ecat63wInt(int *bufi, void *bufo, int tovax, int islittle)
Definition: ecat63w.c:885
ecat63_scanheader::r_wave_offset
int r_wave_offset
Definition: ecat63.h:134
ecat63_mainheader::study_name
char study_name[12]
Definition: ecat63.h:91
ecat63WriteScanMatrix
int ecat63WriteScanMatrix(FILE *fp, int matnum, ECAT63_scanheader *h, float *fdata)
Definition: ecat63w.c:784
ecat63_mainheader::plane_separation
float plane_separation
Definition: ecat63.h:98
ecat63_mainheader::num_frames
short int num_frames
Definition: ecat63.h:97
ecat63_scanheader::isotope_halflife
float isotope_halflife
Definition: ecat63.h:132
ecat63ReadMatdata
int ecat63ReadMatdata(FILE *fp, int strtblk, int blkNr, char *data, int dtype)
Definition: ecat63r.c:432
matrixdata::data_type
int data_type
Definition: ecat63.h:184
ecat63_normheader::norm_year
short int norm_year
Definition: ecat63.h:150
ecat63_imageheader::atten_cor_mat_num
int atten_cor_mat_num
Definition: ecat63.h:116
ecat63_attnheader::sample_distance
float sample_distance
Definition: ecat63.h:160
ecat63_mainheader::fill1
char fill1[14]
Definition: ecat63.h:73
ecat63_mainheader::bed_offset
float bed_offset[15]
Definition: ecat63.h:98
ecat63_mainheader::data_type
short int data_type
Definition: ecat63.h:76
ECAT63_mainheader
struct ecat63_mainheader ECAT63_mainheader
ecat63_scanheader::total_coin_rate
int total_coin_rate
Definition: ecat63.h:140
ecat63_scanheader::data_type
short int data_type
Definition: ecat63.h:128
ecat63_scanheader::scan_max
short int scan_max
Definition: ecat63.h:136
ecat63_mainheader::num_planes
short int num_planes
Definition: ecat63.h:97
ECAT63_attnheader
struct ecat63_attnheader ECAT63_attnheader
ecat63_imageheader::pixel_size
float pixel_size
Definition: ecat63.h:110
ecat63_imageheader::recon_start_month
short int recon_start_month
Definition: ecat63.h:120
ecat63_scanheader
Definition: ecat63.h:126
ecat63_imageheader::recon_start_day
short int recon_start_day
Definition: ecat63.h:120
ECAT63_normheader
struct ecat63_normheader ECAT63_normheader
ecat63_imageheader::recon_duration
int recon_duration
Definition: ecat63.h:114
ECAT63_imageheader
struct ecat63_imageheader ECAT63_imageheader
MATRIXLIST
Definition: ecat63.h:62
ECAT63_scanheader
struct ecat63_scanheader ECAT63_scanheader
ecat63_mainheader::rot_source_speed
short int rot_source_speed
Definition: ecat63.h:86
matdirnode::matnum
int matnum
Definition: ecat63.h:164
ecat63_mainheader::scan_start_second
short int scan_start_second
Definition: ecat63.h:81
ecat63_scanheader::loss_correction_fctr
float loss_correction_fctr
Definition: ecat63.h:142
MatrixData
struct matrixdata MatrixData
matdirnode::matstat
int matstat
Definition: ecat63.h:167
ecat63WriteNorm
int ecat63WriteNorm(FILE *fp, int matnum, ECAT63_normheader *h, void *data)
Definition: ecat63w.c:527
ecat63_mainheader::axial_fov
float axial_fov
Definition: ecat63.h:87
ecat63_is_scaling_needed
int ecat63_is_scaling_needed(float amax, float *data, int nr)
Definition: ecat63w.c:672
ecat63_attnheader::y_origin
float y_origin
Definition: ecat63.h:158
ecat63_imageheader::dimension_2
short int dimension_2
Definition: ecat63.h:107
ecat63_mainheader::wobble_speed
short int wobble_speed
Definition: ecat63.h:86
ecat63_normheader::dimension_2
short int dimension_2
Definition: ecat63.h:148
ecat63WriteImageMatrix
int ecat63WriteImageMatrix(FILE *fp, int matnum, ECAT63_imageheader *h, float *fdata)
Definition: ecat63w.c:700
matdirlist
Definition: ecat63.h:171
matrix_file::fptr
FILE * fptr
Definition: ecat63.h:190
ecat63_mainheader::patient_height
char patient_height[10]
Definition: ecat63.h:92
ecat63_mainheader::collimator
float collimator
Definition: ecat63.h:100
matrix_file::mhptr
ECAT63_mainheader * mhptr
Definition: ecat63.h:188
ecat63_normheader::data_type
short int data_type
Definition: ecat63.h:147
ecat63_imageheader::recon_start_year
short int recon_start_year
Definition: ecat63.h:120
ecat63_scanheader::fill2
short int fill2[22]
Definition: ecat63.h:143
ecat63WriteNormheader
int ecat63WriteNormheader(FILE *fp, int block, ECAT63_normheader *h)
Definition: ecat63w.c:336
matdirlist::last
MatDirNode * last
Definition: ecat63.h:174
ecat63PrintAttnheader
void ecat63PrintAttnheader(ECAT63_attnheader *h, FILE *fp)
Definition: ecat63p.c:186
ecat63_attnheader::dimension_1
short int dimension_1
Definition: ecat63.h:156
ecat63_mainheader::bed_type
short int bed_type
Definition: ecat63.h:95
ecat63_imageheader::norm_matrix_num
int norm_matrix_num
Definition: ecat63.h:116
matdirnode::endblk
int endblk
Definition: ecat63.h:166
ecat63_mainheader::scan_start_hour
short int scan_start_hour
Definition: ecat63.h:81
ecat63_imageheader::recon_start_sec
short int recon_start_sec
Definition: ecat63.h:113
ecat63_mainheader::bed_elevation
float bed_elevation
Definition: ecat63.h:85
matrixdata
Definition: ecat63.h:177
ecat63_scanheader::delayed
int delayed
Definition: ecat63.h:137
ecat63_mainheader::patient_id
char patient_id[16]
Definition: ecat63.h:91
ecat63_imageheader::x_origin
float x_origin
Definition: ecat63.h:108
ecat63_mainheader::patient_name
char patient_name[32]
Definition: ecat63.h:91
ecat63_mainheader::ecat_format
char ecat_format[14]
Definition: ecat63.h:73
ecat63_mainheader::radiopharmaceutical
char radiopharmaceutical[32]
Definition: ecat63.h:84
ecat63_imageheader::recon_start_hour
short int recon_start_hour
Definition: ecat63.h:113
ecat63_mainheader::transaxial_samp_mode
short int transaxial_samp_mode
Definition: ecat63.h:88
ecat63_mainheader::sw_version
short int sw_version
Definition: ecat63.h:75
ecat63_mainheader::init_bed_position
float init_bed_position
Definition: ecat63.h:98
ecat63_mainheader::num_bed_pos
short int num_bed_pos
Definition: ecat63.h:97
matrixdata::nviews
int nviews
Definition: ecat63.h:181
ecat63_normheader::norm_month
short int norm_month
Definition: ecat63.h:150
mat_numdoc
void mat_numdoc(int matnum, Matval *matval)
Definition: ecat63ml.c:276
ecat63_imageheader::decay_corr_fctr
float decay_corr_fctr
Definition: ecat63.h:118
ecat63_mainheader::original_file_name
char original_file_name[20]
Definition: ecat63.h:74
ecat63_scanheader::gate_duration
int gate_duration
Definition: ecat63.h:134
ecat63_imageheader::recon_start_min
short int recon_start_min
Definition: ecat63.h:113
ecat63wFloat
void ecat63wFloat(float *bufi, void *bufo, int tovax, int islittle)
Definition: ecat63w.c:863
ecat63_scanheader::scan_min
short int scan_min
Definition: ecat63.h:136
ecat63_mainheader::patient_dexterity
char patient_dexterity
Definition: ecat63.h:93
Matval::plane
int plane
Definition: ecat63.h:69
ecat63_scanheader::smoothing
short int smoothing
Definition: ecat63.h:130
ecat63ReadImageheader
int ecat63ReadImageheader(FILE *fp, int blk, ECAT63_imageheader *h)
Definition: ecat63r.c:152
ecat63InitMatlist
void ecat63InitMatlist(MATRIXLIST *mlist)
Definition: ecat63ml.c:69
ecat63ReadNormheader
int ecat63ReadNormheader(FILE *fp, int blk, ECAT63_normheader *h)
Definition: ecat63r.c:375
MatDir::endblk
int endblk
Definition: ecat63.h:58
ecat63_scanheader::tot_avg_cor
float tot_avg_cor
Definition: ecat63.h:139
ecat63errmsg
char ecat63errmsg[128]
Definition: ecat63.h:50
ecat63_scanheader::scale_factor
float scale_factor
Definition: ecat63.h:135
ecat63ReadScanMatrix
int ecat63ReadScanMatrix(FILE *fp, int strtblk, int lastblk, ECAT63_scanheader *h, float **f)
Definition: ecat63r.c:586
MatDir
Definition: ecat63.h:55
ecat63EmptyMatlist
void ecat63EmptyMatlist(MATRIXLIST *mlist)
Definition: ecat63ml.c:80
matrixdata::shptr
char * shptr
Definition: ecat63.h:179
ecat63WriteMainheader
int ecat63WriteMainheader(FILE *fp, ECAT63_mainheader *h)
Definition: ecat63w.c:73
ecat63WriteScanheader
int ecat63WriteScanheader(FILE *fp, int block, ECAT63_scanheader *h)
Definition: ecat63w.c:269
ecat63_imageheader::scan_matrix_num
int scan_matrix_num
Definition: ecat63.h:116
ecat63ReadAttnheader
int ecat63ReadAttnheader(FILE *fp, int blk, ECAT63_attnheader *h)
Definition: ecat63r.c:238
ecat63ReadMainheader
int ecat63ReadMainheader(FILE *fp, ECAT63_mainheader *h)
Definition: ecat63r.c:50
ecat63_normheader::norm_day
short int norm_day
Definition: ecat63.h:150
ecat63_normheader::norm_minute
short int norm_minute
Definition: ecat63.h:150
ecat63DeleteLateFrames
int ecat63DeleteLateFrames(MATRIXLIST *ml, int frame_nr)
Definition: ecat63ml.c:360
ecat63_mainheader::transm_source_type
short int transm_source_type
Definition: ecat63.h:86
ecat63ReadMatlist
int ecat63ReadMatlist(FILE *fp, MATRIXLIST *ml)
Definition: ecat63ml.c:97
ecat63WriteAttnheader
int ecat63WriteAttnheader(FILE *fp, int block, ECAT63_attnheader *h)
Definition: ecat63w.c:221
ecat63GetPlaneAndFrameNr
int ecat63GetPlaneAndFrameNr(MATRIXLIST *mlist, ECAT63_mainheader *h, int *plane_nr, int *frame_nr)
Definition: ecat63ml.c:414
ecat63_attnheader::scale_factor
float scale_factor
Definition: ecat63.h:157
ecat63_normheader::norm_hour
short int norm_hour
Definition: ecat63.h:150
ecat63_attnheader::attenuation_coeff
float attenuation_coeff
Definition: ecat63.h:159
ecat63_attnheader::x_radius
float x_radius
Definition: ecat63.h:158
MATRIXLIST::matrixSpace
int matrixSpace
Definition: ecat63.h:64
ecat63_mainheader::gantry_tilt
float gantry_tilt
Definition: ecat63.h:85
ecat63rFloat
float ecat63rFloat(void *bufi, int isvax, int islittle)
Definition: ecat63r.c:671
ecat63_scanheader::frame_duration_sec
short int frame_duration_sec
Definition: ecat63.h:133
ecat63_imageheader::filter_params
float filter_params[6]
Definition: ecat63.h:121
ecat63_imageheader::dimension_1
short int dimension_1
Definition: ecat63.h:107
matdirnode::next
struct matdirnode * next
Definition: ecat63.h:168
ecat63_imageheader::fill1
char fill1[126]
Definition: ecat63.h:106
ecat63_imageheader::slice_location
short int slice_location
Definition: ecat63.h:112
ecat63_scanheader::dimension_1
short int dimension_1
Definition: ecat63.h:129
ecat63WriteAttn
int ecat63WriteAttn(FILE *fp, int matnum, ECAT63_attnheader *h, void *data)
Definition: ecat63w.c:576
ecat63_attnheader::tilt_angle
float tilt_angle
Definition: ecat63.h:158
matdirlist::nmats
int nmats
Definition: ecat63.h:172
matdirnode::strtblk
int strtblk
Definition: ecat63.h:165
ecat63_imageheader::processing_code
short int processing_code
Definition: ecat63.h:119