Version 2.0.0

The version was pushed to 2.0.0 according to Semantic Versioning due to breaking changes in the Java API and OMERO integration.

This version focuses on improving the UX, OMERO support, and fixing issues.

Upgrade notes

Users

  • OMERO integration: Fully redesigned. If you rely on the old implementation, don’t upgrade to 2.0.0
  • Image analysis algorithms: Old montage nodes were deprecated, but are still functional.

Developers

  • Java API: Major refactoring was done
  • Deployment: added balloontip-1.2.4.1.jar as dependency

Input manager

In previous JIPipe versions, information and settings regarding the assembly of data batches was provided for each functional node in a tab “Data batches”. Users reported that the provided guidance was inadequate and confusing.

The design and functionality of the “Data batches” tab was fully overhauled and it was renamed to “Input manager” to better indicate the purpose of the panel.

The input manager is structured into three sections:

  1. Input data: An overview of the input data, annotations, and to which iteration step (data batch) the data is assigned
  2. Settings: The data batch generation settings (now renamed to “Input management”). By default only the most important parameters are displayed
  3. Preview iteration steps: Preview of the data batches as in previous versions

Input data

Displays an overview of the node’s inputs, text annotations, and assigned iteration steps.

  • One table is displayed per input (here “Input” and “ROI”)
  • The “Data” column shows a string description of the contained data (double-clicking the item will show the data)
  • The “Iteration step” column displays to which step the data item is assigned. The items are color-coded to offer visual guidance.
  • All other columns show the annotations. A green highlight indicates that an annotation column is utilized to differentiate between data.
  • By default, all rows are shown. To get a simplified overview, deselect the “Show all” button

Settings

The settings view allow to change the behavior of the algorithm that generates iteration steps. For example, it is possible to group data by custom columns.

👉 By default, only the most important settings are displayed. Select the “Advanced settings” checkbox to display all settings

Preview iteration steps

As in previous versions, the generated iteration steps (data batches) will be displayed as table.

The table now additionally provides color-coding consistent with the “Input data” view.

Other improvements

It is now better indicated what a user should do if no cached data is available. The naming was also made consistent with node context menus.

Trace data

JIPipe now includes a function that allows you to trace the predecessors and successors of a specific data item. This function was requested to simplify the debugging process.

🛈 Not all nodes might be fully compatible yet with the data tracing and might break the tracing chain

The trace function can be triggered by right-clicking data in the cache browser or input manager and selecting “Trace”

This will open a window that displays the known predecessors and successors of the selected data (highlighted in green). The interface allows you to display the data by double-clicking the items. You can also right-click items to open a context menu with more options.

You can click the buttons at the top of each table to quickly navigate to the referenced node.

OMERO

The OMERO support was fully redesigned.

⚠ Many of the changes break existing OMERO-based workflows, so if you are relying on the OMERO integration as implemented in previous JIPipe versions, we recommend to stay in version 1.81.0.

Environment-based configuration

The previous version of OMERO integration was developed before the introduction of the JIPipe environment system that allows to easier manage different configurations of external tools or credentials. The new OMERO extension moved all server-related settings to the environment system to make it easier to connect to multiple servers.

New/reorganized nodes

Many OMERO nodes were redesigned and additional nodes were introduced.

  • Define dataset/project/group/image IDs: new icons
  • New “Create OMERO dataset” to create a new OMERO dataset in a given project
  • List OMERO datasets/groups/images/projects: moved to Filesystem/OMERO. Generation of JIPippe annotations was moved to dedicated nodes.
  • New nodes for annotating OMERO dataset/image/project references with data from OMERO
  • Upload image to OMERO: moved to the “Export/Image” menu. The functionality was modernized with the newer exporter API introduced in 1.81.0
  • Upload table to OMERO: renamed to “Attach table to OMERO image” and added to “Export/Table”. The functionality was modernized with the newer exporter API introduced in 1.81.0
  • All nodes: Instead of an OMERO credentials configuration section, a parameter “Override OMERO credentials” (environment-based) is present. If the override is disabled, the application-wide

Other improvements

  • OMERO Tags can now be reliably imported and exported
  • Double-clicking OMERO reference data now opens the web client (requires that the user set up the web client setting in the OMERO environment)

Expressions

The expression builder now has access to available annotations if the predecessor cache(s) are available. In future releases, this function will be expanded to more variable sources (e.g. table columns).

Multi-data filtering nodes

It was not easily possible to filter related data (that are put into the same iteration step) without using data table data or data annotations. Two new nodes “Check iteration steps (one data per slot)”/”Filter multiple data by annotation (one data per slot)” and “Check iteration steps (multiple data per slot)”/”Filter multiple data by annotation (multiple data per slot)” were introduced to solve this issue.

The nodes are located in both the Miscellaneous and Annotations menus (via aliases) to improve findability.

Redesigned montage nodes

The old montage nodes were severely limited and for example do not support 3D/4D/5D images. New nodes were designed that replace the old nodes (the old nodes were deprecated and are still functional).

The new montage nodes now support the following features:

  • Reworked label settings that are easier to understand
  • The tile size can now be customized (e.g., to create montages of scaled-down images)
  • Images are scaled to fit into the montage tiles (various settings are available)
  • Automated rendering to RGB if needed; RGB colors can be enforced
  • Custom border around images
  • Custom label and canvas background independent of the border color
  • Custom label font and size
  • Custom label position
  • Labels can now be drawn on top of the image or space is made above/below the image to fit the label
  • Long labels are shortened if they do not fit into the tile (by default tiles will adapt to the maximum label length)
  • Custom labels are generated for each 5D slice (e.g., you can include the slice z, c, t into the label)

Minor improvements

  • An environment variable JIPIPE_USER_DIR can be set to move the JIPipe configurations and other files to another directory. This might be useful if JIPipe is deployed into a read-only environment
  • New expression functions: SLICE_LEFT and SLICE_RIGHT
  • External environment information is now written into the project file to improve reproducibility

UX

  • You can now find a “Add compartment” menu item in the compartment editor context menu
  • List of variables in expression errors now have new lines and are easier readable
  • The current run’s progress is rendered even for currently enqueued processes
  • The application settings are now displayed in a dedicated window to ensure that settings are saved
  • Redesigned optional parameters to be visually consistent with checkboxes. Added a green/gray outline to better indicate if an optional parameter is (in)active.
  • Side bars are now better adapting to very large and very small screen resolutions

Bugfixes

  • “Text to table” had the wrong inputs and outputs
  • Freezes caused by closing JIPipe in certain circumstances should be resolved now
  • R scripts do not forget custom script parameters anymore
  • Visual artifact on cropping the graph was resolved
  • Export nodes now always create the parent directories of output paths
  • Issue where it was possible to paste internal nodes was resolved
  • “Import image” and “Import image stack” did not always use Bio-Formats to import data that cannot be imported by the native ImageJ importers (made consistent with ImageJ Opener)
  • ImageJ2 nodes only worked for the first input
  • Update cache/Cache intermediate results/Update predecessor caches not showing progress in the side panel if triggered on multiple nodes at once

Java API changes

  • Reorganization of classes related to data batches, and renaming ti “Iteration step” (JIPipeDataBatch -> JIPipeSingleIterationStep, JIPipeMergingDataBatch -> JIPipeMultiIterationStep)
  • Breaking change in iterating algorithms: added iteration context
  • Refactoring of various API-related classes