Motor evoked potentials (MEPs) are the electrical signals recorded from the descending motor pathways or from muscles following stimulation of motor pathways within the brain (source: Encyclopedia of the Neurological Sciences).
MEPs are used in Transcranial Magnetic Stimulation (TMS) for determining the intensity of stimulation.
NeuroAnalyzer allows analysis of MEP recordings. Usually recording contains more than one MEP. Each MEP is imported as individual channel of the NeuroAnalyzer.NEURO object.
To load MEP recording exported from DuoMAG stimulator:
= import_duomag("mep-duomag.m")
mep # or
= import_duomag("mep-duomag.ascii") mep
Show recording details:
info(mep)
Data type: MEP
File format: DuoMAG
Source file: mep-duomag.m
File size [MB]: 0
Memory size [MB]: 1.25
Subject: 000011: 5-1
Recording:
Recording notes:
Recording date: 21.11.2019
Recording time: 21.11.2019
Sampling rate (Hz): 12500
Signal length [samples]: 8129
Signal length [seconds]: 0.65
Number of channels: 19
Labels: yes
Components: no
Channels:
ch label type unit
------ --------------- ----------- -------
1 MEP1 MEP μV
2 MEP2 MEP μV
3 MEP3 MEP μV
4 MEP4 MEP μV
5 MEP5 MEP μV
6 MEP6 MEP μV
7 MEP7 MEP μV
8 MEP8 MEP μV
9 MEP9 MEP μV
10 MEP10 MEP μV
11 MEP11 MEP μV
12 MEP12 MEP μV
13 MEP13 MEP μV
14 MEP14 MEP μV
15 MEP15 MEP μV
16 MEP16 MEP μV
17 MEP17 MEP μV
18 MEP18 MEP μV
19 MEP19 MEP μV
Detect peaks:
mep_peaks(mep)
(!) The output matrix contains the position (in samples) of the positive (first column) and negative (second column) peaks.
Plot MEP:
= plot_mep(mep, ch=1)
p plot_save(p, file_name="images/mep1.png")
Output:
[ Info: Positive peak time: 28.0 ms
[ Info: Positive peak amplitude: 65.69 μV
[ Info: Negative peak time: 26.0 ms
[ Info: Negative peak amplitude: -95.31 μV
(!) These peaks are auto-detected. Files exported from DuoMAG contain peaks detected by the stimulator. To use embedded peaks, use:
= plot_mep(mep, ch=1, peaks_detect=false) p
Butterfly plot over MEPs:
= plot_mep(mep, ch=1:10, type=:butterfly, avg=true)
p plot_save(p, file_name="images/mep2.png")
Mean plot over MEPs:
= plot_mep(mep, ch=1:19, type=:mean, peaks=false)
p plot_save(p, file_name="images/mep3.png")
Plot stacked MEPs:
= plot_mep(mep, ch=1:19, type=:stack)
p plot_save(p, file_name=file_name="images/mep4.png")
Calculate amplitude at given time point across all MEPs:
amp_at(mep, t=0.250)
Calculate average, minimum and maximum amplitude over a time segment:
avgamp_at(mep, t=(0.150, 0.250))
minamp_at(mep, t=(0.150, 0.250))
maxamp_at(mep, t=(0.150, 0.250))