Revision 1732ada9c8b7f1432fe3fd494fa00a27e29425ff authored by simkind on 16 March 2024, 19:13:22 UTC, committed by GitHub on 16 March 2024, 19:13:22 UTC
1 parent 7a7d099
save_Bursts.m
% Results should be struct containing sweeps
function [Results] = save_Bursts(Results,accommresult,filename)
[Results] = bracket2nan(Results); % convert empty brackets into NaN
label = {'ABF File','Sweep','Spike Number','Baseline (mV)','Spike Times (ms)','Spike Amplitude (mV)','ISI (ms)',...
'Current','1s # Spike','ISI 1s Spikes','150ms # Spike','ISI 150ms Spikes','Hz 150ms','Accommodating?'};
writethis = [];
for i = 1:length(Results) % for each sweep
numspikes = Results(i).num_spikes;
if numspikes > 1
writethistemp = [];
for s = 1:numspikes
writethistempspike = [];
writethistempspike = [cellstr(filename), i, s, num2cell(Results(i).baseline_potential),...
num2cell(Results(i).peak_times(s)), num2cell(Results(i).peak_to_baseline(s))];
% ,num2cell(Results(i).threshold_time(s)),...
% num2cell(Results(i).threshold_amplitude(s)),num2cell(Results(i).SpikeWidth_Baseline(s)),num2cell(Results(i).SpikeWidth_Threshold(s)),...
% num2cell(Results(i).SpikeWidth_FirstSpike(s)), num2cell(Results(i).FastAHP_Time(s)), num2cell(Results(i).FastAHP_Voltage(s))];
writethistemp = [writethistemp; writethistempspike];
end
X = NaN(numspikes,1);
Y = NaN(numspikes,1);
T = NaN(numspikes,1);
U = NaN(numspikes,1);
V = NaN(numspikes,1);
Z = NaN(numspikes,1);
X(1:length(Results(i).ISIspikes1sec)) = Results(i).ISIspikes1sec;
Y(1:length(Results(i).ISIspikes150ms)) = Results(i).ISIspikes150ms;
T(1) = Results(i).current;
U(1) = Results(i).num_spikes1sec;
V(1) = Results(i).num_spikes150ms;
Z(1) = Results(i).hz_150;
writethistemp = [writethistemp, num2cell([NaN;Results(i).ISI]), num2cell(T),...
num2cell(U), num2cell(X), num2cell(V), num2cell(Y), num2cell(Z)];
else
if numspikes == 1
s = 1;
X = NaN(numspikes,1);
Y = NaN(numspikes,1);
else
s = NaN;
X = NaN(1,1);
Y = NaN(1,1);
end
A = NaN;
writethistemp = [];
writethistemp = [cellstr(filename), i,s, num2cell(Results(i).baseline_potential),...
num2cell(Results(i).peak_times), num2cell(Results(i).peak_to_baseline),num2cell(A),num2cell(Results(i).current),...
num2cell(Results(i).num_spikes1sec), num2cell(X),num2cell(Results(i).num_spikes150ms), num2cell(Y), num2cell(Results(i).hz_150)];
end
writethis = [writethis; writethistemp];
end
accomm = num2cell(nan(size(writethis,1),1));
if accommresult == 0
accomm(1) = {'No'};
elseif accommresult == 1
accomm(1) = {'Yes'};
elseif isnan(accommresult)
accomm(1) = {'Unknown'};
else
accomm(1) = {'Unknown'};
end
writethiswithlabel = [label; [writethis, accomm]];
Table = writethiswithlabel;
xlswrite(sprintf('%s Bursts.xlsx',filename),writethiswithlabel)
save(sprintf('%s Bursts.mat',filename),'Results','Table')
end
Computing file changes ...