March 8 progress:

GradICON Lung registration

preliminary network trained on lung dataset. Performance is mediocre, but I am still learning about this modality.


We get aroung a DICE of 97 for lung vs not-lung which is worse than Lin's ~98.5

We are working on landmark code.

Issue 1: Dataset is badly prepared. This is a bug in my code, need to document and fix

Issue 2: Overfitting. Solution: augment by using cross sample warping?

Question from zhenyang: should we be segmenting the lung and only registering inside it, like done with skull stripping?

Question from Hastings: where is the full resolution data? It is my white whale at this point

GradICON Knee registration

test performance plateued at dice 74.5. Very nice!

GradICON affine registration

Some unusual outcomes to experiments: in 2-D, intuitively should do affine then deformable registration, but in some circumstances doing deformable then affine performs better? notebook

ICON library tutorial

Working on an ICON library tutorial here


medical imaging decathlon lonk

TODO from beginning of week:

release GradICON on pip deploy GradICON full res and half res models to icon_registration.pretrained_models

Lung registration

Path of High resolution data:


Path of annotations:


Lin Tian algorithm for registering landmarks, original images:

# Pad the one with smaller size
        pad_size = ori_target.shape[0] - ori_source.shape[0]
        if pad_size > 0:
            ori_source = np.pad(ori_source, ((0, pad_size), (0, 0), (0, 0)), mode='constant', constant_values=-1024)
            ori_source_seg = np.pad(ori_source_seg, ((0, pad_size), (0, 0), (0, 0)), mode='constant', constant_values=0)
            ori_target = np.pad(ori_target, ((0, -pad_size), (0, 0), (0, 0)), mode='constant', constant_values=-1024)
            ori_target_seg = np.pad(ori_target_seg, ((0, -pad_size), (0, 0), (0, 0)), mode='constant', constant_values=0)
  • create training volume pyramid ☑️

  • train network☑️

    • get U-Net working on arbitrary sizes☑️

    • or

    • crop

  • update train test split to match the dirlab cases!!!!!!!!!!!!!!!

  • evaluate on dirlab

    • Run Lintian's code

      • get mermaid's pip installation fixed ☑️

      • get icon_registration's pip installation fixed ☑️

Monday Night task list

  • Refresh preprocessing pipeling

    • use footsteps for documenting progress

    • fix intensity map

    • fix train test split

  • Train cross sample network

  • Use cross sample network to augment for pairwise network

  • Evaluate DICE using all pairs instead of only one

- goal dice 98ish?

  • Write presentation

Find out more about evaluation process

Brain registration

  • pick a benchmark

Atlas registration

  • Try with GradICON

Velocity Field in ICON☑️

OAI pipeline 2'

  • make pip package

  • fix cpu tests

Back to Reports