[OHIF-Viewers]医疗数字阅片-医学影像-学习开篇

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.

GitHub开源地址:https://github.com/OHIF/Viewers

就不翻译了,中文部分是学习心得。

Introduction

The Open Health Imaging Foundation (OHIF) Viewer is an open source, web-based, medical imaging viewer. It can be configured to connect to Image Archives that support DicomWeb, and offers support for mapping to proprietary API formats. OHIF maintained extensions add support for viewing, annotating, and reporting on DICOM images in 2D (slices) and 3D (volumes).

OHIF Viewer Screenshot

The OHIF Viewer: A general purpose DICOM Viewer (Live Demo)

The Open Health Imaging Foundation intends to provide a simple general purpose DICOM Viewer which can be easily extended for specific uses. If you find yourself unable to extend the viewer for your purposes, please reach out via our GitHub issues. We are actively seeking feedback on ways to improve our integration and extension points.

Where to next?

Check out these helpful links:

Getting Started

Setup

Fork & Clone

If you intend to contribute back changes, or if you would like to pull updates we make to the OHIF Viewer, then follow these steps:

  • Fork the OHIF/Viewers repository
  • Create a local clone of your fork
    • git clone https://github.com/YOUR-USERNAME/Viewers
  • Add OHIF/Viewers as a remote repository labled upstream
    • Navigate to the cloned project's directory
    • git remote add upstream https://github.com/OHIF/Viewers.git

With this setup, you can now sync your fork to keep it up-to-date with the upstream (original) repository. This is called a "Triangular Workflow" and is common for Open Source projects. The GitHub blog has a good graphic that illustrates this setup.

Private

Alternatively, if you intend to use the OHIF Viewer as a starting point, and you aren't as concerned with syncing updates, then follow these steps:

  1. Navigate to the OHIF/Viewers repository
  2. Click Clone or download, and then Download ZIP
  3. Use the contents of the .zip file as a starting point for your viewer

NOTE: It is still possible to sync changes using this approach. However, submitting pull requests for fixes and features are best done with the separate, forked repository setup described in "Fork & Clone"

Developing

Requirements

  • Node.js & NPM
  • Yarn
  • Yarn workspaces should be enabled:
    • yarn config set workspaces-experimental true

Kick the tires

Navigate to the root of the project's directory in your terminal and run the following commands:

# Restore dependencies
yarn install

# Start local development server
yarn run dev

You should see the following output:

@ohif/viewer: i 「wds」: Project is running at http://localhost:3000/
@ohif/viewer: i 「wds」: webpack output is served from /
@ohif/viewer: i 「wds」: Content not from webpack is served from D:\code\ohif\Viewers\platform\viewer
@ohif/viewer: i 「wds」: 404s will fallback to /index.html

# And a list of all generated files

🎉 Celebrate 🎉

development server hosted app Our app, hosted by the development server

Building for Production

More comprehensive guides for building and publishing can be found in our deployment docs

# Build static assets to host a PWA
yarn run build

# Build packaged output (script-tag use)
yarn run build:package

Troubleshooting

  • If you receive a "No Studies Found" message and do not see your studies, try changing the Study Date filters to a wider range.
  • If you see a 'Loading' message which never resolves, check your browser JavaScript console inside the Developer Tools to identify any errors.

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 FOSSA Status

Netlify Status CircleCI codecov This project is using Percy.io for visual regression testing. All Contributors

About

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

After more than 5-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
  • 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

We offer support through GitHub Issues. You can:

For commercial support, academic collaberations, and answers to common questions; please read our documented FAQ.

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.OHIFViewer.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 10+
  • 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 CommandsDescription
Develop  
dev or start Default development experience for Viewer
dev:project <package-name> Replace with coreuii18ncornerstonevtk, 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

NameDescriptionLinks
@ohif/core Business logic and classes that model the data, services, and extensions that are framework agnostic NPM
@ohif/i18n Language files and small API for wrapping component/ui text for translations NPM
@ohif/viewer The OHIF Viewer. Where we consume and configure all platform library's and extensions NPM
@ohif/ui Reusable React components we consume and compose to build our Viewer's 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.

NameDescriptionLinks
@ohif/extension-cornestone 2D image viewing, annotation, and segementation tools NPM
@ohif/extension-dicom-html Support for viewing DICOM SR as rendered HTML NPM
@ohif/extension-dicom-microscopy Whole slide microscopy viewing NPM
@ohif/extension-dicom-pdf View DICOM wrapped PDFs in a viewport NPM
@ohif/extension-vtk Volume rendering, reconstruction, and 3D visualizations 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).

网名:浩秦;
邮箱:root#landv.pw;
博客:landv.cnblogs.com;
只要我能控制一個國家的貨幣發行,我不在乎誰制定法律。金錢一旦作響,壞話隨之戛然而止。
posted @ 2020-07-02 21:32  landv  阅读(714)  评论(0编辑  收藏  举报