Project-MONAI / Project-MONAI/tutorials

Add introductory k-space basics tutorial for MRI reconstruction

Aperta
#2,055 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Jupyter Notebook
Stelle
2.5k
Fork
803
Merge medio
6g 22h
PR unite (30g)
3

Descrizione

Summary

Adds a beginner-friendly introductory tutorial for MRI reconstruction using the fastMRI knee single-coil dataset and MONAI's reconstruction transforms.

Changes
  • New notebook: reconstruction/MRI_reconstruction/tutorials/01_kspace_basics_fastmri_knee.ipynb
    • Part 1: What is k-space (loading real data, inverse FFT)
    • Part 2: Fourier transform connection (low vs. high frequencies)
    • Part 3: Undersampling and aliasing artifacts (1x, 2x, 4x, 8x)
    • Part 4: Random vs. equispaced masks using RandomKspaceMaskd / EquispacedKspaceMaskd
    • Part 5: Full MONAI preprocessing pipeline (FastMRIReaderCenterSpatialCropdReferenceBasedNormalizeIntensityd)
    • Part 6: Zero-filled reconstruction → deep learning connection
  • New README: reconstruction/MRI_reconstruction/tutorials/README.md
  • Updated README.md: Added missing Reconstruction section listing this tutorial plus existing unet_demo and varnet_demo
  • Updated runner.sh: Added notebook to doesnt_contain_max_epochs (no training loop)
Dataset
  • Uses fastMRI knee single-coil validation set (non-commercial license)
  • Only one .h5 file (~300 MB) required — no need for the full ~1.5 TB brain multi-coil download
  • Added to skip_run_papermill via existing .*MRI_reconstruction.* pattern
Design decisions
  • Bridges the gap between newcomers and production tutorials (unet_demo, varnet_demo)
  • Uses CenterSpatialCropd instead of ReferenceBasedSpatialCropd to handle the k-space (640×368) vs ground truth (320×320) dimension mismatch
  • No training loop — purely educational, runs without GPU

Test plan

  • Notebook runs end-to-end on Google Colab with real fastMRI knee data (file1000000.h5)
  • All 5 matplotlib visualizations render correctly
  • Pipeline output shapes: kspace_masked_ifft and reconstruction_esc both (1, 320, 320)
  • PEP 8 passes via ./runner.sh -t reconstruction/MRI_reconstruction/tutorials/01_kspace_basics_fastmri_knee.ipynb --no-run
  • Copyright header present with correct formatting

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia da reconstruction/MRI_reconstruction/tutorials/01_kspace_basics_fastmri_knee.ipynb e confrontalo con i tutorial unet_demo e varnet_demo esistenti. Esegui ./runner.sh -t reconstruction/MRI_reconstruction/tutorials/01_kspace_basics_fastmri_knee.ipynb --no-run, quindi valida il notebook con il file fastMRI file1000000.h5 in Colab. Il lavoro è completato quando le visualizzazioni vengono renderizzate, le forme di output dichiarate corrispondono e le voci in README e runner.sh sono aggiornate.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
jupyter-notebook, pytorch
Ambito
documentation, machine-learning
Tipo di issue
Documentazione
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
68/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.