Skip to content

For Developers

Madison Tyler edited this page Apr 23, 2021 · 23 revisions

Minerva Architecture

Minerva software is described in Hoffer et al., JOSS, 2020 and follows a client-server architecture for delivering content. Images in OME-TIFF format are imported into Minerva Author where a user sets image settings and annotations. Minerva Author then renders image pyramids and a configuration file that is read by Minerva Story to deliver the content to clients.

Minerva Author Architecture

More on Minerva Story

Minerva Story is a JavaScript web application based on OpenSeadragon viewer. In addition to the navigation of large zoomable tiled images provided by OpenSeadragon, Minerva Story allows the display of text and figures that correspond to specific views of the image. The series of annotated image waypoints defines a story that guides users through a large image with many features otherwise noticable only to experts.

Minerva Story is designed for large-scale microscopy images. It is specifically targeted towards multichannel microscopy images where there are more image channels than can be rendered simultaneously to the screen. Each point in a story corresponds to a rendered group of channels overlaid with one or more segmentation masks.

The application runs only as client-side JavaScript in a web browser. The images must be served as a tiled image pyramid from an external web host such as a public bucket on AWS S3.

Minerva Story's code is split into two repositories:

  • minerva-story: website template for deploying the server-side static resources.
  • minerva-browser: The client-side JavaScript code. Also available through NPM as minerva-browser. This has been split into its own package for reuse in other applications and websites.

More on Minerva Author

Minerva Author is a tool which allows users to create stories around images. It is a Javascript web application based on OpenSeadragon that runs locally on your computer. Using a lightweight Python (Flask) backend, it opens an OME-TIFF file in a viewer that allows you to group channels to render together with colors and ranges per channel. You can set the name of each channel as well as the name of each channel group. RGB images are also supported in SVS format.

Once you’ve set up renderable channel groups, you can begin to write the story. You can write a sequence of points in the story each with a name, a description, rectangular overlays, arrow overlays, and a specific view of a given channel group. Once you hit “publish”, the application will generate a standalone instance of Minerva Story, containing the configuration file and tiled image pyramid.

Minerva Author source code is available in GitHub. At minerva-author there are instructions for running the automated test suite.