Medical AI lab · Scanner shift
Scanner shift in medical imaging: interactive demo
Scanner shift is the drop in performance when an imaging model meets images from a scanner, protocol or site that differs from its training data. The anatomy is the same, but contrast, brightness and noise are not. In this demo a simple lesion segmentation is tuned on synthetic images from scanner A and then applied to the same anatomy as scanner B would record it, so you can watch Dice fall as B’s contrast and noise move away from A’s.
These demos are illustrative. Every signal, image, patient and note is synthetic and fictional, generated and scored in your browser, and every number shown is computed from that synthetic data. They show general principles, not the performance of any real model, product or project, and none of them is a medical device.
Nothing is uploaded. No patient data is used.
Medical imaging AI / domain shift
Tuned on one scanner. Tested on another.
What this shows: a segmentation rule tuned on scanner A fails on scanner B when contrast or noise changes, although the anatomy is identical. Normalising intensities first removes most of the contrast effect, not the noise.
Change scanner B
The model smooths the image and keeps pixels inside an intensity window. The window was chosen to give the best Dice on scanner A.
Same anatomy, two scanners
128 × 128 synthetic sliceBlue: correct lesion pixelsRed: false lesionAmber: missed lesion
Blue: lesion pixels on BAmber: other tissue on BWhite dashed: window learned on A
Synthetic data · illustrative · not a medical device
Imaging models moved between scanners, protocols, vendors or sites. Learned models are far more flexible than this rule, but they can still depend on intensity and noise characteristics of the scanners they were trained on, which is why external, multi-site testing matters.
What this experiment models
A procedural slice: a body outline, two organs, a bright bony structure and an irregular lesion with a brighter core. Scanner A adds fixed Gaussian noise. Scanner B scales contrast around the image mean and adds its own noise. The “model” is a 3 × 3 mean filter followed by an intensity window, grid-searched for the best Dice on scanner A and then frozen. Normalisation, when on, z-scores each image before the window is applied, and the window is re-tuned on normalised scanner A.
The principle
How it works
The image is a procedural slice: a body outline, two organs, a bright bony structure and an irregular lesion with a brighter core. The model smooths the image with a 3 × 3 mean filter and labels every pixel inside an intensity window as lesion. The window is chosen by grid search for the best Dice on scanner A and then frozen, as a trained model’s parameters would be.
Scanner B stretches or compresses the contrast around the image mean and adds its own noise. Lower contrast pulls the lesion’s intensities out of the window and it is missed; higher contrast pushes organ tissue into it and creates false lesions; more noise scatters pixels across the window edges. The histogram shows the lesion and tissue intensities on scanner B against the window learned on A.
Normalising each image’s intensities before segmentation removes the contrast change almost completely, but not the noise. Deep networks are far more flexible than one intensity window, yet they can also depend on the intensity and noise characteristics of their training scanners, so imaging models need testing on data from other scanners and sites. See medical imaging AI.
Medical AI lab
More demos
All six demos on one page: the medical AI labMedical imaging AI →