def test_empty_spikes(): spt1 = np.array([]) spt2 = np.array([2, 4, 5]) assert analysis.calc_corr_coef(spt1, spt2) == 0 assert analysis.calc_corr_coef(spt2, spt1) == 0
def test_correlations_not_exceeding_one(): spt1 = np.array([2, 5, 5.5, 10, 12], dtype=float) r = analysis.calc_corr_coef(spt1, spt1, 1.) assert np.abs(r - 1.) < 0.05
def test_correlations_not_exceeding_one(): spt1 = np.array([2, 5, 5.5, 10, 12], dtype=float) r = analysis.calc_corr_coef(spt1, spt1, 1.) assert np.abs(r-1.) < 0.05
def test_random_spikes(): spt1 = np.cumsum(np.random.exponential(100, size=1000)) spt2 = np.cumsum(np.random.exponential(100, size=1000)) r = analysis.calc_corr_coef(spt1, spt2, 10.) assert np.abs(r) < 0.05
import argparse parser = argparse.ArgumentParser() parser.add_argument('datafile') parser.add_argument('--save') parser.add_argument('--bin-size', type=float, default=10.) args = parser.parse_args() fname = args.datafile outfname = args.save data = io.loadmat(fname) spt = data['spikeTimes'] n_spt = spt.shape[1] correlations = np.zeros((n_spt, n_spt)) for i in range(n_spt): for j in range(n_spt): correlations[i,j] = analysis.calc_corr_coef(spt[0][i][0,:], spt[0][j][0,:], args.bin_size) # plot the histogram if args.save: np.savez(args.save, correlations=correlations) else: plt.hist(correlations.flat, bins=50) plt.xlabel('Correlation value [a.u.]') plt.ylabel('# occurrences') plt.show()
import numpy as np import matplotlib.pyplot as plt from scipy import io from pyNeuro.analysis import calc_corr_coef if __name__ == "__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument('mat_file') parser.add_argument('--save') args = parser.parse_args() data = io.loadmat(args.mat_file) spike_times = data['spikeTimes'][0] corr_coefs = [] for i, spt1 in enumerate(spike_times[:-1]): for spt2 in spike_times[i+1:]: r = calc_corr_coef(spt1[0], spt2[0]) corr_coefs.append(r) if args.save: np.savez(args.save, corr_coefs = corr_coefs) else: plt.hist(corr_coefs, 100) plt.show()
import numpy as np import matplotlib.pyplot as plt from scipy import io from pyNeuro.analysis import calc_corr_coef if __name__ == "__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument('mat_file') parser.add_argument('--save') args = parser.parse_args() data = io.loadmat(args.mat_file) spike_times = data['spikeTimes'][0] corr_coefs = [] for i, spt1 in enumerate(spike_times[:-1]): for spt2 in spike_times[i + 1:]: r = calc_corr_coef(spt1[0], spt2[0]) corr_coefs.append(r) if args.save: np.savez(args.save, corr_coefs=corr_coefs) else: plt.hist(corr_coefs, 100) plt.show()