Interactive design of GPU-accelerated Image Data Flow Graphs and cross-platform deployment using multi-lingual code generation

This article has been Reviewed by the following groups

Read the full article

Abstract

Modern life science relies heavily on fluorescent microscopy and subsequent quantitative bio-image analysis. The current rise of graphics processing units (GPUs) in the context of image processing enables batch processing large amounts of image data at unprecedented speed. In order to facilitate adoption of this technology in daily practice, we present an expert system based on the GPU-accelerated image processing library CLIJ: The CLIJ-assistant keeps track of which operations formed an image and suggests subsequent operations. It enables new ways of interaction with image data and image processing operations because its underlying GPU-accelerated image data flow graphs (IDFGs) allow changes to parameters of early processing steps and instantaneous visualization of their final results. Operations, their parameters and connections in the IDFG are stored at any point in time enabling the CLIJ-assistant to offer an undo-function for virtually unlimited rewinding parameter changes. Furthermore, to improve reproducibility of image data analysis workflows and interoperability with established image analysis platforms, the CLIJ-assistant can generate code from IDFGs in programming languages such as ImageJ Macro, Java, Jython, JavaScipt, Groovy, Python and C++ for later use in ImageJ, Fiji, Icy, Matlab, QuPath, Jupyter Notebooks and Napari. We demonstrate the CLIJ-assistant for processing image data in multiple scenarios to highlight its general applicability. The CLIJ-assistant is open source and available online: https://clij.github.io/assistant/

Article activity feed