Actions

7T advanced - PPE, rfshim+external pulses, recon

From SpinozaWiki

PPEs

We currently (March 2021) have the following PPE's stored on the server at (...).

Patches

Multix

2021 - March 9

Patch Name Description Source Code Contact
MISS_test2_Patch Alternating scans environment. Still a Work In Progress Example Thomas Roos / Nikos Priovoulos
NeurovascularCoil Required to scan with the AMC neurovascular coil from MRCoils / Tesla Dynamics. Do not use for anything else Bobby Runderkamp [email protected]
TR_FOCI_oliveira_20200730 TR-FOCI pulse + Flip Angle Sweep and Reset Module for VASO + PF filter on/off Ícaro Oliveira [email protected]
TX8_UberPatch_SVN-23729_200614_ThomasR Timing of the UPs, adaptation PMU limits + PF filter on/off Thomas Roos [email protected]

Classic

Patch Name Description Source Code Contact
2TX_MISS_SWID172_SVN-22626_20191121_ThomasR Example Example Thomas Roos
iMOCO Prospective motion correction based on fatnavs Nikos Priovoulos [email protected]
MISS_20190701 Interleaving 3+ scans Wietske van der Zwaag [email protected]
MISS_patch_Anouk_restslabfixed_GVE_02122020 Example Example Anouk Schrantee
MISS_patch_Anouk_restslabfixed_GVE_11062020 Example Example Anouk Schrantee
patch4ReconFrame_Luisa Example Luisa Raimondo [email protected]
Phosphor_31P_visual_cortex_ArjanH Phosphor coil stuff Arjan Hendriks [email protected]
recon2_20200707 new philips recon environment Paul Sanders @philips
seline_offse&spoilers_Luisa Example Luisa Raimondo [email protected]
TR_FOCI_oliveira_20201911 TR-FOCI pulse for VASO / MPRAGE Icaro Oliveira [email protected]

Using MRCodeTool for flip angle homogenization on 7T Multix

MRI at 7T often suffers from B1+ field non-uniformity if the transmit coil is driven in its default quadrature mode. The Multix system offers a way to counteract this problem, by enabling coils to be driven by 8 independent RF sources (MultiTransmit parallel transmission). This way, a departure from quadrature can be made to compensate the RF field non-uniformity inside the subject.1 A useful toolbox that's installed on the scanner pc helps the operator with this: MRCodeTool (current version: 1.5.14). MRCodeTool is a collection of advanced MRI tools for pulse designing and image processing, which are focused on direct utilization on the MRI system.

Regardless of which B1+ homogenization method is used, MRCodeTool should first be supplied with the transmit sensitivity of each of the eight RF channels.1 To this end, MRCodeTool provided some prescans that should be performed first, which can be found in the Examcard 'MRCodeTool_prescans'. Certain scans have to be exported to MRCodeTool by following the steps in section 4.9 'A Typical Workflow' in the MRCodeTool manual (File:MRCodeTool v1.5.pdf). Depending on which MRCodeTool version and specific tool is used, one could encounter errors if differing matrix sizes are used among prescans.

A straightforward method of compensating B1+ field non-uniformity using parallel transmission is RF shimming. In RF shimming, the phase and amplitude of each RF source are optimized to compensate B1+ non-uniformity using one of several optional cost functions (e.g. minimizing coëfficient of variation).1 For all homogenization methods, a volume of interest (VOI) can be drawn or automatically extracted (Brain Extraction Tool) in the subject where B1+ should be homogenized. After choosing desired parameter values at Settings→Parameters and clicking 'Calculate', MRCodeTool calculates optimal phases (and amplitudes, if desired) and optionally shows predicted results. In the scan settings, 'shimtool' should be chosen for 'RF Shims' in the Contrast tab, after which the scan will utilize the calculated optimal RF phases and amplitudes (instead of default quadrature mode as defined in the coil file of the used coil).

MRCodeTool also offers the possibility to implement user-defined functions using the 'External Waveform Definition' plugin. Via this route, our lab implemented a more advanced B1+ homogenization method called kt-points2, utilizing the greedy-local algorithm by Grissom WA et al. (2012)3. In kt-points, not only the phase and amplitude of each RF source are optimized, but 3D non-selective hard RF pulses are emitted at distinct locations in excitation k-space. The concept of excitation k-space offers a vast increase in degrees of freedom to improve the eventual flip angle distribution across a VOI. Making use of kt-points requires a bit more effort. Firstly, currently it can only be used with a specific (older) MRCodeTool version, which can be retrieved by contacting [email protected] or [email protected]. Secondly, currently the scan 'B0 shimmed' has to be exported to MRCodeTool using the name 'B0map' instead of 'B0_shimmed'. Moreover, a specific set of steps is necessary. In the settings of the scan which is intended to use kt-points, a number between 1 and 99 has to be set for 'MTX pulse def. id', and 'ext.def' for 'MTX pulse gradients', both under the Contrast tab. This causes a 'request file' (r<n>.dat, n being the chosen pulse id) to be created in G:\Site\Waveforms. Please choose an id with which no request file exists yet, if possible. Also, 'fixed' should be chosen for 'RF Shims' in the Contrast tab. Next, in MRCodeTool, choose 'External Waveform Definition' in the plugin drop-down menu. In the tab Settings→Parameters, at least the following parameters have to be set as follows:


SHIMMING_TYPE: 2

External_Design_Function: Kt_point

Required_B0map: <ticked>

Required_B1maps: <ticked>

Required_request_file: <ticked>

pulse_id: <pulse id chosen in scan settings earlier>

Additional_User_Inputs: [N_ktpoints,max_gradstr,max_slewrate,max_invkrange,rf_factor]


The additional user inputs require explanation:

N_ktpoints: the number of subpulses (i.e. excitation k-space locations) of the kt-points pulse. Common choice: 5.

max_gradstr: the maximum gradient strength of the system (mT/m). Common choice: 33

max_slewrate: the maximum gradient slew rate of the system (T/m/s). Common choice: 166

max_invkrange: the maximum spatial excitation resolution (cm). The inverse of this number defines the excitation k-space FOV across which optimal kt-points locations are searched. Common choice: 6

rf_factor: multiplication factor influencing RF amplitude scaling. Common choice: 0.16 (don't change!)


With these settings, after clicking 'Calculate' the kt-points pulse will be calculated and figures will be shown of the calculated pulse and optionally predicted results. During calculation, gradient and pulse definition files (g<n>.pd, g<n>.gd, with n the chosen pulse id) will be created and placed in G:\Site\Waveforms. It could happen that these do not end up here automatically: in that case, look if they are located in E:\Export\MRCodeTool\PulseServer\LocalFolder and copy them to G:\Site\Waveforms. Then, open g<n>.pd and g<n>.gd and change the numbers outlined by red rectangles to half of the value of the number outlined by the blue rectangle (see below, in this image this was already done), to ensure that the echo time of the scan is calculated with respect to the middle of the kt-points pulse. See 'PDandGD.txt' in G:\Site\Waveforms for more information about g<n>.pd and g<n>.gd. After this, the scan which is intended to use the kt-points pulse can be started.

Error creating thumbnail: File missing
What to change in g<n>.pd and g<n>.gd

A possible extension is to use a Universal Pulse4. In this case, for a given anatomy, a generally applicable kt-points pulse is calculated offline from a database of previously scanned subjects, removing the time-consuming procedure of acquiring prescans and pulse calculation. After calculating this pulse offline, it can be used immediately by placing the corresponding g<n>.pd and g<n>.gd files in G:\Site\Waveforms and using the corresponding 'MTX pulse def. id' in the scan settings, skipping the MRCodeTool procedure.

This section describes the minimum requirements for using RF shimming and kt-points. It is highly recommended to read relevant parts of the MRCodeTool manual (File:MRCodeTool v1.5.pdf) for a more complete understanding and additional features.
References:

1. F. Padormo et al. Parallel transmission for ultrahigh-field imaging. NMR Biomed. 2016;29(9):1145-1161. doi:10.1002/nbm.3313.

2. MA. Cloos et al. kT-points: short three-dimensional tailored RF pulses for flip-angle homogenization over an extended volume. Magn Reson Med. 2012;67(1):72-80. doi:10.1002/mrm.22978.

3. WA. Grissom et al. Small-tip-angle spokes pulse design using interleaved greedy and local optimization methods. Magn Reson Med. 2012;68:1553-1562. doi:10.1002/mrm.24165.

4. V. Gras et al. Universal pulses: A new concept for calibration-free parallel transmission. Magn Reson Med. 2017;77(2):635-643. doi: 10.1002/mrm.26148.


Recon using MRecon/MRSense

ReconFrame is a software platform providing various tools and all the functionality required to develop and perform a complete reconstruction of MR data. All available Philips MR data formats can be read, reconstructed and exported. Using Matlab as programming environment, data reconstruction procedures can be designed and tested offline.

In order to reconstruct data with the ReconFrame software, the loaded patch at the scanner should include the ReconFrame patch, which can be downloaded from https://portal.gyrotools.com/portal/downloads/ (after registering to https://portal.gyrotools.com/accounts/signup/ with your Spinoza email address), and merge it with your own patch. When the ReconFrame patch is present, sequence parameters from the user interface and pulse programming environment are directly available in Matlab, and they can be used in the reconstruction. Note that, on multix, the standard patch (TX8_UberPatch_SVN-23729_200614_ThomasR) already contains the ReconFrame patch. It is possible to check whether the loaded patch already contains ReconFrame patch, during the exportation (see gtPacknGo section). Also, a basic reconstruction of data acquired without patch can be performed. However, it is not possible to perform a SENSE reconstruction on .raw data without patch, because the whole geometry information is missing in the original Philips .raw files.

MRecon is the object-oriented Matlab library provided by ReconFrame, which implements many common image and spectrum reconstruction task. The existing functionality can be expanded, altered or partially used. Code examples of complete reconstructions are provided in the MRSense (File:MRsense quickstart.pdf) and ReconFrame (File:ReconFrame Manual.pdf) manuals . They can serve as a starting point for custom development. MRecon can be used on the server, adding the path to Recon Frame in your matlab script (addpath('/packages/matlab/toolbox/MRecon/MRecon_version/')). The license will be automatically find. In order to perform reconstructions with MRecon, data should be acquired in lab/raw format. In the ExamCard, select PostProc tab and set “Save raw data” option to “yes”, as indicated in the figure.

Error creating thumbnail: File missing
Save raw data

Raw data can be exported with the gtPacknGo tool. In the Windows start menu, type gtPacknGo and select the latest version installed on the scanner. From gtPacknGo It is possible to check if the ReconFrame patch was correctly loaded. The scans which were acquired with a ReconFrame patch are bold in gtPacknGo (see the figure below as example).

Error creating thumbnail: File missing
gtPacknGo

For any issues related to ReconFrame, you can contact [email protected], using your Spinoza email address.

Universal Pulses: Claimed pulse IDs

Universal pulses (UPs; https://doi.org/10.1002/mrm.26148) are an effective method for improving B1+ inhomogeneities in (especially) the brain without requiring subject-specific calibration or increased scan times. On the 7T Multix system, these can be predefined and stored in a database, such that they can easily be included in study protocols and used without requiring any operator involvement.

Those predefined UPs can be found on the scanner in G:/Site/Waveforms, where each UP is defined using a unique identifier using a request file (e.g., for UP #99, r99.dat) and a corresponding set of gradient and RF waveforms (g99.gd and g99.pd, respectively). In a protocol, a UP can be selected using this identifier by setting the 'MTX pulse def.id' parameter in the Contrast tab to the corresponding value. These files can be generated using the 'PulseTool' program by Thomas Roos, or using MrCodeTool (see above for more information).

As some universal pulses are in use by active projects, it is important to avoid overwriting those, as this can change the protocols, likely without the operators noticing. Therefore, when developing, testing, and/or modifying Universal Pulses, it is important to avoid changing thise 'claimed' UP IDs. The table below includes an overview of which UP IDs are currently claimed, and should not be changed/overwritten (but you can use them in your own protocols):

Pulse ID Flip Angle Description In use by
8 found in SDVici -> MPRAGEUP examcards Dumoulin group
55 13° 3D EPI UP Zwaag lab (incl Elze, Amina)
56 old MP2RAGE UP ("g56_oudeUP" in PulseTool) Zwaag lab, Tomas, REMIND
57 PulseTool "pTxGreMedFA", rescaled 12° -> 8° (NB incl z-gradient minus) REMIND, MS Cerebellum

Up to date (to the best of my knowledge) as of 29/10/2024. If you define a new pulse to be used in a project (so beyond your current scan session), please add it to this table. Please leave (and use) pulse IDs #90-#99 as a "free for all" space for testing, debugging, trial-and-error, etc.

Universal B0 shim

If the conventional B0 shimming algorithms don't work for whatever reason, you can use the following shim coefficients (as ordered in the 'Contrast' tab of each protocol) to get reasonable-to-good results for most brain scans. This should at least work totally fine for most structural scans, and is worth a try for EPIs as well if it can help you save an otherwise lost scan session.

The shim coefficients to use are:

 -0.0313
 -0.0024
 0.1143
 1.3072
 -0.1894
 0.0389
 -0.1815
 0.0324


To make life easier, these are already stored on the scanner in the folder G:/Patch/pride/shimfiles, in the file universal_shim_DoNotEditThisFile.txt. As the name suggest, do not edit or rename this file. Instead, copy its contents and paste those into the file linear_shim.txt (in the same folder), and save it. This will automatically load the universal B0 shim parameters into your sequence, which you can check under the 'Contrast' tab of your sequence. This does require the parameter 'Shim' to be set to 'Shimtool'.