make eod calculation more lightweight, save/load results to a file
This commit is contained in:
parent
dbd28a7bd3
commit
3faabb353b
25
CellData.py
25
CellData.py
@ -264,15 +264,22 @@ class CellData:
|
|||||||
self.recording_times = self.parser.get_recording_times()
|
self.recording_times = self.parser.get_recording_times()
|
||||||
return self.recording_times[3]
|
return self.recording_times[3]
|
||||||
|
|
||||||
def get_eod_frequency(self):
|
def get_eod_frequency(self, recalculate=False):
|
||||||
eods = self.get_base_traces(self.EOD)
|
eod_freq_file_name = "eod_freq_peak_based.npy"
|
||||||
sampling_interval = self.get_sampling_interval()
|
eod_freq_file_path = os.path.join(self.get_data_path(), eod_freq_file_name)
|
||||||
frequencies = []
|
if os.path.exists(eod_freq_file_path) and not recalculate:
|
||||||
for eod in eods:
|
print("Loaded eod_freq from file")
|
||||||
time = np.arange(0, len(eod) * sampling_interval, sampling_interval)
|
return np.load(eod_freq_file_path)
|
||||||
frequencies.append(hf.calculate_eod_frequency(time, eod))
|
else:
|
||||||
|
eods = self.get_base_traces(self.EOD)
|
||||||
return np.mean(frequencies)
|
sampling_interval = self.get_sampling_interval()
|
||||||
|
frequencies = []
|
||||||
|
for eod in eods:
|
||||||
|
frequencies.append(hf.calculate_eod_frequency(eod, sampling_interval))
|
||||||
|
mean_freq = np.mean(frequencies)
|
||||||
|
np.save(eod_freq_file_path, mean_freq)
|
||||||
|
print("Saved eod freq to file.")
|
||||||
|
return mean_freq
|
||||||
|
|
||||||
def __read_fi_spiketimes_info__(self):
|
def __read_fi_spiketimes_info__(self):
|
||||||
if self.fi_spiketimes is None:
|
if self.fi_spiketimes is None:
|
||||||
|
Loading…
Reference in New Issue
Block a user