Skip to content
Go to file


Failed to load latest commit information.
Latest commit message
Commit time


ESAPIX is an open source extension library for the Varian Eclipse Scripting API that contains extra methods, and bootstrapping frameworks to quickly develop applications for research and clinical use. It has no affiliation with Varian Medical Systems. It provides implementations for multithreading, asynchronous calls, debugging plugins, and with the ESAPIX.Bootstrapping library : dependency injection, and view model "auto finding" through the Prism 6 library.

Supported Eclipse Versions

  • 11
  • 13.6
  • 13.7
  • 15.0
  • 15.1
  • 15.5

Open Source Love

Getting Started

  1. Install the appropriate ESAPIX library (Version) through NuGet.
    • Right click your project >> Manage NuGet Packages >> (Search "ESAPI")
  2. In your project, instead of calling:
 var app = Application.CreateApplication("...");

Call :

var sac = new StandAloneContext(()=>Application.CreateApplication("..."));

StandAloneContext vs VMS...Application

Using ESAPIX StandAloneContext (SAC) wraps the real Varian classes in a thread controlled environment using Facades. This trick allows for using easy multithreading since ESAPIX will handle calling VMS proper classes on the correct thread. Additionally, these lightweight wrappers (Facades) can be used to mock Varian classes for unit testing and offline development. Also, the data can be quickly serialized into JSON using the FacadeSerializer class.


Most of all, ESAPIX is a unified, open source framework that is designed to be used and contributed to by the medical physics community. It uses the MIT open source license to ensure that code can be used in whatever tools you need in the fight against cancer. If you are interested in contributing code, please see an example of submitting code to this repository.

WPF Application

Video Tutorial (Deprecated. For versions <

Quick Startup ESAPIX

To dive deeper, check out more examples and API documentation.


Extension library for the Varian Eclipse Scripting API





No releases published


No packages published


You can’t perform that action at this time.