diff --git a/pointprocesses/code/isis.m b/pointprocesses/code/isis.m index b0b95ff..cfd0cea 100644 --- a/pointprocesses/code/isis.m +++ b/pointprocesses/code/isis.m @@ -5,11 +5,7 @@ function isivec = isis( spikes ) isivec = []; for k = 1:length(spikes) difftimes = diff( spikes{k} ); - if ( size( difftimes, 1 ) == 1 ) - isivec = [ isivec difftimes ]; - elseif ( size( difftimes, 2 ) == 1 ) - isivec = [ isivec difftimes' ]; - end + isivec = [ isivec; difftimes(:) ]; end end diff --git a/pointprocesses/code/isiserialcorr.m b/pointprocesses/code/isiserialcorr.m index d5b44c1..0daac23 100644 --- a/pointprocesses/code/isiserialcorr.m +++ b/pointprocesses/code/isiserialcorr.m @@ -8,8 +8,7 @@ function isicorr = isiserialcorr( isis, maxlag ) for k = 1:length(lags) lag = lags(k); if length( isis ) > lag+10 - cc = corrcoef( [ isis(1:end-lag)', isis(1+lag:end)' ] ); - isicorr(k) = cc( 1, 2 ); + isicorr(k) = corr( isis(1:end-lag), isis(lag+1:end) ); end end diff --git a/pointprocesses/code/plotspikestats.m b/pointprocesses/code/plotspikestats.m new file mode 100644 index 0000000..cede720 --- /dev/null +++ b/pointprocesses/code/plotspikestats.m @@ -0,0 +1,73 @@ +%% load data: + +clear all +% alternative 1: +% pro: no structs. contra: global unknown variables +load poisson.mat +whos +poissonspikes = spikes; +load pifou.mat; +pifouspikes = spikes; +load lifadapt.mat; +lifadaptspikes = spikes; +clear spikes; +% alternative 2: +% pro: clean code. contra: structs that we do not really know yet +clear all +x = load( 'poisson.mat' ); +poissonspikes = x.spikes; +x = load( 'pifou.mat' ); +pifouspikes = x.spikes; +x = load( 'lifadapt.mat' ); +lifadaptspikes = x.spikes; + +%% spike raster plots: +subplot(1, 3, 1); +spikeraster(poissonspikes, 1.0); +title('Poisson'); + +subplot(1, 3, 2); +spikeraster(pifouspikes, 1.0); +title('PIF OU'); + +subplot(1, 3, 3); +spikeraster(lifadaptspikes, 1.0); +title('LIF adapt'); + +%% isi histograms: +maxisi = 300.0; +subplot(1, 3, 1); +poissonisis = isis(poissonspikes); +isihist(poissonisis, 0.001); +xlim([0, maxisi]) +title('Poisson'); + +subplot(1, 3, 2); +pifouisis = isis(pifouspikes); +isihist(pifouisis, 0.001); +xlim([0, maxisi]) +title('PIF OU'); + +subplot(1, 3, 3); +lifadaptisis = isis(lifadaptspikes); +isihist(lifadaptisis, 0.001); +xlim([0, maxisi]) +title('LIF adapt'); + +%% serial correlations: +maxlag = 10; +rrange = [-0.5, 1.05]; +subplot(1, 3, 1); +isiserialcorr(poissonisis, maxlag); +ylim(rrange) +title('Poisson'); + +subplot(1, 3, 2); +isiserialcorr(pifouisis, maxlag); +ylim(rrange) +title('PIF OU'); + +subplot(1, 3, 3); +isiserialcorr(lifadaptisis, maxlag); +ylim(rrange) +title('LIF adapt');