ChRIS Plugin Development Guide

Preparing to develop a ChRIS plugin

Here are some recommended pre-requisites for starting to develop on ChRIS:

  • A laptop (8 GB RAM recommended; should be capable of running Docker and the image processing software you would like to create a ChRIS plugin for.)
  • Docker (Visit this tutorial on how to set it up.)
  • Either a piece of pre-existing image processing software you would like to convert into a ChRIS plugin, or an idea of the type of image processing plugin you’d like to build for the ChRIS platform.
  • Sample imaging data that best demonstrates the type of image processing you intend to do.

Review ChRIS platform training

ChRIS is a unique computing platform that uses a lot of leading-edge technologies such as containers and Kubernetes and scales applications in ways that aren’t immediately intuitive, so a quick review of ChRIS training materials from our plugin development workshops is a good idea to get yourself to a good start:

ChRIS overview

Here is a quick slidedeck on ChRIS’ background and an overview of its architecture and example tasks and GPU plugin information:

ChRIS Overview Presentation (PDF)

ChRIS deep dive

Here is a slidedeck that provides a very clean, animated deep dive on the ChRIS architecture and how control and data flow through it:

ChRIS plugins deep dive

Here is a deep dive slidedeck on how plugins work in ChRIS:

Create your first ChRIS plugin

Now that you’ve got your pre-requisites ready and have learned about how ChRIS and its plugin system worked, it’s time to create your first plugin:

ChRIS cookiecutter Tutorial App

Read through the README for the ChRIS cookiecutter tutorial app linked above. It will walk you through getting your first ChRIS plugin set up.

ChRIS architecture graphic

How ChRIS Works: An Architectural Overview

Start here to get an overview of what ChRIS is, what technologies it used, and how it is architected. Video and text summary available.