epltdqrs1 and epltdqrs2 don't detect correct number of beats

15 views
Skip to first unread message

Carmen Olivas

unread,
Apr 23, 2019, 9:17:00 AM4/23/19
to ecg-kit users
Hi Everyone,

Thanks for the ECG kit software, it's very usefull. However, I'm having some troubles with one of the QRS detector. When I run the "first_simple_example.m" changing only:

- the filename of the recording:      example_filename = '1005639.hea';
- QRS detector:       
                            ECGw.ECGtaskHandle = 'QRS_detection';
                            ECGw.ECGtaskHandle.only_ECG_leads = true;
                            ECGw.ECGtaskHandle.detectors = {'wqrs','epltdqrs1','epltdqrs2'};
                            ECGw.Run

The detector wqrs detect correctly 10 beats but epltdqrs1 and epltdqrs2 detect only the last two QRS. I'm using some recordings from the Computing in Cardiology Challenge 2011 PhysioNet that are 10 second signals. In all of them, the eplimited detectors only get the last two beats. Could anyone help me, please? There's no chance to use other method.

Is it because I am using the 2018b version of Matlab? Is it because they are signals of only 10 seconds? I have read that "eplimited does not process the first 8 seconds of recording" If so, how could I do the signal longer and get the extend ".hea" and ".dat" (it's from wfdbtoolbox)? Any idea?

Hope you could help me on that. Thank you!

Regards,
Carmen

Mariano Llamedo Soria

unread,
Apr 23, 2019, 9:26:15 AM4/23/19
to Carmen Olivas, ecg-kit users
Hi Carmen, thanks for trying the kit. I will answer inline of your mail

El mar., 23 de abr. de 2019 a la(s) 10:17, Carmen Olivas (coa-...@hotmail.com) escribió:
Hi Everyone,

Thanks for the ECG kit software, it's very usefull. However, I'm having some troubles with one of the QRS detector. When I run the "first_simple_example.m" changing only:

- the filename of the recording:      example_filename = '1005639.hea';
- QRS detector:       
                            ECGw.ECGtaskHandle = 'QRS_detection';
                            ECGw.ECGtaskHandle.only_ECG_leads = true;
                            ECGw.ECGtaskHandle.detectors = {'wqrs','epltdqrs1','epltdqrs2'};
                            ECGw.Run

The detector wqrs detect correctly 10 beats but epltdqrs1 and epltdqrs2 detect only the last two QRS. I'm using some recordings from the Computing in Cardiology Challenge 2011 PhysioNet that are 10 second signals. In all of them, the eplimited detectors only get the last two beats. Could anyone help me, please? There's no chance to use other method.

Is it because I am using the 2018b version of Matlab?

Probably not.
 
Is it because they are signals of only 10 seconds?

I think that this is the most probable problem.
 
I have read that "eplimited does not process the first 8 seconds of recording" If so, how could I do the signal longer and get the extend ".hea" and ".dat" (it's from wfdbtoolbox)? Any idea?

Try padding or repeating your signal. Or better, try gqrs or wavedet detectors, they are more likely to perform better.
 

Hope you could help me on that. Thank you!

Regards,
Carmen

Good luck !
Mariano.
 

--
You received this message because you are subscribed to the Google Groups "ecg-kit users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ecg-kit-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ecg-kit-users/cfe6be92-56f7-4336-9bb6-7bc68a317bb6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Carmen Olivas

unread,
Apr 23, 2019, 11:10:16 AM4/23/19
to ecg-kit users
Hi Mariano,

I'm really grateful that you have answered so quickly. I have tried to replicate the signal with ".mat" extent. To run "first_simple_example.m" successfully, is the signal necessary to be at ".hea" and ".dat" extent? Do you know how can I replicate the signal and run the example?

Hope you can help me
Regards,
Carmen
To unsubscribe from this group and stop receiving emails from it, send an email to ecg-ki...@googlegroups.com.

Carmen Olivas

unread,
Apr 30, 2019, 6:05:39 PM4/30/19
to ecg-kit users
All right group,

The problem was solved so that the qrs complexes of the whole signal were detected by the eplimited algorithm. As the eplimited algorithm needs at least 8 second of the record to start marking the beats, I decided to duplicate the signal. What I did was the following:

1º) Replicate the signal as follow:

load('1005639m.mat')

signal=[signal;signal];

tm=0:0.002:(20-0.002); %the earlier time was 10 s

 

2º) Creat a header struct like this:

 

            header.recname = [name '_1'];

            header.freq = Fs;%The frecuency

            header.desc = char(labels(1).Description);

            header.gain = labels(1).Gain;

            header.adczero = labels(1).Baseline;

            header.units = labels(1).Units;

            for i= 2:length(labels)

                header.desc = char(header.desc,labels(i).Description);

                header.gain = [header.gain;labels(i).Gain];

                header.adczero = [header.adczero;labels(i).Baseline];

                header.units = char(header.units,labels(i).Units);

            end

            header.nsamp = length(signal);

            header.nsig = size(signal,2);

 

2º)Then:

 

            save([name '_1.mat'],'signal','tm','Fs','labels','header');

            filename = [name '_1.mat'];

            my_user = 'eplimited_my_first_experiment_name';

            bGUICorrection = false;

            examples_path = ['C:\Users\Usuario\Documents\MATLAB\set-a-CinC\good_A'                   filesep ];

            ECGw = ECGwrapper('recording_name', [examples_path filename]);

            ECGw.cacheResults = false;

            ECGw.user_string = my_user;

            ECGw.ECGtaskHandle = 'QRS_detection';

            ECGw.ECGtaskHandle.only_ECG_leads = true;

            ECGw.ECGtaskHandle.detectors = {'epltdqrs1','epltdqrs2'};

            ECGw.Run


I really appreciate the help from Mariano, thank you so much for helping. 

Regards,
Carmen
Reply all
Reply to author
Forward
0 new messages