Classes are a way to identify your items and instances, and categorize them further by using Attributes.

You can create three types of classes:

  • Object – a class which is used for object instances.
  • Tag – used to classify items as a whole.
  • Relationship – a class that allows you to link instances together by further classifying their correlation.

You can create and manage classes and attributes by going to the Classes section of the Setup tab. You can find this under FineTune in the left panel.

Create classes and attributes

To create a class:

  1. Click + New Class.
  2. Type in a class name in the field.
  3. On the right, choose an option: Object, Tag, or Relationship.
  4. Create an attribute group (Optional).
  5. Click Save.

Creating an attribute group:

  1. When setting up your class, click + New Attribute Group.
  2. Type in a name for your attribute group.
  3. Select the attribute group type from the dropdown:
    • Single selection: A list of attributes that you can select one from.
    • Multiple selection: A list of attributes that you can select multiple options from.
    • Text input: A field that requires manual text input.
    • OCR input: A field that works with Magic Box and allows manual text input. Usable with Objects only.
    • Numeric input: A field that requires manual numeric input.
  4. Add one or multiple attributes by typing their names in the Attributes field.
  5. You may choose a default attribute which will be selected when assigning the class (optional).
  6. For Image and Text projects, you may choose to make the attribute group a mandatory field by checking the Required box to ensure that no important attributes will be missed during the annotation stage (optional).
  7. Click Save.

🚧

Character limitation

The character limit for the Text input and OCR attribute group types is 3000.

create required attribute

📘

About required attributes

  • Required attribute groups must be given a value before the item can proceed to Quality Check or be set to Completed.
  • You may check or uncheck the Required box of an attribute group after it’s already been created. If you make the attribute group Required after it has been used in an item, when editing that item, you must fill in the required attributes in order to submit the annotation.
  • You can still complete items with empty attribute group values if you do from the Explore tab.

required attribute

Deleting an attribute group:

  1. In the Classes tab, find the class that contains the attribute group you want to delete.
  2. Click Edit.
  3. Find the attribute group and click the corresponding Delete button.
  4. Click Save.

Import classes

There are two methods you can use to import pre-established classes: From computer and From existing project.

To import classes from your computer:

  1. When in Classes, click Upload.
  2. Select Upload from computer.
  3. Click Choose file or drag and drop the JSON file for your classes.

To import classes from an existing project:

  1. Click Upload.
  2. Select From existing project.
  3. Choose the project you want to import classes from.
  4. Click Import.

Edit or reorder classes

You can edit classes after they’ve been created or imported, including any attributes they might have.

To edit a class:

  1. In the Classes tab, find the class you want to edit.
  2. Click the Edit button.
  3. Make your necessary changes and click Save.

To reorder classes:

  1. Click Reorder above the list of classes.
  2. You can choose from Reverse order or Custom order.
  3. If you select Custom order, you will see a pop-up.
  4. In the pop-up, click and drag classes by the reorder button ⋮⋮. You can also click Move to top to send a class to the top of the list.
  5. When you’re done, click Save.

Delete classes or attributes

To delete classes:

  1. In the Classes tab, find the class you want to delete.
  2. To delete the class, click the corresponding Delete button.

To delete a class’s attributes:

  1. Find the class you want to delete the attributes of.
  2. Click the Edit button.
  3. You can delete an attribute group by clicking the corresponding Delete button. If you only want to delete attributes within an attribute group, then you can click the X button next to the attribute name.
  4. Click Save.

❗️

  • If the class is assigned to an instance, the instance will become unclassified.
  • If the class is assigned to an item, it will be removed from that item entirely.

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.
  • The values text and numeric are invalid for Image (Legacy) Projects.
  • The JSON will be considered invalid if:
    • The group_type value is incorrect.
    • If the attribute group type is radio or checklist, and the attributes list is missing.
  • If the attribute type is text and numeric, the attributes list isn't required. If anything else is specified, then it’ll be ignored.

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.
    • “group_type”: string.
      • checklist - for multiple selection.
      • radio - for single selection.
      • text - for text input.
      • ocr - for OCR input.
      • numeric - for numeric input.
    • "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.