Download JIPipe 3.0.0

The version was pushed to 3.0.0 according to Semantic Versioning due to breaking changes in the Java API.

JIPipe 3.0.0 focuses on overhauling the workflow runtime and user interface.

Upgrade notes

Users

Developers

Runtime partitions

Additionally to graph compartments, which are a visual mode to partition the graph, we introduced runtime partitions as way to partition a pipeline on a functional level. This means that partitions can cross compartments.

The partition of a node is indicated by the color behind the node’s icon and the arrow color. The default partition has no color, thus preserving the design of existing pipelines.

graph-partitions.png

Nodes are partitioned by their right-click menu or the parameter panel. Each pipeline comes with the predefined non-default partitions “Filesystem”, “Statistics”, “Visualization”, and “Postprocessing”. Additional partitions can be created via the parameter panel, context menu, or the project settings.

graph-partitions-assign.png

The new JIPipe graph run algorithm utilizes the partitions to create a hyper-graph (similar to the compartments). Nodes of the hyper-graph are executed in topological order, meaning that all nodes of one partition need to be executed before any node of a dependent partition.

Nodes of a partition do not need to be connected:

graph-partition-example.svg

Partitions allow to apply various settings in bulk, including the setup of parallelization, export of results, and creation of loops.

graph-partition-config.png

Loop setup

Runtime partitions are replacing loop nodes as mode to loop parts of the pipeline to limit memory consumption. This is achieved by setting the iteration mode to Loop (single data per slot) or Loop (multiple data per slot).

The difference between those two option is that with Loop (multiple data per slot), each loop iteration can receive multiple data per input as grouped by annotations. With the other option, the runtime will split iteration steps that each input only receives exactly one item.

graph-partition-loops.png

👉 Currently there is no way to debug the loops (input manager), so we recommend to carefully review the settings and which data is put into each step.

👉 Use conversion to data tables & unpacking if you need more control

👉 While the storing into the cache is possible with looped partitions, JIPipe will not be able to query data from the cache if within a loop. The reason behind this is that cached data items currently do not store information about the loop iteration

Continue on failure

You can setup partitions to ignore loop iterations or whole partitions (if loops are disabled) if an error occurs. This is for example useful if the pipeline is intended for end users that might provide data with unexpected properties.

If “Continue on failure” is enabled, JIPipe will continue with the next loop iteration (loops) or pass empty data as output (for non-looped partitions). The default behavior on a failed loop iteration is that JIPipe will export the iteration graph plus the input data of the loop. For failed partitions, JIPipe will not create this backup unless enabled in the runtime parameter settings.

If a failure occurs, both a message and a notification are added to the log.

New design

The user interface was updated to follow more closely modern user interfaces. The colors, spacing, and borders of interface elements were updated. A new icon set based on FontAwesome 6 and the Fluent icons was integrated. A new splash screen, welcome screen, and info header background images were created. Many tabbed interfaces were updated to utilize left- or right-aligned tabs to make the options easier readable. The JIPipe logo was also updated.

new-design-overview.png

Improved pipeline editor side bar

The sidebar of the pipeline editor was reworked to feature right-aligned tabs, thus making it easier to navigate through the various options. The toolbar located at the top of a selected node’s sidebar was removed to save vertical space. Instead, the associated functionality and additional features were condensed into a new tab “Overview” that provides brief information about a node and gives access to some commonly utilized operations.

new-design-sidebar.png

The “Templates” and the “Bookmarks” panels were updated to include an “Add” button that is shown if a node is currently selected.

To make the sidebar more beginner-friendly, “Quick run” was renamed to “Run”, “Cache browser” to “Results”, and “Journal” to “History”.

The bulky notification bars for adaptive and external parameters were condensed into two small buttons next to the parameter panel’s search bar.

new-design-advanced-parameters.png

Improved pipeline editor design

The indicator tool tips shown on hovering slots are now displayed as simple highlights.

new-design-slot-highlights.png

On selecting nodes, all other edges are now muted to make it easier to focus on only the connections related to the selection.

new-design-slot-highlights-2.png

New project settings

The project settings and the project overview pages were merged into one interface that can be conveniently accessed via the “Info & Settings” button at the top right of the JIPipe window.

new-design-project-settings.png

The new project settings screen provides access to all project-wide settings, including

Shortcuts to the application settings and the project report functionality were added.

Improved log viewer

JIPipe runs now can notify users about occurrences within the pipeline (e.g., if a part of the pipeline crashed). A new “Logs” button at the top right of the window now provides quick access to the logs and informs users about the presence of new logs. Additionally, the log list was redesigned.

new-design-log-window.png

New backup manager

The backup system was completely redesigned and now features a new and fast user interface. Newly created backups store the location of the original file, which is utilized by the manger to organize the backups. Old backups are still available.

new-backup-manager.png

New run setup interface

The interface to setup a full pipeline run was updated to be easier to understand. The user is by default presented with only the basic options, while more advanced settings are hidden behind tabs.

Notifications are shown below the “Run now” button that moved to the right-hand side.

new-run-setup.png

Improved image viewer

The viewer gained right-aligned tabs to make it easier to find the different categories. The display range panel was updated to feature buttons instead of a dropdown to select a display range mode, making the feature more convenient.

new-image-viewer.png

Reworked filament visualization

Filaments in 2D are now displayed smoothly even when zoomed in.

fixed-filaments-display.png

Image Manipulation Pipeline

We started to work on a new plugin that will provide functionality for non-scientific image manipulation. Currently, the new IMP plugin already provides a new image data type and conversion operations that makes it possible to work with images that have an alpha channel. The alpha can be split off (and set via a dedicated node), thus allowing to utilize existing algorithms.

imp.png

Nodes

Miscellaneous

Bugfixes