Routed review

Your pipeline assigns work to people and models, stage by stage. A gate sends it to review by the model's uncertainty score or a sampling rule, and reviewers see why each task reached their queue.

Four radiologists' published outlines of one nodule in white, and a SAM 2.1 proposal, dashed, run by Nitsor outside the product. Armato et al., "Data From LIDC-IDRI", TCIA, case LIDC-IDRI-0003, CC BY 3.0 (opens in a new tab), modified: windowed, cropped and outlined by Nitsor. Sources

No per-seat fees. Add annotators and reviewers without paying for each person.

The Pipeline tab of a Nitsor project: a Source ready start, then an Annotate stage and a Review stage on one canvas; a stage's settings with its required role and qualifications; and the Rejected work setting, which sends a rejected review back to its annotator.
What each frame shows
  1. Annotate, then Review
  2. Select a stage to see its settings
  3. A rejected review goes back to its annotator

Lay the pipeline out on one canvas.

Each stage is a box on the Pipeline tab. Select one to read its settings, including where rejected work goes back to.

The model's uncertainty per slice, 0 to 0.10

IoU with the published label, 0 to 1, measured afterwards

9 of 64 slices go to review. 33 with IoU under 0.70 are not sent.

Real scores: SAM 2.1, run by Nitsor outside the product, on 64 slices of real industrial CT (Gruber et al., Fraunhofer EZRT, CC BY 4.0 (opens in a new tab), modified: scored by Nitsor). Uncertainty is one minus the model's own predicted IoU, not a calibrated probability.

Uncertainty-routed review

Review work above your threshold.

Set the uncertainty score that sends work to review. The score is the model's own, and nothing calibrates it. Each task keeps its routing rule and result.

One gate decision

Gate
uncertainty-above
Threshold
0.074
Slice 328
uncertainty 0.0751, sent on
Model
SAM 2.1 hiera-tiny, recorded run

What gets written down: the gate, the threshold and the work's uncertainty. The model and slice are from the run above. The hosted model is SAM 2.1 hiera large.

Recorded when a gate keeps a task out of review

Task
label-0142, completed at Annotate
Gate
uncertainty-above, threshold 0.40
Uncertainty
0.31
Result
no review task created
Code
workflow_router_gate_declined
Shown as
This task's uncertainty was 31% and the gate only sends on work above 40%, so it finished here.

Worked routing example. The task, threshold and score are examples; the code and refusal sentence are the product's own.

See why a task skipped review.

Open the project overview to see why no review task was created. A routing decision does not mark a label as accepted.

Choose how much work reaches review.

Lower the threshold to send more tasks to reviewers. Raise it to send fewer.

The model's uncertainty, the queue's sort key

IoU with the published label, measured afterwards; the queue never sees it. Lighter bars, under the line: IoU under 0.70, a miss.

First half: 25 missesSecond half: 17 misses

The 64 recorded scores from the threshold figure near the top of the page, sorted the way a review queue set to most uncertain first takes them. SAM 2.1, run by Nitsor outside the product on real industrial CT (Gruber et al., Fraunhofer EZRT, CC BY 4.0 (opens in a new tab), modified: scored by Nitsor).

Most uncertain first.

Sort the review queue so reviewers see the work the model is least sure of first. Most of its misses come early, but not all of them.

What the order puts first

Queue order
uncertainty-desc, most uncertain first
First 10
9 miss the published label (IoU under 0.70)
All misses
42 of 64 slices
Second half
17 misses, where the model is most sure

Counted from the 64 recorded scores, sorted under the product's uncertainty-desc rule.

The Nitsor queue shows a review task the user holds and the tasks up next; opening it shows the editor with three Nodule labels and a card that reads Review: 3 of 3 labels to judge.
What each frame shows
  1. The queue lists the tasks you hold
  2. The task opens in the editor for review
  3. Three labels wait for a verdict

Real chest CT: Armato et al., "Data From LIDC-IDRI", TCIA, CC BY 3.0 (opens in a new tab), modified: cropped. Labels from the LIDC readers' published annotations.

Open a review task from your queue.

Your queue lists the tasks you hold. Open one and the editor shows the labels waiting for your verdict.

  1. V5 slice 328

    A real industrial CT slice where a model's dashed proposal runs wider than the published wall in white.
  2. Two scores over slices 300 to 363

    Over 64 slices, the model's own score stays flat near 0.94 while its overlap with the published label drops from 0.82 to about 0.6.

SAM 2.1 run by Nitsor outside the product on 64 slices of real industrial CT: its own score (dashed) stays between 0.915 and 0.947 while its IoU with the published label (white) falls to 0.587. Gruber et al., Fraunhofer EZRT, CC BY 4.0 (opens in a new tab), modified: windowed, cropped and outlined by Nitsor. Sources

Sample confident output for missed errors.

Confidence can hide mistakes. A sampling rule sends a share of model output to reviewers, including low-uncertainty work.

A sample-rate gate

Gate
sample, 5%
Picked by
a stable hash, so a replay routes the same way
Slice 340
uncertainty 0.065, IoU with the label 0.62
Routed
sent to a person by the sample

Worked routing example. The sample rate and routing result illustrate the rule; the two scores are from the recorded SAM 2.1 run above.

Set thresholds on your own scans and your own reviewers' verdicts.

  1. Four readers, published

    Four white outlines of one lung nodule, drawn by four radiologists, overlapping but not identical.
  2. Where they agree

    The same nodule shaded by how many readers covered each pixel, lighter where more agree, with a thin grey outline where at least three agree.

    Pixels covered by 1, 2, 3 and 4 readers: 168, 81, 84 and 547. Lighter grey, more readers.

  3. SAM 2.1 against 3 of 4

    A dashed model outline around the nodule against the thin grey outline where at least three readers agree.

    IoU 0.81 with the 3-of-4 outline; 0.79, 0.80, 0.84 and 0.84 with readers 1 to 4.

One nodule on slice 64 of a real chest CT, LIDC-IDRI-0003. White: the outlines of LIDC's four readers, as published, kept apart. Grey: where they agree, and the outline of at least 3 of 4; both are derived from the four published outlines by Nitsor outside the product. Dashed: SAM 2.1's proposal from a run recorded by Nitsor. Armato et al., "Data From LIDC-IDRI", TCIA, CC BY 3.0 (opens in a new tab), modified: windowed, cropped and outlined by Nitsor. Sources

Several readers, one decision.

Send the same study to 2 to 16 readers for a second read. Each reads it blind, Nitsor scores where they agree, and a disagreement goes to an adjudicator.

A consensus read, as your team sets it

Readers
4, blind to each other by default
Reading
independent reads, or check and correct
Agreement
Dice or IoU for masks, mm for points, exact match per field
Criteria
Dice 0.80 or more for masks, within 2 mm for points
Adjudicator
A. Rivera
Disagreement
the adjudicator takes a reader's labels, keeps the original or edits their own
On record
each read, score and decision, in History and the API

Worked review example. Names and decisions illustrate the workflow; the outlines are LIDC's published ones. Your team sets its own criteria.

A returned task in the Nitsor editor: the reviewer's note says the label reaches past the nodule edge; the label is erased on one slice and painted back inside the edge; then a review task is listed in the Queue with Claim and open.
What each frame shows
  1. Returned work comes with the reviewer's reason
  2. The returned label, on its slice
  3. Erase it on this slice
  4. Paint it back inside the edge
  5. The review Task is back in the Queue

Real chest CT: Armato et al., "Data From LIDC-IDRI", TCIA, CC BY 3.0 (opens in a new tab), modified: cropped. Labels from the LIDC readers' published annotations.

Return rejected work with its reason.

Rejected work can be sent back with the reviewer's note. Corrections follow the configured workflow.

Show us what you inspect.

Start with a public CT or MRI scan. See how a model suggestion becomes a reviewed label and a fixed training dataset.