PyiCOM
Python implementation of the Elekta iCOM Library
Install / Use
/learn @a-blackmore/PyiCOMREADME
PyiCOM
A Python implementation of the Elekta iCOM Library.
PyiCOM is designed to help streamline your QA by enabling the rapid delivery of "sequences" of pre-determined fields. The software will send each field to the linac in turn, automatically confirming the field, so that the user just has to press the "MV On" button to move on to the next delivery. This significantly simplifies and expediates routine QA tasks.
Its also intended to be a very "light touch" on the clinical systems, intended to run from a network drive and requiring no installation on the LINAC.
<img height="400" alt="pyicom" src="https://github.com/user-attachments/assets/d114e8b2-ba22-415f-a1ef-a32cae0957fe" />Installation
Download the repository, and add the required dependencies to the main folder:
- From an Elekta Linac, locate iCOMClient.dll - This should be present on the iCom CAT CD provided with the machine at install. It should also be present on many of the adjoining systems like XVI and iView. Copy it into to the main directory - unfortunately these files aren’t mine to distribute freely.
- Install a portable version of Python 3.4 in the python_3.4 folder. Unfortunately, this legacy version is required as it is the last to support the 32 bit DLL that we need to use. (P.S. Elekta - If you want to provide me a more recent 64bit DLL that would be fab). Ensure your python installation has the required pre-requisite libraries as specified in requirements.txt. Alternatively, you can unzip the version I've provided.
Configuration
Using the config.txt file, you can specify the sequences you wish to deliver. There are a few examples provided to demonstrate the format. I recommend the use of the iCom CAT tool from Elekta to help specify more EFS files, or you can edit them with a text editor. You can override the MU and Dose Rate and add Move Only segments to streamline your QA.
Running PyiCOM
- Put your Linac into Clinical Receive Prescription Mode, and Close Mosaiq.
- Ideally place PyiCOM on a network drive that is accessible from within the Linac's network - then run it from the CCP Management PC, iView, or XVI. It doesn't require any installation or leave a footprint on these devices.
- Configure PyiCOM with your Linac's name and IP address (generally from within the network this is the last four digits of the linac's serial number, and 192.168.30.2)
- Press "Connect", then select a sequence and press "Play" - The linac should mode up the field and be ready to deliver.
Related Skills
node-connect
352.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
