Hardware:SourceCode

From Tabletop MRI
Revision as of 14:32, 11 March 2015 by Jaystock (talk | contribs)
Jump to navigation Jump to search

Click here for the up-to-date V5.0 Matlab GUI files used in MIT 6.S02 in Spring 2015.


INSTALLATION DIRECTIONS:

  1. Download and unzip to get the folder MRI_GUIs_v5p0.
  2. Run the file "MRI_launchpad.bat" to automatically open Matlab and the Launchpad tool.
  3. Make sure that all subfolders are in the Matlab path so that the MEDUSA drivers can be accessed.
  4. (Optional) Create a shortcut to the file "MRI_launchpad.bat" and drag it on the Desktop. Right click on the icon and choose "properties". Choose "change icon" and then use "browse" to select the file "mit_mri_logo.ico". This shortcut will now automatically bring up Matlab and the launchpad.


Click here for the V4.2 Matlab GUI files used in MIT 6.S02 in Spring 2014.

Click here for the obsolete V3 Matlab GUI files used in MIT 6.S02 in Spring 2013.


PAST BUG FIXES / REVISIONS

Version 5 release features / bug fixes

  • 2/2015 (CZC) fix bug in saving averaged signal in FID GUI
  • 2/2015 (JPS) add frequency finder option with wideband RF pulse to FID GUI
  • 2/2015 (JPS) user can now press 'stop' button to exit auto-shimming routine
  • 2/2-15 (JPS) add pulse sequence diagram legend to IMAGING_GUI_1


Version 4 release features / bug fixes

  • 1/2014 (JPS) created launchpad with icon shortcut on desktop
  • 1/2014 (JPS) automatically save frequency in the FID GUI
  • 1/2014 (JPS) create a launchpad with buttons for quickly opening all of the GUIs
  • 1/2014 (JPS) display shim currents in mA instead of a.u.
  • 1/2014 (JPS) add progress bar to imaging GUIs so students know how much time remains in the scan
  • 1/2014 (JPS) fix readout duration and TE bug in SE_PROJ GUI
  • (V4.1) 2/2014 (JPS) fix bug in display of averaged signal data in the SE_PROJ GUI
  • (V4.2) 3/20/14 (JPS) fixed a few small bugs in the User Interface and the z-shim tool. Clarified the file saving procedure.


Version 3 release features / bug fixes

  • 12/3/2013 (V3) – FID_GUI now properly saves both averaged and individual acquired FID readouts.


PENDING BUG FIXES / REVISIONS

  • create a launchpad with buttons for quickly opening all of the GUIs
  • fix readout duration and TE bug in SE_PROJ GUI
  • add progress bar to imaging GUIs so students know how much time remains in the scan
  • allow user to use "stop" button during auto-shimming
  • add gradient echo sequence (FLASH)
  • add slice-select pulse sequence
  • clean up any remaining timing errors in spin echo and RARE sequences
  • automatically save frequency in the FID GUI and update other GUIs with this frequency
  • narrow dynamic range of FID GUI shim slider bar
  • clean up plotting display in IMAGING GUIs; reformat echo train readout display
  • check averaging of saved data in IMAGING_GUI_2 --> average in image domain instead of k-space
  • add matrix size input parameter to IMAGING_GUI_1
  • check gradient sensitivity parameter in SE_PROJ_GUI (off by factor of 2) (JPS)
  • average FID not saved - FID GUI (CZC)
  • SNR measurement change? pre-scan noise vector for SNR calculation (to avoid Lorentzian tails in spectrum)
  • Suggestion: add legend to pulse sequence diagram in IMAGING_GUI_1 (EA)
  • Suggestion: gradient nonlinear correction along y direction (JPS)
  • Suggestion: B1 mapping sequence (JPS)
  • Suggestion: FLASH double-echo B0 mapping sequence (JPS)


Description of GUIs

The GUIs let students acquire data, view the Fourier transform of the data on-screen, vary basic pulse sequence parameters (such as TE and TR), and save the raw data to a Matlab .mat file.



FID_GUI

FID GUI

The FID GUI runs a "one pulse" experiment that acquires a free induction decay and displays the Fourier transform lineshape. The GUI also lets students run a flip angle calibration to find the 90 deg and 180 deg RF pulses amplitudes. The shim can be set either using the "auto shim" tool or by hand using the slider bars or text fields.


















SE_PROJ_GUI

SE_PROJ_GUI


The spin echo/projection GUI shows the evolution of the spins in a two-pulse experiment with and without dephase/rephase gradient lobes. Students can see the effect of shimming on the shape of the spin echo. They can also see how applying gradient lobes along each direction creates a 1-D projection of the object instead of a narrow lineshape.



SE_PROJ_GUI




































IMAGING_GUI_1

IMAGING_GUI_1

IMAGING_GUI_1 lets students acquire a 2D spin echo image (no slice-direction encoding). Students must set the maximum gradient amplitude for the readout and phase encoding gradients in order to achieve the desired FOV. The GUI displays the acquired k-space data. Students then process k-space offline with the FFT to create the image.

















IMAGING_GUI_2

IMAGING_GUI_2

IMAGING_GUI_2 automatically computes read and phase encoding amplitudes for a desired FOV and resolution. Students can acquire 2-D spin echo and turbo spin echo (RARE) data and view the resulting images inside the GUI.

The upper left plot shows the pulse sequence being played by the scanner.

For spin echo acquisitions, the GUI displays each readout and projection (FFT'ed readout) in real time while updating the 2-D k-space figure and corresponding image. The partial images are computed from a zero-padded k-space matrix. This illustrates how high frequency components near the edge of k-space provide edges and details while the central lines of k-space provide most of the signal and contrast in the image.
















IMAGING_GUI_3

IMAGING_GUI_3

IMAGING_GUI_3 acquires 3-D turbo spin echo images and displays the results in a separate window.