from neuron import h import numpy Vector = h.Vector # turn a NEURON Vector into a numpy array def vec2np (vec): pl = vec.to_python() pl = numpy.array(pl) return pl # return Vector from python list or numpy array def py2vec (pl): vec = Vector() vec.from_python(pl) return vec # create a random , uniform vector def RandUnifVec (rdmS,sz,amp): vrd = Vector(sz) rdm = h.Random() rdm.ACG(rdmS) rdm.uniform(-amp,amp) vrd = Vector(sz) vrd.setrand(rdm) return vrd # create a random, normal vector. rdmS=seed, sz=size of vector, mu=average, std=standard-dev def RandNormVec (rdmS,sz,mu,std): vrd = Vector(sz) rdm = h.Random() rdm.ACG(rdmS) rdm.normal(mu,std**2) # takes mean and variance (std**2) vrd = Vector(sz) vrd.setrand(rdm) return vrd