[Gate-users] Multiple Fields

Elia Alessio alessio.elia at medaustron.at
Mon Sep 19 11:39:14 CEST 2016


Dear Awad,

I added some comments/answers to your questions. Please, do not forget to keep the main gate users list always in the loop. In this way everybody would be able to read and help. Hope my contribution will help.

Best,
Alessio

From: Awad Almarhaby [mailto:mph-awad at hotmail.com]
Sent: Mittwoch, 14. September 2016 16:43
To: Elia Alessio <alessio.elia at medaustron.at>
Subject: Re: Multiple Fields


Dear Elia,



Many thanks for your helpful replies and I apologize  for the extra questions. In fact, I am struggling at dose calculations.





-Should I use boxes instead of cylindrical/spherical phantoms to overcome the voxelization issue?

It is not mandatory. Basically it depends on what you need to do. If for you is good enough having a box instead of a cylinder or a sphere than you can easily score dose values directly as well. On the other hand, if you really need to simulate a cylindrical/spherical object, I would recommend to score the energy deposited and from these values calculate the dose in the volume of interest.



- Should the dose be calculated using the dose output or the energy deposited file?

Again, it depends on what you want to do.



-How can I estimate the dose theoretically before running simulations? Is it based on the number of particles? If yes, then how much protons or electrons required to produce 1 Gy in medium?

Good question. Yes, dose is related to number of particles that you delivered and yes, theoretically you can estimated the number of particles that you need in order to get a wanted value in the target, but here I think it is not easy to provide a generic answer and I guess is important referring to a more specific (and easier) situation (like considering water and only protons for example). In this case, you can analytically estimate the number of particles as long as you know the water mass stopping power value and the dose area product (both at reference depth) but I do not think you can actually simulate by a MC approach the number of particles that you will get (I mean, you could.. if you wait enough..). Indeed, a typical approach is to simulate a certain number of particles (lower compare the number that you actually need but high enough to fulfill your uncertainties requirements) and then re-scale the obtained dose.







I am really sorry about inconvenience.



Best regards,

Awad





Sent from Outlook<http://aka.ms/weboutlook>

________________________________
From: Elia Alessio <alessio.elia at medaustron.at<mailto:alessio.elia at medaustron.at>>
Sent: Wednesday, September 14, 2016 3:09 PM
To: Awad Almarhaby
Cc: gate-users at lists.opengatecollaboration.org<mailto:gate-users at lists.opengatecollaboration.org>
Subject: RE: Multiple Fields


Dear Awad,



Yes, the number of particles are divided into the number of sources you are simulating, therefore you will end up with the same dose values.

I just have a further small comment that can maybe be useful for you. I have noticed that you are directly scoring dose values into cylindrical/spherical objects. In this case, I would recommend you to enable the energy deposited flag:



/gate/actor/dose/enableEdep                     true



and therefore post process the dose in the volume of interest from these values. At the current status, the dose actor is taking into account your voxelized geometry for dose computation and not the real geometry of your object. This means that you could have some deviations in dose from the expected dose into cylindrical/spherical objects.

Hope this can help.



Best

Alessio







From: Gate-users [mailto:gate-users-bounces at lists.opengatecollaboration.org] On Behalf Of Awad Almarhaby
Sent: Mittwoch, 14. September 2016 11:41
To: gate-users at lists.opengatecollaboration.org<mailto:gate-users at lists.opengatecollaboration.org>
Subject: [Gate-users] Multiple Fields



Dears Gate users,



I am running an example as exercise for basic dose calculations.  It consists of a cylindrical phantom (patient) contains a  target treated by ONE proton PBS. Then I summed all the resulted dose in phantom and target separately (phantom 18.81 cGy, target 48.3 cGy). I run the example again with TWO beams and I got the same numbers for both dose actors. The number of primaries was  the same in both simulations.

Is the primaries are split on the two beams by default? Am I on the correct way of dose calc.?

Here a copy of the main macro.



Thanks in advance,

Awad





#=====================================================

# VERBOSE and VISUALISATION

#=====================================================



/control/execute mac/verbose.mac

#/control/execute mac/visu.mac



#=====================================================

# GEOMETRY

#=====================================================



/gate/geometry/setMaterialDatabase             data/GateMaterials.db

/gate/geometry/setMaterialDatabase             data/patient-HUmaterials.db



# WORLD

/gate/world/setMaterial                                          Air

/gate/world/geometry/setXLength                       5.0 m

/gate/world/geometry/setYLength                        5.0 m

/gate/world/geometry/setZLength                        5.0 m

#/gate/world/placement/setTranslation               0 0 0 mm



# WATERCYLINDER

/gate/world/daughters/name                                        water_cylinder

/gate/world/daughters/insert                                        cylinder

/gate/water_cylinder/setMaterial                                  Water

/gate/water_cylinder/geometry/setRmin                      0 cm

/gate/water_cylinder/geometry/setRmax                     15 cm

/gate/water_cylinder/geometry/setHeight                   40 cm

/gate/water_cylinder/placement/setRotationAxis       1 0 0

/gate/water_cylinder/placement/setRotationAngle     90 deg

/gate/water_cylinder/placement/setTranslation           0.0 0.0 0.0 cm

/gate/water_cylinder/vis/setColor                                    blue

/gate/water_cylinder/vis/forceWireframe



#Tumor

/gate/water_cylinder/daughters/name                            target

/gate/water_cylinder/daughters/insert                            sphere

/gate/target/setMaterial                                                     Water

/gate/target/geometry/setRmin                                        0 cm

/gate/target/geometry/setRmax                                       3 cm

/gate/target/placement/setTranslation                           0.0 0.0 0.0 cm

/gate/target/vis/setColor                                                    red





#=====================================================

# PHYSICS

#=====================================================



/gate/physics/addPhysicsList                  emstandard_opt3



/gate/physics/Gamma/SetCutInRegion            world 1 mm

/gate/physics/Electron/SetCutInRegion         world 1 mm

/gate/physics/Positron/SetCutInRegion         world 1 mm



/gate/physics/Gamma/SetCutInRegion            water_cylinder 0.1 mm

/gate/physics/Electron/SetCutInRegion          water_cylinder 0.1 mm

/gate/physics/Positron/SetCutInRegion          water_cylinder 0.1 mm



/gate/physics/Gamma/SetCutInRegion            target 0.1 mm

/gate/physics/Electron/SetCutInRegion         target 0.1 mm

/gate/physics/Positron/SetCutInRegion         target 0.1 mm



/gate/physics/SetMaxStepSizeInRegion          world 1 mm

/gate/physics/ActivateStepLimiter             proton

/gate/physics/ActivateStepLimiter             deuteron

/gate/physics/ActivateStepLimiter             triton

/gate/physics/ActivateStepLimiter             alpha

/gate/physics/ActivateStepLimiter             GenericIon



/gate/physics/ActivateStepLimiter             proton

/gate/physics/ActivateStepLimiter             e-





#=====================================================

# Statistics actor

#=====================================================

/gate/actor/addActor                           SimulationStatisticActor stat

/gate/actor/stat/saveEveryNSeconds             60

/gate/actor/stat/save                          output/statistics.txt





#=====================================================

# Dose Actor

#=====================================================



/gate/actor/addActor                                     DoseActor  dose

/gate/actor/dose/save                                    output/phantom2Fields.txt

/gate/actor/dose/attachTo

                    water_cylinder

/gate/actor/dose/stepHitType                       random

/gate/actor/dose/setPosition                        0 0 0 cm

/gate/actor/dose/setResolution                  100 100 300

/gate/actor/dose/setSize                               8  8  30 cm

/gate/actor/dose/saveEveryNSeconds         60

 /gate/actor/dose/enableEdep                       false

/gate/actor/dose/enableUncertaintyEdep   false

/gate/actor/dose/enableDose                        true

/gate/actor/dose/enableUncertaintyDose    true

/gate/actor/dose/enableNumberOfHits         false



/gate/actor/addActor                                          DoseActor  dose1

/gate/actor/dose1/save                                      output/target2Fields.txt

/gate/actor/dose1/attachTo

                         target

/gate/actor/dose1/stepHitType                          random

/gate/actor/dose1/setPosition                            0 0 0 cm

/gate/actor/dose1/setResolution                       100 100 100

/gate/actor/dose1/setSize                                    6  6  6 cm

/gate/actor/dose1/saveEveryNSeconds             60

/gate/actor/dose1/enableEdep                            false

/gate/actor/dose1/enableUncertaintyEdep         false

/gate/actor/dose1/enableDose                             true

/gate/actor/dose1/enableUncertaintyDose         true

/gate/actor/dose1/enableNumberOfHits            false





#=====================================

# SOURCE

#=====================================

/gate/source/addSource                                    PBS PencilBeam

/gate/source/PBS/setPosition                           0   0  -50 cm

/gate/source/PBS/setEnergy                            150 MeV

/gate/source/PBS/setSigmaEnergy                 0.1 MeV

/gate/source/PBS/setSigmaX                           3 mm

/gate/source/PBS/setSigmaY                            3 mm

/gate/source/PBS/setSigmaTheta                    1 mrad

/gate/source/PBS/setSigmaPhi                          1 mrad

/gate/source/PBS/setEllipseXThetaEmittance      5 mm*mrad

/gate/source/PBS/setEllipseXThetaRotationNorm   positive

/gate/source/PBS/setEllipseYPhiEmittance            5 mm*mrad

/gate/source/PBS/setEllipseYPhiRotationNorm     positive

/gate/source/PBS/setParticleType                            proton

/gate/source/PBS/setRotationAxis                           1 0 0

/gate/source/PBS/setRotationAngle                          0 deg



/gate/source/addSource                                         PBS2 PencilBeam

/gate/source/PBS2/setPosition                             0 0 50 cm

/gate/source/PBS2/setEnergy                                150 MeV

/gate/source/PBS2/setSigmaEnergy                      0.1 MeV

/gate/source/PBS2/setSigmaX                                 3 mm

/gate/source/PBS2/setSigmaY                                  3 mm

/gate/source/PBS2/setSigmaTheta                              1 mrad

/gate/source/PBS2/setSigmaPhi                                 1 mrad

/gate/source/PBS2/setEllipseXThetaEmittance      5 mm*mrad

/gate/source/PBS2/setEllipseXThetaRotationNorm   positive

/gate/source/PBS2/setEllipseYPhiEmittance                5 mm*mrad

/gate/source/PBS2/setEllipseYPhiRotationNorm     positive

/gate/source/PBS2/setParticleType                           proton

/gate/source/PBS2/setRotationAxis                            1 0 0

/gate/source/PBS2/setRotationAngle                         180 deg





#=====================================================

# INITIALISATION

#=====================================================



/gate/run/initialize





#=====================================================

# START BEAMS

#=====================================================



/gate/random/setEngineName MersenneTwister

/gate/random/setEngineSeed auto



# When only using the EmCalculator actor for various configurations

# (without caring of the dose deposition)

#/gate/application/setTotalNumberOfPrimaries 1

# Otherwise

/gate/application/setTotalNumberOfPrimaries     1000000



/gate/application/start





Sent from Outlook<http://aka.ms/weboutlook>

Disclaimer:
Please notice our E-Mail Disclaimer http://www.medaustron.at/email-disclaimer/

Disclaimer:
Please notice our E-Mail Disclaimer http://www.medaustron.at/email-disclaimer/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/mailman/private/gate-users/attachments/20160919/6d63113a/attachment-0001.html>


More information about the Gate-users mailing list