Skip to content

YZST/VMAT-TBI

 
 

Repository files navigation

Hi

ESAPI/Projects/VMATTBIautoPlan --> binary plug in
ESAPI_MT/VMATTBI_optLoopMT --> stand-alone executable

Some important notes to make the scripts run:
binary plug-in:
-for the most part, this script is pretty self-contained
-the main parameters that can be adjusted are the global variables noted at the beginning of the UI class (UI.xaml.cs file)
-if you want to adjust the default superior-inferior margin applied to contouring the overlap between VMAT fields in adjacent isocenters, adjust the initial assignment of
contourOverlapTB.Text near the top of the populateBeamsTab method (line 600)
-if you want to adjust the default energy for the static AP/PA beams, you need to adjust the beam energy specifier used in assigning ebmpStatic 
(two total instances of "6X" in the constructors for the class)

stand-alone executable:
-most of the global variables are listed in the header for the MainWindow class (indicated near the top)
-plan quality objectives used in the code can be adjusted by modifying the objectives listed in the dataContainer struct in the optimizationLoop class
 *in particular, the 'threhold' and 'lowDoseLimit' variables will impact the decisions the algorithm makes when deciding how to modify the current optimization constraints
 currently, they are set to 15% and 10%, respectively.
-If you want to use/not use jaw tracking or the normal tissue objective (NTO) in the optimization, modify the values for the plan.OptimizationSetup.UseJawTracking and 
plan.OptimizationSetup.AddAutomaticNormalTissueObjective variables near the bottom of the preliminaryChecks method in the optimizationLoop class
-if you want to use different dose levels/ranges or priorities to generate the heater and cooler optimization structures, adjust the values near the bottom of the 
evaluateAndUpdatePlan method of the optimizationLoop class (lines 659 - 690 of the initial upload code)
-if you want a demo of how the code runs, you can change the 'demo' global variable in the progressWindow class to true. Instead of running actual optimizations and dose calculations
the code will instead sleep for three seconds. This gives you a chance to see what information is reported as the code runs
-IMPORTANT!
  ** You will need to change the default paths in the updateLogFile and WriteResults_Click methods of the progressWindow class! If you don't do this, the code will likely crash!
  The paths in the updateLogFile method are used to write a text log file as the code runs (useful if the code crashes). Set these paths to a location that has a low risk of
  being deleted. The path in the WriteResults_Click method is used when the user hits the 'write results to file' button. Set this path to a default directory where the 
  filebrowserdialog window should open.

Currently working on updating the install and run instructions.
Stay tuned.

If you have questions, leave a comment and i'll try and respond as quickly as I can.

About

ESAPI code used for VMAT TBI autoplanning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%