Announcing the pylinac web app

1,707 views
Skip to first unread message

James Kerns

unread,
May 18, 2015, 8:49:57 PM5/18/15
to pyl...@googlegroups.com
Hey guys, 
     I'm really excited to show you what I've been working on lately. I've wanted to get into web development for a while, but the learning curve is rather steep. I finally put my nose to the grindstone and figured out the basics. I figured there was no better direct application than to put the functionality of pylinac into a GUI of some sort, with the web being a more accessible, updatable, and flexible format than a standalone program that you would download. Thus:

Assurance QA is a web app for doing what pylinac does, but you don't need to program to use it! Just upload your images and the web app takes care of the rest. Below is a screenshot to whet your appetite =)

Now, there is limited functionality with only two analysis options (picket fence and starshot), but more will be added as I build the functionality. 

Additionally, the site is in private beta, meaning that not just anyone can sign up, but I can provide signup codes upon request (all I need is your email)--just reply to me here, privately, or mention you're interested and I'll send the code to the email you've given for this group; 

Feedback is welcome, but be warned, there are bugs, which is why things are still in beta mode so bear with me.

Check it out at:



A few details for anyone interested:
-Built on Django (same as QAT+, although orders of magnitude more primitive).
-Hosted by Heroku.
-Media files (i.e. uploads) hosted on Amazon S3.
-Views are not asynchronous, meaning after you submit an analysis it'll take a few seconds.

Both Heroku and Amazon S3 have "free" tiers, giving limited functionality. For our purposes this means two things: 
      -total uploads by all users cannot exceed 5GB (this is adequate for the foreseeable future and is scalable, but would cost money).
      -The first person to use the app after a period of inactivity will notice a long load time; this is because the app goes to "sleep" and has to "wake up". 

tber...@daytonphysicians.com

unread,
May 19, 2015, 12:37:16 PM5/19/15
to pyl...@googlegroups.com
I am interested in your project.  Would you be able to give me access?

Matt B

unread,
May 21, 2015, 8:56:12 AM5/21/15
to pyl...@googlegroups.com
Hi,

This all sounds very interesting. We are in the process of implementing QAT+, and pylinac looks like it could really add some additional functionality.

I'd like a code if that's possible.

Thanks,

Matt

James Kerns

unread,
May 21, 2015, 6:48:42 PM5/21/15
to pyl...@googlegroups.com, matt....@gmail.com
Assurance QA now has an open signup, and Trajectory log analysis has been added!

James Kerns

unread,
May 26, 2015, 2:54:19 PM5/26/15
to pyl...@googlegroups.com, jker...@gmail.com
Assurance QA has had several changes:
- A dashboard is now available that shows the latest two items from each analysis category
- CBCT analysis is now available
- A link to demo images is listed next to the file upload widget for all analysis items.

Sign up and take it for a spin!

James Kerns

unread,
May 30, 2015, 10:56:04 PM5/30/15
to pyl...@googlegroups.com, jker...@gmail.com
Hello all, 
    I know I've posted several things about the new app lately, but that should slow down soon. I've now implemented VMAT analysis, which means close to all of pylinac's modules (Starshot, CBCT, VMAT, Picket Fence, Machine Logs) are covered. Thusly, while there are a few things I could and would like to implement (tracking machines, trending analysis, PDF reports), assuranceqa has hit a plateau unless I get feedback to add or change something. I hope you enjoy it!

A few other smaller changes:
   -I bought assuranceqa.com, which simply redirects to the heroku app site. I wanted to make an alias, but SSL certificates are expensive and hard to set up; TL;DR it's safer on heroku (https).
   -When you log in you should go straight to the dashboard
   -CBCT now allows for HU and scaling tolerances to be used.
   -Item options (Update, Delete, etc) have been replaced with icons (should be easy to determine; e.g. a trash can to delete...)
   -Links to upload, go back, and edit settings have been added to applicable locations for convenience.
   -While there haven't been too many people doing analyses, you may not see your objects anymore; I moved some things around in the backend &database for clarity, which may have lost the links to your objects. It shouldn't happen again, sorry.

Stefan Odreitz

unread,
Sep 24, 2015, 6:48:16 AM9/24/15
to Pylinac
Hi,

since we started using Python in our departement we had a look at the package and the internet platform as well, unfortunately every test except for the picket fence test "something went wrong" (also the demo files). Am I doing something wrong?

BR
Stefan

James Kerns

unread,
Sep 24, 2015, 10:48:13 AM9/24/15
to Pylinac
Hi Stefan, 
     I'm sorry that the platform wasn't working for you. Just to be clear, you're using only the web app and not pylinac, correct? I tried out the site this morning and the starshot and vmat modules were having some trouble. I made a small fix for the starshot, but currently haven't figured out what is happening with the VMAT test. However, everything else should be working properly. I've noticed that at busy times of the day, the site slows down and can sometimes error out; I can't really do much about that right now, sorry. Try out the demo files (except vmat) again and see if another attempt later in the day works; let me know if not.

The web app should be seen as experimental, and as a proof-of-concept that pylinac can be run on the web. While I'm happy to have people use it (that's the point!), I would be cautious at this point about using it as a reliable QA tool. In the future when the app has stabilized then perhaps so. Now, on the other hand, pylinac is fairly stable and can be used standalone or integrated with other tools and work fine. 

I hope some of this helps; let me know if you continue to have trouble. If the demo files work but your own files don't then you can share them with me privately and I'd be happy to take a look. Best of luck, 

James

James Kerns

unread,
Sep 24, 2015, 8:31:10 PM9/24/15
to Pylinac
The VMAT module is back up and running (database migration issue). 

Stefan Odreitz

unread,
Sep 25, 2015, 7:30:23 AM9/25/15
to Pylinac
Works, looks good :-), except for the DRGS files, i uploaded them

Stefan

James Kerns

unread,
Sep 27, 2015, 2:37:31 PM9/27/15
to Pylinac
Stefan, 
     I looked into the issue and seems that the problem was the long file names. The default value was 100 characters; I've changed this to 200. I tested your files on my account and it worked fine, so all should be good now! Let me know if you have any issues.

James

Stefan Odreitz

unread,
Sep 30, 2015, 8:30:17 AM9/30/15
to Pylinac
I think it's something like a scaling issue, because on the DMLC-file the evaluation boxes are on the "slits", not between them.

Stefan

James Kerns

unread,
Sep 30, 2015, 8:49:23 AM9/30/15
to Pylinac
Pylinac assumes new-style DRGS images, which are centered about the CAX. For old-style images, you can simply add an x-offset. When you're uploading or changing the settings of an existing dataset, change the X Offset option at the bottom. For most old-style images this is ~20 pixels. 
Capture.PNG

Ihab Ramadaan

unread,
Nov 2, 2015, 12:43:42 AM11/2/15
to Pylinac
Hi James,

I like the feature in pylinac's picket fence module that reports the location of the maximum error, i.e. what picket and what leaf. Is it possible for that information to be displayed in Assurance QA as well?

Thank you,

Ihab

James Kerns

unread,
Nov 3, 2015, 11:43:09 AM11/3/15
to Pylinac
Ihab, 
   I've been meaning to add a "detail view" to the picket fence module now that I've added more analysis information in the last few pylinac versions. I'm currently working on a manuscript to showcase pylinac so that's been keeping me busy. So, yes, it is possible to show that info. When I get the time I'll work on it =)

Antoine

unread,
Jun 14, 2016, 2:32:39 AM6/14/16
to Pylinac
Dear James,

First of all, thank you to publish a web version of Pylinac! It's easier, and quicker, than wait for a server in the department.

I am an Elekta user (so I can't use all your modules), and I started with the starshot module. I would like to use it to test both the collimator and the couch, but when I have a look at the results, all are mixed up, is there a way to tag every analyse with a measurement type, to be sure what is the result I'm looking at?

Thank you a lot for your work that you share!

Antoine

Michel D'Amours

unread,
Jun 14, 2016, 10:39:58 PM6/14/16
to Pylinac
Hello Antoine, 

IVIEW does not include some DICOM header on the beam configuration.  

With the current version of pylinac, you need to add a few dicom tags. 

For example, using pyDICOM : 

import dicom
dcm = dicom.read_file( "test.dcm" )
dcm.GantryAngle = 0
dcm.BeamLimitingDeviceAngle = 45
dcm.PatientSupportAngle = 45
dcm.save_as( "test2.dcm") 

Michel

Antoine

unread,
Jun 15, 2016, 6:18:00 AM6/15/16
to Pylinac
Thank you Michel for the details on the DICOM tags!
I will have a look at this.

Antoine

karmoogum

unread,
Jun 16, 2016, 7:24:37 AM6/16/16
to Pylinac
Hello,
 
Just trying the pylinac web app for the first time. Cannot seem to upload Truebeam trajectory log files. Even downloaded you demo log file (1) but cannot upload that either. Help!
 
Kris Armoogum
Royal Derby Hospital
UK

James Kerns

unread,
Jun 16, 2016, 9:09:52 AM6/16/16
to Pylinac
Sorry I'm late to the party. I've been at the hospital this week with my newborn. 

Kris, 
    I haven't detected any problems with the uploader and I just now manually verified this on my computer. What browser are you using? If it's an older IE you might be out of luck. If you can, use chrome or firefox. Let me know if this works for you.

James

krisarm...@gmail.com

unread,
Jun 30, 2016, 4:10:46 AM6/30/16
to Pylinac
Hello James,

Yes, I've tried Google Chrome and can now upload .bin files for analysis. 
Another question....What is the difference between the 'Expected Fluence' and 'Actual Fluence'? The Gamma analysis always gives a 100% pass rate regardless of the Gamma-Distance-to-Agreement and Gamma-Dose-to-Agreement values. What is the algorithm actually comparing? Please explain. Thank you.

Best regards,

Kris Armoogum
Principal Radiotherapy Physicist
Royal Derby Hospital 
UK

James Kerns

unread,
Jun 30, 2016, 9:06:29 AM6/30/16
to Pylinac
Kris, 
    Glad it's working. 

The .bin file holds two pieces of information regarding the MLCs during treatment. The position they're supposed to be at, and the position they are actually at. This is recorded every 20ms by default on a truebeam. The planned positions come from the RTPlan file, and the actual positions come from the MLC encoders. You can read about the log reading library here. The open area formed by the MLCs is summed every 20ms (weighted by MUs delivered) to create a composite fluence. Pylinac runs a gamma on the actual fluence and planned fluence. In practice, there is hardly ever a large difference between the planned and actual positions/fluence, so tight tolerances are usually needed to tell a difference. Let me know if this clarifies things, 

James

Baozhou Sun

unread,
Mar 2, 2017, 11:38:29 AM3/2/17
to Pylinac
Hi James,

Can you give me access to the website app? I signed up but did not receive a confirmation email.

thanks,

Baozhou

Ellis Mitrou

unread,
Sep 18, 2017, 9:52:18 AM9/18/17
to Pylinac
Hello Michel,

I am running into a similar problem using iview. The pylinac docs say that it will first look at the filename to attribute the collimator angle but I get an error message saying that beamlimitingdeviceangle is not found or something like that. I don't mind using pydicom to add the dicom field but do you happen to know which value pylinac will use? For instance if there is a difference between the filename and the dicomtag?

Michel D'Amours

unread,
Sep 22, 2017, 8:15:51 PM9/22/17
to Pylinac
Hi Ellis,

James implemented a more elegent solution, but it really depends on the workflow.

Here are the dicom elements (using pydicom) :

GantryAngle
BeamLimitingDeviceAngle
PatientSupportAngle

James Kerns

unread,
Sep 24, 2017, 3:42:20 PM9/24/17
to Pylinac
Ellis, 
     Here is the reference on using file names. Note this is only applicable for the WL module and is not used in other modules. On how pylinac looks for the axis value. Pylinac will look up the filename first; if it doesn't find anything there, it will look up the DICOM tag. 

Pytrick

unread,
Jan 19, 2018, 10:28:54 AM1/19/18
to Pylinac
Hey James,

I am experiencing the issue that I cannot upload .zip files to your site. It gives me the message that the upload has failed. I tried Firefox and Chrome. Can you check if this is an issue on your side or if I have to check mine?

Thank you

James Kerns

unread,
Jan 19, 2018, 12:54:11 PM1/19/18
to Pytrick, Pylinac
I'm assuming this is for CBCT? Does the demo file work on your end?

--
You received this message because you are subscribed to the Google Groups "Pylinac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pylinac+u...@googlegroups.com.
To post to this group, send email to pyl...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pylinac/4299311c-4f32-42c3-ab66-de62d37918c2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

mark ka heng Chan

unread,
Feb 7, 2018, 3:54:45 PM2/7/18
to Pylinac
Hello James,
I am interested in using the webapp and could you please kindly let me know how to sign up and get the sign up code from you. By the way, i havent seen the Winston Lutz module added to the web app, will it happen soon.
Mark Chan

James Kerns

unread,
Feb 7, 2018, 4:14:33 PM2/7/18
to Pylinac
Just go to the website and sign up. 

The WL module is not in the app currently. I just found out that Heroku has increased their "slug size" limit, which was the limitation of advancing pylinac versions. I will consider adding it, but with my time so limited with other projects and so many people using the app now I am considering commercializing it.

Sebastian Carcamo

unread,
Mar 26, 2023, 12:24:18 PM3/26/23
to Pylinac
Hello All.
Is this still available ? is a demo online version available ? Thanks

James Kerns

unread,
Mar 27, 2023, 10:32:13 AM3/27/23
to Pylinac
This app is no longer. I suggest you use QATrack+ or RadMachine to get pylinac analyses with a UI. 
Reply all
Reply to author
Forward
0 new messages