Source code for hippounit.capabilities.cap_ReceivesCurrentStimuli_ProvidesResponse

import sciunit
from sciunit import Capability


[docs]class ReceivesSquareCurrent_ProvidesResponse(sciunit.Capability): """Indicates that current can be injected into the model as a square pulse. """
[docs] def inject_current(self, amp, delay, dur, section_stim, loc_stim, section_rec, loc_rec): """ This function must be implemented by the model. Must return numpy arrays containing the time and voltage values recorded at the location described by section_rec and dend_loc_rec Parameters ---------- amp : float amplitude of the current injection (mV) delay : float delay before the current injection (ms) duration : float duration of the current pulse section_stim : string the name of the stimulated section (eg. "soma") loc_stim : float location on the stimulated section (eg. 0.5) section_rec : string the name of the section whose response is recorded (eg. "soma") loc_rec : float location on the section from where the response is recorded (eg. 0.5) """ raise NotImplementedError()
[docs] def get_vm(self, amp, delay, dur, section_stim, loc_stim, section_rec, loc_rec): """ This function is called by the test and calls the inject_current() function. """ t, v = self.inject_current(amp, delay, dur, section_stim, loc_stim, section_rec, loc_rec) return t, v