Skip to content

Tasks

The task system is designed for automated task distribution to a (large) group of annotators based on several criteria, e.g., experience, access rights, etc. For fine-grained control, manual task assignments are also possible.

Creating a Task Type

First, a Task Type needs to be created:

  1. Open Task Management > Task Types and click on Add Task Type.
  2. Fill out the form to create the Task Type:
  3. Note that the Description field supports Markdown formatting.
  4. If you don't have a sophisticated team structure, select the default Team.
  5. Take a look at the additional settings to configure the new Task Type (see below).

Task Type Options

Option Description
Annotation Type Skeleton, Volume, or Skeleton and Volume. Determines which annotation layers the tasks' annotations have. Can't be changed after the task type was created.
Allowed Modes The view modes annotators may use: Orthogonal and/or Flight.
Preferred Mode The view mode tasks open in. With Any, no mode is preset.
Allow Single-node-tree mode ("Soma clicking") Lets annotators use the single-node-tree mode, where each new node creates a new tree. Not available for volume-only task types.
Allow Branchpoints Lets annotators mark branchpoints. Not available for volume-only task types.
Merger Mode Activates the merger mode automatically when annotators open a task. Not available for volume-only task types.
Allow Volume Interpolation Lets annotators label only every second slice and fill the slices in between by interpolation. Not available for skeleton-only task types.
Restrict Magnifications Limits annotating to a range of magnifications, given as power-of-two numbers in Minimum and Maximum (e.g., 1 and 2 for the finest and second finest magnification). Annotators are warned and can't annotate when zoomed outside the allowed range. For task types with volume annotations, the volume layer only stores data in the allowed magnifications. Can't be changed after the task type was created.
Add Recommended User Settings Suggests viewer settings to annotators (see below).

With Add Recommended User Settings, you can define viewer settings as JSON that annotators should use for the tasks, e.g., a specific zoom or brush size. Use the buttons below the editor to remove orthogonal-only, flight, or volume-only settings that are irrelevant for your task type.

When annotators open a task with a different task type than their previous one and their current settings differ from the recommended ones, WEBKNOSSOS shows the recommended settings in a dialog. Annotators can Accept to apply them or Decline to keep their own settings.

The following settings are supported:

Settings
Display Name Key Default Value Comment
Clipping Distance clippingDistance 80 orthogonal mode
Only Show Nodes of Current Section clipSkeletonToCurrentSection false orthogonal mode; always false when camera or dataset is rotated/transformed
Move Value (nm/s) moveValue 500 orthogonal mode
Show Scalebars displayScalebars false
Single-node-tree mode (Soma clicking) newNodeNewTree false
Auto-center Nodes centerNewNode true
Plane Display Mode in 3D View tdViewDisplayPlanes WIREFRAME NONE or WIREFRAME or DATA
Display Dataset Borders in 3D View tdViewDisplayDatasetBorders true
d/f-Switching dynamicSpaceDirection true
Highlight Commented Nodes highlightCommentedNodes false
Override Node Radius overrideNodeRadius true
Particle Size particleSize 5
Keyboard delay (ms) keyboardDelay 0
Show Crosshairs displayCrosshair true
Classic Controls useLegacyBindings false
4 Bit fourBit false
Interpolation interpolation true
Segmentation Opacity segmentationOpacity 0
Pattern Opacity segmentationPatternOpacity 40
Zoom zoom 0.8
Render Missing Data Black renderMissingDataBlack false
Loading Strategy loadingStrategy BEST_QUALITY_FIRST BEST_QUALITY_FIRST or PROGRESSIVE_QUALITY
Clipping Distance clippingDistanceFlight 60 flight mode
Move Value (nm/s) moveValue3d 600 flight mode
Mouse Rotation mouseRotateValue 0.001
Keyboard Rotation rotateValue 0.01
Sphere Radius sphericalCapRadius 500
Brush Size brushSize 50

Create a Task Type

Create a Task Type

Next, you need to set up a Project. Once you have created your project, you are ready to create Tasks:

Creating a Task

  1. Open Task Management > Tasks and click on Add Task.
  2. Fill out the form to create the Task.
  3. Enter the starting positions in the lower part of the form.
  4. Alternatively, you can upload an NML file that contains nodes that will be used as starting positions.

Tasks can also be created in bulk using the advanced CSV text input. Not recommended for beginners.

Create a Task

Create a Task

Note that you need to specify required Experiences for a Task. Your Task can only be assigned if there are users that have the required Experience assigned to them. You can assign an Experience to a user on the Users page.

Assigning Experiences to users

Assigning Experiences to users

After your Task is created, other users in your organization can request Tasks from their dashboard (Tasks tab). If there are no other projects with high priorities, they will eventually get your Task assigned. Alternatively, you can manually assign a task to individual users (see below). Once a user is done working on a task, they can mark the task as Finished.

Requesting Tasks in the Dashboard

Requesting Tasks in the Dashboard

Finally, you can collect and review the completed data of all annotations within a project:

  1. Navigate to the Project page
  2. Select to View or Download all the combined annotations.

Download all Tasks of a Project

Download all Tasks of a Project

Automatic Task Assignment

When users request a new task from their dashboard ("Tasks" tab), a set of criteria is matched to assign them to a fitting task:

  • Available Tasks are assigned to users that have the required Experience and are members of the specified team
  • Multiple Task Instances will be assigned to different users
  • Tasks from Projects with high priority are assigned first
  • Tasks from paused Projects are not assigned at all
  • If there are multiple Tasks with the same priority, they will be chosen at random

User Experience Levels

For a fine-grained assignment to annotation tasks, each user can have one or more experience levels assigned to them. Based on their respective experience level, tasks may or may not be distributed to them.

Assign/Remove experience levels by selecting one/several users and clicking on the Change Experience button. In the pop-up window, you can select any existing experience from the dropdown or type the domain name of a new experience domain in the dropdown input.

Each experience domain is combined with a numeric value indicating the proficiency of the respective user.
E.g., a seasoned annotator may have the experiences nuclei: 10 and mitochondria: 7, while a rookie could start at nuclei: 1 to codify that they have not worked on mitochondria annotation at all and just started with their first nuclei reconstruction project.

Experience domains are referenced during task type and project creation and task distributing respectively. Domain names and values are arbitrary and can be customized to make sense for your organization.

Manual Task Assignment

In contrast to the automated task distribution system, an admin user can also manually assign a task instance to users. Note, manual assignments bypass the assignment criteria enforced by the automated system and allow for fine-grained and direct assignments to individual users.

Manual assignments can be done by:

  1. Navigate to the task list
  2. Search for your task by setting the appropriate filters
  3. Click on "Manually Assign to User"
  4. Select a user for the assignment from the dropdown
  5. Confirm the assignment with "ok"

The user is notified about the manual assignment by email, including a link to start the task.

Existing, active and finished task instances can also be transferred to other users, e.g. for proofreading, continued annotation or to change ownership:

  1. Navigate to the task list
  2. Search for your task by setting the appropriate filters
  3. Expand the list entry for selected task - plus icon - and locate the respective task instance
  4. From the Actions menu on the right-hand side, select "Transfer"
  5. Select a user for the task transferal from the dropdown
  6. Confirm the task transfer with "ok"

The new owner of a transferred annotation is notified by email.

Transfer a task instance to a new user and additional task administration actions.

Transfer a task instance to a new user and additional task administration actions.