Project-MONAI / Project-MONAI/tutorials

Add introductory k-space basics tutorial for MRI reconstruction

未关闭
#2,055 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Jupyter Notebook
星标
2.5k
派生
803
平均合并
6 天 22 小时
30 天内合并 PR
3

描述

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

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 reconstruction/MRI_reconstruction/tutorials/01_kspace_basics_fastmri_knee.ipynb 开始,并将其与现有的 unet_demo 和 varnet_demo 教程进行比较。运行 ./runner.sh -t reconstruction/MRI_reconstruction/tutorials/01_kspace_basics_fastmri_knee.ipynb --no-run,然后在 Colab 中使用 fastMRI 文件 file1000000.h5 验证该 notebook。可视化内容能够正常渲染、所述输出形状相匹配,并且 README 和 runner.sh 中的条目已更新,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
jupyter-notebook, pytorch
领域
documentation, machine-learning
Issue 类型
文档
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
描述清楚
新手友好度
68/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。