The imfamous Therac-25, produced by Atomic Energy of Canada Limited (AECL) in 1982 after the Therac-6 and Therac-20 units, was a computer-controlled radiation therapy machine that between 1985 and 1987, gave six patients massive overdoses of radiation, of which three of them died.
This repository holds my port of the original C source code found on MIT's Hands-on 3b of 6.033 - Computer System Engineering onto the Python scripting language.
Steps assume that python
(>= 3.8) and pip
are already installed.
Install dependencies (see sections below)
Then, run:
$ pip install therac-25
or from the wheel:
$ pip install therac_25-0.1.1-py3-none-any.whl
Install directly from github
:
$ pip install git+https://github.com/amstelchen/Therac-25#egg=Therac-25
When completed, run it with:
$ therac-25
or
$ therac
BEAM TYPE:
- (empty)
- "X": Megavolt X-ray
- "E": Electron-beam therapy
("field light" mode was supposely not implemented in the C source code)
COMMAND:
- "b" or "B" - Start treatment
- "q" or "Q" - Quit program
None, except curses which will come pre-installed with any Linux distro.
On Windows, you are on your own, using UniCurses with PDCurses might work (not tested).
If you encounter any bugs or incompatibilities, or deaths, please report them here.
TBD
TBD, (see TODO.md)
- 0.1.0: initial version
- 0.1.1: removed logging
Therac-25 Python port is licensed under the MIT license.
The original C implementation is licensed under the MIT license as well.