JIPipe: visual batch processing for ImageJ

T he 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 ImageJ and its Fiji 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 experimentalists, 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 Check for updates

T he 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 ImageJ 1 and its Fiji 2 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 experimentalists 3 , 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  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).
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 cellpose 4 . 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') principles 5 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 pipeline 6 and using our cellpose 4 nodes. Additionally, JIPipe workflows were written to investigate the drug delivery efficiency of nanocarriers in the liver 7 (second row, Fig. 1c); to test the survival ratio of nematodes that digested toxin-producing bacteria 8 (third row, Fig. 1c); to count glomeruli in healthy and pathogenic kidneys 9 (fourth row, Fig. 1c); and to analyze confrontation assays between macrophages and fungal spores 10 (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/).

Data availability
The project files and example data used to demonstrate JIPipe, as well as example pipelines, are available at https://doi.org/10.6084/ m9.figshare.19733320.v3.