-
Notifications
You must be signed in to change notification settings - Fork 217
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
Refractoriness always in threshold.py #116
Conversation
I'm wondering if we can make |
…shold.py Refractoriness always in threshold.py
I think there was a good reason for it, but I don't quite remember what the reason was :) One advantage of it being a group is that you can access the |
Could we do this with a Group instead of a NeuronGroup? And if so, it shouldn't have any refractoriness stuff in there? |
It's already a Group, not a NeuronGroup but it uses a |
Ah, I see. I think I'd probably prefer to make refractoriness optional in models but only if it doesn't make everything rather complicated. |
Maybe we can do it on the template level, i.e. via a keyword provided to the template which then conditionally includes the refractoriness bit? |
Sounds good! Can we detect it automatically actually? i.e. if no user code touches the refractory variables then don't bother to have them. |
I think we can quite simply: If the user does not specify the |
OK should we add an issue for this then? |
Issue is here: #125 |
This implements the automatic addition of "not_refractory" to the threshold condition. It also shows a problem with this approach, though:
PoissonGroup
doesn't use the refractory period but sincenot_refractory
is reset in the state updater, it needs a crazy almost empty state updater to reset thenot_refractory
variable at every time step. Obviously we want to handle this better, maybe specific templates for thresholds/state updates without refractoriness.