How neuraloperator/mri works
NoMRI is a compressed-sensing MRI reconstruction research system. Its main workflow builds undersampling masks and slice datasets, trains or validates a reconstruction model, and evaluates reconstructed images. The README also documents conversion of raw fastMRI samples to LMDB, a conventional VarNet baseline, and pattern-independent NO reconstruction. The graph reflects documented capabilities where source was not sampled; those uncertain implementation links are omitted.
Main entry points: main.py Train / validate · datasets.py Slice datasets · no_varnet_module.py NO Lightning module · varnet_module.py VarNet Lightning module
Components 20
Experiment workflow
- Train / validate
main.py - LMDB conversion
scripts/gen_lmdb_dataset.py
MRI data and sampling
- fastMRI HDF5
- LMDB slices
- Slice datasets
fastmri/datasets.py - Mask patterns
fastmri/subsample.py - MRI transforms
fastmri/transforms.py - FFT and coil ops
fastmri/fftc.py
Reconstruction models
- NO-VarNet
models/no_varnet.py - U-shaped DISCO operator
models/udno.py - VarNet baseline
models/varnet.py - U-Net regularizer
models/unet.py
Operator implementation
- DISCO convolution
torch_harmonics/convolution.py - DISCO kernels
torch_harmonics/_disco_convolution.py
Training and evaluation
- NO Lightning module
models/lightning/no_varnet_module.py - VarNet Lightning module
models/lightning/varnet_module.py - Validation metrics
models/lightning/mri_module.py
Other components
- Researcher
- Weights & Biases
- MRI reconstructions
Connections 24
- Researcher → Train / validate: configures run
- Researcher → LMDB conversion: requests conversion
- fastMRI HDF5 → LMDB conversion: provides samples
- LMDB conversion → LMDB slices: writes slices
- Train / validate → Mask patterns: creates masks
- Train / validate → Slice datasets: builds loaders
- Slice datasets → LMDB slices: reads slices
- Slice datasets → Mask patterns: applies masks
- Slice datasets → MRI transforms: prepares samples
- Train / validate → NO Lightning module: configures model
- Train / validate → VarNet Lightning module: configures model
- NO Lightning module → NO-VarNet: runs reconstruction
- VarNet Lightning module → VarNet baseline: runs reconstruction
- NO-VarNet → U-shaped DISCO operator: uses operator
- VarNet baseline → U-Net regularizer: uses regularizer
- U-shaped DISCO operator → DISCO convolution: uses convolution
- DISCO convolution → DISCO kernels: dispatches kernels
- NO-VarNet → FFT and coil ops: uses MRI operations
- VarNet baseline → FFT and coil ops: uses MRI operations
- NO Lightning module → Validation metrics: logs validation
- VarNet Lightning module → Validation metrics: logs validation
- NO Lightning module → MRI reconstructions: produces images
- VarNet Lightning module → MRI reconstructions: produces images
- Validation metrics → Weights & Biases: logs metrics