I wanted to iterate this piece of code for 10 seconds.
9 views (last 30 days)
Show older comments
disp('Opening an inlet...');
inlet = lsl_inlet(stream_result{1});
[vec,ts] = inlet.pull_sample();
start = ts;
fNIRS_record = [];
flag = 0;
while ts - start < 1 %one second data which is ~8 frames
[vec,ts] = inlet.pull_sample();
fNIRS_record = [fNIRS_record;vec];
fprintf('%.2f\t',vec);
fprintf('%.5f\n',ts);
flag = flag + 1;
end
if(flag == size(fNIRS_record,1))
%Real time channel exclusion based on threshCV
RT_HbO = fNIRS_record( :,2:2:end);%getting only HbO values at real time
%using getCV() eliminate bad channels.
RT_vertcat = mean(RT_HbO,2);%avg of all 20 channels.
RT_vertcat = array2table(RT_vertcat);
realtime_stats_HbO = groupsummary(RT_vertcat,{}, {'mean', @slope_HbO, @(v) var(v, 1), @(pk) max(pk), @(sk) skewness(sk), @(kurt) kurtosis(kurt)});
clear flag;clear RT_HbO;clear RT_vertcat;
label = trainedModel.predictFcn(realtime_stats_HbO); %<--------------It has predict and print the label and clear everything and run the loop again for desired time period which is 10 seconds.
end
0 Comments
Answers (1)
Walter Roberson
on 24 Oct 2019
tic;
while toc < 10
Timing is unlikely to be exact.
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!