Label one volume. Publish the record with it.

Nitsor is a 3D annotation tool for CT and MRI that runs in a browser, with a log underneath it. A group of two or three can register a volume, label it, have a second person accept the work, and cut a release that a reviewer can check without downloading the scans. The scans stay in your own storage, on your own grant.

A projection through the whole Me 163 CT volume, taking the brightest value along each ray

Me 163 V5 · projection

256 cubed samplereal scan

What a research group gets

  • A record you can cite

    Every label is saved as one event that names its author, the version of the label list in force, and what it came from. A release ties those events to the data with a hash chain, so a reader can check the record without your scans.

  • A second reader in the log

    Agreement between two people is usually the claim a paper rests on. Here the disagreements stay in the record instead of being smoothed away, and a change reads in millimetres and counts.

  • No per-person cost

    Read-only accounts are free and unlimited, so a supervisor, a collaborator at another lab and a reviewer can all look without a licence conversation. Nothing is charged per label or per study.

Cone-beam CT, and the spacing that trips tools up

Cone-beam scanners fire a cone of X-rays through the sample and catch it on a flat panel, rather than sweeping a thin fan slice by slice. Dental scanners, lab micro-CT benches and most small-animal rigs work this way. The output usually arrives as DICOM, and the workspace treats it as any other volume.

The catch is spacing. In a cone-beam study the distance between slices is often different from the distance between pixels inside a slice. A tool that assumes the two match will draw a shape that looks right and measures wrong. The import keeps the acquisition details, including the spacing along each axis, so a distance on screen is a real distance in millimetres.

We would still rather check your geometry with you than promise it works. Bring one series to the call and we will read the header together and say what we see.

Arrives as
DICOM, from your storage
Kept on import
spacing per axis, acquisition settings
Measured in
millimetres, from the header
Read from
your storage, by signed byte range
Comes out as
a release, with the log and hash chain

The cone-beam scans we test against

Forty-two walnuts were scanned on the FleX-ray cone-beam bench at Centrum Wiskunde en Informatica in Amsterdam, and published for machine-learning research. Each walnut was scanned on three orbits, so the group could reconstruct a clean reference volume to check less complete reconstructions against. The upload holds the raw projection images, the scanning geometry, the reconstruction scripts and the reconstructed volumes.

We use it as an acceptance set: a fixed pile of awkward real data that every change has to keep working on. Each walnut is about 6 GB, roughly 254 GB for the whole collection. Twenty-one of the forty-two archives are on our disk so far, each one checked byte for byte against the checksum published with it. The rest are not fetched yet.

We keep the archives zipped and pull a single slice out of one by asking for a byte range, without unpacking anything. That is exactly what the workspace does against your storage, which is why this collection is a fair test of it.

Cone-Beam X-Ray CT Data Collection Designed for Machine Learning, FleX-ray Lab, CWI. CC BY 4.0, doi:10.5281/zenodo.2686726, published across six records.

Samples
42 walnuts
Orbits per sample
3
Detector
1536 by 1944, 14-bit
On our disk
21 of 42 archives
Checked by
published MD5, byte for byte
Licence
CC BY 4.0

Not on this page. No picture on this site comes from the walnut collection. We hold it, we test against it, and we have not built a viewer for projection data, so showing you a walnut here would be a stage set. Every image on this site is from the Me 163 industrial CT volume or the QIN prostate MRI, both credited in the footer.

Formats and connections

TopicWhat it takes
Volumes inDICOM, read from your own storage. The acquisition settings survive the import, and series stay lined up with each other.
What comes outA release: one file with the label events in order, the people behind them and a hash chain. A reviewer of your paper can check it without your volumes.
Where the data sitsYour own S3-compatible storage. The browser reads the slice it needs through a signed read that expires. We keep an index and a hash.
Big volumesA 512-slice study opens without waiting for the whole file. Bytes arrive as you need them, by range.
Who can writePeople, models and agents each write inside limits you set, and the log names which one wrote. Read-only accounts are free and unlimited.
Citing itA release names the data it came from and the label list in force, so a method section can point at one identifier rather than a folder.

The worked example on this site

The CT on this site is the Fraunhofer EZRT XXL-CT scan of a Me 163 airframe section, subvolume V5, with the dataset's own instance labels. It is an industrial scan rather than a cone-beam one, and it is here because it is published, licensed and hard: hundreds of separate parts, thin sheet metal, and metal artefacts that make boundaries argue.

The three views below are cut through the same volume at right angles to each other, from a 256 cubed sample of it. The projection at the top of the page is that sample seen through, with the dataset's labels in colour. The sample holds 169 labelled parts; two of them wrap most of the scene, so the colour overlay leaves them out and the rest stay readable. The instance names are ours. The masks are the dataset's.

Fraunhofer EZRT XXL-CT Instance Segmentation Me 163, subvolume V5. CC BY 4.0, doi:10.5281/zenodo.10651746.

  • Axial cut through the Me 163 volume sample
    axial real scan
  • Coronal cut through the Me 163 volume sample
    coronal real scan
  • Sagittal cut through the Me 163 volume sample
    sagittal real scan
Source volume
512 slices
In plane
0.33 mm
Step
0.6 mm
Sample shown
256 cubed
Sample spacing
0.66 mm across, 1.2 mm through
Labelled parts
169
Licence
CC BY 4.0

What we do not claim

There is no reconstruction in Nitsor. We do not turn projections into a volume, and we do not correct beam hardening, ring artefacts or scatter. Bring a reconstructed volume, or reconstruct with the tools you already use and bring the result.

We make no compliance claim, and we have no speed multiplier to sell. We have not measured how much faster a group labels with this than without it, so there is no number here.

There is no reconstruction, no scripting interface and no package you can install on your own cluster. If your group works from a Python pipeline, ask on the call what that means for you, and we will answer straight.

Bring one set of scans. Leave with a record.

Thirty minutes on your own scans, on our hosted instance, no slides. If we are not a fit, we say so on the call.