The growth in microscopy adoption has led to a concomitant upsurge in the development of software tools for the automated analysis of image data. Pillars among these tools are ImageJ1 and its Fiji2 distribution, which have been serving the imaging community for decades and continue to gain public support to keep up with the quantification needs of the newest and most-demanding microscopy techniques. The hallmark of ImageJ is its intuitive graphical user interface, which provides access to its many tools. On the other hand, the creation of reproducible batch-processing workflows is only possible using a macro language. As programming skills are uncommon among experimentalists3, the need for scripting contributes to an already-existing communication gap between life and computer scientists. Visual programming languages that replace the writing of text commands with the design of a flowchart offer a solution. Existing tools contribute to this effort by providing a visual way to build pipelines or by simplifying the scripting procedure (Supplementary Information, section 1). Our newly developed visual programming language, which we term Java image processing pipeline (JIPipe) (https://www.jipipe.org), provides a macro programming alternative that is particularly designed for ImageJ and supports the transition from interactive single-image manipulation to multi-image algorithmic batch processing (Fig. 1a).

Fig. 1: Overview of JIPipe.
figure 1

Curtis Rueden (ImageJ logos in a,b), Johannes Schindelin (Fiji logo in b), Robert Haase (CLIJ logo in b), Jean-Marie Burel (Bio-Formats and OMERO logos in b), Carsen Stringer (cellpose logo in b), info@posit.co (R logo in b) and psf-trademarks@python.org (Python logo in b).

a, JIPipe is a visual programming language to realize code-free workflow building for ImageJ-based image analyses. GUI, graphical user interface. b, Currently, JIPipe unifies the functionality of over 1,000 ImageJ commands into a standardized interface, represented as nodes in the pipeline flow chart. The window-based data management implemented in ImageJ is replaced with a table-based model designed for batch processing. c, A range of applications showcases the versatility of JIPipe. Scale bars, 100 µm.

The close relationship between JIPipe and ImageJ is symbiotic in nature. JIPipe already encapsulates over 1,000 commands from the default ImageJ installation as well as from numerous plugins, in form of easily deployable nodes. ImageJ is capable of accessing all JIPipe-based algorithms from within its graphical user interface and macro language. This mutual exchange of functionalities will advance the way in which image quantification and visualization pipelines are built using either of the two platforms. Current ImageJ users will find it natural to work with JIPipe functions owing to their familiar behavior, while taking advantage of the project-based design of workflows, features to organize larger pipelines and easy scaling to batch analysis, as well as the standardized interface to parameters and documentation.

The assortment of nodes covers functionalities of ImageJ and various plugins that are captured automatically by our ImageJ2 integration or by dedicated JIPipe extensions (Fig. 1b). Aside from ImageJ functionalities, we also provide R and Python-based scripting, and an integration of cellpose4. A full list of all dependency libraries and external tools is given in Supplementary Information, section 2. JIPipe imposes a strict standardization of nodes and their parameters, as well as their inputs and outputs, and facilitates the adoption of the FAIR (‘findability, accessibility, interoperability and reusability’) principles5 by the implementation of standardized storage formats for pipeline projects, data and metadata. Our software organizes all data through a constrained table model that enforces the existence of a primary data column of a specific suitable type. The data model enables an intuitive solution for batch processing with multiple inputs without the reliance on structural loop nodes. This is achieved by automatically assigning the data to appropriate text-metadata columns that are generated from the input files or by user input. The result is a highly flexible node model that unambiguously communicates the expected data types to the users. The range of JIPipe functionalities is extendable through plugins that are built upon the existing Java-based library ecosystem of ImageJ, thus opening our platform to all related ongoing community-driven and open-source efforts. This allows JIPipe to keep pace with the increasing complexity of new image-analysis tasks arising from the continuously improved set of imaging techniques.

To highlight the abilities of JIPipe, we show examples from a wide variety of applications in which JIPipe was successfully used to quantify image data (Fig. 1c). High-throughput quantification of bacterial growth inside droplets (first row, Fig. 1c) was carried out both with a classical analysis pipeline6 and using our cellpose4 nodes. Additionally, JIPipe workflows were written to investigate the drug delivery efficiency of nanocarriers in the liver7 (second row, Fig. 1c); to test the survival ratio of nematodes that digested toxin-producing bacteria8 (third row, Fig. 1c); to count glomeruli in healthy and pathogenic kidneys9 (fourth row, Fig. 1c); and to analyze confrontation assays between macrophages and fungal spores10 (fifth row, Fig. 1c).

In summary, JIPipe fills a niche by contributing a visual alternative to macro programming that is particularly designed for ImageJ, thus simplifying the development of advanced automated image-processing methods, bridging the gap between experimentalists and computer scientists and facilitating the adoption of the FAIR principles. JIPipe is fully open source and continues to be developed in close collaboration with the wider ImageJ community (https://image.sc/).