[Gate-users] Voxelized Phantoms
Daniel Woodsworth
danieljw at phas.ubc.ca
Thu Aug 2 20:41:38 CEST 2007
Hi,
I am trying to use voxellized phantoms in GATE, using the interfile
reader. I have been getting very bizarre, non-physical results.
The problems I am seeing are both qualitative and quantitative. First, the
projection images are completely non-physical. They have a very bizarre
structure, similar to the outline of a cylinder (however a cylinder that
is much larger than the cylindrical source and one that shows up
regardless of which phantom I use-see below) and this shape translates
laterally with time (eg. as one cycles through the projections) and I have
not modeled any time dependent behavior.
I also noticed that I get way more detector hits (singles) than should be
possible due to the geometry of the system. For SPECT we expect that
roughly 1 in 10 000 of photons that decay will actually be recorded as a
detector hit, regardless of attenuation. I was simulating a 500 Bq source
for 1hr which gives a total of 1.8x10^6 photons simulated. So one would
expect around 180 detector hits. Instead I obtain anywhere from 1200-6500
hits, depending on the phantom (see below).
Originally I was trying to use the Zubal digital brain phantom. When I
noticed the abnormal results I tried substituting the Hoffman phantom that
comes with the GATE distribution, but I still obtained nonsensical data.
As a further reduction/simplification I created a simple voxelized
cylindrical shape in Matlab, wrote it to an interfile, and used it as the
phantom. In all cases the activity was an analytic cylindrical (h = 4cm,
r=1cm) source. All other elements of the simulation were kept constant
(detector modeling, physics, digitizer etc.). In all cases I noticed the
two problems described above.
As a test I ran the same simulation (with all the same detector, physics,
activity etc.) without a phantom, just a cylindrical source. This time I
recorded 206 hits, which seems reasonable. Thus I do not think the problem
is a result of, say, faulty detector or collimator modeling. Rather it
seems to be specific to the voxelized phantoms.
As a further test, I ran the same identical simulations, for each phantom
( Hoffman, Zubal, cylinder), but assigned every voxel to the material Air.
This should, in theory, give me identical results to the simulation with
no phantom at all. This time however, I again noticed the two problems
above.
These results make me think that (1) I am giving GATE the wrong data (it
seems unlikely to me, as I created the cylindrical voxelized phantom in
matlab and the problems still persisted); (2) GATE is not reading in the
voxelized phantom properly; or (3) somehow GATE outputs the data to
interfiles in a different format for voxelized phantoms, and I am reading
the data inappropriately (I have read interfiles from analytical phantoms
just fine).
At any rate, something is specific to the interfile reader/ voxelized
phantom mechanism in GATE. Has anyone encountered these problems before?
I have pasted the phantom portion of my script. Any insights would be
greatly appreciated.
Thank you already if you made it this far into my note.
Daniel
###############################################################################
#Phantom Macro. (phan.mac)
###############################################################################
#Create and intialize a voxellized object.
/gate/world/daughters/name zubal_brain
/gate/world/daughters/insert parameterizedBoxMatrix
#Tell GATE to get ready to read an interfile.
/gate/zubal_brain/geometry/insertReader interfile
/gate/zubal_brain/interfileReader/insertTranslator range
/gate/zubal_brain/interfileReader/rangeTranslator/readTable range_vox.dat
/gate/zubal_brain/interfileReader/rangeTranslator/describe 1
#Now read the interfile and perform the mapping.
/gate/zubal_brain/interfileReader/readFile cyl_vox_phan.hdr
/gate/zubal_brain/placement/setTranslation -75. -75. -75. mm
More information about the Gate-users
mailing list