Hi Priyanka,

 

You should not need to go through the Dictionary, that causes much overhead. Since you are at the C++ level, you can use ArchivingNode interface functions directly. `get_spiketime_ms()` would be the right method for that. I see that it it protected, although I cannot see why, it could be part of the public interface of the class. You could create a PR to move it to the public interface. On the other hand, you have the `get_history()` method in the public interface. It does more than just getting the last spike time, but may be useful as well. For details, see Morrison et al, 2007.

 

Best,

Hans Ekkehard

 

-- 

 

Prof. Dr. Hans Ekkehard Plesser

 

Department of Data Science

Faculty of Science and Technology

Norwegian University of Life Sciences

PO Box 5003, 1432 Aas, Norway

 

Phone +47 6723 1560

Email hans.ekkehard.plesser@nmbu.no

Home http://arken.nmbu.no/~plesser

 

 

 

From: Priyanka Rao <prao2@uw.edu>
Date: Wednesday, 7 February 2024 at 02:36
To: NEST User Mailing List <users@nest-simulator.org>
Subject: [NEST Users] Re: STDP synapse t_spike and t_lastspike clarification

Some people who received this message don't often get email from prao2@uw.edu. Learn why this is important

Thank you! 

 

I was wondering if there is an existing way to get the last spike of the postsynaptic neuron? I am trying the below and it isn't working as expected:

  Node* target = get_target( t );
  ArchivingNode* archivingTarget = dynamic_cast<ArchivingNode*>(target);
  DictionaryDatum status( new Dictionary );
  archivingTarget->get_status(status);  
  double post_synaptic_last_spike = ( *status )[ names::t_spike ];

 

Thank you,

Priyanka Rao 

 

On Sun, Jan 7, 2024 at 1:44 PM Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.no> wrote:

 

Dear Priyanka,

 

You are right, t_spike is the time of the spike passing through the synapse now, t_lastspike the time of the previous spike passing through the synapse. These are the times at which spikes were emitted by the presynaptic neuron.

 

For details on the algorithm, see the following paper, especially the appendix:

 

Morrison, A., A. Aertsen, and M. Diesmann. “Spike-Time Dependent Plasticity in Balanced Recurrent Networks.” Neural Computation 19 (2007): 1437–67.

 

For more complex third-factor learning rules, you may want to look at

 

· Stapmanns J, Hahne J, Helias M, Bolten M, Diesmann M and Dahmen D (2021) Event-Based Update of Synapses in Voltage-Based Learning Rules.  Frontiers Media SA Frontiers in Neuroinformatics. 15:609147 doi

Best,

Hans Ekkehard

 

 

 

-- 

 

Prof. Dr. Hans Ekkehard Plesser

 

Department of Data Science

Faculty of Science and Technology

Norwegian University of Life Sciences

PO Box 5003, 1432 Aas, Norway

 

Phone +47 6723 1560

Email hans.ekkehard.plesser@nmbu.no

Home http://arken.nmbu.no/~plesser

 

 

 

From: prao2@uw.edu <prao2@uw.edu>
Date: Friday, 5 January 2024 at 19:58
To: users@nest-simulator.org <users@nest-simulator.org>
Subject: [NEST Users] STDP synapse t_spike and t_lastspike clarification

[Some people who received this message don't often get email from prao2@uw.edu. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]

Dear all,

I am trying to develop a new synapse model that uses the activity of the postsynaptic neuron. I'm looking at the STDP synapse to understand how it gets the target neuron history, and I wanted to clarify: are t_spike and t_lastspike the time stamps for the last spike of the presynaptic or postsynaptic neuron? I am looking at the send method of stdp_synapse.h (https://github.com/nest/nest-simulator/blob/91a02ed98017224deabe25e8e08bcfdada51ff65/models/stdp_synapse.h)

Thanks in advance!

Best,
Priyanka Rao
_______________________________________________
NEST Users mailing list -- users@nest-simulator.org
To unsubscribe send an email to users-leave@nest-simulator.org

_______________________________________________
NEST Users mailing list -- users@nest-simulator.org
To unsubscribe send an email to users-leave@nest-simulator.org