ecat  5.1.2
ecat_model.h
Go to the documentation of this file.
1 
2 #ifndef EcatModel_h
3 #define EcatModel_h
4 
5 /*static int MaxBuckets = 56;*/ /* maximum number of buckets */
6  /* maximum number of crystals in the axial direction */
7 /*static int MaxAxialCrystals = 32;
8 static int MaxCrossPlanes = 6;*/
9 
13 
14 typedef struct _EcatModel {
15  char *number; /* model number as an ascii string */
16  int rings; /* number of rings of buckets */
17  int nbuckets; /* total number of buckets */
18  int transBlocksPerBucket; /* transaxial blocks per bucket */
19  int axialBlocksPerBucket; /* axial blocks per bucket */
20  int blocks;
21  int tubesPerBlock; /* PMTs per block */
22  int axialCrystalsPerBlock; /* number of crystals in the axial direction */
23  int angularCrystalsPerBlock; /* number of transaxial crystals */
24  int dbStartAddr; /* bucket database start address */
25  int dbSize; /* size of bucket database in bytes */
26  int timeCorrectionBits; /* no. bits used to store time correction */
27  int maxcodepage; /* number of highest code page */
28  enum PPorder ppOrder; /* display order for position profile */
29 
30  int dirPlanes; /* number of direct planes */
31  int def2DSpan; /* default span for 2D plane definitions */
32  int def3DSpan; /* default span for 3D plane definitions */
33  int defMaxRingDiff; /* default maximum ring difference for 3D */
34  enum TransmissionSource txsrc; /* transmission source type */
35  float txsrcrad; /* transmission source radius */
36  enum Septa septa; /* septa type */
37  int defElements; /* default number of elements */
38  int defAngles; /* default number of angles */
39  int defMashVal; /* default angular compression (mash) value */
40  float defAxialFOV; /* default axial FOV (one bed pos in cm) */
41  float transFOV; /* transaxial FOV */
42  float crystalRad; /* detector radius */
43  float maxScanLen; /* maximum allowed axial scan length (cm) */
44  int defUld; /* default ULD */
45  int defLld; /* default LLD */
46  int defScatThresh; /* default scatter threshold */
47  float planesep; /* plane separation */
48  float binsize; /* bin size (spacing of transaxial elements) */
49  float pileup; /*pileup correction factor for count losses */
50  float planecor; /* plane correction factor for count losses */
51  int rodoffset; /* Rod encoder offset of zero point */
52  float hbedstep; /* horizontal bed step */
53  float vbedoffset; /* vertical bed step */
54  float intrTilt; /* intrinsic tilt */
55  int wobSpeed; /* default wobble speed */
56  int tiltZero; /* tilt Zero */
57  int rotateZero; /* rotate Zero */
58  int wobbleZero; /* wobble Zero */
59  int bedOverlap; /* number of planes to overlap between bed positions */
60  int prt; /* flag to indicate if scanner is partial ring tomograph */
61 
62 /* parameters from (in 70rel3) */
63  float blockdepth; /* */
64  int minelements; /* */
65  int bktsincoincidence; /* */
66  int cormask; /* */
67  int analogasibucket; /* */
68 
69 /* geometric correction parameters for normalization (in 70rel0)
70  int corrBump;
71  float cOffset;
72  float integTime;
73  float bCorr;
74  int sBump;
75  int eBump;
76 */
77 
79 #if 0
80 
81 #if defined(__STDC__) || defined(__cplusplus)
82 #if defined(__cplusplus)
83 extern "C" {
84 #endif /* __cplusplus */
85 EcatModel *ecat_model(int);
86 #if defined(__cplusplus)
87 }
88 #endif /* __cplusplus */
89 #else /* __STDC__ */
90 extern EcatModel *ecat_model();
91 #endif /* __STDC__ */
92 
93 #endif
94 #endif
95 
PPorder
Definition: ecat_model.h:12
@ PP_LtoR
Definition: ecat_model.h:12
@ PP_RtoL
Definition: ecat_model.h:12
TransmissionSource
Definition: ecat_model.h:10
@ Ring
Definition: ecat_model.h:10
@ Rod
Definition: ecat_model.h:10
@ none
Definition: ecat_model.h:10
struct _EcatModel EcatModel
Septa
Definition: ecat_model.h:11
@ Fixed
Definition: ecat_model.h:11
@ Retractable
Definition: ecat_model.h:11
@ NoSepta
Definition: ecat_model.h:11
enum PPorder ppOrder
Definition: ecat_model.h:28
float transFOV
Definition: ecat_model.h:41
int dirPlanes
Definition: ecat_model.h:30
int dbStartAddr
Definition: ecat_model.h:24
int axialCrystalsPerBlock
Definition: ecat_model.h:22
int tubesPerBlock
Definition: ecat_model.h:21
int rotateZero
Definition: ecat_model.h:57
int rodoffset
Definition: ecat_model.h:51
float planesep
Definition: ecat_model.h:47
int defMashVal
Definition: ecat_model.h:39
int nbuckets
Definition: ecat_model.h:17
int def3DSpan
Definition: ecat_model.h:32
float hbedstep
Definition: ecat_model.h:52
int minelements
Definition: ecat_model.h:64
int axialBlocksPerBucket
Definition: ecat_model.h:19
int maxcodepage
Definition: ecat_model.h:27
int tiltZero
Definition: ecat_model.h:56
int defMaxRingDiff
Definition: ecat_model.h:33
float blockdepth
Definition: ecat_model.h:63
int defAngles
Definition: ecat_model.h:38
int defLld
Definition: ecat_model.h:45
int wobSpeed
Definition: ecat_model.h:55
float crystalRad
Definition: ecat_model.h:42
int bedOverlap
Definition: ecat_model.h:59
int cormask
Definition: ecat_model.h:66
int bktsincoincidence
Definition: ecat_model.h:65
float vbedoffset
Definition: ecat_model.h:53
enum Septa septa
Definition: ecat_model.h:36
float planecor
Definition: ecat_model.h:50
float defAxialFOV
Definition: ecat_model.h:40
int angularCrystalsPerBlock
Definition: ecat_model.h:23
float txsrcrad
Definition: ecat_model.h:35
int transBlocksPerBucket
Definition: ecat_model.h:18
float pileup
Definition: ecat_model.h:49
int wobbleZero
Definition: ecat_model.h:58
int blocks
Definition: ecat_model.h:20
int timeCorrectionBits
Definition: ecat_model.h:26
int defElements
Definition: ecat_model.h:37
int def2DSpan
Definition: ecat_model.h:31
int analogasibucket
Definition: ecat_model.h:67
float binsize
Definition: ecat_model.h:48
float maxScanLen
Definition: ecat_model.h:43
int defUld
Definition: ecat_model.h:44
int defScatThresh
Definition: ecat_model.h:46
char * number
Definition: ecat_model.h:15
enum TransmissionSource txsrc
Definition: ecat_model.h:34
float intrTilt
Definition: ecat_model.h:54
int dbSize
Definition: ecat_model.h:25