Single Field Winston Lutz Idea #441
Replies: 1 comment 16 replies
-
Hey, thanks for bringing this up. To be honest, I'm a bit confused about what you're actually proposing. Are you wanting to do something like MPC where the displacement from the ideal positions is reversed to get the gantry/coll/couch positional error? If so I don't think you'll be able to get away with a single image for that! If you are referring more to an MPC-like analysis where there are multiple BBs but one large field vs the multiple subfields of the SNC multi-target WL, it's in our queue 😉. I was not aware of the If you restate your problem and what output you want I might be able to get more specific. Thanks |
Beta Was this translation helpful? Give feedback.
-
Hi there,
Had an idea for the single field WL test and just wanted to soundboard it as I'm not really sure how to code it within the Pylinac framework. Y'all may have already thought of it and have reasons against it. I'm fairly new to working on big projects (and this is my first suggestion ever...am a medphys reggie), so am welcome to feedback.
If we had a large, symmetric, CAX centred, MLC defined field, we should be able to simulate smaller sub-fields and not lose significant accuracy in the positioning? Assuming the MLCs are visible in an image, and we know the nominal positions, then we should be able to calculate, fairly accurately, the positions of other points on an EPID? I.e., if we know/trust EPID readouts from the DICOM (offsets/roll/etc), then I'm wondering if could we apply a mask around where we expect each BB to be in the image, which breaks the problem down into a ``multi field'' problem, which you've already solved with the multi target implementation?
Here's my algorithm thoughts
I've got some very basic code working for an image of MPC where I read the XIM, crop, thresh, openCV to find contour as a proof of concept. You can use a simple one-liner for the BB projections, as they are just an Euler rotation using extrinsic coords, which you can pull from ``scipy.spatial.transform import Rotation''. This allows calculating gantry, coll and couch pretty easily...you just need to make sure the rotations match (e.g. rotation of phantom is inverse of gantry)
Just an idea/test concept. Love this project and thanks for all the work!
Beta Was this translation helpful? Give feedback.
All reactions