You are on page 1of 55

Quick User Guide to Start the 1.

5 T Human Body Scanner

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 2

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

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


4

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)

DAC 1= digital to analog conversion

ADC 1= analog to digital conversion

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

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.

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)

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

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

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

1H

31P

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

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

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.

MGOutput 2.vi

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.

10

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: dont 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.

11

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]

12

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

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

13

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.

14

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 Dont forget to copy the new carrier frequency value also to the SF box in the ProcPars tab

15

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.

16

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: dont close the MGOutput 2.vi/trigger final.vi program, minimize it. Reconcider shimming during bicycling, eventually, or do at rest!

17

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 its 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. Postprocessing 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

18

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

o Change FnMODEmode 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.

19

o Parameter D2 determines the variable delay time between incremental scans (Its 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.

20

Cycling - and Artificial-triggered Acquisition Automation


In terms of using TopSpin as recording software for NMR spectra often one is limited by the softwares ability of acquiring only a fixed number of pseudo 2D spectra. Additionally the software doesnt 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.

triggering_final.vi

21

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.

22

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)

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

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. Its 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)

23

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.

24

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. Show patient around and familiarize with scanner finding right shoe size sign informed consent form (Best to be done in a test session before the actual experiment) position the coil to the desired region of the leg wobble with the network analyzer (see chapter Tune and Match with the Network Analyzer) position the patient correctly in the scanner Right leg must be stretched so that the pedals are horizontally in one line (relaxed position) 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) Adjust the trigger stick to the relaxed position so that in case of movement the acquisition will be done in this cycling phase. Test active cycling Test passive cycling In relaxed position shim the magnetic field with Shimming.vi LabView program (see chapter Shimming) Acquire 1H spectrum in relaxed position (test shims). Measure peak width at half maximum. Redo shimming until sufficient. Acquire 31P spectrum in relaxed position . Test also for the peak width at half maximum. 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.viprogram) Acquire 31P spectrum in relaxed position (rest experiment) Start cycling/ Start acquiring 31P passive cycling dataset.

o o o o o o o o o o o o o o o

o o

Handling triggering_final.vi program during an experiment o o o o o o o Open the LabView program triggering_final.vi Immediately run the program and let the patient cycle a few times in order to adjust the trigger threshold (in case it is unknown). Stop the program after you have adjusted the trigger threshold Select the folder locations for the bicycle trigger and scanner trigger files (see chapter Storing trigger time points to file for more detail). Leave this window and open TopSpin Create new EXPNO for a new pseudo 2D acquisition (see chapter triggered acquisition automation). 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. Run the pseudo 2D scan in TopSpin after adjusting the settings. Leave the TopSpin window and go back to the triggering_final.vi window Enter the values for the automatic and bicycle driven repetition times according to your requirements. 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. Start the metronome on the desired cycle speed 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). In case you your experiments requires a change in acquisition from either modes do so during the scan. After TopSpin acquisition is finished you can stop trigger_final.vi 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. In order to reconstruct the spectra also in time refer to chapter Spectral time editing

o o o o o o o o o

25

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 preset. 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

26

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

27

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.

28

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. Thats 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.

29

-6 dB inversion pulse (Max power) Full 180 degree inversion plus 90 excitation

120 dB inversion pulse (Min power) Pure 90 degree 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

30

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)

31

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 STARTVALand 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

32

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.

33

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 ( mouse cursor or define it by a ppm displacement ( )

) with the

34

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

button and

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

35

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

36

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. Its best to select a free expno number to prevent overwriting of data You can close TopSpin if youre 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

37

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.

38

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.

39

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)

40

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:

41

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.

42

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

43

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.

44

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.
45

Here an example is shown for the Bicycle trigger data, namely every trigger signal that came from the bicycle was stored in time. Its 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.

46

Appendix
Pulse Programs
selzg_trigger
;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 $

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

47

selzg2d_trigger
;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

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

Pulse sequence of selzg2d_trigger

48

selzgcalib
;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 $

49

calibinv
;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 ;sp2: f1 channel ;p11: f1 channel ;p12: f1 channel ;d1 : relaxation

- 90 degree shaped pulse - 180 degree shaped pulse - 90 degree shaped pulse - 180 degree shaped pulse delay; 1-5 * T1

;phcor 1 : phasedifference between power levels sp1 and pl1

50

MatLab files

MatSplitSer.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);

getdata.m
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);

getval.m
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});

readBruker.m
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;

51

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;

52

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);

53

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);

54

LabView
Block diagram of the LabView program triggering_final.vi

55