Giter VIP home page Giter VIP logo

deeprf_slr's Introduction

DeepRF_SLR

DeepRF_SLR is multiband spin-echo pulse design method based on the SLR algorithm [1] and deep reinforcement learning. For more information, refer to the submitted paper

Method

method_figure

Results

e.g., For number of bands (NB) = 7 and time-bandwidth prodcut = 6 refocusing pulse, result_figure

Prerequisites

At least one NVIDIA GPU is needed, which supporting CUDA 10.1. You need to install following softwares:

  1. Ubuntu 18.04.2 LTS
  2. MATLAB 2019a
  3. CVX package (http://cvxr.com/cvx/)
  4. Python 3.6.8 with following libraries:
    • Tensorflow 1.13.1
    • Numpy 1.16.4
    • Scipy 1.3.0
  5. MATLAB engine for python (https://www.mathworks.com/help/matlab/matlab-engine-for-python.html)

Installing

  1. Install all prerequisites
  2. Download the repository and unzip it
  3. Add directory path of unziped folder (with subfolder) to MATLAB search path

Running

To run DeepRF_SLR, for example, type this commnad in Ubuntu terminal (in the directory where you unzip).

python3 DeepRF_SLR.py 3 6 6 --gpu 0 --lr 1e-4 --nn 8 --nl 256 --gamma 1.0 --iter 100000

You can see the explanation of each argument using following command:

python3 DeepRF_SLR.py --help

After running the script, 'DeepRF_SLR_refo_design.mat' will be generated.

To see the design result,

run 'DeepRF_SLR_result_generation.m' in MATLAB.

You can see the pulse shapes and simulated slice profile.
'DeepRF_SLR_design_result.mat' will be generated, which contains many datas including designed pulse.

For comparison, we uploaded MATLAB script for the conventional Monte-Carlo algorithm [2].

run 'Monte_Carlo_design.m' in MATLAB.

This will generate 'MC_design_result.mat' that includes designed pulse.

Acknowledgement

For implementation of DeepRF_SLR, we adopted and modifed MATLAB codes from:

  1. Root-flipped pulse design functions from Sharma's work [2]
  2. Basic RF design functions from John Pauly's lab in Stanford
  3. Amplitude modulated pulse design functions from Seada's work [3]

Thank you for all sharing softwares!

References

  1. J. Pauly, P. Le Roux, D. Nishimura, and A. Macovski, “Parameter relations for the Shinnar-Le Roux selective excitation pulse design algorithm,” IEEE Trans. Med. Imag., vol. 10, no. 1, pp. 53-65, Mar. 1991.
  2. A. Sharma, M. Lustig, and W. A. Grissom, “Root‐flipped multiband refocusing pulses,” Magn. Reson. Med., vol. 75, no. 1, pp. 227-237, Jan. 2016.
  3. S. Abo Seada, A. N. Price, J. V. Hajnal, and S. J. Malik, “Optimized amplitude modulated multiband RF pulse design,” Magn. Reson. Med., vol. 78, no. 6, pp. 2185-2193, Dec. 2017.

License

We provide software for academic research purpose only and NOT for commercial or clinical use.
For commercial use of our software, contact us ([email protected]) for licensing via Seoul National University.
Please send an email to “[email protected]” with the following information.

Name:
Affiliation:
Software:

When sending an email, an academic e-mail address (e.g. .edu, .ac.) is required.

Contact

Dongmyung Shin, Ph.D. candidate, Seoul National University.
[email protected]
http://list.snu.ac.kr

deeprf_slr's People

Contributors

shindongmyung avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.