Measuring per-tooth displacement between serial intraoral scans - which modules?

Hi all — I’m a dentist working on a PhD metrology project and I kindly ask for your help to build an efficient protocol for measuring tooth displacement in time.

The data: five surface meshes (STL) of the same mandibular arch, scanned intraorally at different timepoints (baseline, immediately after splinting, then 1, 3 and 6 months). The lower anterior segment (six teeth) is splinted, and I want to measure whether/how it moves over time while treating the posterior teeth as a stable reference.

What I want to measure:

  • Rigid, whole-surface best-fit superimposition (no scaling), registered on the posterior teeth as the stable region.
  • Per-landmark displacement for six anterior points — signed components along vestibulo-oral / mesio-distal / vertical axes (ΔX, ΔY, ΔZ) and the 3D resultant ΔR — not just a scalar surface distance.
  • Each point’s perpendicular deviation from a curve fitted through the six landmarks at baseline (landmarks: incisal-edge midpoints on the incisors, cusp tips on the canines).
  • From 15 repeat scans my method noise is ~0.08 mm, so I’m working close to that limit.

What I’m looking at in Slicer (and where I’d love guidance):

  • Markups for the points, and a Markups Curve for the anterior curve — is that the right way to trace and measure deviation from it?
  • Model Registration / SurfaceToolbox vs. the Model-to-Model Distance extension — which gives me signed per-axis displacement rather than only closest-point distance?
  • SlicerMorph (and ALPACA) for placing/transferring the landmarks consistently across the five timepoints — worth it here, or overkill for six points?

Specific questions:

  1. How do I constrain the best-fit to register on the posterior sub-region while measuring the anterior segment?
  2. What’s the cleanest way to get per-axis (X/Y/Z) components of each landmark’s movement between timepoints?
  3. Automated landmark transfer across scans vs. manual picking — what would you recommend at this scale and precision?
  4. Is there a way to automate the whole process (ex. write a code)?

Screenshot of the marked reference points and the traced anterior curve below.


Any help is appreciated. Many thanks!

1 Like