fit no dend_tau increased v_offset baseline sim 6

This commit is contained in:
alexanderott
2020-09-12 20:18:40 +02:00
parent 52e6fea5f8
commit 5cb0ee435e
3 changed files with 22 additions and 11 deletions

View File

@@ -184,7 +184,7 @@ class LifacNoiseModel(AbstractModel):
def find_v_offset(self, goal_baseline_frequency, base_stimulus, threshold=2, border=50000):
test_model = self.get_model_copy()
simulation_length = 9
simulation_length = 6
v_search_step_size = 100
@@ -214,7 +214,7 @@ def binary_search_base_freq(model: LifacNoiseModel, base_stimulus, goal_frequenc
counter += 1
middle = upper_bound - (upper_bound - lower_bound) / 2
frequency = test_v_offset(model, middle, base_stimulus, simulation_length)
# print("offset: {:.1f}, freq: {:.0f}".format(middle, frequency))
# print('{:.1f}, {:.1f}, {:.1f}, {:.1f} vs {:.1f} '.format(lower_bound, middle, upper_bound, frequency, goal_frequency))
if abs(frequency - goal_frequency) < threshold:
@@ -231,6 +231,7 @@ def binary_search_base_freq(model: LifacNoiseModel, base_stimulus, goal_frequenc
if abs(upper_bound - lower_bound) < 0.0001:
print("v_offset search stopped. bounds converged! freq: {:.2f}, bounds: {:.0f}"
.format(frequency, lower_bound))
# print(model.parameters)
warn("Search was stopped. Upper and lower bounds converged without finding a value closer than threshold!")
return middle
@@ -239,8 +240,11 @@ def test_v_offset(model: LifacNoiseModel, v_offset, base_stimulus, simulation_le
model.set_variable("v_offset", v_offset)
try:
v, spiketimes = model.simulate(base_stimulus, simulation_length)
# if len(spiketimes) > 0:
# print("sim length", simulation_length, "last spike", max(spiketimes), "num of spikes:", len(spiketimes))
rel_spikes = [s for s in spiketimes if s > simulation_length / 3]
freq = hF.mean_freq_of_spiketimes_after_time_x(spiketimes, simulation_length / 3)
return len(rel_spikes) / (2/3 * simulation_length)
except ZeroDivisionError:
print("divide by zero!")
freq = 0