Skip to main content

GUI to analyze the results of a Monte-Carlo radiation simulation

Project description

TopasGraphSim

A GUI to simplify and streamline the plotting and analysis of medical physics simulations

This GUI can visualize and analyze percentage depth dose (pdd) and dose profiles (dp) simulations from TOPAS. Depth dose measurements are assumed to be in the z-direction, dose profiles in the x- or y-directions. Data read-in is handled by topas2numpy.

Installation

Install using pip:

$ pip install topasgraphsim     

Then, start the GUI by running:

$ python -m topasgraphsim

Or, if your Python is added to $PATH, simply run:

$ topasgraphsim

Open compatible files from the command line:

$ topasgraphsim "path_to_your_file"

Note: Linux users need to have python3-tk installed. If it isnt installed yet, use:

$ sudo apt-get install python3-tk

Also, you may need python-dev. Install if for your python version using:

$ sudo apt-get install python<your main version>-dev

Since all my testing in done on Windows 11, I cannot guarantee this will work on any other plattform. I'm open to suggestions or PRs making the software work better cross-plattfrom!

Features

  • Reproducible graphing and analysis of 1D TOPAS simulation for medical physics
  • Simultaneous plotting and parameter calculation for all data sets
  • Calculation of the Gamma Index with adjustable parameters
  • Graph adjustment options
    • Normalization (On/Off)
    • Error bars (On/Off)
    • Graph order and colors
    • Marker size and style
    • Line width
  • Drag and drop of files
  • Center axis deviation correction *
  • Import of EGS and RadCalc simulation results *
  • Import of custom measurements (as numpy .txt files) *
  • Import of PTW tbaScan (MEPHYSTO mc2) measurements
  • German and english language support
  • Dark mode

(*) Not yet implemented

Screenshots

Home

Tab

Manual

To begin, either create a new tab (View -> Tabs -> New tab) ot press Ctrl+N. Alternatively, you can directly open a TOPAS .csv file or a .mcc measurement by going to File -> Open ..., or by simply dragging the respective file onto the GUI. Under the Data tab, you can then add more files, and set general visualization settings, such as whether to normalize all graphs, which grid to show, and whether to include a legend.

Graph

After opening a file, its relevant parameters are automatically calculated and displayed unter the Parameters tab.

Under the Analysis tab, you can scale the graph, as well as offset it along both axes. If you have more than one graph loaded, you can compare the two using the desired gamma criteria.

Analysis

Unter the Settings tab, you find a variety of customization options. You can rename plots, change their display color, adjust the drawn line and its thickness. Additionally, you can customize the plot and axes titles, as well as displaying or hiding the individual points and error bars, if applicable.

Plot

All settings can be customized in general by going to File -> Default settings.

Parameters

Depending on the imported measurement, the following parameters can be calculated:

Measurement type Parameters
Depth dose Q-Factor zmax
Dose profile FWHM CAXdev FLATKrieger FLATstddev Penumbra (L&R) Integral (L&R)
  • Q-Factor : Radiation Quality Factor

  • zmax : Depth at Maximum

  • FWHM : Full-Width at Half-Maximum

  • CAXdev : Centre Axis Deviation

  • FLATKrieger : Flatness of Dose Plateau (Definition by Krieger)

  • FLATstddev : Flatness of Dose Plateau (Standard Deviation)

  • Penumbra (L&R) : Width of Left and Right Penumbra

  • Integral (L&R) : Integral below Left and Right Penumbra

Dependencies

The UI is based on the customtkinter library.

Requires python3, numpy, scipy, matplotlib, Pillow, python-opencv, pynput, requests, topas2numpy, and python-tkdnd.

Contact me!

Thank you for using TopasGraphSim! Please let me know about any issues you encounter, or suggestions/wishes you might have!

Downloads

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

topasgraphsim-23.0.0.tar.gz (86.1 kB view hashes)

Uploaded Source

Built Distribution

topasgraphsim-23.0.0-py3-none-any.whl (96.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page