Download JIPipe 4.0.0

Latest version

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

JIPipe 4.0.0 introduces a redesigned user interface, fully automated management of external dependencies, a streamlined distribution model, and a variety of image processing features.

Upgrade notes

For users

For developers

New graph editor layout

The layout of the workflow editor in previous versions consisted of:

  1. A menu bar at the top containing the node categories as menus, a search bar, and various buttons
  2. A toolbar at the left that gives access to various tools (drawing graph annotations, rewire functions, etc.)
  3. A sidebar at the right that contains a variety of panels depending on the selection

Over time, the sidebar was filled with more and more items that caused problems with smaller screens and inconvenience to users that were forced to switch between commonly used categories (e.g., parameters and results).

We decided to completely redesign the workflow editor and re-arrange the existing functions into a more flexible interface.

Users can now freely toggle panels at four sides (Top left, bottom left, top right, bottom right) by selecting or deselecting the buttons in the toolbars.

dock-overview.png

The panels can also be moved to other locations if convenient.

dock-move.png

Additionally, you can save the current layout into a template and easily switch between layouts.

dock-layouts.png

New graph editor toolbar

There is now only one toolbar above the workflow that contains all the node manipulation, graph annotation drawing, and workflow tools. Additionally, important actions related to the selection are displayed after the graph annotation tools.

new-toolbar.png

New “Add nodes” panel

The menu bar, search bar, and old “Add nodes” panel were merged into one interface that combines features of all three UI components.

new-add-nodes.png

Exactly as with the old search bar implementation and the old “Add nodes” panel, you can search through the list of available nodes. Additionally, category filters are now present above the search results that allow you to refine the results and browse through them similar to the old menu.

To create new nodes, items can be dragged from the list into the workflow. Alternatively, items can also be double-clicked to add the selected node at the +.

The categories can also be right-clicked to open a menu that has the same structure as in older JIPipe versions.

Multiple compartment outputs

Compartments aid in the organization of larger JIPipe projects. They split the workflow in multiple sub-workflows that are connected with each other via output nodes. This relationship is managed in the Compartments tab.

compartments-explanation.png

In previous JIPipe versions, there was only one output node per compartment. Now you can add as many outputs as you want by clicking the button.

compartments-multi-example.png

Third-party artifacts

In previous JIPipe versions, third-party dependencies like Cellpose or R needed to be downloaded manually by the user. If a dependency was not present, a prompt would appear during the JIPipe startup. This system was inconvenient to use and made reproducibility hard to achieve, as users were forced to do a fully manual setup if specific dependency versions needed to be restored.

We implemented a new system of versioned third-party artifacts that are hosted on the JIPipe website. JIPipe projects now can request specific artifact versions that are locked in during the creation of the project. When a workflow is executed, JIPipe automatically downloads and configures all necessary files from the remote repository without the need for manual intervention. Artifacts are stored inside a user-wide directory (AppData on Windows, .local on Linux, Library on macOS) and shared between JIPipe instances.

artifacts-diagram.png

👉 The computer must be connected to the internet to if an artifact is not installed.

👉 By default, JIPipe will avoid artifacts that are designed for GPU processing. To change this, go to Project > Application settings > General > Artifacts and enable Prefer GPU versions of artifacts

👉 Any old third-party dependencies that were installed by JIPipe 3.0.0 or earlier are automatically deleted on the first startup

Managing artifacts (project)

JIPipe projects store the exact versions of utilized third-party artifacts. This ensures that the project is reproducible on other systems. You can change the artifact versions by navigating to Infos & Settings > Settings and browsing through the project-associated settings of the JIPipe plugin.

artifacts-project-settings.png

Managing artifacts (global)

To browse and manually install/uninstall artifacts, open the artifact manager via the plugins menu

plugins-menu.png

artifacts-manager.png

New plugin manager

The JIPipe plugin manager was redesigned to be easier to use. It is now located in the Plugins menu located at the top right of the JIPipe window.

plugins-menu.png

plugins-manager.png

👉 We removed the management of ImageJ plugins, as this caused a variety of bugs in our plugin manager. Instead, users are now prompted to manually install ImageJ plugins via the ImageJ Updater, which can be accessed via the Plugins button. JIPipe won’t apply any ImageJ update site checks anymore during the startup and loading of a project.

Enhanced external parameter setup

The setup of external parameters (i.e. repeating a node for multiple parameter sets) was simplified by simplifying the parameter editor UI and introducing features that guide users in creating parameter sets.

By right-clicking the workflow and selecting Add parameter sets here …, users can now conveniently create a Define multiple parameters node for a specified node type.

parameter-sets-create-overview.png

The editor is now easier to use and clearly labels the functionality.

parameter-sets-edit.png

New/Enhanced nodes

new-nodes.png

Annotation processing

Image processing

ROI processing

Filament processing

Table processing

New expression functions

Miscellaneous changes

Bugfixes