55
1 Quick User Guide to Start the 1.5 T Human Body Scanner

Quick User Guide 1.5

Embed Size (px)

Citation preview

Page 1: Quick User Guide 1.5

1

Quick User Guide to Start the 1.5 T Human Body Scanner

Page 2: Quick User Guide 1.5

2

Table of Contents Starting up the System (Hardware Setup) ................................................................................................ 4

Standard Experiments: .......................................................................................................................... 4

Triggered Measurements: ..................................................................................................................... 6

Software Control ....................................................................................................................................... 7

Creation of a NEW Data Set .................................................................................................................. 7

Tune and Match the probe ................................................................................................................... 8

Shimming .............................................................................................................................................. 8

Center frequency ................................................................................................................................ 11

Triggering ............................................................................................................................................ 16

Triggered Acquisition Automation .......................................................................................................... 18

Pseudo 2D acquisition ......................................................................................................................... 18

Cycling - and Artificial-triggered Acquisition Automation ...................................................................... 21

Storing trigger time points to file ........................................................................................................ 22

Presetting the Trigger Intervals .......................................................................................................... 23

‘triggering_final.vi’ docket .................................................................................................................. 25

Calibration Automations ......................................................................................................................... 26

Adiabatic BIR4_90deg and AFPST10_180 deg Pulse Calibration ........................................................ 26

Automatic Parameter Calibration Tool ‘popt’ .................................................................................... 32

Preprocessing data in TOPSPIN ............................................................................................................... 33

Fourier transformation and phasing of multiple spectra ................................................................... 33

Integration of Multiple Spectra ........................................................................................................... 34

Converting 2D data sets for the use in jMRUI......................................................................................... 37

TopSpin ............................................................................................................................................... 37

MatLab ................................................................................................................................................ 37

Page 3: Quick User Guide 1.5

3

Processing Spectra in jMRUI ................................................................................................................... 39

Parameterization and preprocessing .................................................................................................. 39

Quantification with AMARES .............................................................................................................. 42

Spectral time editing ............................................................................................................................... 45

Appendix ................................................................................................................................................. 47

Pulse Programs ................................................................................................................................... 47

MatLab files ......................................................................................................................................... 51

LabView ............................................................................................................................................... 55

Page 4: Quick User Guide 1.5

4

Starting up the System (Hardware Setup)

In order to work with the 1.5 T Human Body Scanner a few points should be considered first, before the measurements can be started, this include firstly the correct hardware setup in order to perform save and correct measurements.

Standard Experiments:

Routine measurements exclude the use of the bicycle and therefore the use of a triggering unit. The hardware settings explained below can be used for all routine measurements including the shimming unit.

- Check Voltage Supply Unit for accurate performance

- Check Shim Cabinet to be Online. Open the backside door. There should be three green light on

- - - - - - - - Check power supply cable to be plugged in for the TUeDACS systems

Page 5: Quick User Guide 1.5

5

DAC 1= digital to analog conversion ADC 1= analog to digital conversion

- Make sure that the TUeDACS is working properly: o Power conrol lights = green (middle column control lights) o USB conection control = steady red (right column control lights) o Online control lights = blinking red (left control lights; only works in case the

output shim cables for x, y, z are connected and MGOutput 2.vi voltage is running)

Other Preparations for Measurement

- Connect Coils to front or back of the scanner - Check if the right filter is connected to the corresponding coil - Insert Probe - Make sure that the coil and probe are as close as possible to the center of the bore - Go on with tuning and matching of the probe (wobble). see below

Page 6: Quick User Guide 1.5

6

Triggered Measurements:

In addition to the connections that are set up for routine work and normal scans, input signal from the bicycle must be provided and output trigger for the correct timing of the acquisition must be controlled, to provide correct signal routing to and from the scanner. Similar to the shimming of the magnetic field (see below) the TUeDACS together with a software package on (LabView 8.6) will be used.

- Connect the coaxial cable from the TUeDACS to the Bruker cabinet o Note: it might be connected already, check the inside of the Bruker cabinet

- Connect another coaxial cable with the bicycle in the scanner room. o Note: the cable is hanging on the backside of the scanner.

- After everything has been connected go on with patient/subject positioning, probe head tuning and matching as well as shimming of the magnetic field.

Page 7: Quick User Guide 1.5

7

Select the nuclei for your experiment

In case you want to load settings (ProcPars and AcquPars) from previous experiment, open this experiment and then click on ‘create new file’. You can select the ‘use current parameters’ which loads the

Software Control

Creation of a NEW Data Set

- Open TopSpin 1.3 from the desktop of the PC - Open FILE and click on New… - This will open a new window

o Type in the file name and set EXPNO and PROC number o DIR = “C:\Bruker\TOPSPIN” o USER = “nmrsu” or enter your personalized data, like i.e. your name etc. o EXPERIMENT = set the right nuclei (cannot be changed afterwards)

- Double-click on the EXPNO folder you did create in the previous step and a new window will appear where you can choose from a bundle of tabs.

- Set right processing and acquisition parameters in ProcPars as well as in AcquPars, respectively

Page 8: Quick User Guide 1.5

8

1H 31P

Tune and Match the probe

Start wobbeling for ever nuclei by doing the following steps: o Spectrometer > Adjustments > Manual probehead tuning o You can also enter directly ‘wobb’ to the command line

- Tune and Match properly by turning the corresponding capacitors on the coil

- Afterwards stop the acquisition by clicking on button

Shimming

- In order to shim properly select the following parameters: o Spectrometer > Adjustments > Start acquisition, adjust params

Page 9: Quick User Guide 1.5

9

‘MGOutput 2.vi’

- Press button to display spectrum mode and press button to adjust windowing and phasing parameters:

o window multiplication (no) and phase correction mode (mc)

- NOTE: Make sure that the receiver gain is right for the chosen nuclei - Start Shimming tool (LabView based application) which is located on the desktop

‘MGOutput 2.vi’ or ‘Shimming.vi’

Page 10: Quick User Guide 1.5

10

‘MGOutput 2.vi’

- Check if the index and channels for x, y, and z shims are set correctly (check cable

connections at the TUeDACS) and press then the button to run the tool.

- Minimize the shim tool window so that only the parameters that are to be changed are displayed. Maximize TopSpin acquisition window and start now to change x, y, and z volages in order to optimize the water peak width at half maximum.

- NOTE: Voltage maximum and minimum are 5 V and -5 V respectively.

Page 11: Quick User Guide 1.5

11

- After the shims have been set to optimal values stop the acquisition and close window and start with the desired experiments.

- Set center frequency - Note: don’t close the ‘MGOutput 2.vi’/’trigger final.vi’ software. Minimize it and let

it run as a background application, to provide also the right shim settings during your experiments.

Center frequency

In order to excite the sample probe at the desired resonating frequency of the molecule of interest the following protocol will give you a detailed description of the measures you have to take. - Acquire a simple spectrum with the parameters of interest. (NOTE: select a proper

spectral width so that the desired resonances can be seen) - Display the spectrum after acquisition, do the post-processing manipulation like

windowing, fourier transformation, phase correction etc. - In the spectrum window move the mouse cursor to the center of the peak of

interest and take the readout of the offcenter resonance (ppm/Hz) in the left corner of the window. Note down the value.

Page 12: Quick User Guide 1.5

12

- NOTE: In case the frequency is far off from the center, change the spectral width to a large value (e.g. 200-400 ppm) and make a rough correction for the frequency in order to fine adjusted afterwards as described below

- In order to excite the substance at the exact center of its resonance you can also enlarge the peak to take a better read out of the resonance at the peaks center.

- Go to the AcquPars tap and enter the noted down value into the following box: o AcquPars > Nucleus 1 > O1 [Hz] orO1P [ppm]

Page 13: Quick User Guide 1.5

13

- Copy the new frequency to the clipboard. (SPO1 [MHz])

- Insert the frequency to the box SF [MHz] under the ProcPars parameters

Page 14: Quick User Guide 1.5

14

- After frequency was set, acquire a new spectrum and do the post-processing

- Check also the close up (enlarge spectrum) - If necessary correct for the offset frequency error as described above.

Page 15: Quick User Guide 1.5

15

- NOTE: in the case you want to correct for a small error, add the displayed frequency of the spectrum window to the frequency value in the box O1 [Hz] orO1P [ppm] by subtracting or adding it, using a plus or minus sign, respectively.

o AcquPars > Nucleus 1 > O1 [Hz] orO1P [ppm] o Don’t forget to copy the new carrier frequency value also to the SF box in the

ProcPars tab

Page 16: Quick User Guide 1.5

16

Triggering

To trigger a given sequence to the signal coming from the bicycle the corresponding pulse program must be modified. The following pulse program shows the TopSpin code for a modified adiabatic pulse sequence “selzg_trigger”. - In order to load a pre-existing pulse program click on the button next to the

PULPROG box in the AcquPars tab. A new window will open then with all the saved pulse programs available. Select one, in this case ‘selzg_trigger’, and press OK.

- To proof the applicability of the trigger method start a new acquisition with 16 or more averages and check the trigger signal in the ‘MGOutput 2.vi’ or ‘trigger_final.vi’ program. Therefore, maximize the program window and start cycling the bicycle.

Page 17: Quick User Guide 1.5

17

‘MGOutput 2.vi’

- In the ‘Input’ window you can see the changing voltage during bicycling. The y-axis should be displayed in an increasing manner. In case it is the other way round change the power cords at the bicycle.

- In the lower window, namely the ‘Output’ window, you can see the trigger signal. The trigger can be defined by the trigger voltage or threshold, which can be set in the box ‘Trigger [V]’. After you have set the right threshold value for the triggering you can stop the acquisition and move on with your experiments. NOTE: don’t close the ‘MGOutput 2.vi’/’trigger final.vi’ program, minimize it.

- Reconcider shimming during bicycling, eventually, or do at rest!

Page 18: Quick User Guide 1.5

18

Triggered Acquisition Automation To gain data during cycling the bike automated acquisition is more favorable over manual acquisition because of the better defined time schedule. To do so, 2D method might be of interest in this case. The method is an AU based programs which you can select in the TopSpin environment and load it to your personally defined acquisition parameters.

Pseudo 2D acquisition

- ‘selzg2d_trigger’: This method is a self-made pulse program based on the pulse program selzg which is designed for shaped pulses. The program is supposed to work in triggering mode but in case it’s needed without triggering the pulse program ‘selzg2d’ might be used as well.

o This AU program is a 2D acquisition method, where the 1st dimension is normal spectral acquisition and the 2nd dimension refers to the storage of data in time, so that you are able to continuously measure spectra. Post-processing of the ‘ser’ dataset will allow you to separate the single acquired spectra and create new EXPNOs numbers afterwards (see chapter…).

- To do 2D acquisition the following points should be followed: o Change PULSPROG to ‘selz2d_trigger’ from the AU program list either by

typing ‘edau’ to the command line or by clicking on beside the PULSPROG box in the AcquPars tab and select it form the list.

o Set your normal acquisition parameters that you would like to work with in the ProcPars and AcquPars.

o Switch to 2D mode by clicking on button in the upper left corner of the AcquPars tab. In the following window that opens check the box ‘change dimension from 1d to 2d’

Page 19: Quick User Guide 1.5

19

o The display of the AcquPars changes to 2D mode adding a second row to the right of the standard parameters (F1)

o Change ‘FnMODE’mode to undefiened in the dropdown menu of the new row (F1).

o In the same row define ‘TD’ (size of the fid) to the number of experiments you would like to run in sequence.

o After you have set the right number of experiments (‘size of fid’ box) change to pulse program parameters only in the AcquPars by clicking the in the left corner of the window in order to adjust the trigger parameters.

Page 20: Quick User Guide 1.5

20

o Parameter D2 determines the variable delay time between incremental scans (It’s also possible to use the parameter D1 instead of D2 when setting the delay between the single acquisitions. D2 was implemented only to give a rational name to the delay time between triggers instead of using a parameter called ‘relaxation delay; 1-5*T1’)

o Run the method o After acquisition is complete the created ‘ser’ file can be processed in the

way that for every single spectrum acquisition a new EXPNO will be created by an AU program called ‘splitser’

o Select the program either from the AU list (type in ‘edau’ into command line) - select the correct program and click on execute to start it - or type in ‘splitser’ into command line to directly start the automation program.

o The program splits a ser file into single fids, starting with the expno which follows the ser file

o Post-processing according to AU programs that perform i.e. automatic phase correction (‘multiapk’), fourier transformation (‘multifp’), or automatic baseline correction (‘absf’), or all together like ‘multiftapkabsf’ ‘multiftapk’ is also a valid command excluding ‘absf’.

NOTE: Before starting the intended experiment it might be wise to check the functionality of the trigger itself and the resulting spectral quality. Therefore, load the ‘selzg2d_trigger’ pulse program. After you switched to 2D mode as described above enter only a small number of experiments to be run with a lot more averages as supposed to in your real experiment, in order to check the continuity of the trigger. This is of course also dependent on the subjects’ performance towards the cycling speed. Use a metronome to keep the speed as constant as possible.

Page 21: Quick User Guide 1.5

21

‘triggering_final.vi’

Cycling - and Artificial-triggered Acquisition Automation In terms of using TopSpin as recording software for NMR spectra often one is limited by the software’s ability of acquiring only a fixed number of pseudo 2D spectra. Additionally the software doesn’t offer a way to switch from active triggered data acquisition methods to passive ones including a fixed trigger delay. To circumvent this lack of freedom a customized software package solution was build with Labview 8. Similar to the solution implemented in the file MGOutput2.vi this tool (‘triggering_final.vi’) consist of the raw data input display and an output display of the real trigger signal channeled to the scanner. Actually with the new tool there is the opportunity to select a certain so called “minimal trigger interval” time which must elapse before the next incoming signal from the bicycle (with threshold X) will be used and channeled as trigger to the scanner. On the other hand there is now the ability to use an internally produced trigger signal which can be switched on in case exercise will be stopped but spectral data acquisition wants to be prolonged to record recovery phase. Therefore, the input “automatic trigger interval” is used to create a user selected trigger repetition time. To select either of those modes, namely “minimal trigger interval” (“Bicycle trigger”) or “automatic trigger interval” (“Automatic trigger”), a switch was implemented performing the action of either modes. The modes can be switched also in a running experiment. So, for a pseudo 2D data acquisition with TopSpin during a bicycle experiment you might take bicycle driven trigger signals and after muscle exhaustion for instance resting/recovery spectra might be acquired without creating new data set. This means that not a new acquisition has to be started which would create unforeseeable delay times between scans otherwise. Furthermore, there is a better control over flexible exercise regimes and hence recovery start times without being dependent on a fixed number of spectra to be acquired firstly in order to finish a single experiment in TopSpin.

Page 22: Quick User Guide 1.5

22

Furthermore, all incoming trigger signals (from bicycle) and all outgoing trigger signals (to the scanner) will be stored in time in separate data files as soon as you run the program. That means there is a control over the cycling frequency as well as the opportunity to reconstruct the spectra in time based on whether they were acquired with a bicycle driven trigger or with an artificial one.

Storing trigger time points to file Before actually running the program you can set the location of the file in which the times and triggers are stored for the incoming bicycle triggers and outgoing scanner triggers. Therefore the following guide you through the process:

- On the right side of the program “triggering_final.vi” window two boxes are shown. - Click on the right folder button

- A new window will - Select a folder location and a data file (select a pre-existing data file because you cannot

insert your own file name at this stage, but you can change it after this step when you are back in the main window)

- After confirming the location of the data file click into the box where the directory location is displayed and change the name of the data file. Do that for both files accordingly.

Page 23: Quick User Guide 1.5

23

Select a proper threshold voltage for the incoming bicycle trigger to be recognized as such

Presetting the Trigger Intervals Before initiating spectral acquisition by starting the program with the button:

- Set the limit for the minimal bicycle trigger interval, which is the minimum time for the program to wait until a new trigger signal from the bicycle will be considered for further processing (which also should directly correlate with the trigger signal that is passed to the scanner, but might vary by the pre set threshold for the trigger voltage).

- Also set the right interval time for the automatic trigger.

- It is also possible to change the interval times when the program is running. - Adjust the Trigger voltage threshold for the incoming trigger signal judged by input voltage

differences. (Same as in “MGOutput 2.vi”)

- The best way to get an estimate of the threshold is to make a test run, because in the case of a real experiment the TopSpin pseudo 2D spectral acquisition would wait in the queue already and the time series reconstruction would be massed up. It’s also possible to obtain the threshold from running the “MGOutput 2.vi” file (without having a TopSpin acquisition in the queue (… which is of course optional)

Page 24: Quick User Guide 1.5

24

Switching Between Trigger Modes According to an exercise protocol for 31P NMR spectroscopy it might be necessary to measure the PCr recovery rate. To measure both exercise and recovery without delay the developed LabView program can be used to measure both subsequently by switching from a previously bicycle driven trigger (exercise) to an independent artificial trigger (recovery) in the very same pseudo 2D dataset in TopSpin.

- In case you run the program in bicycle trigger mode only the trigger signal produced by the bicycle will be passed to the scanner

- Criteria for the bicycle trigger to be ‘true’: o Next trigger signal will be taken after the “minimal bicycle trigger interval” time has

elapsed o and if the trigger threshold level has been set correctly.

- If you switch to “Automatic trigger” mode an artificial trigger will be produced with an interval time which can be set in the box “Automatic trigger interval”.

- It is possible to switch between modes during an running spectral acquisition, like for instance of a pseudo 2D TopSpin spectral acquisition.

Page 25: Quick User Guide 1.5

25

‘triggering_final.vi’ docket Preparations for a bicycle driven acquisition

o Hardware check o TUeDACS, bicycle positioning, cable connections, scanner cabinet, PC, Speakers, power supplies,

network analyzer etc. o Show patient around and familiarize with scanner o finding right shoe size o sign informed consent form (Best to be done in a test session before the actual experiment) o position the coil to the desired region of the leg o wobble with the network analyzer (see chapter ‘Tune and Match with the Network Analyzer’) o position the patient correctly in the scanner o Right leg must be stretched so that the pedals are horizontally in one line (‘relaxed position’) o Adjust the bike position towards the leg length and the coil positioning so that the leg and coil will be in the

center of the bore in the ‘relaxed position’. (Best to be known from test session) o Adjust the trigger stick to the ‘relaxed position’ so that in case of movement the acquisition will be done in this

cycling phase. o Test active cycling o Test passive cycling o In ‘relaxed position’ shim the magnetic field with ‘Shimming.vi’ LabView program (see chapter ’ Shimming’) o Acquire 1H spectrum in ‘relaxed position’ (test shims). Measure peak width at half maximum. Redo shimming

until sufficient. o Acquire 31P spectrum in ‘relaxed position’ . Test also for the peak width at half maximum. o Start passive cycling for short time (2-3 min) followed by 5 min of rest to become familiar to passive cycling

procedure. Acquire data set during this test phase to get an impression of the spectral quality. (see below how to prepare data acquisition for a pseudo 2d data set with LabViews ‘triggering_final.vi’program)

o Acquire 31P spectrum ‘in relaxed position’ (rest experiment) o Start cycling/ Start acquiring 31P passive cycling dataset.

Handling ‘triggering_final.vi’ program during an experiment

o Open the LabView program ‘triggering_final.vi’ o Immediately run the program and let the patient cycle a few times in order to adjust the trigger threshold (in

case it is unknown). o Stop the program after you have adjusted the trigger threshold o Select the folder locations for the ‘bicycle trigger’ and ‘scanner trigger’ files (see chapter ’Storing trigger time

points to file’ for more detail). o Leave this window and open TopSpin o Create new EXPNO for a new pseudo 2D acquisition (see chapter ‘triggered acquisition automation’). o Set parameters according to the experimental requirements. NOTE: for parameters D1 (repetition delay) and D2

(variable delay time between incremental scans) add zeros instead of the corresponding values, because the delay times are now dictated by the ‘trigger_final.vi program’.

o Run the pseudo 2D scan in TopSpin after adjusting the settings. o Leave the TopSpin window and go back to the ‘triggering_final.vi’ window o Enter the values for the automatic and bicycle driven repetition times according to your requirements. o Set the big switch in the center of the window to the cycling conditions you start your experiment with, namely

‘Bicycle trigger’ or ‘Automatic trigger’. o Start the metronome on the desired cycle speed o Let the patient start cycling a few seconds before you start the program for a flying start. (only necessary when

you selected the ‘Bicycle trigger’ settings beforehand). o In case you your experiments requires a change in acquisition from either modes do so during the scan. o After TopSpin acquisition is finished you can stop ‘trigger_final.vi’ o Do spectral processing and post-processing of the pseudo 2D data set according to the descriptions in chapter

‘Preprocessing data in TOPSPIN’, ‘Converting 2D data sets for the use in jMRUI’ and ‘Processing spectra in jMRUI’, respectively.

o In order to reconstruct the spectra also in time refer to chapter ‘Spectral time editing’

Page 26: Quick User Guide 1.5

26

Calibration Automations

Adiabatic BIR4_90deg and AFPST10_180 deg Pulse Calibration

In order to set the optimal power and duration of the given excitation pulse the pulses for a given radio frequency coil must be calibrated. To do so you can do both, manually create the EXPNOS and changing the parameters accordingly to the calibration, or you select a automation program designed especially for pulse duration calibration. The power of the pulse must be pre-set. The automation program is custom made and called paropt90calib for 90 degree pulses of any sort and paropt180calib, which is specially designed for the calibration of a 180 degree adiabatic pulse

90 degree pulse excitation calibration

- Load the pulse program ‘selzgcalib’ in the AcquPars and select BIR4_90deg pulse - Set the standard single pulse acquisition parameters - Set the right parameters in the ProcPars, where you can also determine the right

spacing between in the spectra display - Run the AU program ‘paropt90calib’ by directly entering paropt90calib into the

command line or select it from the AU list. (The method will create a ser file which always will be set to the procno 999)

o A new window will appear in which you are ask to select the parameter which should be calibrated > select ‘p1’ (pulse length)

o A new window will appear where you have to determine the start value of the chosen parameter.Set the value and confirm

o A new window will appear in which you have to set size of the incremental parameter steps

o A new window will appear where you have to set the number of experiments to be run. Confirm your entries and the acquisition will start subsequently.

o The spectra will be displayed right beside each other in the Spectrum tab

Page 27: Quick User Guide 1.5

27

A new window will appear in which you are ask to select the parameter which should be calibrated > select ‘p1’

A new window will appear where you have to determine the start value of the chosen parameter. Ste the value and confirm

A new window will appear in which you have to set the incremental parameter steps

A new window will appear where you have to set the number of experiments to be run. Confirm your entries and the acquisition will start subsequently.

Multiple Spectrum Display

Page 28: Quick User Guide 1.5

28

Phasing imperfections as those seen strongly in the first few scans are corrected for in the newer version of the ‘paropt’ basic AU program, namely our ‘paropt90calib’. The new version includes fourier transforming of the spectrum and automatic phase correction (APK), too. Furthermore automatic baseline correction (ABSF) is performed subsequently of which parameters can be set in the ProcPars menu or saved from a previously acquired spectrum as follows: The peaks to be displayed can be set by acquiring a simple spectrum before the calibration process and after normal post-processing you can zoom in the spectrum and save these settings by a right click into the Spectrum window and checking, ‘Parameters ABSF 1/2 and clicking OK. If you now start the calibration as described above the spectral display region is specified to the size of your previous savings. You can also define those values of the ProcPars if that turns out to be more favorable.

- Because it is a 2d data set you can also use the AU program ‘splitser’ to create single expnos for every single spectrum, where you can do the phase correction with for instance, afterwards (see below for a detailed description of the AU program), too.

Page 29: Quick User Guide 1.5

29

180 degree pulse excitation calibration

The calibration of the 180 degree adiabatic pulse requires a previously determined 90 degree adiabatic excitation pulse because the it cannot be determined by the length of the pulse as is the case like for instance with a normal block pulse. Therefore the pulse sequence is defined firstly by the excitation of the spins with a 180 degree adiabatic pulse after which a 90 degree adiabatic pulse will flip the spins back to the x-y plane for read out. In case the 180 degree pulse is imperfect the readout will be close to zero. For proper functioning of the method you will need a previously calibrated 90 degree adiabatic pulse to bring the spin system to the x-y readout plane. That’s also why the readout signal peak will be negative, because the spins are on the minus axis.

- Load the pulse program ‘calibinv’ in the AcquPars and choose e.g. a BIR4_90deg pulse for 90 degree excitation and e.g. AFPST10 pulse for 180 degree inversion

- Set the standard single pulse acquisition parameters. Note that for 90 degree excitation you have to select the calibrated parameters for that pulse e.g. power and length.

- Set the right parameters in the ProcPars, where you can also determine the right spacing of the single spectra

- Run the AU program ‘paropt180calib’ by directly entering paropt180calib into the command line or select it from the AU list. (The method will create a ser file which always will be set to the procno 999)

o A new window will appear in which you are ask to select the parameter which should be calibrated > select ‘p1’ (length of the 180 degree pulse)

o A new window will appear where you have to determine the start value of the chosen parameter. Set the value and confirm

o A new window will appear in which you have to set the incremental parameter steps

o A new window will appear where you have to set the number of experiments to be run. Confirm your entries and the acquisition will start subsequently.

o The spectra will be displayed right beside each other in the Spectrum tab o To compare the inversion strength you can run a single pulse experiment

with 120dB power for the 180 degree inversion pulse and afterwards checking the height of the peak with the peak obtained under optimal dB settings of that pulse.

Page 30: Quick User Guide 1.5

30

120 dB inversion pulse (Min power) Pure 90 degree excitation

-6 dB inversion pulse (Max power)

Full 180 degree inversion plus 90 excitation

Signal is manually phased to compare it to the 120 dB pulse experiment

Pulse sequence of adiabatic Inversion Recovery of 180 degree AFPST10 and 90 degree BIR4

Page 31: Quick User Guide 1.5

31

- Result of a 180 degree inversion pulse calibration with the AU program ‘paropt180calib’. Spectra are not phased

- Phasing has to be done manually, because the command ‘apk’ would set the signals all positive.

- Because it is a 2D data set you can use the AU program ‘splitser’ to create single ‘expnos’ for every single spectrum, which you can process by automatic phase correction with ‘multiapk’ afterwards (see below for a detailed description of the AU program)

Page 32: Quick User Guide 1.5

32

Automatic Parameter Calibration Tool ‘popt’

Besides using the above described methods there is also a AU program available with which it is possible to calibrate any available parameter that is listed in the acquisition program and which comes with the respective pulse program. When you have loaded the right pulse program and set the basic acquisition parameters (AcquPars) that you would like to work with the following protocol will give you a detailed description how to use the ‘popt’ AU program that gives you a way how to calibrate certain parameters in an automated fashion

- First select a pulse program and set the acquisition parameters AcquPars - Type ‘popt’ into the command line and confirm. - A new window will appear

o Check the boxes of your choice in the upper part of the window o In the table below check box ‘OPTIMIZE’ o Type in the parameter to be optimized under ‘PARAMETER’ o In the tab ‘OPTIMUM’ you can select the polarity of the expected signal o Select the start value ‘STARTVAL’and end value ‘ENDVAL’ of the parameter to

be calibrated o In the box ‘NEXP’ you may enter the number of experiment if you want to

run only a certain number o In ‘VARMOD’ you can select from different variable modes, like linear,

exponential etc. o Under ‘INC’ you can select the size of the incremental steps of the parameter

value that is changed between the single experiments

Page 33: Quick User Guide 1.5

33

o If you have set the right values you may save the array by clicking ‘Save array

file as…’ o If you want to start calibration acquisition click on ‘Start optimize’ o After acquisition is finished go on with the creation of single ‘EXPNOS’ by the

AU function ‘splitser’ and post-processing, like fourier transformation, phase correction, integration etc.

Preprocessing data in TOPSPIN

Processing 2D experiments with ‘splitser’

According to 2D acquisitions (1D spectra stored in time(2D)) data are stored in one file which in this state cannot be further processed by the TopSpin program. To work with the acquired data you can create single single ‘expnos’ which you may further process afterwards. Therefore, the following description might give you guidance to do so:

- After a 2D acquisition (as described above) has been finished the open the ‘expno’ in which it has been stored by a double click. In this case that should be expno 899

- Enter the command ‘splitser’ to the command line directly or open the AU program list by typing ‘edau’ to the command line, then select splitser and start the program by clicking on ‘execute’

- After program has finished the following window will appear

- To see the new created ‘expnos’ (automatically starting with the ‘expno’ number 900 as first experiment in the sequence) minimize the data folder and expand it right afterwards again.

- Now you can go on with post-processing of the newly created ‘expnos’, like fourier transformation, phase correction, integration etc.

Fourier transformation and phasing of multiple spectra

To do Fourier transformation and automatic phase correction of multiple spectra in sequence, like for instance on a split 2D data set, load the following AU program from the automation program list: ‘multiftapk’ or type it directly to the command line.

Page 34: Quick User Guide 1.5

34

- After you opened the AU program the following window will appear. Enter the first EXPNO to start with. By default that will be 900 because this is the first spectrum after 2D splitting with ‘splitser’.

- Afterwards a new window will open in wich you can define the number of experiments to be processed in sequence. Enter the number and confirm. Automation program is finished after you receive a note on the desktop.

Integration of Multiple Spectra

- After finishing the 2d acquisition, creating single expnos, fourier transformation and automatic phase correction you can do multiply integration of spectra as described below. Additionally, a text file will be created of the single integrations and stored in the ‘expno’ data folder from which currently activated during the start of the process.

o Load the spectrum including the peak which you want to define as reference. Type ‘int’ in the command line and select ‘define integral regions manually’ in the next window

o Define the region to be integrated either by drawing a region ( ) with the mouse cursor or define it by a ppm displacement ( )

Page 35: Quick User Guide 1.5

35

o Confirm the result and save the integration area by the button and confirm ‘Save Region To ‘intrng’’

o Save and close the window with the button

o Type in the ‘wmisc’ to the command line and check the box ‘Save miscellaneous file of current data set for general usage’ and confirm

Page 36: Quick User Guide 1.5

36

o In the next window save the settings to a file. Type in the name and click OK

o To start the multiple integration procedure for the sequential ‘expnos’ type ‘multi_integ3’ into the command line

o Select for integration either single expnos or procnos in sequence

o Enter first experiment number that you want to start your integration processing with

o Enter number of experiments

o Enter the name of the file in which you have saved the integration area information beforehand

o After integration process has been finished the following window will appear

Page 37: Quick User Guide 1.5

37

Converting 2D data sets for the use in jMRUI Time sequence data (2D) acquired as described in chapter … are usually limited by their use in TopSpin. Furthermore, the selected spectral quality might suffer from a low number of averages. Therefore, exporting the data set, sum spectra together to increase the number of averages (and subsequently increasing spectral quality) and make those data accessible to other software for post-processing and quantitiation, like for instance in jMRUI, the following protocol will help you.

TopSpin

- Acquire 2D data set as described under section … of this guide - Convert the 2D data set (‘ser’ file) by typing ‘convdta #’ to the command line. This

command converts digitally filtered FID into analogue (conventional) form Note: ‘#’ = defines the number for the newly created ‘expno’ that results from this conversion. It’s best to select a free ‘expno’ number to prevent overwriting of data

- You can close TopSpin if you’re finished with data conversion

MatLab

- Open MatLab and the folder in which the application ‘MatSplitSer.m’ is stored. - Right click on the file and select ‘run’ in the menu - In the next window select the newly converted ‘ser’ from the corresponding data

folder and confirm with ‘open’

Page 38: Quick User Guide 1.5

38

- A new window will open - Define the total number of experiments that is the number experiments previously

set in the AcquPars under ‘number of FIDs’ in row F1 when set up the 2D experiment. - Enter the desired number of averages you would like to have for every single

spectrum, while only 1 (no averaging), 2 or 3 are allowed numbers.

- Afterwards two new windows will open in which the new processed data are displayed in FID mode. Close the windows. The data are ready for the use with jMRUI. You may close MatLab in case you are finished with all datasets.

Page 39: Quick User Guide 1.5

39

Processing Spectra in jMRUI

Parameterization and preprocessing

- Open jMRUI - Open the ‘MRUI Wizard’ menu (opens

automatically when starting the program) and select ‘1D/Time Series’

- Select one of the newly MatLab converted ‘ser’ files from the right folder

- When the file has been successfully loaded the created spectra will be displayed in a stack plot. For processing reasons you might want to select a single spectrum only, which can be done by clicking on one of them on the right side table beside spectrum window.

Page 40: Quick User Guide 1.5

40

- Set proper display parameters by checking or unchecking the corresponding boxes in the ‘View’ and ‘Options’ tab like displayed on the right

- After you have set the above parameters go to ‘File’ and open ‘Signal information’

- Make sure that the following parameters are set to the conditions of your experiment:

o Bandwidth (Hz) / Sampling Intervals (ms) o Transmitter Frequency (MHz) o Main Magnetic Field (Tesla)

Page 41: Quick User Guide 1.5

41

- Now you can do basic processing of the spectrum. Therefore click on the following buttons: in the upper left corner of the MRUI window. That will open new windows for 0 and 1st order phase correction, zero filling and apodization.

- Adjust the parameters to values optimal for the spectra.

- If you want to do different adjustments to those mentioned above go to ‘Preprocessing’ in the upper bar and select one of the following adjustments:

Page 42: Quick User Guide 1.5

42

Quantification with AMARES

- When you think you are finished you might want to export the data, now. But it is also possible to quantify the data and export them afterwards. To do so open the AMARES tool in jMRUI by clicking on ‘Quantitation’ and select ‘AMARES’.

- That will open a new window. - Now you can select the peaks to be integrated and

quantified either to pick manually or automatically. If you choose for the latter one click on the button ‘Autoclick’ and type in the number of peaks the program should be able to detect.

- In case you want to select the peaks manually enlarge the spectrum window and start to picking the first peak by clicking on the peak tip (that defines the peak location and the amplitude) and afterwards on the half height of the same peak (that defines the peak width at half maximum). You can enlarge peaks with the mouse cursor that make it easier to pick the right spots. You will notice that your defined peaks are appearing in a table in the AMARES window.

Page 43: Quick User Guide 1.5

43

- By selecting the tab ‘Prior Knowledge’ you are able to select and define the way how the individual peaks will be processed.

- By selecting the tab ‘Overall Phase’ you are able to define the phasing of the spectrum. It is possible to do it automatically by the software when selecting estimate or do it manually. Best way to do it is by taking the same values for phase correction as previously done with the phasing tool.

- After entering the right values and defining the quantification of the spectrum and the corresponding single peaks, click on ‘Quantify’

Page 44: Quick User Guide 1.5

44

- A new window will open displaying the results of your current quantification

- In the lower left panel the numerical results are displayed which can be copied to the clipboard and exported to an excel file for instance.

Page 45: Quick User Guide 1.5

45

Spectral time editing As the processed spectra are originating from a particular time series it might be interesting to know on which exact time points they were acquired. Therefore, a MatLab based tool was build in order to display the data file information which were created during spectral acquisition by the ‘triggering_final.vi’ program. The raw incoming bicycle trigger signals as well as the outgoing scanner triggers are stored in two separate files by ‘triggering_final.vi’. That means that both cycling speed (incoming trigger signal) and spectral time reconstruction (outgoing trigger signal) can be done as a post-processing step. To do so the following manual will help you performing this kind of processing:

- Open ‘MatLab’ and select the tool called ‘plot_trigger.m’ - Run it and select one of the files to be analyzed (either ‘bicycle trigger’ files or

‘triggers to scanner’ files). See chapter ‘Cycling – and artificial triggered acquisition automation’ for more information.

- Next, 2 windows will open. One window will display the cycling frequency (RPM) as function of the number of rotations and the second one will display the results for the trigger signals which were true (in respect to the programming of the software) as a function of time.

Page 46: Quick User Guide 1.5

46

- Here an example is shown for the ‘Bicycle trigger’ data, namely every trigger signal that came from the bicycle was stored in time. It’s not giving information whether those trigger signals have been used for spectral acquisition (This kind of data is stored in the ‘trigger to scanner’ files).

- Below the results for the data that has been passed to the scanner are displayed from an experiment including bicycle trigger mode and automatic trigger mode. In the RPM graph on the left you can see in the first have the bicycle driven trigger that were passed to the scanner and in the second have the automatic trigger signal are shown. The right graph shows every single trigger signal that was passed through the scanner and therefore makes it possible to assign single spectra to their corresponding acquisition times. NOTE: These times may only represent the starting times of the acquisitions.

Page 47: Quick User Guide 1.5

47

;selzg_trigger ;(2010/02/25) ;2D sequence ;selective excitation using a shaped pulse including triggering ;Changes by Robert Blavid and Jules Nelissen ;Original selzg sequence by ;C.J. Bauer, R. Freeman, T. Frenkiel, J. Keeler & A.J. Shaka, ; J. Magn. Reson. 58, 442 (1984) ;H. Kessler, H. Oschkinat, C. Griesinger & W. Bermel, ; J. Magn. Reson. 70, 106 (1986) ;$CLASS=HighRes ;$DIM=1D ;$TYPE= ;$SUBTYPE= ;$COMMENT= #include <Avance.incl> 1 ze 2 30m d1 10u trigpe1 p11:sp1:f1 ph1:r go=2 ph31 30m mc #0 to 2 F0(zd) exit ph1=0 2 2 0 1 3 3 1 ph31=0 2 2 0 1 3 3 1 ;pl0 : 120dB ;pl1 : f1 channel - power level for pulse (default) ;sp1: f1 channel - shaped pulse ;p11: f1 channel - 90 (or 270) degree shaped pulse ;d1 : relaxation delay; 1-5 * T1 ;NS: 1 * n, total number of scans: NS * TD0 ;phcor 1 : phasedifference between power levels sp1 and pl1 ;choose p11 according to desired selectivity ;the flip-angle is determined by the amplitude ;set O1 on resonance on the multiplet to be excited or use spoffs ;$Id: selzg,v 1.8.10.1 2005/11/10 13:18:59 ber Exp $

Appendix

Pulse Programs

selzg_trigger

Highlighted in grey is the pulse program command for the ‘trigger’ signal

Page 48: Quick User Guide 1.5

48

;selzg2d_trigger ;(2010/02/25) ;designed for the use in 2D mode ;selective excitation using a shaped pulse including triggering ;Changes by Robert Blavid and Jules Nelissen ;Original selzg sequence by ;C.J. Bauer, R. Freeman, T. Frenkiel, J. Keeler & A.J. Shaka, ; J. Magn. Reson. 58, 442 (1984) ;H. Kessler, H. Oschkinat, C. Griesinger & W. Bermel, ; J. Magn. Reson. 70, 106 (1986) ;$CLASS=HighRes ;$DIM=1D ;$TYPE= ;$SUBTYPE= ;$COMMENT= #include <Avance.incl> #include <Delay.incl> "DELTA=d2" 1 ze 30m 2 DELTA 3 d1 10u trigpe1 4u pl0:f1 p11:sp1:f1 ph1:r go=2 ph31 30m wr #0 if #0 ze lo to 2 times td1 exit ph1=0 2 2 0 1 3 3 1 ph31=0 2 2 0 1 3 3 1 ;pl0 : 120dB ;pl1 : f1 channel - power level for pulse (default) ;sp1: f1 channel - shaped pulse ;p11: f1 channel - 90 (or 270) degree shaped pulse ;d1 : relaxation delay; 1-5 * T1 ;d2 : variable delay time between incremental scans ;NS: 1 * n, total number of scans: NS * TD0 ;phcor 1 : phasedifference between power levels sp1 and pl1 ;choose p11 according to desired selectivity ;the flip-angle is determined by the amplitude ;set O1 on resonance on the multiplet to be excited or use spoffs

selzg2d_trigger

Highlighted in grey are the pulse program ‘trigger’ and ‘variable delay’ changes to the ‘selzg’ pulse program

Pulse sequence of ‘selzg2d_trigger’

Page 49: Quick User Guide 1.5

49

;selzg ;avance-version (02/05/31) ;1D sequence ;selective excitation using a shaped pulse ; ;C.J. Bauer, R. Freeman, T. Frenkiel, J. Keeler & A.J. Shaka, ; J. Magn. Reson. 58, 442 (1984) ;H. Kessler, H. Oschkinat, C. Griesinger & W. Bermel, ; J. Magn. Reson. 70, 106 (1986) ; ;$CLASS=HighRes ;$DIM=1D ;$TYPE= ;$SUBTYPE= ;$COMMENT= #include <Avance.incl> 1 ze 2 30m d1 4u pl0:f1 p1:sp1:f1 ph1:r go=2 ph31 30m mc #0 to 2 F0(zd) exit ph1=0 2 2 0 1 3 3 1 ph31=0 2 2 0 1 3 3 1 ;pl0 : 120dB ;pl1 : f1 channel - power level for pulse (default) ;sp1: f1 channel - shaped pulse ;p11: f1 channel - 90 (or 270) degree shaped pulse ;d1 : relaxation delay; 1-5 * T1 ;NS: 1 * n, total number of scans: NS * TD0 ;phcor 1 : phasedifference between power levels sp1 and pl1 ;choose p11 according to desired selectivity ;the flip-angle is determined by the amplitude ;set O1 on resonance on the multiplet to be excited or use spoffs ;$Id: selzg,v 1.8.10.1 2005/11/10 13:18:59 ber Exp $

selzgcalib

Page 50: Quick User Guide 1.5

50

;calibinv #include <Avance.incl> #include <DBX.incl> ;;"d13=3u" ;;"d30=323u" ;;"d28=1m" ;;"d14=10u" 1 ze 2 d1 pl0:f1 p12:sp2:f1 ph2:r d13 d30 grad{(0)|(10,no_scale)|(0)} d28 d30 groff d14 pl1:f1 p11:sp1:f1 ph1:r go=2 ph31 wr #0 exit ph1=0 2 ph2=0 2 ph31=0 2 ;pl0 : 120dB ;pl1 : 120dB ;sp1: f1 channel - 90 degree shaped pulse ;sp2: f1 channel - 180 degree shaped pulse ;p11: f1 channel - 90 degree shaped pulse ;p12: f1 channel - 180 degree shaped pulse ;d1 : relaxation delay; 1-5 * T1 ;phcor 1 : phasedifference between power levels sp1 and pl1

calibinv

Page 51: Quick User Guide 1.5

51

MatLab files MatSplitSer.m getdata.m getval.m readBruker.m

% Sum spectra Bruker file clear all close all [fid_data,pname,fname] = getdata; [nFID,nAVE] = getval; [sumspectra,FID] = sumBruker(fid_data,nFID,nAVE); writemruib(sumspectra,pname,fname,nAVE);

function [fid_data,pname,fname] = getdata [fname,pname] = uigetfile('D:\My Documents\PhD\Metformin Study\Data\31P\*.*','Select file'); specname = [pname fname]; fil = fopen(specname,'r+'); fid_data = fread(fil, inf, 'long'); % used to be 'long' fclose(fil);

function [nFID, nAVE] = getval prompt1={'Total number of FIDs'... 'Averages (1, 2 or 3)'}; def1={'36','1'}; dlgTitle1='Define some variables for analysis'; lineNo1=1; answer1=inputdlg(prompt1,dlgTitle1,lineNo1,def1); nFID = eval(answer1{1}); %nREST = eval(answer1{2}); nAVE = eval(answer1{2});

function im1=readBruker(Studydirectory,Scannumber) data =PV3read(Studydirectory,Scannumber); im1 = data{1}.Scan{1}.Reconstruction{1}.images(:,:,1); imagesc(im1); colormap gray; axis square; axis off;

Page 52: Quick User Guide 1.5

52

sumBruker.m

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Sorting and summing of the Bruker data % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [sumspectra,FID] = sumBruker(fid_data,nFID,nAVE) %removed ,nREST %sort data size_fid = size(fid_data,1)/2; temp1 = reshape(fid_data,2,size_fid); i = sqrt(-1); temp2 = temp1(1,:) + i*temp1(2,:); FID = reshape(temp2, size_fid, 1); FID = reshape(FID, round(size_fid/nFID), nFID); figure(1) plot(real(FID(:,1))) axis([0 round(size_fid/nFID) min(real(FID(:,1))) max(real(FID(:,1)))]) xlabel('Number of datapoints') title('first FID'); [nrows,ncols]=size(FID); ncols = floor(ncols/nAVE); FIDsum = zeros(nrows,ncols); % sum the spectra if nAVE == 1 %addedthis part for p = 1:1:ncols %addedthis part FIDsum(:,p)=FID(:,p); %addedthis part end %addedthis part elseif nAVE == 2 for p = 1:1:ncols FIDsum(:,p)=FID(:,(2*p-1)) + FID(:,(2*p)); end elseif nAVE == 3 for p = 1:1:ncols FIDsum(:,p)=FID(:,(3*p-2)) + FID(:,(3*p-1)) + FID(:,(3*p)); end end % nrest2 = floor(nREST/nAVE) - 1 % ncols2 = ncols - nrest2 % % FIDsum2 = zeros(nrows,ncols2); % % % average the rest spectra % for p = 1:1:nrest2 % FIDsum2(:,1)= FIDsum2(:,1) + FIDsum(:,p+1); % end % FIDsum2(:,1)= FIDsum2(:,1)/nrest2; % for p = 2:1:ncols2 % FIDsum2(:,p)=FIDsum(:,(p + nrest2)); % end % figure(2) % plot(real(FIDsum2(:,1))) % axis([0 round(size_fid/nFID) min(real(FIDsum2(:,1))) max(real(FIDsum2(:,1)))]) % xlabel('Number of datapoints') % title('first FID of summed spectra'); sumspectra = FIDsum;

Page 53: Quick User Guide 1.5

53

writemruib.m

function writemruib(sumspectra,pname,fname,nAVE) % export data in MRUI format tmp = size(sumspectra); no_points = tmp(1); no_spectra = tmp(2); typeofsignal = 0; pointsindataset = no_points; samplinginterval = 0.2; begintime = 0.00; zeroorderphase = 0.; transmitterfrequency = 108.931e6; magneticfield = 6.3; typeofnucleus = 1.; referencefrequency = 0.; referencefrequencyppm = 0.; fid = 0.; apodizing = 31.4; zerosadded = 0.; specname = [pname fname '_' num2str(nAVE) '_sum2.mrui']; file = fopen(specname,'w','b'); header = horzcat(typeofsignal, no_points, samplinginterval, begintime, zeroorderphase, transmitterfrequency, magneticfield, typeofnucleus, referencefrequency, referencefrequencyppm, fid, apodizing, zerosadded, no_spectra); for i = 1:length(header) count = fwrite(file,header(i),'float64'); end for i = 1:64-length(header) count = fwrite(file,0.,'float64'); end for n = 1:no_spectra for k = 1:no_points count = fwrite(file,real(sumspectra(k,n)),'float64'); count = fwrite(file,imag(sumspectra(k,n)),'float64'); end end status = fclose(file);

Page 54: Quick User Guide 1.5

54

plot_trigger.m

% Mfile to read and plot the data from the bicycle ergometer trigger setup. clear all close all [file, dir] = uigetfile('*.lvm'); fileToRead = strcat(dir, file); % import the data data=importdata(fileToRead); % determine non zero elements moments=find(data(:,2)); aantal_triggers=length(moments); timepoints=zeros(aantal_triggers,2); % find trigger timepoints for i=1:aantal_triggers timepoints(i,:)=data(moments(i),:); end % very fast triggers will not be taken into account timepoints2(1,:)=timepoints(1,:); p=2; for k=2:aantal_triggers if timepoints(k,1) > (timepoints2(p-1,1)+0.2) timepoints2(p,:)=timepoints(k,:); p=p+1; end end % calculate RPM for j=1:(length(timepoints2)-1) RPM(j)=60/(timepoints2(j+1,1)-timepoints2(j,1)); end plot(RPM); xlabel('nr of rotation','FontSize',16); ylabel('speed (RPM)','FontSize',16); % plot trigger versus time figure plot(timepoints(:,1),timepoints(:,2),'.') datacursormode on xlabel('time (s)', 'FontSize',16);

Page 55: Quick User Guide 1.5

55

LabView Block diagram of the LabView program ‘triggering_final.vi’