Skip to content

IMTtugraz/AVIONIC

Repository files navigation

AVIONIC

Accelerated Variational Dynamic MRI Reconstruction

Contributors

License

This software is published under GNU GPLv3. In particular, all source code is provided "as is" without warranty of any kind, either expressed or implied. For details, see the attached LICENSE.

General Information

AVIONIC (Accelerated Variational Dynamic MRI Reconstruction) is an open source software for GPU accelerated reconstruction of highly undersampled dynamic MRI applications, such as functional cardiac MRI or dynamic contrast enhanced (DCE) MRI. It also includes a variational approach for the estimation of receiver-coil sensitivity profiles from the undersampled data. The current version is able to handle Cartesian and Non-Cartesian data if the trajectory information is provided.

If you use this software please cite:

  • Schloegl, Matthias and Holler, Martin and Schwarzl, Andreas and Bredies, Kristian and Stollberger, Rudolf.
    Infimal convolution of total generalized variation functionals for dynamic MRI.
    Magnetic Resonance in Medicine, 2017; 78(1):142-155
    doi: 10.1002/mrm.26352
    OA: EuroPubMed
@article {MRM:MRM26352,
author = {Schloegl, Matthias and Holler, Martin and Schwarzl, Andreas and Bredies, Kristian and Stollberger, Rudolf},
title = {Infimal convolution of total generalized variation functionals for dynamic MRI},
journal = {Magnetic Resonance in Medicine},
volume = {78},
number = {1},
issn = {1522-2594},
url = {http://dx.doi.org/10.1002/mrm.26352},
doi = {10.1002/mrm.26352},
pages = {142--155},
keywords = {dynamic magnetic resonance imaging, CMR, perfusion imaging, total generalized variation, infimal convolution, variational models},
year = {2017},
}
  • Matthias Schloegl, Martin Holler, Kristian Bredies, and Rudolf Stollberger.
    A Variational Approach for Coil-Sensitivity Estimation for Undersampled Phase-Sensitive Dynamic MRI Reconstruction.
    Proc. Intl. Soc. Mag. Reson. Med. 23, Toronto, Canada

If you use ASL-TGV reconstruction please cite additionally:

  • Spann, Stefan M. and Shao, Xingfeng and Wang, Danny JJ and Aigner, Christop S. and Schloegl, Matthias and Bredies, Kristian and Stollberger, Rudolf.
    Robust single-shot acquisition of high resolution whole brain ASL images by combining time-dependent 2D CAPIRINHA sampling with spatio-temporal TGV reconstruction.
    NeuroImage, 2019; in press doi: [10.1016/j.neuroimage.2019.116337] https://doi.org/10.1016/j.neuroimage.2019.116337
    OA: EuroPubMed

If you use the Bloch-Siegert reconstrutction BS_RECON please cite additionally:

  • Andreas Lesch, Matthias Schloegl, Martin Holler, et al. Ultrafast 3D Bloch– Siegert B+1-mapping using variational modeling.
    Magn Reson Med. 2019;81:881–892. https://doi. org/10.1002/mrm.27434

Acknowledgement

This work is funded and supported by the Austrian Science Fund (FWF) in the context of project 'SFB F3209-19' Mathematical Optimization and Applications in Biomedical Sciences. We also gratefully acknowledge the support of NVIDIA Corporation with the donation of the Tesla K40c GPU and the TitanXP GPU used for this research.

For questions and comments on the project please contact Matthias Schloegl

Dependencies

Setup

0 Preparations

  • build dcmtk from source (shared libs on)
    wget https://distfiles.macports.org/dcmtk/dcmtk-3.6.1_20160630.tar.gz
  • build hdf5 from source (shared libs on)
    wget https://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.10/src/hdf5-1.8.10.tar.bz2
  • Make sure that the CUDA environment is set up correctly
  • Ensure that the DCMDICTPATH environment variable is set correctly, namely with
    export DCMDICTPATH=$DCMDICTPATH:/usr/local/share/dcmtk/dicom.dic:/usr/local/share/dcmtk/private.dic

1 Install AGILE lib

git clone https://github.com/IMTtugraz/AGILE.git
cd AGILE
mkdir build
cd build
cmake ..
make -j 
sudo make install

2 Install gpuNUFFT

git clone --branch deapo-scaling https://github.com/andyschwarzl/gpuNUFFT.git
cd gpuNUFFT/CUDA
mkdir build
cd build
cmake ..
make

3 Install ISMRMRD

git clone https://github.com/ismrmrd/ismrmrd
cd ismrmrd/
mkdir build
cd build
cmake ../
make
sudo make install

4 Install AVIONIC recon lib

git clone https://github.com/IMTtugraz/AVIONIC.git
cd AVIONIC/CUDA
mkdir build
cd build
cmake .. -DGPUNUFFT_ROOT_DIR=/path/to/gpuNUFFT
make -j 

5 Add binary to PATH (bash)

in ~/.bashrc add:
export PATH=/path/to/AVIONIC/bin/:${PATH} 

Doc

In order to generate the code documentation, run

make doc

and open the file doc/html/index.html.

Display help

avionic --help

DEMO 1: Reconstruction from BINARY data for retrospectively accelerated cine cardiac and cardiac perfusion data (shell script)

DOI

Available examples for sampling patterns: "vista", "vd" (variable density), "uni" uniformly sampled Available acceleration factors: 4,8,12,16 Available functional types: ICTGV2, TGV2, TV

Results are exported again to binary format

Example for ICTGV reconstruction with VISTA pattern and subsampling factor 12

1 CINE cardiac imaging

./demo_avionic_cine.sh --functype=ICTGV2 --pattern=vista --red=12

2 Cardiac perfusion imaging

./demo_avionic_perf.sh --functype=ICTGV2 --pattern=vista --red=12

DEMO 2: Reconstruction from ISMRMRD data for real accelerated cine cardiac data (T-Pat and radial acquisition)

DOI

Results are exported to dicom format

1 Cartesian

wget https://zenodo.org/record/807635/files/cine_tpat_8_sedona.h5 --no-check-certificate
mkdir ./recon_tpat/
avionic  -o -p ./CUDA/config/default_cine.cfg  -r cine_tpat_8_sedona.h5 -a ./recon_tpat/recon.dcm

2 Radial

wget https://zenodo.org/record/807635/files/cine_rad_24_sedona.h5 --no-check-certificate
mkdir ./recon_rad/
avionic -o -p ./CUDA/config/default_cine.cfg -r cine_rad_24_sedona.h5 -a -n ./recon_rad/recon.dcm

Demo 3: Reconstruction of MATLAB data with demo script

DOI

Please look into demo_avionic.m

1 Cartesian testdata for dynamic MRI reconstruction with ICTGV, spatio-temp. TGV2 or spatio-temp. TV

testdata_cinecardiac_avionic.mat: Cartesian acquired fully-sampled retrospectively gated CINE cardiac data (bSSFP) in short-axis view

2 Cartesian volumetric testdata for static TGV reconstruction, example for retrospective acceleration with CAIPIRINHA

testdata_cart_avionic_tgv3d.mat: Cartesian VIBE data of the left hand with partial-fourier acquisition

3 Non-Cartesian volumetric testdata_for static TGV2 reconstruction, retrospective acceleration possible by selection a lower number of spokes

noncart_avionic_tgv3d.mat: radial VIBE data of the human brain with golden-angle stack-of-stars sampling

ASL-TGV Demo: Reconstruction of 4D ASL data

Please look into demo_ASL_TGV_Recon.m for further explanations