Go to Setup > Classes to view, add, edit, and delete classes and attributes.

Import classes

You can import classes and their attributes from your computer or your existing projects.

📘

Who can import classes?

Only Team Owners, Team Admins, and Project Admins can import classes.

Import classes from computer

To import classes from your computer:

  1. In Setup -> Classes, click Upload.
  2. Select From computer. Note that classes with existing names will be skipped.
  3. Drag and drop your JSON file or choose the file from your computer.

Learn more about the JSON format of the classes you want to import.

📘

Messages

  • When you successfully import the classes, you'll see this message: All set! The classes have been imported successfully.
  • When you fail to import the classes, you'll see this message: Oops! We couldn't import the classes. Please check the file and try again.

Import classes from existing project

To import classes from an existing project:

  1. In Setup -> Classes, click Upload.
  2. Select From existing project.
  3. Choose a project from the drop-down list.
  4. Click Import.

📘

Messages

  • When you successfully import the classes, you'll see this message: All set! The classes have been imported successfully.
  • When the project you chose doesn't have any classes, you'll see this message: Oops! Looks like the selected project doesn't have any classes.
  • When the project you chose has at least one tag and the current project doesn't support tags, you'll see this message: Oops! You can’t import classes used for tags to the current project.

Add classes and attributes

📘

Who can create classes?

Only Team Owners, Team Admins, and Project Admins can create classes.

Step 1: Type a class name

Go to Setup -> Classes, click New Class, and type a class name.

Step 2: Choose how you’re going to use the class (Vector Projects, Video Projects, and Text Projects only)

You can use the class for objects or tags. You can select one option only.

  • When you select Object, you’ll be able to assign the class to annotations.
  • When you select Tag, you’ll be able to use the class to assign tags to items from the editor.

❗️

  • This step isn't available in Pixel Projects.
  • You can’t complete Step 2 if there’s at least one item in your project that has the Completed status.

Step 3: Create an attribute group and add attributes

  1. To create an attribute group, click New Attribute Group and type an attribute group name.
  2. Under Attributes, type attribute names.

A class can have multiple attribute groups, and an attribute group can have multiple attributes.

To add a new attribute group, click New Attribute Group and repeat the steps mentioned above.

Step 4: Choose an attribute group type

Select one of the following attribute group types:

  • Single selection: Choose Single selection if the attributes can't exist simultaneously. For example, a dog can't be small-sized and medium-sized at the same time.
  • Multiple selection: Choose Multiple selection if the attributes can exist simultaneously. When you do that, you'll be able to assign multiple attributes to an object or item. For example, if the object you're annotating is a black and orange car and Multiple selection is selected, you’ll be able to choose both black and orange from the list of attributes.
  • Text input: By choosing Text input, the Annotator will be able to type a text and the text will be considered as an attribute. For example, you could use the Text input if you want your Annotators to describe CT scans.
  • Numeric input: By choosing Numeric input, the Annotator will be able to input a number as an attribute for the attribute group. For example, the attribute could be Number of cars, and the Annotators can use the numeric field for their answer.

📘

  • If you choose Text input or Numeric input as attribute group types, the Attributes field will be hidden because it doesn’t have a predefined attributes list.
  • Text input and Numeric input aren't available for Pixel Projects.

🚧

Deleting attribute groups

  • You can delete an attribute group at any time, regardless of whether has items with the Completed status or not.
  • When you delete an attribute group, the attributes that correspond to items will be deleted from the items as well.

Step 5: Set a default attribute

You can set a default attribute for each attribute group for Objects and Tags in Vector Projects, Video Projects, and Text Projects. This works with the following attribute group types only: Single selection and Multiple selection.

When a class has a default attribute or multiple default attributes, the default attribute(s) will be selected when the class is assigned to an object. Let’s suppose we have a class, Vehicle, that has two default attributes, Car (for the attribute group Type) and Black (for the attribute group Color). When the class Vehicle is assigned to an object, that object will also have the attributes Car and Black assigned automatically. You can choose to remove or change the attributes.

You can click Collapse or Expand to collapse or expand the classes. When collapsed, you can see the class names, the class colors, and the class type only. When expanded, you can additionally see the attribute group(s), attribute(s), and the attribute type(s) if available.

📘

Tags in Text Projects

  • If you click on the default attribute to deselect it, the default attribute will be deselected but the attribute tag will be selected.
  • If you choose another attribute, the tag will be selected.

📘

Default attributes in Vector Projects

Default attributes aren’t applied if the project has a workflow.

Step 6: Create another class (optional and available only to Vector Projects)

If you want to create a new class with the same settings (Object/Tag) as the current class, check the Create another class box.

Step 7: Save

Your changes won’t be saved automatically so make sure to click Save.

📘

Message

When you successfully create a class, you'll see this message: You've successfully created the [class name] class.

Remove classes and attributes

To remove a class:

  1. In Setup -> Classes, find the class you want to remove.
  2. Click the corresponding delete button.
  3. In the popup, click Delete.

📘

Message

  • When you successfully remove a class, you'll see this message: You've successfully deleted the [class name] class.
  • When you can't remove a class if it's used in at least one Complete item, you'll see this message:You can't delete any class because there's at least 1 item that has the Completed status in this project.

❗️

  • You can't delete a class if it's used in at least one Completed item.
  • When you delete a class, you won't be able to recover it. Any objects that are assigned this class will be unclassified and any tags associated with it will be deleted.

To remove an attribute group:

  1. In Classes, expand the class whose attribute group you want to remove.
  2. Click the edit button.
  3. Click the delete button that corresponds to the attribute group.
  4. Click Save.

To remove an attribute:

  1. In Classes, expand the class that has the attribute you want to remove.
  2. Click the edit button.
  3. Click the X button that corresponds to the attribute.
  4. Click Save.

JSON file of imported classes

{
      "name": "Dog",
      "color": "#4e7b3a",
      "type": "object",
      "attribute_groups": [
        {
          "name": "Position",
          "group_type": radio,
          "attributes": [
            {
              "name": "Labrador"
            }
          ]
        }
      ]
    }

Description:

  • "name": string - Class Name
  • "color": string - Class’s hex color code (e.g. #000000)
  • "type": string - Class type. It could either be object or tag.
  • "attribute_groups": array of objects - List of all the attributes
    • "name": string - Attribute Name
    • "group_types": The values can be: radio, checklist, text, or numeric. Learn more.
    • "attributes": array - List of attributes.
    • "name": string - Attribute name

📘

More on "group_type"

  • This key is not required.
  • If it’s missing, then the key will have the radio value after being uploaded.
  • If the value is incorrect, the JSON will be considered invalid.
  • The values text and numeric are invalid for Pixel Projects and Video Projects. If you do upload a JSON with these values, you’ll see this message: Oops! You can't upload classes with text or numeric input attribute group types to the current project.
  • If the attribute group type is radio or checklist and the attributes list is missing, then the JSON will be considered invalid and you’ll see this message: Oops! We couldn't upload the classes. Please check the file and try again.
  • If the attribute type is text and numeric, the attributes list isn't required. If anything else is specified, then it’ll be ignored.

Edit classes

To edit a class, click on the edit button. When you make changes, you'll see this message: All set! Your changes have been saved successfully.

JSON file of exported classes

{
      "id": 1006843,
      "project_id": 72432,
      "name": "Cat",
      "color": "#bc1616",
      "type": "object",
      "createdAt": "2022-01-04T22:44:49.000Z",
      "updatedAt": "2022-01-05T00:13:11.000Z",
      "attribute_groups": [
        {
          "id": 214061,
          "class_id": 1006843,
          "name": "Breed",
          "group_type": 0,
          "createdAt": "2022-01-05T00:09:12.000Z",
          "updatedAt": "2022-01-05T00:09:28.000Z",
          "attributes": [
            {
              "id": 1142810,
              "group_id": 214061,
              "project_id": 72432,
              "name": "British Shorthair",
       "count": 0,
              "createdAt": "2022-01-05T00:09:31.000Z",
              "updatedAt": "2022-01-05T00:09:31.000Z"
            }
          ]
        }
      ]
    }

Description:

  • "id": integer - Class ID
  • "project_id": integer - Project ID
  • "name": string - Class Name
  • "color": string - Class’s hex color code (e.g. #000000)
  • "type": string - Class type. It could either be object or tag.
  • "createdAt": string - The time the class was created.
  • "updatedAt": string - The last time a user updated the class.
  • "attribute_groups": array of objects - List of all the attributes
    • "id": integer - Group ID
    • "class_id": integer - Class ID (must be the same as “id”)
    • “name”: string - Attribute Name
    • "groyp_type" : integer - It’s either 0 or 1. It’s checklist if you can select multiple attributes, and it’s radio if you can choose only one attribute.
    • "createdAt": string - The time the attribute group was created.
    • "updatedAt": string - The last time a user updated the attribute group.
    • "attributes": array of objects - List of attribute values.
      • "id": integer - Attribute value ID
      • "group_id": integer - Group ID (must be the same as “id”)
      • "project_id": integer - Project ID
      • "name": string - Attribute value
      • "count": integer - The number of attributes.
      • "createdAt": string - The time the attribute was created.
      • "updatedAt": string - The last time a user updated the attribute.