Skip to content

Technical checks

RTsegmentator separates two questions. Whether an exported RTSTRUCT is geometrically consistent with its source images, and whether a model ran under its documented input contract, are checked by software for every job. Whether a model's contours are anatomically or clinically correct is not, and remains the user's and the model authors' responsibility.

Every export

Check Rule
Grid mapping Masks are restored to the acquired DICOM grid before contours are built. A shifted, cropped, scaled or sheared prediction grid is refused; the affine tolerance is 0.001 mm.
Orientation One lossless orientation contract converts DICOM to NIfTI for every model and records the transform in a .orientation.json sidecar that is packaged with the result.
References Every contour references a SOP instance of the selected series.
Physical bounds Contours lie inside the physical extent of the referenced images.
Round trip Contours are rasterized back onto the source grid and compared with the model mask: Dice ≥ 0.95 and plane tolerance 0.05 voxel.
Labels Auxiliary TotalSegmentator labels are filtered against the task's label map. A label a model predicts outside its published label list is omitted and reported in the conversion notes (for example LNCTVSeg class 7).

Before a model is enabled

External tasks are enabled on a deployment only with recorded orientation evidence for that installation. Report generation and some model families require a separate acceptance marker on the worker that runs them. The catalog keeps disabled tasks visible with the reason, for example orientation_revalidation_pending or requires_registered_pet_ct.

Continuous integration

The test suite runs on every push and pull request with synthetic DICOM data only. It covers upload and assessment, job lifecycle and recovery, RTSTRUCT conversion and geometry checks, viewer geometry on axial, coronal, sagittal and oblique synthetic series, catalog generation, the result manifest and the client. Model inference is not part of continuous integration: it needs licensed weights and a GPU. Browser UI checks run separately with tests/ui_browser_server.py.

What is not established

Passing these checks does not show that a model segments a given anatomy, disease, scanner or protocol correctly. Model-specific evidence, known failure modes and restrictions are recorded in the model ledger. Each result's manifest copies the catalog's licence and limitation fields where they are recorded; the model catalog shows which tasks lack them.