Gated Topological Correction of Stripe Artefacts in Brain MRI
Dr Ponraj Asirwadam Paulraj · Prof. Muthu Ramachandran
🩺 The clinical problem
A spike of electrical noise during acquisition (for example from faulty equipment or RF interference) puts a regular stripe pattern across the whole MRI, known as a herringbone or "corduroy" artefact. A radiologist can usually read through it, but automatic tumour-outlining AI often fails: in our tests its average agreement with the expert outline fell from 0.71 on clean scans to as low as 0.16 on strongly striped scans.
🔧 What this tool does
It works like a quality-control check placed before the AI. 1. It checks the scan for a stripe pattern. 2. Only if one is found, it removes the stripe. 3. Then the AI outlines the tumour. If no stripe is found, the scan is left exactly as it is (in our tests, no clean scan was changed).
⚠️ What it is not
Not a diagnostic tool, and not tested on hospital scans yet. The stripes in this demo are added by computer to public research scans (BraTS). The flag says only whether a stripe was found; it does not say whether the AI's tumour outline is correct.
📘 Quick guide — how to use this demo (1 minute)
- Choose a scan (left). Three held-out patients (BRATS_061, 062, 063), each clean and with a simulated stripe at four strengths (0.2, 0.5, 1.0, 2.0). The page opens on BRATS_061, stripe 2.0.
- Read the flag. 🔴 Red: a stripe was found, so the scan is corrected before the AI runs. 🟢 Green: no stripe found, so the scan is used as it is.
- Move the slider to go through the brain slice by slice. Left: the input scan. Right: after correction. Yellow: the tumour found by the AI (untick the box to see the plain scan).
- Check the numbers. Tumour volume before → after. Dice is the agreement with the expert's tumour outline: 1 = perfect, 0 = no overlap.
- Suggested tour: BRATS_063 clean (green, nothing changes) → BRATS_063 stripe 0.2 (even a weak stripe is caught) → BRATS_061 stripe 2.0 (Dice 0.31 → 0.53) → BRATS_062 (a hard case: the AI reaches only 0.48 even on the clean scan) → Roadmap at the bottom.
Keep in mind: all stripes are simulated; no hospital scans were used. The flag says whether a stripe was found, not whether the AI's tumour outline is correct.
The flag says whether a stripe artefact was found and corrected. It does not say whether the AI segmentation is correct. Threshold fitted on 12 training volumes; on 30 held-out volumes the flag fired on no clean scan and on every simulated stripe.
Before correction — input scan
After correction
How is this different from existing methods?
| Existing methods | This method |
|---|---|
| Need training. A new network is trained to remove the artefact (e.g. Rios-Perez et al., 2026). | No training. It works in front of any existing AI model, without changing or retraining it. |
| Correct every scan, which can damage clean scans. | A gate decides first and corrects only scans with a stripe. In our tests, correcting without the gate lowered the AI's accuracy on 25 of 30 clean scans; with the gate, all 30 clean scans were left untouched. |
| Judged by image quality (how clean the picture looks). | Judged by the AI's result (tumour Dice), which had not been tested for this artefact before. |
| A conventional spike detector raised false alarms on up to 87% of scans with other problems (noise, motion, bias field). | No false alarm on 180 such scans. |
To be clear: the repair step itself is not new; a simple notch filter repairs about as well. What is new is the gate and the testing by segmentation result. All artefacts are simulated.
🧮 How the topological check works (with pictures)
- Look at each voxel together with its neighbours. A voxel is one small cube of the 3D scan (1 mm³). Each voxel is compared with the 26 voxels touching it: 9 in the slice above, 8 in the same slice and 9 in the slice below.
- Ask: does this voxel "belong" with its neighbours? This is the topology idea. In healthy tissue, and at normal tissue edges, a voxel's brightness stays within the range of its neighbourhood: it is connected to its local group. A stripe artefact pushes voxels outside that range, so they lose this connection. One neighbour is always allowed to be extreme, because a stripe can hit a neighbour too, so the most extreme neighbour is ignored.
- Measure how far outside it is (the value Ξ, "xi"). In the example below the voxel is 520. Ignoring the brightest neighbour (530), the next brightest is 478. So Ξ = 520 − 478 = 42: the voxel is brighter than almost all its neighbours. A voxel inside its neighbours' range gets Ξ ≤ 0.
- Mark the 10% of voxels with the highest Ξ.
- Check whether the marked voxels form a regular pattern. In a clean scan they are scattered, mostly along normal tissue edges. In a striped scan they line up in regular bands. A Fourier transform turns "regular bands" into a few sharp bright peaks, and the artefact score measures how much of the energy sits in those peaks.
- Decide. Score above 0.367 → stripe: those few peak frequencies are removed from the scan, then the AI runs. Score at or below 0.367 → the scan is not touched.
For the technical reader: the criterion comes from generalized topology (hereditary classes and hyperconnectedness): a voxel that breaks the connectedness of its intensity neighbourhood is an artefact candidate. In the code it is computed with simple rank filters (the 2nd largest and 2nd smallest neighbour), so it is fast and needs no training. The topology explains why those ranks are used; it adds no extra computation.
Related recent work
- Rios-Perez et al. (2026), Journal of Imaging 12(4):153 — the closest work: the same periodic (herringbone) artefact in brain MRI, removed with a trained wavelet-attention U-Net. doi:10.3390/jimaging12040153
- Mielcarz et al. (2026), arXiv:2608.06613 — shows that 3D medical foundation models are also affected by k-space spikes; no correction proposed. arXiv
- Campbell-Washburn et al. (2016), Magnetic Resonance in Medicine 75(6):2517–2525 — robust-PCA despiking; needs the raw k-space data, which is usually not stored. Our method works on the normal image.
Glossary — terms used on this page
- FLAIR
- The MRI sequence used here. The tumour and the swelling (oedema) around it appear bright.
- Yellow area (segmentation)
- The tumour region outlined automatically by the AI: the whole tumour, including the surrounding oedema, as seen on FLAIR.
- Stripe artefact
- A false regular pattern of light and dark bands, not part of the patient's anatomy. Here it is simulated at four strengths: 0.2 (faint), 0.5, 1.0 and 2.0 (very strong).
- Dice score
- How much the AI's outline overlaps the expert's manual outline (BraTS reference, approved by neuroradiologists). 1 = identical, 0 = no overlap. As a rough guide: above 0.8 good, 0.5–0.8 moderate, below 0.5 poor.
- Tumour volume (mL)
- The size of the yellow area. Each voxel is 1 mm³, so 1,000 voxels = 1 mL.
- Artefact score and threshold
- A number for how strong a regular stripe pattern is in the scan. Above 0.367 the scan is treated as striped. The 0.367 was set on 12 training scans only, never on the scans shown here.
- Held-out scans
- Scans the AI never saw during training (BRATS_061, 062, 063 are the first three of 30 such scans), so the results are a fair test.
- U-Net
- A standard type of AI model for outlining structures in medical images. Ours is the MONAI 3D U-Net, trained on 60 public scans.
Roadmap: from public data to hospital scans (not yet done)
This demo uses the public BraTS-derived data, already converted, skull-stripped and aligned. Hospital scans need the standard steps first:
DICOM → NIfTI (dcm2niix) → select FLAIR → skull stripping (e.g. HD-BET or SynthStrip) → align to 1 mm (BraTS pre-processing) → our gated topological correction → any segmentation model (this U-Net, or a stronger one such as nnU-Net).
The correction works on the image before the model, so it does not depend on this U-Net. On hospital data the artefact threshold would be re-fitted on clean local scans with the same rule. None of this has been validated on hospital scans yet; that is the planned next step with clinical partners.