I have a stream of spikes delivered to the cells in one due population and one crucial parameter to be modified is the level of randomness i.e.the Netstim.noise variable.
For me it is clear, and according to the algorithm, that if Netstim.noise=0 all my target cells receive spikes at t=n*Netstim.interval. with n an integer.
In the other hand, if Netstim.noise=1 then each of these cells receive individual spike-streams with intervals following a poissonian negative exponential distribution.
But what is no clear for me is what happen with intermediate values I mean, noise = (0,1) -noise within to this OPEN interval-, since in this case each spike==event is delivered at intervals:
invl = (1. - noise)*mean + noise*mean*erand()
and erand being.
Code: Select all
FUNCTION erand() {
VERBATIM
if (_p_donotuse) {
/*
:Supports separate independent but reproducible streams for
: each instance. However, the corresponding hoc Random
: distribution MUST be set to Random.negexp(1)
*/
_lerand = nrn_random_pick(_p_donotuse);
}else{
/* only can be used in main thread */
if (_nt != nrn_threads) {
hoc_execerror("multithread random in NetStim"," only via hoc Random");
}
ENDVERBATIM
: the old standby. Cannot use if reproducible parallel sim
: independent of nhost or which host this instance is on
: is desired, since each instance on this cpu draws from
: the same stream
erand = exprand(1)
VERBATIM
}
ENDVERBATIM
}
Does it mean that if for instance Netstim.noise=0.1 10% of the total number of spikes will be poisson-like distributed, or are they (10% of these spikes) just randomly distributed using an random UNIFORM generator, without being poissonian?
Or does it mean that indeed the 0.1 i.e the 10% of the total number of spikes are poisson-like distributed starting to count the interval from the previously delivered spike?
Could you please explain a little bit in detail how do you handle with this parameter?
Thanks a lot in advance,
Oscar Javier