The version was pushed to 5.1.2 due to bugfixes.

JIPipe 5.0.0 introduces a variety of new features and core enhancements, including a new data viewer, new nodes, OME ZARR support, project-global parameters, enhanced project overview, automated author management, Java 21 compatibility, Cellpose 3, and more. JIPipe 5.1.0 adds some missing nodes and data types for handling HCS with OMERO (Screen/Plate/Well). JIPipe 5.1.1 fixes some OMERO issues. JIPipe 5.1.2 fixes some ZARR issues. JIPipe 5.1.3 fixes issues with the selection of artifacts.

As versions 5.1.x were released shortly after 5.0.0, we decided to repeat the 5.x changelogs.

Upgrade notes

  • Cellpose: the handling of images was changed, so in some edge cases the algorithm might behave differently

  • All expressions: the internal handling of some variables has been redesigned. While now each expression now has access to additional variables, there might be issues if your workflows relied on how specific variables were overwritten (i.e. the order of how the variable set is created)

5.1.1 changes

  • fixed: some OMERO nodes ignored the project-wide environment

  • added: parameter for configuring parallelization on a per-node basis (overriding settings of the run/partition)

OMERO HCS nodes

JIPipe now has support for reading screens, plates, and wells from OMERO. We also fixed a few issues we encountered in the OMERO implementation. The annotation nodes now can annotate OMERO references with additional metadata (for example, descriptions).

New data viewers

In older JIPipe versions, there was no standardized display component for reviewing results. The available feature set was inconsistent; for example, the plot viewer could not show the set of text annotations associated to the currently displayed data item.

A new standardized viewer component was developed that organizes features into dock panels and has one ribbon with all commands. The new viewer automatically detects if additional information like annotations are available and adds appropriate panels to review them.

Compared to the previous iterations, the new standardized data viewer comes with some additional features:

  • Trace directly from viewer: If you are reviewing a data item from within the project cache, a Trace button becomes available in General | Cache. If the predecessors are cached (General | Cache | Update cache | Cache intermediate results), the trace tool will how you the intermediate steps that resulted in the displayed data.

  • Hide dock panels and ribbon: At the bottom right you find a button that hides the ribbon and dock panels

  • Show window on top of other windows: At the bottom right you can click the pin to make the viewer stay on top of other windows

Updated image viewer

Due to issues with the 3D viewer and its unsatisfactory performance, we decided to remove the 3D viewer functionality from the image viewer component. Instead, we added options to display the currently shown image in the ImageJ 3D viewer and Napari.

Napari is now available as artifact from within the JIPipe artifact repository. If not configured, JIPipe will automatically obtain a supported version of Napari from the repository and run it.

You can now also start Napari from the main window via Tools | Run Napari.

Automated author management

JIPipe now by default will request from you to setup your author information (name, affiliations, ORCID, etc.).

On saving a project, JIPipe will automatically add you as author if not already present.

We recommend to add your ORCID (ID or URL), as JIPipe otherwise has to guess based on your name if you are already in the list of authors.

Redesigned project overview

The project overview panel (previously accessible via the Settings & overview button at the top right of the window) was fully redesigned.

The new interface reorganizes and simplifies the existing features, while adding new functionality.

Unified parameters panel

All project-wide parameters, including user directories, parameters referenced from nodes, and the newly added project-wide parameters are now all accessible in one panel Parameters. We also added intuitive buttons to modify the set of displayed parameters.

Dynamic main panel

The central main panel now displays a variety of helpful tools and information, depending on availability.

  • The description is only displayed if one is set

  • Various ways to run the pipeline directly from within the project overview. For example you will be able to run compartment output nodes.

  • Helpful tips and quick-actions that help in making the project more FAIR or resolve issues. For example, you might be prompted if information is missing or artifacts can be upgraded for better performance or bugfixes

Modal project settings

Similar to how application settings are handled, the project settings are now displayed in a dedicated dialog. This resolves usability issues we encountered with the old panel.

Focus on common features

Commonly used panels features were moved to the right-hand side, while more advanced or rarely used settings were moved to the left-hand side.

Auto-switch for users

If JIPipe detects that the current user is not in the list of authors, the project overview will open automatically. This enables users not familiar with your project (for example, reviewers) to run your workflow without getting overwhelmed by the pipeline editor.

We recommend to setup parameters, run sets, and descriptions to enhance the user experience of your pipeline.

If you click This is my project or Never do this again, JIPipe will automatically restore all tabs from the project.

The behavior can be turned off per JIPipe instance (Never do this again or via the application settings) or per project (see project settings).

Redesigned run setup dialog

The interface opened by the Run button that can be found at the top right was redesigned and now by default only shows the most important options. The new dialog also covers the execution of compartment outputs and run sets.

If you need to get the old functionality back, choose the Custom option.

The dialog will automatically select “Custom” if you have at least one exporter node present. Otherwise, it will select “Cache” as default output.

Run sets

With the newly developed Run sets feature we added a way to quickly run specific nodes without navigating through the pipeline or creating workarounds using compartments.

On right-clicking a node, you can now add it to an existing run set or create a new one.

The run sets then will be shown in the Run sets panel on the project overview. Here you can also set metadata like a description or color. To run the set, use the panel that automatically appears in the project overview.

A node can be in multiple run sets. As compartment outputs are also executable nodes, you can also add those.

Calculator panel

The new dock-based interface introduced in JIPipe 4.0.0 allowed us to add a Calculator panel into the pipeline editor.

The panel allows you to test out expressions outside running nodes.

Performance enhancements

We were able to find some performance bottlenecks and could resolve them:

  • Pipelines that write many data items into the cache should now run faster, as they are not slowed down anymore by the user interface

  • The graph editor should now be about 5-10x more performant, especially with larger workflows that involve many edges

  • Loading and saving projects is now handled in a different thread, preventing freezes

  • The creation of history (undo) sndo snapshops is now handled in a different thread, preventing freezes

Cellpose 3 support

We added support for Cellpose 3.x. The current version supplied by our artifacts repository is 3.1.1.1 under cellpose3. Due to the changes in Cellpose, we decided to implement dedicated nodes and artifacts, meaning that you can use Cellpose 2.x and 3.x in the same project.

The new Cellpose 3 nodes and the existing Cellpose 2 nodes support the processing of 5D images. JIPipe will automatically split the images into frames, apply Cellpose per frame, and re-assemble the results.

OME-ZARR (OME-NGFF) support

We added basic support for OME ZARR into JIPipe. Currently, JIPipe is able to import OME ZARR images into ImageJ1 images (Image) and export them into a OME ZARR directory or ZIP.

Similar to QuPath, JIPipe will store the OME XML in a non-standard path of the ZARR until there is a solution (see here).

Tesseract-OCR support

JIPipe now can use Tesseract-OCR to do text recognition within an image. The software is provided as artifact and runs on all operating systems.

The node will generate a table with all recognized text and its location that can be further processed with JIPipe nodes (for example, table to text ROI, table to point ROI).

Expressions and global parameters

Projects can now have global parameters that can be setup in the project overview window. To support global parameters, we needed to change the behavior of expressions in all existing nodes.

The following variables will now be available:

  1. (If node has workload) Add node-wide custom variables custom.<key> and the map custom

  2. (If node has workload) Add project-wide directories project_dir, string project_data_dir.<key>, and map project_data_dirs

  3. (If node has workload) Add project-wide pararameters _global.<key>

  4. (Per iteration step) Add annotations <key> and map of all annotations _local.annotations

Afterward the node may add its own variables.

Please note that later additions overwrite earlier ones.

Improved and new algorithms

We added a variety of new nodes and enhanced the features of existing ones based on feedback.

File processing

  • New node to annotate OME TIFF files with information about its contained data (number of series, OME XML, …) without reading the whole file

Image/ROI processing

  • JIPipe now provides access to image registration algorithms (based on TurboReg). Expressions are used to allow for more flexibility regarding registration.

  • A “Concave Hull” algorithm for ROIs is now available

  • A new “ROI mirror” operation was introduced that allows to mirror an image over a line ROI

  • Scale 2D now allows to paste the image as-is into the scaled canvas

  • New node to split labels that are neighboring, but are not in the same connected component

  • Crop 2D now adds information about the crop (for restoration)

  • New all-in-one ROI drawer for lines, rectangles, and ovals

  • New node to convert a table into point ROIs

  • Added FFT Bandpass filter

  • New node: Change 2D/3D ROI properties from table

  • New node: grow/shrink ROI

  • New FeatureJ Hessian 2D/3D node

  • New node: FeatureJ Structure 2D/3D node

  • New node: FeatureJ Derivatives 2D/3D node

  • New node for loading ImageJ sample images (provided as artifact)

Table processing

  • New nodes: K-Means/Fuzzy K-Means/DBSCAN clustering on table rows

Filament processing

  • Filament vertex colors now can be edited using nodes

  • Filament vertex and edge metadata can now be edited

  • New node: Filaments to labels

Data trace: table view

The data trace feature was updated and now can display the trace as table in addition to the graph-based view.

New file chooser & Java 21

We modernized the JIPipe code to be able to run on Java 21, which will in future become the standard in Fiji.

Due to the changes in Java 21, our custom file chooser (open/save files etc.) lost some features. We used this opportunity to develop a new file chooser from scratch.

The new file chooser has the following features compared to the older version:

  • File and directory type detection with icons (for example, ZARR directories are highlighted)

  • Filter bar to quickly filter the current directory

  • Linux/macOS: automatically detect mounted drives

  • Editing bookmarks

  • Hidden files can be shown

  • Selecting paths/directories: Explicity select the current directory without navigating to the parent

Better artifact management

We added a new button into the status bar that helps with the management of artifacts. If there are issues with the connection to the artifacts repository, users are now notified.

Additionally, you can now also add local copies of the artifacts repository to avoid downloading artifacts from the internet.

Smaller enhancements

  • Fast Image Arithmetics now has an IF_ELSE function

  • A variety of filter-like parameters were renamed to better indicate how the filtering works (e.g., “Only keep xyz if …” instead of “Filter)

  • “ROI” (ImageJ ROIs) was universally renamed to “2D ROI” to better indicate that they are 2D ROI

  • Graph annotations can now be locked

  • Temporary paths (Update cache/runs) are now generated in a different way, avoiding errors regarding long paths

  • Moved the “Plugins” button into the “Tools” menu

  • Enhancements with the general design and dark mode

  • The command line interface gained additional features

  • JIPipe now automatically detects CUDA-compatible graphics cards

  • The status bar now has an additional control for acceleration (CUDA etc.) settings

  • Data exporter parameters (for example in Export image) now have a Select button to quickly select the path

Bugfixes

  • Fixed R and Python path quoting issues on Linux and macOS

  • Fixed artifact resolver being unable to find correct artifact

  • TrackMate: fixed behavior of Spot penalty parameters

  • Connect filament vertices was missing direction variables in some cases

  • Some common units were missing

  • Fixed issue with “Recent projects” list if multiple instances of JIPipe are running

  • Fixed issues with the overlap filter

  • “Go to” error is now working again

Known issues

  • QuPath is unable to read OME ZARR generated by JIPipe (using N5)

  • We never tested if Cellpose 3 denoising training works

  • The FFT data types are currently not suitable for 3D+ data. We will update them at a later point.

  • Due to the changes in how expressions populate their variables (mostly the order), some existing nodes might change in behavior. We tried to solve all of those issues, but please notify us if you experience unexpected behavior.

  • Linux/macOS: Tesseract will fail to read the image if the project is not saved, as JIPipe will store the file into /tmp