Add Kobayashi model with PyNN#806
Conversation
|
@apdavison Can you review this? I tried it as per NEST backend. (Yet to add for NEURON backend) |
|
This PR fixes issue #366 |
|
This looks good so far. Please could you either add a new example script, or extend the "cell_type_demonstration.py" example? |
|
Will extend "cell_type_demonstration.py" |
|
@apdavison I didn’t complete the work and left it pending. [REASON: FORGOT].
|
|
Extension "cell_type_demonstration.py" PENDING |
|
Thanks for the status update, @HarshKhilawala. It's no problem at all that it's been sitting; it's an addition worth finishing. To make it easy to pick back up, here's a concrete sketch of the two pending backends. Handily, there's existing code to lean on for each, so neither needs writing from scratch. NEURON There's an existing NMODL implementation of this exact model on ModelDB: entry 226422 (MAT_model.mod, defaults set for regular spiking), contributed by Shailesh Appukuttan, with a GitHub mirror at ModelDBRepository/226422. You can adapt that .mod into pyNN/neuron/nmodl/ rather than deriving it from scratch, then add a cell class alongside Brian2 (pyNN/brian2/standardmodels/cells.py) is equation-based, which suits this model well. There's no existing implementation in Brian2, but the official The two things to change from that adaptive_threshold example are: 9&0 use two threshold components (vt1/vt2) rather than one, and (2) the membrane potential is not reset on a spike. So the reset block should increment vt1/vt2 and leave v alone, and I'd let v keep integrating through the refractory period (rely on One small thing worth fixing in the NEST version too: omega (like NEST's V_th) is an absolute membrane voltage, default around −51 mV, whereas the current default treats it as a value relative to rest. Setting the v_thresh default to the absolute value (~ −51 mV, consistent with how v_thresh is used in the other standard cells) would fix it. A quick spike-count check against a constant current across the three backends is a good way to confirm they agree, and that would pair naturally with the cell_type_demonstration.py extension. No rush on any of this. I'm happy to review whenever you next get a chance to pick it up. |
Add Kobayashi model to PyNN
Kobayashi, R., Tsubo, Y., & Shinomoto, S. (2009). Made-to-order spiking neuron model equipped with a multi-timescale adaptive threshold. Frontiers in computational neuroscience, 3, 9. Link