As a software developer, I feel I can have outsized impact. At a certain point, I felt that impact was wasted on helping a pizza chain increase online sales or a mortgage lender improve margins. With the COVID-19 pandemic in full force, I want to help shine a light on a project that’s near and dear to me.
The OHIF Viewer
- It is 100% free and open source
- It is primarily used for clinical research and trials
- It is a great option for developing countries (it can run on a Raspberry Pi)
- It has some funding through grants (won’t disappear tomorrow)
How Can I Help?
👋 It might sound odd, but simply adding 🌠 to our GitHub Repository helps us advocate for additional funding through grants.
Our current grant funds two full-time developers through August. We’re using this time wisely to complete a redesign and core architecture changes that improve the OHIF Viewer’s extensibility while strengthening our out of the box support for oncologic imaging research.
React Component Library
We have a component library that follows atomic design principles. We need help creating React components that satisfy our design. Most of them are “dumb” and composed to create example “Views” that demonstrate the different UI states using mocked data and fake interactions. We accomplish this using the docz component library (built on Gatsby). Every contributed component, test, and bit of documentation is incredibly helpful in moving us toward our goal.
Core Architecture Changes
Our first implementation of the OHIF Viewer was a streamlined meteor application that had one purpose. While it was (and is) very useful, we are adapting to support the varied use cases of our community, and making it easier to “share” workflows, features, and functionality with others.
Imaging, Segmentation, and 3D Visualization Expertise
This category is less likely to apply to most of you. Any help with the previous items frees up our limited resources to make more progress on these items. If you do have expertise here and wish to contribute, please don’t hesitate to reach out and we can collaborate. In particular we have a PET-CT Fusion and multi-volume wish-list that requires WebGL/shader experience.
Additional Funding and Resources
While our current grant runs out in August, we have applied for a renewal that would extend funding for 2 full-time developers for an additional 5-years. If you are interested in funding OHIF for key features, or have development resources you would like to allocate but don’t know how best to do so, please reach out.
Some items detailed in our grant renewal include:
- Simplifying deployment and installation
- Support for mobile resolutions and an Electron desktop app
- Expand extension and mode support; a directory of shared “workflows”
- Much more
There are many projects in this space. If you are aware of any great projects that are liberally licenses and responsive to contributors, please call them out in the comments and I will try to update this list.
Electronic health record and health information systems. These often allow for management and viewing of patients / records, and are a common integration point for many other system. For example, you might use an EMR to find a patient’s “imaging study” and to launch a viewing session in the OHIF Viewer.
Hospital Run: https://hospitalrun.io/
Medical Imaging Data Storage and Retrieval
There are more options in this category. Traditionally, these are called PACS ( Picture archiving and communication system) or Image Archives. These hold the medical imaging data and expose APIs for retrieving and storing.
dicomweb-server: https://github.com/dcmjs-org/dicomweb-server (js)
DICOMCloud: https://github.com/DICOMcloud/DICOMcloud (C#)
Orthanc: https://www.orthanc-server.com/ (C++)
DCM4CHEE: https://www.dcm4che.org/ (Java)
How to Reach out
- Create a GitHub issue!
- Contact me directly: email@example.com
Regular contributors can receive an invite to our collaborators Slack Group. We also have regular governance and planning meetings with individuals and organizations capable of dedicating time and resources.