Giter Site home page Giter Site logo

mghro / rad-collision Goto Github PK

View Code? Open in Web Editor NEW
27.0 8.0 11.0 596 KB

Platform for collision detection during treatment planning in radiotherapy

License: GNU General Public License v3.0

Python 100.00%
radiotherapy collision-avoidance treatment-planning raystation

rad-collision's Introduction

Logo

RadCollision is an open-source platform designed to aid treatment planners in the choice of beam incidence angles that do not collide with the patient or couch. It loads a 3D model (STL file) of a LINAC and/or couch into a 3D window, that can be rotated interactively to assess collision risk. One can also load a 3D scan of the patient done e.g. with a smartphone, if full patient geometry is needed.

The (currently available) interface layers of the RadCollision platform are:

For RayStation, Here are some screenshots of the capabilities and a news release:

Alternatives

Alternative solutions are described here:

Licensing

This software platform is open-source, and is designed to work / be embedded with commercial TPS through their native scripting interface. You can use, modify and contribute to it. Original attribution/citation shall be granted to:

F Hueso-González et al 2020 - Biomed. Phys. Eng. Express 6 055013, "An open-source platform for interactive collision prevention in photon and particle beam therapy treatment planning". https://doi.org/10.1088/2057-1976/aba442 https://arxiv.org/abs/2007.05248

Please be aware that some submodules used by this software platform contain other licenses specific to these repositories.

Created and documented by

Fernando Hueso-González - [email protected] Massachusetts General Hospital and Harvard Medical School

Acknowledgment

Thanks to everyone reporting issues. See also Acknowledgment section on https://doi.org/10.1088/2057-1976/aba442 https://arxiv.org/abs/2007.05248

rad-collision's People

Contributors

ferdymercury avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rad-collision's Issues

Use PatientOrientation

Right now, only HFS, FFS, etc tags are used.

Use instead the exact PatientOrientation matrix for supporting any custom rotation.

beamset checking

report global collision results on a beam basis, rather than stopping and continuing for each beam

Extend to other TPS

Write more interface layer for other TPS, e.g. Eclipse, Pinnacle, Astroid, ...

mismatch of couch angle naming convention

luke found that in proton therapy, there script crashes when clicking on check beamset. Apparently proton RTplans have a CouchAngle rather than a CouchRotationAngle.

Error: Unhandled Exception: System.InvalidOperationException: Object has no member 'CouchRotationAngle'.
Error:    at Microsoft.Scripting.Runtime.LightExceptions.CheckAndThrow(Object value)
Error:    at Microsoft.Scripting.Interpreter.FuncCallInstruction`2.Run(InterpretedFrame frame)
Error:    at Microsoft.Scripting.Interpreter.Interpreter.HandleException(InterpretedFrame frame, Exception exception)
Error:    at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
Error:    at Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1)
Error:    at IronPython.Compiler.PythonCallTargets.OriginalCallTarget1(PythonFunction function, Object arg0)
Error:    at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
Error:    at _Scripting_(Object[] , Object )
Error:    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
Error:    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
Error:    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
Error:    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
Error:    at System.Threading.ThreadHelper.ThreadStart(Object obj)

auto-choose couch

Use plan info to choose automatically couch, as in the case of the linac

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.