Winston Lutz

Hello, James!

I have modified you excellent module WinstonLutz in order to calculate only in 2D for Elekta’s iViewGT images which come without collimator and couch angles. It works nicely. I tested it with and independent program PipsPro from Standard Imaging.

However, I have stumbled upon a problem. I have quite noisy images taken with the FFF beams (field size 2x2). Probably because I did not reduce the dose rate for those few monitor units. Winston Lutz module gives me large differences because of this. The center of BB is calculated properly, but not the center of the field. Apparently, the calculated center of the field is displaced towards the noise. I tried playing around with the function _find_field_centroid, but I didn’t make it better. I was wondering if I can change the code in some way to limit the size of the bounding box manually or perhaps clean the image even more.

Denis (367 KB)

For this particular image (or ones very similar) the best fix is the one you mentioned: get better images. But, if you’re really determined on using these, you can pretty easily clean the images by overwriting the artifacts. For your image I’ve written a small gist to demonstrate.

Let me know if this helps.


Hello, James,

Thank you for your help.
It turns out that all images taken with 6 FFF beam have this problem. I still have not discovered the reason for this. It may be a calibration problem with iViewGT.
Your solution seems to work. I also tried just cuting a central square portion out of the image and do the analysis on that. The results were similar.

The tools you have created are excellent. I am trying to do various Varian-type tests on the newest Elekta linac Versa HD. Hopefully I will be able to do most of what pylinac has to offer. The Winston-Lutz, starshot, imaging QC, CBCT will work. The VMAT module and Picket Fence test are a problem, I will have to experiment here. The log analysis is even further away - there are logs for VMAT and IMRT, but unfortunately Elekta makes them unavailable to clinical users.


Hello Denis,

Thanks for the feedback on pylinac for Elekta machines, it is very helpful !

Elekta also have “dynamic log files” :

The log files have a “.trf” extension. They can be found on the TCS-NRT computer.

Theses log files are binary files… I haven’t found any clear documentation on its data structure. I have tried poking them using an hexadecimal editor… but I don’t have anything conclusive. yet If anyone have more information on this, let me know !

I think that some clinical softwares are able to read these files for “log based QA”.