Back to
Projects List
Extending Radiotherapy Treatment Planning Capabilities within SlicerRT
Key Investigators
- Niklas Wahl (DKFZ, Germany)
- Csaba Pinter (EBATINCA, Spain)
- Francesca Spadea (Karlsruhe Institute of Technology, Italy)
Presenter location: In-person
Project Description
We will extend the treatment planning capabilities of SlicerRT by upgrading the corresponding user interface to better separate plan optimization and dose calculation. Algorithms will be interfaced from the open source treatment planning toolkit matRad via its new Python extension pyRadPlan.
The goal is to allow full treatment planning on data loaded directly in Slicer, returning planned dose cubes for further analysis in Slicer.
Objective
- Python connection between SlicerRT ExternalBeamPlanning & pyRadPlan (matRad’s Python interface)
- Photon & Ion Dose calculation engines available within SlicerRT ExternalBeamPlanning
- Updated SlicerRT ExternalBeamPlanning UI to better display planning workflow
- Rudimentary treatment plan optimization capabilities within SlicerRT
Approach and Plan
- Evaluate existing internal prototype for SlicerRT / matRad Python Interface
- Interface Forward dose calculation engines from matRad for photons and ions
- Update ExternalBeamPlanning Infrastructure to represent four-step planning process in slicerRT: Geometry Definition, Inverse Dose precomputation, Optimization, Forward dose calculation (already existing within ExternalBeamPlanning module in SlicerRT).
Progress and Next Steps
Project week progress
- Prototype for treatment planning with matRad Python interface cleaned up in SlicerRT
- Enable forward calculation / conformal beam-wise planning using dose calculation and optimization as a dose engine
- Create infrastructure within SlicerRT for separating treatment planning into dose influence matrix calculation and optimization by introducing PlanOptimizers
- Prototype for storing dose influence matrices in BeamNodes using Eigen Sparse Matrices (ITKEigen3)
Next steps
- Concatenate dose influence matrices on Plan level
- Enable full IMRT within PlanOptimizers using dose influence matrix structure (maybe also implement a mock optimizer just applying uniform fluences)
Illustrations
Dose Influence storage accessible from Python for Beam Nodes:
Background and References
No response