Skip to content

Opengate newsletter 5

David Sarrut edited this page Jan 29, 2024 · 4 revisions

News

Happy New Year 2024 to all of you! May this new year bring you joy, fun science and nice Monte Carlo simulations ;)

The Opengate 10 development is continuing, again with "consolidation" steps. It is not very sexy and does not come with a lot of new features but, hopefully, it will lead to a better and more solid code. The current beta version is now 10Beta7 (pip install --upgrade --pre opengate).

Here are some recent changes:

  • DICOM RT Plan tests: radiotherapy VMAT treatment plan from DICOM RT-Plan file can now be read and generate a complete dose distribution in a patient. This is still a preliminary version and first serves as a test. The next step will be to define an example. Kudos to Maxime!
  • Optical physics: the development continues with now material properties integration.
  • Dynamic parametrisation: a new way to manage changes during the courses of a simulation, such as volume movement or source modification, is in the way. Expect fun experiments in the following months!

I often refer to the tests that can be used as examples, but this is not always convenient. Indeed the tests are made for testing (really!?) some specific features and this is not always easy to learn from them. This is why we are trying also to provide some examples or exercices that may help to learn Gate10: https://gitlab.in2p3.fr/davidsarrut/gate_exercices_2

Focus on ... the Phase-Space actor

This "old chap" actor, designed almost 15 years ago has been ported to Gate10. The main structure is still the same: providing a volume (it could be a plane, a box, or any regular shape), this scorer stores information about every "particle first step" occurring in the volume. The output is stored in a conventional root file with one single tree named "PhaseSpace" and several branches according to the user's choice. What is new in Gate10 is the possibility to easily select the information that will be stored as branches, e.g. the energy, the position, the time, etc. The names of the possible information follow Geant4 names. The full list can be seen in the documentation, or the source code.

There is also a filter mechanism that allows to store some types of particles only, or to prevent some other types to be stored, see for example test023.

The code below shows you a simple phase space actor example.

# PhaseSpace Actor
phsp = sim.add_actor("PhaseSpaceActor", "PhaseSpace")
phsp.mother = plane.name
phsp.attributes = [
    "KineticEnergy",
    "Weight",
    "PostPosition",
    "PrePosition",
    "PrePositionLocal",
    "ParticleName",
    "PreDirection",
    "PreDirectionLocal",
    "PostDirection",
    "TimeFromBeginOfEvent",
    "GlobalTime",
    "LocalTime",
    "EventPosition",
    "PDGCode",
]
phsp.output = "output.root"

# add a filter
f = sim.add_filter("ParticleFilter", "f")
f.particle = "gamma"
phsp.filters.append(f)

A bunch of events in the following months:

  • January 31 to February 2: GATE10 Hackathon in Lyon, France
  • March 6-8: Remote training on Python data analysis for GATE simulations
  • March 25-26: GATE10 training in Seoul - South Korea
  • April 1-2: GATE10 training in Osaka University, Japan
  • May 22-23: OpenGATE scientific meeting in Paris-Saclay, France
  • July 8-11: ICCR2024 conference in Lyon, France, deadline 31/01
  • November 20-22: Remote GATE10 training for beginners

As always, your feedback is crucial to us. Please don't hesitate to reach out with any questions, suggestions, or comments.
Thank you for your continued support and contributions.

2024/01/29