Automated mouse ECG analysis

Discussions and questions about topics not covered above
Sandy Chu
Posts: 1
Joined: 30 Sep 2019, 08:44

Automated mouse ECG analysis

Unread postby Sandy Chu » 30 Sep 2019, 10:43


I am new to Spike 2 and would like to seek some advice on how to analyses mouse ECG.
Ideally, I would like to average the trace over 5 minutes of recording and measure parameters such as P duration, PR interval, QRS duration, QT interval, RR interval, peak amplitudes and area under the curve/peak.

Any help and advice will be much appreciated.

Many thanks,

User avatar
Tim Bergel
Site Admin
Posts: 2381
Joined: 19 Jun 2008, 14:40
Location: Cambridge, England

Re: Automated mouse ECG analysis

Unread postby Tim Bergel » 03 Oct 2019, 13:17

Hi Sandy,

So as I understand it, first you want to generate an 'average ECG' over 5 minutes of data, and then take measurements from this average. Correct me if I have got that wrong...

I am also assuming that you want to first sample your data, and then carry out this analysis, so we are starting with an aready-recorded data file which contains your ECG data as a waveform channel. It is possible to carry out this sort of analysis online, while sampling, but it is more complicated to set up.

Spike2 has powerful waveform averaging built in, so this will not be difficult. However generating an average requires a set of time markers which will be used to select the blocks of waveform data which are averaged together. The simplest way to provide a set of time markers is to generate a new channel which contains events - event data is simply a list of times, with no other attached data - events with attached data are called markers in Spike2. Sorry if you know all this already!

You can easily generate a new channel holding events using the Analysis menu -> Memory Buffer -> Create New Buffer command. Select a buffer type of Event- (or Event+ - there is no meaningful difference here), and click on Import. This will give you a new memory channel in your file, and the import dialog which you can use to populate the memory channel with event times generated in various ways. See the help for details on most of this, but for your analysis I imagine that the best idea is to find each R-wave peak and create an event at this peak time. So you should select Peaks as the Mode (or Troughs if the R-wave is downwards-going). The other important item is the Size, this is used to decide if a peak is big enough for an event to be generated. So I am assuming that your ECG data has a nice clear R-wave that is bigger than anything else, if this is not the case then analysis will be a lot harder. Then, if you enter a Size value that is less than the size of the R-waves, and more than the size of everything else, you will get an event for each R-wave and no events anywhere else. Press Apply to generate the events. You can also use the Analysis menu -> Memory buffer commands to delete all the events and to repeat the import process, so you can try out the various settings as much as you want.

Note that what you have created here is a memory buffer - something that behaves like a channel of the data file, but is actually data held in memory. A memory buffer is not permanent, it vanishes when you close the data file unless you make it permanent by writing it to an unused disk file channel.

OK, once you have done that you can use Analysis menu -> New Result View and create a Waveform average result. In the settings for the average you select the ECG waveform to be averaged, the width and offset so to put the R-wave in the middle of the average, and select your memory buffer with events as the trigger. New generates the result view and you then select the time range over which you want to average. Then press Process and that should give you your averaged ECG.

I'm not going to go into taking the measurements in detail. You can put vertical cursors into the result view and position them where you want, then use the Cursor Regions display to read off things like interval between cursors, mean level, curve areas and so on. There is plenty of information about this in the help.

I hope that helps you get started
Tim Bergel Cambridge Electronic Design

Return to “General”

Who is online

Users browsing this forum: No registered users and 2 guests