DrivenData · DaT Parkinson's Challenge · 2026

DaT SPECT Abnormality Classification

A 3D CNN ensemble with striatal binding-ratio features

Aissam Djahnine · team Mobarmij

0.9379
AUROC on the private leaderboard
59th
of 1,009 participants
0.3054
private log loss
5
model families fused
Normal and abnormal DaT SPECT brain scans shown in axial, coronal, and sagittal views
One normal and one abnormal DaT SPECT scan. Select the figure to view it at full resolution.

Abstract

Dopamine-transporter (DaT) SPECT imaging supports the diagnosis of parkinsonian syndromes, and the task is to classify each scan as normal or abnormal from the image alone. We built an end-to-end pipeline for the DrivenData DaT Parkinson's Challenge, which scores predictions by log loss on scans from several hospitals and scanner types.

Each scan is preprocessed on its own: masked, centred on the striatum and normalized by its own non-specific reference level, since intensities are not comparable across sites. Four CNN families (DatNet, a Siamese hemisphere model, SliceNet and a MedicalNet ResNet-10) are averaged and fused in logit space with a LightGBM model on 20 striatal binding-ratio features. All model selection uses site-grouped cross-validation.

The final submission reached an AUROC of 0.9379 and a private log loss of 0.3054, ranking 59th of 1,009 participants.

Keywords: DaT SPECT · Parkinson's disease · 3D CNN ensemble · striatal binding ratio · domain shift

Method

  1. Preprocess each scan on its own. Decode, mask and centre on the striatum, then divide by the scan’s own non-specific reference level, since intensity is not comparable across sites.
  2. Two grids. Resample to 96³ for the CNNs and 64³ for the binding-ratio head.
  3. Four CNN families. DatNet (3D CNN), a Siamese hemisphere comparison, SliceNet (2.5D) and a MedicalNet-initialised ResNet-10.
  4. Fuse. Average the CNNs and combine them with a LightGBM model on 20 striatal-binding-ratio features, weighted 0.8 to 0.2 in logit space.

Table 1: Out-of-fold log loss per model family (lower is better)

FamilyArchitectureCheckpointsOOF log loss
DatNet3D CNN with stride-3 stem150.2694
SiameseShared-weight hemisphere comparison150.2740
MedicalNetResNet-10, MedicalNet initialisation150.2833
SliceNet2.5D slice encoder150.2917
SBR headLightGBM on 20 striatal-binding-ratio features150.4404
Scanner metadata alone reaches AUROC 0.726 under random folds but only 0.533 under site-grouped folds, so every number here uses site-grouped cross-validation.

Data

Table 2: Challenge data.

ItemValue
Training scans1,362 (747 abnormal, 615 normal)
SourcesSeveral hospitals and scanner types
Public leaderboard splitabout 145 scans
MetricLog loss
Participants1,009

Scanner metadata alone gives an AUROC of 0.726 under random folds but 0.533 under site-grouped folds: random folds leak site information, so all reported numbers use grouped cross-validation.

Results

Table 3: Log loss by submission (lower is better)

SubmissionGrouped CVPublicPrivate
008a (base)0.24720.26530.3054
011 (+ count-noise augmentation)0.24480.2665—
012 (+ 50-feature SBR head)0.24260.2702—

Key findings

  • Final standing: the 008a submission ranked 59th on the private leaderboard with AUROC 0.9379.
  • CV vs leaderboard: each later model improved cross-validation but scored worse on the public leaderboard.
  • Every member counts: removing the weakest member, the binding-ratio head, costs 0.0055 log loss.
  • No calibration: cross-fitted temperature scaling measured worse, so none is applied.

Code

The full pipeline, training recipes and figures are on GitHub, with the final submission tagged as release v1.0.

More research