How to count the total number of blink?

2 次查看(过去 30 天)
Hi, I'm doing research on how count total number of blinks, is there any good resource for this task?
Thank You

采纳的回答

Bora Eryilmaz
Bora Eryilmaz 2022-12-21
编辑:Bora Eryilmaz 2022-12-21
You can use a peak detection algorithm such as the islocalmax() command: https://www.mathworks.com/help/matlab/ref/islocalmax.html
x = randn(100,1);
plot(x)
hold on
level = 1.0;
yline(level, 'r')
% Only find peaks above the level.
I = (x < level);
x(I) = 0;
% Indices of all peaks above level.
J = islocalmax(x);
count = sum(J) % Number of peaks
count = 17
plot(find(J), x(J), 'ro')
% Indices of the peaks above level that are at least 5 x-units apart.
J = islocalmax(x, 'MinSeparation', 5);
count = sum(J) % Number of peaks
count = 11
plot(find(J), x(J), 'bx')
hold off
  5 个评论

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2022-12-21
Not sure what "detect" means to you. But if the red line is your threshold and signals above the threshold are a blink, then you can count them with bwlabel". If you want to know what indexes contains a blink signal, you can use regionprops.
signal = rand(1, 200); % Sample signal
plot(signal, 'b-');
grid on;
xlabel('Index');
ylabel('Signal');
threshold = 0.9;
yline(threshold, 'Color', 'r', 'LineWidth',2)
binarySignal = signal > threshold;
[~, numBlinks] = bwlabel(binarySignal);
% If you want indexes of the blink runs, then you can use regionprops
props = regionprops(binarySignal, 'PixelIdxList')
props = 12×1 struct array with fields:
PixelIdxList
% Print them out
for k = 1 : numel(props)
theseIndexes = props(k).PixelIdxList;
fprintf('For region #%d, it has indexes : ', k)
fprintf('%d ', theseIndexes)
fprintf('\n')
end
For region #1, it has indexes :
13
For region #2, it has indexes :
61
For region #3, it has indexes :
71
For region #4, it has indexes :
75
For region #5, it has indexes :
81
For region #6, it has indexes :
84 85
For region #7, it has indexes :
100
For region #8, it has indexes :
140 141
For region #9, it has indexes :
148 149
For region #10, it has indexes :
174
For region #11, it has indexes :
177
For region #12, it has indexes :
194
  4 个评论
Bora Eryilmaz
Bora Eryilmaz 2022-12-21
编辑:Bora Eryilmaz 2022-12-21
The code in this answer would require the Image Processing Toolbox.
Image Analyst
Image Analyst 2022-12-21
Uh, that's not my code. You should contact the author for a fix.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Spectral Measurements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by