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;
8
static int MaxCrossPlanes = 6;*/
9
10
enum
TransmissionSource
{
none
,
Ring
,
Rod
};
11
enum
Septa
{
NoSepta
,
Fixed
,
Retractable
};
12
enum
PPorder
{
PP_LtoR
,
PP_RtoL
};
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
78
}
EcatModel
;
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
PPorder
Definition
ecat_model.h:12
PP_LtoR
@ PP_LtoR
Definition
ecat_model.h:12
PP_RtoL
@ PP_RtoL
Definition
ecat_model.h:12
TransmissionSource
TransmissionSource
Definition
ecat_model.h:10
Ring
@ Ring
Definition
ecat_model.h:10
Rod
@ Rod
Definition
ecat_model.h:10
none
@ none
Definition
ecat_model.h:10
EcatModel
struct _EcatModel EcatModel
Septa
Septa
Definition
ecat_model.h:11
Fixed
@ Fixed
Definition
ecat_model.h:11
Retractable
@ Retractable
Definition
ecat_model.h:11
NoSepta
@ NoSepta
Definition
ecat_model.h:11
_EcatModel
Definition
ecat_model.h:14
_EcatModel::ppOrder
enum PPorder ppOrder
Definition
ecat_model.h:28
_EcatModel::transFOV
float transFOV
Definition
ecat_model.h:41
_EcatModel::dirPlanes
int dirPlanes
Definition
ecat_model.h:30
_EcatModel::dbStartAddr
int dbStartAddr
Definition
ecat_model.h:24
_EcatModel::axialCrystalsPerBlock
int axialCrystalsPerBlock
Definition
ecat_model.h:22
_EcatModel::tubesPerBlock
int tubesPerBlock
Definition
ecat_model.h:21
_EcatModel::rotateZero
int rotateZero
Definition
ecat_model.h:57
_EcatModel::rodoffset
int rodoffset
Definition
ecat_model.h:51
_EcatModel::rings
int rings
Definition
ecat_model.h:16
_EcatModel::planesep
float planesep
Definition
ecat_model.h:47
_EcatModel::defMashVal
int defMashVal
Definition
ecat_model.h:39
_EcatModel::nbuckets
int nbuckets
Definition
ecat_model.h:17
_EcatModel::def3DSpan
int def3DSpan
Definition
ecat_model.h:32
_EcatModel::hbedstep
float hbedstep
Definition
ecat_model.h:52
_EcatModel::minelements
int minelements
Definition
ecat_model.h:64
_EcatModel::axialBlocksPerBucket
int axialBlocksPerBucket
Definition
ecat_model.h:19
_EcatModel::maxcodepage
int maxcodepage
Definition
ecat_model.h:27
_EcatModel::tiltZero
int tiltZero
Definition
ecat_model.h:56
_EcatModel::prt
int prt
Definition
ecat_model.h:60
_EcatModel::defMaxRingDiff
int defMaxRingDiff
Definition
ecat_model.h:33
_EcatModel::blockdepth
float blockdepth
Definition
ecat_model.h:63
_EcatModel::defAngles
int defAngles
Definition
ecat_model.h:38
_EcatModel::defLld
int defLld
Definition
ecat_model.h:45
_EcatModel::wobSpeed
int wobSpeed
Definition
ecat_model.h:55
_EcatModel::crystalRad
float crystalRad
Definition
ecat_model.h:42
_EcatModel::bedOverlap
int bedOverlap
Definition
ecat_model.h:59
_EcatModel::cormask
int cormask
Definition
ecat_model.h:66
_EcatModel::bktsincoincidence
int bktsincoincidence
Definition
ecat_model.h:65
_EcatModel::vbedoffset
float vbedoffset
Definition
ecat_model.h:53
_EcatModel::septa
enum Septa septa
Definition
ecat_model.h:36
_EcatModel::planecor
float planecor
Definition
ecat_model.h:50
_EcatModel::defAxialFOV
float defAxialFOV
Definition
ecat_model.h:40
_EcatModel::angularCrystalsPerBlock
int angularCrystalsPerBlock
Definition
ecat_model.h:23
_EcatModel::txsrcrad
float txsrcrad
Definition
ecat_model.h:35
_EcatModel::transBlocksPerBucket
int transBlocksPerBucket
Definition
ecat_model.h:18
_EcatModel::pileup
float pileup
Definition
ecat_model.h:49
_EcatModel::wobbleZero
int wobbleZero
Definition
ecat_model.h:58
_EcatModel::blocks
int blocks
Definition
ecat_model.h:20
_EcatModel::timeCorrectionBits
int timeCorrectionBits
Definition
ecat_model.h:26
_EcatModel::defElements
int defElements
Definition
ecat_model.h:37
_EcatModel::def2DSpan
int def2DSpan
Definition
ecat_model.h:31
_EcatModel::analogasibucket
int analogasibucket
Definition
ecat_model.h:67
_EcatModel::binsize
float binsize
Definition
ecat_model.h:48
_EcatModel::maxScanLen
float maxScanLen
Definition
ecat_model.h:43
_EcatModel::defUld
int defUld
Definition
ecat_model.h:44
_EcatModel::defScatThresh
int defScatThresh
Definition
ecat_model.h:46
_EcatModel::number
char * number
Definition
ecat_model.h:15
_EcatModel::txsrc
enum TransmissionSource txsrc
Definition
ecat_model.h:34
_EcatModel::intrTilt
float intrTilt
Definition
ecat_model.h:54
_EcatModel::dbSize
int dbSize
Definition
ecat_model.h:25
ecat
kernel
ecat_model.h
Generated by
1.13.2