Giter VIP home page Giter VIP logo

qsm's Introduction

Welcome to QSM

The repository is for reconstructing Quantitative Susceptibility Mapping (QSM) images from MRI. The codes cover image recons for single-echo SWI or multiple-echo GRE sequence as well as gradient EPI sequence.

References

  • For the background field removal method RESHARP, please reference:
    H. Sun, A.H. Wilman. Background field removal using spherical mean value filtering and Tikhonov regularization. Magn Reson Med. 2014 Mar;71(3):1151-7.
  • For the POEM multi-channel coil combination method, please referece:
    H. Sun, J.O. Cleary, R. Glarin, S.C. Kolbe, R.J. Ordidge, B.A. Moffat, G.B. Pike; Extracting more for less: Multi-echo MP2RAGE for simultaneous T1-weighted imaging, T1 mapping, R2* mapping, SWI, and QSM from a single acquisition.
  • For the EPI-QSM processing pipeline, please referece:
    H. Sun, A.H. Wilman. Quantitative susceptibility mapping using single-shot echo-planar imaging. Magn Reson Med. 2015 May;73(5):1932-8.
  • For the hemorrhage-QSM method and processing pipeline, please referece:
    H. Sun, M. Kate, L.C. Gioia, D.J. Emery, K. Butcher, A.H. Wilman. Quantitative susceptibility mapping using a superposed dipole inversion method: Application to intracranial hemorrhage. Magn Reson Med. 2016 Sep;76(3):781-91.

Recon flow

  1. Extract complex img from DICOMs or raw files
  2. removal phase-offsets if multiple-echo, then combine coils
  3. extract brain mask
  4. unwrap phase maps
  5. linearly fit unwrapped phase with TE if multiple-echo
  6. background field removal
  7. dipole inversion

Support scanner platforms

  • 1.5 T (Siemens)
  • 3 T (Siemens, GE, and Philips)
  • 4.7 T (Varian)
  • 7 T (Siemens)
  • 9.4 T (Bruker)
  • Support sequences of single-echo SWI, multi-echo GRE and EPI.

Manual

  • Directory structure

    • Siemens_1p5T: recon codes for Siemens 1.5T sequences, e.g. EPI (fMRI) and SWI
      • qsm_epi15.m
      • qsm_swi15.m
      • qsm_hemo15.m
    • Varian_4p7T: recon codes for Varian 4.7T sequences, e.g. EPI (fMRI), SWI and R2*
      • qsm_epi47.m
      • qsm_swi47.m
      • qsm_r2s47.m
    • Siemens_3T: recon codes for 3T PRISMA sequences, e.g. EPI (fMRI), SWI and R2*
      • qsm_epi_prisma.m
      • qsm_swi_prisma.m
      • qsm_r2s_prisma.m
      • qsm_hemo_prisma.m
    • GE_3T: recon codes for 3T GE sequence, e.g. R2*
      • qsm_spgr_ge.m
    • Philips_3T: recon codes for 3T Philips sequence, currently only R2*
      • qsm_spgr_philips.m
    • Siemens_7T: recon codes for 7T Magnetom sequences, e.g. SWI, ME-GRE and ME-MP2RAGE
      • qsm_swi.m
      • mp2rage.m
      • qsm_7T_bipolar.m
      • qsm_7T_unipolar.m
    • Bruker_9p4T: recon codes for 9.4T Bruker 3D multi-echo sequence
      • qsm_r2s_3d_bruker.m
    • coil_combination: coils combination related codes
      • adaptive_cmb.m: adaptive filter method for single-echo, e.g. EPI, SWI
      • poem.m: POEM (Phase-Offsets Estimation from Multi-echoes) coil combination
    • background_field_removal: background field removal, including RESHARP/SHARP/ESHARP/PDF/LBV
      • sharp.m: SHARP
      • resharp.m: RESHARP method -- can tweak the ker_rad (kernel size) and tik_reg (regularization)
      • projectionontodipolefields.m: PDF
      • extendharmonicfield.m: ESHARP
      • LBV.m: LBV
      • poly2d.m: 2nd order 2D polynomial fit
      • poly3d.m: 2nd order 3D polynomial fit
    • dipole_inversion: dipole inversion with TV regularization
      • tvdi.m: total variation dipole inversion
      • tikhonov_qsm.m: Tikhonov total field inversion
    • Misc: other functions including NIFTI and other small functions
  • Usage

    • Call the main QSM function corresponding to the sequence, e.g. qsm_r2s47 is the function for QSM recon of R2* at 4.7T.

    • Function inputs are

      • Directory of the raw data for 1.5T/4.7T or directories of both magnitude and unfiltered phase DICOMs for Siemens/GE/Philips 3T)
      • User defined directory for QSM output results
      • User specified parameters "options"
    • Examples:

      ```Matlab
      options.bkg_rm='resharp';
      options.ph_unwrap='laplacian';
      qsm_swi47('FID_DIR','OUTPUT_DIR',options);
      ```
      
    • For other advanced usage, see help, e.g. help qsm_swi_prisma

  • Common user-changed options:

    • bet_thr: threshold level for BET extracting the brain mask, by default is 0.3-0.5 depending on the sequence, smaller threshold keeps more region of the brain
    • ph_unwrap: phase unwrapping methods, can be 'prelude', 'laplacian' or 'bestpath'
    • bkg_rm: background field removal methods, can be 'sharp', 'pdf','resharp','esharp' or 'lbv', can pick multiple methods to compare, e.g. options.bkg_rm={'resharp','lbv'}
    • smv_rad: radius in mm of SHARP/RESHARP/ESHARP kernel (erosion size, ESHARP recovers some)
    • tik_reg: tikhonov regularization for RESHARP, by default 1e-4, bigger value more regularization
    • tv_reg: total variation regularization, by default 5e-4, bigger value gives smoother result

qsm's People

Contributors

sunhongfu avatar rtopfer avatar mathieuboudreau 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.