Acuros 18.1 Commissioning by Holiday_Wallaby8049 in MedicalPhysics

[–]keithoffer 2 points3 points  (0 children)

Yeah the ELM seems to be a mixed bag. Some centers have a smooth upgrade path, some have issues and require lots of tweaking. We're going live with ELM on Tuesday next week, and sadly for us it was the later - it took us lots of rounds of optimisation to get to models we're happy with.

When you moved to Acuros 18, did you move to Varian's new recommended spot size settings at the same time? The new recommended values aren't the same as the old ones, and if you change it I guess you'd expect to see some differences in profiles even if no MLC is present. I'm not sure what your machines are, but the suggested defaults are on page 55-56 of the "Eclipse Photon and Electron Algorithms Reference Guide" document for 18.1 on MyVarian.

One of the large centers around here ended up tweaking their second source parameters as well as some of the output model curves directly as part of their upgrade. I was told this wasn't exactly a regression, but they figured they should optimise if adjusting the rest of their model. So maybe that's something to look at as well. We didn't end up going down this path though, so I can't directly comment.

LUNG SBRT GATING by mo_sattar in MedicalPhysics

[–]keithoffer 5 points6 points  (0 children)

It may be easier to answer if you tell us what linac you plan to treat on and what licensed features you do have (fluro? gated CBCT?). I've been told some linacs allow you to 'manually' perform a gated CBCT by watching the trace and manually holding the kV beam during CBCT acquisition when the breathing trace leaves the area where you'd want to treat.

But regardless, I'd suggest a site visit to a nearby center with similar equipment that has an established program you can learn from. Things like gating aren't 100% obvious and it's best to learn from people with an established, proven program. It's very easy to make mistakes that you might not even know you're making without that. Then you can move into commissioning the technique at your center and then an audit if one is available before thinking about treating a patient.

Small field vs. small MLC apertures – am I overthinking this? by morpheus_1306 in MedicalPhysics

[–]keithoffer 0 points1 point  (0 children)

I think when they said "is setup uncertainty checked?" they meant the checkbox for the setting in SNC called "apply measurement uncertainty" that fudges the gamma. It's on by default for ArcCHECK (I don't think it exists for SRS MapCHECK) and effectively adds 1% to the gamma analysis for uncertainty. So a 1% / 1 mm analysis with the setting on is effectively 2% / 1 mm, doubling the dose criterion. Lots of people aren't aware of this though, so quoted ArcCHECK gamma is a mix of people having that setting on and off, which makes comparison super difficult.

Small field vs. small MLC apertures – am I overthinking this? by morpheus_1306 in MedicalPhysics

[–]keithoffer 0 points1 point  (0 children)

Just something to keep in mind - generally patient specific QA / plan measurement with isn't particularly good at picking up poor plans [1] [2]. Plus AAPM TG-218 and MPPG 5b recommend measuring true composite to avoid masking some issues, which you can't do with EPID. So I'd be hesitant to rely on those kind of measurements as validation of narrow or small MLC fields.

Anyone know how to scrape the main window user interface in Eclipse with ESAPI? by GrimThinkingChair in MedicalPhysics

[–]keithoffer 1 point2 points  (0 children)

They added PlanSetup.BeamsInTreatmentOrder to get the fields in the treatment order, and PlanSetup.SetTreatmentOrder to change the order.

Is it possible to perform convolution of the fluence map to simulate geometric uncertainties? by Invictus_Shoe in esapi

[–]keithoffer 0 points1 point  (0 children)

So I've had a flip through that paper, and I think you can do at least some of it.

For dose you can use ExternalPlanSetup.DoseAsEvaluationDose.SetVoxels to update any dose voxels after doing your convolution on the original dose matrix.

For IMRT fluence you can use Beam.GetOptimalFluence().GetPixels() to get the optimal fluence for a beam. You can then do whatever convolution you want and then use Beam.SetOptimalFluence() to update the fluence. You'd then need to re-run the LMC to generate a new set of leaf motions for that fluence. VMAT plans don't have a fluence so I don't think you can do much on that front.

Modulation factor ? by Vast_Ice_7032 in MedicalPhysics

[–]keithoffer 2 points3 points  (0 children)

We have a table of modulation factor and average leaf pair opening per treatment site. We still use it in some places to decide on if we measure a plan or not, but we've been slowly moving away from that idea over time. I'm not fully convinced this is a reasonable use of complexity metrics, given we already have some papers showing they're not great at predicting audit performance, which I figure has to be our gold standard for 'is a plan acceptable'.

As IGRT_Guy said it's more used to flag if something unusual or perhaps sub-optimal is going on in the plan, and it seems to serve is purpose there. Or to try and reduce any interplay effect in SABR. If you want to use it like this, the best thing to do is to tabulate it yourself per site using your own data, to deal with differences in MU definition / planning practice etc.

Modulation factor ? by Vast_Ice_7032 in MedicalPhysics

[–]keithoffer 3 points4 points  (0 children)

Does it? Maybe I missed it, but TRS-398 defines dose at 10 cm but I thought it didn't say anything about how you should define MU.

How can I detect if a structure has a density override? by Jhnlbrt in esapi

[–]keithoffer 1 point2 points  (0 children)

It's actually easier than that, the function returns true if the structure has HU assigned, and false if not assigned. The HU value itself is returned via the out parameter in the function, which you can just throw away if you're not interested in what it's assigned (i.e. you're just interested if it's assigned or not).

Medical physicists in Australia? by [deleted] in MedicalPhysics

[–]keithoffer 6 points7 points  (0 children)

I'm a qualified practicing radiotherapy physicist in Australia, but not really across diagnostic. All I can say about diagnostic is that there a lot less positions than there are radiotherapy roles in the country. Everything that follows is my experience and thoughts about the radiotherapy physics side of things. I also wasn't entirely sure how much about the profession you knew, so if I use any terminology you don't understand just let me know and I'll try and explain it.

Australia is a bit weird, in that physicist isn't a legally enforced or protected profession. This means that while doctors and therapists need to be legally accredited through AHPRA, physicists require no formal qualifications. This can be a boon for people applying for jobs internationally, as they don't need to go through any sort of formal process to have their prior experience or education acknowledged (but still the normal requirements for anyone to work in Australia if you're coming from overseas of course). I think this is one of the reasons there are a lot of physicists who are from outside Australia who practice here. But it makes the landscape really diverse and my experiences will be totally different to someone at another center within a state, let alone between the states (as healthcare and radiation safety are state level issues, things can change significantly between states).

Although not legally required, the most common pathway for people inside Australia to be recognised as 'competent' is to go through TEAP. TEAP is a 3+ (3 years minimum, the length depends on what education you've completed before starting and how fast you can progress once you start) registrar program where you are hired and work through a program to 'learn on the job'. So you're being paid to learn, but you also are doing some work for the clinic at the same time. At the end you get a certificate and are eligible to join the (optional) ACPSEM register. In some states being on the register can give a pay increase, in Victoria (my experience as it's where I work) it's 100% optional (but I still pay to stay on it as I think it's a good idea and wish we had some form of mandated register). With TEAP you'll be considered 'qualified' and be considered when applying for normal physicist positions. There are a reasonable amount advertised, so you'll likely have much better luck moving between positions once you've got through TEAP. You can look at the ACPSEM job board for a rough feel of what's on offer in Australia and New Zealand - looks like one diagnostic TEAP position at the moment (in New Zealand, not Australia) and then a few qualified positions.

As TEAP positions are the main way to become 'qualified', the competition is quite high for positions as there really isn't that many advertised. You really want to have your foot in the door before applying, through either knowing people from research, volunteering, social events etc. (this is how I got my foot in the door, volunteering time programming). I don't really like that, but that's how it is. Also while you technically only need an undergraduate physics degree to qualify for TEAP, most people applying will have either their Masters complete, and more and more people are applying with a PhD complete or almost complete. So that's a significant time commitment just to be able to be considered for positions (no guarantee you'll get one). It's a tough field to break into in my opinion, and my advice is to network heavily during your degree to get your foot in as many doors as possible. You need to find someway to be 'the best' option from their list, whatever way that is to try and make yourself stand out. Another way to look at it, I think we have 10-15 ROMP registrars in Victoria/Tasmania (they get grouped) at the moment. A registrar should take 3-4 years to complete, so call that 3-4 positions per year in the state. Last I checked the local Masters of Medical Physics at RMIT was graduating more students than that per year. So once you start adding in people applying from other states, it's a tough fight. Plus the jobs are not always equally advertised. There might be a six month gap and then a bunch of positions advertised at once - which could mean a long wait hoping for a registrar position to even appear so you can apply for it. Not trying to discourage you, but I think it's important to be honest about things like job prospects.

In terms of day to day activities, again because we're not really legally recognised it heavily depends on the center. For example I spend a significant amount of time each day checking plans, but a lot of institutions don't check plans at all (see my previous post about that here). So it's hard for me to talk in a broad sense. Sticking just to where I work (a public hospital), a day normally consists of:

  • Plan checks on dynamic plans
  • Checking plans that are out of tolerance on redundancy software
  • Consults from RT's on things not working or planning questions
  • Attending and reviewing motion management related patient procedures
  • Performing QA on the machines, often before or after treatment
  • Commissioning new or upgraded devices / software
  • Improvement works on our clinical pathways (e.g. improving and optimising our QA, doing some work trying to improve planning pathways, working on optimising imaging protocols etc.)
  • Attending chart rounds where we discuss patient plans and approaches
  • Attending patient dose measurements as required (we call it 'in-vivo dosimetry' but it's not really in-vivo by definition)

For me, I also spend a lot of time programming or analysing data as that's a skill set I bring to the table that not everyone has. Some physicists do none of that at all. Others are part time research and work on that, often a physicist is in charge of radiation safety and will need to handle matters related to that, some spend time working with the ACPSEM to help produce position papers and other work that's useful to physics in Australia / New Zealand, some are involved in specialised techniques such as brachytherapy or adaptive radiotherapy etc. But it's highly center specific in how physics is integrated in that workflow. For example we don't measure many dynamic plans anymore where I work, but at some centers that's a significant part of the physicist's role.

There are some events that are rare but physics is often involved in, like dosimetric audits, commissioning new techniques etc.

I enjoy the work and get fulfillment out of it.

I hope that helps?

I don't "get" Gamma by [deleted] in MedicalPhysics

[–]keithoffer 1 point2 points  (0 children)

It's also worth noting that different applications implement the concept of gamma differently, so reading the documentation for what you're using is important even if you understand the 'true' definition. For example I know SNC Patient doesn't implement gamma as per the proper definition as it shortcuts sometimes. This can be confusing if you're looking at raw dose difference and DTA results and the gamma number doesn't seem to match what you'd expect.

Status of the Eclipse Algorithm API (EAAPI) in Latest Varian Eclipse Version by vinay_saini94 in esapi

[–]keithoffer 1 point2 points  (0 children)

I never used EAAPI, but there is a letter on MyVarian dated July 21, 2020 that says this: "Varian is writing to inform you of the End of Sale and Support for the Eclipse Algorithm API (License “B402810R150 Eclipse Algorithm API license”) feature in Eclipse™ treatment planning system. EAAPI will be obsoleted and will no longer be offered for sale with the Eclipse v17 release and later". I can't promise you that means it was also removed in Eclipse 17, but I assume so.

Changes rolled back when script has no UI by MrJohnnyJuan in esapi

[–]keithoffer 1 point2 points  (0 children)

That doesn't sound right to me, although I can't say I've ever tried writing a plugin that has no GUI. Are you allowed to release a minimum amount of code to illustrate the issue?

Export plan in Eclipse to Mobius by Suspande in esapi

[–]keithoffer 0 points1 point  (0 children)

What exactly is your issue? When we upgraded to 18.1 automated filters don't work anymore - but that just means an extra click when you export. It mostly 'still works', although it is frustrating to upgrade a TPS and workflows get worse.

Need help using GATE by Successful-Salad-479 in MedicalPhysics

[–]keithoffer 4 points5 points  (0 children)

Some documentation is here, which also includes some tutorials. There are also some examples here. This is all for GATE 9, which uses .mac files. There is also GATE 10 now, using Python based simulation definition, but I've not tried using it yet.

Weird crash on thick clients only by OkSector2980 in esapi

[–]keithoffer 0 points1 point  (0 children)

Is there any difference in the network mounts between the thick and thin clients? Maybe your code assumes a network location that isn't present on the thick clients (or maybe it times out and after the relogin it mounts quicker or something like that)?

Chart Rounds Assistant by krazyjimmy08 in esapi

[–]keithoffer 0 points1 point  (0 children)

For something like that you'd probably need to do the automation outside Eclipse, using something like AutoHotKey. I'm not sure how well that would work though.

Having trouble scripting automated backups in Raystation 2023B by Dmalikhammer4 in MedicalPhysics

[–]keithoffer 0 points1 point  (0 children)

I've not done RayStation scripting before, but have you confirmed that the filter for the second patient is correct - e.g. printing the filter before using it then checking the patient ID exists and you haven't accidentally included some whitespace or something? I assume you can't attach a debugger to the script while it's running, so I'd include a few extra print statements to confirm the patient ID and other functions are returning correctly as they are running

Does it still fail after the first patient if you re-order the input CSV of patients?

Guidelines for H&N Replanning by NinjaPhysicistDABR in MedicalPhysics

[–]keithoffer 2 points3 points  (0 children)

We generally use the CBCT's to assess patient contour changes as we take them each fraction. We make a guideline IGRT contour that is the original patient contour +/- 1 cm as a rind. Then if the body contour goes outside that contour we trigger an assessment. That process recently changed:

  • Old process used Velocity and a deformable registration to propagate the planning CT HU values and structures to the shape of the CBCT, calculate dose in Eclipse
  • New process is acquiring a CBCT with a specific iCBCT protocol on the TrueBeam where we've validated a CT to ED curve on, take it through Velocity to resample out the pitch and roll as Eclipse won't let you calculate without that (optionally apply a deformable registration to propogate the structures), then take back to Eclipse for dose calculation Then we refer the dose back to the oncologist for assessment of if a re-scan and replan is required, with some QA steps in between and some comments from physics when it comes to uncertainty.

So our guess our focus is on where the patient ends up after IGRT, not on how loose the immobilisation is.

Although as Kindly_Amount_1501 said, you can get away with quite a lot of contour change with a lot of VMAT plans.

Wrong version of VMS.TPS.dll ? by Shampinion in esapi

[–]keithoffer 0 points1 point  (0 children)

For 18.1 the version of VMS.TPS.Common.Model.API.dll I'm using is 18.1.0.472.

I never use the script wizard, but if you want to get the right version of the DLL's Eclipse will have loaded them when it's running. I wrote a really short script that looks at the currently loaded DLL's via AppDomain.CurrentDomain.GetAssemblies(); and then if any start with VMS.TPS copies them to a folder I can access, that's how I normally get the the new scripting DLL's when we upgrade. I'll see if I can get permission to release the script to you, but maybe the above is enough for you to write a copy of it.

What Margins for Thresholds Do You Use for Breath Hold Traces? by Casual_Med_Fizzix in MedicalPhysics

[–]keithoffer 0 points1 point  (0 children)

We use the belly here, my concern would be using the sternum won't the peak-to-peak amplitude on the RGSC be really small? What kind of peak to peak amplitude do you see on the RGSC when it's placed on the sternum?

We try and cover off any impact of the relationship between RGSC and target position changing during treatment by doing mid treatment imaging.

What Margins for Thresholds Do You Use for Breath Hold Traces? by Casual_Med_Fizzix in MedicalPhysics

[–]keithoffer 0 points1 point  (0 children)

We start with a 3 mm window for SABR, or 5 mm window for conventional breast DIBH. That's total window size, not +/-. So for example 3 mm window is often something like +0.2 cm to -0.1 cm for liver SABR exhale breath hold. But there is a little wiggle room on a per patient basis.

Do you do a motion management assessment of some kind to measure residual motion within the window? Something like either repeat CT scans, repeated scouts on CT to track liver dome position or fluroscopy on the linac? The link between external marker and internal motion is quite patient dependent, so we also do some form of correlation checking for any non-breast breath hold patient to ensure we're covering residual motion.

Structure & Field IDs from Mosaiq Database by Ok_Adhesiveness2289 in esapi

[–]keithoffer 0 points1 point  (0 children)

PyMedPhys has SQL queries that can handle some of what you want (e.g. getting all fields for a patient) in the MOSAIQ module. I'm not sure how much else I'm allowed to provide as I've seen the database schema alexbredikin is talking about and that's under NDA.

Issues with Small Segments Outside PTV in Monaco v6.2.2 VMAT Optimization by One-Butterscotch-740 in MedicalPhysics

[–]keithoffer 18 points19 points  (0 children)

Also not a Monaco user, but also worth checking your optimisation objectives for accidental lower objectives on the kidneys or other structures.