add rectify, cv, serial correlation
This commit is contained in:
		
							parent
							
								
									357c09d3dd
								
							
						
					
					
						commit
						2256800e33
					
				| @ -3,6 +3,8 @@ import pyrelacs.DataLoader as dl | |||||||
| import numpy as np | import numpy as np | ||||||
| import matplotlib.pyplot as plt | import matplotlib.pyplot as plt | ||||||
| from warnings import warn | from warnings import warn | ||||||
|  | import scipy.stats | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| def get_subfolder_paths(basepath): | def get_subfolder_paths(basepath): | ||||||
|     subfolders = [] |     subfolders = [] | ||||||
| @ -213,3 +215,34 @@ def plot_frequency_curve(cell_data, save_path: str = None, indices: list = None) | |||||||
|     else: |     else: | ||||||
|         plt.savefig(save_path + "mean_frequency_curves.png") |         plt.savefig(save_path + "mean_frequency_curves.png") | ||||||
|     plt.close() |     plt.close() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def rectify(x): | ||||||
|  |     if x < 0: | ||||||
|  |         return 0 | ||||||
|  |     return x | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def calculate_coefficient_of_variation(spiketimes: list) -> float: | ||||||
|  |     # CV (stddev of ISI divided by mean ISI (np.diff(spiketimes)) | ||||||
|  |     isi = np.diff(spiketimes) | ||||||
|  |     std = np.std(isi) | ||||||
|  |     mean = np.mean(isi) | ||||||
|  | 
 | ||||||
|  |     return std/mean | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def calculate_serial_correlation(spiketimes: list, max_lag: int) -> list: | ||||||
|  |     isi = np.diff(spiketimes) | ||||||
|  |     if len(spiketimes) < max_lag + 1: | ||||||
|  |         raise ValueError("Given list to short, with given max_lag") | ||||||
|  | 
 | ||||||
|  |     cor = [] | ||||||
|  |     for lag in range(max_lag): | ||||||
|  |         lag = lag + 1 | ||||||
|  |         first = isi[:-lag] | ||||||
|  |         second = isi[lag:] | ||||||
|  | 
 | ||||||
|  |         cor.append(np.corrcoef(first, second)[0][1]) | ||||||
|  | 
 | ||||||
|  |     return cor | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user