ecat 6.0.0
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;
8static int MaxCrossPlanes = 6;*/
9
13
14typedef 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; /* */
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)
83extern "C" {
84#endif /* __cplusplus */
85EcatModel *ecat_model(int);
86#if defined(__cplusplus)
87}
88#endif /* __cplusplus */
89#else /* __STDC__ */
90extern 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 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 defMaxRingDiff
Definition ecat_model.h:33
float blockdepth
Definition ecat_model.h:63
int defAngles
Definition ecat_model.h:38
float crystalRad
Definition ecat_model.h:42
int bedOverlap
Definition ecat_model.h:59
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 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 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