| 
 | 1 | +## "External Beam Planning" module description  | 
 | 2 | + | 
 | 3 | +The ExternalBeamPlanning module is a generic, extensible module for forward  | 
 | 4 | +planning of external beam radiation therapy treatments.   | 
 | 5 | + | 
 | 6 | +The "External Beam Planning" module is responsible for creating a beam plan or ion beam plan  | 
 | 7 | +according to DICOM RT standard. Only a few basic features are supported.  | 
 | 8 | +Each plan consists of a number of beams: static or dynamic. Each plan supports  | 
 | 9 | +only one isocenter point, multiple isocenters per a single plan are not allowed.  | 
 | 10 | + | 
 | 11 | +This work was in part funded by An Applied Cancer Research Unit of Cancer Care Ontario  | 
 | 12 | +with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium  | 
 | 13 | +for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset  | 
 | 14 | +for radiotherapy and related image-guided interventions.  | 
 | 15 | + | 
 | 16 | +Author: Csaba Pinter (PerkLab, Queen's University), Greg Sharp (Massachusetts General Hospital)  | 
 | 17 | +Contact: Csaba Pinter, < email> [email protected]</ email>  | 
 | 18 | + | 
 | 19 | +  | 
 | 20 | +  | 
 | 21 | + | 
 | 22 | +### Use Cases  | 
 | 23 | +- Proton dose calculation  | 
 | 24 | +- Any dose engine can be integrated (C++, Python, Matlab)  | 
 | 25 | + | 
 | 26 | +### Tutorials  | 
 | 27 | +[Orthovoltage RT treatment planning tutorial](https://github.com/SlicerRt/SlicerRtDoc/blob/master/tutorials/SlicerRT_Tutorial_OrthovoltageDoseEngine.pptx) (uses EGSnrc)  | 
 | 28 | + | 
 | 29 | +### Graphical User Interface loadable module (GUI). Panels and their use  | 
 | 30 | + | 
 | 31 | +  | 
 | 32 | + | 
 | 33 | +Loadable GUI module "External Beam Planning" is used to setup beam parameters  | 
 | 34 | +for beams or ion beams, or modify already created beams.  | 
 | 35 | +Static RT beam is setup by: Isocenter position, SAD, SID, Jaws borders, MLC positions. Static beam is fixed.  | 
 | 36 | + | 
 | 37 | +Dynamic RT and Ion RT beams are setup by: initial and final angles of rotation around gantry axis,  | 
 | 38 | +direction of rotation, isocenter position, SAD, SID, Jaws borders, MLC positions, scanning spot map, etc.  | 
 | 39 | +Dynamic beam changes it position over time by means of rotation or (and) changing the position of phase space of the beam.  | 
 | 40 | + | 
 | 41 | +#### Active RT plan  | 
 | 42 | + | 
 | 43 | +  | 
 | 44 | + | 
 | 45 | +1. **Active RT plan**: Selected RT Plan  | 
 | 46 | +2. **Ion plan**: flag to generate RTIonPlan instead of RTPlan  | 
 | 47 | + | 
 | 48 | +#### Plan parameters  | 
 | 49 | + | 
 | 50 | +  | 
 | 51 | + | 
 | 52 | +1. **Reference volume**: Reference volume node data (usually CT)  | 
 | 53 | +2. **Structure set**: Segmentation node data  | 
 | 54 | +3. **Points of interest**: Markups fiducial to be used as isocenter  | 
 | 55 | +4. **Isocenter**:  Isocenter position in RAS  | 
 | 56 | +5. **Center views**:  Center slice views on isocenter  | 
 | 57 | +6. **Target volume**:  Select targer ROI  | 
 | 58 | +7. **Isocenter at target center**:  Set isocenter in the center of the targer ROI  | 
 | 59 | +8. **Dose engine**:  Select a dose engine calculator **Not implemented**  | 
 | 60 | +9. **Rx Dose (Gy)**:  Setup an amount of dose in Gy  | 
 | 61 | + | 
 | 62 | +#### Output  | 
 | 63 | + | 
 | 64 | +  | 
 | 65 | + | 
 | 66 | +1. **Output dose volume**: Setup output dose volume  | 
 | 67 | +2. **Clear dose**: Clear dose volume  | 
 | 68 | +3. **Calculate WED**: Calculate water-equivalent distance **Not implemented**  | 
 | 69 | +4. **Calculate Dose**: Calculate dose according to the engine parameters **Not implemented**  | 
 | 70 | + | 
 | 71 | +#### Beams  | 
 | 72 | + | 
 | 73 | +  | 
 | 74 | + | 
 | 75 | +1. **Arc beam sequence**: Activate dynamic beam arc movement around gantry rotation axis  | 
 | 76 | +2. **Initial angle**: Initial angle position in degrees  | 
 | 77 | +3. **Final angle**: Final angle position in degrees  | 
 | 78 | +4. **Angle step**: Angle step  | 
 | 79 | +5. **Rotation direction**: Clockwise (CW) of CounterClockwise (CCW) rotation   | 
 | 80 | +5. **Add beam**: Add static or dynamic arc beam to the plan  | 
 | 81 | +6. **Remove beam**: Remove selected beam from the plan  | 
 | 82 | + | 
 | 83 | +### Arc beam  | 
 | 84 | + | 
 | 85 | +The beam movement around rotation axis could be used to calculate a filtered back-projection reconstruction for cone-beam geometries.  | 
 | 86 | +For fast forward and back projection reconstruction the [RTK](https://www.openrtk.org) library can be used.  | 
 | 87 | + | 
 | 88 | +### References  | 
 | 89 | + | 
 | 90 | +1. Sharp, G., Pinter, C., Unkelbach, J., Fichtinger, G. (2017). Open Source Proton Treatment Planning in 3D Slicer: Status Update. Proceedings to the 56 Annual Meeting of the Particle Therapy Cooperative Group (PTCOG), 8-13 May 2017. International Journal of Particle Therapy: Summer 2017, Vol. 4, No. 1, pp. 14-83.  | 
 | 91 | + | 
 | 92 | +### Information for Developers  | 
 | 93 | + | 
 | 94 | +- Sample C++ dose engine: [https://github.com/SlicerRt/SlicerRT/blob/master/ExternalBeamPlanning/Widgets/qSlicerMockDoseEngine.h](https://github.com/SlicerRt/SlicerRT/blob/master/ExternalBeamPlanning/Widgets/qSlicerMockDoseEngine.h)  | 
 | 95 | +- Sample Python dose engine: [https://github.com/SlicerRt/SlicerRT/blob/master/ExternalBeamPlanning/Widgets/Python/MockPythonDoseEngine.py](https://github.com/SlicerRt/SlicerRT/blob/master/ExternalBeamPlanning/Widgets/Python/MockPythonDoseEngine.py)  | 
 | 96 | +- Future plans  | 
 | 97 | +  - Inverse planning capabilities  | 
 | 98 | +  - Matlab plugin adapter  | 
 | 99 | +  - Ports module (apertures, MLC, target volume)  | 
 | 100 | +  - Beam groups (common parameters for a group of beams)  | 
 | 101 | + | 
0 commit comments