Awesome
<!-- prettier-ignore-start --> <!-- markdownlint-disable --> <div align="center"> <h1>OHIF Medical Imaging Viewer</h1> <p><strong>The OHIF Viewer</strong> is a zero-footprint medical image viewer provided by the <a href="https://ohif.org/">Open Health Imaging Foundation (OHIF)</a>. It is a configurable and extensible progressive web application with out-of-the-box support for image archives which support <a href="https://www.dicomstandard.org/using/dicomweb/">DICOMweb</a>.</p> </div> <div align="center"> <a href="https://docs.ohif.org/"><strong>Read The Docs</strong></a> </div> <div align="center"> <a href="https://viewer.ohif.org/">Live Demo</a> | <a href="https://ui.ohif.org/">Component Library</a> </div> <div align="center"> š° <a href="https://ohif.org/news/"><strong>Join OHIF Newsletter</strong></a> š° </div> <div align="center"> š° <a href="https://ohif.org/news/"><strong>Join OHIF Newsletter</strong></a> š° </div> <hr /> <!-- [![NPM downloads][npm-downloads-image]][npm-url] --> <!-- [![Pulls][docker-pulls-img]][docker-image-url] --> <!-- [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FOHIF%2FViewers.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FOHIF%2FViewers?ref=badge_shield) --> <!-- [![Netlify Status][netlify-image]][netlify-url] --> <!-- [![CircleCI][circleci-image]][circleci-url] --> <!-- [![codecov][codecov-image]][codecov-url] --> <!-- [![All Contributors](https://img.shields.io/badge/all_contributors-10-orange.svg?style=flat-square)](#contributors) --> <!-- prettier-ignore-end --><img src="https://github.com/OHIF/Viewers/blob/master/platform/docs/docs/assets/img/demo-measurements.webp?raw=true" alt="Measurement tracking" width="350"/> | Measurement Tracking | Demo |
<img src="https://github.com/OHIF/Viewers/blob/master/platform/docs/docs/assets/img/demo-segmentation.webp?raw=true" alt="Segmentations" width="350"/> | Labelmap Segmentations | Demo |
<img src="https://github.com/OHIF/Viewers/blob/master/platform/docs/docs/assets/img/demo-ptct.webp?raw=true" alt="Hanging Protocols" width="350"/> | Fusion and Custom Hanging protocols | Demo |
<img src="https://github.com/OHIF/Viewers/blob/master/platform/docs/docs/assets/img/demo-volume-rendering.webp?raw=true" alt="Volume Rendering" width="350"/> | Volume Rendering | Demo |
<img src="https://github.com/OHIF/Viewers/blob/master/platform/docs/docs/assets/img/demo-pdf.webp?raw=true" alt="PDF" width="350"/> | Demo | |
<img src="https://github.com/OHIF/Viewers/blob/master/platform/docs/docs/assets/img/demo-rtstruct.webp?raw=true" alt="RTSTRUCT" width="350"/> | RT STRUCT | Demo |
<img src="https://github.com/OHIF/Viewers/blob/master/platform/docs/docs/assets/img/demo-4d.webp?raw=true" alt="4D" width="350"/> | 4D | Demo |
<img src="https://github.com/OHIF/Viewers/blob/master/platform/docs/docs/assets/img/demo-video.webp?raw=true" alt="VIDEO" width="350"/> | Video | Demo |
<img src="https://github.com/OHIF/Viewers/blob/master/platform/docs/docs/assets/img/microscopy.webp?raw=true" alt="microscopy" width="350"/> | Slide Microscopy | Demo |
About
The OHIF Viewer can retrieve and load images from most sources and formats; render sets in 2D, 3D, and reconstructed representations; allows for the manipulation, annotation, and serialization of observations; supports internationalization, OpenID Connect, offline use, hotkeys, and many more features.
Almost everything offers some degree of customization and configuration. If it doesn't support something you need, we accept pull requests and have an ever improving Extension System.
Why Choose Us
Community & Experience
The OHIF Viewer is a collaborative effort that has served as the basis for many active, production, and FDA Cleared medical imaging viewers. It benefits from our extensive community's collective experience, and from the sponsored contributions of individuals, research groups, and commercial organizations.
Built to Adapt
After more than 8-years of integrating with many companies and organizations, The OHIF Viewer has been rebuilt from the ground up to better address the varying workflow and configuration needs of its many users. All of the Viewer's core features are built using it's own extension system. The same extensibility that allows us to offer:
- 2D and 3D medical image viewing
- Multiplanar Reconstruction (MPR)
- Maximum Intensity Project (MIP)
- Whole slide microscopy viewing
- PDF and Dicom Structured Report rendering
- Segmentation rendering as labelmaps and contours
- User Access Control (UAC)
- Context specific toolbar and side panel content
- and many others
Can be leveraged by you to customize the viewer for your workflow, and to add any new functionality you may need (and wish to maintain privately without forking).
Support
For commercial support, academic collaborations, and answers to common questions; please use Get Support to contact us.
Developing
Branches
master
branch - The latest dev (beta) release
master
- The latest dev release
This is typically where the latest development happens. Code that is in the master branch has passed code reviews and automated tests, but it may not be deemed ready for production. This branch usually contains the most recent changes and features being worked on by the development team. It's often the starting point for creating feature branches (where new features are developed) and hotfix branches (for urgent fixes).
Each package is tagged with beta version numbers, and published to npm such as @ohif/ui@3.6.0-beta.1
release/*
branches - The latest stable releases
Once the master
branch code reaches a stable, release-ready state, we conduct a comprehensive code review and QA testing. Upon approval, we create a new release branch from master
. These branches represent the latest stable version considered ready for production.
For example, release/3.5
is the branch for version 3.5.0, and release/3.6
is for version 3.6.0. After each release, we wait a few days to ensure no critical bugs. If any are found, we fix them in the release branch and create a new release with a minor version bump, e.g., 3.5.1 in the release/3.5
branch.
Each package is tagged with version numbers and published to npm, such as @ohif/ui@3.5.0
. Note that master
is always ahead of the release
branch. We publish docker builds for both beta and stable releases.
Here is a schematic representation of our development workflow:
Requirements
- Yarn 1.17.3+
- Node 18+
- Yarn Workspaces should be enabled on your machine:
yarn config set workspaces-experimental true
Getting Started
- Fork this repository
- Clone your forked repository
git clone https://github.com/YOUR-USERNAME/Viewers.git
- Navigate to the cloned project's directory
- Add this repo as a
remote
namedupstream
git remote add upstream https://github.com/OHIF/Viewers.git
yarn install
to restore dependencies and link projects
To Develop
From this repository's root directory:
# Enable Yarn Workspaces
yarn config set workspaces-experimental true
# Restore dependencies
yarn install
Commands
These commands are available from the root directory. Each project directory
also supports a number of commands that can be found in their respective
README.md
and package.json
files.
Yarn Commands | Description |
---|---|
Develop | |
dev or start | Default development experience for Viewer |
test:unit | Jest multi-project test runner; overall coverage |
Deploy | |
build * | Builds production output for our PWA Viewer |
* - For more information on our different builds, check out our Deploy Docs
Project
The OHIF Medical Image Viewing Platform is maintained as a
monorepo
. This means that this repository, instead of containing a
single project, contains many projects. If you explore our project structure,
you'll see the following:
.
āāā extensions #
ā āāā _example # Skeleton of example extension
ā āāā default # basic set of useful functionalities (datasources, panels, etc)
ā āāā cornerstone # image rendering and tools w/ Cornerstone3D
ā āāā cornerstone-dicom-sr # DICOM Structured Report rendering and export
ā āāā cornerstone-dicom-sr # DICOM Structured Report rendering and export
ā āāā cornerstone-dicom-seg # DICOM Segmentation rendering and export
ā āāā cornerstone-dicom-rt # DICOM RTSTRUCT rendering
ā āāā cornerstone-microscopy # Whole Slide Microscopy rendering
ā āāā dicom-pdf # PDF rendering
ā āāā dicom-video # DICOM RESTful Services
ā āāā measurement-tracking # Longitudinal measurement tracking
ā āāā tmtv # Total Metabolic Tumor Volume (TMTV) calculation
|
ā
āāā modes #
ā āāā _example # Skeleton of example mode
ā āāā basic-dev-mode # Basic development mode
ā āāā longitudinal # Longitudinal mode (measurement tracking)
ā āāā tmtv # Total Metabolic Tumor Volume (TMTV) calculation mode
ā āāā microscopy # Whole Slide Microscopy mode
ā
āāā platform #
ā āāā core # Business Logic
ā āāā i18n # Internationalization Support
ā āāā ui # React component library
ā āāā docs # Documentation
ā āāā viewer # Connects platform and extension projects
ā
āāā ... # misc. shared configuration
āāā lerna.json # MonoRepo (Lerna) settings
āāā package.json # Shared devDependencies and commands
āāā README.md # This file
Acknowledgments
To acknowledge the OHIF Viewer in an academic publication, please cite
Open Health Imaging Foundation Viewer: An Extensible Open-Source Framework for Building Web-Based Imaging Applications to Support Cancer Research
Erik Ziegler, Trinity Urban, Danny Brown, James Petts, Steve D. Pieper, Rob Lewis, Chris Hafey, and Gordon J. Harris
JCO Clinical Cancer Informatics, no. 4 (2020), 336-345, DOI: 10.1200/CCI.19.00131
Open-Access on Pubmed Central: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7259879/
or, for v1, please cite:
LesionTracker: Extensible Open-Source Zero-Footprint Web Viewer for Cancer Imaging Research and Clinical Trials
Trinity Urban, Erik Ziegler, Rob Lewis, Chris Hafey, Cheryl Sadow, Annick D. Van den Abbeele and Gordon J. Harris
Cancer Research, November 1 2017 (77) (21) e119-e122 DOI: 10.1158/0008-5472.CAN-17-0334
Note: If you use or find this repository helpful, please take the time to star this repository on GitHub. This is an easy way for us to assess adoption and it can help us obtain future funding for the project.
This work is supported primarily by the National Institutes of Health, National Cancer Institute, Informatics Technology for Cancer Research (ITCR) program, under a grant to Dr. Gordon Harris at Massachusetts General Hospital (U24 CA199460).
NCI Imaging Data Commons (IDC) project supported the development of new features and bug fixes marked with "IDC:priority", "IDC:candidate" or "IDC:collaboration". NCI Imaging Data Commons is supported by contract number 19X037Q from Leidos Biomedical Research under Task Order HHSN26100071 from NCI. IDC Viewer is a customized version of the OHIF Viewer.
This project is tested with BrowserStack. Thank you for supporting open-source!
License
MIT Ā© OHIF
<!-- Links --> <!-- prettier-ignore-start --> <!-- Badges --> <!-- ROW --> <!-- Links --> <!-- Platform --> <!-- Extensions --> <!-- prettier-ignore-end -->