Beispiel #1
0
    def __init__(self,
                 source,
                 target,
                 nsyn,
                 **kwargs):

        self.source = source
        self.target = target
        self.nsyn = nsyn
        self.weights = kwargs.pop('weights', None)
        self.probs = kwargs.pop('probs', None)
        self.delay = float(kwargs.pop('delay', 0))
        self.metadata = kwargs

        if self.weights != None or self.probs != None:
            assert len(self.weights) == len(self.probs)
        else:
            self.weights, self.probs = util.descretize(kwargs.get('distribution', None),
                                                       kwargs.get('N', None),
                                                       scale=kwargs.get('scale', None))
        assert np.abs(self.probs).sum() == 1

        # Defined at runtime:
        self.delay_queue = None
        self.delay_ind = None
        self.simulation = None
Beispiel #2
0
def example(show=False, save=False):

    # Settings:
    t0 = 0.
    dt = .0001
    dv = .0001
    tf = .1
    update_method = 'gmres'
    tol = 1e-14

    # Run simulation:
    mu = .02
    sigma = 0.004
    b = np.inf
    a = 0
    tau_m_dist = sps.truncnorm(float(a - mu) / sigma,
                               float(b - mu) / sigma,
                               loc=mu,
                               scale=sigma)

    total = 0
    vals, probs = descretize(tau_m_dist, 100)
    for ii, (val, prob) in enumerate(zip(vals, probs)):
        print ii
        network = get_network(dv=dv,
                              update_method=update_method,
                              tol=tol,
                              tau_m=val)
        network.run(dt=dt, tf=tf, t0=t0)
        i1 = network.population_list[1]
        total += i1.firing_rate_record[-1] * prob

    print total

    # # Visualize:
    # i1 = network.population_list[1]
    #
    # fig, ax = plt.subplots(figsize=(3,3))
    #
    # i1.plot(ax=ax)
    # plt.xlim([0,tf])
    # plt.ylim(ymin=0)
    # plt.xlabel('Time (s)')
    # plt.ylabel('Firing Rate (Hz)')
    # fig.tight_layout()
    # if save == True: plt.savefig('./singlepop.png')
    #
    #
    #
    # if show == True:                        # pragma: no cover
    #     fig = plt.gcf()                     # pragma: no cover
    #     window = fig.canvas.manager.window  # pragma: no cover
    #     window.raise_()                     # pragma: no cover
    #     plotting.show()

    return i1.t_record, i1.firing_rate_record
def example(show=False, save=False):

    # Settings:
    t0 = 0.0
    dt = 0.0001
    dv = 0.0001
    tf = 0.1
    update_method = "gmres"
    tol = 1e-14

    # Run simulation:
    mu = 0.02
    sigma = 0.004
    b = np.inf
    a = 0
    tau_m_dist = sps.truncnorm(float(a - mu) / sigma, float(b - mu) / sigma, loc=mu, scale=sigma)

    total = 0
    vals, probs = descretize(tau_m_dist, 100)
    for ii, (val, prob) in enumerate(zip(vals, probs)):
        print ii
        network = get_network(dv=dv, update_method=update_method, tol=tol, tau_m=val)
        network.run(dt=dt, tf=tf, t0=t0)
        i1 = network.population_list[1]
        total += i1.firing_rate_record[-1] * prob

    print total

    # # Visualize:
    # i1 = network.population_list[1]
    #
    # fig, ax = plt.subplots(figsize=(3,3))
    #
    # i1.plot(ax=ax)
    # plt.xlim([0,tf])
    # plt.ylim(ymin=0)
    # plt.xlabel('Time (s)')
    # plt.ylabel('Firing Rate (Hz)')
    # fig.tight_layout()
    # if save == True: plt.savefig('./singlepop.png')
    #
    #
    #
    # if show == True:                        # pragma: no cover
    #     fig = plt.gcf()                     # pragma: no cover
    #     window = fig.canvas.manager.window  # pragma: no cover
    #     window.raise_()                     # pragma: no cover
    #     plotting.show()

    return i1.t_record, i1.firing_rate_record
Beispiel #4
0
    def __init__(self, source, target, nsyn, **kwargs):

        self.source = source
        self.target = target
        self.nsyn = nsyn
        self.weights = kwargs.pop('weights', None)
        self.probs = kwargs.pop('probs', None)
        self.delay = float(kwargs.pop('delay', 0))
        self.metadata = kwargs

        if self.weights != None or self.probs != None:
            assert len(self.weights) == len(self.probs)
        else:
            self.weights, self.probs = util.descretize(
                kwargs.get('distribution', None),
                kwargs.get('N', None),
                scale=kwargs.get('scale', None))
        assert np.abs(self.probs).sum() == 1

        # Defined at runtime:
        self.delay_queue = None
        self.delay_ind = None
        self.simulation = None