Our custom OHIF Viewer.
Go to file
Danny Brown 619d363243
ci: GCP deploy (#810)
* ci: test docs-publish

* Require unit tests for dry run

* ci: Make sure our docs publish is executable

* Try to correct path issue

* Try repo prefix

* Try as yarn command

* Need a workspace to attach to from previous step

* Add before we call our bash script

* See if we can enforce commands being available -- or just install locally?

* Try again

* Try SSH

* Include username in gh https url

* Note regarding failure on PR branches

* Remove docs publish from PR workflow

* chore: ability to specify an alternative html-template at build time

* chore: add command to build demo PWA website output

* chore: remove unused CI code

* Testing GCP capabilities

* syntax

* Naming

* naming

* chore: WebPack output progress that we care about

* chore: Only publish the app config we care about

* PWA should publish source map

* Unused index.html file

* chore: Remove unused copy-webpack-plugin ignore

* Don't generate source map until we resolve memory issue

* ci: attempt to publish with GCP bucket deploy
2019-08-27 14:43:44 -04:00
.circleci ci: GCP deploy (#810) 2019-08-27 14:43:44 -04:00
.github GitHub labels appear to prefer short-hand syntax over literal emojis 2019-08-27 12:59:11 -04:00
.netlify ci: test docs-publish (#803) 2019-08-26 22:19:05 -04:00
.scripts fix(Studies): Qidosupportsincludefield should be true by default (#801) 2019-08-26 09:46:25 -04:00
.vscode Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
.webpack Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
docs Merge branch 'master' into docs/testing-guidelines 2019-08-21 23:28:58 -04:00
extensions chore(release): publish [skip ci] 2019-08-26 13:57:47 +00:00
platform ci: GCP deploy (#810) 2019-08-27 14:43:44 -04:00
.codecov.yml Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
.eslintrc.json Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
.gitignore Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
.prettierrc Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
aliases.config.js Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
babel.config.js chore: Add hot-reloading for the React app 2019-08-15 09:47:49 +02:00
build-and-publish-docs.sh ci: test docs-publish (#803) 2019-08-26 22:19:05 -04:00
eslintAliasesResolver.js Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
jest.config.base.js Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
jest.config.js Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
lerna.json Simplify lerna commands in CI 2019-08-14 08:49:19 -04:00
LICENSE Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
maintainer-notes.md Simplify lerna commands in CI 2019-08-14 08:49:19 -04:00
netlify.toml Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
package.json ci: test docs-publish (#803) 2019-08-26 22:19:05 -04:00
postcss.config.js Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
README.md Chore/kill yalc with fire (#629) 2019-08-13 15:36:46 -04:00
yarn.lock ci: test docs-publish (#803) 2019-08-26 22:19:05 -04:00

OHIF Medical Imaging Viewer

The OHIF Viewer is a zero-footprint medical image viewer provided by the Open Health Imaging Foundation (OHIF). It is a configurable and extensible progressive web application with out-of-the-box support for image archives which support DICOMweb.


NPM version NPM downloads Pulls MIT License

Netlify Status CircleCI codecov All Contributors

What?

The OHIF Medical Imaging Viewer is for viewing medical images. It 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

...

Support

...

Quick Start Deployment

This is only one of many ways to configure and deploy the OHIF Viewer. To learn more about your options, and how to choose the best one for your requirements, check out our deployment recipes and documentation.

The fastest and easiest way to get started is to include the OHIF Viewer with a script tag. In practice, this is as simple as:

  • Including the following dependencies with script tags:
  • Have an element with an ID of root on the page
  • Configure the OHIF Viewer at window.config:
window.config = {
  routerBasename: "/",
  servers: {
    dicomWeb: [
      {
        name: "DCM4CHEE",
        qidoRoot: "https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs",
        wadoRoot: "https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs",
        qidoSupportsIncludeField: true,
        imageRendering: "wadors",
        thumbnailRendering: "wadors"
      }
    ]
  }
};
  • Install the viewer: window.OHIFStandaloneViewer.installViewer(window.config);

This exact setup is demonstrated in this CodeSandbox and in our Embedding The Viewer deployment recipe.

Developing

Requirements

  • Yarn 1.17.3+
  • Node 8+
  • Yarn Workspaces should be enabled on your machine:
    • yarn config set workspaces-experimental true

Getting Started

  1. Fork this repository
  2. Clone your forked repository
    • git clone https://github.com/YOUR-USERNAME/Viewers.git
  3. Navigate to the cloned project's directory
  4. Add this repo as a remote named upstream
    • git remote add upstream https://github.com/OHIF/Viewers.git
  5. 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 project.json files.

Yarn Commands Description
Develop
dev or start Default development experience for Viewer
dev:project <package-name> Replace with core, ui, i18n, cornerstone, vtk, etc.
test:unit Jest multi-project test runner; overall coverage
Deploy
build* Builds production output for our PWA Viewer
build:package* Builds production commonjs output for our Viewer
build:package-all* Builds commonjs bundles for all projects

* - For more information on our different builds, check out our Deploy Docs

Projects

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
│   ├── cornerstone         # 2D images w/ Cornerstone.js
│   ├── dicom-html          # Structured Reports as HTML in viewport
│   ├── dicom-microscopy    # Whole slide microscopy viewing
│   ├── dicom-pdf           # View DICOM wrapped PDFs in viewport
│   └── vtk                 # MPR and Volume support w/ VTK.js
│
├── platform                #
│   ├── core                # Business Logic
│   ├── i18n                # Internationalization Support
│   ├── ui                  # React component library
│   └── viewer              # Connects platform and extension projects
│
├── ...                     # misc. shared configuration
├── lerna.json              # MonoRepo (Lerna) settings
├── package.json            # Shared devDependencies and commands
└── README.md               # This file

Want to better understand why and how we've structured this repository? Read more about it in our Architecture Documentation.

Platform

These projects comprise the

Name Description Links
@ohif/core NPM
@ohif/i18n NPM
@ohif/viewer NPM
@ohif/ui NPM

Extensions

This is a list of Extensions maintained by the OHIF Core team. It's possible to customize and configure these extensions, and you can even create your own. You can read more about extensions here.

Name Description Links
@ohif/extension-cornestone NPM
@ohif/extension-dicom-html NPM
@ohif/extension-dicom-microscopy NPM
@ohif/extension-dicom-pdf NPM
@ohif/extension-vtk NPM

Acknowledgments

To acknowledge the OHIF Viewer in an academic publication, 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).

License

MIT © OHIF