Skip to main content

pyRadPlan

pyRadPlan is an open-source radiotherapy treatment planning toolkit designed for interoperability with matRad.

Development is lead by the Radiotherapy Optimization group at the German Cancer Research Center (DKFZ)

Concept and Goals

pyRadPlan uses a similar datastructure and workflow concept as in matRad, while trying to ensure that the corresponding datastructures can be easily imported and exported from/to matRad. This facilitates the application of either algortihms from matRad or native pyRadPlan at any staget of the treatment planning workflow.

To enforce valid datastructures, we perform validation and serialization with pydantic. Datastructures and algorithms rely mostly on SimpleITK, numpy, and scipy for internal data representation and processing.

If you are interested in helping with development, get in touch.

Note for Developers

pyRadPlan development uses unit-testing and code formatting via pre-commit hooks to ensure clean code. If you are a developer or want to contribute, make sure to clone the latest state via git. Then, we strongly suggest to create a virtual python environment with a suitable version and do an editable installation of pyRadPlan in dev mode: pip install -e .[dev]

Note If you are using venv to create a virtual environment in the project's root folder, we suggest to name it .venv as this folder will be automatically excluded by all formatters and linters

This will install an editable pyRadPlan module including pytest and pre-commit in addition to the standard modules.

  • pytest is used to run unit tests before publishing the code. Run on the test folder via pytest test, or choose any test file following the pytest syntax. We encourage writing at least fundamental unit tests for new code. Will also install coverage and the pytest extension to monitor coverage.
  • pre-commit allows for automatic code formatting to ensure following of PEPs (mainly PEP8 and PEP257).

After successfully running pip install -e .[dev] check in the console that pre-commit --version provides a correct response. Afterwards run pre-commit install. This reads the .pre-commit_config.yaml and adds a hook to your git repository, which whenever a commit is made the changed files are reformatted to ensure the PEP standards.

Matlab / Octave Engine

If you want to interface via matRad, you can use install the matlab engine by appending [matlab] to the pip install command. However, as there is some compatibility matrix for what matlabengine version is suitable for your Matlab installation, it might be better to not install the latest version but instead install the correct matlabengine manually before. To use Octave via oct2py, analogously append [octave].

Metadata

Release files for pyRadPlan 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyRadPlan 0.0.2
File Size Uploaded
pyradplan-0.0.2.tar.gz 51.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyRadPlan 0.0.2
File Interpreter ABI Platform
pyRadPlan-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 103.6 MB

Release files / pyradplan-0.0.2.tar.gz

Download URL pyradplan-0.0.2.tar.gz
Size 51.8 MB
Tags Source
SHA-256 checksum
How to use checksums
84941a9b0eb2626660dac4ffdaa3ad21fbc4f9e4b6bcdefe81c5121510e2d1e7
BLAKE2b-256 checksum
How to use checksums
459c4e6f570c34032ccd019f83f8b8a4b887797003c9c008d1646f6187c7b8cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.11.7

Release files / pyRadPlan-0.0.2-py3-none-any.whl

Download URL pyRadPlan-0.0.2-py3-none-any.whl
Size 51.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ca247973ed285f13cbfe68da9bc39a8b937431079dee1a8cf93a76070132052a
BLAKE2b-256 checksum
How to use checksums
39f572ed65bfd5184cbe445fb8ac43a6e9015e00ba883f6a08918470ab316d63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.11.7

Release history Release notifications | RSS feed

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page