LogoLogo
RedBrick AIGuides
  • Quick Start
    • Walkthrough Guides
    • Get Started with a Project
    • Get Started with Workspace
      • Cohort Creation
      • Datapoint Classification
      • Configuring Metadata Schema
    • Creating a RedBrick AI Account
  • Organizations
    • Organization and Project Roles
    • Inviting Your Team
      • Single Sign-on
  • Dashboard
    • Account Settings
    • User Preferences
    • Worklist
    • Preview Tool
    • Integrations
    • Taxonomies
    • Boost
      • Auto Annotator
    • Home
      • Sections
  • Importing Data
    • Uploading Data to RedBrick
    • Import Cloud Data
      • Configuring AWS s3
      • Configuring Azure Blob
      • Configuring GCS
      • Configuring AltaDB
      • Creating an Items List
    • Troubleshooting
  • Projects
    • Tasks & Assignment
    • Comments & Raise Issue
    • Reference Standards
    • Project & Task Analytics
    • Labeler Evaluation
  • Project Pages
    • Data Page
    • Settings Page
      • Custom Label Validation
      • Custom Hanging Protocol
      • Webhooks
    • Multiple Labeling
      • Consensus
        • Agreement calculation
      • Task duplication
  • Annotation & viewer
    • Viewer Basics
      • Document Viewer
      • Multiple Modalities
      • Intellisync
      • Annotation Mirroring
    • Creating, Editing and Deleting Annotations
    • Visualization and Masking
    • Segmentation
      • Segmentation Tools
      • Instance vs. Semantic
      • Overlapping Segmentations
    • Heat maps
  • Python SDK & CLI
    • Full documentation
    • Installation & API Keys
    • SDK Overview
      • Importing Data & Annotations
      • Programmatic Label & Review
      • Assigning & Querying Tasks
      • Exporting Annotations
    • CLI Overview
      • Creating & Cloning Projects
      • Import Data & Annotations
      • Exporting Annotations
    • Importing Annotations Guide
    • Formats
      • Full Format Reference
      • Export Structure
  • Useful Links
    • Privacy Policy
Powered by GitBook
On this page
  • What is a Task?
  • Task Assignment in RedBrick AI
  • Automatic Task Assignment
  • Manual Assignment
  • Programmatically Assigning Tasks
  • Labeling Queue
  • Task Prioritization
  • Send to Stage

Was this helpful?

  1. Projects

Tasks & Assignment

PreviousTroubleshootingNextComments & Raise Issue

Last updated 5 months ago

Was this helpful?

What is a Task?

A Task is a unit of work that moves through your project pipeline in RedBrick AI. Tasks can consist of anything - a single image, series, or entire study, and your Labeler works with one Task at a time while annotating.

For example, if you'd like your Labelers to view & annotate an entire MRI study comprised of 4 series together, you should upload the 4 series together as a single Task (see "Multi-series Task" below):

Task Assignment in RedBrick AI

RedBrick AI allows you to delegate work among your team using either automatic or manual task assignment.

Automatic Task Assignment

Automatic Task Assignment is enabled by default upon Project creation. The automatic assignment protocol is a first-come-first-serve system, i.e. it assigns the oldest Tasks to the first annotators that request new Tasks.

Labelers can request new Tasks by clicking on the "Label/Review" buttons on the Project Dashboard.

You can disable Automatic Task Assignment in Project Settings -> General Settings.

Manual Assignment

Admins can also override the automatic assignment protocol and manually assign Tasks to users from the Data Page.

RedBrick AI will not automatically re-assign Tasks that have been manually assigned.

Programmatically Assigning Tasks

Assigning Tasks on Upload

For example, the snippet below will assign study_001 to annotator@email.com in the Label Stage. Once the annotation is complete, the Task will be queued in Review_1 and reviewer@email.com will be assigned as the Reviewer.

[
    {
        "name": "study_001", 
        "preAssign": {
            "Label": "annotator@email.com",
            "Review_1": "reviewer@email.com"
        },
        "series": [
            {
                "items": "ImageFile.extension", 
            }
        ]
    }
]

Always double check that your Stage Names (i.e., Label, Review_1, etc.) and user emails have been input correctly.

Also, when preassigning Tasks, all emails must be associated with an existing Project Member.

Assigning Tasks after Upload

Labeling Queue

Once a Task is assigned to a user, it is added to their Labeling Queue. You can view your labeling queue in two ways.

While in your Queue, a Task can be in a few different states depending on the status of the annotation:

  1. Assigned Tasks that you have not worked on yet will be displayed as Assigned.

  2. Saved Once you save your in-progress annotation (either manually or through auto-save), the Task will show as saved.

  3. Pending Finalization Once you are done with the annotation, you can Submit a Draft. All drafts that have been submitted will still be in your Labeling Queue pending finalization. You must finalize the draft to complete it and send it to the next stage of the workflow.

  4. Skipped If you encounter a Task that you would like to complete at a later time, you can skip it to send it to the end of your Labeling Queue.

The diagram below is a visual guide to the flows associated with completing Tasks in your Labeling Queue, including associated actions and Task states.


Task Prioritization

RedBrick AI allows you to designate specific Tasks as prioritized, which elevates them to the top of your Labeling Queue.

Task Priority is reflected in the Web Application in the following ways:

  1. Task Priority is visible in the Data Page when sorting by Queued for Labeling/Review or Recently Labeled/Reviewed - this logic applies to all Stages except for Ground Truth.

  2. Task Priority will persist throughout Raising an Issue and/or Rejecting a Task at any Stage.

  3. Task Priority will be visible in the Annotation Tool when viewing the Queue

  4. Tasks that are Assigned and Prioritized will occupy a higher position in the queue than Tasks that are Unassigned and Prioritized.

tasks = 
    [
        {
            # High Priority Task
            "taskId": "2716057",
            "priority": 0.95
        },
        {
            # Mid Priority Task
            "taskId": "BU221729",
            "priority": 0.50
        },
        {
            # Low Priority Task
            "taskId": "8675309",
            "priority": 0.32
        }
]
    
project.labeling.update_tasks_priority(
    stage_name="Label", 
    tasks=tasks
)

For the truly brave, our Prioritization API supports up to the billionth place for floats.


Send to Stage

The Send to Stage action is disabled for Consensus Projects!


Please see our for a more comprehensive overview of how to structure your data imports.

Any with relevant permissions can view a Task on RedBrick AI.

You can programmatically assign tasks by prescribing the assignment during data upload as part of your or using the of our SDK.

You can use the field in the to assign a Task you are uploading to a specific user(s) at each Stage.

You can use the assign_tasks() method to designate task assignment using the SDK. Please see our for further details.

From the Data Page: , you can filter existing Tasks by Queued for Labeling/Review and then by Tasks assigned to you.

In the Annotation Tool: can be expanded/retracted by clicking on the corresponding button in the top bar of the Annotation Tool.

As seen in the snippet below, you can use the method to designate a float between 0 and 1 that reflects the priority of a given Task (where 1 is the highest priority and 0 is the lowest).

SDK Documentation
On the Data Page
The Labeling Queue
update_tasks_priority()
assign_tasks() method
Items List
Project Admin or Member
preAssign
Several examples of valid Tasks
Guide to submitting Tasks in your Labeling Queue
Two Tasks with priority scores
A sample Task History for a Task in the Review_1 Stage
data import documentation