JIPipe for teaching

Gives an overview about the JIPipe features that help teaching image analysis

This guide was written for JIPipe version 1.74.0 or newer
Illustration of the tutorial step


JIPipe comes with various features that help lecturers to setup exercises where students can have hands-on experience and first achievements in creating image analysis workflows.

The following features will be explained:

  • Graph compartments as means to structure the analysis into units with a clear purpose
  • The project overview tab that allows to provide the list of tasks and explanations directly within the project file
  • Comment nodes to annotate specific areas or nodes within a pipeline
  • Node templates and its associated menu can be utilized to provide students with a selection of nodes to be used in a project
  • A project permission system to prevent students from applying accidental modifications
Illustration of the tutorial step

Graph compartments

In many lectures it is common to teach that image analysis tasks can be divided into a steps, for example Preprocessing, Analysis, and Postprocessing.

JIPipe facilitates this concept by its graph compartment feature that can be accessed via the Compartments tab (red arrow 1). The compartment function separates the pipeline into units that can be connected to each other to enforce a specific order of operations (red arrow 2).

Illustration of the tutorial step

Graph compartments: Outputs

By double-clicking a compartment in the Compartments tab, it is opened in a pipeline editor tab (red arrow 1).

Compartments communicate to each other via interface nodes: each compartment has a dedicated output node that determines the outputs of the current compartment (red arrow 2).

πŸ‘‰ When creating exercises, use this feature to define the outputs of each specific compartment. This can help students who need guidance on what kind of data should be produced in each image analysis step.

Illustration of the tutorial step

Graph compartments: Reviewing results

Designing exercises around the generation of compartment outputs simplifies the process of reviewing the results of an exercise.

As JIPipe compartment outputs can be directly run from within the Compartments tab, one can quickly test if the expected results are produced.

For example, if the pipeline within the Preprocessing compartment (red box 1) contains a file loading and Gaussian blurring process, the generated results can be directly generated (red arrow 2) and reviewed (red arrow 3) directly within the Compartments tab.

Illustration of the tutorial step

Project overview

Each JIPipe project comes with a customizable Project overview tab that can be accessed via the Help > Project overview menu (red box 1).

It contains the following elements:

  1. A customizable title with authors, website, contact info and more (red box 2)
  2. A customizable rich text description with text and images (red box 3)
  3. Quick access to bookmarked nodes and selected parameters (both fully customizable; red box 4)

πŸ‘‰ Save the project while the Project overview is open. JIPipe will then show the tab when a student opens the project. Alternatively, you can enforce via the project settings that the overview should be always opened first.

Illustration of the tutorial step

Project overview: Editing the metadata

The custom titles, authors, and descriptions can be edited via the Project settings that can be accessed in two ways:

  1. While the Project overview tab is open, click Edit metadata in the top right panel
  2. Navigate to Project > Project settings

The General category includes the following settings:

  • The project name/title
  • The description editor
  • Fields where other metadata like a citation, license, and website can be given
  • The list of authors
  • Acknowledgements
Illustration of the tutorial step

Project overview: Bookmarking nodes

Bookmarks are not edited within the Project settings tab, but by marking a node directly as bookmarked.

To do this, select your node of interest (red arrow 1) and check the Bookmark this node parameter within the Parameters tab.

πŸ‘‰ Bookmarked nodes are highlighted by a green shadow

πŸ‘‰ Bookmarked nodes automatically appear within the Bookmarks panel of the Project overview, as well as in a second Bookmarks tab that appears if no node is selected

Illustration of the tutorial step

Comment nodes

Comment nodes are a great way to highlight a specific area or node of interest within the pipeline. For example, students can be pointed towards a node where the parameters should be adjusted to generate the expected results.

To add a Comment node, use the Miscellaneous menu and select Comment (red arrow 1). The node will appear within the current pipeline (red arrow 2).

Illustration of the tutorial step

Comment nodes: Customization

Comment nodes can be customized in the Parameters tab via a custom background color, custom icon, and custom text color (red box 1).

As with any JIPipe node, you an change the name displayed within the pipeline and provide a rich text description with text and images (red box 2).

Illustration of the tutorial step

Comment nodes: Connecting to nodes

You can freely connect Comment nodes to the inputs or outputs of other nodes (red box 1).

πŸ‘‰ Comments are automatically excluded from pipeline runs, as they do not contain any workloads. You can freely connect them to anywhere you like without changing the behaviour of the pipeline.

Bookmark comments with tasks or other instructions, so that students can find them easily via the Bookmarks panel.

Bookmarks also render the description, so you can also use comments to ask for answers, e.g.,:

Name Run the pipeline and find out how many objects were detected Description Your answer (How many objects?): [insert your answer here]

Illustration of the tutorial step

Groups and node templates

Node groups and node templates enable full control over the following aspects:

  1. How to reduce the complexity of some operations?
  2. Which functions/parameters should be accessible to students to avoid confusion and frustration?
  3. Which nodes should students use?
  4. Which nodes are suitable for which compartment?
Illustration of the tutorial step

Groups and node templates: Compound nodes

JIPipe node groups can be used to contain a set of multiple operations (red box 2) into a single node (red box 1). This is for example useful if advanced visualization or file loading processes should be provided to students without establishing all implementation details behind the operation.

πŸ‘‰ Node groups contents can be easily viewed by double-clicking them. This allows students who are interested in the operations behind the group to explore their functionality.

Illustration of the tutorial step

Groups and node templates: Exporting parameters from groups

Groups by themselves are a an excellent mode of reducing the complexity of various operations. To still provide users of the group with means to customize the behaviour of the nodes contained within the group, Group nodes support the referencing/export of group-internal parameters (red box 1) to the group itself (red arrow 2).

πŸ‘‰ For example, teachers can provide a group responsible for segmenting and filtering objects with settings where students can input custom object size constraints:

Task: Glomeruli have a radius of 15 Β΅m to 65 Β΅m. Please setup the Glomeruli segmentation area and circularity constraints that only objects with the appropriate size are segmented.

Illustration of the tutorial step

Groups and node templates: Providing nodes with the project

The node template system allows projects to carry a list of user-defined nodes. These node templates can be created for pre-configured nodes or a group with exported parameters.

πŸ‘‰ Create project-associated node templates for nodes that should be used by the students

Node templates appear both in the Node templates tab (red box 1), as well as in the Templates menu (red box 2).

πŸ‘‰ You can assign a menu path to node templates during their creation. Use this feature to sort nodes by their intended compartment (red arrow 3)

Illustration of the tutorial step

Project permissions

Project permissions can be accessed via Project > Project settings > Permissions. In the current iteration of this feature, you can prevent users from creating or deleting nodes, as well as adding/deleting/modifying slots.

πŸ‘‰ These settings are suitable for projects where students are provided with an existing set of unconnected nodes and are tasked to connect them into a pipeline