-
Notifications
You must be signed in to change notification settings - Fork 358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better documentation of hh_cond_exp_traub and Brette-2007-compatible refractory time #944
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have mixed feelings about this:
- on the one hand the current behaviour is wrong and the fix is quite obviously better
- on the other hand this feels horribly ad hoc and I feel we should rather try to improve the "spike detection" mechanism.
That being said, I am aware of the fact that it is very likely none of us has the time (nor probably any desire) to do this...
So unless we decide to remove the model altogether, I'll approve the PR ^^"
@Silmathoron This neuron model is used for the "hh_coba" benchmark in the Brette et al (2007) simulator review, so we ought to keep it in NEST. Unfortunately, the paper text does not describe spike or reset mechanisms at all. Benchmark code for different simulators is available on ModelDB, although it is not easy to infer how spike detection is done by the different simulators. The most transparent is Brian: P=NeuronGroup(4000,model=eqs,
threshold=EmpiricalThreshold(threshold=-20*mV,refractory=3*ms),
implicit=True,freeze=True,compile=False) I.e., a fixed threshold at -20 mV and an absolute refractory period of 3 ms. Since no reset is specified, I assume that without the refractory period, Brian would emit spikes for each time step until membrane potential drops below -20 mV. I have not been able to find threshold conditions for other simulators, although for Neuron this piece of code
looks like there may be a spike threshold of 10 mV. Quite a mess, but maybe compatibility with the Brian implementation would not be a bad idea? |
See also #329. |
See #329 (comment) for a thorough discussion of the situation and options. |
…ncy with NEST code for Brette 2007.
…, only single spike.
@Silmathoron @diesmann I have updated the PR after discussions, so default t_ref now is 2 ms. I also made the connection to Brette et al (2007) clearer in the documentation. Could you take a look? |
# Conflicts: # models/hh_cond_exp_traub.h
@heplesser so all the changes mentioned in #329 including the change in spike detection would be for NEST 3? |
@Silmathoron Yes, they would all be for NEST 3 and then in a new model, while the current |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fine with me 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 thanks @heplesser
When fixing #473 to make t_ref configurable in hh_cond_exp_traub, we configured the model with
t_ref==0
as default. This does not work properly, since the spike detection mechanism relies on an absolute refractory peroid. This PR sets the defaultt_ref=2
ms as used in the Brette et al (2007) review and documents the relation of this model to the review more clearly, as well as differences from the Traub&Miles (1991) model.See #329 (comment) for a thorough discussion.