Skip to content

Releases: e0404/pyRadPlan

v0.3.3

14 Apr 22:15

Choose a tag to compare

Hotfix to a raytracer bug that created NaN's in individual rays in certain geometries when calculating the radiological depth cube.


Added

  • Automatic Release workflow on GitHub reading CHANGELOG.md and tag message
  • Benchmark Folder with inital Raytracer benchmark that can be run with pytest-benchmark

Changed

  • Changelog now follows thee Keep A Changelog conventions

Fixed

  • Fixed raytracer issue where certain geometrical configurations could lead to individual rays starting with invalid indices, inserting misplaced NaN's into the radiological depth cube.

Patch 0.3.2

09 Apr 22:15

Choose a tag to compare

Patch 0.3.2

Small patch release with a new optimization objective, a structure for Beam Limiting Devices for Field/Shape-based dose calculation, and several bug fixes, and a CITATION.cff.

New Features

  • Mimicking objective for dose-mimicking optimization (SquaredMimicking)
  • includes prototype for field-based dose calculation using Beam Limiting Device & FieldShape hierarchy
  • Added CITATION.cff with authors and ORCIDs

Bug Fixes

  • Raytracer candidate matrix now uses lateral cutoff by default (overridable)
  • Fixed binary mask interpolation in VOI
  • Fixed import of empty voxel index lists from matRad
  • Fixed crash when optimization problem has no objectives
  • Fixed export of None values and type check in dij/grids
  • Fixed missing x-divergence of ray in FRED MC engine
  • Fixed single-field STF generator to properly inherit from IMRT generator

Notes

This patch release was used for the baseline examples in DoseRad2026: https://github.com/DoseRad2026/pyradplan-pb-baseline

Pre-Release 0.3.0

12 Jan 15:12

Choose a tag to compare

Pre-Release 0.3.0

This update features Array API compatibility, a FRED interface, VHEE model, documentation, examples in jupytext style, some refactoring and bugfixes.
We further are removing python 3.9 support due to array api compatibility.

New Features

  • Partly integrated Array API compatibility. Coming with GPU support for Cupy and Torch. Note: Python 3.9 support has been removed.
  • FRED interface (Monte Carlo tool)
  • VHEE planning with a Generic (unfocused) beam and a focused beam.
  • dij.compute_result_ct_grid() now returns quantities per beam too.
  • create_body_segmentation() method for the CST object
  • Option to cancel solver at any iteration via keyboard input

Bug Fixes & Performance

  • Increased memory efficiency in dose calc
  • Fixed overlap priorities when similar levels exist
  • Fixed np.floating deprecation
  • Fixed pydantic>=2.11 compatibility
  • Fixed issues with single bixel calculations in Raytracer
  • Elevated minimum required version of numpydantic
  • Tuning of initial Scipy parameters

Full Changelog: v0.2.8...v0.3.0

Patch Release 0.2.8

07 Aug 02:45

Choose a tag to compare

This patch release incorporates performance improvements, plan analysis in form of DVHs, and some data validation fixes.

It corresponds to the version used in the SynthRad2025 challenge, see also https://github.com/SynthRad2025

Patch Notes:

  • DVHCollection and DVH for plan analysis
  • Ray Tracer recovery in case of numerical issues
  • CT validates given x/y/z vectors correctly
  • Fix for validating VOIs with single voxels from matRad
  • performance improvements for raytracer and dij filling
  • maps to associate bixel/beamlet indices with beams / rays in stf

Full Changelog: v0.2.3...v0.2.8

Patch Release v0.2.3

09 May 13:04

Choose a tag to compare

Changes:

  • add slice visualization function
  • add LET for protons
  • fixes issues with ray validation
  • scenarios are now pydantic models
  • performance fix for raytracer
  • various validation fixes
  • docstring / code quality improvements

Full Changelog: v0.2.2...v0.2.3

v0.2.2

11 Mar 14:58

Choose a tag to compare

First official pre-release of pyRadPlan

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

Main Features

  • matRad compatible data structures with stable validation and serialization with pydantic
  • native reimplementation of matRad's pencil beam dose calculation for photons, protons & ions
  • generic machine data
  • native optimization framework using scipy or IPOPT (via ipyopt)

Disclaimers & License

pyRadPlan is still a work in progress, thus we decided to not assign a major version number yet. Everything is still subject to change, so handle with care.

DO NOT USE MATRAD CLINICALLY - Check the LICENSE file and README.md for more infos.

Full History since initial commit: v0.0.1...v0.2.2