How to save points on a graph

5 views (last 30 days)
Omer hakan Yaran
Omer hakan Yaran on 19 May 2022
Answered: Parsa on 19 May 2022
Hello everyone, there is a data set of a heart beat signals of a patient I am working on. I automatically labeled most of the peaks of the signals. However, there are some peaks that needs to be labeled manually. The data is a matrix, first column is the index number and the second column is the sensor value.
As you can see, this point is missing and I want to add it to the data by clicking it on the graph. It needs to be the peak.
Thank you for your help and supporting medical science!
  3 Comments
Star Strider
Star Strider on 19 May 2022
You need to bandpass or highpass filter them to eliminate the baseline offset and baseline drift. (The highpass cutoff frequency and the bandpass low frequency should be about 1 Hz.) You can then use those location indices with the original EKG to label the R-wave deflections.

Sign in to comment.

Accepted Answer

Parsa
Parsa on 19 May 2022
Hi Omer
According to your question, I got that you want to add some points (peaks or maybe any other points) manually from the graph, and also locate them in your data vector.
So, after plotting your data, by holding 'alt' key and select the desired points, you could export them to the workspace. Then you maybe want to sort their location (indices) in the data vector. I wrote this simple code to show the process. Hope to be useful.
x=rand(1,30);
[pks,locs]=findpeaks(x);
allpks=[locs',pks'];
[r,c]=size(allpks);
plot(x)
hold all
plot(locs,pks,'o')
% select desired pts on the graph by holding 'alt' key:
%%
newpks = cell2mat({cursor_info.Position}');
allpks_aug=cat(1,allpks,newpks);
[locs_sort,idx]=sort(allpks_aug(:,1));
AllNewPks(:,1)=locs_sort;
AllNewPks(:,2)=allpks_aug(idx,2);

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by