corad
A chest X-ray finding highlighter that runs in the background on your reading workstation. Press a hotkey while a film is on screen; it grabs the monitor, runs a model on the CPU, and shows a heat map with the 14 findings ranked. It never sends a byte anywhere.
Download for Windows · 120 MB Other downloads
The model inside the download is encrypted. A free account gives you a short-lived licence file that unlocks it; renewing is one click on your account page. The licence check is offline: the app still never connects to anything.
Download
Windows, self-contained
Unzip anywhere, double-click Corad.cmd. Python, the model and every library are inside the folder. Nothing is installed and no admin rights are needed.
Any machine with Python 3.11
Linux, macOS or Windows with your own Python 3.11 (the app ships as 3.11 bytecode). pip install -r requirements-app.txt, then python -m corad run.
Model bundle only
For updating the model under an existing install: replace models/current/. The app checks the SHA-256 in model.json before loading.
| file | size | sha256 |
|---|---|---|
| corad-0.1.0-python311.zip | 28 MB | b3300702feb8a77ac79efddcb6f63a671334d44cd155c168af6c6d579e9f24ae |
| corad-model-corad-v1.zip | 28 MB | e0c06f4e6eed23512d05d308809faca9f3bcc8acc9802d4df748dba090997fb5 |
| corad-0.1.0-windows-x64.zip | 120 MB | d20f9f4407bf28dcd0b120242fb4bc437a488cece67304b676ed9019568f2b4e |
Check a download on Windows with certutil -hashfile corad-0.1.0-windows-x64.zip SHA256, on Linux or macOS with sha256sum.
Using it
| Ctrl+Alt+X | Grab the monitor under the cursor, auto-crop to the film, analyse |
| Ctrl+Alt+R | Drag a box around the film yourself, analyse that |
| Ctrl+Alt+Q | Quit |
The result window shows the film with heat for the selected finding and the 14 findings ranked on the right. Click a finding or use the arrow keys to switch. A red bar means the probability is above that finding's operating point. H toggles the heat, Esc closes. Corad-Analyze.cmd accepts a dropped PNG, JPG or DICOM file. Hotkeys and a watched folder can be changed in corad.ini (see corad.ini.example).
How it stays local
- No code path wants the network. The app loads a model file from disk and talks to the screen. No telemetry, no update check, no remote model, no account.
- Offline licence. The licence file is a signed token the app checks with a built-in public key. Nothing is looked up online; a 2-day expiry is what makes it renewable.
- Process-level block. Before anything else loads, corad replaces the socket layer's connect, send and DNS functions with versions that refuse any address that is not the local machine. A library that tried to phone home could not.
- Hash-checked model. The bundle carries the SHA-256 of the model file; a tampered or swapped model is refused.
Run Corad-Verify.cmd after unzipping. It tries a TCP connection, a UDP packet, a DNS lookup and an HTTP fetch and reports each one blocked, then times one inference on your CPU.
Model
DenseNet-121 initialised from torchxrayvision's multi-dataset backbone and fine-tuned at 512 px on the public NIH ChestX-ray14 set for 14 findings: Atelectasis, Cardiomegaly, Consolidation, Edema, Effusion, Emphysema, Fibrosis, Hernia, Infiltration, Mass, Nodule, Pleural Thickening, Pneumonia, Pneumothorax. Mean AUC on NIH's official patient-level test list: 0.766. Bundle corad-v1, model sha256 . Per-finding numbers, operating points and localisation scores are in the bundle's model.json and in the README inside every download.
The heat map is a class activation map, 16×16, upsampled. It lands on or next to the finding about half the time on NIH's radiologist-boxed films. Cardiomegaly, Effusion, Edema and Hernia are the reliable findings; Infiltration, Pneumonia and Nodule are weak, as they are for every model trained on these labels.