Skip to content

astewartau/dicompare-web

Repository files navigation

dicompare Web & Desktop App

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

image

How It Works

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.


Features

  • 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

Desktop App

For offline use or better performance, download the desktop app from GitHub Releases:

  • Windows: .exe installer or portable version
  • macOS: .dmg disk image
  • Linux: .AppImage or .deb package

The desktop app includes full offline support (no internet required after installation), PDF export for compliance reports, and all Python dependencies bundled via Pyodide.


Contributing

Prerequisites

  • Node.js 18+
  • npm

Web Development

# Install dependencies
npm install

# Start development server
npm run dev

Electron Development

# Download Pyodide packages for offline use
npm run download:pyodide

# Start Electron in development mode
npm run dev:electron

Building

# Build web app
npm run build

# Build desktop app (choose your platform)
npm run build:linux
npm run build:mac
npm run build:win

Tech Stack

  • React 19 + TypeScript
  • Tailwind CSS
  • Pyodide (Python in WebAssembly)
  • Electron (desktop app)

License

MIT License — see LICENSE for details.

Links

About

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages