This repository contains the web and desktop application for dicompare, an open-source tool for automated validation and comparison of MRI acquisition protocols using DICOM metadata.
The app provides a visual interface for building, viewing, and validating imaging protocol schemas — all running locally in the browser with no data uploads required.
dicompare is a collaboration between the Neurodesk and Brainlife groups.
Live app: dicompare.neurodesk.org | brainlife.io/dicompare
This app is a frontend built on top of the dicompare Python package, which runs in the browser via Pyodide (Python compiled to WebAssembly). All DICOM processing happens locally — no imaging data leaves your machine.
For the command-line interface (CLI) or Python API, see the dicompare pip package.
- Workspace — Load DICOM files, build protocol schemas from reference data, attach schemas from the built-in library, and validate test data against schemas with visual compliance reports
- Schema Viewer — Browse, inspect, and print protocol schemas from the built-in library or loaded from file/URL
- Image Viewer — View DICOM and NIfTI volumes with multiplanar display and side-by-side comparison
- Print Reports — Generate formatted compliance and protocol reports with configurable sections and embedded volume thumbnails
- Schema Library — Bundled protocol templates from HCP, ABCD, UK Biobank, PING, and domain-specific guidelines (QSM, ASL, MS/CMSC)
- Privacy-First — All processing is local; no data is uploaded to any server
For offline use or better performance, download the desktop app from GitHub Releases:
- Windows:
.exeinstaller or portable version - macOS:
.dmgdisk image - Linux:
.AppImageor.debpackage
The desktop app includes full offline support (no internet required after installation), PDF export for compliance reports, and all Python dependencies bundled via Pyodide.
- Node.js 18+
- npm
# Install dependencies
npm install
# Start development server
npm run dev# Download Pyodide packages for offline use
npm run download:pyodide
# Start Electron in development mode
npm run dev:electron# Build web app
npm run build
# Build desktop app (choose your platform)
npm run build:linux
npm run build:mac
npm run build:win- React 19 + TypeScript
- Tailwind CSS
- Pyodide (Python in WebAssembly)
- Electron (desktop app)
MIT License — see LICENSE for details.
- dicompare Python Package — Core engine, CLI, and Python API
- Live App (Neurodesk)
- Live App (Brainlife)
- Report Issues