Numerous Panicky Mimes


    0.11.1 • Public • Published


    ohif-core is a collection of useful functions and classes for building web-based medical imaging applications. This library helps power OHIF's zero-footprint DICOM viewer.

    CircleCI codecov All Contributors code style: prettier semantic-release

    NPM version NPM downloads MIT License


    This library offers pre-packaged solutions for features common to Web-based medical imaging viewers. For example:

    • Hotkeys
    • DICOM Web
    • Hanging Protocols
    • Managing a study's measurements
    • Managing a study's DICOM metadata
    • A flexible pattern for extensions
    • And many others

    It does this while remaining decoupled from any particular view library or rendering logic. While we use it to power our React Viewer, it can be used with Vue, React, Vanilla JS, or any number of other frameworks.

    Getting Started

    The documentation for this library is sparse. The best way to get started is to look at its top level exports, and explore the source code of features that interest you. If you want to see how we use this library, you can check out our viewer implementation.


    This library is pre- v1.0. All realeases until a v1.0 have the possibility of introducing breaking changes. Please depend on an "exact" version in your projects to prevent issues caused by loose versioning.

    // with npm
    npm i ohif-core --save-exact
    // with yarn
    yarn add ohif-core --exact


    Usage is dependent on the feature(s) you want to leverage. The bulk of ohif-core's features are "pure" and can be imported and used in place.

    Example: retrieving study metadata from a server

    import { studies } from 'ohif-core'
    const studiesMetadata = await studies.retrieveStudiesMetadata(
      server, // Object
      studyInstanceUids, // Array
      seriesInstanceUids // Array (optional)


    It is notoriously difficult to setup multiple dependent repositories for end-to-end testing and development. That's why we recommend writing and running unit tests when adding and modifying features for this library. This allows us to program in isolation without a complex setup, and has the added benefit of producing well-tested business logic.

    1. Clone this repository
    2. Navigate to the project directory, and yarn install
    3. To begin making changes, yarn run dev
    4. To commit changes, run yarn run cm

    When creating tests, place the test file "next to" the file you're testing. For example:

    // File
    // Test for file

    As you add and modify code, jest will watch for uncommitted changes and run your tests, reporting the results to your terminal. Make a pull request with your changes to master, and a core team member will review your work. If you have any questions, please don't hesitate to reach out via a GitHub issue.


    Looking to contribute? Look for the Good First Issue label.

    🐛 Bugs

    Please file an issue for bugs, missing documentation, or unexpected behavior.

    See Bugs

    💡 Feature Requests

    Please file an issue to suggest new features. Vote on feature requests by adding a 👍. This helps maintainers prioritize what to work on.

    See Feature Requests

    ❓ Questions

    For questions related to using the library, please visit our support community, or file an issue on GitHub.

    Google Group


    Thanks goes to these wonderful people (emoji key):

    Erik Ziegler
    Erik Ziegler

    Evren Ozkan
    Evren Ozkan

    Gustavo André Lelis
    Gustavo André Lelis

    Danny Brown
    Danny Brown


    Ivan Aksamentov
    Ivan Aksamentov

    💻 ⚠️
    Igor Octaviano
    Igor Octaviano

    David Wire
    David Wire

    💻 ⚠️
    Egor Lezhnin
    Egor Lezhnin


    This project follows the all-contributors specification. Contributions of any kind welcome!


    MIT © OHIF




    npm i ohif-core

    DownloadsWeekly Downloads






    Unpacked Size

    6.43 MB

    Total Files


    Last publish


    • sedghi
    • zaidsafadi
    • swederik
    • andrebot
    • brunoalvesdefaria
    • chafey
    • lscoder
    • sandrasie
    • evren217
    • dannyrb
    • ohif-bot
    • jamesapetts