[Gate-users] what does each detector pixel record?

David Leibold D.Leibold at tudelft.nl
Thu Jul 7 09:20:15 CEST 2022

Dear Howard,

you are using the imageCT output, and according to the docs<https://opengate.readthedocs.io/en/latest/data_output_management.html?highlight=imageCT#image-ct-output>:

"The imageCT output is a binary matrix of float numbers that stores the number of Singles per pixel and is produced for each time slice"

Please note that this does reflect what a realistic detector would measure. A common CBCT detector outputs the deposited energy per pixel. To obtain this, you would need to access the root output and convert it to energy integrated projections yourself.

Kind regards,
David Leibold

On 7 Jul2022, at 03:40, Howard <lomahu at gmail.com<mailto:lomahu at gmail.com>> wrote:

Hi GATE users,

I have been using GATE to simulate CBCT. One question I have been thinking to ask is: what does each detector pixel (set as the crystal sensitive detector) record, photon energy or photo number?

Let's say the output of each run (one projection angle) is set as:

# Specific CT Image output
/gate/output/imageCT/setFileName output_dir/proj

What if I use ROOT output format?

# Generic ROOT output
#/gate/output/root/setFileName output_dir/results

My detector macro is set as follows for your reference.

####  General informations about the scanner
# CT scanner for small animal imaging
# 150 x 200 pixels in one module
# Size of pixels : 0.4 x 0.3 x 3.0 mm3
# Pixels are made up of silicon (no dead space between pixels)
# This scanner is designed to be fixed (the phantom will rotate instead).
# Let's position it perpendicular to the Z axis at a radial distance of 80 mm.

## CTscanner system (this is the encompassing volume)
# This first volume containing the scanner should have the same hard-coded name
# as the one predefined in GATE (here CTscanner)
# Create it as a box that can contain all pixels
# Set it 80 mm away from the center of the world along the Z axis
# Set material Air, and visualize it as a white wire frame
/gate/world/daughters/name CTscanner
/gate/world/daughters/insert box
/gate/CTscanner/geometry/setXLength  60. mm
/gate/CTscanner/geometry/setYLength  60. mm
/gate/CTscanner/geometry/setZLength   3. mm

/gate/CTscanner/placement/setTranslation 0. 0. 80. mm # original position

#/gate/CTscanner/placement/setTranslation 0. -80. 0. mm # for parallel computing, 6/10/2022
#/gate/CTscanner/placement/setRotationAxis 1 0 0 # for parallel computing, 6/10/2022
#/gate/CTscanner/placement/setRotationAngle -90. deg # for parallel computing, 6/10/2022

/gate/CTscanner/setMaterial Air
/gate/CTscanner/vis/setColor white

## The first component of the CTscanner is the module
# CTSCANNER #   ---->   #  MODULE  #
# Here we will use only one module, so just create it identical to the encompassing volume
/gate/CTscanner/daughters/name module
/gate/CTscanner/daughters/insert box
/gate/module/geometry/setXLength  60. mm
/gate/module/geometry/setYLength  60. mm
/gate/module/geometry/setZLength   3. mm
/gate/module/setMaterial Air
/gate/module/vis/setColor white

## The second component of the CTscanner is the cluster (located inside the module)
# There are 3 possible clusters: cluster_0, cluster_1 and cluster_2
#  MODULE  #   ---->   # CLUSTER_0 #
# Here we will use only one type of clusters, so again just create it identical to the mother volume
/gate/module/daughters/name cluster
/gate/module/daughters/insert box
/gate/cluster/geometry/setXLength  60. mm
/gate/cluster/geometry/setYLength  60. mm
/gate/cluster/geometry/setZLength   3. mm
/gate/cluster/setMaterial Air
/gate/cluster/vis/setColor white

## The third component of the CTscanner is the pixel (located inside the cluster)
# There are 3 possible pixels, one by cluster: pixel_0 (in cluster_0), pixel_1 (in cluster_1) and pixel_2 (in cluster_2)
#  MODULE  #   ---->     # CLUSTER_0 #   ---->   # PIXEL_0 #
# Here we will use only one type of pixels
# The pixel size is 0.4 x 0.3 x 3 mm3
# Visualize it as a solid object, color of your choice
/gate/cluster/daughters/name pixel
/gate/cluster/daughters/insert box
/gate/pixel/geometry/setXLength 0.4  mm
/gate/pixel/geometry/setYLength 0.3 mm
/gate/pixel/geometry/setZLength 3. mm
/gate/pixel/setMaterial Silicon
/gate/pixel/vis/setColor red

# Now we can repeat the pixel inside the cluster
# We want 150 x 200 pixels
# Note: the repeated objects will be automatically centered on the original position of the single volume
# Set the correct number of repeated volumes and the repeat vector
/gate/pixel/repeaters/insert cubicArray
/gate/pixel/cubicArray/setRepeatNumberX 150
/gate/pixel/cubicArray/setRepeatNumberY 200
/gate/pixel/cubicArray/setRepeatNumberZ   1
/gate/pixel/cubicArray/setRepeatVector 0.4 0.3 0. mm
## Attach to hard-coded CTscanner system (here only cluster_0 and pixel_0 are used)
# These commands allow GATE to make a link between the arbitrary volumes you defined and the predefined components of
# the system in use (here the CTscanner). It is used to make a link with the output modules associated to the system

/gate/systems/CTscanner/module/attach module
/gate/systems/CTscanner/cluster_0/attach cluster
/gate/systems/CTscanner/pixel_0/attach pixel

## Attach the pixel as the crystal sensitive detector
# This command is used to specify which arbitrary volume is used as the sensitive volume.
# All interactions occuring in this volume can be recorded and analyzed.

Any feedback is greatly appreciated!
Gate-users mailing list
Gate-users at lists.opengatecollaboration.org<mailto:Gate-users at lists.opengatecollaboration.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20220707/7345aca4/attachment-0001.html>

More information about the Gate-users mailing list