About

Images

Every radiograph in Sella comes from Aariz (CEPHA29: Cephalometric Landmark Detection and CVM Stage Classification Dataset), released under CC BY 4.0.

Khalid, M.A. et al. A Benchmark Dataset for Automatic Cephalometric Landmark Detection and CVM Stage Classification. Sci Data (2025). https://doi.org/10.6084/m9.figshare.27986417.v1

1000 lateral cephalograms across train/valid/test, each with a Junior and a Senior orthodontist tracing of 29 landmarks, a CVM stage label, and a machine/pixel-size row in cephalogram_machine_mappings.csv.

Each ceph carries one tracing in two states. A junior orthodontist placed the points first; a senior orthodontist then opened that file and moved some of them, leaving the rest untouched. The senior coordinate is what Sella scores against and calls the reviewed coordinate. The junior file is the pre-review tracing, and it is what the hollow beginner mark shows — not a second answer, but where a trained beginner put the point on that particular ceph before it was reviewed.

Where the reviewer moved a point by an unusual amount, the row is flagged as a large correction and is never scored. A big move can mean the beginner was wrong, or it can mean the landmark is genuinely hard to see on that ceph — and the data cannot tell those two apart. Grading someone against a coordinate whose history says only “this one was hard” is not teaching.

Changes made to the source data:

  • Annotation coordinates are read verbatim; no coordinate is edited, smoothed or averaged.
  • Aariz symbols R, UPM and LPM are dropped (no counterpart in this atlas); the other 26 are renamed to Sella landmark ids.
  • mm/px is corrected PER IMAGE from that image's own stored size, because the archive's pixel_size column is the device's native pixel size and the shipped images are resized (and sometimes cropped) — see src/calibration.ts. Both the verbatim CSV value and the corrected value are stored.
  • Derived artefacts (out/gt.json, out/landmark-stats.json, out/images.json, out/report.md) are generated, not redistributed.

Millimetres

The Aariz archive ships resized cephalograms but labels each one with its imaging device's native pixel size, so taking that number at face value would make some machines' images measure two or three times smaller — or, for one machine, larger — than life. Sella recalibrates every image from its own stored size, matching seven skeletal distances against the machine groups whose stated calibration is already self-consistent. After the correction the anterior cranial base measures 70.4–72.0 mm across every group in the dataset, which is the textbook adult value, so a millimetre in Sella is the same millimetre on every image.

Norms

The reference ranges a measurement is read against are adult values adjusted for age and, where the literature splits them, for sex. The adjustment is shown rather than applied silently.

Age adjustment (SNA, SNB, ANB, SN-GoGn/FMA)

Age-dependant cephalometric standards as determined by multilevel modeling. Am J Orthod Dentofacial Orthop. Pooled Fels, Michigan and Nijmegen longitudinal growth studies; 218 girls, 231 boys, ages 9-14.

Reported linear rates: SNA +0.1 to 0.3/yr, SNB +0.2 to 0.4/yr, ANB -0.1 to -0.2/yr, SN-GoMe decreasing. NOTE the authors' own caution: growth velocities differed significantly between the three samples and they advise against pooling data to build age-dependent standards. That is why this applies a drift to the adult anchor rather than shipping an age-by-age table.

Age adjustment cross-check

Oyonarte R, Hurtado M, Castro MV. Evolution of ANB and SN-GoGn angles during craniofacial growth: a retrospective longitudinal study. APOS Trends Orthod. 2016;6:295-301. 71 subjects, 343 films, ages 6-18.

Class I ANB 3.9 +/- 1.8 (CVM1) to 2.4 +/- 1.2 (CVM6); SN-GoGn 33.8 +/- 5.0 to 29.8 +/- 5.2. Indexed on skeletal maturity, not chronological age.

Sex-specific adult means

Conventional values in general circulation; not traced to a named study.

SNA 82/80, SNB 80/78, FMA 23/26, MMPA 26/28, FMIA 67/63, IMPA 90/91 (male/female). Used because they are the values in common clinical use, but they carry less evidential weight here than the age rates.

Adult baseline norms

Standard orthodontic literature (Steiner, Tweed, Downs, Bjork-Jarabak, Ricketts), per measurement, matched to the Sassouni reference values.

These are the unadjusted anchors every adjustment starts from.

Scoring

A placement scores 1000 inside a free ring — a floor below which the difference between two points is not a difference in skill — and decays from there on a per-landmark constant. Porion and the condyle get a wider tolerance than Menton because they are genuinely harder to see, not because the game is being kind. The tolerance ring drawn on the reveal is the boundary the game calls “within tolerance”; it is not a clinical standard.

The per-landmark tolerances are seed values pending review by orthodontists. They are plausible and they carry the familiar shape, but they are not yet traced to a published table, and they will move once orthodontists have been through them.

Keyboard and screen readers

Every mode can be completed with a keyboard alone: the radiograph is a focusable widget, the arrow keys move a placement by exactly 0.1 mm, and Enter confirms.

Placing a two-dimensional anatomical point without sight is not solved by this design, and saying otherwise would be worse than saying nothing. Name It and the Case interpretation questions are fully usable with a screen reader; Drill, Sprint and Daily are not.

Not medical advice

Sella is a game for learning to read a lateral cephalogram. Nothing it shows is a diagnosis, and nothing in it should be used to treat a patient. The radiographs are from a public research dataset and are not anyone’s current patient.

Privacy

Playing creates an anonymous account tied to a cookie in this browser. There is no email, no name and no analytics profile. What it does hold, besides the coordinates you place, is the record around them: which image and landmark each trial used, the server’s own timestamps, the zoom level at the moment of placement, a short device description (screen size, pixel ratio, pointer type, time zone) sent when a block starts, and a keyed hash of your IP address. Sella never stores the address itself.

A radiograph of your own, loaded in Trace your own, is different in kind: it is never uploaded, and no request from that page carries it or a coordinate placed on it. It is kept between visits in this browser’s own storage (IndexedDB), on this device only, so the tracing can be picked up again — and “Forget this ceph” deletes that record outright. Clearing the browser’s site data removes it too.

Adding an email is optional and is the only personal detail Sella ever asks for. It is stored to sign you in and for nothing else: no marketing, no analytics profile, no sharing with anyone. A leaderboard never shows it — boards print a username you choose, or a generated handle if you would rather. Deleting the account deletes the address with everything else.

Clearing this browser’s data does not delete the account. It deletes the cookie, which is the only way back into it — the rows stay in the database until they age out of the table below, and no one, including you, can reach them again. An account with an email on it can be signed into from anywhere and deleted from Profile, which is most of the reason to add one.

How long each kind of record is kept
WhatKept for
Trial coordinates and attempts — what you placed, and when2 years, or until the account is deleted
Your email address, if you add one, and the handle shown on leaderboardsUntil you delete the account
An unused sign-in link15 minutes
The keyed hash of your IP address, kept on an attempt30 days
Retry (idempotency) records24 hours
Rate-limit counters1 hour
Error reports, if an error-reporting service is ever configured30 days

Error reports are listed because the code that would send them is in the app. No error-reporting service is configured today, so nothing is being sent at all.

Typefaces

Outfit (OFL-1.1) · IBM Plex Mono (OFL-1.1). Self-hosted; the licences ship alongside the files. Outfit sets everything that is words; IBM Plex Mono sets everything that is a number.