Installer, per user, no administrator rights · 219 MB
AAPM Working Group SCALE
SCALE Console
A desktop application for participating sites. It turns a site's DICOM data into one lesion mask per tumor in the shared MNI brain space, plus a clinical table with no identifiers, and checks the data between every step. Status: in development.
Pipeline
Eight steps in three zones
Identifiable data never leaves the site computer. De-identified data is checked after every step. Only the purple zone leaves the institution, and the site sees it file by file before it is created.
- 1Find casesFinds each MRI and its tumor contours in the DICOM folder, including inside zip files.
Unpack zips → Read headers → Pair MRI with contours
Checked before the next step
- Case list with every case and its structures
- Identifiable: stays on this computer
Needs: 2 CPUs · 2 GB · 10 GB disk
- 2Name structuresMaps every contour name to the AAPM TG-263 standard. A person confirms the names it is unsure about.
Match names to TG-263
Checked before the next step
- Every structure has a decision
- Names come from the TG-263 vocabulary
Needs: 1 CPU · 1 GB
- 3De-identifyRemoves all patient identifiers and checks every file before anything is released.
Rebuild files → Verify every file → Publish release
Checked before the next step
- No identifier in any file (privacy check)
- Inventory and checksums
- MRI and contours still match
Needs: 4 CPUs · 4 GB · disk ≈ size of the MRIs
- 4Map to MNIRegisters each MRI to the MNI brain and moves the tumor masks into it.
Convert → Fix intensity → Brain mask → Register to MNI → Move tumor masks
Checked before the next step
- Every mask on the 197 × 233 × 189 MNI grid
- One mask per tumor
- Volumes match the original contours
Needs: NVIDIA GPU ≥ 8 GB (required) · 32 GB RAM · ≈ 0.5 GB per patient
- 5Check qualityMeasures how well each brain was registered and flags the cases a person should look at.
Measure registration → Draw overlays → Flag outliers
Checked before the next step
- Every case accepted or excluded with a reason
Needs: 4 CPUs · 8 GB
- 6Add clinical dataA clinical workbook is filled for the site's patients. Only de-identified values are kept.
Check workbook → Keep de-identified values
Checked before the next step
- No names, IDs, dates or comments
- Ages as decades
- One row per patient
Needs: Excel or Numbers
- 7Prepare submissionPackages the lesion masks and the clinical table, and shows exactly what will leave the institution.
Select accepted lesions → Build package → Check package
Checked before the next step
- Only masks and the clinical table
- Final privacy check
- Checksums
Needs: 1 CPU · disk ≈ 5 MB per patient
- 8Build lesion mapsAt UCSF: the submissions of all sites are checked with the same checker and combined into lesion probability maps per cancer type.
Runs at UCSF
Decisions
A person decides four times
Everything else runs on its own. A step starts only when the data it needs passed the check and the computer has what the step needs.
Release
What leaves the institution
| File | Content |
|---|---|
| Lesion masks | One per accepted lesion, in MNI space |
| lesions.csv | Volume and MNI position of each lesion |
| clinical.csv | Age decade, sex, primary site, histology, subtype, KPS, treatment flags |
| quality.csv | Accepted or excluded, with reasons |
Not included: MRI images, transforms, names, IDs, dates, comments.
Containers
Each step is a verified container
| Container | Steps | Runs on | Data it may see | Status |
|---|---|---|---|---|
| scale-deid | Find cases · De-identify · Add clinical data | CPU | May see identifiable data · never network | In the Console |
| scale-tg263 | Name structures | CPU | May see identifiable data · never network | Built, not yet in the Console |
| scale-mni | Map to MNI | NVIDIA GPU (required) | De-identified data only | In development |
| scale-qc | Check quality | CPU | De-identified data only | Planned |
| scale-submit | Prepare submission | CPU | De-identified data only | Planned |
| scale-validate | The check between every step | CPU | Independent of all other containers | Built, not yet in the Console |
| scale-lesionmap | Build lesion maps (UCSF) | CPU | De-identified data only | Planned |
Containers ship inside the Console and are checked against their SHA-256 before use. They never have network access, and the DICOM folder is always mounted read-only.
Requirements
What a site computer needs
| Step | Needs |
|---|---|
| 1 Find cases | 2 CPUs · 2 GB · 10 GB disk |
| 2 Name structures | 1 CPU · 1 GB |
| 3 De-identify | 4 CPUs · 4 GB · disk ≈ size of the MRIs |
| 4 Map to MNI | NVIDIA GPU ≥ 8 GB (required) · 32 GB RAM · ≈ 0.5 GB per patient |
| 5 Check quality | 4 CPUs · 8 GB |
| 6 Add clinical data | Excel or Numbers |
| 7 Prepare submission | 1 CPU · disk ≈ 5 MB per patient |
Step 4 runs only on an NVIDIA GPU, so results match the UCSF atlas. On a computer without one, the Console offers to send the de-identified release to UCSF for processing (Route A). On a two-GPU workstation, mapping 2,000 patients takes about two and a half days; every other step takes minutes plus review time.
Download
SCALE Console 0.4.5
Installer, per user, no administrator rights · 219 MB
App in a zip · 229 MB
App in a zip · 235 MB
AppImage, no installation · 224 MB
- The SCALE Console desktop application
- SCALE De-identification 0.3.0, built in and installed on first start; no internet download needed
- Getting Started guide and SHA-256 checksums of every file
- Docker Desktop 24 or newer (on Windows with WSL 2); no Docker account
- 2 GB of memory for Docker, 1 CPU and 2 GB of free disk for the de-identification step
- An NVIDIA GPU only for the later mapping step
Released 2026-10-27. The installers are not yet code-signed, so Windows and macOS ask for confirmation on first start (Windows: More info → Run anyway; macOS: right-click the app → Open). Check the SHA-256 of the file you downloaded against the one shown here. All files, checksums and the Getting Started guide: release page.