Project-MONAI / Project-MONAI/tutorials
Add introductory k-space basics tutorial for MRI reconstruction
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 (
FastMRIReader→CenterSpatialCropd→ReferenceBasedNormalizeIntensityd) - 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 existingunet_demoandvarnet_demo - Updated
runner.sh: Added notebook todoesnt_contain_max_epochs(no training loop)
Dataset
- Uses fastMRI knee single-coil validation set (non-commercial license)
- Only one
.h5file (~300 MB) required — no need for the full ~1.5 TB brain multi-coil download - Added to
skip_run_papermillvia existing.*MRI_reconstruction.*pattern
Design decisions
- Bridges the gap between newcomers and production tutorials (
unet_demo,varnet_demo) - Uses
CenterSpatialCropdinstead ofReferenceBasedSpatialCropdto 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_ifftandreconstruction_escboth(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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- 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