JulianA.jl -- A Julia package for radiotherapy

Renato Bellotti,Antony J. Lomax,Andreas Adelmann,Jan Hrbacek
2024-07-04
Abstract:The importance of computers is continually increasing in radiotherapy. Efficient algorithms, implementations and the ability to leverage advancements in computer science are crucial to improve cancer care even further and deliver the best treatment to each patient. Yet, the software landscape for radiotherapy is fragmented into proprietary systems that do not share a common interface. Further, the radiotherapy community does not have access to the vast possibilities offered by modern programming languages and their ecosystem of libraries yet. We present JulianA.jl, a novel Julia package for radiotherapy. It aims to provide a modular and flexible foundation for the development and efficient implementation of algorithms and workflows for radiotherapy researchers and clinicians. JulianA.jl can be interfaced with any scriptable treatment planning system, be it commercial, open source or in-house developed. This article highlights our design choices and showcases the package's simplicity and powerful automatic treatment planning capabilities.
Medical Physics
What problem does this paper attempt to address?
This paper introduces JulianA.jl, an open-source software package based on the Julia programming language, specifically designed for the field of radiotherapy. Currently, software systems in the field of radiotherapy are typically closed and incompatible, while JulianA.jl aims to provide a modular and flexible foundation for the development and efficient implementation of algorithms and workflows. Its goal is to unify the functionality of different vendor Treatment Planning Systems (TPS) and provide a user-friendly interface for researchers and clinicians to quickly develop and improve algorithms, and build fully automated workflows. The paper points out that current TPS systems are mainly aimed at professional users, with limited customization and typically based on MATLAB or Python, which are no longer the optimal choices for scientific computing. JulianA.jl utilizes the advantages of modern programming languages and hardware accelerators, such as GPUs, to tackle large-scale medical imaging problems. In addition, it also supports interaction with various scriptable TPS systems, whether they are commercial, open-source, or self-developed. The paper also discusses challenges in radiotherapy, including system complexity, the need for multiple algorithms, automation requirements, and the lack of software engineering practices. JulianA.jl solves these problems by adopting modern software engineering methods, such as modular design and Julia's package manager, allowing researchers to focus on algorithm development instead of low-level technical details. The paper presents a simplified example code of JulianA.jl, demonstrating how to automate the workflow of radiotherapy, including steps such as CT image loading, target definition, beam angle selection, point weight optimization, and dose distribution calculation. Case studies show that treatment plans generated by JulianA.jl can be comparable to manual plans in certain cases, and even perform better in terms of protecting normal tissues. In summary, this paper addresses the fragmentation, incompatibility, and lack of modern software engineering practices in the field of radiotherapy software, aiming to provide a universal and efficient platform for research and clinical application of radiotherapy algorithms through JulianA.jl.