top of page

Calculating Aperture Complexity Metrics

Our group recently published the article Predicting deliverability of volumetric-modulated arc therapy (VMAT) plans using aperture complexity analysis. We used an Eclipse plug-in script to calculate the aperture complexity metrics analyzed in the study. Here's an excerpt from the abstract that summarizes the study:

This script reports the modulation of plans, arcs, and individual control points for VMAT plans using a previously developed complexity metric. The calculated complexities are compared to that of 649 VMAT plans previously treated at our institution from 2013 to mid-2015... We found that ... the true positive rate for correctly identifying plans that failed QA was 44%, and the false-positive rate was 7%... Use of the complexity metric during both the planning and QA processes can reduce the number of QA failures and improve the quality of VMAT plans used for treatment.

I've uploaded the Eclipse plug-in script to GitHub: Complexity.

The MLC leaf widths, which are needed to calculate the complexity metric, are not available through ESAPI. We obtained them from the ARIA database directly (see Get the MLC Leaf Widths Using the Entity Framework). Before you can use the script, you need to edit the ARIA database connection string. It's a constant field in src/Complexity.AriaEntity/AriaContext.cs. The connection string that's already there was generated by the EntityFramework for our database, except for the placeholders <location>, <username>, and <password>;. Replace them with your database information.

The other files you'll want to edit are imrt.csv and vmat.csv. These store the historical metrics for IMRT and VMAT plans that are used for the histogram that's displayed by the script. Each line of the file corresponds to a plan's metrics. The first column is the body site that was treated, the second column is the plan's complexity metric, and the third and subsequent columns are each beam's complexity metric for that plan. We periodically populate the imrt.csv and vmat.csv files using a stand-alone script that goes through a list of patients and calculates their complexity metrics.

The script includes a documentation PDF file, which can be accessed by clicking on the help button, located in the upper right of the window. It contains information on how to use the script.

Related Posts

See All

ESAPI Essentials 1.1 and 2.0

A few months ago, I introduced ESAPI Essentials—a toolkit for working with ESAPI (available via NuGet). I've recently added one major feature: asynchronous access to ESAPI for binary plugin scripts. Y

Announcement: ESAPI Subreddit

A few months ago, Matt Schmidt started the ESAPI subreddit. It's another useful resource for finding and discussing ESAPI-related topics. According to the description, This community is to post and di

Dump All Patient Data from ESAPI

If, for whatever reason, you need to dump out all of the data for a patient from ESAPI, there's a quick and dirty way to do it. Well, there are probably several ways to do it, but here's one I've foun


bottom of page