BCa U-Net3D BraTS 2020 Segmentation¶

FileCopyrightText: Copyright (C) 2022 Ebtihal Alwadee AlwadeeEJ@cardiff.ac.uk, PhD student at Cardiff University
FileCopyrightText: Copyright (C) 2022-2023 Frank C Langbein frank@langbein.org, Cardiff University

License-Identifier: AGPL-3.0-or-later

We consider the BraTS 20202 dataset to explore the performance of a simple 3D UNet architecture for cancer segmentation. We test the same architecture across a range of input/output combinations, for whole tumour segmentation and segmenting various tumour regions. The purpose is to establish a baseline for performance evaluations and acquire some basic information about which MRI modality are best suited for the different tasks.

In [1]:
%load_ext autoreload
%autoreload 2
%matplotlib inline

import os
In [2]:
%%html
<style>
.dataframe th { font-size: 11px; }
.dataframe td { font-size: 11px; }
</style>

BraTS2020 Dataset¶

This dataset contains t1, t1ce, t2, and flair MRI data. We use a version where the images are cropped to the bounding box across all modalities (later scaled to 128x128x128) and one cropped to a fixed 128x128x128 cube (for some limited test).

In [3]:
# We assume https://qyber.black/ca/brainca-dev/code-bca is cloned into bca in the top folder
# This has been registered as a sub-module.
from bca.bca.dataset import Dataset

# Setup dataset
set="TrainingData"
##set="Small" # Smaller subset of the BraTs2020 dataset; for testing only

# Bounding-box cropped dataset - we use this for most experiments later
ds_bb = Dataset(os.path.join("data","brats2020","MICCAI_BraTS2020_"+set),    # Dataset folder - brought in via a git submodule (not public, so replace as needed for repeats)
                os.path.join("results","brats2020","MICCAI_BraTS2020_"+set)) # Results folder
ds_bb.crop_to_bb()

# Fixed crop dataset - only used to compare, briefly
ds_fi = Dataset(os.path.join("data","brats2020","MICCAI_BraTS2020_"+set),    # Dataset folder (see above)
                os.path.join("results","brats2020","MICCAI_BraTS2020_"+set)) # Cache folder
ds_fi.crop((56,184), (56,184), (13,141))

# Show bounding-box cropped dataset info and slices.
print(ds_bb)
ds_bb.browse()
# Dataset: data/brats2020/MICCAI_BraTS2020_TrainingData [369 patients]
Cache: results/brats2020/MICCAI_BraTS2020_TrainingData
Channels (patient BraTS20_Training_001):
  flair: (240, 240, 155) (int16)
  seg: (240, 240, 155) (uint8)
  t1: (240, 240, 155) (int16)
  t1ce: (240, 240, 155) (int16)
  t2: (240, 240, 155) (int16)
Crop: bounding-box

interactive(children=(IntSlider(value=185, description='idx', max=369, min=1), IntSlider(value=78, description…

UNet3D with Dice Loss¶

We use a standard 3D UNet with few filters in encoder and decoder (due to memory) across all input/output and datset options.

In [4]:
from bca.bca.unet import UNet3D
from bca.bca.trainer import Trainer, dsc_loss, dsc, iou
import tensorflow.keras as keras

model =  UNet3D(name="UNet3D_dice",
                enc=[{"filters": 16},
                     {"filters": 32},
                     {"filters": 64},
                     {"filters":128, "kernel_regularizer":keras.regularizers.l2(0.02)},
                     {"filters":256, "kernel_regularizer":keras.regularizers.l2(0.02), "max_pooling":None}],
                dec=[{"filters":128},
                     {"filters": 64},
                     {"filters": 32, "kernel_regularizer":keras.regularizers.l2(0.02)},
                     {"filters": 16, "kernel_regularizer":keras.regularizers.l2(0.02)}],
                loss=dsc_loss,
                metrics=[dsc,iou])
# Plot model structure for single output map; we need to fix an input shape to be able to do this.
# First part is shape of input, last entry in tuple is number of classes.
model.plot((128,128,128,4,1))
Segmentation Models: using `tf.keras` framework.
No description has been provided for this image

Experiments¶

We use a 5-fold cross-validation to explore model performance over a range of inputs and segmentation targets defined below. Each dataset is split identical using a seed.

Note, the preprocessed data (cropped according to the dataset version, scaled to 128x128x128, normalised to $[0,1]$) is not stored in the repo and will be recreated if the notebook is executed.

In [5]:
def setup(ds, inp_chs, out_chs):
    # Setup training run for input/output channels inp_chs, out_chs for the dataset ds.
    # See specification in the runs dict below.
    
    # Parameters fixed across all runs
    K = 5                      # 5-fold cross validation
    EPOCHS = 500               # 500 epochs
    SEED = 8120341116777169704 # Seed for dataset 5-fold split
    BATCH_SIZE = 4             # Batch size for training

    # Generate a list of K keras (train,test)-pair sequences for dataset splits
    seqs = ds.sequences(K, (128,128,128), inp_chs, out_chs,
                        batch_size=BATCH_SIZE, pre_proc=Dataset.norm_minmax, seed=SEED)

    # Setup trainer for the model/data
    trainer = Trainer(model, epochs=EPOCHS)
    # We run this with a slurm scheduler later, so this just sets up the training task, and
    # does not execute training (it would run the training if remote=False here immediately).
    results = trainer.train(seqs, jit_compile=True, remote=True)

    return trainer, seqs

import numpy as np

# Functions mapping output of network to standardised output

# Default function acting as simple threshold only; we set the name via lambda below

def std_eval(name, P, Y):
  p = np.where(P[0] >= 0.5, 1.0, 0.0).astype(np.float32)
  return { name: [p, Y[0]] }

# Specifically for the nested architectures below to map nested regions to individual regions

def std_eval_124_14_1(P,Y):
  P[0] = np.where(P[0] >= 0.5, 1.0, 0.0).astype(np.float32)
  r = {
    'whl': [P[0][0,...,0],               Y[0][0,...,0]],               # Labels 1,2,4
    'ede': [P[0][0,...,0]-P[0][0,...,1], Y[0][0,...,0]-Y[0][0,...,1]], # Label 2
    'enh': [P[0][0,...,1]-P[0][0,...,2], Y[0][0,...,1]-Y[0][0,...,2]], # Label 4
    'nec': [P[0][0,...,2],               Y[0][0,...,2]],               # Label 1
    'cor': [P[0][0,...,1],               Y[0][0,...,1]]                # Labels 1, 4
  }
  for k in ['ede', 'enh']:
    r[k] = [np.expand_dims(np.where(r[k][0] >= 0.5, 1.0, 0.0).astype(np.float32), axis=(0,4)),
            np.expand_dims(np.where(r[k][1] >= 0.5, 1.0, 0.0).astype(np.float32), axis=(0,4))]
  for k in ['whl', 'nec', 'cor']:
    r[k] = [np.expand_dims(r[k][0], axis=(0,4)),
            np.expand_dims(r[k][1], axis=(0,4))]
  return r

def std_eval_124_14(P,Y):
  P[0] = np.where(P[0] >= 0.5, 1.0, 0.0).astype(np.float32)
  r = {
    'whl': [P[0][0,...,0],               Y[0][0,...,0]],               # Labels 1,2,4
    'ede': [P[0][0,...,0]-P[0][0,...,1], Y[0][0,...,0]-Y[0][0,...,1]], # Label 2
    'cor': [P[0][0,...,1],               Y[0][0,...,1]]                # Labels 1, 4
  }
  for k in ['ede']:
    r[k] = [np.expand_dims(np.where(r[k][0] >= 0.5, 1.0, 0.0).astype(np.float32), axis=(0,4)),
            np.expand_dims(np.where(r[k][1] >= 0.5, 1.0, 0.0).astype(np.float32), axis=(0,4))]
  for k in ['whl', 'cor']:
    r[k] = [np.expand_dims(r[k][0], axis=(0,4)),
            np.expand_dims(r[k][1], axis=(0,4))]
  return r

def std_eval_124_2(P,Y):
  P[0] = np.where(P[0] >= 0.5, 1.0, 0.0).astype(np.float32)
  r = { 
    'whl': [P[0][0,...,0],               Y[0][0,...,0]],               # Labels 1,2,4
    'ede': [P[0][0,...,1],               Y[0][0,...,1]],               # Label 2
    'cor': [P[0][0,...,0]-P[0][0,...,1], Y[0][0,...,0]-Y[0][0,...,1]]  # Labels 1, 4
  }
  for k in ['cor']:
    r[k] = [np.expand_dims(np.where(r[k][0] >= 0.5, 1.0, 0.0).astype(np.float32), axis=(0,4)),
            np.expand_dims(np.where(r[k][1] >= 0.5, 1.0, 0.0).astype(np.float32), axis=(0,4))]
  for k in ['whl', 'ede']:
    r[k] = [np.expand_dims(r[k][0], axis=(0,4)),
            np.expand_dims(r[k][1], axis=(0,4))]
  return r
    
def std_eval_1_4_2(P,Y):
  P[0] = np.where(P[0] >= 0.5, 1.0, 0.0).astype(np.float32)
  r = {
    'whl': [P[0][0,...,0]+P[0][0,...,1]+P[0][0,...,2], Y[0][0,...,0]+Y[0][0,...,1]]+Y[0][0,...,2], # Labels 1,2,4
    'ede': [P[0][0,...,2],                             Y[0][0,...,2]],                             # Label 2
    'enh': [P[0][0,...,1],                             Y[0][0,...,1]],                             # Label 4
    'nec': [P[0][0,...,0],                             Y[0][0,...,0]],                             # Label 1
    'cor': [P[0][0,...,0]+P[0][0,...,1],               Y[0][0,...,0]]+Y[0][0,...,1]                # Labels 1, 4
  }
  for k in ['whl', 'cor']:
    r[k] = [np.expand_dims(np.where(r[k][0] >= 0.5, 1.0, 0.0).astype(np.float32), axis=(0,4)),
            np.expand_dims(np.where(r[k][1] >= 0.5, 1.0, 0.0).astype(np.float32), axis=(0,4))]
  for k in ['ede', 'enh', 'nec']:
    r[k] = [np.expand_dims(r[k][0], axis=(0,4)),
            np.expand_dims(r[k][1], axis=(0,4))]
  return r

def std_eval_14_2(P,Y):
  P[0] = np.where(P[0] >= 0.5, 1.0, 0.0).astype(np.float32)
  r = {
    'whl': [P[0][0,...,0]+P[0][0,...,1], Y[0][0,...,0]+Y[0][0,...,1]], # Labels 1,2,4
    'ede': [P[0][0,...,1],               Y[0][0,...,1]],               # Label 2
    'cor': [P[0][0,...,0],               Y[0][0,...,0]]                # Labels 1, 4
  }
  for k in ['whl']:
    r[k] = [np.expand_dims(np.where(r[k][0] >= 0.5, 1.0, 0.0).astype(np.float32), axis=(0,4)),
            np.expand_dims(np.where(r[k][1] >= 0.5, 1.0, 0.0).astype(np.float32), axis=(0,4))]
  for k in ['ede', 'cor']:
    r[k] = [np.expand_dims(r[k][0], axis=(0,4)),
            np.expand_dims(r[k][1], axis=(0,4))]
  return r

# Dataset input/output options to create keras sequences for training.
# These are all options analysed in groups after training / evaluation.
# Dict: "NAME": DATASET, INPUT, OUTPUT, STD_EVAL (standardise output for evaluation, if needed)
runs = {
    # Whole tumour with single modality
    "bb_whole_t1":               [ds_bb,  ["t1"],    ["seg+1+2+4"], lambda P, Y : std_eval("whl", P, Y)],
    "bb_whole_t1ce":             [ds_bb,  ["t1ce"],  ["seg+1+2+4"], lambda P, Y : std_eval("whl", P, Y)],
    "bb_whole_t2":               [ds_bb,  ["t2"],    ["seg+1+2+4"], lambda P, Y : std_eval("whl", P, Y)],
    "bb_whole_flair":            [ds_bb,  ["flair"], ["seg+1+2+4"], lambda P, Y : std_eval("whl", P, Y)],

    # Whole tumour with two modalities
    "bb_whole_flair+t2":         [ds_bb, ["flair","t2"], ["seg+1+2+4"], lambda P, Y : std_eval("whl", P, Y)],

    # Whole tumour with three modalities
    "bb_whole_flair+t1+t2":      [ds_bb, ["flair","t1","t2"],   ["seg+1+2+4"], lambda P, Y : std_eval("whl", P, Y)],
    "bb_whole_flair+t1ce+t2":    [ds_bb, ["flair","t1ce","t2"], ["seg+1+2+4"], lambda P, Y : std_eval("whl", P, Y)],

    # Whole tumour with four modalities
    "bb_whole_flair+t1+t1ce+t2": [ds_bb, ["flair","t1","t1ce","t2"], ["seg+1+2+4"], lambda P, Y : std_eval("whl", P, Y)],

    # Whole tumour with fixed crop instead of bounding box
    "fi_whole_flair+t1+t1ce+t2": [ds_fi, ["flair","t1","t1ce","t2"], ["seg+1+2+4"], lambda P, Y : std_eval("whl", P, Y)],

    # Necrotic/non-enhancing tumour with single modality
    "bb_necrotic_t1":     [ds_bb, ["t1"],    ["seg+1"], lambda P, Y : std_eval("nec", P, Y)],
    "bb_necrotic_t1ce":   [ds_bb, ["t1ce"],  ["seg+1"], lambda P, Y : std_eval("nec", P, Y)],
    "bb_necrotic_t2":     [ds_bb, ["t2"],    ["seg+1"], lambda P, Y : std_eval("nec", P, Y)],
    "bb_necrotic_flair":  [ds_bb, ["flair"], ["seg+1"], lambda P, Y : std_eval("nec", P, Y)],

    # Enhancing tumour with single modality
    "bb_enhancing_t1":    [ds_bb, ["t1"],    ["seg+4"], lambda P, Y : std_eval("enh", P, Y)],
    "bb_enhancing_t1ce":  [ds_bb, ["t1ce"],  ["seg+4"], lambda P, Y : std_eval("enh", P, Y)],
    "bb_enhancing_t2":    [ds_bb, ["t2"],    ["seg+4"], lambda P, Y : std_eval("enh", P, Y)],
    "bb_enhancing_flair": [ds_bb, ["flair"], ["seg+4"], lambda P, Y : std_eval("enh", P, Y)],

    # Peritumoural edema with single modality
    "bb_edema_t1":        [ds_bb, ["t1"],    ["seg+2"], lambda P, Y : std_eval("ede", P, Y)],
    "bb_edema_t1ce":      [ds_bb, ["t1ce"],  ["seg+2"], lambda P, Y : std_eval("ede", P, Y)],
    "bb_edema_t2":        [ds_bb, ["t2"],    ["seg+2"], lambda P, Y : std_eval("ede", P, Y)],
    "bb_edema_flair":     [ds_bb, ["flair"], ["seg+2"], lambda P, Y : std_eval("ede", P, Y)],
  
    # Core (Necrotic/non-enhancing + enhancing tumour) with single modality
    "bb_core_t1":         [ds_bb, ["t1"],    ["seg+1+4"], lambda P, Y : std_eval("cor", P, Y)],
    "bb_core_t1ce":       [ds_bb, ["t1ce"],  ["seg+1+4"], lambda P, Y : std_eval("cor", P, Y)],
    "bb_core_t2":         [ds_bb, ["t2"],    ["seg+1+4"], lambda P, Y : std_eval("cor", P, Y)],
    "bb_core_flair":      [ds_bb, ["flair"], ["seg+1+4"], lambda P, Y : std_eval("cor", P, Y)],

    # Nested/separated prediction of all regions with four modalities
    "bb_nested_flair+t1+t1ce+t2":       [ds_bb, ["flair","t1","t1ce","t2"], ["seg+1+2+4","seg+1+4","seg+1"], std_eval_124_14_1],
    "bb_nestedCore_flair+t1+t1ce+t2":   [ds_bb, ["flair","t1","t1ce","t2"], ["seg+1+2+4","seg+1+4"],         std_eval_124_14],
    "bb_nestedEdema_flair+t1+t1ce+t2":  [ds_bb, ["flair","t1","t1ce","t2"], ["seg+1+2+4","seg+2"],           std_eval_124_2],
    "bb_separate_flair+t1+t1ce+t2":     [ds_bb, ["flair","t1","t1ce","t2"], ["seg+1","seg+4","seg+2"],       std_eval_1_4_2],
    "bb_separateCore_flair+t1+t1ce+t2": [ds_bb, ["flair","t1","t1ce","t2"], ["seg+1+4","seg+2"],             std_eval_14_2],
    
    # Nested prediction of all regions with two/three modalities
    "bb_nested_flair+t1ce":             [ds_bb, ["flair","t1ce"],           ["seg+1+2+4","seg+1+4","seg+1"], std_eval_124_14_1],
    "bb_nested_flair+t1ce+t2":          [ds_bb, ["flair","t1ce","t2"],      ["seg+1+2+4","seg+1+4","seg+1"], std_eval_124_14_1]
}

# Generate the dataset and trainers for each dataset option.
# This generates the cropped/scaled/normalised cached samples for training,
# and sets the trainers up for running with the scheduler later.
trainers = {}
seqs = {}
for r in runs:
    print(f"# {r}: in {runs[r][1]} - out {runs[r][2]}")
    trainers[r], seqs[r] = setup(runs[r][0], runs[r][1], runs[r][2])
# bb_whole_t1: in ['t1'] - out ['seg+1+2+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1+2+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1+2+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1+2+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1+2+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1+2+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_whole_t1ce: in ['t1ce'] - out ['seg+1+2+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1+2+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1+2+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1+2+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1+2+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1+2+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_whole_t2: in ['t2'] - out ['seg+1+2+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1+2+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1+2+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1+2+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1+2+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1+2+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_whole_flair: in ['flair'] - out ['seg+1+2+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1+2+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1+2+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1+2+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1+2+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1+2+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_whole_flair+t2: in ['flair', 't2'] - out ['seg+1+2+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t2-seg+1+2+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t2-seg+1+2+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t2-seg+1+2+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t2-seg+1+2+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t2-seg+1+2+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_whole_flair+t1+t2: in ['flair', 't1', 't2'] - out ['seg+1+2+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t2-seg+1+2+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t2-seg+1+2+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t2-seg+1+2+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t2-seg+1+2+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t2-seg+1+2+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_whole_flair+t1ce+t2: in ['flair', 't1ce', 't2'] - out ['seg+1+2+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_whole_flair+t1+t1ce+t2: in ['flair', 't1', 't1ce', 't2'] - out ['seg+1+2+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# fi_whole_flair+t1+t1ce+t2: in ['flair', 't1', 't1ce', 't2'] - out ['seg+1+2+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/f56_184x56_184x13_141-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/f56_184x56_184x13_141-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/f56_184x56_184x13_141-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/f56_184x56_184x13_141-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/f56_184x56_184x13_141-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_necrotic_t1: in ['t1'] - out ['seg+1']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_necrotic_t1ce: in ['t1ce'] - out ['seg+1']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_necrotic_t2: in ['t2'] - out ['seg+1']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_necrotic_flair: in ['flair'] - out ['seg+1']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_enhancing_t1: in ['t1'] - out ['seg+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_enhancing_t1ce: in ['t1ce'] - out ['seg+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_enhancing_t2: in ['t2'] - out ['seg+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_enhancing_flair: in ['flair'] - out ['seg+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_edema_t1: in ['t1'] - out ['seg+2']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+2/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+2/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+2/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+2/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+2/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_edema_t1ce: in ['t1ce'] - out ['seg+2']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+2/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+2/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+2/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+2/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+2/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_edema_t2: in ['t2'] - out ['seg+2']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+2/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+2/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+2/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+2/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+2/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_edema_flair: in ['flair'] - out ['seg+2']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+2/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+2/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+2/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+2/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+2/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_core_t1: in ['t1'] - out ['seg+1+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1-seg+1+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_core_t1ce: in ['t1ce'] - out ['seg+1+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t1ce-seg+1+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_core_t2: in ['t2'] - out ['seg+1+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-t2-seg+1+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_core_flair: in ['flair'] - out ['seg+1+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair-seg+1+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_nested_flair+t1+t1ce+t2: in ['flair', 't1', 't1ce', 't2'] - out ['seg+1+2+4', 'seg+1+4', 'seg+1']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_nestedCore_flair+t1+t1ce+t2: in ['flair', 't1', 't1ce', 't2'] - out ['seg+1+2+4', 'seg+1+4']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+1+4/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+1+4/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+1+4/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+1+4/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+1+4/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_nestedEdema_flair+t1+t1ce+t2: in ['flair', 't1', 't1ce', 't2'] - out ['seg+1+2+4', 'seg+2']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+2/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+2/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+2/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+2/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+2+4_seg+2/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_separate_flair+t1+t1ce+t2: in ['flair', 't1', 't1ce', 't2'] - out ['seg+1', 'seg+4', 'seg+2']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1_seg+4_seg+2/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1_seg+4_seg+2/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1_seg+4_seg+2/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1_seg+4_seg+2/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1_seg+4_seg+2/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_separateCore_flair+t1+t1ce+t2: in ['flair', 't1', 't1ce', 't2'] - out ['seg+1+4', 'seg+2']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+4_seg+2/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+4_seg+2/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+4_seg+2/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+4_seg+2/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1_t1ce_t2-seg+1+4_seg+2/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_nested_flair+t1ce: in ['flair', 't1ce'] - out ['seg+1+2+4', 'seg+1+4', 'seg+1']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0
# bb_nested_flair+t1ce+t2: in ['flair', 't1ce', 't2'] - out ['seg+1+2+4', 'seg+1+4', 'seg+1']
* Fold 1: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce_t2-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-0
* Fold 2: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce_t2-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-1
* Fold 3: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce_t2-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-2
* Fold 4: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce_t2-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-3
* Fold 5: done - results/brats2020/MICCAI_BraTS2020_TrainingData/bb-128_128_128-norm_minmax/UNet3D_dice-flair_t1ce_t2-seg+1+2+4_seg+1+4_seg+1/500-4/8120341116777169704-5-4
=> Done: 5; Failed: 0; Training: 0; Start: 0

Run¶

This runs all the training tasks not completed yet using whatever scheduler is defined via the bca code. The schedulers are defined via the cfg.json file of bca.

Instead of running this in a jupyter notebook, it may be sipler to run schedule.py on the terminal. This runs exactly the same commands. Repeatedly running the previous block will give a short summary of the state of all relevant tasks, until everything is done. The ealuation below can be run anytime and will update the evaluation results for the completed models.

In [6]:
from bca.bca.scheduler import schedule, schedule_clean

task_folder="results"
schedule_clean(task_folder=task_folder) # Cleanup failed task (assuming issues have been fixed)
schedule(task_folder=task_folder)       # Schedule tasks
All tasks complete.

Evaluation¶

This runs the evaluation of the trained models locally, for any completely trained model not yet evaluated. Only models trained completly are evaluataed; everything else is ignored.

In [7]:
for t in trainers:
    print(f"# {t}")
    trainers[t].eval(seqs[t], std_eval=runs[t][3])
    trainers[t].plot_model(seqs[t], save_only=True)
print("Evaluation complete.")
Evaluation complete.

Results¶

We present the results from the training runs, separated mainly over using different modalities and their combincations, and either nested segmentation regions or separate segmentation regions for segmenting multiple/all regions. This is mostly done on the bounding-box cropped, scaled to 128x128x128, and $[0,1]$ normalised dataset.

Note that below the "prime" (DSC', val_DSC', etc) values are per-sample metrics (and then averaged), while the others are the metrics used for training (per batch values, and then averaged). The STD values are the results from the standardised metrics using the standardised outputs with the std_eval functions above, making the values better comparable (for the dataset they were used on). They are averages over the values per sample (and then further averaged across the folds).

In [8]:
import numpy as np
import pandas as pd
from IPython import display

pd.set_option('display.max_columns', None)

def show_results(id):
    # Show the results for the specified trainers and the evaluation summary
    results={}
    for t in id:
        print(f"# {t} results")
        r = trainers[t].plot_results(seqs[t])
        if r is not None:
            results[t] = r

    if len(results) > 0:
        print("Results Summary")
    
        # Get mean/std performance results into a single pandas frame to report mean and std
        # of performance metrics across faults per option analysed.
        keys = []
        for res in results:
            for k in results[res].keys():
                if 'loss' not in k and k not in keys:
                    keys.append(k)
        data = np.zeros((2*len(results),len(keys)),dtype=np.float64())
        idx = []
        for l, res in enumerate(results):
            data[2*l,:]   = [results[res].at['Mean', k] if k in results[res].keys() else np.nan for k in keys]
            data[2*l+1,:] = [results[res].at['Std', k]  if k in results[res].keys() else np.nan for k in keys]
            idx.append(f"{res} Mean")
            idx.append(f"{res} Std")
        df = pd.DataFrame(data, columns=keys, index=idx)

        # Find minimum/maximum indices of mean performance results
        idx_max = np.nanargmax(data[0::2], axis=0)*2
        idx_min = np.nanargmin(data[0::2], axis=0)*2
        def style_cells(idx_min,idx_max,x):
            df1 = pd.DataFrame('', index=x.index, columns=x.columns)
            for c,r in enumerate(idx_min):
                if not '_c' in x.columns[c]: # skip as channels, as these can be inconsistent (careful, simple test, works with our metric names)
                    df1.iloc[r,c] = 'background-color: teal' # Color minimum teal per column
            for c,r in enumerate(idx_max):
                if not '_c' in x.columns[c]: # skip as channels, as these can be inconsistent  (careful, simple test, works with our metric names)
                    df1.iloc[r,c] = 'background-color: green' # Color maximum green per column
            return df1
        return df.style.apply(lambda x : style_cells(idx_min,idx_max,x), axis=None)

Whole Tumour Segmentation with a Single Modality¶

We evaluate the 3D UNet model for all single modality inputs to segment the whole tumour (all non-background regions).

In [9]:
show_results(["bb_whole_t1", "bb_whole_t1ce", "bb_whole_t2", "bb_whole_flair"])
# bb_whole_t1 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.844994 0.701447 0.733085 0.545981 0.176450 0.320833 0.825442 0.635273 0.713646 0.500122 0.827472 0.636230 0.716633 0.501297
Fold 2 0.861948 0.763849 0.758147 0.620386 0.158092 0.256538 0.835058 0.692753 0.731262 0.559868 0.835976 0.693437 0.732654 0.560726
Fold 3 0.831730 0.701723 0.713381 0.544505 0.189938 0.320530 0.796173 0.637578 0.679533 0.498045 0.798243 0.639177 0.682437 0.499940
Fold 4 0.858229 0.735982 0.752532 0.586641 0.164292 0.287428 0.837187 0.684954 0.729660 0.544998 0.838144 0.685671 0.731104 0.545897
Fold 5 0.819657 0.648832 0.697093 0.489759 0.199703 0.374852 0.798066 0.620408 0.679824 0.477091 0.800250 0.621813 0.682805 0.478583
Mean 0.843311 0.710366 0.730848 0.557455 0.177695 0.312036 0.818385 0.654193 0.706785 0.516025 0.820017 0.655265 0.709127 0.517289
Std 0.015914 0.038620 0.023086 0.044032 0.015490 0.039449 0.017819 0.029012 0.022974 0.031157 0.017342 0.028712 0.022352 0.030855
# bb_whole_t1ce results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.769252 0.674515 0.629160 0.517854 0.253355 0.348021 0.727048 0.594008 0.597070 0.464608 0.728119 0.594841 0.598474 0.465583
Fold 2 0.850417 0.742702 0.742337 0.593804 0.172336 0.279547 0.826566 0.687648 0.718360 0.548128 0.827516 0.688288 0.719756 0.548901
Fold 3 0.774188 0.642441 0.635410 0.480888 0.249829 0.386385 0.712031 0.557335 0.583791 0.425678 0.713475 0.558428 0.585612 0.426799
Fold 4 0.626999 0.605725 0.465587 0.441069 0.394487 0.420883 0.564739 0.513881 0.423422 0.380521 0.565591 0.514527 0.424375 0.381235
Fold 5 0.851767 0.689648 0.742638 0.536444 0.173020 0.341186 0.812083 0.609954 0.705200 0.482556 0.813129 0.610625 0.706733 0.483343
Mean 0.774525 0.671006 0.643026 0.514012 0.248605 0.355204 0.728494 0.592565 0.605568 0.460298 0.729566 0.593342 0.606990 0.461172
Std 0.081876 0.045995 0.101509 0.051580 0.081038 0.047451 0.093482 0.057927 0.106181 0.056198 0.093516 0.057873 0.106341 0.056176
# bb_whole_t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.888529 0.842338 0.799982 0.729086 0.127617 0.173332 0.875042 0.809227 0.781414 0.699077 0.877122 0.811018 0.784613 0.701661
Fold 2 0.864223 0.818430 0.761792 0.696882 0.150758 0.196543 0.848444 0.775628 0.742017 0.656075 0.853183 0.778969 0.748980 0.660703
Fold 3 0.890825 0.824137 0.804027 0.706477 0.124453 0.186320 0.875746 0.793690 0.783711 0.679503 0.877753 0.795140 0.786830 0.681524
Fold 4 0.887255 0.819155 0.797792 0.697430 0.129942 0.197681 0.874518 0.792395 0.780389 0.669990 0.876312 0.793980 0.783141 0.672159
Fold 5 0.865103 0.805727 0.763092 0.677922 0.157177 0.218991 0.841924 0.770373 0.736209 0.646919 0.847537 0.775640 0.744372 0.653826
Mean 0.879187 0.821957 0.785337 0.701559 0.137990 0.194573 0.863135 0.788263 0.764748 0.670313 0.866381 0.790950 0.769587 0.673975
Std 0.011917 0.011865 0.018805 0.016611 0.013318 0.015027 0.014806 0.013898 0.021039 0.018231 0.013211 0.012707 0.018800 0.016787
# bb_whole_flair results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.908639 0.854074 0.833142 0.749718 0.108853 0.163835 0.897663 0.844842 0.816780 0.740067 0.899366 0.846165 0.819503 0.742042
Fold 2 0.921982 0.882493 0.855577 0.792038 0.099596 0.140066 0.912832 0.858621 0.841692 0.766646 0.915015 0.860219 0.845347 0.769180
Fold 3 0.919085 0.868868 0.850800 0.770502 0.105148 0.156459 0.908827 0.835862 0.835674 0.741926 0.910642 0.837301 0.838659 0.744107
Fold 4 0.920667 0.871569 0.854144 0.774205 0.097128 0.147161 0.910485 0.846704 0.840607 0.746011 0.912352 0.848035 0.843662 0.748068
Fold 5 0.904472 0.851423 0.827183 0.744515 0.112857 0.167316 0.885706 0.832944 0.806740 0.729748 0.887164 0.834158 0.809102 0.731542
Mean 0.914969 0.865685 0.844169 0.766196 0.104716 0.154967 0.903103 0.843795 0.828298 0.744879 0.904908 0.845176 0.831254 0.746988
Std 0.007055 0.011537 0.011694 0.017275 0.005786 0.010162 0.010141 0.009056 0.014019 0.012132 0.010354 0.009153 0.014396 0.012369
Results Summary
Out[9]:
  DSC val_DSC IoU val_IoU DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
bb_whole_t1 Mean 0.843311 0.710366 0.730848 0.557455 0.818385 0.654193 0.706785 0.516025 0.820017 0.655265 0.709127 0.517289
bb_whole_t1 Std 0.015914 0.038620 0.023086 0.044032 0.017819 0.029012 0.022974 0.031157 0.017342 0.028712 0.022352 0.030855
bb_whole_t1ce Mean 0.774525 0.671006 0.643026 0.514012 0.728494 0.592565 0.605568 0.460298 0.729566 0.593342 0.606990 0.461172
bb_whole_t1ce Std 0.081876 0.045995 0.101509 0.051580 0.093482 0.057927 0.106181 0.056198 0.093516 0.057873 0.106341 0.056176
bb_whole_t2 Mean 0.879187 0.821957 0.785337 0.701559 0.863135 0.788263 0.764748 0.670313 0.866381 0.790950 0.769587 0.673975
bb_whole_t2 Std 0.011917 0.011865 0.018805 0.016611 0.014806 0.013898 0.021039 0.018231 0.013211 0.012707 0.018800 0.016787
bb_whole_flair Mean 0.914969 0.865685 0.844169 0.766196 0.903103 0.843795 0.828298 0.744879 0.904908 0.845176 0.831254 0.746988
bb_whole_flair Std 0.007055 0.011537 0.011694 0.017275 0.010141 0.009056 0.014019 0.012132 0.010354 0.009153 0.014396 0.012369

The flair and t2 modalities perform best, with flair being ideal here; t1 is better than t1ce and still reasonable; t1ce performs poorly. Validation indicates some overfitting in all cases.

Whole Tumour Segmentation with Multiple Modalities¶

We combine the best performing single modalities input multi-modality inputs to predict the whole tumour again. Here we also look at the fixed crop results, not just the bounding-box crop.

In [10]:
show_results(["bb_whole_flair+t2", "bb_whole_flair+t1+t2", "bb_whole_flair+t1ce+t2", "bb_whole_flair+t1+t1ce+t2", "fi_whole_flair+t1+t1ce+t2"])
# bb_whole_flair+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.898459 0.859028 0.816151 0.755824 0.117680 0.156766 0.886184 0.849789 0.798863 0.746465 0.889391 0.852540 0.803905 0.750614
Fold 2 0.914740 0.880557 0.843411 0.788730 0.103867 0.138834 0.905095 0.860127 0.829258 0.767778 0.906724 0.861394 0.831940 0.769739
Fold 3 0.900961 0.856266 0.820459 0.750712 0.113035 0.157297 0.887732 0.815074 0.802367 0.715804 0.889442 0.816324 0.805070 0.717694
Fold 4 0.900158 0.861559 0.820178 0.758812 0.117435 0.156726 0.885655 0.835452 0.803398 0.732234 0.887550 0.837057 0.806483 0.734662
Fold 5 0.900360 0.852539 0.819546 0.745148 0.113273 0.160773 0.880116 0.832431 0.796063 0.728228 0.882745 0.834575 0.800255 0.731426
Mean 0.902936 0.861990 0.823949 0.759845 0.113058 0.154079 0.888956 0.838574 0.805990 0.738102 0.891171 0.840378 0.809531 0.740827
Std 0.005960 0.009755 0.009853 0.015172 0.005001 0.007769 0.008470 0.015427 0.011921 0.017775 0.008151 0.015575 0.011393 0.017851
# bb_whole_flair+t1+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.903092 0.852108 0.823817 0.747126 0.112505 0.163396 0.889394 0.844461 0.804462 0.743562 0.891651 0.846478 0.808043 0.746596
Fold 2 0.884718 0.873791 0.794463 0.777715 0.131552 0.143866 0.872836 0.848729 0.779657 0.750987 0.874910 0.850453 0.782892 0.753611
Fold 3 0.904121 0.857734 0.825436 0.752736 0.109213 0.156184 0.893493 0.822031 0.809720 0.719382 0.894143 0.822515 0.810761 0.720089
Fold 4 0.911084 0.865858 0.837678 0.765300 0.100996 0.146762 0.896722 0.836716 0.819007 0.735003 0.897995 0.837648 0.821057 0.736418
Fold 5 0.900525 0.861180 0.819854 0.757833 0.111423 0.152548 0.887667 0.837163 0.802322 0.735624 0.888306 0.837674 0.803338 0.736392
Mean 0.900708 0.862134 0.820250 0.760142 0.113138 0.152551 0.888023 0.837820 0.803034 0.736912 0.889401 0.838954 0.805218 0.738621
Std 0.008726 0.007356 0.014202 0.010630 0.010052 0.006925 0.008225 0.009100 0.013030 0.010535 0.007907 0.009617 0.012582 0.011327
# bb_whole_flair+t1ce+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.910921 0.864465 0.836917 0.765053 0.103250 0.150114 0.899958 0.846724 0.821377 0.749295 0.901209 0.847788 0.823397 0.750927
Fold 2 0.904908 0.869597 0.827269 0.771888 0.108985 0.145399 0.893663 0.848846 0.812668 0.752461 0.894836 0.849774 0.814558 0.753867
Fold 3 0.887926 0.853008 0.800192 0.746552 0.125755 0.162412 0.873293 0.797078 0.784181 0.699720 0.874781 0.798239 0.786528 0.701481
Fold 4 0.900134 0.860106 0.819615 0.756300 0.116953 0.157848 0.885573 0.838832 0.801724 0.732233 0.887570 0.840558 0.804878 0.734785
Fold 5 0.900217 0.861888 0.819742 0.759333 0.113226 0.152569 0.883112 0.839144 0.800102 0.738527 0.884856 0.840623 0.802901 0.740777
Mean 0.900821 0.861813 0.820747 0.759825 0.113634 0.153668 0.887120 0.834125 0.804010 0.734447 0.888650 0.835396 0.806452 0.736367
Std 0.007561 0.005442 0.012073 0.008505 0.007583 0.005936 0.009135 0.018949 0.012572 0.018828 0.008988 0.018947 0.012368 0.018747
# bb_whole_flair+t1+t1ce+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.890522 0.836671 0.804013 0.725487 0.125974 0.180345 0.869114 0.816980 0.782389 0.712822 0.871242 0.818932 0.785720 0.715697
Fold 2 0.903852 0.876937 0.825133 0.782948 0.108185 0.135024 0.891301 0.856593 0.807690 0.763701 0.892281 0.857453 0.809233 0.765008
Fold 3 0.905919 0.862193 0.828580 0.759250 0.105038 0.148670 0.895848 0.830421 0.814213 0.726626 0.897115 0.831363 0.816253 0.728007
Fold 4 0.907746 0.865860 0.831610 0.764747 0.105372 0.147789 0.897316 0.848064 0.816316 0.744422 0.898211 0.848830 0.817760 0.745543
Fold 5 0.904384 0.872875 0.826116 0.776039 0.111543 0.145425 0.892695 0.859228 0.809488 0.761015 0.894656 0.860942 0.812627 0.763604
Mean 0.902485 0.862907 0.823091 0.761694 0.111222 0.151451 0.889255 0.842257 0.806019 0.741717 0.890701 0.843504 0.808319 0.743572
Std 0.006133 0.014098 0.009798 0.019918 0.007738 0.015246 0.010297 0.016164 0.012218 0.019625 0.009943 0.015989 0.011681 0.019411
# fi_whole_flair+t1+t1ce+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.902794 0.886608 0.823414 0.797397 0.109691 0.125740 0.891512 0.867874 0.807883 0.776553 0.892610 0.868868 0.809610 0.778042
Fold 2 0.905444 0.886931 0.827864 0.798481 0.107504 0.126486 0.890724 0.865905 0.808204 0.776193 0.891463 0.866458 0.809395 0.777080
Fold 3 0.918697 0.875000 0.850062 0.780081 0.091895 0.136571 0.907763 0.836112 0.833953 0.741232 0.908772 0.836819 0.835596 0.742305
Fold 4 0.919316 0.877490 0.851154 0.783293 0.097718 0.140323 0.909556 0.852361 0.836634 0.752647 0.911749 0.854080 0.840252 0.755282
Fold 5 0.921537 0.879444 0.854884 0.786241 0.090318 0.130836 0.911124 0.859446 0.839115 0.766710 0.912198 0.860294 0.840868 0.768019
Mean 0.913557 0.881094 0.841476 0.789099 0.099425 0.131991 0.902136 0.856339 0.825158 0.762667 0.903359 0.857304 0.827144 0.764146
Std 0.007809 0.004844 0.013105 0.007484 0.007915 0.005677 0.009062 0.011482 0.014069 0.013798 0.009326 0.011458 0.014519 0.013645
Results Summary
Out[10]:
  DSC val_DSC IoU val_IoU DSC' val_DSC' IoU' val_IoU' STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
bb_whole_flair+t2 Mean 0.902936 0.861990 0.823949 0.759845 0.888956 0.838574 0.805990 0.738102 0.891171 0.840378 0.809531 0.740827
bb_whole_flair+t2 Std 0.005960 0.009755 0.009853 0.015172 0.008470 0.015427 0.011921 0.017775 0.008151 0.015575 0.011393 0.017851
bb_whole_flair+t1+t2 Mean 0.900708 0.862134 0.820250 0.760142 0.888023 0.837820 0.803034 0.736912 0.889401 0.838954 0.805218 0.738621
bb_whole_flair+t1+t2 Std 0.008726 0.007356 0.014202 0.010630 0.008225 0.009100 0.013030 0.010535 0.007907 0.009617 0.012582 0.011327
bb_whole_flair+t1ce+t2 Mean 0.900821 0.861813 0.820747 0.759825 0.887120 0.834125 0.804010 0.734447 0.888650 0.835396 0.806452 0.736367
bb_whole_flair+t1ce+t2 Std 0.007561 0.005442 0.012073 0.008505 0.009135 0.018949 0.012572 0.018828 0.008988 0.018947 0.012368 0.018747
bb_whole_flair+t1+t1ce+t2 Mean 0.902485 0.862907 0.823091 0.761694 0.889255 0.842257 0.806019 0.741717 0.890701 0.843504 0.808319 0.743572
bb_whole_flair+t1+t1ce+t2 Std 0.006133 0.014098 0.009798 0.019918 0.010297 0.016164 0.012218 0.019625 0.009943 0.015989 0.011681 0.019411
fi_whole_flair+t1+t1ce+t2 Mean 0.913557 0.881094 0.841476 0.789099 0.902136 0.856339 0.825158 0.762667 0.903359 0.857304 0.827144 0.764146
fi_whole_flair+t1+t1ce+t2 Std 0.007809 0.004844 0.013105 0.007484 0.009062 0.011482 0.014069 0.013798 0.009326 0.011458 0.014519 0.013645

Interestingly, combining the modalities does not improve the prediction; flair seems sufficient for whole tumour segmentation and maybe even better. There is a similar indication of overfitting as for the single modalities.

We see a slightly higher score for the fixed crop, but as this runs on a different dataset it is not easy to directly compare this and the values are not significantly larger.

Potentially, relations between modalities are more complex and convolutions across the 3D modalities, then averaged across the modalities, cannot find these, if they are there at all. 4D convolutions or differently aligned convolutions or completely different arrangements may produce different results.

Necrotic/Non-Enhancing Tumour Segmentation with a Single Modality¶

These are the results using single modalities for the necrotic/non-enhancing region.

In [11]:
show_results(["bb_necrotic_t1", "bb_necrotic_t1ce", "bb_necrotic_t2", "bb_necrotic_flair"])
# bb_necrotic_t1 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU
Fold 1 0.656041 0.405809 0.503492 0.265205 0.381665 0.635162 0.498993 0.268924 0.385142 0.188863 0.503214 0.268946 0.389484 0.188959
Fold 2 0.674565 0.393212 0.519846 0.265471 0.363115 0.639089 0.523817 0.306877 0.404105 0.214586 0.528672 0.306901 0.409163 0.214764
Fold 3 0.601155 0.313405 0.446056 0.198437 0.429707 0.725726 0.456805 0.201798 0.344510 0.134233 0.457952 0.202879 0.345767 0.135184
Fold 4 0.456596 0.347459 0.316807 0.223600 0.567172 0.675457 0.332410 0.249500 0.238824 0.171755 0.333911 0.250589 0.240335 0.172850
Fold 5 0.525799 0.364369 0.374755 0.233629 0.504129 0.673196 0.401104 0.313567 0.292938 0.213573 0.403590 0.328568 0.295445 0.228731
Mean 0.582831 0.364851 0.432191 0.237268 0.449157 0.669726 0.442626 0.268133 0.333104 0.184602 0.445468 0.271577 0.336039 0.188098
Std 0.081607 0.032958 0.076905 0.025627 0.076532 0.032601 0.069054 0.040776 0.060632 0.029861 0.070160 0.043960 0.061815 0.032849
# bb_necrotic_t1ce results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU
Fold 1 0.751874 0.545931 0.614698 0.403112 0.286226 0.497017 0.637632 0.454941 0.522781 0.347884 0.645263 0.457697 0.531686 0.351188
Fold 2 0.754268 0.627476 0.612624 0.470202 0.282785 0.409050 0.636048 0.508094 0.516765 0.390531 0.646106 0.512814 0.528213 0.396130
Fold 3 0.710248 0.479992 0.559527 0.342923 0.326347 0.565098 0.591932 0.379037 0.469703 0.277540 0.598468 0.381492 0.476969 0.280149
Fold 4 0.783534 0.591127 0.651220 0.455104 0.263196 0.462113 0.673991 0.486389 0.554942 0.384402 0.681421 0.491049 0.564479 0.391144
Fold 5 0.746503 0.637842 0.606202 0.485826 0.292610 0.406889 0.619582 0.512216 0.500317 0.403340 0.624973 0.514827 0.506919 0.407099
Mean 0.749285 0.576474 0.608854 0.431433 0.290233 0.468033 0.631837 0.468135 0.512902 0.360739 0.639246 0.471576 0.521653 0.365142
Std 0.023393 0.058007 0.029269 0.052265 0.020554 0.059185 0.026724 0.048960 0.027944 0.045497 0.027308 0.049514 0.028953 0.046509
# bb_necrotic_t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU
Fold 1 0.679164 0.398174 0.523368 0.258413 0.362546 0.647488 0.511967 0.299043 0.391157 0.206366 0.517140 0.299676 0.396572 0.206992
Fold 2 0.606156 0.425600 0.448369 0.290319 0.424524 0.597514 0.475054 0.331540 0.351963 0.234276 0.480815 0.332023 0.357628 0.234918
Fold 3 0.722747 0.365344 0.575934 0.240643 0.311993 0.664525 0.583961 0.266561 0.457839 0.182863 0.588913 0.267195 0.463034 0.183372
Fold 4 0.649624 0.409539 0.495876 0.272264 0.387470 0.621778 0.529053 0.305748 0.400360 0.208174 0.533934 0.305966 0.405254 0.208486
Fold 5 0.481049 0.296111 0.331487 0.179532 0.562038 0.751826 0.370610 0.279871 0.261877 0.185876 0.373361 0.283580 0.264294 0.189416
Mean 0.627748 0.378954 0.475007 0.248234 0.409714 0.656626 0.494129 0.296553 0.372639 0.203511 0.498833 0.297688 0.377356 0.204637
Std 0.082624 0.045889 0.082787 0.038026 0.084488 0.052759 0.071033 0.022328 0.064910 0.018513 0.071763 0.021819 0.065819 0.018006
# bb_necrotic_flair results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU
Fold 1 0.623752 0.388735 0.467427 0.251803 0.410989 0.643000 0.504066 0.309698 0.380714 0.212399 0.505811 0.310110 0.382517 0.212902
Fold 2 0.640693 0.398043 0.479623 0.255825 0.394670 0.634910 0.508813 0.312456 0.380426 0.213095 0.510552 0.313156 0.382221 0.213770
Fold 3 0.540229 0.334970 0.390134 0.209123 0.504799 0.712760 0.442778 0.247390 0.323324 0.163843 0.447664 0.248037 0.328268 0.164415
Fold 4 0.670525 0.330933 0.521723 0.206980 0.370739 0.705997 0.551475 0.272476 0.424786 0.180614 0.552709 0.272747 0.426254 0.180893
Fold 5 0.670454 0.361964 0.512994 0.227043 0.370204 0.680094 0.529100 0.317084 0.397376 0.213381 0.529732 0.317444 0.398011 0.213766
Mean 0.629131 0.362929 0.474380 0.230155 0.410280 0.675352 0.507246 0.291821 0.381325 0.196666 0.509294 0.292299 0.383454 0.197149
Std 0.047932 0.027223 0.046702 0.020575 0.049694 0.031759 0.036339 0.027320 0.033202 0.020649 0.034970 0.027298 0.031911 0.020670
Results Summary
Out[11]:
  DSC val_DSC IoU val_IoU DSC' val_DSC' IoU' val_IoU' STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU
bb_necrotic_t1 Mean 0.582831 0.364851 0.432191 0.237268 0.442626 0.268133 0.333104 0.184602 0.445468 0.271577 0.336039 0.188098
bb_necrotic_t1 Std 0.081607 0.032958 0.076905 0.025627 0.069054 0.040776 0.060632 0.029861 0.070160 0.043960 0.061815 0.032849
bb_necrotic_t1ce Mean 0.749285 0.576474 0.608854 0.431433 0.631837 0.468135 0.512902 0.360739 0.639246 0.471576 0.521653 0.365142
bb_necrotic_t1ce Std 0.023393 0.058007 0.029269 0.052265 0.026724 0.048960 0.027944 0.045497 0.027308 0.049514 0.028953 0.046509
bb_necrotic_t2 Mean 0.627748 0.378954 0.475007 0.248234 0.494129 0.296553 0.372639 0.203511 0.498833 0.297688 0.377356 0.204637
bb_necrotic_t2 Std 0.082624 0.045889 0.082787 0.038026 0.071033 0.022328 0.064910 0.018513 0.071763 0.021819 0.065819 0.018006
bb_necrotic_flair Mean 0.629131 0.362929 0.474380 0.230155 0.507246 0.291821 0.381325 0.196666 0.509294 0.292299 0.383454 0.197149
bb_necrotic_flair Std 0.047932 0.027223 0.046702 0.020575 0.036339 0.027320 0.033202 0.020649 0.034970 0.027298 0.031911 0.020670

No option performs well here. T1ce outperforms all other options noticeably. There is some overfitting.

Enhancing Tumour Segmentation with a Single Modality¶

These are the single modality results for the enhacning region.

In [12]:
show_results(["bb_enhancing_t1", "bb_enhancing_t1ce", "bb_enhancing_t2", "bb_enhancing_flair"])
# bb_enhancing_t1 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU
Fold 1 0.553917 0.219573 0.388752 0.131892 0.489504 0.831517 0.428809 0.157115 0.307746 0.097866 0.475405 0.170600 0.354635 0.111408
Fold 2 0.559332 0.254285 0.393864 0.152825 0.485932 0.789677 0.437451 0.186792 0.311983 0.117897 0.457135 0.214009 0.331652 0.145204
Fold 3 0.488949 0.230685 0.330127 0.135551 0.550279 0.811768 0.374664 0.167843 0.258816 0.103228 0.393409 0.181547 0.277526 0.116944
Fold 4 0.616552 0.218351 0.451089 0.125420 0.426240 0.829386 0.479263 0.173017 0.354406 0.103373 0.521246 0.172897 0.396498 0.103393
Fold 5 0.573644 0.249950 0.407695 0.150042 0.464240 0.779258 0.439365 0.198965 0.315952 0.125632 0.478074 0.212621 0.354741 0.139380
Mean 0.558479 0.234569 0.394305 0.139146 0.483239 0.808321 0.431911 0.176747 0.309781 0.109599 0.465054 0.190335 0.343010 0.123266
Std 0.041130 0.015022 0.038868 0.010581 0.040375 0.020909 0.033512 0.014650 0.030450 0.010420 0.041545 0.019120 0.038861 0.016226
# bb_enhancing_t1ce results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU
Fold 1 0.804738 0.700303 0.675877 0.562849 0.235871 0.343928 0.695454 0.587474 0.579104 0.477925 0.721974 0.604975 0.607522 0.496623
Fold 2 0.836366 0.688629 0.721355 0.553872 0.198630 0.348329 0.731807 0.599209 0.625278 0.486377 0.760376 0.642847 0.655643 0.530950
Fold 3 0.789248 0.705611 0.656010 0.561762 0.241711 0.329688 0.659586 0.612269 0.544511 0.497640 0.683645 0.642134 0.569750 0.528318
Fold 4 0.818727 0.738416 0.697004 0.595116 0.215155 0.298358 0.697019 0.666306 0.588303 0.543371 0.777902 0.668531 0.670238 0.546230
Fold 5 0.839091 0.754406 0.724886 0.622601 0.196856 0.287083 0.714084 0.683063 0.610279 0.560003 0.743723 0.701969 0.642211 0.580200
Mean 0.817634 0.717473 0.695027 0.579240 0.217644 0.321477 0.699590 0.629664 0.589495 0.513063 0.737524 0.652091 0.629073 0.536464
Std 0.018892 0.024780 0.026373 0.025884 0.018500 0.024535 0.023967 0.037958 0.027732 0.032578 0.032667 0.032133 0.036213 0.027175
# bb_enhancing_t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU
Fold 1 0.563666 0.287766 0.399343 0.177885 0.477191 0.758798 0.466333 0.226635 0.336541 0.143677 0.501219 0.226916 0.371599 0.143917
Fold 2 0.368155 0.248420 0.232924 0.147915 0.677491 0.796391 0.287177 0.207954 0.188004 0.129373 0.301104 0.248764 0.201945 0.170136
Fold 3 0.515590 0.281677 0.352833 0.169468 0.521733 0.749821 0.385684 0.195806 0.269000 0.122517 0.451011 0.238031 0.334028 0.164386
Fold 4 0.203035 0.175204 0.116822 0.100704 0.849164 0.872818 0.152317 0.139934 0.091983 0.084834 0.152363 0.139907 0.092021 0.084827
Fold 5 0.622182 0.282950 0.458129 0.175227 0.418240 0.763186 0.498302 0.232518 0.369435 0.147884 0.560378 0.246248 0.431614 0.161700
Mean 0.454526 0.255203 0.312010 0.154240 0.588764 0.788203 0.357963 0.200569 0.250993 0.125657 0.393215 0.219973 0.286241 0.144993
Std 0.151299 0.042372 0.122472 0.028766 0.156013 0.045145 0.126102 0.033027 0.100919 0.022401 0.147948 0.040753 0.122907 0.031332
# bb_enhancing_flair results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU
Fold 1 0.571206 0.303068 0.405230 0.186871 0.474024 0.744970 0.458524 0.254953 0.327705 0.165160 0.486919 0.255190 0.356146 0.165471
Fold 2 0.434619 0.265831 0.286585 0.161864 0.592477 0.765359 0.346333 0.232330 0.235509 0.149164 0.364341 0.272918 0.253512 0.189762
Fold 3 0.407635 0.308152 0.261740 0.191345 0.624979 0.721293 0.321348 0.264357 0.214607 0.171978 0.342025 0.278091 0.235253 0.185683
Fold 4 0.563186 0.290972 0.400207 0.179221 0.485234 0.751334 0.441012 0.245042 0.319138 0.156364 0.493006 0.245295 0.371254 0.156654
Fold 5 0.517836 0.323708 0.356734 0.199918 0.516741 0.717052 0.420288 0.272213 0.294034 0.172731 0.438845 0.272739 0.312641 0.173135
Mean 0.498896 0.298346 0.342099 0.183844 0.538691 0.740002 0.397501 0.253779 0.278199 0.163079 0.425027 0.264847 0.305761 0.174141
Std 0.066605 0.019356 0.058507 0.012871 0.059766 0.018291 0.053951 0.014067 0.045264 0.009115 0.061992 0.012477 0.053994 0.012322
Results Summary
Out[12]:
  DSC val_DSC IoU val_IoU DSC' val_DSC' IoU' val_IoU' STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU
bb_enhancing_t1 Mean 0.558479 0.234569 0.394305 0.139146 0.431911 0.176747 0.309781 0.109599 0.465054 0.190335 0.343010 0.123266
bb_enhancing_t1 Std 0.041130 0.015022 0.038868 0.010581 0.033512 0.014650 0.030450 0.010420 0.041545 0.019120 0.038861 0.016226
bb_enhancing_t1ce Mean 0.817634 0.717473 0.695027 0.579240 0.699590 0.629664 0.589495 0.513063 0.737524 0.652091 0.629073 0.536464
bb_enhancing_t1ce Std 0.018892 0.024780 0.026373 0.025884 0.023967 0.037958 0.027732 0.032578 0.032667 0.032133 0.036213 0.027175
bb_enhancing_t2 Mean 0.454526 0.255203 0.312010 0.154240 0.357963 0.200569 0.250993 0.125657 0.393215 0.219973 0.286241 0.144993
bb_enhancing_t2 Std 0.151299 0.042372 0.122472 0.028766 0.126102 0.033027 0.100919 0.022401 0.147948 0.040753 0.122907 0.031332
bb_enhancing_flair Mean 0.498896 0.298346 0.342099 0.183844 0.397501 0.253779 0.278199 0.163079 0.425027 0.264847 0.305761 0.174141
bb_enhancing_flair Std 0.066605 0.019356 0.058507 0.012871 0.053951 0.014067 0.045264 0.009115 0.061992 0.012477 0.053994 0.012322

No option performs well here, but T1ce has a noticeable advantage. There is some overfitting.

Peritumoural Edema Segmentation with a Single Modality¶

These are the single modality results for the peritumoural edema segmentation.

In [13]:
show_results(["bb_edema_t1", "bb_edema_t1ce", "bb_edema_t2", "bb_edema_flair"])
# bb_edema_t1 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU
Fold 1 0.735397 0.425970 0.583658 0.276597 0.297229 0.606085 0.683449 0.360839 0.538121 0.237833 0.684691 0.361287 0.539589 0.238196
Fold 2 0.622729 0.437944 0.455472 0.286135 0.418131 0.605321 0.564083 0.364590 0.413932 0.244388 0.565059 0.364956 0.414942 0.244713
Fold 3 0.687117 0.458557 0.527151 0.301687 0.348139 0.575080 0.633085 0.395925 0.483277 0.264577 0.634965 0.397027 0.485338 0.265535
Fold 4 0.735582 0.452848 0.583690 0.300017 0.299842 0.586842 0.673394 0.367320 0.529006 0.248630 0.679469 0.368605 0.535583 0.249867
Fold 5 0.751556 0.427769 0.604052 0.277857 0.281724 0.602238 0.695579 0.365381 0.554269 0.245148 0.699995 0.365837 0.558913 0.245576
Mean 0.706476 0.440618 0.550805 0.288458 0.329013 0.595113 0.649918 0.370811 0.503721 0.248115 0.652836 0.371542 0.506873 0.248777
Std 0.047125 0.013101 0.054118 0.010650 0.049810 0.012207 0.047773 0.012732 0.050711 0.008941 0.048933 0.012955 0.051996 0.009173
# bb_edema_t1ce results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU
Fold 1 0.750149 0.519686 0.603346 0.362854 0.283250 0.512320 0.691226 0.423787 0.551444 0.298158 0.693598 0.424504 0.554366 0.298979
Fold 2 0.751663 0.539595 0.605752 0.378095 0.278808 0.495224 0.704772 0.452340 0.563000 0.322897 0.709829 0.452975 0.568468 0.323606
Fold 3 0.711482 0.553556 0.554846 0.390227 0.320089 0.481822 0.643768 0.466678 0.497865 0.334170 0.645312 0.467432 0.499589 0.334938
Fold 4 0.666340 0.478009 0.504645 0.326041 0.363108 0.556442 0.605161 0.431262 0.457685 0.300829 0.606104 0.431740 0.458708 0.301301
Fold 5 0.727456 0.499256 0.575176 0.343618 0.303591 0.535935 0.671922 0.442434 0.527623 0.307459 0.674416 0.443769 0.530615 0.308813
Mean 0.721418 0.518020 0.568753 0.360167 0.309769 0.516349 0.663370 0.443300 0.519523 0.312703 0.665852 0.444084 0.522349 0.313527
Std 0.031334 0.027144 0.037175 0.023111 0.030501 0.027002 0.035597 0.015196 0.038126 0.013746 0.036794 0.015232 0.039468 0.013736
# bb_edema_t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU
Fold 1 0.770666 0.576108 0.629762 0.409798 0.260583 0.453865 0.728988 0.508375 0.589684 0.364190 0.731090 0.509631 0.592356 0.365476
Fold 2 0.723519 0.554561 0.569679 0.389190 0.306878 0.478960 0.679425 0.485744 0.532722 0.345740 0.681222 0.487120 0.534861 0.347096
Fold 3 0.740972 0.587819 0.591329 0.423049 0.291722 0.441812 0.693501 0.549651 0.547512 0.400693 0.695884 0.551062 0.550322 0.402199
Fold 4 0.607657 0.541142 0.442191 0.379878 0.428730 0.498978 0.536580 0.473622 0.393360 0.334119 0.539172 0.475822 0.396177 0.336329
Fold 5 0.727982 0.546231 0.576275 0.380342 0.300208 0.477972 0.672468 0.498786 0.527274 0.352569 0.674020 0.499793 0.529080 0.353614
Mean 0.714159 0.561172 0.561847 0.396451 0.317624 0.470318 0.662192 0.503236 0.518110 0.359462 0.664277 0.504686 0.520559 0.360943
Std 0.055737 0.017896 0.063354 0.017161 0.057772 0.020189 0.065762 0.026014 0.066102 0.022805 0.065569 0.025849 0.066013 0.022689
# bb_edema_flair results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU
Fold 1 0.825641 0.638905 0.705096 0.475039 0.204660 0.392478 0.791154 0.600829 0.666011 0.448425 0.793715 0.602446 0.669492 0.450173
Fold 2 0.818635 0.673130 0.695196 0.513094 0.211913 0.361456 0.783663 0.620900 0.657424 0.471061 0.786242 0.622581 0.660907 0.472882
Fold 3 0.719951 0.653348 0.565983 0.492013 0.313139 0.380480 0.677110 0.611123 0.531215 0.464482 0.680101 0.613095 0.534705 0.466743
Fold 4 0.701419 0.559068 0.543037 0.393665 0.331400 0.475766 0.646239 0.515038 0.498678 0.366877 0.648777 0.516898 0.501533 0.368702
Fold 5 0.781819 0.606341 0.644113 0.439043 0.252864 0.423815 0.744796 0.570372 0.608855 0.417176 0.747145 0.571846 0.611872 0.418739
Mean 0.769493 0.626158 0.630685 0.462571 0.262795 0.406799 0.728592 0.583653 0.592437 0.433604 0.731196 0.585373 0.595702 0.435448
Std 0.050612 0.040005 0.065951 0.042134 0.051591 0.039999 0.057692 0.038266 0.067000 0.038206 0.057614 0.038252 0.067151 0.038293
Results Summary
Out[13]:
  DSC val_DSC IoU val_IoU DSC' val_DSC' IoU' val_IoU' STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU
bb_edema_t1 Mean 0.706476 0.440618 0.550805 0.288458 0.649918 0.370811 0.503721 0.248115 0.652836 0.371542 0.506873 0.248777
bb_edema_t1 Std 0.047125 0.013101 0.054118 0.010650 0.047773 0.012732 0.050711 0.008941 0.048933 0.012955 0.051996 0.009173
bb_edema_t1ce Mean 0.721418 0.518020 0.568753 0.360167 0.663370 0.443300 0.519523 0.312703 0.665852 0.444084 0.522349 0.313527
bb_edema_t1ce Std 0.031334 0.027144 0.037175 0.023111 0.035597 0.015196 0.038126 0.013746 0.036794 0.015232 0.039468 0.013736
bb_edema_t2 Mean 0.714159 0.561172 0.561847 0.396451 0.662192 0.503236 0.518110 0.359462 0.664277 0.504686 0.520559 0.360943
bb_edema_t2 Std 0.055737 0.017896 0.063354 0.017161 0.065762 0.026014 0.066102 0.022805 0.065569 0.025849 0.066013 0.022689
bb_edema_flair Mean 0.769493 0.626158 0.630685 0.462571 0.728592 0.583653 0.592437 0.433604 0.731196 0.585373 0.595702 0.435448
bb_edema_flair Std 0.050612 0.040005 0.065951 0.042134 0.057692 0.038266 0.067000 0.038206 0.057614 0.038252 0.067151 0.038293

No option performs well, but flair has a noticeable advantage. There is some overfitting.

Core Segmentation with a Single Modality¶

We call the union of the necrotic/non-enhancing and enhancing tumour region core here. These are the single modality segmentation results.

In [14]:
show_results(["bb_core_t1", "bb_core_t1ce", "bb_core_t2", "bb_core_flair"])
# bb_core_t1 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU
Fold 1 0.825789 0.508800 0.706331 0.349408 0.213181 0.532416 0.741521 0.418551 0.629886 0.303641 0.742936 0.418567 0.631901 0.303811
Fold 2 0.793605 0.472918 0.662508 0.322296 0.244925 0.559562 0.705907 0.396274 0.590697 0.278442 0.708993 0.396851 0.594737 0.279113
Fold 3 0.840970 0.493199 0.727581 0.343434 0.202095 0.553859 0.743572 0.398755 0.640144 0.290417 0.745019 0.401850 0.642247 0.293442
Fold 4 0.711935 0.459857 0.558842 0.308692 0.328230 0.585055 0.626113 0.389516 0.494864 0.272613 0.627334 0.389882 0.496401 0.273008
Fold 5 0.844421 0.518607 0.732894 0.357716 0.197385 0.526060 0.763030 0.445922 0.659637 0.323149 0.764393 0.446322 0.661546 0.323562
Mean 0.803344 0.490676 0.677631 0.336309 0.237163 0.551390 0.716029 0.409804 0.603046 0.293652 0.717735 0.410694 0.605366 0.294587
Std 0.049107 0.021818 0.064362 0.018109 0.048458 0.021014 0.048590 0.020483 0.058575 0.018190 0.048591 0.020171 0.058663 0.018061
# bb_core_t1ce results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU
Fold 1 0.893375 0.801990 0.808876 0.683727 0.128805 0.222339 0.852363 0.728726 0.767917 0.627022 0.854314 0.730116 0.770948 0.629057
Fold 2 0.762362 0.656528 0.636446 0.514988 0.255759 0.362675 0.717072 0.585020 0.619576 0.476147 0.718503 0.585872 0.621574 0.477302
Fold 3 0.902816 0.788767 0.824806 0.667253 0.115962 0.233083 0.870529 0.729637 0.788197 0.625564 0.872145 0.730943 0.790732 0.627377
Fold 4 0.898264 0.774697 0.816502 0.663295 0.120830 0.248394 0.858267 0.727310 0.771835 0.620876 0.859761 0.728288 0.774089 0.622205
Fold 5 0.868458 0.804497 0.776209 0.691415 0.152812 0.222146 0.826144 0.701957 0.742363 0.609985 0.828466 0.703319 0.745994 0.612180
Mean 0.865055 0.765296 0.772568 0.644136 0.154833 0.257727 0.824875 0.694530 0.737978 0.591919 0.826638 0.695708 0.740667 0.593624
Std 0.052703 0.055413 0.070028 0.065396 0.052028 0.053342 0.055818 0.055721 0.060996 0.058193 0.055912 0.055873 0.061241 0.058458
# bb_core_t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU
Fold 1 0.765589 0.538829 0.627759 0.376198 0.279664 0.508232 0.686423 0.450171 0.564248 0.329659 0.688730 0.451160 0.567300 0.330879
Fold 2 0.814146 0.531804 0.690142 0.372132 0.226853 0.505927 0.740046 0.444630 0.622654 0.320063 0.742578 0.445966 0.626223 0.321384
Fold 3 0.695219 0.469635 0.539094 0.320979 0.348695 0.570116 0.598538 0.370426 0.468650 0.265451 0.600209 0.370929 0.470809 0.266251
Fold 4 0.759782 0.575197 0.618226 0.411514 0.279255 0.461246 0.681009 0.489793 0.551172 0.356954 0.686352 0.491826 0.557780 0.359323
Fold 5 0.699065 0.514724 0.549997 0.354288 0.336394 0.527423 0.603510 0.438371 0.480249 0.319622 0.604511 0.438925 0.481538 0.320246
Mean 0.746760 0.526038 0.605044 0.367022 0.294172 0.514589 0.661905 0.438678 0.537394 0.318350 0.664476 0.439761 0.540730 0.319617
Std 0.044713 0.034417 0.055337 0.029570 0.044091 0.035239 0.053847 0.038571 0.056871 0.029736 0.054576 0.039033 0.057790 0.030183
# bb_core_flair results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' IoU' val_IoU' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU
Fold 1 0.762900 0.522564 0.624926 0.368759 0.269591 0.511220 0.676501 0.483391 0.558735 0.354057 0.677989 0.484082 0.560765 0.354877
Fold 2 0.767437 0.514076 0.633839 0.353254 0.271744 0.523148 0.703372 0.474699 0.583634 0.343240 0.704687 0.475438 0.585312 0.344066
Fold 3 0.841017 0.589142 0.728014 0.427585 0.203620 0.458676 0.792805 0.488876 0.679276 0.361714 0.794365 0.489529 0.681392 0.362363
Fold 4 0.821062 0.581418 0.703402 0.414962 0.219410 0.457132 0.771257 0.498097 0.655367 0.364366 0.772398 0.498550 0.656858 0.364824
Fold 5 0.783634 0.520505 0.650022 0.358578 0.254830 0.524741 0.729278 0.488426 0.605239 0.356151 0.730960 0.489529 0.607494 0.357414
Mean 0.795210 0.545541 0.668041 0.384628 0.243839 0.494983 0.734642 0.486698 0.616450 0.355906 0.736080 0.487426 0.618364 0.356709
Std 0.030711 0.032659 0.040498 0.030595 0.027484 0.030638 0.042686 0.007650 0.044711 0.007338 0.042667 0.007582 0.044682 0.007232
Results Summary
Out[14]:
  DSC val_DSC IoU val_IoU DSC' val_DSC' IoU' val_IoU' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU
bb_core_t1 Mean 0.803344 0.490676 0.677631 0.336309 0.716029 0.409804 0.603046 0.293652 0.717735 0.410694 0.605366 0.294587
bb_core_t1 Std 0.049107 0.021818 0.064362 0.018109 0.048590 0.020483 0.058575 0.018190 0.048591 0.020171 0.058663 0.018061
bb_core_t1ce Mean 0.865055 0.765296 0.772568 0.644136 0.824875 0.694530 0.737978 0.591919 0.826638 0.695708 0.740667 0.593624
bb_core_t1ce Std 0.052703 0.055413 0.070028 0.065396 0.055818 0.055721 0.060996 0.058193 0.055912 0.055873 0.061241 0.058458
bb_core_t2 Mean 0.746760 0.526038 0.605044 0.367022 0.661905 0.438678 0.537394 0.318350 0.664476 0.439761 0.540730 0.319617
bb_core_t2 Std 0.044713 0.034417 0.055337 0.029570 0.053847 0.038571 0.056871 0.029736 0.054576 0.039033 0.057790 0.030183
bb_core_flair Mean 0.795210 0.545541 0.668041 0.384628 0.734642 0.486698 0.616450 0.355906 0.736080 0.487426 0.618364 0.356709
bb_core_flair Std 0.030711 0.032659 0.040498 0.030595 0.042686 0.007650 0.044711 0.007338 0.042667 0.007582 0.044682 0.007232

T1ce performs considerably better than the other options, even if all of them produce some limited, useful results. This matches the t1ce results for necrotic and enhancing regions. Overfitting is also visible here.

Segmenting Multiple Nested or Separate Regions using all Modalities¶

We now look at the nested segmentation region and separate segmentation regions using all modalities. We could have combined some of them first, but the results on the whole tumour are not encouraging here, as they indicate that there is mainly one modality that enables segmentation (at least for this UNet architecture).

Nested options:

  • nested: seg+1+2+4 > seg+1+4 > seg+1
  • nested core: seg+1+2+4 > seg+1+4
  • nested edema: seg+1+2+4 > seg+2
  • separte: seg+1, seg+4, seg+2
  • separate core: seg+1+4, seg+2
In [15]:
show_results(["bb_nested_flair+t1+t1ce+t2", "bb_nestedCore_flair+t1+t1ce+t2", "bb_nestedEdema_flair+t1+t1ce+t2", "bb_separate_flair+t1+t1ce+t2", "bb_separateCore_flair+t1+t1ce+t2"])
# bb_nested_flair+t1+t1ce+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' DSC_c0' val_DSC_c0' DSC_c1' val_DSC_c1' DSC_c2' val_DSC_c2' IoU' val_IoU' IoU_c0' val_IoU_c0' IoU_c1' val_IoU_c1' IoU_c2' val_IoU_c2' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.816706 0.715437 0.699311 0.578984 0.213033 0.315034 0.749345 0.650715 0.840338 0.791750 0.820972 0.707337 0.586726 0.453059 0.635936 0.533474 0.735226 0.679532 0.715587 0.589334 0.456996 0.331556 0.822776 0.708716 0.718374 0.591252 0.633905 0.533981 0.488552 0.385836 0.514377 0.447359 0.386177 0.321188 0.592416 0.453833 0.463235 0.332900 0.841802 0.792945 0.737410 0.681243
Fold 2 0.806320 0.698856 0.685952 0.565504 0.226737 0.329728 0.743742 0.646551 0.830538 0.815961 0.834737 0.689881 0.565951 0.433811 0.628411 0.528056 0.718110 0.703992 0.732946 0.567041 0.434178 0.313135 0.836538 0.690630 0.735559 0.568158 0.649773 0.570859 0.499431 0.425378 0.488249 0.371624 0.356372 0.256956 0.570663 0.434684 0.439017 0.314017 0.831502 0.817108 0.719523 0.705668
Fold 3 0.769543 0.648300 0.635967 0.506661 0.259669 0.384770 0.704338 0.565283 0.789100 0.728552 0.777255 0.612607 0.546659 0.354690 0.579604 0.451231 0.666982 0.604272 0.660224 0.498851 0.411606 0.250570 0.778664 0.613466 0.662223 0.500164 0.552905 0.509215 0.405977 0.367828 0.446908 0.390108 0.322429 0.276076 0.551263 0.355458 0.416269 0.251304 0.790019 0.729221 0.668269 0.605172
Fold 4 0.791505 0.693635 0.665586 0.549282 0.242801 0.343124 0.721607 0.617795 0.807556 0.780490 0.796652 0.664598 0.560613 0.408296 0.602126 0.494465 0.695300 0.659620 0.684254 0.535616 0.426822 0.288158 0.798500 0.665727 0.686923 0.537348 0.574157 0.521755 0.430701 0.379249 0.456438 0.418339 0.333109 0.294852 0.563884 0.410688 0.430461 0.290600 0.810011 0.782899 0.698829 0.662910
Fold 5 0.789307 0.671594 0.666555 0.530805 0.237186 0.359300 0.733619 0.627964 0.842366 0.790336 0.799114 0.685630 0.559378 0.407926 0.616860 0.506040 0.736611 0.668241 0.687176 0.563189 0.426792 0.286689 0.800508 0.686552 0.689195 0.564466 0.620223 0.524990 0.470071 0.374918 0.423063 0.377843 0.300939 0.257724 0.561399 0.408619 0.429224 0.287685 0.843260 0.790821 0.737938 0.668940
Mean 0.794676 0.685564 0.670674 0.546247 0.235885 0.346391 0.730530 0.621662 0.821979 0.781418 0.805746 0.672011 0.563865 0.411556 0.612587 0.502653 0.710446 0.663131 0.696037 0.550806 0.431279 0.294022 0.807397 0.673018 0.698455 0.552278 0.606192 0.532160 0.458946 0.386642 0.465807 0.401055 0.339805 0.281359 0.567925 0.412657 0.435641 0.295301 0.823319 0.782599 0.712394 0.664787
Std 0.016071 0.023315 0.021452 0.025524 0.015628 0.024130 0.016148 0.030649 0.020567 0.028897 0.020054 0.032670 0.013067 0.033092 0.020056 0.029387 0.026366 0.032989 0.025473 0.031085 0.014811 0.027387 0.020189 0.032764 0.025710 0.031172 0.036688 0.020915 0.035335 0.020234 0.032046 0.028170 0.029265 0.024292 0.013739 0.033083 0.015596 0.027495 0.020456 0.029034 0.026307 0.033217
# bb_nestedCore_flair+t1+t1ce+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' DSC_c0' val_DSC_c0' DSC_c1' val_DSC_c1' IoU' val_IoU' IoU_c0' val_IoU_c0' IoU_c1' val_IoU_c1' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.880785 0.817964 0.788362 0.700932 0.142165 0.205572 0.854977 0.780387 0.866610 0.825614 0.843345 0.735161 0.757762 0.669891 0.771316 0.721554 0.744207 0.618228 0.845668 0.737063 0.747607 0.620828 0.697076 0.605532 0.556000 0.455384 0.868165 0.827092 0.773707 0.723715
Fold 2 0.887225 0.791334 0.798026 0.668335 0.136205 0.230675 0.863601 0.756213 0.872608 0.829706 0.854594 0.682719 0.767705 0.644127 0.779169 0.725308 0.756240 0.562945 0.856835 0.683997 0.759590 0.564772 0.707303 0.582121 0.566339 0.438602 0.874323 0.831363 0.781843 0.727767
Fold 3 0.889687 0.810888 0.802216 0.689144 0.134017 0.214106 0.865895 0.755121 0.876393 0.806668 0.855397 0.703574 0.772683 0.643219 0.785182 0.702368 0.760185 0.584070 0.857764 0.705372 0.763715 0.586393 0.706119 0.633557 0.564479 0.495239 0.878077 0.808087 0.787804 0.704468
Fold 4 0.881363 0.813692 0.790112 0.693638 0.142645 0.211995 0.853712 0.779290 0.869564 0.837173 0.837860 0.721407 0.758731 0.662563 0.777020 0.729950 0.740443 0.595176 0.840099 0.723186 0.743926 0.597552 0.701901 0.629089 0.563584 0.482854 0.871076 0.838803 0.779373 0.732341
Fold 5 0.863996 0.804016 0.763320 0.682666 0.160394 0.224977 0.831291 0.765224 0.857736 0.812653 0.804846 0.717794 0.730504 0.653592 0.760371 0.704733 0.700636 0.602451 0.807593 0.720079 0.704999 0.605603 0.684095 0.599293 0.543862 0.453291 0.860159 0.814585 0.764083 0.707681
Mean 0.880611 0.807579 0.788407 0.686943 0.143085 0.217465 0.853895 0.767247 0.868582 0.822363 0.839208 0.712131 0.757477 0.654678 0.774612 0.716783 0.740342 0.592574 0.841592 0.713939 0.743967 0.595029 0.699299 0.609918 0.558853 0.465074 0.870360 0.823986 0.777362 0.719194
Std 0.008975 0.009303 0.013531 0.011045 0.009276 0.009095 0.012250 0.010868 0.006320 0.011175 0.018431 0.017814 0.014595 0.010367 0.008390 0.011152 0.021157 0.018507 0.018268 0.018044 0.020813 0.018835 0.008408 0.019137 0.008282 0.020783 0.006077 0.011178 0.008035 0.011101
# bb_nestedEdema_flair+t1+t1ce+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' DSC_c0' val_DSC_c0' DSC_c1' val_DSC_c1' IoU' val_IoU' IoU_c0' val_IoU_c0' IoU_c1' val_IoU_c1' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.768011 0.716529 0.641441 0.578613 0.246613 0.298551 0.745783 0.694385 0.865678 0.820839 0.625888 0.567931 0.626131 0.566766 0.772998 0.716913 0.479265 0.416620 1.297326e-09 8.953387e-10 1.297326e-09 8.953387e-10 0.627098 0.568969 0.480646 0.417709 0.866986 0.822008 0.775048 0.718678
Fold 2 0.768008 0.753593 0.643613 0.623868 0.245591 0.261306 0.751832 0.718400 0.880239 0.850218 0.623425 0.586582 0.632087 0.597517 0.790680 0.753228 0.473493 0.441807 1.015554e-03 1.201093e-03 5.083242e-04 6.014264e-04 0.624421 0.587361 0.474614 0.442630 0.881372 0.851162 0.792460 0.754674
Fold 3 0.768151 0.755943 0.644339 0.621449 0.247219 0.260085 0.750360 0.717226 0.882213 0.814405 0.618508 0.620048 0.630303 0.594543 0.792339 0.713340 0.468268 0.475746 3.472502e-03 3.318186e-03 1.742028e-03 1.667203e-03 0.620037 0.621378 0.469949 0.477290 0.883859 0.815649 0.794929 0.715228
Fold 4 0.777564 0.738544 0.654294 0.603654 0.234757 0.275113 0.759121 0.709810 0.885590 0.828241 0.632653 0.591380 0.641660 0.582034 0.798324 0.720936 0.484997 0.443133 7.472297e-05 7.255922e-05 3.736725e-05 3.628495e-05 0.633761 0.592262 0.486251 0.444096 0.886739 0.829173 0.800120 0.722309
Fold 5 0.775685 0.736807 0.653942 0.600617 0.236717 0.272171 0.758905 0.709721 0.888000 0.835985 0.629811 0.583458 0.641492 0.581026 0.801601 0.729118 0.481383 0.432935 6.787886e-04 6.949784e-04 3.396530e-04 3.477419e-04 0.630436 0.584023 0.482093 0.433521 0.888669 0.836584 0.802663 0.730000
Mean 0.771484 0.740283 0.647526 0.605640 0.242179 0.273445 0.753200 0.709909 0.880344 0.829938 0.626057 0.589879 0.634335 0.584377 0.791188 0.726707 0.477481 0.442048 1.048314e-03 1.057363e-03 5.254747e-04 5.305314e-04 0.627151 0.590799 0.478710 0.443049 0.881525 0.830915 0.793044 0.728178
Std 0.004239 0.014154 0.005468 0.016382 0.005322 0.013860 0.005149 0.008564 0.007807 0.012448 0.004930 0.017007 0.006221 0.010981 0.009918 0.014262 0.005928 0.019321 1.269736e-03 1.212531e-03 6.370551e-04 6.092951e-04 0.004744 0.017155 0.005755 0.019527 0.007682 0.012309 0.009699 0.014127
# bb_separate_flair+t1+t1ce+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' DSC_c0' val_DSC_c0' DSC_c1' val_DSC_c1' DSC_c2' val_DSC_c2' IoU' val_IoU' IoU_c0' val_IoU_c0' IoU_c1' val_IoU_c1' IoU_c2' val_IoU_c2' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.737905 0.607213 0.590359 0.451657 0.295094 0.426982 0.635994 0.527295 0.573972 0.420168 0.616519 0.547404 0.717491 0.614313 0.503764 0.395664 0.449088 0.305099 0.485087 0.416312 0.577118 0.465580 0.882940 0.766335 0.803468 0.675041 0.719452 0.615794 0.579425 0.467200 0.636306 0.550843 0.505102 0.419437 0.578926 0.420819 0.454486 0.306014 0.926074 0.896277 0.864761 0.816937
Fold 2 0.754270 0.605833 0.612413 0.454307 0.280202 0.425562 0.662973 0.537770 0.606427 0.472497 0.665750 0.526766 0.716740 0.614048 0.531422 0.410480 0.481234 0.353688 0.537779 0.403133 0.575251 0.474620 0.888923 0.754135 0.815163 0.660480 0.719158 0.615243 0.578135 0.476008 0.692121 0.582495 0.564611 0.459035 0.612019 0.474122 0.487419 0.355427 0.928621 0.915937 0.869127 0.851383
Fold 3 0.670508 0.555071 0.520251 0.405275 0.359822 0.478861 0.605617 0.464427 0.581213 0.348180 0.540194 0.451308 0.695445 0.593794 0.470984 0.346769 0.452764 0.254703 0.411386 0.332955 0.548803 0.452649 0.899630 0.790013 0.833620 0.693817 0.697674 0.594978 0.551373 0.454022 0.548601 0.479228 0.420075 0.361159 0.587311 0.348834 0.459363 0.255727 0.907194 0.883571 0.833034 0.803751
Fold 4 0.510702 0.360023 0.414564 0.255669 0.513239 0.665719 0.441636 0.314072 0.596482 0.338287 0.012117 0.012621 0.716309 0.591307 0.352393 0.228499 0.474138 0.234460 0.006133 0.006383 0.576909 0.444654 0.025947 0.026609 0.013260 0.013628 0.718610 0.592457 0.579662 0.446061 0.012391 0.012868 0.006273 0.006509 0.598610 0.338857 0.476557 0.235070 0.060852 0.059983 0.031714 0.031275
Fold 5 0.642484 0.557565 0.487046 0.403335 0.383881 0.473660 0.570485 0.495976 0.531709 0.431172 0.531474 0.509798 0.648274 0.546960 0.437881 0.368428 0.401814 0.320459 0.404613 0.377543 0.507217 0.407282 0.876220 0.799987 0.805607 0.707720 0.651505 0.548224 0.510812 0.408792 0.536499 0.525090 0.410026 0.392919 0.534272 0.445487 0.404649 0.335309 0.932563 0.928086 0.878570 0.869074
Mean 0.663174 0.537141 0.524927 0.394048 0.366447 0.494157 0.583341 0.467908 0.577961 0.402061 0.473211 0.409579 0.698852 0.592084 0.459289 0.349968 0.451808 0.293682 0.369000 0.307265 0.557059 0.448957 0.714732 0.627416 0.654224 0.550137 0.701280 0.593339 0.559882 0.450416 0.485184 0.430105 0.381218 0.327812 0.582227 0.405624 0.456495 0.297509 0.751061 0.736771 0.695441 0.674484
Std 0.086733 0.091365 0.071515 0.072541 0.082976 0.088663 0.077273 0.081084 0.025765 0.051199 0.235838 0.201042 0.026615 0.024561 0.061972 0.064584 0.027829 0.043531 0.187989 0.153108 0.027128 0.023254 0.344478 0.300847 0.320659 0.268736 0.026232 0.024588 0.026783 0.023243 0.243248 0.211340 0.195910 0.163830 0.026428 0.053282 0.028492 0.045826 0.345215 0.338744 0.332216 0.322453
# bb_separateCore_flair+t1+t1ce+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' DSC_c0' val_DSC_c0' DSC_c1' val_DSC_c1' IoU' val_IoU' IoU_c0' val_IoU_c0' IoU_c1' val_IoU_c1' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.409572 0.340202 0.337150 0.252379 0.603352 0.673179 0.385417 0.316878 0.025318 0.027712 0.745515 0.606043 0.313887 0.233810 0.012942 0.014168 0.614832 0.453452 0.025544 0.028214 0.013059 0.014430 0.747480 0.607479 0.617396 0.454992 0.061327 0.058090 0.031970 0.030255
Fold 2 0.828139 0.682577 0.711618 0.527865 0.212529 0.356913 0.791394 0.640644 0.843605 0.675937 0.739182 0.605350 0.671131 0.503066 0.742586 0.545608 0.599676 0.460524 0.846362 0.677798 0.746593 0.548128 0.742171 0.607198 0.603399 0.462540 0.874113 0.829887 0.780457 0.724545
Fold 3 0.825418 0.724857 0.708227 0.580347 0.202475 0.305830 0.780865 0.643991 0.831553 0.657443 0.730178 0.630538 0.661715 0.522159 0.730955 0.548449 0.592474 0.495870 0.833862 0.658775 0.734262 0.550295 0.732203 0.631332 0.594891 0.496906 0.875756 0.788141 0.785538 0.685212
Fold 4 0.670886 0.625123 0.519849 0.468406 0.358222 0.405222 0.610339 0.571703 0.688479 0.620834 0.532198 0.522573 0.480181 0.438667 0.572098 0.495577 0.388265 0.381756 0.690032 0.622517 0.574323 0.497684 0.533235 0.523533 0.389386 0.382800 0.808648 0.789889 0.706279 0.677013
Fold 5 0.843655 0.722984 0.733076 0.578923 0.190251 0.316285 0.800332 0.677412 0.847923 0.716320 0.752742 0.638503 0.685408 0.545508 0.749846 0.599748 0.620970 0.491267 0.850731 0.718385 0.754017 0.602537 0.756178 0.640920 0.625344 0.494041 0.887514 0.829823 0.801364 0.722768
Mean 0.715534 0.619149 0.601984 0.481584 0.313366 0.411486 0.673669 0.570125 0.647376 0.539649 0.699963 0.600601 0.562464 0.448642 0.561685 0.440710 0.563243 0.456574 0.649306 0.541138 0.564451 0.442615 0.702253 0.602093 0.566083 0.458256 0.701471 0.659166 0.621122 0.567959
Std 0.165394 0.144101 0.153216 0.121720 0.157306 0.135445 0.160308 0.131207 0.316636 0.257811 0.084210 0.041166 0.145145 0.113139 0.282138 0.215802 0.088083 0.040916 0.317554 0.258319 0.283576 0.216646 0.084866 0.041447 0.088982 0.041224 0.321268 0.301093 0.296398 0.269538
Results Summary
Out[15]:
  DSC val_DSC IoU val_IoU DSC' val_DSC' DSC_c0' val_DSC_c0' DSC_c1' val_DSC_c1' DSC_c2' val_DSC_c2' IoU' val_IoU' IoU_c0' val_IoU_c0' IoU_c1' val_IoU_c1' IoU_c2' val_IoU_c2' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
bb_nested_flair+t1+t1ce+t2 Mean 0.794676 0.685564 0.670674 0.546247 0.730530 0.621662 0.821979 0.781418 0.805746 0.672011 0.563865 0.411556 0.612587 0.502653 0.710446 0.663131 0.696037 0.550806 0.431279 0.294022 0.807397 0.673018 0.698455 0.552278 0.606192 0.532160 0.458946 0.386642 0.465807 0.401055 0.339805 0.281359 0.567925 0.412657 0.435641 0.295301 0.823319 0.782599 0.712394 0.664787
bb_nested_flair+t1+t1ce+t2 Std 0.016071 0.023315 0.021452 0.025524 0.016148 0.030649 0.020567 0.028897 0.020054 0.032670 0.013067 0.033092 0.020056 0.029387 0.026366 0.032989 0.025473 0.031085 0.014811 0.027387 0.020189 0.032764 0.025710 0.031172 0.036688 0.020915 0.035335 0.020234 0.032046 0.028170 0.029265 0.024292 0.013739 0.033083 0.015596 0.027495 0.020456 0.029034 0.026307 0.033217
bb_nestedCore_flair+t1+t1ce+t2 Mean 0.880611 0.807579 0.788407 0.686943 0.853895 0.767247 0.868582 0.822363 0.839208 0.712131 nan nan 0.757477 0.654678 0.774612 0.716783 0.740342 0.592574 nan nan 0.841592 0.713939 0.743967 0.595029 0.699299 0.609918 0.558853 0.465074 nan nan nan nan nan nan nan nan 0.870360 0.823986 0.777362 0.719194
bb_nestedCore_flair+t1+t1ce+t2 Std 0.008975 0.009303 0.013531 0.011045 0.012250 0.010868 0.006320 0.011175 0.018431 0.017814 nan nan 0.014595 0.010367 0.008390 0.011152 0.021157 0.018507 nan nan 0.018268 0.018044 0.020813 0.018835 0.008408 0.019137 0.008282 0.020783 nan nan nan nan nan nan nan nan 0.006077 0.011178 0.008035 0.011101
bb_nestedEdema_flair+t1+t1ce+t2 Mean 0.771484 0.740283 0.647526 0.605640 0.753200 0.709909 0.880344 0.829938 0.626057 0.589879 nan nan 0.634335 0.584377 0.791188 0.726707 0.477481 0.442048 nan nan 0.001048 0.001057 0.000525 0.000531 0.627151 0.590799 0.478710 0.443049 nan nan nan nan nan nan nan nan 0.881525 0.830915 0.793044 0.728178
bb_nestedEdema_flair+t1+t1ce+t2 Std 0.004239 0.014154 0.005468 0.016382 0.005149 0.008564 0.007807 0.012448 0.004930 0.017007 nan nan 0.006221 0.010981 0.009918 0.014262 0.005928 0.019321 nan nan 0.001270 0.001213 0.000637 0.000609 0.004744 0.017155 0.005755 0.019527 nan nan nan nan nan nan nan nan 0.007682 0.012309 0.009699 0.014127
bb_separate_flair+t1+t1ce+t2 Mean 0.663174 0.537141 0.524927 0.394048 0.583341 0.467908 0.577961 0.402061 0.473211 0.409579 0.698852 0.592084 0.459289 0.349968 0.451808 0.293682 0.369000 0.307265 0.557059 0.448957 0.714732 0.627416 0.654224 0.550137 0.701280 0.593339 0.559882 0.450416 0.485184 0.430105 0.381218 0.327812 0.582227 0.405624 0.456495 0.297509 0.751061 0.736771 0.695441 0.674484
bb_separate_flair+t1+t1ce+t2 Std 0.086733 0.091365 0.071515 0.072541 0.077273 0.081084 0.025765 0.051199 0.235838 0.201042 0.026615 0.024561 0.061972 0.064584 0.027829 0.043531 0.187989 0.153108 0.027128 0.023254 0.344478 0.300847 0.320659 0.268736 0.026232 0.024588 0.026783 0.023243 0.243248 0.211340 0.195910 0.163830 0.026428 0.053282 0.028492 0.045826 0.345215 0.338744 0.332216 0.322453
bb_separateCore_flair+t1+t1ce+t2 Mean 0.715534 0.619149 0.601984 0.481584 0.673669 0.570125 0.647376 0.539649 0.699963 0.600601 nan nan 0.562464 0.448642 0.561685 0.440710 0.563243 0.456574 nan nan 0.649306 0.541138 0.564451 0.442615 0.702253 0.602093 0.566083 0.458256 nan nan nan nan nan nan nan nan 0.701471 0.659166 0.621122 0.567959
bb_separateCore_flair+t1+t1ce+t2 Std 0.165394 0.144101 0.153216 0.121720 0.160308 0.131207 0.316636 0.257811 0.084210 0.041166 nan nan 0.145145 0.113139 0.282138 0.215802 0.088083 0.040916 nan nan 0.317554 0.258319 0.283576 0.216646 0.084866 0.041447 0.088982 0.041224 nan nan nan nan nan nan nan nan 0.321268 0.301093 0.296398 0.269538

Nested approaches perform better than separate regions if we try to identify multiple regions and look at the raw metrics over all regions. On the individual regions with standardised metrics, the results are quite mixed between the two options.

The whole tumour is best identified by nestedEdema, but nestedCore is close, both effectively only identfiying the core. For nested, separating the core into enahcning and necrotic, we still get a good result, better than the separata options.

Expectedly, enhancing and necrotic regions alone are difficult to identify with no noticeable difference between the nested and separate option.

Combining enhancing and necrotic region into core works noticeably better and the nested options work better than the separate options, with the exception of nestedEdema. nestedEdema does not explicitly identify the core, but the edema, which may be the reason (it is an inverted nesting in that sense and so a whole would have to be identified).

Edema is similarly identified across all options, except for the inverted nestedEdema option, which fails completely. The separate options work better than the nested options.

All show some overfitting.

None of the approaches give better result than the networks identifying individual regions and are at best nearly as good. The exception here is the core where nestedCore gives slightly better results. This indicates features across modalities, if they exist, are not well exploited.

Segmenting Nested Regions using Two/Three Modalities¶

Finally, we reduce the number of modalities for segmenting the full nested regions.

In [16]:
show_results(["bb_nested_flair+t1ce","bb_nested_flair+t1ce+t2"])
# bb_nested_flair+t1ce results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' DSC_c0' val_DSC_c0' DSC_c1' val_DSC_c1' DSC_c2' val_DSC_c2' IoU' val_IoU' IoU_c0' val_IoU_c0' IoU_c1' val_IoU_c1' IoU_c2' val_IoU_c2' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.761034 0.620482 0.628323 0.473546 0.272361 0.411384 0.689902 0.584355 0.817110 0.785168 0.726786 0.590752 0.525811 0.377143 0.568251 0.458021 0.714258 0.668036 0.596774 0.446067 0.393722 0.259959 0.729781 0.591839 0.600604 0.447253 0.554336 0.432603 0.417217 0.290797 0.312543 0.229077 0.204968 0.141095 0.528084 0.378040 0.396280 0.260938 0.819193 0.787155 0.717354 0.670824
Fold 2 0.817127 0.668141 0.699529 0.531734 0.218437 0.366766 0.749479 0.605683 0.834816 0.784852 0.825477 0.632109 0.588145 0.400088 0.637927 0.492346 0.730989 0.674024 0.722738 0.514458 0.460055 0.288554 0.828362 0.633318 0.727106 0.516357 0.648827 0.558088 0.503822 0.420886 0.531306 0.456189 0.404166 0.339748 0.594056 0.401565 0.466556 0.290147 0.836641 0.786577 0.733726 0.676383
Fold 3 0.819805 0.682323 0.703424 0.543186 0.210927 0.351262 0.760029 0.594672 0.842901 0.763917 0.831662 0.646155 0.605525 0.373945 0.644825 0.479316 0.737975 0.652613 0.726833 0.522305 0.469668 0.263030 0.833956 0.647534 0.730276 0.524193 0.628745 0.550483 0.480798 0.408124 0.465728 0.387184 0.336756 0.268410 0.608250 0.374260 0.472611 0.263703 0.844081 0.764901 0.739760 0.653993
Fold 4 0.803490 0.706285 0.682281 0.566393 0.226897 0.324089 0.744643 0.636235 0.837509 0.812719 0.808214 0.669528 0.588205 0.426459 0.628446 0.513883 0.732889 0.698256 0.695710 0.535440 0.456739 0.307954 0.810989 0.671704 0.699697 0.538178 0.625201 0.569792 0.479761 0.417777 0.500611 0.460635 0.376219 0.322345 0.590516 0.426731 0.459781 0.309132 0.839197 0.814609 0.735446 0.700976
Fold 5 0.776107 0.646162 0.643881 0.500513 0.257524 0.394200 0.691503 0.583712 0.793543 0.763808 0.740145 0.588347 0.540821 0.398981 0.571389 0.465584 0.683540 0.642932 0.620796 0.463343 0.409831 0.290477 0.741721 0.589441 0.623250 0.464923 0.576271 0.499650 0.439870 0.362012 0.368320 0.355108 0.255138 0.244137 0.542822 0.414307 0.411969 0.305955 0.797050 0.768963 0.688648 0.650170
Mean 0.795513 0.664679 0.671488 0.523074 0.237229 0.369540 0.727111 0.600931 0.825176 0.782093 0.786457 0.625378 0.569701 0.395323 0.610168 0.481830 0.719930 0.667172 0.672570 0.496323 0.438003 0.281995 0.788962 0.626767 0.676187 0.498181 0.606676 0.522123 0.464294 0.379919 0.435702 0.377638 0.315450 0.263147 0.572746 0.398980 0.441440 0.285975 0.827232 0.784441 0.722987 0.670469
Std 0.023179 0.029498 0.030160 0.032613 0.023655 0.030876 0.030145 0.019388 0.018027 0.017999 0.044147 0.031611 0.030745 0.018937 0.033366 0.019875 0.019861 0.019044 0.053707 0.035064 0.030313 0.018078 0.044263 0.031959 0.054012 0.035515 0.035414 0.050772 0.031263 0.049336 0.082418 0.084531 0.074648 0.070225 0.031371 0.020304 0.031135 0.020375 0.017269 0.017569 0.018777 0.018162
# bb_nested_flair+t1ce+t2 results
No description has been provided for this image
DSC val_DSC IoU val_IoU loss val_loss DSC' val_DSC' DSC_c0' val_DSC_c0' DSC_c1' val_DSC_c1' DSC_c2' val_DSC_c2' IoU' val_IoU' IoU_c0' val_IoU_c0' IoU_c1' val_IoU_c1' IoU_c2' val_IoU_c2' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
Fold 1 0.779002 0.672003 0.648688 0.529349 0.255551 0.360792 0.719423 0.604914 0.808188 0.767718 0.803298 0.676052 0.546784 0.370971 0.598273 0.482279 0.686752 0.635360 0.689695 0.546439 0.418371 0.265039 0.806052 0.677486 0.693538 0.548413 0.600253 0.512683 0.450773 0.362851 0.531608 0.448417 0.402653 0.322077 0.551861 0.371505 0.423819 0.266024 0.809950 0.769915 0.689209 0.638156
Fold 2 0.827764 0.683941 0.713086 0.546527 0.203324 0.342268 0.763364 0.632032 0.848093 0.816181 0.840611 0.652884 0.601390 0.427031 0.650383 0.514511 0.742711 0.704199 0.736764 0.527665 0.471673 0.311670 0.844272 0.654541 0.742204 0.529872 0.662827 0.563397 0.516705 0.418426 0.538133 0.425310 0.409423 0.308033 0.607624 0.429368 0.478810 0.314289 0.850091 0.818122 0.745717 0.706958
Fold 3 0.764279 0.567504 0.631895 0.431506 0.264601 0.462027 0.693899 0.479870 0.797439 0.720458 0.730472 0.463688 0.553785 0.255465 0.572566 0.376563 0.686771 0.614727 0.608108 0.342516 0.422820 0.172446 0.731825 0.464218 0.610626 0.343346 0.549546 0.473581 0.410567 0.335781 0.344579 0.217857 0.228485 0.141517 0.558475 0.255673 0.427723 0.172674 0.798667 0.721513 0.688591 0.616397
Fold 4 0.782030 0.734676 0.654056 0.599196 0.245270 0.294846 0.715339 0.660821 0.797784 0.787334 0.801597 0.738290 0.546634 0.456837 0.596886 0.540839 0.677857 0.663773 0.693306 0.618804 0.419495 0.339942 0.803453 0.740217 0.696065 0.621359 0.581990 0.558323 0.434213 0.407843 0.551878 0.550425 0.426098 0.413404 0.551178 0.457601 0.424665 0.341141 0.799103 0.788612 0.679712 0.665513
Fold 5 0.828476 0.697183 0.714185 0.556555 0.206962 0.341428 0.768859 0.645558 0.860668 0.811314 0.827481 0.680249 0.618426 0.445111 0.655753 0.527372 0.763309 0.698642 0.716730 0.550474 0.487219 0.333000 0.830531 0.682551 0.721258 0.553452 0.655564 0.538722 0.511035 0.391749 0.520485 0.494635 0.393330 0.358391 0.621848 0.460075 0.491048 0.348356 0.864061 0.814496 0.768557 0.703372
Mean 0.796310 0.671061 0.672382 0.532627 0.235141 0.360272 0.732177 0.604639 0.822434 0.780601 0.800692 0.642233 0.573404 0.391083 0.614772 0.488313 0.711480 0.663340 0.688920 0.517179 0.443916 0.284419 0.803227 0.643803 0.692738 0.519288 0.610036 0.529341 0.464658 0.383330 0.497337 0.427329 0.371998 0.308684 0.578197 0.394844 0.449213 0.288497 0.824374 0.782532 0.714357 0.666079
Std 0.026659 0.055893 0.034469 0.055558 0.025272 0.055343 0.029085 0.065036 0.026666 0.034750 0.038078 0.093603 0.030399 0.073935 0.032622 0.059153 0.034682 0.034819 0.043847 0.092639 0.029460 0.061804 0.038824 0.094125 0.044753 0.093275 0.043361 0.033089 0.042202 0.030278 0.077051 0.113146 0.072551 0.091172 0.030278 0.076549 0.029446 0.064714 0.027364 0.035236 0.035826 0.035525
Results Summary
Out[16]:
  DSC val_DSC IoU val_IoU DSC' val_DSC' DSC_c0' val_DSC_c0' DSC_c1' val_DSC_c1' DSC_c2' val_DSC_c2' IoU' val_IoU' IoU_c0' val_IoU_c0' IoU_c1' val_IoU_c1' IoU_c2' val_IoU_c2' STD-cor-DSC val_STD-cor-DSC STD-cor-IoU val_STD-cor-IoU STD-ede-DSC val_STD-ede-DSC STD-ede-IoU val_STD-ede-IoU STD-enh-DSC val_STD-enh-DSC STD-enh-IoU val_STD-enh-IoU STD-nec-DSC val_STD-nec-DSC STD-nec-IoU val_STD-nec-IoU STD-whl-DSC val_STD-whl-DSC STD-whl-IoU val_STD-whl-IoU
bb_nested_flair+t1ce Mean 0.795513 0.664679 0.671488 0.523074 0.727111 0.600931 0.825176 0.782093 0.786457 0.625378 0.569701 0.395323 0.610168 0.481830 0.719930 0.667172 0.672570 0.496323 0.438003 0.281995 0.788962 0.626767 0.676187 0.498181 0.606676 0.522123 0.464294 0.379919 0.435702 0.377638 0.315450 0.263147 0.572746 0.398980 0.441440 0.285975 0.827232 0.784441 0.722987 0.670469
bb_nested_flair+t1ce Std 0.023179 0.029498 0.030160 0.032613 0.030145 0.019388 0.018027 0.017999 0.044147 0.031611 0.030745 0.018937 0.033366 0.019875 0.019861 0.019044 0.053707 0.035064 0.030313 0.018078 0.044263 0.031959 0.054012 0.035515 0.035414 0.050772 0.031263 0.049336 0.082418 0.084531 0.074648 0.070225 0.031371 0.020304 0.031135 0.020375 0.017269 0.017569 0.018777 0.018162
bb_nested_flair+t1ce+t2 Mean 0.796310 0.671061 0.672382 0.532627 0.732177 0.604639 0.822434 0.780601 0.800692 0.642233 0.573404 0.391083 0.614772 0.488313 0.711480 0.663340 0.688920 0.517179 0.443916 0.284419 0.803227 0.643803 0.692738 0.519288 0.610036 0.529341 0.464658 0.383330 0.497337 0.427329 0.371998 0.308684 0.578197 0.394844 0.449213 0.288497 0.824374 0.782532 0.714357 0.666079
bb_nested_flair+t1ce+t2 Std 0.026659 0.055893 0.034469 0.055558 0.029085 0.065036 0.026666 0.034750 0.038078 0.093603 0.030399 0.073935 0.032622 0.059153 0.034682 0.034819 0.043847 0.092639 0.029460 0.061804 0.038824 0.094125 0.044753 0.093275 0.043361 0.033089 0.042202 0.030278 0.077051 0.113146 0.072551 0.091172 0.030278 0.076549 0.029446 0.064714 0.027364 0.035236 0.035826 0.035525

Reducing tahe number of input channels reduced the performance slightl, but noticebly. There is no significant differene between the two and three channel options, though.

This still hints towards limited ability of the networks to exploit relations between the channels.

Summary¶

Overall we see the following:

  • Single Modality:
    • Flair (and to some small extend t2) dominant:
      • Whole tumour: Especially flair and also t2 perform very well; t1/t1ce perform reasonable, but not as good.
      • Peritumoural edema: flair performs well; t2 and t1ce have some useful information, but are not as good.
    • T1ce dominant:
      • Necrotic/non-enhancing tumour: t1ce performs reasonable, but overall performance is poor.
      • Enhancing tumour: t1ce performs reasonable, but all others perform poorly.
    • Core: t1ce performs well, while t2, flair and t1ce show some good, but generally mixed results across the folds. This makes sense given their performance on the individual regions making up the core.
  • Combine multiple input modalities
    • Only for whole tumour: no noticeable improvement when compared to single modality results, sometimes maybe worse; so did not test for others.
  • Multi-region segmentation:
    • Nested performs better than separated regions overall, but quite mixed results on individual regions.
    • Using fewer regions, expectedly, performs better in both cases, as in particular the core is easier to identify.
    • For nested approaches, necrotic is in particular hard to identify, but also core performs poorly if edema is last in nested modality (needs to identify a hole).
    • For separate approaches, we generally get poorer results, but there are better results for the enhancing and necrotic regions individually compared to the nested approaches (even if they are overall poor).
    • Using fewer modalities reduces the performance slightly, but makes not major difference to the results; there is no difference between two and three modalities.

Different modalities are useful for different regions, in particular flair and t1ce are useful and t2 to some extend; t1 does not seem to add much.

All networks seem to be struggling to exploit relations between the modalities.

We see some overfitting.