https://github.com/RaymondLab/Code
Tip revision: f562b26a59ee1fe18ddbdd35eb072e822e4e0f63 authored by Katie Li on 14 November 2022, 22:02:35 UTC
Matlab files on D241B setup
Matlab files on D241B setup
Tip revision: f562b26
DoubleExpmtSummary.m
%% Prompt User for Variables
clear;clc;close all
warning off
prompt = {'Path: ', 'R^2 Threshold: ', 'Bad Segment Count: ', 'Removed Data Percentage: ', 'Gain Type (1 = norm, 2 = raw}', 'Training Block Size (5 or 10 minute, 1 for OKR)'};
dlgTitle = "Input: ";
dims = [1 40];
definput = {'F:\1 Jaydev Bhateja\Cohort 4\Data\Pretraining', ...
'.35', ...
'2', ...
'40', ...
'1', ...
'10'};
answer = inputdlg(prompt, dlgTitle, dims, definput);
b = 1;
%% Find Correct data
disp(['Data Location: ', answer{1}])
excels = dir([answer{1} '\**\*.xlsx']);
% Remove Templates
excels(~contains({excels.name}, {'Exp-D'}), :) = [];
DRexcels = excels(contains({excels.name}, {'Dark Resting'}), :);
excels(contains({excels.name}, {'Dark Resting'}), :) = [];
GDGUexcels = excels(contains({excels.name}, {'1 Hz Gain Down'}), :);
excels(contains({excels.name}, {'1 Hz Gain Down'}), :) = [];
VESTexcels = excels(contains({excels.name}, {'Vestibular'}), :);
excels(contains({excels.name}, {'Vestibular'}), :) = [];
if isempty(DRexcels) && isempty(GDGUexcels) && isempty(VESTexcels)
a = 4;
else
a = 1;
end
GUexcels = excels;
for i = a:4
switch i
case 1
mList = DRexcels;
Label = 'Dark Resting';
disp([Label, '...'])
case 2
mList = VESTexcels;
Label = 'Vestibular';
disp([Label, '...'])
case 3
mList = GDGUexcels;
Label = 'Gain Down & Gain Up ';
disp([Label, '...'])
case 4
if answer{6} == '1'
mList = GUexcels;
Label = 'OKR';
else
mList = GUexcels;
Label = 'Gain Up';
end
disp([Label, '...'])
end
figure('units','normalized','outerposition',[0 0 1 1])
ha = tight_subplot(1,1,[.03 .03],[.05 .03],[.03 .03]);
v = 1;
sumStruct = [];
LegCell = {};
for j = 1:length(mList)
dataTable = readtable(fullfile(mList(j).folder, mList(j).name));
disp([' ', mList(j).name])
% Update name for plotting ease
newName = mList(j).name(18:19);
if contains(mList(j).name, 'Redo')
newName = [newName, 'r'];
else
newName = [newName, ' '];
end
mList(j).name = newName;
sumStruct(j).name = newName;
% Gather relevant data depending on block size
if answer{6} == '10'
bls = 1:3;
mids = 9:11;
ends = 17:19;
plotSegs = ~logical(sum(dataTable.TimePoint == [5, 15, 25, 35, 45, 55], 2));
elseif answer{6} == '5'
bls = 1:3;
mids = 15:17;
ends = 30:32;
plotSegs = ~logical(sum(dataTable.TimePoint == [2.5, 5, 7.5, 12.5, 15, 17.5, 22.5, 25, 27.5, 32.5, 35, 37.5, 42.5, 45, 47.5, 52.5, 55, 57.5], 2));
plotSegs(18) = 0;
if length(plotSegs) > 33
plotSegs(33:end) = [];
end
if i == 4
plotSegs(19:end) = [];
end
elseif answer{6} == '1'
bls = 2:4;
ends = 59:61;
plotSegs = 1:62;
end
sacFrac = dataTable.saccadeFrac;
GoodSegs = double(sacFrac < str2double(answer{4})/100);
Rsquare = dataTable.rsquare;
GoodSegs(bls) = double(Rsquare(bls) > str2double(answer{2})) .* double(sacFrac(bls) < str2double(answer{4})/100);
if i == 4
if answer{6} == '1'
GoodSegs(ends) = double(Rsquare(ends) > str2double(answer{2})) .* double(sacFrac(ends) < str2double(answer{4})/100);
else
GoodSegs(mids) = double(Rsquare(mids) > str2double(answer{2})) .* double(sacFrac(mids) < str2double(answer{4})/100);
end
else
GoodSegs(ends) = double(Rsquare(ends) > str2double(answer{2})) .* double(sacFrac(ends) < str2double(answer{4})/100);
end
Gains = dataTable.eyeHgain .* GoodSegs; % Eliminate bad segments from mean calculation (will be eliminated from plot too)
TimePoints = dataTable.TimePoint;
% Baseline Averages
meanGain_Baseline = sum(Gains(bls) .* (1-sacFrac(bls)) .* GoodSegs(bls)) / sum((1-sacFrac(bls)) .* GoodSegs(bls));
meanRsquare_Baseline = sum(Rsquare(bls) .* (1-sacFrac(bls))) / sum((1-sacFrac(bls)));
% Middle Averages
if str2num(answer{6}) ~= 1
meanGain_Mid = sum(Gains(mids) .* (1-sacFrac(mids)) .* GoodSegs(mids)) / sum((1-sacFrac(mids)) .* GoodSegs(mids));
meanRsquare_Mid = sum(Rsquare(mids) .* (1-sacFrac(mids))) / sum((1-sacFrac(bls)));
end
% End Averages
if answer{6} == '10'
if length(Gains) > 18
meanGain_End = sum(Gains(ends) .* (1-sacFrac(ends)) .* GoodSegs(ends)) / sum((1-sacFrac(ends)) .* GoodSegs(ends));
meanRsquare_End = sum(Rsquare(ends) .* (1-sacFrac(ends)) .* GoodSegs(ends)) / sum((1-sacFrac(ends)) .* GoodSegs(ends));
% Combine (for long expmt)
Gains = [Gains(1:3); meanGain_Baseline; Gains(4:11); meanGain_Mid; Gains(12:end); meanGain_End];
Rsquare = [Rsquare(1:3); meanRsquare_Baseline; Rsquare(4:11); meanRsquare_Mid; Rsquare(12:end); meanRsquare_End];
plotSegsAll = logical([plotSegs(1:3); 1; plotSegs(4:11); 1; plotSegs(12:end); 1]);
else
% Combine (for short expmt)
Gains = [Gains(1:3); meanGain_Baseline; Gains(4:11); meanGain_Mid];
Rsquare = [Rsquare(1:3); meanRsquare_Baseline; Rsquare(4:11); meanRsquare_Mid];
plotSegsAll = logical([plotSegs(1:3); 1; plotSegs(4:11); 1]);
end
elseif answer{6} == '5'
if ~(isnan(Gains(30)))
meanGain_End = sum(Gains(ends) .* (1-sacFrac(ends)) .* GoodSegs(ends)) / sum((1-sacFrac(ends)) .* GoodSegs(ends));
meanRsquare_End = sum(Rsquare(ends) .* (1-sacFrac(ends))) / sum((1-sacFrac(ends)));
% Combine (for long expmt)
Gains = [Gains(1:3); meanGain_Baseline; Gains(4:17); meanGain_Mid; Gains(19:32); meanGain_End];
Rsquare = [Rsquare(1:3); meanRsquare_Baseline; Rsquare(4:17); meanRsquare_Mid; Rsquare(19:32); meanRsquare_End];
plotSegsAll = logical([plotSegs(1:3); 1; plotSegs(4:17); 1; plotSegs(19:end); 1]);
else
% Combine (for short expmt)
Gains = [Gains(1:3); meanGain_Baseline; Gains(4:17); meanGain_Mid];
Rsquare = [Rsquare(1:3); meanRsquare_Baseline; Rsquare(4:17); meanRsquare_Mid];
plotSegsAll = logical([plotSegs(1:3); 1; plotSegs(4:17); 1]);
end
elseif answer{6} == '1'
meanGain_End = sum(Gains(ends) .* (1-sacFrac(ends)) .* GoodSegs(ends)) / sum((1-sacFrac(ends)) .* GoodSegs(ends));
meanRsquare_End = sum(Rsquare(ends) .* (1-sacFrac(ends))) / sum((1-sacFrac(ends)));
Gains = [Gains(1:4); meanGain_Baseline; Gains(5:61); meanGain_End; Gains(62)];
Rsquare = [Rsquare(1:4); meanRsquare_Baseline; Rsquare(5:61); meanRsquare_End; Rsquare(62)];
plotSegsAll = plotSegs;
end
% Save gains from all experiments
sumStruct(j).blGains = meanGain_Baseline;
sumStruct(j).blrSquare = meanRsquare_Baseline;
sumStruct(j).endrSquare = meanRsquare_End;
%% Save things for excel
name{b} = sumStruct(j).name;
expmtType{b} = Label;
if answer{6} == '10'
t0a_rawGain(b) = Gains(1);
t0b_rawGain(b) = Gains(2);
t0c_rawGain(b) = Gains(3);
tbl_rawGain(b) = Gains(4);
t5_rawGain(b) = Gains(5);
t10_rawGain(b) = Gains(6);
t15_rawGain(b) = Gains(7);
t20_rawGain(b) = Gains(8);
t25_rawGain(b) = Gains(9);
t30a_rawGain(b) = Gains(10);
t30b_rawGain(b) = Gains(11);
t30c_rawGain(b) = Gains(12);
tmid_rawGain(b) = Gains(13);
try
t35_rawGain(b) = Gains(14);
t40_rawGain(b) = Gains(15);
t45_rawGain(b) = Gains(16);
t50_rawGain(b) = Gains(17);
t55_rawGain(b) = Gains(18);
t60a_rawGain(b) = Gains(19);
t60b_rawGain(b) = Gains(20);
t60c_rawGain(b) = Gains(21);
tend_rawGain(b) = Gains(22);
catch
t35_rawGain(b) = NaN;
t40_rawGain(b) = NaN;
t45_rawGain(b) = NaN;
t50_rawGain(b) = NaN;
t55_rawGain(b) = NaN;
t60a_rawGain(b) = NaN;
t60b_rawGain(b) = NaN;
t60c_rawGain(b) = NaN;
tend_rawGain(b) = NaN;
end
t0a_nrmGain(b) = Gains(1) ./ meanGain_Baseline;
t0b_nrmGain(b) = Gains(2) ./ meanGain_Baseline;
t0c_nrmGain(b) = Gains(3) ./ meanGain_Baseline;
tbl_nrmGain(b) = Gains(4) ./ meanGain_Baseline;
t5_nrmGain(b) = Gains(5) ./ meanGain_Baseline;
t10_nrmGain(b) = Gains(6) ./ meanGain_Baseline;
t15_nrmGain(b) = Gains(7) ./ meanGain_Baseline;
t20_nrmGain(b) = Gains(8) ./ meanGain_Baseline;
t25_nrmGain(b) = Gains(9) ./ meanGain_Baseline;
t30a_nrmGain(b) = Gains(10) ./ meanGain_Baseline;
t30b_nrmGain(b) = Gains(11) ./ meanGain_Baseline;
t30c_nrmGain(b) = Gains(12) ./ meanGain_Baseline;
tmid_nrmGain(b) = Gains(13) ./ meanGain_Baseline;
try
t35_nrmGain(b) = Gains(14) ./ meanGain_Baseline;
t40_nrmGain(b) = Gains(15) ./ meanGain_Baseline;
t45_nrmGain(b) = Gains(16) ./ meanGain_Baseline;
t50_nrmGain(b) = Gains(17) ./ meanGain_Baseline;
t55_nrmGain(b) = Gains(18) ./ meanGain_Baseline;
t60a_nrmGain(b) = Gains(19) ./ meanGain_Baseline;
t60b_nrmGain(b) = Gains(20) ./ meanGain_Baseline;
t60c_nrmGain(b) = Gains(21) ./ meanGain_Baseline;
tend_nrmGain(b) = Gains(22) ./ meanGain_Baseline;
catch
t35_nrmGain(b) = NaN;
t40_nrmGain(b) = NaN;
t45_nrmGain(b) = NaN;
t50_nrmGain(b) = NaN;
t55_nrmGain(b) = NaN;
t60a_nrmGain(b) = NaN;
t60b_nrmGain(b) = NaN;
t60c_nrmGain(b) = NaN;
tend_nrmGain(b) = NaN;
end
t0a_rSquare(b) = Rsquare(1);
t0b_rSquare(b) = Rsquare(2);
t0c_rSquare(b) = Rsquare(3);
tbl_rSquare(b) = Rsquare(4);
t5_rSquare(b) = Rsquare(5);
t10_rSquare(b) = Rsquare(6);
t15_rSquare(b) = Rsquare(7);
t20_rSquare(b) = Rsquare(8);
t25_rSquare(b) = Rsquare(9);
t30a_rSquare(b) = Rsquare(10);
t30b_rSquare(b) = Rsquare(11);
t30c_rSquare(b) = Rsquare(12);
tmid_rSquare(b) = Rsquare(13);
try
t35_rSquare(b) = Rsquare(14);
t40_rSquare(b) = Rsquare(15);
t45_rSquare(b) = Rsquare(16);
t50_rSquare(b) = Rsquare(17);
t55_rSquare(b) = Rsquare(18);
t60a_rSquare(b) = Rsquare(19);
t60b_rSquare(b) = Rsquare(20);
t60c_rSquare(b) = Rsquare(21);
tend_rSquare(b) = Rsquare(22);
catch
t35_rSquare(b) = NaN;
t40_rSquare(b) = NaN;
t45_rSquare(b) = NaN;
t50_rSquare(b) = NaN;
t55_rSquare(b) = NaN;
t60a_rSquare(b) = NaN;
t60b_rSquare(b) = NaN;
t60c_rSquare(b) = NaN;
tend_rSquare(b) = NaN;
end
t0a_goodsegm(b) = GoodSegs(1);
t0b_goodsegm(b) = GoodSegs(2);
t0c_goodsegm(b) = GoodSegs(3);
t5_goodsegm(b) = GoodSegs(4);
t10_goodsegm(b) = GoodSegs(5);
t15_goodsegm(b) = GoodSegs(6);
t20_goodsegm(b) = GoodSegs(7);
t25_goodsegm(b) = GoodSegs(8);
t30a_goodsegm(b) = GoodSegs(9);
t30b_goodsegm(b) = GoodSegs(10);
t30c_goodsegm(b) = GoodSegs(11);
try
t35_goodsegm(b) = GoodSegs(12);
t40_goodsegm(b) = GoodSegs(13);
t45_goodsegm(b) = GoodSegs(14);
t50_goodsegm(b) = GoodSegs(15);
t55_goodsegm(b) = GoodSegs(16);
t60a_goodsegm(b) = GoodSegs(17);
t60b_goodsegm(b) = GoodSegs(18);
t60c_goodsegm(b) = GoodSegs(19);
catch
t35_goodsegm(b) = 0;
t40_goodsegm(b) = 0;
t45_goodsegm(b) = 0;
t50_goodsegm(b) = 0;
t55_goodsegm(b) = 0;
t60a_goodsegm(b) = 0;
t60b_goodsegm(b) = 0;
t60c_goodsegm(b) = 0;
end
elseif answer{6} == '5'
t0a_rawGain(b) = Gains(1);
t0b_rawGain(b) = Gains(2);
t0c_rawGain(b) = Gains(3);
tbl_rawGain(b) = Gains(4);
t5_rawGain(b) = (Gains(5) + Gains(7))/2;
t10_rawGain(b) = Gains(8);
t15_rawGain(b) = (Gains(9) + Gains(11))/2;
t20_rawGain(b) = Gains(12);
t25_rawGain(b) = (Gains(13) + Gains(15))/2;
t30a_rawGain(b) = Gains(16);
t30b_rawGain(b) = Gains(17);
t30c_rawGain(b) = Gains(18);
tmid_rawGain(b) = Gains(19);
try
t35_rawGain(b) = (Gains(20) + Gains(22))/2;
t40_rawGain(b) = Gains(23);
t45_rawGain(b) = (Gains(24) + Gains(26))/2;
t50_rawGain(b) = Gains(27);
t55_rawGain(b) = (Gains(28) + Gains(30))/2;
t60a_rawGain(b) = Gains(31);
t60b_rawGain(b) = Gains(32);
t60c_rawGain(b) = Gains(33);
tend_rawGain(b) = Gains(34);
catch
t35_rawGain(b) = NaN;
t40_rawGain(b) = NaN;
t45_rawGain(b) = NaN;
t50_rawGain(b) = NaN;
t55_rawGain(b) = NaN;
t60a_rawGain(b) = NaN;
t60b_rawGain(b) = NaN;
t60c_rawGain(b) = NaN;
tend_rawGain(b) = NaN;
end
t0a_nrmGain(b) = Gains(1) ./ meanGain_Baseline;
t0b_nrmGain(b) = Gains(2) ./ meanGain_Baseline;
t0c_nrmGain(b) = Gains(3) ./ meanGain_Baseline;
tbl_nrmGain(b) = Gains(4) ./ meanGain_Baseline;
t5_nrmGain(b) = (Gains(5) + Gains(7))/2 ./ meanGain_Baseline;
t10_nrmGain(b) = Gains(8) ./ meanGain_Baseline;
t15_nrmGain(b) = (Gains(9) + Gains(11))/2 ./ meanGain_Baseline;
t20_nrmGain(b) = Gains(12) ./ meanGain_Baseline;
t25_nrmGain(b) = (Gains(13) + Gains(15)) ./ meanGain_Baseline;
t30a_nrmGain(b) = Gains(16) ./ meanGain_Baseline;
t30b_nrmGain(b) = Gains(17) ./ meanGain_Baseline;
t30c_nrmGain(b) = Gains(18) ./ meanGain_Baseline;
tmid_nrmGain(b) = Gains(19) ./ meanGain_Baseline;
try
t35_nrmGain(b) = (Gains(20) + Gains(22))/2 ./ meanGain_Baseline;
t40_nrmGain(b) = Gains(23) ./ meanGain_Baseline;
t45_nrmGain(b) = (Gains(24) + Gains(26))/2 ./ meanGain_Baseline;
t50_nrmGain(b) = Gains(27) ./ meanGain_Baseline;
t55_nrmGain(b) = (Gains(28) + Gains(30))/2 ./ meanGain_Baseline;
t60a_nrmGain(b) = Gains(31) ./ meanGain_Baseline;
t60b_nrmGain(b) = Gains(32) ./ meanGain_Baseline;
t60c_nrmGain(b) = Gains(33) ./ meanGain_Baseline;
tend_nrmGain(b) = Gains(34) ./ meanGain_Baseline;
catch
t35_nrmGain(b) = NaN;
t40_nrmGain(b) = NaN;
t45_nrmGain(b) = NaN;
t50_nrmGain(b) = NaN;
t55_nrmGain(b) = NaN;
t60a_nrmGain(b) = NaN;
t60b_nrmGain(b) = NaN;
t60c_nrmGain(b) = NaN;
tend_nrmGain(b) = NaN;
end
t0a_rSquare(b) = Rsquare(1);
t0b_rSquare(b) = Rsquare(2);
t0c_rSquare(b) = Rsquare(3);
tbl_rSquare(b) = Rsquare(4);
t5_rSquare(b) = (Rsquare(5) + Rsquare(7))/2;
t10_rSquare(b) = Rsquare(8);
t15_rSquare(b) = (Rsquare(9) + Rsquare(11))/2;
t20_rSquare(b) = Rsquare(12);
t25_rSquare(b) = (Rsquare(13) + Rsquare(15))/2;
t30a_rSquare(b) = Rsquare(16);
t30b_rSquare(b) = Rsquare(17);
t30c_rSquare(b) = Rsquare(18);
tmid_rSquare(b) = Rsquare(19);
try
t35_rSquare(b) = (Rsquare(20) + Rsquare(22))/2;
t40_rSquare(b) = Rsquare(23);
t45_rSquare(b) = (Rsquare(24) + Rsquare(26))/2;
t50_rSquare(b) = Rsquare(27);
t55_rSquare(b) = (Rsquare(28) + Rsquare(30))/2;
t60a_rSquare(b) = Rsquare(31);
t60b_rSquare(b) = Rsquare(32);
t60c_rSquare(b) = Rsquare(33);
tend_rSquare(b) = Rsquare(34);
catch
t35_rSquare(b) = NaN;
t40_rSquare(b) = NaN;
t45_rSquare(b) = NaN;
t50_rSquare(b) = NaN;
t55_rSquare(b) = NaN;
t60a_rSquare(b) = NaN;
t60b_rSquare(b) = NaN;
t60c_rSquare(b) = NaN;
tend_rSquare(b) = NaN;
end
t0a_goodsegm(b) = GoodSegs(1);
t0b_goodsegm(b) = GoodSegs(2);
t0c_goodsegm(b) = GoodSegs(3);
t5_goodsegm(b) = (sacFrac((5)) + sacFrac((7)))/2 > str2double(answer{4})/100;
t10_goodsegm(b) = GoodSegs(8);
t15_goodsegm(b) = (sacFrac((9)) + sacFrac((11)))/2 > str2double(answer{4})/100;
t20_goodsegm(b) = GoodSegs(12);
t25_goodsegm(b) = (sacFrac((13)) + sacFrac((15)))/2 > str2double(answer{4})/100;
t30a_goodsegm(b) = GoodSegs(16);
t30b_goodsegm(b) = GoodSegs(17);
t30c_goodsegm(b) = GoodSegs(18);
try
t35_goodsegm(b) = (sacFrac((20)) + sacFrac((22)))/2 > str2double(answer{4})/100;
t40_goodsegm(b) = GoodSegs(23);
t45_goodsegm(b) = (sacFrac((24)) + sacFrac((26)))/2 > str2double(answer{4})/100;
t50_goodsegm(b) = GoodSegs(27);
t55_goodsegm(b) = (sacFrac((28)) + sacFrac((30)))/2 > str2double(answer{4})/100;
t60a_goodsegm(b) = GoodSegs(31);
t60b_goodsegm(b) = GoodSegs(32);
t60c_goodsegm(b) = GoodSegs(33);
catch
t35_goodsegm(b) = 0;
t40_goodsegm(b) = 0;
t45_goodsegm(b) = 0;
t50_goodsegm(b) = 0;
t55_goodsegm(b) = 0;
t60a_goodsegm(b) = 0;
t60b_goodsegm(b) = 0;
t60c_goodsegm(b) = 0;
end
elseif answer{6} == '1'
t0_rawGainVOR(b) = Gains(1);
t1_rawGainOKR(b) = Gains(2);
t2_rawGainOKR(b) = Gains(3);
t3_rawGainOKR(b) = Gains(4);
tbl_rawGainOKR(b) = Gains(5);
t4_rawGainOKR(b) = Gains(6);
t5_rawGainOKR(b) = Gains(7);
t6_rawGainOKR(b) = Gains(8);
t7_rawGainOKR(b) = Gains(9);
t8_rawGainOKR(b) = Gains(10);
t9_rawGainOKR(b) = Gains(11);
t10_rawGainOKR(b) = Gains(12);
t11_rawGainOKR(b) = Gains(13);
t12_rawGainOKR(b) = Gains(14);
t13_rawGainOKR(b) = Gains(15);
t14_rawGainOKR(b) = Gains(16);
t15_rawGainOKR(b) = Gains(17);
t16_rawGainOKR(b) = Gains(18);
t17_rawGainOKR(b) = Gains(19);
t18_rawGainOKR(b) = Gains(20);
t19_rawGainOKR(b) = Gains(21);
t20_rawGainOKR(b) = Gains(22);
t21_rawGainOKR(b) = Gains(23);
t22_rawGainOKR(b) = Gains(24);
t23_rawGainOKR(b) = Gains(25);
t24_rawGainOKR(b) = Gains(26);
t25_rawGainOKR(b) = Gains(27);
t26_rawGainOKR(b) = Gains(28);
t27_rawGainOKR(b) = Gains(29);
t28_rawGainOKR(b) = Gains(30);
t29_rawGainOKR(b) = Gains(31);
t30_rawGainOKR(b) = Gains(32);
t31_rawGainOKR(b) = Gains(33);
t32_rawGainOKR(b) = Gains(34);
t33_rawGainOKR(b) = Gains(35);
t34_rawGainOKR(b) = Gains(36);
t35_rawGainOKR(b) = Gains(37);
t36_rawGainOKR(b) = Gains(38);
t37_rawGainOKR(b) = Gains(39);
t38_rawGainOKR(b) = Gains(40);
t39_rawGainOKR(b) = Gains(41);
t40_rawGainOKR(b) = Gains(42);
t41_rawGainOKR(b) = Gains(43);
t42_rawGainOKR(b) = Gains(44);
t43_rawGainOKR(b) = Gains(45);
t44_rawGainOKR(b) = Gains(46);
t45_rawGainOKR(b) = Gains(47);
t46_rawGainOKR(b) = Gains(48);
t47_rawGainOKR(b) = Gains(49);
t48_rawGainOKR(b) = Gains(50);
t49_rawGainOKR(b) = Gains(51);
t50_rawGainOKR(b) = Gains(52);
t51_rawGainOKR(b) = Gains(53);
t52_rawGainOKR(b) = Gains(54);
t53_rawGainOKR(b) = Gains(55);
t54_rawGainOKR(b) = Gains(56);
t55_rawGainOKR(b) = Gains(57);
t56_rawGainOKR(b) = Gains(58);
t57_rawGainOKR(b) = Gains(59);
t58_rawGainOKR(b) = Gains(60);
t59_rawGainOKR(b) = Gains(61);
t60_rawGainOKR(b) = Gains(62);
tend_rawGainOKR(b) = Gains(63);
t60_rawGainVOR(b) = Gains(64);
t0_nrmGainVOR(b) = Gains(1) ./ meanGain_Baseline;
t1_nrmGainOKR(b) = Gains(2) ./ meanGain_Baseline;
t2_nrmGainOKR(b) = Gains(3) ./ meanGain_Baseline;
t3_nrmGainOKR(b) = Gains(4) ./ meanGain_Baseline;
tbl_nrmGainOKR(b) = Gains(5) ./ meanGain_Baseline;
t4_nrmGainOKR(b) = Gains(6) ./ meanGain_Baseline;
t5_nrmGainOKR(b) = Gains(7) ./ meanGain_Baseline;
t6_nrmGainOKR(b) = Gains(8) ./ meanGain_Baseline;
t7_nrmGainOKR(b) = Gains(9) ./ meanGain_Baseline;
t8_nrmGainOKR(b) = Gains(10) ./ meanGain_Baseline;
t9_nrmGainOKR(b) = Gains(11) ./ meanGain_Baseline;
t10_nrmGainOKR(b) = Gains(12) ./ meanGain_Baseline;
t11_nrmGainOKR(b) = Gains(13) ./ meanGain_Baseline;
t12_nrmGainOKR(b) = Gains(14) ./ meanGain_Baseline;
t13_nrmGainOKR(b) = Gains(15) ./ meanGain_Baseline;
t14_nrmGainOKR(b) = Gains(16) ./ meanGain_Baseline;
t15_nrmGainOKR(b) = Gains(17) ./ meanGain_Baseline;
t16_nrmGainOKR(b) = Gains(18) ./ meanGain_Baseline;
t17_nrmGainOKR(b) = Gains(19) ./ meanGain_Baseline;
t18_nrmGainOKR(b) = Gains(20) ./ meanGain_Baseline;
t19_nrmGainOKR(b) = Gains(21) ./ meanGain_Baseline;
t20_nrmGainOKR(b) = Gains(22) ./ meanGain_Baseline;
t21_nrmGainOKR(b) = Gains(23) ./ meanGain_Baseline;
t22_nrmGainOKR(b) = Gains(24) ./ meanGain_Baseline;
t23_nrmGainOKR(b) = Gains(25) ./ meanGain_Baseline;
t24_nrmGainOKR(b) = Gains(26) ./ meanGain_Baseline;
t25_nrmGainOKR(b) = Gains(27) ./ meanGain_Baseline;
t26_nrmGainOKR(b) = Gains(28) ./ meanGain_Baseline;
t27_nrmGainOKR(b) = Gains(29) ./ meanGain_Baseline;
t28_nrmGainOKR(b) = Gains(30) ./ meanGain_Baseline;
t29_nrmGainOKR(b) = Gains(31) ./ meanGain_Baseline;
t30_nrmGainOKR(b) = Gains(32) ./ meanGain_Baseline;
t31_nrmGainOKR(b) = Gains(33) ./ meanGain_Baseline;
t32_nrmGainOKR(b) = Gains(34) ./ meanGain_Baseline;
t33_nrmGainOKR(b) = Gains(35) ./ meanGain_Baseline;
t34_nrmGainOKR(b) = Gains(36) ./ meanGain_Baseline;
t35_nrmGainOKR(b) = Gains(37) ./ meanGain_Baseline;
t36_nrmGainOKR(b) = Gains(38) ./ meanGain_Baseline;
t37_nrmGainOKR(b) = Gains(39) ./ meanGain_Baseline;
t38_nrmGainOKR(b) = Gains(40) ./ meanGain_Baseline;
t39_nrmGainOKR(b) = Gains(41) ./ meanGain_Baseline;
t40_nrmGainOKR(b) = Gains(42) ./ meanGain_Baseline;
t41_nrmGainOKR(b) = Gains(43) ./ meanGain_Baseline;
t42_nrmGainOKR(b) = Gains(44) ./ meanGain_Baseline;
t43_nrmGainOKR(b) = Gains(45) ./ meanGain_Baseline;
t44_nrmGainOKR(b) = Gains(46) ./ meanGain_Baseline;
t45_nrmGainOKR(b) = Gains(47) ./ meanGain_Baseline;
t46_nrmGainOKR(b) = Gains(48) ./ meanGain_Baseline;
t47_nrmGainOKR(b) = Gains(49) ./ meanGain_Baseline;
t48_nrmGainOKR(b) = Gains(50) ./ meanGain_Baseline;
t49_nrmGainOKR(b) = Gains(51) ./ meanGain_Baseline;
t50_nrmGainOKR(b) = Gains(52) ./ meanGain_Baseline;
t51_nrmGainOKR(b) = Gains(53) ./ meanGain_Baseline;
t52_nrmGainOKR(b) = Gains(54) ./ meanGain_Baseline;
t53_nrmGainOKR(b) = Gains(55) ./ meanGain_Baseline;
t54_nrmGainOKR(b) = Gains(56) ./ meanGain_Baseline;
t55_nrmGainOKR(b) = Gains(57) ./ meanGain_Baseline;
t56_nrmGainOKR(b) = Gains(58) ./ meanGain_Baseline;
t57_nrmGainOKR(b) = Gains(59) ./ meanGain_Baseline;
t58_nrmGainOKR(b) = Gains(60) ./ meanGain_Baseline;
t59_nrmGainOKR(b) = Gains(61) ./ meanGain_Baseline;
t60_nrmGainOKR(b) = Gains(62) ./ meanGain_Baseline;
tend_nrmGainOKR(b) = Gains(63) ./ meanGain_Baseline;
t60_nrmGainVOR(b) = Gains(64) ./ meanGain_Baseline;
t0_RsquareVOR(b) = Rsquare(1);
t1_RsquareOKR(b) = Rsquare(2);
t2_RsquareOKR(b) = Rsquare(3);
t3_RsquareOKR(b) = Rsquare(4);
tbl_RsquareOKR(b) = Rsquare(5);
t4_RsquareOKR(b) = Rsquare(6);
t5_RsquareOKR(b) = Rsquare(7);
t6_RsquareOKR(b) = Rsquare(8);
t7_RsquareOKR(b) = Rsquare(9);
t8_RsquareOKR(b) = Rsquare(10);
t9_RsquareOKR(b) = Rsquare(11);
t10_RsquareOKR(b) = Rsquare(12);
t11_RsquareOKR(b) = Rsquare(13);
t12_RsquareOKR(b) = Rsquare(14);
t13_RsquareOKR(b) = Rsquare(15);
t14_RsquareOKR(b) = Rsquare(16);
t15_RsquareOKR(b) = Rsquare(17);
t16_RsquareOKR(b) = Rsquare(18);
t17_RsquareOKR(b) = Rsquare(19);
t18_RsquareOKR(b) = Rsquare(20);
t19_RsquareOKR(b) = Rsquare(21);
t20_RsquareOKR(b) = Rsquare(22);
t21_RsquareOKR(b) = Rsquare(23);
t22_RsquareOKR(b) = Rsquare(24);
t23_RsquareOKR(b) = Rsquare(25);
t24_RsquareOKR(b) = Rsquare(26);
t25_RsquareOKR(b) = Rsquare(27);
t26_RsquareOKR(b) = Rsquare(28);
t27_RsquareOKR(b) = Rsquare(29);
t28_RsquareOKR(b) = Rsquare(30);
t29_RsquareOKR(b) = Rsquare(31);
t30_RsquareOKR(b) = Rsquare(32);
t31_RsquareOKR(b) = Rsquare(33);
t32_RsquareOKR(b) = Rsquare(34);
t33_RsquareOKR(b) = Rsquare(35);
t34_RsquareOKR(b) = Rsquare(36);
t35_RsquareOKR(b) = Rsquare(37);
t36_RsquareOKR(b) = Rsquare(38);
t37_RsquareOKR(b) = Rsquare(39);
t38_RsquareOKR(b) = Rsquare(40);
t39_RsquareOKR(b) = Rsquare(41);
t40_RsquareOKR(b) = Rsquare(42);
t41_RsquareOKR(b) = Rsquare(43);
t42_RsquareOKR(b) = Rsquare(44);
t43_RsquareOKR(b) = Rsquare(45);
t44_RsquareOKR(b) = Rsquare(46);
t45_RsquareOKR(b) = Rsquare(47);
t46_RsquareOKR(b) = Rsquare(48);
t47_RsquareOKR(b) = Rsquare(49);
t48_RsquareOKR(b) = Rsquare(50);
t49_RsquareOKR(b) = Rsquare(51);
t50_RsquareOKR(b) = Rsquare(52);
t51_RsquareOKR(b) = Rsquare(53);
t52_RsquareOKR(b) = Rsquare(54);
t53_RsquareOKR(b) = Rsquare(55);
t54_RsquareOKR(b) = Rsquare(56);
t55_RsquareOKR(b) = Rsquare(57);
t56_RsquareOKR(b) = Rsquare(58);
t57_RsquareOKR(b) = Rsquare(59);
t58_RsquareOKR(b) = Rsquare(60);
t59_RsquareOKR(b) = Rsquare(61);
t60_RsquareOKR(b) = Rsquare(62);
tend_RsquareOKR(b) = Rsquare(63);
t60_RsquareVOR(b) = Rsquare(64);
t0_goodsegmVOR(b) = GoodSegs(1);
t1_goodsegmOKR(b) = GoodSegs(2);
t2_goodsegmOKR(b) = GoodSegs(3);
t3_goodsegmOKR(b) = GoodSegs(4);
t4_goodsegmOKR(b) = GoodSegs(5);
t5_goodsegmOKR(b) = GoodSegs(6);
t6_goodsegmOKR(b) = GoodSegs(7);
t7_goodsegmOKR(b) = GoodSegs(8);
t8_goodsegmOKR(b) = GoodSegs(9);
t9_goodsegmOKR(b) = GoodSegs(10);
t10_goodsegmOKR(b) = GoodSegs(11);
t11_goodsegmOKR(b) = GoodSegs(12);
t12_goodsegmOKR(b) = GoodSegs(13);
t13_goodsegmOKR(b) = GoodSegs(14);
t14_goodsegmOKR(b) = GoodSegs(15);
t15_goodsegmOKR(b) = GoodSegs(16);
t16_goodsegmOKR(b) = GoodSegs(17);
t17_goodsegmOKR(b) = GoodSegs(18);
t18_goodsegmOKR(b) = GoodSegs(19);
t19_goodsegmOKR(b) = GoodSegs(20);
t20_goodsegmOKR(b) = GoodSegs(21);
t21_goodsegmOKR(b) = GoodSegs(22);
t22_goodsegmOKR(b) = GoodSegs(23);
t23_goodsegmOKR(b) = GoodSegs(24);
t24_goodsegmOKR(b) = GoodSegs(25);
t25_goodsegmOKR(b) = GoodSegs(26);
t26_goodsegmOKR(b) = GoodSegs(27);
t27_goodsegmOKR(b) = GoodSegs(28);
t28_goodsegmOKR(b) = GoodSegs(29);
t29_goodsegmOKR(b) = GoodSegs(30);
t30_goodsegmOKR(b) = GoodSegs(31);
t31_goodsegmOKR(b) = GoodSegs(32);
t32_goodsegmOKR(b) = GoodSegs(33);
t33_goodsegmOKR(b) = GoodSegs(34);
t34_goodsegmOKR(b) = GoodSegs(35);
t35_goodsegmOKR(b) = GoodSegs(36);
t36_goodsegmOKR(b) = GoodSegs(37);
t37_goodsegmOKR(b) = GoodSegs(38);
t38_goodsegmOKR(b) = GoodSegs(39);
t39_goodsegmOKR(b) = GoodSegs(40);
t40_goodsegmOKR(b) = GoodSegs(41);
t41_goodsegmOKR(b) = GoodSegs(42);
t42_goodsegmOKR(b) = GoodSegs(43);
t43_goodsegmOKR(b) = GoodSegs(44);
t44_goodsegmOKR(b) = GoodSegs(45);
t45_goodsegmOKR(b) = GoodSegs(46);
t46_goodsegmOKR(b) = GoodSegs(47);
t47_goodsegmOKR(b) = GoodSegs(48);
t48_goodsegmOKR(b) = GoodSegs(49);
t49_goodsegmOKR(b) = GoodSegs(50);
t50_goodsegmOKR(b) = GoodSegs(51);
t51_goodsegmOKR(b) = GoodSegs(52);
t52_goodsegmOKR(b) = GoodSegs(53);
t53_goodsegmOKR(b) = GoodSegs(54);
t54_goodsegmOKR(b) = GoodSegs(55);
t55_goodsegmOKR(b) = GoodSegs(56);
t56_goodsegmOKR(b) = GoodSegs(57);
t57_goodsegmOKR(b) = GoodSegs(58);
t58_goodsegmOKR(b) = GoodSegs(59);
t59_goodsegmOKR(b) = GoodSegs(60);
t60_goodsegmOKR(b) = GoodSegs(61);
t60_goodsegmVOR(b) = GoodSegs(62);
end
b = b+1;
%% Rel Gain or Raw Gain
if answer{5} == '1'
Gains = Gains ./ meanGain_Baseline;
end
%% Filters
% r squared Filter Beginning
if ((meanRsquare_Baseline < str2double(answer{2})) || (meanRsquare_End < str2double(answer{2})))
Gains(:) = NaN;
sumStruct(j).removed = 1;
else
sumStruct(j).removed = 0;
end
% Block % Filter
sumStruct(j).BadSegCnt = sum(sacFrac(plotSegs) > str2double(answer{4})/100);
if sumStruct(j).BadSegCnt > str2double(answer{3})
Gains(:) = NaN;
sumStruct(j).removed = 1;
end
if isnan(sumStruct(j).blGains)
sumStruct(j).removed = 1;
end
for q = 1:length(Gains)
if Gains(q) == 0
Gains(q) = NaN;
end
end
%% Plot
segAmt = length(Gains(plotSegsAll));
if isnan(Gains(4))
goodExpmt(b) = 0;
sumStruct(j).removed = 1;
plot(1:segAmt, Gains(plotSegsAll)); hold on
else
goodExpmt(b) = 1;
A(v) = plot(1:segAmt, Gains(plotSegsAll)); hold on
v = v + 1;
end
scatter(1:segAmt, Gains(plotSegsAll), 5, 'k', 'filled'); hold on
end
%% Universal Plot Cosmetics
title(Label)
if answer{5} == '1'
ylabel('Normalized Gain')
ylim([.4 2.5])
if answer{6} == '1'
ylim([0.4, 4.0])
else
ylim([0.4, 2.5])
end
else
ylabel('Raw Gain')
if answer{6} == '1'
ylim([0, 2.5])
else
ylim([0.0, 1.5])
end
end
%xlabel('tmpts')
box off
xticks(1:segAmt)
if length(xticks) > 60
xticklabels({'VOR', '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', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', ...
'49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', 'VOR'})
else
xticklabels({'0', '0', '0', 'Beg', '10', '20', '30', '30', '30', 'Mid', '40', '50', '60', '60', '60', 'End'})
end
xlim([.8 segAmt+.2])
%% Text Marking
% Orientation Parameters
textGap = .06;
if answer{6} == '1'
yAlign = 9;
else
yAlign = 2.5;
end
xAlignTop = max(ylim)-.04;
FontSize = 9;
% Make Text Notes - Keep spacing in mind!! Not handled by matlab, so I
% do it manually.
for z = 1:length(sumStruct)
if ~sumStruct(z).removed
Gstrnum = num2str(sumStruct(z).blGains);
if (isnan(sumStruct(z).blGains))
Gstrnum = ['0'];
end
if (length(Gstrnum) == 1)
Gstrnum = [Gstrnum, '.00'];
end
RstrnumBL = num2str(sumStruct(z).blrSquare);
if (isnan(sumStruct(z).blrSquare))
RstrnumBL = ['0'];
end
if (length(RstrnumBL) == 1)
RstrnumBL = [RstrnumBL, '.00'];
end
RstrnumEnd = num2str(sumStruct(z).endrSquare);
if (isnan(sumStruct(z).endrSquare))
RstrnumEnd = ['0'];
end
if (length(RstrnumEnd) == 1)
RstrnumEnd = [RstrnumEnd, '.00'];
end
BCstrnum = num2str(sumStruct(z).BadSegCnt);
%text(yAlign, xAlignTop-(k*textGap), [sumStruct(z).name, ' ', Gstrnum(1:4), ' ', Rstrnum(1:4), ' ', BCstrnum], 'FontSize', FontSize)
LegCell(z) = {[sumStruct(z).name, ' ', Gstrnum(1:4), ' ', RstrnumBL(1:4), ' ', RstrnumEnd(1:4), ' ', BCstrnum]};
%k = k + 1;
end
end
for z = length(LegCell):-1:1
if isempty(LegCell{z})
LegCell(z) = [];
end
end
q = legend(A, LegCell, 'Location', 'northwest', 'FontSize', FontSize, 'Box', 'off');
k = 0;
text(yAlign, xAlignTop-(k*textGap), 'Removed', 'FontSize', FontSize+2)
k = k + 1;
text(yAlign, xAlignTop-(k*textGap), 'nm gain r^2 Beg r^2 End BadSegs', 'FontSize', FontSize)
k = k + 1;
for z = 1:length(sumStruct)
if sumStruct(z).removed
Gstrnum = num2str(sumStruct(z).blGains);
if (isnan(sumStruct(z).blGains))
Gstrnum = ['0'];
end
if (length(Gstrnum) == 1)
Gstrnum = [Gstrnum, '.00'];
end
RstrnumBL = num2str(sumStruct(z).blrSquare);
if (isnan(sumStruct(z).blrSquare))
RstrnumBL = ['0'];
end
if (length(RstrnumBL) == 1)
RstrnumBL = [RstrnumBL, '.00'];
end
RstrnumEnd = num2str(sumStruct(z).endrSquare);
if (isnan(sumStruct(z).endrSquare))
RstrnumEnd = ['0'];
end
if (length(RstrnumEnd) == 1)
RstrnumEnd = [RstrnumEnd, '.00'];
end
BCstrnum = num2str(sumStruct(z).BadSegCnt);
text(yAlign, xAlignTop-(k*textGap), [sumStruct(z).name, ' ', Gstrnum(1:4), ' ', RstrnumBL(1:4), ' ', RstrnumEnd(1:4), ' ', BCstrnum], 'FontSize', FontSize)
%LegCell(z) = {[sumStruct(z).name, ' ', Gstrnum(1:4), ' ', Rstrnum(1:4), ' ', BCstrnum]};
k = k + 1;
end
end
k = 0;
text(yAlign+yAlign, xAlignTop-(k*textGap), 'Parameters', 'FontSize', FontSize+2)
k = k + 1;
text(yAlign+yAlign, xAlignTop-(k*textGap), ['r^2 Cutoff: ' answer{2}], 'FontSize', FontSize)
k = k + 1;
text(yAlign+yAlign, xAlignTop-(k*textGap), ['Seg cnt Cutoff: ', answer{3}], 'FontSize', FontSize)
k = k + 1;
text(yAlign+yAlign, xAlignTop-(k*textGap), ['Seg % Cutoff: ', answer{4}], 'FontSize', FontSize)
savefig([Label, '.fig'])
end
if answer{6} == '1'
T = table(name', expmtType', goodExpmt(2:end)', ...
t0_nrmGainVOR', t1_nrmGainOKR', t2_nrmGainOKR', t3_nrmGainOKR', tbl_nrmGainOKR', t4_nrmGainOKR', t5_nrmGainOKR', t6_nrmGainOKR', ...
t7_nrmGainOKR', t8_nrmGainOKR', t9_nrmGainOKR', t10_nrmGainOKR', t11_nrmGainOKR', t12_nrmGainOKR', t13_nrmGainOKR', t14_nrmGainOKR', ...
t15_nrmGainOKR', t16_nrmGainOKR', t17_nrmGainOKR', t18_nrmGainOKR', t19_nrmGainOKR', t20_nrmGainOKR', t21_nrmGainOKR', t22_nrmGainOKR', ...
t23_nrmGainOKR', t24_nrmGainOKR', t25_nrmGainOKR', t26_nrmGainOKR', t27_nrmGainOKR', t28_nrmGainOKR', t29_nrmGainOKR', t30_nrmGainOKR', ...
t31_nrmGainOKR', t32_nrmGainOKR', t33_nrmGainOKR', t34_nrmGainOKR', t35_nrmGainOKR', t36_nrmGainOKR', t37_nrmGainOKR', t38_nrmGainOKR', ...
t39_nrmGainOKR', t40_nrmGainOKR', t41_nrmGainOKR', t42_nrmGainOKR', t43_nrmGainOKR', t44_nrmGainOKR', t45_nrmGainOKR', t46_nrmGainOKR', ...
t47_nrmGainOKR', t48_nrmGainOKR', t49_nrmGainOKR', t50_nrmGainOKR', t51_nrmGainOKR', t52_nrmGainOKR', t53_nrmGainOKR', t54_nrmGainOKR', ...
t55_nrmGainOKR', t56_nrmGainOKR', t57_nrmGainOKR', t58_nrmGainOKR', t59_nrmGainOKR', t60_nrmGainOKR', tend_nrmGainOKR', t60_nrmGainVOR', ...
t0_RsquareVOR', t1_RsquareOKR', t2_RsquareOKR', tbl_RsquareOKR', t3_RsquareOKR', t4_RsquareOKR', t5_RsquareOKR', t6_RsquareOKR', ...
t0_rawGainVOR', t1_rawGainOKR', t2_rawGainOKR', tbl_rawGainOKR', t3_rawGainOKR', t4_rawGainOKR', t5_rawGainOKR', t6_rawGainOKR', ...
t7_rawGainOKR', t8_rawGainOKR', t9_rawGainOKR', t10_rawGainOKR', t11_rawGainOKR', t12_rawGainOKR', t13_rawGainOKR', t14_rawGainOKR', ...
t15_rawGainOKR', t16_rawGainOKR', t17_rawGainOKR', t18_rawGainOKR', t19_rawGainOKR', t20_rawGainOKR', t21_rawGainOKR', t22_rawGainOKR', ...
t23_rawGainOKR', t24_rawGainOKR', t25_rawGainOKR', t26_rawGainOKR', t27_rawGainOKR', t28_rawGainOKR', t29_rawGainOKR', t30_rawGainOKR', ...
t31_rawGainOKR', t32_rawGainOKR', t33_rawGainOKR', t34_rawGainOKR', t35_rawGainOKR', t36_rawGainOKR', t37_rawGainOKR', t38_rawGainOKR', ...
t39_rawGainOKR', t40_rawGainOKR', t41_rawGainOKR', t42_rawGainOKR', t43_rawGainOKR', t44_rawGainOKR', t45_rawGainOKR', t46_rawGainOKR', ...
t47_rawGainOKR', t48_rawGainOKR', t49_rawGainOKR', t50_rawGainOKR', t51_rawGainOKR', t52_rawGainOKR', t53_rawGainOKR', t54_rawGainOKR', ...
t55_rawGainOKR', t56_rawGainOKR', t57_rawGainOKR', t58_rawGainOKR', t59_rawGainOKR', t60_rawGainOKR', tend_rawGainOKR', t60_rawGainVOR', ...
t7_RsquareOKR', t8_RsquareOKR', t9_RsquareOKR', t10_RsquareOKR', t11_RsquareOKR', t12_RsquareOKR', t13_RsquareOKR', t14_RsquareOKR', ...
t15_RsquareOKR', t16_RsquareOKR', t17_RsquareOKR', t18_RsquareOKR', t19_RsquareOKR', t20_RsquareOKR', t21_RsquareOKR', t22_RsquareOKR', ...
t23_RsquareOKR', t24_RsquareOKR', t25_RsquareOKR', t26_RsquareOKR', t27_RsquareOKR', t28_RsquareOKR', t29_RsquareOKR', t30_RsquareOKR', ...
t31_RsquareOKR', t32_RsquareOKR', t33_RsquareOKR', t34_RsquareOKR', t35_RsquareOKR', t36_RsquareOKR', t37_RsquareOKR', t38_RsquareOKR', ...
t39_RsquareOKR', t40_RsquareOKR', t41_RsquareOKR', t42_RsquareOKR', t43_RsquareOKR', t44_RsquareOKR', t45_RsquareOKR', t46_RsquareOKR', ...
t47_RsquareOKR', t48_RsquareOKR', t49_RsquareOKR', t50_RsquareOKR', t51_RsquareOKR', t52_RsquareOKR', t53_RsquareOKR', t54_RsquareOKR', ...
t55_RsquareOKR', t56_RsquareOKR', t57_RsquareOKR', t58_RsquareOKR', t59_RsquareOKR', t60_RsquareOKR', tend_RsquareOKR', t60_RsquareVOR', ...
t0_goodsegmVOR', t1_goodsegmOKR', t2_goodsegmOKR', t3_goodsegmOKR', t4_goodsegmOKR', t5_goodsegmOKR', t6_goodsegmOKR', t7_goodsegmOKR', ...
t8_goodsegmOKR', t9_goodsegmOKR', t10_goodsegmOKR', t11_goodsegmOKR', t12_goodsegmOKR', t13_goodsegmOKR', t14_goodsegmOKR', ...
t15_goodsegmOKR', t16_goodsegmOKR', t17_goodsegmOKR', t18_goodsegmOKR', t19_goodsegmOKR', t20_goodsegmOKR', t21_goodsegmOKR', ...
t22_goodsegmOKR', t23_goodsegmOKR', t24_goodsegmOKR', t25_goodsegmOKR', t26_goodsegmOKR', t27_goodsegmOKR', t28_goodsegmOKR', ...
t29_goodsegmOKR', t30_goodsegmOKR', t31_goodsegmOKR', t32_goodsegmOKR', t33_goodsegmOKR', t34_goodsegmOKR', t35_goodsegmOKR', ...
t36_goodsegmOKR', t37_goodsegmOKR', t38_goodsegmOKR', t39_goodsegmOKR', t40_goodsegmOKR', t41_goodsegmOKR', t42_goodsegmOKR', ...
t43_goodsegmOKR', t44_goodsegmOKR', t45_goodsegmOKR', t46_goodsegmOKR', t47_goodsegmOKR', t48_goodsegmOKR', t49_goodsegmOKR', ...
t50_goodsegmOKR', t51_goodsegmOKR', t52_goodsegmOKR', t53_goodsegmOKR', t54_goodsegmOKR', t55_goodsegmOKR', t56_goodsegmOKR', ...
t57_goodsegmOKR', t58_goodsegmOKR', t59_goodsegmOKR', t60_goodsegmOKR', t60_goodsegmVOR', ...
'VariableNames', ...
{'Name', 'expmtType', 'goodExpmt', ...
't0_nrmGainVOR', 't1_nrmGainOKR', 't2_nrmGainOKR', 't3_nrmGainOKR', 'tbl_nrmGainOKR', 't4_nrmGainOKR', 't5_nrmGainOKR', 't6_nrmGainOKR', ...
't7_nrmGainOKR', 't8_nrmGainOKR', 't9_nrmGainOKR', 't10_nrmGainOKR', 't11_nrmGainOKR', 't12_nrmGainOKR', 't13_nrmGainOKR', 't14_nrmGainOKR', ...
't15_nrmGainOKR', 't16_nrmGainOKR', 't17_nrmGainOKR', 't18_nrmGainOKR', 't19_nrmGainOKR', 't20_nrmGainOKR', 't21_nrmGainOKR', 't22_nrmGainOKR', ...
't23_nrmGainOKR', 't24_nrmGainOKR', 't25_nrmGainOKR', 't26_nrmGainOKR', 't27_nrmGainOKR', 't28_nrmGainOKR', 't29_nrmGainOKR', 't30_nrmGainOKR', ...
't31_nrmGainOKR', 't32_nrmGainOKR', 't33_nrmGainOKR', 't34_nrmGainOKR', 't35_nrmGainOKR', 't36_nrmGainOKR', 't37_nrmGainOKR', 't38_nrmGainOKR', ...
't39_nrmGainOKR', 't40_nrmGainOKR', 't41_nrmGainOKR', 't42_nrmGainOKR', 't43_nrmGainOKR', 't44_nrmGainOKR', 't45_nrmGainOKR', 't46_nrmGainOKR', ...
't47_nrmGainOKR', 't48_nrmGainOKR', 't49_nrmGainOKR', 't50_nrmGainOKR', 't51_nrmGainOKR', 't52_nrmGainOKR', 't53_nrmGainOKR', 't54_nrmGainOKR', ...
't55_nrmGainOKR', 't56_nrmGainOKR', 't57_nrmGainOKR', 't58_nrmGainOKR', 't59_nrmGainOKR', 't60_nrmGainOKR', 'tend_nrmGainOKR', 't60_nrmGainVOR', ...
't0_rawGainVOR', 't1_rawGainOKR', 't2_rawGainOKR', 'tbl_rawGainOKR', 't3_rawGainOKR', 't4_rawGainOKR', 't5_rawGainOKR', 't6_rawGainOKR', ...
't7_rawGainOKR', 't8_rawGainOKR', 't9_rawGainOKR', 't10_rawGainOKR', 't11_rawGainOKR', 't12_rawGainOKR', 't13_rawGainOKR', 't14_rawGainOKR', ...
't15_rawGainOKR', 't16_rawGainOKR', 't17_rawGainOKR', 't18_rawGainOKR', 't19_rawGainOKR', 't20_rawGainOKR', 't21_rawGainOKR', 't22_rawGainOKR', ...
't23_rawGainOKR', 't24_rawGainOKR', 't25_rawGainOKR', 't26_rawGainOKR', 't27_rawGainOKR', 't28_rawGainOKR', 't29_rawGainOKR', 't30_rawGainOKR', ...
't31_rawGainOKR', 't32_rawGainOKR', 't33_rawGainOKR', 't34_rawGainOKR', 't35_rawGainOKR', 't36_rawGainOKR', 't37_rawGainOKR', 't38_rawGainOKR', ...
't39_rawGainOKR', 't40_rawGainOKR', 't41_rawGainOKR', 't42_rawGainOKR', 't43_rawGainOKR', 't44_rawGainOKR', 't45_rawGainOKR', 't46_rawGainOKR', ...
't47_rawGainOKR', 't48_rawGainOKR', 't49_rawGainOKR', 't50_rawGainOKR', 't51_rawGainOKR', 't52_rawGainOKR', 't53_rawGainOKR', 't54_rawGainOKR', ...
't55_rawGainOKR', 't56_rawGainOKR', 't57_rawGainOKR', 't58_rawGainOKR', 't59_rawGainOKR', 't60_rawGainOKR', 'tend_rawGainOKR', 't60_rawGainVOR', ...
't0_RsquareVOR', 't1_RsquareOKR', 't2_RsquareOKR', 'tbl_RsquareOKR', 't3_RsquareOKR', 't4_RsquareOKR', 't5_RsquareOKR', 't6_RsquareOKR', ...
't7_RsquareOKR', 't8_RsquareOKR', 't9_RsquareOKR', 't10_RsquareOKR', 't11_RsquareOKR', 't12_RsquareOKR', 't13_RsquareOKR', 't14_RsquareOKR', ...
't15_RsquareOKR', 't16_RsquareOKR', 't17_RsquareOKR', 't18_RsquareOKR', 't19_RsquareOKR', 't20_RsquareOKR', 't21_RsquareOKR', 't22_RsquareOKR', ...
't23_RsquareOKR', 't24_RsquareOKR', 't25_RsquareOKR', 't26_RsquareOKR', 't27_RsquareOKR', 't28_RsquareOKR', 't29_RsquareOKR', 't30_RsquareOKR', ...
't31_RsquareOKR', 't32_RsquareOKR', 't33_RsquareOKR', 't34_RsquareOKR', 't35_RsquareOKR', 't36_RsquareOKR', 't37_RsquareOKR', 't38_RsquareOKR', ...
't39_RsquareOKR', 't40_RsquareOKR', 't41_RsquareOKR', 't42_RsquareOKR', 't43_RsquareOKR', 't44_RsquareOKR', 't45_RsquareOKR', 't46_RsquareOKR', ...
't47_RsquareOKR', 't48_RsquareOKR', 't49_RsquareOKR', 't50_RsquareOKR', 't51_RsquareOKR', 't52_RsquareOKR', 't53_RsquareOKR', 't54_RsquareOKR', ...
't55_RsquareOKR', 't56_RsquareOKR', 't57_RsquareOKR', 't58_RsquareOKR', 't59_RsquareOKR', 't60_RsquareOKR', 'tend_RsquareOKR', 't60_RsquareVOR', ...
't0_goodsegmVOR', 't1_goodsegmOKR', 't2_goodsegmOKR', 't3_goodsegmOKR', 't4_goodsegmOKR', 't5_goodsegmOKR', 't6_goodsegmOKR', 't7_goodsegmOKR', ...
't8_goodsegmOKR', 't9_goodsegmOKR', 't10_goodsegmOKR', 't11_goodsegmOKR', 't12_goodsegmOKR', 't13_goodsegmOKR', 't14_goodsegmOKR', ...
't15_goodsegmOKR', 't16_goodsegmOKR', 't17_goodsegmOKR', 't18_goodsegmOKR', 't19_goodsegmOKR', 't20_goodsegmOKR', 't21_goodsegmOKR', ...
't22_goodsegmOKR', 't23_goodsegmOKR', 't24_goodsegmOKR', 't25_goodsegmOKR', 't26_goodsegmOKR', 't27_goodsegmOKR', 't28_goodsegmOKR', ...
't29_goodsegmOKR', 't30_goodsegmOKR', 't31_goodsegmOKR', 't32_goodsegmOKR', 't33_goodsegmOKR', 't34_goodsegmOKR', 't35_goodsegmOKR', ...
't36_goodsegmOKR', 't37_goodsegmOKR', 't38_goodsegmOKR', 't39_goodsegmOKR', 't40_goodsegmOKR', 't41_goodsegmOKR', 't42_goodsegmOKR', ...
't43_goodsegmOKR', 't44_goodsegmOKR', 't45_goodsegmOKR', 't46_goodsegmOKR', 't47_goodsegmOKR', 't48_goodsegmOKR', 't49_goodsegmOKR', ...
't50_goodsegmOKR', 't51_goodsegmOKR', 't52_goodsegmOKR', 't53_goodsegmOKR', 't54_goodsegmOKR', 't55_goodsegmOKR', 't56_goodsegmOKR', ...
't57_goodsegmOKR', 't58_goodsegmOKR', 't59_goodsegmOKR', 't60_goodsegmOKR', 't60_goodsegmVOR'});
else
T = table(name', expmtType', goodExpmt(2:end)', ...
t0a_nrmGain', t0b_nrmGain', t0c_nrmGain', tbl_nrmGain', t10_nrmGain', t20_nrmGain', t30a_nrmGain', t30b_nrmGain', t30c_nrmGain', tmid_nrmGain', t40_nrmGain', t50_nrmGain', t60a_nrmGain', t60b_nrmGain', t60c_nrmGain', tend_nrmGain', ...
t0a_rawGain', t0b_rawGain', t0c_rawGain', tbl_rawGain', t10_rawGain', t20_rawGain', t30a_rawGain', t30b_rawGain', t30c_rawGain', tmid_rawGain', t40_rawGain', t50_rawGain', t60a_rawGain', t60b_rawGain', t60c_rawGain', tend_rawGain', ...
t0a_rSquare', t0b_rSquare', t0c_rSquare', tbl_rSquare', t10_rSquare', t20_rSquare', t30a_rSquare', t30b_rSquare', t30c_rSquare', tmid_rSquare', t40_rSquare', t50_rSquare', t60a_rSquare', t60b_rSquare', t60c_rSquare', tend_rSquare', ...
t0a_goodsegm', t0b_goodsegm', t0c_goodsegm', t10_goodsegm', t20_goodsegm', t30a_goodsegm', t30b_goodsegm', t30c_goodsegm', t40_goodsegm', t50_goodsegm', t60a_goodsegm', t60b_goodsegm', t60c_goodsegm', ...
t5_nrmGain', t15_nrmGain', t25_nrmGain', t35_nrmGain', t45_nrmGain', t55_nrmGain', ...
t5_rawGain', t15_rawGain', t25_rawGain', t35_rawGain', t45_rawGain', t55_rawGain', ...
t5_rSquare', t15_rSquare', t25_rSquare', t35_rSquare', t45_rSquare', t55_rSquare', ...
t5_goodsegm', t15_goodsegm', t25_goodsegm', t35_goodsegm', t45_goodsegm', t55_goodsegm', ...
'VariableNames', ...
{'Name', 'expmtType', 'goodExpmt', ...
'N01', 'N02', 'N03', 'NBeg', 'N10', 'N20', 'N301', 'N302', 'N303', 'NMid', 'N40', 'N50', 'N601', 'N602', 'N603', 'NEnd', ...
'R01', 'R02', 'R03', 'RBeg', 'R10', 'R20', 'R301', 'R302', 'R303', 'RMid', 'R40', 'R50', 'R601', 'R602', 'R603', 'REnd', ...
't0a_rSquare', 't0b_rSquare', 't0c_rSquare', 'tbl_rSquare', 't10_rSquare', 't20_rSquare', 't30a_rSquare', 't30b_rSquare', 't30c_rSquare', 'tmid_rSquare', 't40_rSquare', 't50_rSquare', 't60a_rSquare', 't60b_rSquare', 't60c_rSquare', 'tend_rSquare', ...
't0a_goodsegm', 't0b_goodsegm', 't0c_goodsegm', 't10_goodsegm', 't20_goodsegm', 't30a_goodsegm', 't30b_goodsegm', 't30c_goodseg', 't40_goodsegm', 't50_goodsegm', 't60a_goodsegm', 't60b_goodsegm', 't60c_goodsegm', ...
'N5', 'N15', 'N25', 'N35', 'N45', 'N55', ...
'R5', 'R15', 'R25', 'R35', 'R45', 'R55', ...
't5_rSquare', 't15_rSquare', 't25_rSquare', 't35_rSquare', 't45_rSquare', 't55_rSquare', ...
't5_goodsegm', 't15_goodsegm', 't25_goodsegm', 't35_goodsegm', 't45_goodsegm', 't55_goodsegm'});
end
writetable(T, 'AllMiceBigChart.xlsx')
cd(answer{1})
for d = 1:25
if d < 10
if any(contains(T.Name, ['0', num2str(d)]))
filename = ['Mouse_', num2str(d), '.xlsx'];
writetable(T(contains(T.Name, ['0', num2str(d)]), :), filename)
end
elseif any(contains(T.Name, num2str(d)))
filename = ['Mouse_', num2str(d), '.xlsx'];
writetable(T(contains(T.Name, [num2str(d)]), :), filename)
end
end
if str2num(answer{6}) == 5
for e = 1:10
if any(contains(T.Name, [num2str(e), ' ']))
filename = ['Mouse_', num2str(e), '.xlsx'];
writetable(T(contains(T.Name, [num2str(e)]), :), filename)
end
end
end
disp('Done!')