|
a |
|
b/preprocessOfApneaECG/computeFeatures.m |
|
|
1 |
function a = computeFeatures(file_path) |
|
|
2 |
% https://doi.org/10.21105/joss.00671 |
|
|
3 |
% https://zenodo.org/badge/latestdoi/128659224 |
|
|
4 |
addpath(genpath('G:\python project\apneaECGCode\preprocessOfApneaECG\BioSigKit')) |
|
|
5 |
read_path = strcat(file_path, '\denoised_ecg_data.mat'); |
|
|
6 |
ecg_data = load(read_path); |
|
|
7 |
ecg_data_1 = ecg_data.denoised_ecg_data; |
|
|
8 |
a = 0; |
|
|
9 |
|
|
|
10 |
Analysis = RunBioSigKit(ecg_data_1, 100, 0); % Uses ECG1 as input,Fs=250 |
|
|
11 |
%-------------------- Call Pan Tompkins Algorithm ------------------- % |
|
|
12 |
% Analysis.MTEO_qrstAlg; % Runs MTEO algorithm |
|
|
13 |
% QRS = Analysis.Results.R; % Stores R peaks in QRS |
|
|
14 |
%-------------------- Call MTEO QRS ------------------- % |
|
|
15 |
try |
|
|
16 |
Analysis.MTEO_qrstAlg; % Runs MTEO algorithm |
|
|
17 |
Qwave = Analysis.Results.Q; |
|
|
18 |
Rwave = Analysis.Results.R; |
|
|
19 |
Swave = Analysis.Results.S; |
|
|
20 |
Twave = Analysis.Results.T; |
|
|
21 |
Pwave = Analysis.Results.P; |
|
|
22 |
EDR = Analysis.EDR_comp; |
|
|
23 |
save_path = strcat(file_path, '\Qwave.mat'); |
|
|
24 |
save(save_path, 'Qwave'); |
|
|
25 |
save_path = strcat(file_path, '\Rwave.mat'); |
|
|
26 |
save(save_path, 'Rwave'); |
|
|
27 |
save_path = strcat(file_path, '\Swave.mat'); |
|
|
28 |
save(save_path, 'Swave'); |
|
|
29 |
save_path = strcat(file_path, '\Twave.mat'); |
|
|
30 |
save(save_path, 'Twave'); |
|
|
31 |
save_path = strcat(file_path, '\Pwave.mat'); |
|
|
32 |
save(save_path, 'Pwave'); |
|
|
33 |
save_path = strcat(file_path, '\EDR.mat'); |
|
|
34 |
save(save_path, 'EDR'); |
|
|
35 |
disp('Successfully.'); |
|
|
36 |
catch |
|
|
37 |
disp('it is noise.'); |
|
|
38 |
end |
|
|
39 |
|
|
|
40 |
end |
|
|
41 |
|