[Gate-users] Movement of source with cold_area

Maxime Toussaint Maxime.Toussaint at USherbrooke.ca
Thu Apr 2 20:13:57 CEST 2020


Greetings,

No problemo about the (attempt to) help.

For the first part, I was refering to section 6.1.8 in [1], named "Defining a cold source". I have no idea if the "_phys" is required or if it is an error in the wiki.

For the second part, my bad. I assumed that an annulus was a 3D object from your message. I was wrong and it explains why you are not using it. We can define a hollowed cylinder geometry, so I had assumed that we could do the same with a source. You could stack a couple of annulus source but I hope you won't need to ressort to that!

I still do not have an idea about the problem you highlighted, but another hack would be to create a voxelized version of that phantom.

A third hack: if you are only doing one translation: extend, in the motion axis, your cold cylinder height to the full domain of position and do not apply motion on it. Thus, if the "forbid" command work but it cannot be moved, it should be okay.

Well, let's hope that a Gate Master will have a more pratical answer than those 3 hacks!

Have a nice day,
Maxime Toussaint

[1] https://opengate.readthedocs.io/en/latest/source_and_particle_management.html#id12

________________________________
De : Zhengzhi Liu <zliu36 at stanford.edu>
Envoyé : 2 avril 2020 13:32
À : Maxime Toussaint <Maxime.Toussaint at USherbrooke.ca>
Cc : gate-users <gate-users at lists.opengatecollaboration.org>
Objet : Re: [Gate-users] Movement of source with cold_area

Hi Maxime,

Thank you very much for scrutinizing my code and providing suggestions.

You said I "didn't add the '_phys' part on the object name when using the forbid command" and I "didn't follow that part of the wiki example". First, which wiki example were you referring to? Secondly, it looks like '_phys' is only used in the old way of moving source as stated here<https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopengate.readthedocs.io%2Fen%2Flatest%2Fsource_and_particle_management.html%23movement-of-a-source&data=02%7C01%7CMaxime.Toussaint%40usherbrooke.ca%7C35185c3a8f24483b35ba08d7d72c097c%7C3a5a8744593545f99423b32c3a5de082%7C0%7C0%7C637214457128673504&sdata=8ZrcE8%2BkKwESK9WZpKJddbbwZtrcX5kT0HfzGh4tOm0%3D&reserved=0> in the user manual. For creating a source with Forbid, I have not seen people appending  '_phys' to their object name.

Yes, it looks like the GATE is capable of creating an annulus source<https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopengate.readthedocs.io%2Fen%2Flatest%2Fsource_and_particle_management.html%23defining-the-shape-of-the-source&data=02%7C01%7CMaxime.Toussaint%40usherbrooke.ca%7C35185c3a8f24483b35ba08d7d72c097c%7C3a5a8744593545f99423b32c3a5de082%7C0%7C0%7C637214457128673504&sdata=q7R6sS30whSJ8vD7VIsiUxZGyt3h6xfvDD%2FPPz0gccI%3D&reserved=0>, however, literally, it is a ring source, as it does support adding halfz to its definition. Thus it has no thickness. I also am not sure which wiki example you were referring to.

What I am trying to achieve is to move the NEMA IEC Body Phantom<https://can01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.spect.com%2Fpub%2FNEMA_IEC_Body_Phantom_Set.pdf&data=02%7C01%7CMaxime.Toussaint%40usherbrooke.ca%7C35185c3a8f24483b35ba08d7d72c097c%7C3a5a8744593545f99423b32c3a5de082%7C0%7C0%7C637214457128683499&sdata=PUrUjK11X8vc9OyWqSthSAZtjknf7uLiQO6v5rcFTDc%3D&reserved=0> with the source in my simulated PET system along axial direction back and forth. The definition of the source is a little bit complicated, it uses many cold_area. Thus, I started with a simplistic case where there is only a source created with cold_area. However, after the movement, the annulus didn't maintain its shape. If I can't get this simple case work, I don't see any chance to move the NEMA phantom and source correctly.

I think sincerely thank you for your great contribution to GATE development and helping me and others.

Zhengzhi



On Thu, Apr 2, 2020 at 6:43 AM Maxime Toussaint <Maxime.Toussaint at usherbrooke.ca<mailto:Maxime.Toussaint at usherbrooke.ca>> wrote:
Greetings,

I do not know why the approach you used did not work. The only difference I have found between your code and the example shown in the wiki, is that you didn't add the "_phys" part on the object name when using the forbid command. Is there a reason for why you didn't follow that part of the wiki example?

Also, from my understanding, you want an annulus source. Why don't you directly define one as shown in the wiki? Is there a particularity in your case that make it invalid?

Have a nice day,
Maxime Toussaint


________________________________
De : Gate-users <gate-users-bounces at lists.opengatecollaboration.org<mailto:gate-users-bounces at lists.opengatecollaboration.org>> de la part de Zhengzhi Liu <zliu36 at stanford.edu<mailto:zliu36 at stanford.edu>>
Envoyé : 1 avril 2020 18:23
À : gate-users <gate-users at lists.opengatecollaboration.org<mailto:gate-users at lists.opengatecollaboration.org>>
Objet : [Gate-users] Movement of source with cold_area

Dear Gate users,

I am trying to move NEMA IQ phantom with the source along the axial direction back and forth to simulate a real experiment that we have done. I started with a much simpler case where there is only an annulus phantom with an annulus source in the simulated PET system. Phantom as a volume is very easy to be translated. According to the user manual, to move a source,  the source had better be attached to a volume. For common source without cold_area, it works very well. However, I found it did not work in the case where the source is determined by a volume and a cold_area (which is also a volume), such as the annulus source. Could anyone teach me how to do so if it is possible?

Following is my code, I moved the phantom and cold_area simultaneously, whether or not I attached the source to phantom, after the translation, GATE did not return an annulus source rather a cylindrical source same as the phantom as shown in the attached screenshot.

phantom.mac
#=====================================================
# WATER PHANTOM
#=====================================================
/gate/world/daughters/name                            Normal_AP
/gate/world/daughters/insert                          cylinder
/gate/Normal_AP/geometry/setRmax                      30.051 cm
/gate/Normal_AP/geometry/setRmin                      30.0 cm
/gate/Normal_AP/geometry/setHeight                    6 cm
/gate/Normal_AP/placement/setTranslation              0.0 0.0 0.0 cm
/gate/Normal_AP/moves/insert                       genericMove
/gate/Normal_AP/genericMove/setPlacementsFilename  ./macros/phantomMovement0.placements
/gate/Normal_AP/setMaterial                           Water
/gate/Normal_AP/vis/forceSolid
/gate/Normal_AP/vis/setColor                          white
/gate/Normal_AP/vis/setVisible                        1

/gate/world/daughters/name                            cold_area
/gate/world/daughters/insert                          cylinder
/gate/cold_area/geometry/setRmax                      30.00 cm
/gate/cold_area/geometry/setHeight                    6 cm
/gate/cold_area/placement/setTranslation              0.0 0.0 0.0 cm
/gate/cold_area/moves/insert                       genericMove
/gate/cold_area/genericMove/setPlacementsFilename  ./macros/phantomMovement0.placements
/gate/cold_area/setMaterial                           Air
/gate/cold_area/vis/forceWireframe
/gate/cold_area/vis/setColor white


source.mac
#=====================================================
# FASTER PRODUCTION MODULE FOR GE-68 ISOTOPES
#=====================================================
/gate/source/addSource                                 Ge68
/gate/source/Ge68/setActivity                          37000 Bq #1. uci
/gate/source/Ge68/gps/particle                         gamma
/gate/source/Ge68/setType                              backtoback
/gate/source/Ge68/gps/type                             Volume
/gate/source/Ge68/gps/shape                            Cylinder
/gate/source/Ge68/gps/radius                           30.051  cm
/gate/source/Ge68/gps/halfz                            3  cm
/gate/source/Ge68/gps/centre                           0. 0. 0. cm
#/gate/source/Ge68/attachTo                             Normal_AP
/gate/source/Ge68/gps/energytype                       Mono
/gate/source/Ge68/gps/monoenergy                       0.511 MeV
/gate/source/Ge68/gps/angtype                          iso
/gate/source/Ge68/setForcedUnstableFlag                false
 #/gate/source/Ge68/setForcedHalfLife                  6586 s
/gate/source/Ge68/gps/Forbid cold_area
/gate/source/Ge68/dump  1

/gate/source/list


Thanks a lot for your reading and any help.
Sincerely,
Zhengzhi

_______________________________________________
Gate-users mailing list
Gate-users at lists.opengatecollaboration.org<mailto:Gate-users at lists.opengatecollaboration.org>
http://lists.opengatecollaboration.org/mailman/listinfo/gate-users<https://can01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.opengatecollaboration.org%2Fmailman%2Flistinfo%2Fgate-users&data=02%7C01%7CMaxime.Toussaint%40usherbrooke.ca%7C35185c3a8f24483b35ba08d7d72c097c%7C3a5a8744593545f99423b32c3a5de082%7C0%7C0%7C637214457128683499&sdata=2taCxEwiYwpDsk5T2VKZXUCn%2BAkU8IqErywiX%2Bs9tas%3D&reserved=0>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20200402/7d5ce021/attachment-0001.html>


More information about the Gate-users mailing list