Feature: Radiology-Grade Viewer with Image Annotation

Flywheel has made significant upgrades to our native DICOM viewer.   Radiologists using Flywheel can load full studies in the viewer with a simple click of the button at the project and session level.  Once loaded, the study list interface makes loading and reviewing multiple series fast and easy.

We’ve made further enhancements to our ROI and annotation tools, allowing users to efficiently annotate imaging data sets of any size.  Customizable label sets ensure that reviewers’ annotations are consistent and standardized. Reviewers can even be presented with a form in the viewer ensuring that research-specific criteria are adhered to on every image reviewed.

Finally, Flywheel is rolling out a robust WADO service that not only improves our native viewer’s performance but allows access to Flywheel data through your viewer of choice. 

Computing with Flywheel

Flywheel provides tools to manage computing that meet the needs of different users, including:

  • Working with existing pipelines
  • Exploratory development and analysis
  • Automating routine processing

Working with existing processing pipelines

The simplest approach for working with existing pipelines involves downloading the required data from Flywheel and processing it as usual. Flywheel provides several download options including the web-based UI and command line tools. For more control over selecting and formatting data, Flywheel provides easy-to-use programming interfaces for use with leading scientific languages including Python, MATLAB, and R. These may be used to access, format, and download any data or metadata in the Flywheel database.  

Exploratory Development and Analysis

For developing new algorithms or pipelines, Flywheel’s Python and MATLAB SDKs provide a powerful alternative to downloading to disk. Using the SDKs, a Python or MATLAB user may work with data in Flywheel directly from their preferred scripting language. Full search is available along with simple commands for reading and writing data and metadata.

Routine Processing with Plug-In Applications (Gears)

Gears are plug-in applications that automate routine tasks, including metadata extraction, classification, quality assurance, format conversion, and full analytic pipelines. Below are explanations for how Gears work, automating Gears, Gears at different levels of study, sharing Gears, and user-developed Gears.

Leveraging Standard Containers

From a technical perspective, Gears are applications running in standard Docker-compatible containers that are managed by Flywheel.  A Docker-compatible container can be easily made into a Gear with the addition of metadata that explains to Flywheel how to use the containerized applications. This metadata is expressed via a simple JSON file that includes descriptive metadata, such as links to source code, authors, etc. It also includes instructions for passing in data, configuration options, and how to execute commands in the container.

Automating Gear Execution

Gears may be run in a variety of ways. They may be executed on demand for a given data set.  They may also be run in batch mode for a selected collection of data sets. In these cases, the user is prompted for inputs prior to execution. Gears may also be run automatically by rules configured for the project.  For example, when a DICOM series is uploaded, it can be classified and converted to NIfTI, if it is imaging data. Rules may be used to automate routine pre-processing as well as trigger complex pipelines. Finally, Gears may be scheduled by tasks outside of Flywheel using the command line tool or programming interfaces.

Process Any Level of Data in Your Project

Gears may be designed to process data at different levels of the Flywheel project hierarchy.  Gears may process individual sessions (exams/DICOM studies). For longitudinal studies, Gears may be used to process at the subject (participant/patient) level with the ability to process data from multiple sessions. Finally, project-level Gears may be used to perform group/cohort analyses across all subjects.  

Flywheel Gear Exchange

To speed project deployment, Flywheel provides a library of commonly used algorithms as Gears via the Flywheel Gear Exchange. The Gear Exchange currently contains roughly 70 Gears contributed by Flywheel or Flywheel users. Examples include DICOM-to-NIfTI conversion, Freesurfer Recon-All, the Human Connectome Pipelines, and commonly used BIDS applications, such as MRIQC and FMRIPrep. The Gear Exchange provides a powerful way to share reproducible units of code that may be used as building blocks for new projects.

User-Developed Custom Gears

Users may easily create their own Gears as well. Gear developers simply get their code running in a Docker-compatible container and provide the gear metadata. Applications may be developed in any language. Flywheel’s APIs and SDKs may be used in a Gear if needed, otherwise, the containerized application need not be Flywheel aware. 

Flywheel streamlines the process of creating the Gear metadata via the CLI Gear Builder tool which prompts the user through the required information and generates most of the metadata automatically. The resulting Gears may be shared with other Flywheel sites via the Flywheel Gear Exchange, or may be kept private by uploading them only to the user’s site. Flywheel does not make any claim on any of the intellectual property in customer Gears.

A Platform to Support Your Science

To make scientific discoveries, a researcher needs tools for tailored analysis which justify the reproducibility (and validity) of their studies. Tools which also allow shared access simplify each collaborator’s workload and increase transparency.  

Flywheel offers these capabilities and is continually developing solutions to improve reproducibility, provenance, and collaboration for its scientific community.

Read more about our scientific collaborations or send us your questions!