-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsupport_SaveEveryTrial.m
38 lines (29 loc) · 1.48 KB
/
support_SaveEveryTrial.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function support_SaveEveryTrial(TrialsArray, Meta, Config, Participant)
% TODO: remove this?
for ytr = 1:size(TrialsArray, 2)
TrialsArray(:, ytr) = TrialsArray(:, ytr) - mean(TrialsArray(Config.BaselineFromSampleMapped:Config.BaselineToSampleMapped, ytr), 'omitnan');
end
timepoints = (0:size(TrialsArray, 1)-1)/Meta.NomSRate *1000;
trnum = num2cell(1:size(TrialsArray, 2));
col_headerHoriz = [{ [''] } trnum];
% Sweeps (Trials) are columns
% Timepoints are rows (in ms)
cols_sub_vals = cell(Config.AnalyzeLenSample, size(TrialsArray, 2)+1);
cols_sub_vals(1:Config.AnalyzeLenSample, 1) = num2cell(timepoints);
cols_sub_vals(1:Config.AnalyzeLenSample, 2:size(TrialsArray, 2)+1) = num2cell(TrialsArray);
outputMatrix = [col_headerHoriz; cols_sub_vals];
OutFilePath = char([ ...
'~RESULTS/' Meta.RootDirTag '/' ...
'ERPD everyTrial csv' '/']);
if ~exist(OutFilePath, 'dir')
mkdir(OutFilePath);
end
OutFileName = char([ ...
Participant.ID ' fromSmp=' num2str(1) ...
'; toSmp=' num2str(Config.AnalyzeLenSample) ...
' alignSR=' num2str(Config.AlignToStimOrResp) ...
' skipN=' num2str(Config.SkipFirstNtrials) ...
' filt=' num2str(Config.Filter.Behav.Enabled) ' (' Config.Filter.Behav.FriendlyName ')' ...
]);
writecell(outputMatrix,[OutFilePath OutFileName '.csv'],'Delimiter',';');
end