Version 3 is out — the first production model, sealed and shipped

Version 3 is out — the first production model, sealed and shipped
release-notes
medical-imaging
cbct
segmentation
sdk
company
Differentiable Segmentations 3.0.0 is released, on the day we said it would be. What it does, what changed for integrators, how it was built, and how to evaluate it inside your own product.

In July we said version 3 would land on 15 September. Today it has: Differentiable Segmentations 3.0.0 is released, and evaluation packages are available to imaging OEMs now.

This is the release where the SDK ships its first production model. Everything before it — the 2.x line, five betas and four release candidates over the summer — was the engine, the packaging and the discipline around them. Version 3 puts the model inside.

What it is

Differentiable Segmentations is a C++ library that links directly into your imaging or planning application and segments a dental CBCT volume into more than 70 anatomical classes in a single pass — teeth at FDI granularity, individual pulps, jawbone, mandibular canals, maxillary sinuses, pharynx and dental work — in-process, on the workstation's NVIDIA GPU, in less than a minute of inference. It sits behind your viewer, not beside it. The render above is the shipped model's label map on one clinical CBCT, nothing drawn by hand: mandible and maxilla, every tooth its own class, and the inferior alveolar canals where they exit at the mental foramina. Thin labial bone that the scan does not resolve stays unlabelled, so a few root surfaces and apices show through; the bone surface is smoothed and closed for display, the label map itself is untouched.

The teams we have talked to this year described the same problems with what they run today, so here is how version 3 answers each one:

The mandible rendered from the label map, bone and teeth translucent: both inferior alveolar canals in red to the mental foramen, the mandibular incisive canals in orange beyond it, and every pulp chamber and root canal in gold inside its tooth.

Inside the same mandible, bone and teeth drawn translucent: both inferior alveolar canals in red to the mental foramen, the mandibular incisive canals in orange beyond it, and every pulp chamber and root canal in gold inside its own tooth. The structures an implant or endodontic planning workflow needs are classes of their own, not something your team has to derive.

It is a software component, not a finished medical device: our customers, medical-imaging OEMs, are the legal manufacturers of the products that incorporate it.

What changed for integrators

A CBCT volume goes in as NIfTI or your own buffer of floats with its geometry; Differentiable Segmentations runs in your process on the GPU, with no service and no network; a uint16 label map comes out, one id per voxel, in the same geometry as the input.

Integrators who built against the last release candidate do not rebuild: the public headers and the exported symbols are unchanged, and the 3.x line keeps its public API compatible from here.

How it was built

Every one of the nine pre-releases came out of the same automated pipeline, and so did 3.0.0: a suite of more than 930 automated tests, run on Windows and Linux, memory-safety checks as blocking gates, the numerical output checked against an independent reference implementation on every build, an external consumer that links and runs the installed package on every pipeline, a software bill of materials generated and scanned on every build, and a release that refuses to package unless its changelog, its documentation and its artefact names agree. Between the last release candidate and today, the public headers and the exported symbols did not move by a single symbol; what changed is what a customer reads on release day.

That discipline is also what the documentation is for. The 3.0.0 packages carry a user guide written against the shipped product's own messages and numbers, which says where every figure comes from and what the limits are. Alongside it we maintain a security dossier mapped to IEC 62443-4-1/-4-2, ISO/IEC 27001 and the EU Cyber Resilience Act, available to evaluating OEMs under NDA.

What you need to run it

How to evaluate it

A different deployment, or a different language? The in-process C++ library is the product, and where it fits it is the right answer: no service, no port, no round-trip per volume. Some teams cannot start there — the application is not C++, or inference belongs on a shared machine in the practice — so we also ship the same engine as a service, with gRPC and REST interfaces, reference clients in Python, C# and Java, and a container image. Same licence, same model, same result, so you can adopt now and move in-process when you are ready. Tell us which shape fits in the evaluation conversation below.

Version 3 is distributed to OEM teams through our evaluation programme: a paid evaluation licence, the full package, and the integration support to validate fit inside your own environment before a broader commercial agreement. The shape we propose is simple and measurable: your own anonymised volumes, which never pass through us, on your own hardware, against a few criteria agreed in writing before we start — the first one usually being that your application stays responsive while a segmentation is running on the same machine. You judge. Terms and package details stay under NDA. Request an evaluation, and tell us what you are building and what it runs on.

Thank you to everyone who worked through the betas with us. The next milestones are the partnerships we hope to announce at the International Dental Show next year.