<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="auto"><div>Just to clarify David, I think there was an important typo in your reply. I think you meant "Please note that this does NOT reflect what a realistic detector would measure", as the singles do not account for different weightings of photons based on energy, so you would need to integrate the energy from the ROOT file, as you then said "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." <br><div class="gmail_extra" dir="auto"><br></div><div class="gmail_extra" dir="auto"><br></div><div class="gmail_extra">Hope I haven't misunderstood you. Just clarifying for other readers. </div><div class="gmail_extra" dir="auto"><br></div><div class="gmail_extra" dir="auto">Olie</div><div class="gmail_extra" dir="auto"><br></div><div class="gmail_extra" dir="auto"><br></div><div class="gmail_extra" dir="auto"><br><div class="gmail_quote" dir="auto">On 7 Jul 2022 07:32, gate-users-request@lists.opengatecollaboration.org wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Send Gate-users mailing list submissions to<br>
        gate-users@lists.opengatecollaboration.org</p>
<p dir="ltr">To subscribe or unsubscribe via the World Wide Web, visit<br>
        https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.opengatecollaboration.org%2Fmailman%2Flistinfo%2Fgate-users&amp;data=05%7C01%7C%7C2ed0023625a04f6737c208da5fe93512%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637927752504983410%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=5qpBhmmOCPvXDvYLN8dcJeB7fpKyLZuC8tpUp7bIaC4%3D&amp;reserved=0<br>
or, via email, send a message with subject or body 'help' to<br>
        gate-users-request@lists.opengatecollaboration.org</p>
<p dir="ltr">You can reach the person managing the list at<br>
        gate-users-owner@lists.opengatecollaboration.org</p>
<p dir="ltr">When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Gate-users digest..."<br></p>
<p dir="ltr">Today's Topics:</p>
<p dir="ltr">   1. what does each detector pixel record? (Howard)<br>
   2. Re: what does each detector pixel record? (David Leibold)<br></p>
<p dir="ltr">----------------------------------------------------------------------</p>
<p dir="ltr">Message: 1<br>
Date: Wed, 6 Jul 2022 21:40:15 -0400<br>
From: Howard <lomahu@gmail.com><br>
To: Gate-users <gate-users@lists.opengatecollaboration.org><br>
Subject: [Gate-users] what does each detector pixel record?<br>
Message-ID:<br>
        <CAKr9h5VC1oww+X0Cfvf-LAtFwtrzruGbmNaE=yrz7wCTRkZkRw@mail.gmail.com><br>
Content-Type: text/plain; charset="utf-8"</p>
<p dir="ltr">Hi GATE users,</p>
<p dir="ltr">I have been using GATE to simulate CBCT. One question I have been thinking<br>
to ask is: what does each detector pixel (set as the crystal sensitive<br>
detector) record, photon energy or photo number?</p>
<p dir="ltr">Let's say the output of each run (one projection angle) is set as:</p>
<p dir="ltr"># Specific CT Image output<br>
/gate/output/imageCT/enable<br>
/gate/output/imageCT/setFileName output_dir/proj</p>
<p dir="ltr">What if I use ROOT output format?</p>
<p dir="ltr"># Generic ROOT output<br>
#/gate/output/root/enable<br>
#/gate/output/root/setFileName output_dir/results</p>
<p dir="ltr">My detector macro is set as follows for your reference.</p>
<p dir="ltr">####  General informations about the scanner<br>
# CT scanner for small animal imaging<br>
# 150 x 200 pixels in one module<br>
# Size of pixels : 0.4 x 0.3 x 3.0 mm3<br>
# Pixels are made up of silicon (no dead space between pixels)<br>
# This scanner is designed to be fixed (the phantom will rotate instead).<br>
# Let's position it perpendicular to the Z axis at a radial distance of 80<br>
mm.<br></p>
<p dir="ltr">## CTscanner system (this is the encompassing volume)<br>
# This first volume containing the scanner should have the same hard-coded<br>
name<br>
# as the one predefined in GATE (here CTscanner)<br>
# Create it as a box that can contain all pixels<br>
# Set it 80 mm away from the center of the world along the Z axis<br>
# Set material Air, and visualize it as a white wire frame<br>
/gate/world/daughters/name CTscanner<br>
/gate/world/daughters/insert box<br>
/gate/CTscanner/geometry/setXLength  60. mm<br>
/gate/CTscanner/geometry/setYLength  60. mm<br>
/gate/CTscanner/geometry/setZLength   3. mm</p>
<p dir="ltr">/gate/CTscanner/placement/setTranslation 0. 0. 80. mm # original position</p>
<p dir="ltr">#/gate/CTscanner/placement/setTranslation 0. -80. 0. mm # for parallel<br>
computing, 6/10/2022<br>
#/gate/CTscanner/placement/setRotationAxis 1 0 0 # for parallel computing,<br>
6/10/2022<br>
#/gate/CTscanner/placement/setRotationAngle -90. deg # for parallel<br>
computing, 6/10/2022<br></p>
<p dir="ltr">/gate/CTscanner/setMaterial Air<br>
/gate/CTscanner/vis/forceWireframe<br>
/gate/CTscanner/vis/setColor white</p>
<p dir="ltr">## The first component of the CTscanner is the module<br>
# CTSCANNER #   ---->   #  MODULE  #<br>
# Here we will use only one module, so just create it identical to the<br>
encompassing volume<br>
/gate/CTscanner/daughters/name module<br>
/gate/CTscanner/daughters/insert box<br>
/gate/module/geometry/setXLength  60. mm<br>
/gate/module/geometry/setYLength  60. mm<br>
/gate/module/geometry/setZLength   3. mm<br>
/gate/module/setMaterial Air<br>
/gate/module/vis/forceWireframe<br>
/gate/module/vis/setColor white</p>
<p dir="ltr">## The second component of the CTscanner is the cluster (located inside the<br>
module)<br>
# There are 3 possible clusters: cluster_0, cluster_1 and cluster_2<br>
#  MODULE  #   ---->   # CLUSTER_0 #<br>
# Here we will use only one type of clusters, so again just create it<br>
identical to the mother volume<br>
/gate/module/daughters/name cluster<br>
/gate/module/daughters/insert box<br>
/gate/cluster/geometry/setXLength  60. mm<br>
/gate/cluster/geometry/setYLength  60. mm<br>
/gate/cluster/geometry/setZLength   3. mm<br>
/gate/cluster/setMaterial Air<br>
/gate/cluster/vis/forceWireframe<br>
/gate/cluster/vis/setColor white</p>
<p dir="ltr">## The third component of the CTscanner is the pixel (located inside the<br>
cluster)<br>
# There are 3 possible pixels, one by cluster: pixel_0 (in cluster_0),<br>
pixel_1 (in cluster_1) and pixel_2 (in cluster_2)<br>
#  MODULE  #   ---->     # CLUSTER_0 #   ---->   # PIXEL_0 #<br>
# Here we will use only one type of pixels<br>
# The pixel size is 0.4 x 0.3 x 3 mm3<br>
# Visualize it as a solid object, color of your choice<br>
/gate/cluster/daughters/name pixel<br>
/gate/cluster/daughters/insert box<br>
/gate/pixel/geometry/setXLength 0.4  mm<br>
/gate/pixel/geometry/setYLength 0.3 mm<br>
/gate/pixel/geometry/setZLength 3. mm<br>
/gate/pixel/setMaterial Silicon<br>
/gate/pixel/vis/forceSolid<br>
/gate/pixel/vis/setColor red</p>
<p dir="ltr"># Now we can repeat the pixel inside the cluster<br>
# We want 150 x 200 pixels<br>
# Note: the repeated objects will be automatically centered on the original<br>
position of the single volume<br>
# Set the correct number of repeated volumes and the repeat vector<br>
/gate/pixel/repeaters/insert cubicArray<br>
/gate/pixel/cubicArray/setRepeatNumberX 150<br>
/gate/pixel/cubicArray/setRepeatNumberY 200<br>
/gate/pixel/cubicArray/setRepeatNumberZ   1<br>
/gate/pixel/cubicArray/setRepeatVector 0.4 0.3 0. mm<br>
## Attach to hard-coded CTscanner system (here only cluster_0 and pixel_0<br>
are used)<br>
# These commands allow GATE to make a link between the arbitrary volumes<br>
you defined and the predefined components of<br>
# the system in use (here the CTscanner). It is used to make a link with<br>
the output modules associated to the system</p>
<p dir="ltr">/gate/systems/CTscanner/module/attach module<br>
/gate/systems/CTscanner/cluster_0/attach cluster<br>
/gate/systems/CTscanner/pixel_0/attach pixel</p>
<p dir="ltr">## Attach the pixel as the crystal sensitive detector<br>
# This command is used to specify which arbitrary volume is used as the<br>
sensitive volume.<br>
# All interactions occuring in this volume can be recorded and analyzed.<br>
/gate/pixel/attachCrystalSD</p>
<p dir="ltr">Any feedback is greatly appreciated!<br>
Howard<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.opengatecollaboration.org%2Fpipermail%2Fgate-users%2Fattachments%2F20220706%2F117bc599%2Fattachment-0001.html&amp;data=05%7C01%7C%7C2ed0023625a04f6737c208da5fe93512%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637927752504983410%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=RyvKxZWFrtvaMU2w%2F1acCB9NXy9nZaUQi%2F1ldzqCafg%3D&amp;reserved=0></p>
<p dir="ltr">------------------------------</p>
<p dir="ltr">Message: 2<br>
Date: Thu, 7 Jul 2022 07:20:15 +0000<br>
From: David Leibold <D.Leibold@tudelft.nl><br>
To: Howard <lomahu@gmail.com><br>
Cc: Gate-users <gate-users@lists.opengatecollaboration.org><br>
Subject: Re: [Gate-users] what does each detector pixel record?<br>
Message-ID: <F9881B99-667E-496D-8C59-752D94597E38@tudelft.nl><br>
Content-Type: text/plain; charset="utf-8"</p>
<p dir="ltr">Dear Howard,</p>
<p dir="ltr">you are using the imageCT output, and according to the docs<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopengate.readthedocs.io%2Fen%2Flatest%2Fdata_output_management.html%3Fhighlight%3DimageCT%23image-ct-output&amp;data=05%7C01%7C%7C2ed0023625a04f6737c208da5fe93512%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637927752504983410%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=tFIMSjl99kQtywYW9suNiLx20bPXBZfaq157hbYQsaM%3D&amp;reserved=0>:</p>
<p dir="ltr">"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"</p>
<p dir="ltr">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.</p>
<p dir="ltr">Kind regards,<br>
David Leibold<br><br></p>
<p dir="ltr">On 7 Jul2022, at 03:40, Howard <lomahu@gmail.com<mailto:lomahu@gmail.com>> wrote:</p>
<p dir="ltr">Hi GATE users,</p>
<p dir="ltr">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?</p>
<p dir="ltr">Let's say the output of each run (one projection angle) is set as:</p>
<p dir="ltr"># Specific CT Image output<br>
/gate/output/imageCT/enable<br>
/gate/output/imageCT/setFileName output_dir/proj</p>
<p dir="ltr">What if I use ROOT output format?</p>
<p dir="ltr"># Generic ROOT output<br>
#/gate/output/root/enable<br>
#/gate/output/root/setFileName output_dir/results</p>
<p dir="ltr">My detector macro is set as follows for your reference.</p>
<p dir="ltr">####  General informations about the scanner<br>
# CT scanner for small animal imaging<br>
# 150 x 200 pixels in one module<br>
# Size of pixels : 0.4 x 0.3 x 3.0 mm3<br>
# Pixels are made up of silicon (no dead space between pixels)<br>
# This scanner is designed to be fixed (the phantom will rotate instead).<br>
# Let's position it perpendicular to the Z axis at a radial distance of 80 mm.<br></p>
<p dir="ltr">## CTscanner system (this is the encompassing volume)<br>
# This first volume containing the scanner should have the same hard-coded name<br>
# as the one predefined in GATE (here CTscanner)<br>
# Create it as a box that can contain all pixels<br>
# Set it 80 mm away from the center of the world along the Z axis<br>
# Set material Air, and visualize it as a white wire frame<br>
/gate/world/daughters/name CTscanner<br>
/gate/world/daughters/insert box<br>
/gate/CTscanner/geometry/setXLength  60. mm<br>
/gate/CTscanner/geometry/setYLength  60. mm<br>
/gate/CTscanner/geometry/setZLength   3. mm</p>
<p dir="ltr">/gate/CTscanner/placement/setTranslation 0. 0. 80. mm # original position</p>
<p dir="ltr">#/gate/CTscanner/placement/setTranslation 0. -80. 0. mm # for parallel computing, 6/10/2022<br>
#/gate/CTscanner/placement/setRotationAxis 1 0 0 # for parallel computing, 6/10/2022<br>
#/gate/CTscanner/placement/setRotationAngle -90. deg # for parallel computing, 6/10/2022<br></p>
<p dir="ltr">/gate/CTscanner/setMaterial Air<br>
/gate/CTscanner/vis/forceWireframe<br>
/gate/CTscanner/vis/setColor white</p>
<p dir="ltr">## The first component of the CTscanner is the module<br>
# CTSCANNER #   ---->   #  MODULE  #<br>
# Here we will use only one module, so just create it identical to the encompassing volume<br>
/gate/CTscanner/daughters/name module<br>
/gate/CTscanner/daughters/insert box<br>
/gate/module/geometry/setXLength  60. mm<br>
/gate/module/geometry/setYLength  60. mm<br>
/gate/module/geometry/setZLength   3. mm<br>
/gate/module/setMaterial Air<br>
/gate/module/vis/forceWireframe<br>
/gate/module/vis/setColor white</p>
<p dir="ltr">## The second component of the CTscanner is the cluster (located inside the module)<br>
# There are 3 possible clusters: cluster_0, cluster_1 and cluster_2<br>
#  MODULE  #   ---->   # CLUSTER_0 #<br>
# Here we will use only one type of clusters, so again just create it identical to the mother volume<br>
/gate/module/daughters/name cluster<br>
/gate/module/daughters/insert box<br>
/gate/cluster/geometry/setXLength  60. mm<br>
/gate/cluster/geometry/setYLength  60. mm<br>
/gate/cluster/geometry/setZLength   3. mm<br>
/gate/cluster/setMaterial Air<br>
/gate/cluster/vis/forceWireframe<br>
/gate/cluster/vis/setColor white</p>
<p dir="ltr">## The third component of the CTscanner is the pixel (located inside the cluster)<br>
# There are 3 possible pixels, one by cluster: pixel_0 (in cluster_0), pixel_1 (in cluster_1) and pixel_2 (in cluster_2)<br>
#  MODULE  #   ---->     # CLUSTER_0 #   ---->   # PIXEL_0 #<br>
# Here we will use only one type of pixels<br>
# The pixel size is 0.4 x 0.3 x 3 mm3<br>
# Visualize it as a solid object, color of your choice<br>
/gate/cluster/daughters/name pixel<br>
/gate/cluster/daughters/insert box<br>
/gate/pixel/geometry/setXLength 0.4  mm<br>
/gate/pixel/geometry/setYLength 0.3 mm<br>
/gate/pixel/geometry/setZLength 3. mm<br>
/gate/pixel/setMaterial Silicon<br>
/gate/pixel/vis/forceSolid<br>
/gate/pixel/vis/setColor red</p>
<p dir="ltr"># Now we can repeat the pixel inside the cluster<br>
# We want 150 x 200 pixels<br>
# Note: the repeated objects will be automatically centered on the original position of the single volume<br>
# Set the correct number of repeated volumes and the repeat vector<br>
/gate/pixel/repeaters/insert cubicArray<br>
/gate/pixel/cubicArray/setRepeatNumberX 150<br>
/gate/pixel/cubicArray/setRepeatNumberY 200<br>
/gate/pixel/cubicArray/setRepeatNumberZ   1<br>
/gate/pixel/cubicArray/setRepeatVector 0.4 0.3 0. mm<br>
## Attach to hard-coded CTscanner system (here only cluster_0 and pixel_0 are used)<br>
# These commands allow GATE to make a link between the arbitrary volumes you defined and the predefined components of<br>
# the system in use (here the CTscanner). It is used to make a link with the output modules associated to the system</p>
<p dir="ltr">/gate/systems/CTscanner/module/attach module<br>
/gate/systems/CTscanner/cluster_0/attach cluster<br>
/gate/systems/CTscanner/pixel_0/attach pixel</p>
<p dir="ltr">## Attach the pixel as the crystal sensitive detector<br>
# This command is used to specify which arbitrary volume is used as the sensitive volume.<br>
# All interactions occuring in this volume can be recorded and analyzed.<br>
/gate/pixel/attachCrystalSD</p>
<p dir="ltr">Any feedback is greatly appreciated!<br>
Howard<br>
_______________________________________________<br>
Gate-users mailing list<br>
Gate-users@lists.opengatecollaboration.org<mailto:Gate-users@lists.opengatecollaboration.org><br>
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__http%3A%2F%2Flists.opengatecollaboration.org%2Fmailman%2Flistinfo%2Fgate-users__%3B!!PAKc-5URQlI!67bPBpIIzr875HeAUMeSrs7828w1G-bZ8m6naO_kMl-WbQbJhr7FgdgGTV-IPNGqrVtm2Q42MVT9EHaLrg%24&amp;data=05%7C01%7C%7C2ed0023625a04f6737c208da5fe93512%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637927752504983410%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=5T1KecRLPwHpkm5Jdg90RFF3sJAQFqLFYy3tfXx7WMk%3D&amp;reserved=0</p>
<p dir="ltr">-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.opengatecollaboration.org%2Fpipermail%2Fgate-users%2Fattachments%2F20220707%2F7345aca4%2Fattachment.html&amp;data=05%7C01%7C%7C2ed0023625a04f6737c208da5fe93512%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637927752504983410%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=UAGPeOuQYpykhQIbirWbhw9uC8Ohrsfky4FZdQO82Cg%3D&amp;reserved=0></p>
<p dir="ltr">------------------------------</p>
<p dir="ltr">Subject: Digest Footer</p>
<p dir="ltr">_______________________________________________<br>
Gate-users mailing list<br>
Gate-users@lists.opengatecollaboration.org<br>
https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.opengatecollaboration.org%2Fmailman%2Flistinfo%2Fgate-users&amp;data=05%7C01%7C%7C2ed0023625a04f6737c208da5fe93512%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637927752504983410%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=5qpBhmmOCPvXDvYLN8dcJeB7fpKyLZuC8tpUp7bIaC4%3D&amp;reserved=0</p>
<p dir="ltr">------------------------------</p>
<p dir="ltr">End of Gate-users Digest, Vol 194, Issue 6<br>
******************************************<br>
</p>
</blockquote></div><br></div></div></div>