NURB phantoms - xcist/documentation GitHub Wiki
For these phantoms, use
cfg.callback_projector = 'C_Projector_NCAT';
Two programs, which are not part of CatSim, are used to produce phantoms in this format. These programs, developed by Paul Segars, et. al., are called NCAT and XCAT. Therefore, the resulting phantoms, and the functions associated with using them, often contain NCAT or XCAT in their names. Both NCAT and XCAT produce phantoms in the NURB format.
Note to GE’s academic collaborators: To obtain the software required to produce NCAT phantoms, please contact Paul Segars at [email protected].
NCAT and XCAT phantoms are described in files with the .nrb extension. This format is used to specify non-uniform rational b-spline (NURBS) objects for use with the ncat projector. There are m × n control points that specify a mesh that controls the shape of the NURBS object. For more information on NURBS, Wikipedia is a good resource. The files have a series of objects, with each object specified as follows:
**object_name
material_id
m :M
n :N
U Knot Vector
u(1)
...
u(n+4)
V Knot Vector
v(1)
...
v(m+4)
Control Points
c(1,1)
...
c(1,n)
c(2,1)
...
c(2,n)
...
...
c(m,1)
...
c(m,n)
The material_id is a number from 0 to 34 that specifies the material. The ncat materials are as follows:
material_id | Material |
0 | ncat_water |
1 | ncat_muscle |
2 | ncat_lung |
3 | ncat_dry_spine |
4 | ncat_dry_rib |
5 | ncat_adipose |
6 | ncat_blood |
7 | ncat_heart |
8 | ncat_kidney |
9 | ncat_liver |
10 | ncat_lymph |
11 | ncat_pancreas |
12 | ncat_intestine |
13 | ncat_skull |
14 | ncat_cartilage |
15 | ncat_brain |
16 | ncat_spleen |
17 | ncat_iodine_blood |
18 | ncat_iron |
19 | ncat_pmma |
20 | ncat_aluminum |
21 | ncat_titanium |
22 | ncat_air |
23 | ncat_graphite |
24 | ncat_lead |
25 | ncat_breast_mammary |
26 | ncat_skin |
27 | ncat_iodine |
28 | ncat_eye_lens |
29 | ncat_ovary |
30 | ncat_red_marrow |
31 | ncat_yellow_marrow |
32 | ncat_testis |
33 | ncat_thyroid |
34 | ncat_bladder |