fit no dend_tau increased v_offset baseline sim 6
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user