def get_spikes(model=None, reset=None, threshold=None, input=None, input_var='I', dt=None, **params): """ Retrieves the spike times corresponding to the best parameters found by the modelfitting function. **Arguments** ``model``, ``reset``, ``threshold``, ``input``, ``input_var``, ``dt`` Same parameters as for the ``modelfitting`` function. ``**params`` The best parameters returned by the ``modelfitting`` function. **Returns** ``spiketimes`` The spike times of the model with the given input and parameters. """ duration = len(input) * dt ngroups = len(params[params.keys()[0]]) group = NeuronGroup(N=ngroups, model=model, reset=reset, threshold=threshold, clock=Clock(dt=dt)) group.set_var_by_array(input_var, TimedArray(input, clock=group.clock)) for param, values in params.iteritems(): if (param == 'delays') | (param == 'fitness'): continue group.state(param)[:] = values M = SpikeMonitor(group) net = Network(group, M) net.run(duration) reinit_default_clock() return M.spikes