GitXplorerGitXplorer
y

BraTS_2021

public
11 stars
3 forks
0 issues

Commits

List of commits on branch main.
Unverified
301ec436e68edeebfd3679667e122cfd32c2a245

add loading by order

yyounesbelkada committed 3 years ago
Unverified
eaf4343d003819c9583452278c777386b716478f

Merge branch 'main' of github.com:younesbelkada/BraTS_2021 into main

AArthurZucker committed 3 years ago
Unverified
512166c81dd31edbea7dd6032369acff008f65e8

update readme

yyounesbelkada committed 3 years ago
Unverified
667fae3a9df7e717188b5fa7209f3a7882a60037

add efficientnet 3d

yyounesbelkada committed 3 years ago
Unverified
111fd42b00408ad16c77dcb917d84edd19126569

fix oz issue

yyounesbelkada committed 3 years ago
Unverified
d9a77a12021a18b5dd74396df313a1f52f8254f1

add readme

yyounesbelkada committed 3 years ago

README

The README file for this repository.

BraTS_2021

Our implementation of the BraTS 2021 challenge.

The Brain Tumor Segmentation (BraTS) challenge celebrates its 10th anniversary, and this year is jointly organized by the Radiological Society of North America (RSNA), the American Society of Neuroradiology (ASNR), and the Medical Image Computing and Computer Assisted Interventions (MICCAI) society.

The RSNA-ASNR-MICCAI BraTS 2021 challenge utilizes multi-institutional pre-operative baseline multi-parametric magnetic resonance imaging (mpMRI) scans, and focuses on the evaluation of state-of-the-art methods for (Task 1) the segmentation of intrinsically heterogeneous brain glioblastoma sub-regions in mpMRI scans. Furthemore, this BraTS 2021 challenge also focuses on the evaluation of (Task 2) classification methods to predict the MGMT promoter methylation status.

Architecture :

├── data                            # BraTS dataset from kaggle
│   ├── train                       # 586 samples
│       ├── FLAIR                   # describe FLAIR
│           ├── yyyyyy              # index of individual 
│               ├── Image-xxx.dcm   # dcm images
│       ├── T1w                     # describe
│       ├── T1wCE                   # describe
│       ├── T2w                     # describe
│   ├── test                        # only available on Arthur"s computer
│   ├── train_labels.csv            # only available on Arthur"s computer
│   ├── sample_submission.csv       # only available on Arthur"s computer
├── dataset						    # Files to process data, dataset loaders
├── experiments 				    # checkpoints and results of trainig
│   ├── name_of_experiment
├── agents                          # network agents
│   ├── baseline.py                     # defines model,dataloader, loss, optimizer...
├── config 
│   ├── name.yaml                   # parameters for runx experiment
├── graphs 
│   ├── models                      # actual model codes used in agents
│       ├── baseline.py
│   ├── loss                        # loss functions and their implementation
├── pretrained_weights
├── utils                           # utility files for measure, runx etc
├── main.py                         # main used to launch 
├── run.sh                          # run experiment (using runx)

The agent

The agent controls the training and evaluation process of your model and is considered the core of the project.

To Do List

27 July

  • Try to understand the problem, is it a binary classification problem or image segmentation ? Done
  • Try to understand the input Done
  • One model per tool -> then maybe agregate the results ?
  • One model per tool -> one submission per tool
  • Dataloader in pytorch to load dcm images / normalize input (256 pixels) Done
  • Learnable data normalization

28 July

Approaches that we can try:

  • Baseline : Resnet (binary Classification) using one tool

29 July

  • RNN with vec size 500 -> arthur will do this man
  • Understand how to deal with video data with arbitrary variable number of frames

30 July

  • Point cloud
  • KP Conv
  • voxel

Baselines

  • Mean image + Resnet / Efficientnet. According to kaggle discussions, Efficientnet is doing crazy on this dataset
  • 3d-CNN (according to kaggle)
  • 3d Efficientnet
  • Autoencoder + k-NN??
  • Adversarial training
  • Use external modalities (orientation of the image)

Articles to read :

UNETR: Transformers for 3D Medical Image Segmentation, source

We can leverage this idea for our case since they are dealing with sequential data as well. They are using 3d transformers given a set of frames. Attention mechanisms as well as skip connections (in 3d) are used. We definitely need to try out this after understanding the concept

Image

One-pass Multi-task Networks with Cross-task Guided Attention for Brain Tumor Segmentation, source

  • Medical Image Segmentation Using Squeeze-and-Expansion Transformers source
  • Regression Concept Vectors for Bidirectional Explanations in Histopathology source
  • Recurrent Saliency Transformation Network: Incorporating Multi-Stage Visual Cues for Small Organ Segmentation source

To do

  • Add hparam for the run, architecture file to check
  • use nvidi's runx? separate each run since the given args will be different