Creating, Editing and Deleting Annotations
Last updated
Last updated
All of the Object Labels that you created inside of your Taxonomy will display in the the left side bar of the Annotation Tool. Depending on the elements you included in your Taxonomy, the left side bar will contain up to 4 sections: Study Classification, Series Classification, Instance Classification and Object Labels.
If present, your Study, Series and Instance Classifications will be present under their own expansion panels in the lefthand toolbar.
Depending on the type (Boolean, Text, Select, or Multiselect), you can directly fill in the corresponding checkbox, select value, or textfield in the grid.
Click and drag to adjust the size of the grid for easy interaction and viewing!
An Object Label has three components:
a Name (e.g. "Aortic Calcification")
a Type (e.g. "Segmentation", "Polygon", "Bounding Box", etc.)
Attributes ("Boolean", "Text", "Select" and "Multiselect", all of which are optional)
The left side bar will show all the Object Labels with an option to create Entities of that Object Label. There are two ways to create an Entity of an Object Label:
Click on the "+" button next to the corresponding Object Label;
Use the numeric hotkeys (e.g. 1, 2, 3, etc.) displayed next to the corresponding Object Label
When you create an Entity, the default tool for that Label type will be automatically selected (e.g. the Brush Tool will be selected by default when creating an Entity of a Segmentation).
Your default Segmentation Tool can be configured on the Tool Settings page within your Project Settings.
All Entities are organized within each Object Label's expansion panel.
When an annotation is created inside of the Annotation Tool, a corresponding segmentMap
value is also generated to reflect the order in which the annotation was created.
In other words, when exporting a Task's annotations, the first annotation created by a labeler will have a segmentMap
value of "1" in the accompanying JSON file; the second annotation will have a segmentMap
value of "2", and so on. For more detailed information about how segmentations are mapped, please see our Format Reference for Exported Annotations.
The RedBrick AI SDK also supports both semantic export and exports of binary masks using the export_tasks()
SDK method.
To edit an Object Label, you must first select it from the left sidebar. Once you select the Entity from the left side bar, the default tool for that label type will be selected automatically, and you can interact with the canvas to apply edits to that Entity.
When a Object Label Entity is selected, all interactions with the canvas will only modify that particular Entity.
There are several actions available that are designed to make selecting, viewing, and editing Object Labels as easy as possible for labelers and reviewers.
All actions can be accessed by clicking the three-dot menu button on a Label Entity.
You can quickly swap between existing Labels of the same Type (i.e. all of your Segmentation Object Labels, all of your Polygon Object Labels, all of your Bounding Boxes, etc.) in the right side context panel.
To reveal this menu in the right hand Context Panel, either click on the Object Label in the viewport or use the "Edit" label action.
With the Context Panel open, you can also add, modify, and delete Attributes for an Object Label.
You can delete the selected Object Label by using the delete
/ backspace
hotkey. Alternatively, you can use the Delete Action in the actions dropdown.
To delete all Labels, use the shortcut shift + delete
/shift + backspace
.
The Delete All Labels action cannot be undone. Please ensure that you wish to irrecoverably delete the most recent version of all of your labels before using the Delete All Labels action.
Alternatively, you can use the Delete All action in the Object Labels three-dot menu dropdown.
You can hide the label you are currently hovering over by using the h
hotkey. If you are not hovering over a label (either on the canvas or on the left side bar), the h
hotkey will hide/show the currently selected label.
To hide/show all labels use the shortcut shift + h
or the hide all action in the Object Labels three dot menu dropdown.
You can lock/unlock the label you are currently hovering over by using the u
hotkey. If you are not hovering over a label (either on the canvas or in the left side bar), the u
hotkey will lock/unlock the currently selected label.
To lock/unlock all labels, use the shortcut shift + u
or the Lock All Action in the Object Labels three-dot menu dropdown.
Watch the video below to understand how to prevent/allow the overwriting of annotations.
Vibrant Mode allows you to temporarily highlight a particular Entity. For example, if you have several small Entities of nodules in a chest CT, you can hover over any particular Entity on the left side bar or on the canvas and use the v
shortcut to activate Vibrant Mode to highlight that Entity.
The Jump to Label Action will change the current slice position to the closest slice position that contains a particular annotation. This is useful for revealing annotations on the canvas.
RedBrick allows users to create logical groups of existing Object Labels, which will all share a common identifier (group?: string
) in the tasks.json
file generated upon export.
With an Object Label selected, press the Link Label button or use the CTRL/CMD+L
hotkey to activate Link Mode.
With Link Mode enabled, use LMB
to select any Object Label in the viewports or the lefthand toolbar to create a Label Group.
Repeat as desired.
Click on the Delink button next to any Object Label in a Label Group to remove it from the Label Group.
To delete a Label Group, delink all of the Object Labels in the Group.
Each Object Label Entity can only be a part of one Label Group!
For a brief overview, please see the following video walkthrough:
Read-only labels are special Object Labels that have been uploaded to a Task but cannot be edited.
Optionally, Project & Org Admins can determine which user permission level can remove a label's read-only status in Project Settings -> General Settings. By default, no user can toggle a label's read-only status in the Dashboard and Editor.
In the Editor, read-only labels are represented by a unique "crossed-out pencil" icon.
As with all annotation imports, designating a label as read-only and uploading it to RedBrick must be done programmatically.
Please see the following JSON snippet for an example of the relevant code:
In your Project Settings -> General Settings, you can determine which user permission level is required to toggle the read-only status of a Read-only Label.
This setting can be configured for each Stage of your Project and allows for the construction of more advanced QA flows.
No one - no users can toggle the status of a Read-only Label
Admin - Project Admins (and higher) can toggle the status of a Read-only Label
Manager - Project Managers (and higher) can toggle the status of a Read-only Label
Labeler - Project Members (i.e. all users with access to this Project Stage) can toggle the status of a Read-only Label
Assuming that all uploaded annotations are set as Read-only Labels, the following flow would prevent users in the Review Stage from making any edits to annotations in the Review Stage while preserving their ability to accept or reject a Task, leave comments on a Task, etc.
The above configuration would allow a team to do the following:
upload Labels A and B for reference while preventing them from being edited by the annotators
allow the annotators to generate new annotations (or modify existing ones) for Label C
allow Admins to correct any labels if inconsistencies are found in the Review Stage
RedBrick AI's Version Explorer allows users to reference (and, if necessary, restore) previous versions of their annotations within the Annotation Tool.
To reference a previously saved set of annotations, click on the Version Explorer button in the top right corner of the screen. The Version Explorer will then display in the right hand Context Panel., allowing you to access previously saved versions of your annotations.
Restoring an older set of annotations will both:
Force a save of the most current set of annotations;
Duplicate the older version of annotations and create a new version based on that duplicate.
For example, let's say you (a reviewer) open a Task and see that the latest version of a labeler's annotations is Version 5, but you'd like to restore Version 3. Choosing to restore Version 3 will immediately create a duplicate of that version, designate it as the most current version (in this case, Version 6), and display the labels in the Editor.
Please see the short video tutorial below for a full overview: