Project-MONAI / Project-MONAI/tutorials

Add introductory k-space basics tutorial for MRI reconstruction

Ouverte
#2,055 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Jupyter Notebook
Étoiles
2.5k
Forks
803
Merge moyen
6 j 22 h
PR mergées (30 j)
3

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reconstruction/MRI_reconstruction/tutorials/01_kspace_basics_fastmri_knee.ipynb et comparez-le aux tutoriels unet_demo et varnet_demo existants. Exécutez ./runner.sh -t reconstruction/MRI_reconstruction/tutorials/01_kspace_basics_fastmri_knee.ipynb --no-run, puis validez le notebook avec le fichier fastMRI file1000000.h5 dans Colab. Le travail est considéré comme terminé lorsque les visualisations s’affichent, que les formes de sortie indiquées correspondent et que les entrées de README et de runner.sh sont mises à jour.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
jupyter-notebook, pytorch
Domaine
documentation, machine-learning
Type d'issue
Documentation
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
68/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.