diff --git a/fishbook/frontend/relacs_classes.py b/fishbook/frontend/relacs_classes.py index 464318e..71e64a5 100644 --- a/fishbook/frontend/relacs_classes.py +++ b/fishbook/frontend/relacs_classes.py @@ -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.