# <p align="center">TopasGraphSim</p>
## <p align="center">A GUI to simplify and streamline the plotting and analysis of medical physics simulations</p>
<p align="center">
<img src="https://user-images.githubusercontent.com/87897942/152699152-d4d39654-4449-4354-b899-4adc81eb25a7.png" width="320" height="160" />
</p>
This GUI can visualize and analyze percentage depth dose (pdd) and dose profiles (dp) simulations from [TOPAS](http://www.topasmc.org/). 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](https://github.com/davidchall/topas2numpy).
## Installation
Install using pip:
```console
$ pip install topasgraphsim
```
Then, start the GUI by running:
```console
$ python -m topasgraphsim
```
Or, if your Python is added to $PATH, simply run:
```console
$ topasgraphsim
```
Open compatible files from the command line:
```console
$ topasgraphsim "path_to_your_file"
```
Since all my testing in done on Windows 11, I cannot guarantee ToapsGrapSim will work on any other plattform. I'm open to suggestions or PRs making the software work better cross-plattfrom!
## Features
Visit the [wiki](https://github.com/sebasj13/TopasGraphSim/wiki) for detailed information!
Highlights include:
- 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 RadCalc OAR and PDD data, RayStation and Eclipse depth doses and dose profiles, and Slicer line profiles
- Import of custom measurements (as numpy .txt files)
- Import of PTW tbaScan (MEPHYSTO mc<sup>2</sup>) measurements
- German and english language support
- Dark mode
## Screenshots
![main](https://user-images.githubusercontent.com/87897942/229997233-4be40bfb-a358-46b9-b614-0bff73f52e76.png)
![tab](https://user-images.githubusercontent.com/87897942/229997238-3221c49b-52c2-400f-bd6d-f8d94a07e827.png)
## Parameters
Depending on the imported measurement, the following parameters can be calculated:
| Measurement type | Parameters | | | | | |
| ---------------- | :--------: | :---------------: | :--------------------: | :-------------------: | :------------: | :------------: |
| | | | | | | |
| Depth dose | Q-Factor | z<sub>max</sub> | | | | |
| | | | | | | |
| Dose profile | FWHM | CAX<sub>dev</sub> | FLAT<sub>Krieger</sub> | FLAT<sub>stddev</sub> | Penumbra (L&R) | Integral (L&R) |
- Q-Factor : Radiation Quality Factor
- z<sub>max</sub> : Depth at Maximum
- FWHM : Full-Width at Half-Maximum
- CAX<sub>dev</sub> : Centre Axis Deviation
- FLAT<sub>Krieger</sub> : Flatness of Dose Plateau (Definition by Krieger)
- FLAT<sub>stddev</sub> : 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](http://github.com/TomSchimansky/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!
<br></br>
[![Downloads](https://static.pepy.tech/personalized-badge/topasgraphsim?period=total&units=international_system&left_color=black&right_color=blue&left_text=Downloads)](https://pepy.tech/project/topasgraphsim)
Raw data
{
"_id": null,
"home_page": "https://github.com/sebasj13/TopasGraphSim",
"name": "topasgraphsim",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "topas, monte-carlo, python, simulation",
"author": "Sebastian Sch\u00e4fer",
"author_email": "sebastian.schaefer@student.uni-halle.de",
"download_url": "https://files.pythonhosted.org/packages/d9/72/90cc7513ce9fe45a634959c06b3eaea6ff9dff75abf7a6f90adeff31b6a1/topasgraphsim-27.0.1.tar.gz",
"platform": null,
"description": "# <p align=\"center\">TopasGraphSim</p>\r\n\r\n## <p align=\"center\">A GUI to simplify and streamline the plotting and analysis of medical physics simulations</p>\r\n\r\n<p align=\"center\">\r\n<img src=\"https://user-images.githubusercontent.com/87897942/152699152-d4d39654-4449-4354-b899-4adc81eb25a7.png\" width=\"320\" height=\"160\" />\r\n</p>\r\n\r\nThis GUI can visualize and analyze percentage depth dose (pdd) and dose profiles (dp) simulations from [TOPAS](http://www.topasmc.org/). 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](https://github.com/davidchall/topas2numpy).\r\n\r\n## Installation\r\n\r\nInstall using pip:\r\n\r\n```console\r\n$ pip install topasgraphsim \r\n```\r\n \r\nThen, start the GUI by running:\r\n \r\n```console\r\n$ python -m topasgraphsim\r\n```\r\n\r\nOr, if your Python is added to $PATH, simply run:\r\n\r\n```console\r\n$ topasgraphsim\r\n```\r\n\r\nOpen compatible files from the command line:\r\n\r\n```console\r\n$ topasgraphsim \"path_to_your_file\"\r\n```\r\n\r\nSince all my testing in done on Windows 11, I cannot guarantee ToapsGrapSim will work on any other plattform. I'm open to suggestions or PRs making the software work better cross-plattfrom!\r\n\r\n## Features\r\n\r\nVisit the [wiki](https://github.com/sebasj13/TopasGraphSim/wiki) for detailed information!\r\n\r\nHighlights include:\r\n\r\n - Reproducible graphing and analysis of 1D TOPAS simulation for medical physics\r\n - Simultaneous plotting and parameter calculation for all data sets\r\n - Calculation of the Gamma Index with adjustable parameters\r\n - Graph adjustment options\r\n * Normalization (On/Off)\r\n * Error bars (On/Off)\r\n * Graph order and colors\r\n * Marker size and style\r\n * Line width\r\n - Drag and drop of files\r\n - Center axis deviation correction\r\n - Import of RadCalc OAR and PDD data, RayStation and Eclipse depth doses and dose profiles, and Slicer line profiles \r\n - Import of custom measurements (as numpy .txt files)\r\n - Import of PTW tbaScan (MEPHYSTO mc<sup>2</sup>) measurements\r\n - German and english language support\r\n - Dark mode\r\n\r\n ## Screenshots\r\n \r\n ![main](https://user-images.githubusercontent.com/87897942/229997233-4be40bfb-a358-46b9-b614-0bff73f52e76.png)\r\n \r\n![tab](https://user-images.githubusercontent.com/87897942/229997238-3221c49b-52c2-400f-bd6d-f8d94a07e827.png)\r\n\r\n ## Parameters\r\n\r\nDepending on the imported measurement, the following parameters can be calculated:\r\n\r\n| Measurement type | Parameters | | | | | |\r\n| ---------------- | :--------: | :---------------: | :--------------------: | :-------------------: | :------------: | :------------: |\r\n| | | | | | | |\r\n| Depth dose | Q-Factor | z<sub>max</sub> | | | | |\r\n| | | | | | | |\r\n| Dose profile | FWHM | CAX<sub>dev</sub> | FLAT<sub>Krieger</sub> | FLAT<sub>stddev</sub> | Penumbra (L&R) | Integral (L&R) |\r\n\r\n- Q-Factor : Radiation Quality Factor\r\n- z<sub>max</sub> : Depth at Maximum\r\n\r\n- FWHM : Full-Width at Half-Maximum\r\n- CAX<sub>dev</sub> : Centre Axis Deviation\r\n- FLAT<sub>Krieger</sub> : Flatness of Dose Plateau (Definition by Krieger)\r\n- FLAT<sub>stddev</sub> : Flatness of Dose Plateau (Standard Deviation)\r\n- Penumbra (L&R) : Width of Left and Right Penumbra\r\n- Integral (L&R) : Integral below Left and Right Penumbra\r\n\r\n## Dependencies\r\n\r\nThe UI is based on the [customtkinter](http://github.com/TomSchimansky/CustomTkinter) library.\r\n\r\nRequires python3, numpy, scipy, matplotlib, Pillow, python-opencv, pynput, requests, topas2numpy, and python-tkdnd.\r\n## Contact me!\r\n\r\nThank you for using TopasGraphSim! Please let me know about any issues you encounter, or suggestions/wishes you might have! \r\n<br></br>\r\n[![Downloads](https://static.pepy.tech/personalized-badge/topasgraphsim?period=total&units=international_system&left_color=black&right_color=blue&left_text=Downloads)](https://pepy.tech/project/topasgraphsim)\r\n",
"bugtrack_url": null,
"license": null,
"summary": "GUI to analyze the results of a Monte-Carlo radiation simulation",
"version": "27.0.1",
"project_urls": {
"Bug Tracker": "https://github.com/sebasj13/TopasGraphSim/issues",
"Homepage": "https://github.com/sebasj13/TopasGraphSim"
},
"split_keywords": [
"topas",
" monte-carlo",
" python",
" simulation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "98e3bd65280b59ce3919ecdfec160e4afa1bcecc624fa2398d2e9160c6bf5fcc",
"md5": "5aa9ad8fa716ce85c7727e61b624bef5",
"sha256": "ab0a396e1b1428521e79f4d1cc4e4b61fc7b1810d3d7b86f812f530755e60c24"
},
"downloads": -1,
"filename": "topasgraphsim-27.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5aa9ad8fa716ce85c7727e61b624bef5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 131739,
"upload_time": "2024-12-04T18:54:32",
"upload_time_iso_8601": "2024-12-04T18:54:32.806997Z",
"url": "https://files.pythonhosted.org/packages/98/e3/bd65280b59ce3919ecdfec160e4afa1bcecc624fa2398d2e9160c6bf5fcc/topasgraphsim-27.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d97290cc7513ce9fe45a634959c06b3eaea6ff9dff75abf7a6f90adeff31b6a1",
"md5": "65bbd227782fc9859c187d6e8405f28e",
"sha256": "8aa8dee3ffe9634e9db385602d1c566df3d099a2c1a2461cf787b2c3998f234a"
},
"downloads": -1,
"filename": "topasgraphsim-27.0.1.tar.gz",
"has_sig": false,
"md5_digest": "65bbd227782fc9859c187d6e8405f28e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 105246,
"upload_time": "2024-12-04T18:54:35",
"upload_time_iso_8601": "2024-12-04T18:54:35.259623Z",
"url": "https://files.pythonhosted.org/packages/d9/72/90cc7513ce9fe45a634959c06b3eaea6ff9dff75abf7a6f90adeff31b6a1/topasgraphsim-27.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-04 18:54:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sebasj13",
"github_project": "TopasGraphSim",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "topasgraphsim"
}