Automatic Tooth Segmentation in 3D Slicer (DentalSegmentator)

This guide is for dental researchers, orthodontic and maxillofacial teams, lab technicians and students who want a 3D model of the teeth and jaws from a CBCT scan without tracing every slice by hand.

The short answer: DentalSegmentator is a free extension for 3D Slicer, installed from Slicer’s own Extension Manager rather than downloaded separately. You load a CT or CBCT volume, click Apply, and it returns five segments: maxilla and upper skull, mandible, upper teeth, lower teeth and the mandibular canal. The teeth come as two groups, not as single teeth. You then correct the result in the Segment Editor and export STL. 3D Slicer is not approved for clinical use, so treat the output as research, teaching and model-making material.

DentalSegmentator at a glance

ItemDetails
What it is3D Slicer extension for fully automatic segmentation of dental CT and CBCT volumes, based on the nnU-Net framework
OutputFive segments: Maxilla & Upper Skull, Mandible, Upper Teeth, Lower Teeth, Mandibular canal
LicenceFree and open source: extension code under Apache 2.0, model weights under Creative Commons Attribution 4.0
Requires3D Slicer 5.8.0 or later (current stable is 5.12.4) on Windows, macOS or Linux
Training data470 dento-maxillofacial CT and CBCT scans; evaluated on 256 held-out scans from 7 institutions (figures from the project’s documentation)
HardwareFastest on an NVIDIA GPU with CUDA; runs on CPU, but slowly. The project recommends 32 GB of RAM
ExportSTL, OBJ, NIfTI and glTF from the module’s own export menu
Clinical statusResearch use; 3D Slicer states it is not approved for clinical use

Step 1: Install 3D Slicer and the extension

  1. Install the current stable release of 3D Slicer. On Windows, install it to a path that contains only English ASCII characters, otherwise the Python packages used by extensions may fail to load.
  2. Open the Extension Manager, type “DentalSegmentator” in the search bar and install it. The extension depends on the NNUNet extension, so let the Extension Manager install that as well.
  3. Restart Slicer. The module now appears under Segmentation > DentalSegmentator, and you can also find it with the module search button.

Extensions are built for each Slicer release, so after a Slicer update reinstall DentalSegmentator from the new version’s Extension Manager.

Step 2: Load a scan and run the segmentation

  1. Load a dental CT or CBCT by dragging the folder into Slicer or with the DATA or DCM buttons. To practise without patient data, open the Sample Data module and load one of the “CBCT Dental Surgery” volumes.
  2. Switch to the DentalSegmentator module and choose the volume in the first drop-down menu.
  3. Pick the device. The menu offers cuda, cpu and mps; if the device you select is not available, the module tells you and falls back to CPU.
  4. Click Apply. Progress is reported in the console log, and the Stop button cancels the run.

The first run takes much longer than later ones because the module installs its dependencies: the AI model weights, PyTorch and nnU-Net v2. If no CUDA-capable GPU is present, a dialog warns that processing may be very long and asks for confirmation before starting.

Step 3: Check and correct the result

When the run finishes, the five segments are loaded into the scene and shown in 3D. The module removes small disconnected islands from every segment except the mandibular canal, but the result still needs a human check.

  • Scroll through the axial slices with the segment outlines visible. Pay most attention to areas near metal restorations and implants, to thin bone, and to the course of the mandibular canal.
  • Open the Segment Editor to fix errors. Paint and Erase handle small corrections, Scissors cuts away stray fragments in 2D or 3D, and Islands removes leftover pieces.
  • Use the Surface smoothing slider in the module to control how strongly the 3D surface is smoothed. Heavy smoothing rounds off cusps and thin bone edges, so keep it low for models that must fit something.

Step 4: Separate individual teeth

DentalSegmentator labels all upper teeth as one segment and all lower teeth as another. If you need tooth 30 as its own model, you have three options.

  • Split by hand. In the Segment Editor, the Islands effect has a “Split islands to segments” operation that turns unconnected pieces into separate segments. It works only where teeth do not touch in the segmentation; where contacts are tight, cut between the teeth with Scissors first.
  • Use the batch module in Automated Dental Tools. This second free extension, from the DCBIA OrthoLab group, includes a BatchDentalSegmentator module with several models. According to its documentation, the UniversalLabeling model produces the same structures as DentalSegmentator but gives each tooth its own label, and a pediatric model was trained on 513 CBCT scans that include primary teeth.
  • Segment one tooth manually. For a single tooth, a Threshold mask refined with Paint and Scissors is often quicker than repairing an automatic result. ITK-SNAP is a lighter alternative for this kind of focused manual and semi-automatic work, although it has no dental-specific models.

Step 5: Export STL for printing or CAD

  1. Open the Export segmentation menu in the DentalSegmentator module.
  2. Tick the formats you need. STL is selected by default; OBJ, NIfTI and glTF are also offered. The glTF option relies on the SlicerOpenAnatomy extension.
  3. Choose a folder; the module confirms when the export is done.

You can also export from Slicer’s Segmentations module, which has its own “Export to files” section for STL and OBJ. If you only need a quick bone model from density thresholds and no AI, InVesalius is simpler to learn; see our comparison of free dental implant planning software for where each tool fits in a planning workflow.

Troubleshooting the common failures

  • Windows does not use the GPU. The project notes that the CUDA build of PyTorch is sometimes not detected. Open the PyTorch Utils extension, uninstall PyTorch and reinstall it with the computation backend that matches your hardware. nnU-Net needs a PyTorch version above 2.0.0.
  • Mac runs on CPU. The project states that GPU acceleration is not available on Mac devices for now because of an open PyTorch issue. Expect long processing times.
  • Linux or WSL hangs at “done with volume”. This means the process ran out of memory. The documented fix is a 16 GB swap file on an SSD, or more RAM.
  • Weights fail to download. The model archive can be taken from the project’s release page and unzipped into the module’s Resources/ML folder by hand; the project’s documentation describes the exact steps.

Limitations

  • 3D Slicer is not approved for clinical use, and DentalSegmentator makes no regulatory claim. Do not use the output on its own for diagnosis or surgical decisions.
  • Teeth are segmented as two groups. Individual tooth labels need manual splitting or a different model.
  • It segments the anatomy listed above and nothing else: no caries, lesions, restorations, airway or soft tissue.
  • Without an NVIDIA GPU, a run can take a long time, and the first run downloads large dependencies.
  • Accuracy figures come from the developers’ own test set. Scans with heavy metal artefacts, unusual anatomy or very low dose can still fail, so every result must be checked slice by slice.

FAQ

Where do I download DentalSegmentator for 3D Slicer?

There is no separate installer. Install 3D Slicer 5.8.0 or later, open the Extension Manager, search for “DentalSegmentator”, install it and restart Slicer.

Can 3D Slicer segment individual teeth automatically?

DentalSegmentator itself returns upper teeth and lower teeth as two segments. For one label per tooth, use the UniversalLabeling model in the BatchDentalSegmentator module of Automated Dental Tools, or split the teeth manually in the Segment Editor.

Is DentalSegmentator free?

Yes. The extension is open source under the Apache 2.0 licence, the pretrained model is published under Creative Commons Attribution 4.0, and 3D Slicer is free under a BSD-style licence.

What is the difference between DentalSegmentator and Automated Dental Tools?

DentalSegmentator is a single-purpose module that segments one scan at a time into five structures. Automated Dental Tools is a larger extension with segmentation, landmark identification, orientation and registration modules, including a batch version of DentalSegmentator with extra models.

Can I plan dental implants in 3D Slicer after segmentation?

Slicer has no dedicated implant planning or guide design workflow. Use it to produce the bone, teeth and nerve canal models, then move to planning software such as Blue Sky Plan, which is shareware (conditionally free).

ITK-SNAP or 3D Slicer for tooth segmentation?

Use 3D Slicer when you want a fully automatic result for both jaws, because the dental models exist only as Slicer extensions. Use ITK-SNAP when you need to outline one tooth or lesion carefully by hand and prefer a smaller program.

Last updated: 1 October 2026 · DentIIT editorial team. Licence, version and platform details are checked against each developer's official documentation; none of the tools listed here should be treated as a certified medical device unless its vendor says so.

More Dental Software News

Submit your application