ChRIS at the Red Hat Summit

“Ideas Worth Exploring” Keynote with Jim Whitehurst and Dr. Ellen Grant

At the Red Hat Summit last month, Dr. Ellen Grant, Director of Fetal and Neonatal Neuroimaging Research at Boston Children’s Hopsital and Professor of Radiology and Pediatrics at Harvard Medical School joined Jim Whitehurst up on stage during his keynote, “Ideas Worth Exploring.” She provided an overview of the ChRIS project: what it does, and why it’s important.

What is ChRIS

“ChRIS helps us take data from our archives in the hospital and puts it into fast backends like the Mass Open Cloud for rapid data processing and provides it back to me in any format – a desktop, ipad, iphone,” Ellen explained. “It basically brings high-end data analysis right to me at the bedside.”

During her career, she has worked on breaking down the barrier between researchoccuring on a timeline of days, weeks, minutesand clinical practice, which occurs over minutes or seconds. ChRIS is helping break down that barrier.

How ChRIS began

ChRIS is an example of user-driven innovation, not started in a technology company, but at a medical institution. It was started when Ellen was running a clinical division and didn’t have access to the latest imaging analysis tools in her clinical practice. While working in research, she had the ability to code up data analyses, but as a clinical practitioner found it easy to forget the intricacies of coding up image processing in detail.

“I’m a physician, not a computer scientist,” she explained. She envisioned ChRIS as a platform where she could access the powerful backend tools for analyzing data without having to remember all of the details.

ChRIS Summit 2018 Ellen + Jim

The open source way

Why didn’t Boston Children’s Hospital go with a proprietary vendor to build ChRIS for them? Ellen explained that Boston Children’s does a lot of technical innovations, and when they do, they look to partner with experts. For ChRIS, she looked to work with the “plumbers” of the software industry who could help them build this project: the Massachusetts Open Cloud and Red Hat became those partners. Medical software isn’t typically run via an open community, and the collaboration with Red Hat has helped them navigate working in an open development environment.

In the medical community we want to own our data and prefer not giving it to industry. We’d prefer it sit in the Mass Open Cloud where there’s consortium-based data governance, and we have control of our own data. We’re running out of space for data, and as our systems run faster and we acquire new devices, we need more computing power to filter through, manage, store, and compute the data.

The road ahead

Ellen’s long-term goals for ChRIS include:

  • ChRIS serving as a tool to break down silos within the hospital, bringing together data from disparate functions within the hospital, including information from vital monitors, MR scans, optical monitors, genetic tests, and electronic health records, and analyzing on that data in a combined fashion.
  • ChRIS allows for cross-institution collaboration. This is especially important for rare disorders, which aren’t seen often enough at any one institution. They need to work as teams in the broader medical community to get a fuller picture.
  • ChRIS enabling a portal for analyzing developing-world data from institutions that are collecting data but don’t have access to the infrastructure and computing power needed to analyze it.

You can learn more about ChRIS in an upcoming video series to be released by Red Hat this summer called “Creating ChRIS.” Check out the series website and sign up for a notification when the series is launched!

“Medical Image Processing with OpenShift and OpenStack”

Rudolph Pienaar (Boston Children’s Hospital), Ata Turk (Massachusetts Open Cloud), and Dan McPherson (Red Hat) gave a technical talk during the Red Hat Summit breakout sessions that gave an overview of how ChRIS works.

Landscape

Dan kicked off the session by providing some background on the landscape of medical image processing tools. Computational research tends to happen in relative isolation, and researchers tend to build their own platform. The focus is on solving very difficult problems more efficiently, accurately, and rapidly; there aren’t incentives to build a system that’s easy to run, can be used for more general problems, or that will ever leave the lab it was created in.

Why ChRIS

Rudolph followed up with some background on ChRIS. The goal is to make it easy for people to run any kind of medical imaging-based compute. ChRIS is comprised of containerized, microservice open source tools that communicate with each other via REST-based APIs.

Re-emphasizing Dan’s statements about how the focus of research in the field is aimed towards results and not necessarily collaboration, his team realized that having to build good enough systems to run research on this ad hoc basis is a barrier to innovation.

“You can only innovate so far if you’re always working on infrastructure,” Rudolph explained. This is why they focused on solving the infrastructure issue, to process data quickly in the cloud and get it back to the hospital quickly in seconds and minutes, instead of hours or weeks.

“There is about two decades worth of amazing tools that exist in the research community, but these almost never make it out to the clinical front lines,” he explained. “No clinician is ever going to fire up a Linux terminal, type in some commands, think about SSH and SCP and login to a clusterit’s never going to happen.”

Providing a simple user interface for clinicians to be able to benefit from this computing power is a big piece of the vision for ChRIS.

Massachusetts Open Cloud (MOC)

Next, Ata gave an overview of the MOC. It’s a collaborative effort between research universities, government, and industry. They’ve built a data center for research and innovation in the cloud with a real environment and real production-scale workloads.

Unlike large commercial clouds, MOC is an open ecosystem of cloud services. The MOC is operating in datacenter with a capacity of 15 Megawatts with 2 acres of computing space. Their datacenter is about half the size of the average Google datacenter. We’re not using it all right now, but we have that capacity.

MOC is particularly interested in the healthcare space because of what Dr. Grant mentioned during Jim’s keynotehospitals are generating more and more data and facing challenges in maintaining and analyzing it. MOC wants healthcare applications running on the MOC so they can have industry-level applications available on their cloud to analyze and learn from.

The partnership with ChRIS began about 3 years ago when Rudolph kindly agreed to mentor some students in one of Ata’s classes at Boston University. Since then they’ve begun building out the community around ChRIS with the help of Red Hat.

Ata Turk, MOC

Combined Goals

As a group, Boston Children’s Hospital, MOC, and Red Hat have some combined goals:

  • Improving the scale and efficiency of healthcare image processing applications using OpenShift and OpenStack. Today some image processing takes ~10 hours. If we can get it down to a few minutes, we can make it more clinically-relevant.
  • Democratice medical image application development. They would like to create an ecosystem, where anyone can create an image processing tool that could be operated at scale and recreated anywhere using open tools.

Technology overview

Everything is built as OCI / docker images, including the image processing tools. Anyone can take an existing image processing tool, containerize it, and gain the portability to run it anywhere from a single laptop to a full production environment.

ChRIS also used OpenShift / Kubernetes, which allows for scaling jobs running image processors. It uses the tools resource management (CPU/Memory/Network/GPU). It also provides operational standardization for logging, metrics, and cluster management.

MOC utilizes OpenShift abilities to optimizing for densitynot only free resources, but ‘slack’ resources (compute resources that are claimed but not in active use) can also be put towards workload processing. It does require knowledge of utilizing slack resources on the part of the application developer, so we’re trying to build awareness with image processing application developers to improve the performance of their applications.

Another area of focus in the collaboration is around Artifical Intelligence (AI) and Machine Learning (ML); for example, Spark and Tensorflow. A lot of research is looking to use ML technologies in the image processing space, although it’s not yet gained wide adoption in production yet.

Medical processing

Rudolph BCH

Rudolph then explained various image processing techniques used in the medical field:

  • Registration – when you take one image and match it into the space of another image. It is important to take a template image to be able to understand what is in the image registered to it. You can also register two images to note differences between them. Registration is important to correct for any kinds of skew or other issues in the images so you can do meaningful compute work with the images.
  • Classification (AI/ML) – to have a process that automatically recognizes different structures in a scan, for example, a tumor.
  • Metabolism – uses the dispersion, reflection, and refraction of light within the brain, indicates oxygen metabolism in brain.
  • Tractography – scan same image from slightly different angles, solve diffusion equation, and build 3D image from it; provides fiber paths through brain for planning surgeries.

ChRIS Architecture Overview

ChRIS Diagram

Walking through ChRIS’ high-level architecture, Rudolph explained how input data and plugins are retrieved by ChRIS from a data source and a plugin store respectively and then pushed to a cloud-based compute environment. Once computation is finished, the output of the image processing plugin is retrieved back into ChRIS.

ChRIS Architecture with OpenShift and OpenStack

Dan provided a deeper dive showing how ChRIS resides within Boston Children’s Hospital, sending the data to MOC specifically to an IO handler within OpenShift. The data is then stored inside of Swift within OpenStack. This is to enable the segmentation of data between jobs. The OpenShift process manager processes the plugin container from ChRIS and launches it into a job starting with an init container that pulls the data out of Swift and makes it available for the image plugin container, which passes its result to a publish container that passes the data to Swift, and the IO Handler passes the output data back to ChRIS.

The way it is architected, the image processor doesn’t have to understand the environment around it. All it has to know is how to read and write data from the disk. We pass it an input and output directory. To scale, instead of writing to a local volume, the plugin will write to shared storage via a shared volume in OpenStack.

Summary

The presentation goes into more detail, including information on how to parallelize image processing plugins and a demo of ChRIS in action. Please check out the full presentation!