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

Howard lomahu at gmail.com
Thu Jul 7 17:12:29 CEST 2022


I see. My apologies to David Sarrut then. Thank you David Leibold.

Best,
Howard

On Thu, Jul 7, 2022 at 10:30 AM David Leibold <D.Leibold at tudelft.nl> wrote:

> Hi Howard,
>
> you are welcome. I didn’t help with your subscription issue, though,
> credits go to David Sarrut  <david.sarrut at creatis.insa-lyon.fr>for that.
>
> Kind regards,
> David Leibold
>
>
> On 7 Jul2022, at 16:03, Howard <lomahu at gmail.com> wrote:
>
> HI David,
>
> Thank you very much for your swift response to my question. It is very
> helpful. I will read the document carefully then and learn how to use the
> information stored in root files. I am also grateful to your help with my
> earlier question on the subscription issue.
>
> Best,
> Howard
>
> On Thu, Jul 7, 2022 at 3:20 AM David Leibold <D.Leibold at tudelft.nl> wrote:
>
>> Dear Howard,
>>
>> you are using the imageCT output, and according to the docs
>> <https://urldefense.com/v3/__https://opengate.readthedocs.io/en/latest/data_output_management.html?highlight=imageCT*image-ct-output__;Iw!!PAKc-5URQlI!-arevwjGvGnlk0N06QSlf7YAK_z-IAknuLgEJ8hgubc6-IvsTOCCdqcGRjs5k_DiZ-XTcdQZsARpDZyKZA$>
>> :
>>
>> "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> 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/enable
>> /gate/output/imageCT/setFileName output_dir/proj
>>
>> What if I use ROOT output format?
>>
>> # Generic ROOT output
>> #/gate/output/root/enable
>> #/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/forceWireframe
>> /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/forceWireframe
>> /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/forceWireframe
>> /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/forceSolid
>> /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.
>> /gate/pixel/attachCrystalSD
>>
>> Any feedback is greatly appreciated!
>> Howard
>> _______________________________________________
>> Gate-users mailing list
>> Gate-users at lists.opengatecollaboration.org
>>
>> https://urldefense.com/v3/__http://lists.opengatecollaboration.org/mailman/listinfo/gate-users__;!!PAKc-5URQlI!67bPBpIIzr875HeAUMeSrs7828w1G-bZ8m6naO_kMl-WbQbJhr7FgdgGTV-IPNGqrVtm2Q42MVT9EHaLrg$
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20220707/bf8b8217/attachment.html>


More information about the Gate-users mailing list