# 3. Attributes

Define attributes on the right highlighted section below. The saved attribute(s) will appear in rows highlighted on the left of the image.&#x20;

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXesAhM050CAuyANM_xx-XE5AgO0_6Pt1KEk6AtpRZtTX3yszfyg-68tRaBmMMlkuVOVuhQ617PiJnB4eBtpBz7Fizd2HjtRs4Fd2qckA-dzCkCK_v0JRO5jjWERbABihyqK2qp1OQJEWA60617jcofSe8dL?key=lGhAQLv5xC3Ciuwf6zBTGQ" alt=""><figcaption></figcaption></figure>

***

## Create Attributes

To create a new attribute, the user has to give details of the following three sections:

1. [Attribute Type](#id-1.-attribute-type)
2. [UI Component](#id-2.-ui-component)
3. [Identity](#id-3.-identity)

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXejrsRwUWfcaxR4jALMUrvfsoni0LYvb4A4J0HUAS43iNHfJE_cGI5DPUA356l775vo6AOq7TVlx-h4KKshHs3yVqg4g1XltUAS_1QpbIf1QvZkhtXHKx7ytuf6CnWD2xwtFImanNsttOJcGdQW4PwjFsM?key=lGhAQLv5xC3Ciuwf6zBTGQ" alt="" width="375"><figcaption></figcaption></figure>

***

## 1. Attribute Type

### **A. Class Level**

Select this if the attribute is linked to a [class](https://docs.imerit-prod.io/project-setup/create-recipe/2.-classes). The user must give the following inputs if the attribute type belongs to this one:

#### **Global Attribute: ON / OFF**

If this attribute is associated with all the classes created, toggle this **ON**.  For example, there are 2 classes: ‘Car’ and ‘Truck’. The ‘Headlight’ attribute can be marked as **Global** to link it to both the created classes. If the attribute is associated with only one or a few classes, leave this toggle **OFF**.  These can be linked to the specific classes in the [association](https://docs.imerit-prod.io/project-setup/create-recipe/4.-associations) tab in the next step.&#x20;

<figure><img src="https://254647936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzGccvqLYeyaJ6Dgazh7K%2Fuploads%2FjU1nEPLMcfO0LzgqjlKJ%2FScreenshot%202024-07-15%20at%204.31.09%20PM.png?alt=media&#x26;token=c4bba3dd-6956-4437-980e-884c7235d535" alt="" width="375"><figcaption></figcaption></figure>

#### **Attribute Mode**

Specify which of the following mode it belongs to:

* **Constant:** Toggle this **ON** if the attribute value remains constant within a [frame](https://docs.imerit-prod.io/pre-process-data#frame) and across [frames](https://docs.imerit-prod.io/pre-process-data#frame) (i.e. the [batch](https://docs.imerit-prod.io/pre-process-data#batch)). For example, the value of a vehicle's *color* attribute cannot change across [frames](https://docs.imerit-prod.io/pre-process-data#frame). Continuing with this example, consider the below representation of object Car\_1 and attribute *color,*
  * The checkmarks indicate the presence of the Car\_1 object and its corresponding annotation on the specified sensor.
  * The **singular** color-filled boxes indicate that the constant attribute value remains **uniform** across the [batch](https://docs.imerit-prod.io/pre-process-data#batch) and within each [frame](https://docs.imerit-prod.io/pre-process-data#frame).

<figure><img src="https://254647936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzGccvqLYeyaJ6Dgazh7K%2Fuploads%2FVdTtwzI5qkG1aUmLD8q5%2Fimage.png?alt=media&#x26;token=be26d312-8b7c-49d1-9a67-f3ceeca9aa9f" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
The constant attribute value will remain consistent across the entire sequence.
{% endhint %}

* **Time-Varying:** Toggle this **ON** if the attribute value remains constant within a [frame](https://docs.imerit-prod.io/pre-process-data#frame) but changes across the [frames](https://docs.imerit-prod.io/pre-process-data#frame) (i.e. the [batch](https://docs.imerit-prod.io/pre-process-data#batch)). For example, the value of a vehicle's *headlight* attribute will remain uniform within a [frame](https://docs.imerit-prod.io/pre-process-data#frame), however, can change across [frames](https://docs.imerit-prod.io/pre-process-data#frame). Continuing with this example, consider the below representation of object Car\_1 and attribute *headlight,* &#x20;
  * The checkmarks indicate the presence of the Car\_1 object and its corresponding annotation on the specified sensor.
  * The **singular** color-filled boxes within the [frame](https://docs.imerit-prod.io/pre-process-data#frame) indicate that the value remains **uniform.**
  * The **multiple** color-filled boxes across the [frame](https://docs.imerit-prod.io/pre-process-data#frame) indicate that the value can change with time.&#x20;

<figure><img src="https://254647936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzGccvqLYeyaJ6Dgazh7K%2Fuploads%2FIDGc7pJ0oyRujvUEgCk8%2Fimage.png?alt=media&#x26;token=3c9080c4-6f6f-4f29-b9ac-a2b8816e053e" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
The time-varying attribute value will stay consistent across different sensors within a single [frame](https://docs.imerit-prod.io/pre-process-data#frame) but may change across the sequence.
{% endhint %}

* **Sensor Specific:** Toggle this **ON** if the attribute changes both within a [frame](https://docs.imerit-prod.io/pre-process-data#frame) and across the [frames](https://docs.imerit-prod.io/pre-process-data#frame) (i.e. the [batch](https://docs.imerit-prod.io/pre-process-data#batch)). For example, the value of a vehicle's *occlusion* attribute will change both within and across [frames](https://docs.imerit-prod.io/pre-process-data#frame). Continuing with this example, consider the below representation of object Car\_1 and attribute *occlusion*, &#x20;
  * The checkmarks indicate the presence of the Car\_1 object and its corresponding annotation on the specified sensor.
  * The **multiple** color-filled boxes within the [frame](https://docs.imerit-prod.io/pre-process-data#frame) indicate that the value can change.
  * The **multiple** color-filled boxes across the [frame](https://docs.imerit-prod.io/pre-process-data#frame) indicate that the value can change with time.

<figure><img src="https://254647936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzGccvqLYeyaJ6Dgazh7K%2Fuploads%2FSB7rxybcB5AD4h5t8Ver%2Fimage.png?alt=media&#x26;token=03643992-b7e8-4ca7-b9cd-8db656d7cfcb" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
The sensor specific attribute value may change across different sensors within a single [frame](https://docs.imerit-prod.io/pre-process-data#frame) AND may change throughout the sequence.
{% endhint %}

***

<figure><img src="https://254647936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzGccvqLYeyaJ6Dgazh7K%2Fuploads%2Fhex48h2jpt4U4JXvMLnx%2Fimage.png?alt=media&#x26;token=b3bf61d3-2bd2-4b72-a970-564953d3443a" alt=""><figcaption></figcaption></figure>

### **B. Task Level**

Choose this option if the attribute is associated with a specific [frame](https://docs.imerit-prod.io/pre-process-data#frame). For instance, the attribute ‘Foggy’ can be used by annotators to label a particular frame as ‘Foggy,’ indicating the scene's condition in that specific frame within the [batch](https://docs.imerit-prod.io/pre-process-data#batch).

There are two type of modes,

1. Time-Varying : This type of attribute propagates the value across the sequence to reduce the subject expert having to set it everytime on each frame.  However, when the user changes the value in the following frames, it will propagate it forward.

[Learn how to use](https://docs.imerit-prod.io/annotation-tool/key-features/task-level-attribute-propagation#time-varying-task-level-attribute).

2. Manual : This type of attribute requires the subject expert to set the task level attribute for each frame manually.

[Learn how to use](https://docs.imerit-prod.io/annotation-tool/key-features/task-level-attribute-propagation#manual-task-level-attribute).

### **C. Batch Level**

Choose this option if the attribute applies to all the [frames](https://docs.imerit-prod.io/pre-process-data#frame) within a [batch](https://docs.imerit-prod.io/pre-process-data#batch). For instance, the attribute ‘Time of Day’ can be used by annotators to highlight a specific time of day for the entire sequence.

***

## 2. UI Component

Indicate how the annotator should enter the values of the attribute created and whether it is optional for marking or not.

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXe6reXiinU09hdioQvezXdhE2Nyk_1cpqYbDbLp20xpTPPtLttdikTv9GcyTexh8MiBsqx6bR3iV4IpeFu5k-YbR_FFFJzSxcIqOk4SeXP2sE_yWkmZrBspdlbe4CCbv626KLrwKq7gr4Nspx7O2WOtemc?key=lGhAQLv5xC3Ciuwf6zBTGQ" alt="" width="375"><figcaption></figcaption></figure>

### **Boolean**&#x20;

The value of this attribute can either be true or false. When selected, a toggle appears at the end of the form called ‘**Default Value**’. To decide the default behaviour of the boolean attribute on the annotation tool toggle the Default Value switch;

* When switched off, the value is false on the annotation tool.
* When switched on, the value is true on the annotation tool.

  <figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXc0WnFzbALcF6ZXSyfEONLXP4TsM5Nl70veh1CA2rohD8yM3ZcHRFknsbELxDts1a9DLKivfaRfSV6POxfD1DFA-XkBnrsoXj0_-ZCWbyQH-4s39GXuZwaB9r-NbwWN758n6hwlSHSgbwqlxQE5yiLY2LXC?key=lGhAQLv5xC3Ciuwf6zBTGQ" alt="" width="375"><figcaption></figcaption></figure>

  <figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXe8HpyIAqSjcuudrXDVWj_SHjO87ygJDx3i2GVEvPlBA8FQ7VriNf5__DkhBnYLK9gV0EK_3hMEhT5fGTdjtqXluz2joJeXpgLMOpj5fHhISCwj0dYhheFi6AvQa9xiiagaxJVTSihEGo-hqOhWERiuTKxj?key=lGhAQLv5xC3Ciuwf6zBTGQ" alt="" width="188"><figcaption></figcaption></figure>

### **Inputbox**

Select this when the value is to be entered in an Input Box and define the condition of the text by selecting the input type. A toggle appears to mark this Input as Optional or not at the end of the form. **Note**: ‘Float’ in Input Type allows any numbers with decimal points.&#x20;

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdNj7nO5LTDyhs8a-lu-0QfWFqMz4uyezyamS6-FKSVFcROlDaucKCv-yNKb1Eai5qxPgpE-vwU5Urp9yH4TQ-Mcy29_YvNjyImvHzl2JD2lAoL60SFkf7nQG4Is0X-z88VZ-XeOg6XZWR4BD6mAj7HlnI?key=lGhAQLv5xC3Ciuwf6zBTGQ" alt="" width="188"><figcaption></figcaption></figure>

<figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXc-c1E6Qvec-7hDqWCf4-leNl4Z71-wQNEbCqym4qZGPW48moyKdh2Lc1i9UeOdsdRZZVSxY3pMo9KkSu-gh8WF58rP_JHs0m_wsqf2-m003PVcdpZHgEzOpdGck4rspu62jUOxRlrRGWdv21aKQ6BEnr2l?key=lGhAQLv5xC3Ciuwf6zBTGQ" alt="" width="375"><figcaption></figcaption></figure>

### **Multi-Select**

When Attributes can have multiple values, this option is selected. Define the option name (Value, Text, Abbr.)

* Value: Enter the option name reflected in the output data
* Text: Enter the option name reflected in the [Annotation Tool](https://docs.imerit-prod.io/annotation-tool)
* Abbreviation: Abbreviation reflecting in case of less space.&#x20;

  <figure><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdq2djYnljFfYr_W3Gy-f1mOFvXMEY6H2UPE9TD0HCTbXPC5zFiu2c8QYNL2meEOIZGAbSz-hA9NVqmdsxi-Xu5NbCQ3GoN9KzpEExnVXdgGGsBmExpA8AYJjItBPev1Hd88SxJzIeYyBjgY8iI5lAOZh4?key=lGhAQLv5xC3Ciuwf6zBTGQ" alt="" width="375"><figcaption></figcaption></figure>

### **Select**

When attributes have a single value, this option is selected. The options will need to be defined like above. (Value, Text, Abbr)&#x20;
