mghro / rad-collision Goto Github PK
View Code? Open in Web Editor NEWPlatform for collision detection during treatment planning in radiotherapy
License: GNU General Public License v3.0
Platform for collision detection during treatment planning in radiotherapy
License: GNU General Public License v3.0
Right now, only HFS, FFS, etc tags are used.
Use instead the exact PatientOrientation matrix for supporting any custom rotation.
Ask other TPSs to incorporate support for importing STL files as ROI.
Could use the open-source VTK functions that does that, see Slicer3D.
Would it be an idea to setup a simple issue template for new issues to query some data from the user, for example RayStation version as well as perhaps a traceback when available?
I think this could give you valuable information.
More on issue templates can be found at https://docs.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository
The geometry for the 2 arms do not line up.
Seems like one of the arms might be going in the opposite direction it is supposed to.
Automatize ROI selections for collision report intelligently, to spare computation time.
Use plan info to choose automatically couch, as in the case of the linac
Better separate Core Layer from Interface Layer
See 2.1.4 section of
https://aapm.onlinelibrary.wiley.com/doi/full/10.1002/acm2.12673
Add an Inflate ROI function, either in the core layer, or on the TPS-side, that takes into account a safety margin before calculating the ROI overlap.
Add further checkbutton to GUI to check for collision in between fixed beams.
Problem: we need to support specifying the rotation direction.
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)
These have been reported to RaySearch:
Write more interface layer for other TPS, e.g. Eclipse, Pinnacle, Astroid, ...
So that you do not have to move the mouse so much when reaching one end.
see e.g. https://forum.qt.io/topic/79940/qml-circular-slider/12
Instead of using DSC, choose a more efficient algorithm to calculate ROI overlap
Create a database with open 3D models of accelerators self-drawn in FreeCAD for those hospitals not able to get the original files / or NDAs.
To be potentially stored in Slicer RT, here:
https://github.com/SlicerRt/SlicerRT/tree/master/RoomsEyeView/TreatmentMachineModels/
with an enable checkbox to not slow down everything
Relates/alternative to safety margin #5
So that script does not need to be changed ever, just adapt the INI file content.
As in http://perk.cs.queensu.ca/sites/perkd7.cs.queensu.ca/files/Suriyakumar2017a.pdf Figure 5
Check Figure 3 for transformation matrices, and Slicer3D github code
report global collision results on a beam basis, rather than stopping and continuing for each beam
couch pitch and roll angles are being ignored for the moment.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.