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
Notes
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:
/playpen-raid1/lin.tian/data/raw/DIRLABCasesHighRes
Path of annotations:
/playpen-raid1/zyshen/lungreg/evaluate/dirlablandmarks
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)
else:
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