I wanted to iterate this piece of code for 10 seconds.
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposte (1)
Walter Roberson
il 24 Ott 2019
tic;
while toc < 10
Timing is unlikely to be exact.
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!