Skip to content

Managing Classes

Classes are a core component of any task. Also known as labels, classes determine the annotations annotators can make. Read below to learn more!

Creating Classes

To add classes to a task, navigate to the task's classes tab. Users can enter new classes one by one, import classes using a .csv file, or copy classes from a task in any project. See below for more information on the latter two options.

Adding Classes

Copying Classes from another Task

Click the 'copy from task' button on a task's classes tab to copy a set of classes from any another task. Users must first select the project, and then the task within that project from which to copy classes. Any conflicting classes will be displayed in the modal.

Copying Classes from Task

Importing Classes

Classes can be created from a .csv file uploaded to the modal shown when users click the 'import from file' button. An example of a properly formatted .csv file is given below; note that all classes are surrounded by double quotes to ensure special characters are fully captured:

classNames.txt

"turkey","Lion's Mane Jellyfish","pidgeon","bluebird","cardinal","hawk","rooster","finch","owl"

Note: When annotations are imported for a dataset, the classes included in the imported annotations are automatically created as new classes or merged with existing ones in the associated task.

Adding Classes from the Canvas

Annotators can add classes from the canvas, as long as the option has been enabled by a supervisor. To enable this option, simply check the box which says so in a task's general settings.

Numeric IDs

Classes are automatically assigned a unique numeric ID that is used in certain export formats. Numeric IDs can be edited from the classes tab, but because classes exist at the project level, changing a class' numeric ID in one task will change it for all tasks within that project.

Numeric IDs

Warning: Numeric IDs start from 1, but can be manually changed to 0 if need be. This is not compatible with mask exports, which use 0 as the background value, so choose 0 at your own caution!

Adding Class Hierarchies

Supervisors can create hierarchical relationships between classes by clicking and dragging one class underneath another; class hierarchies are currently limited to three levels (child - parent - grandparent). The level of indentation distinguishes a child class from its parent above. Be sure to click 'save order' to save your hierarchical relationships before leaving the page.

Adding Hierarchical Classes

Editing Classes

Editing Class Names + Colors

Project supervisors can edit class names just like task names - by navigating to the classes tab of a task, clicking the edit icon next to a class name, typing in a new one, and saving it. Class colors can be changed by clicking on the corresponding colored dot, choosing a new color from the available palate, and saving it.

Editing Classes

Changing Classes in Bulk

In the event two classes need to be merged into one, supervisors can click the action menu next to a class name in the classes tab and select 'bulk replace.' This will open a dialog that allows users to change all instances of the first class to a different class from that task.

Bulk Replace Classes

Deleting Classes

Users can delete classes using the associated action menu in the classes table, or by checking the classes checkboxes and clicking the delete icon at the top left of the table. The deletion modal will show the number of instances of the selected class(es) that will be deleted before the user confirms.

Deleting Classes