ANCHOR / CBCT REPORT ENGINE STAGE 00 · IDLE
CASE F005 · TOOTHFAIRY3 0.30 MM ISO · 46 CLASSES FDI CLINICAL CONVENTION
AZ 000° · EL 00°
AXIAL PLANE IDLE DRAG TO ROTATE

ANCHOR

ANatomy - CHained Oral Reporting

A cone‑beam CT volume goes in. A maxillofacial radiology report comes out. Between them sits a typed findings object, so every sentence traces back to a labelled voxel and the language model never sees the scan.

Scroll to acquire

Stage 01 · Perception

Forty‑six structures, one pass

A U‑Mamba2 network labels every tooth, both jaws, the mandibular canals and the restorations in one forward pass. Scroll drives the axial plane down the field of view; each structure takes its class as the plane crosses it.

0.906
Upper teeth
Dice, present only
0.938
Lower teeth
Dice, present only
44/46
Classes at 100%
detection given presence
Why the upper arch reads lower The maxilla lies outside the acquired volume in 66% of cases and the maxillary sinuses in over 90%. That is field‑of‑view truncation, not tooth misidentification. Scored over 106 held‑out cases, fold 0.

Stage 02 · Geometry to type

Findings, not features

The label map is reduced to a typed, schema‑validated object: what was found, where it sits, and the voxel classes and rule that produced it. Nothing that cannot be measured from geometry gets in.

F005 · findings[41]schema 0.1.0‑draft
{
  "id": "f_0041",
  "type": "bridge_present",
  "referent": { "kind": "teeth",
                 "fdi": [25, 26, 27, 28] },
  "polarity": "affirmed",
  "confidence": 1.0,
  "qualifier": { "roles": {
      "abutments": [25, 28],
      "pontics":   [26, 27] }},
  "provenance": {
      "label_classes": [8, 15, 18],
      "rule":   "restoration_site_v1",
      "method": "geometric_attribution" }
}
21,028
Findings extracted
schema‑valid
530
Cases
of 532 labelled
89%
Canal position
agrees with reports
One convention, enforced The ToothFairy3 label space is mirrored relative to the reports. Every FDI number here is swapped into clinical convention by to_clinical_convention() first. Skip that step and every left and right comes out reversed.

Stage 03 · Verbalisation

The model that writes never sees the scan

The generator receives the findings object and nothing else, so it cannot describe what was never measured. That separation is the scientific claim, not an implementation detail.

Generated report · F005Oracle labels

Mandible

Right mandibular canal with a regular course, in a centro‑buccal position.

Left mandibular canal with a regular course, in a centro‑buccal position.

Absence of teeth 46 and 48. Prosthetic crown on tooth 36.

Maxilla

Partially included in the acquisition.

Absence of teeth 17, 18, 26 and 27. Endosseous implant in position 26. Fixed bridge prosthesis with abutments on teeth 25 and 28 and pontic elements replacing 26 and 27.

Maxillary sinuses partially included in the acquisition bilaterally.

Mandibular condyles

Excluded from the acquisition and not visible.

What is deliberately missing Pathology carries no voxel labels, so the generator is never told about caries, periapical lesions or root fracture. Recall is capped at the groundable share of each reference report, and that ceiling is measured, not hidden.

Anatomy‑grounded generation

Read the paper

The full method, the fold‑0 validation, the findings schema and the evaluation protocol, with every number traceable to the run that produced it.