All Projects → MRSRL → dl-cs

MRSRL / dl-cs

Licence: MIT License
Compressed Sensing: From Research to Clinical Practice with Data-Driven Learning

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to dl-cs

direct
Deep learning framework for MRI reconstruction
Stars: ✭ 161 (+347.22%)
Mutual labels:  inverse-problems, mri-reconstruction
Learned-Turbo-type-Affine-Rank-Minimization
Code for Learned Turbo-ype Affine Rank Minimization
Stars: ✭ 4 (-88.89%)
Mutual labels:  compressed-sensing
odak
🔬 Scientific computing library for optics 🔭, computer graphics 💻 and visual perception 👀
Stars: ✭ 99 (+175%)
Mutual labels:  computational-imaging
fastmri-reproducible-benchmark
Try several methods for MRI reconstruction on the fastmri dataset. Home to the XPDNet, runner-up of the 2020 fastMRI challenge.
Stars: ✭ 117 (+225%)
Mutual labels:  mri-reconstruction
score sde pytorch
PyTorch implementation for Score-Based Generative Modeling through Stochastic Differential Equations (ICLR 2021, Oral)
Stars: ✭ 755 (+1997.22%)
Mutual labels:  inverse-problems
us-rawdata-sda
A Deep Learning Approach to Ultrasound Image Recovery
Stars: ✭ 39 (+8.33%)
Mutual labels:  compressed-sensing
Magni
A package for AFM image reconstruction and compressed sensing in general
Stars: ✭ 37 (+2.78%)
Mutual labels:  compressed-sensing
torch-radon
Computational Tomography in PyTorch
Stars: ✭ 97 (+169.44%)
Mutual labels:  inverse-problems
AwesomeMLForDigitalMedia
A curated list of awesome machine learning resources in the context of digital media and (interactive) computer graphics.
Stars: ✭ 17 (-52.78%)
Mutual labels:  computational-imaging
fkMigration.jl
A Julia project demonstrating the fast f-k migration algorithm.
Stars: ✭ 64 (+77.78%)
Mutual labels:  computational-imaging
MC-MRI-Rec
No description or website provided.
Stars: ✭ 39 (+8.33%)
Mutual labels:  mri-reconstruction
sunrise
NumPy, SciPy, MRI and Music | Presented at ISMRM 2021 Sunrise Educational Session
Stars: ✭ 20 (-44.44%)
Mutual labels:  mri-reconstruction
ConvDecoder
An un-trained neural network with a potential application in accelerated MRI
Stars: ✭ 21 (-41.67%)
Mutual labels:  compressed-sensing
pyunfold
Iterative unfolding for Python
Stars: ✭ 23 (-36.11%)
Mutual labels:  inverse-problems
csgan
Task-Aware Compressed Sensing Using Generative Adversarial Networks (published in AAAI18)
Stars: ✭ 25 (-30.56%)
Mutual labels:  compressed-sensing
GlobalBioIm
A unifying Matlab framework for the development of reconstruction algorithms (solving inverse problems) in computational imaging
Stars: ✭ 60 (+66.67%)
Mutual labels:  inverse-problems
MIRT.jl
MIRT: Michigan Image Reconstruction Toolbox (Julia version)
Stars: ✭ 80 (+122.22%)
Mutual labels:  inverse-problems
ChaosMagPy
ChaosMagPy is a simple python package for evaluating the CHAOS geomagnetic field model.
Stars: ✭ 14 (-61.11%)
Mutual labels:  inverse-problems
pypret
Python for ultrashort laser pulse retrieval
Stars: ✭ 35 (-2.78%)
Mutual labels:  inverse-problems
DeSCI
Rank Minimization for Snapshot Compressive Imaging (TPAMI'19)
Stars: ✭ 61 (+69.44%)
Mutual labels:  computational-imaging

Compressed Sensing: From Research to Clinical Practice with Data-Driven Learning

Introduction

Compressed sensing for MRI allows for high subsampling factors while maintaining high image quality. The result is shortened scan durations and/or improved resolutions. Further, compressed sensing increases the diagnostic information from each scan performed. Overall, compressed sensing has significant clinical impact in increasing imaging exams in diagnostic quality and in improving patient experience. However, a number of challenges exist when moving compressed sensing from research to the clinic. These challenges include hand-crafted image priors, sensitive tuning parameters, and long reconstruction times. Data-driven learning provides a compelling solution to address these challenges. As a result, compressed sensing can have maximal clinical impact. The purpose here is to demonstrate an example data-driven reconstruction algorithm using deep convolutional neural networks.

For more details about this work, see arXiv:1903.07824 [eess.IV].

Image of Example Results

Figure 1: Example results of a volumetric knee dataset that is subsampled with an acceleration factor R of 9.4 with corner cutting. In the bottom row, the volume was reconstructed slice by slice using three networks trained with different loss functions. The reconstruction using the network trained using the L1 and L2 losses yielded the best results in terms of PSNR, NRMSE, and SSIM. However, the reconstruction using the network trained with the adversarial loss yielded results with most realistic texture.

Setup

This project uses the open source python toolbox sigpy for generating sampling masks, estimating sensitivity maps, and other MRI specific operations. The functionality of sigpy can be replaced with the bart toolbox. Note that if the bart binary is in the system paths, bart will be used to estimate sensitivity maps using Uecker et al's ESPIRiT algorithm. Otherwise, sensitivity maps will be estimated with sigpy using Ying and Sheng's JSENSE.

Install the required python packages (tested with python 3.6 on Ubuntu 16.04LTS):

pip install -r requirements.txt
pip install pyfftw # optional for faster fft's

Fully sampled datasets can be downloaded from http://mridata.org using the python script and text file.

python3 data_prep.py --verbose mridata_org.txt

The download and pre-processing will take some time! This script will create a data folder with the following sub-folders:

  • raw/ismrmrd: Contains files with ISMRMRD files directly from http://mridata.org
  • raw/npy: Contains the data converted to numpy format, npy
  • tfrecord/train: Training examples converted to TFRecords
  • tfrecord/validate: Validation examples converted to TFRecords
  • tfrecord/test: Test examples converted to TFRecords
  • test_npy: Sub-sampled volumetric test examples in npy format
  • masks: Sampling masks generated using sigpy in npy format

All TFRecords contain fully sampled raw k-space data and sensitivity maps.

Training

The training can be performed using the following command.

python3 --model_dir summary/model recon_train.py

All the parameters (dimensions and etc) assume that the training is performed with the knee datasets from mridata.org. See the --help flag for more information on how to adjust the training for new datasets.

For convenience, the training can be performed using the bash script: train_all.sh. This script will train the reconstruction network with a number of different losses: L1, L2, and L1+Adversarial.

Inference

For file input kspace_input.npy, the data can be reconstructed with the following command. The test data in data/test_npy can be used to test the inference script.

python3 recon_run.py summary/model kspace_input.npy kspace_output.npy

References

  1. Cheng JY, Chen F, Sandino C, Mardani M, Pauly JM, Vasanawala SS. Compressed Sensing: From Research to Clinical Practice with Data-Driven Learning. arXiv:1903.07824 [eess.IV]. 2019 Mar 19.
  2. Ong F, Amin S, Vasanawala SS, Lustig M. An Open Archive for Sharing MRI Raw Data. In: ISMRM & ESMRMB Joint Annual Meeting. Paris, France; 2018. p. 3425.
  3. Ong F, Lustig M. SigPy: A Python Package for High Performance Iterative Reconstruction. In: ISMRM Annual Meeting & Exhibition. Montreal, Canada; 2019.
  4. Uecker et al. BART Toolbox for Computational Magnetic Resonance Imaging, DOI: 10.5281/zenodo.592960
  5. Cheng JY, Chen F, Alley MT, Pauly JM, Vasanawala SS. Highly Scalable Image Reconstruction using Deep Neural Networks with Bandpass Filtering. arXiv:1805.03300 [cs.CV]. 2018 May 8.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].