[relacs/BaselineData] add baseline rate

This commit is contained in:
Jan Grewe 2020-08-12 13:43:59 +02:00
parent 29f971b892
commit 7457340dfe

View File

@ -18,7 +18,11 @@ class BaselineData:
This class provides access to basic measures estimated from the baseline activity.
"""
def __init__(self, dataset: Dataset):
def __init__(self, dataset=None, dataset_id=None):
d, _ = Dataset.find(dataset_id=dataset_id)
if len(d) == 0 or len(d) > 1:
raise ValueError("Dataset id not found or not unique")
dataset = d[0]
self.__spike_data = []
self.__eod_data = []
self.__eod_times = []
@ -66,6 +70,21 @@ class BaselineData:
a_corr = a_corr[int(len(a_corr) / 2):]
return a_corr[:max_lags]
@property
def baseline_rate(self):
"""The average baseline firing rate for each run of the baseline repro
Returns:
list of float: the average firing rate
"""
rates = []
for i in range(self.size):
spikes = self.spikes(i)
max_time = np.floor(spikes)[-1]
min_time = np.ceil(spikes)[0]
rates.append(len(spikes[(spikes >= min_time) & (spikes < max_time)])/(max_time - min_time))
return rates
def serial_correlation(self, max_lags=50):
"""
Returns the serial correlation of the interspike intervals.