class TestSynfirePossonIfCurrExpParameter(BaseTestCase):
    """
    tests the printing of get gsyn given a simulation
    """
    def test_synfire_posson_if_curr_exp_parameter(self):
        synfire_run.do_run(n_neurons, neurons_per_core=neurons_per_core,
                           run_times=run_times, input_class=input_class,
                           start_time=start_time, duration=duration, rate=rate,
                           extract_between_runs=extract_between_runs,
                           set_between_runs=set_between_runs)
        spikes = synfire_run.get_output_pop_spikes()
        # Check spikes increase in second half by at least a factor of ten
        hist = numpy.histogram(spikes[:, 1], bins=[0, 5000, 10000])
        self.assertLess(hist[0][0] * 10, hist[0][1])


if __name__ == '__main__':
    synfire_run.do_run(n_neurons, neurons_per_core=neurons_per_core,
                       run_times=run_times, input_class=input_class,
                       start_time=start_time, duration=duration, rate=rate,
                       extract_between_runs=extract_between_runs,
                       set_between_runs=set_between_runs)
    gsyn = synfire_run.get_output_pop_gsyn()
    v = synfire_run.get_output_pop_voltage()
    spikes = synfire_run.get_output_pop_spikes()
    hist = numpy.histogram(spikes[:, 1], bins=[0, 5000, 10000])
    print hist[0][0], hist[0][1]
    plot_utils.plot_spikes(spikes)
    plot_utils.heat_plot(v)
    plot_utils.heat_plot(gsyn)
Пример #2
0
n_neurons = 200  # number of neurons in each population
neurons_per_core = n_neurons / 2
runtime = 5000
synfire_run = SynfireRunner()


class SynfireIfCurrExp(BaseTestCase):
    def test_run(self):
        synfire_run.do_run(n_neurons,
                           neurons_per_core=neurons_per_core,
                           run_times=[runtime])
        spikes = synfire_run.get_output_pop_spikes_numpy()
        spike_checker.synfire_spike_checker(spikes, n_neurons)
        self.assertEquals(263, len(spikes))
        synfire_run.get_output_pop_gsyn_exc_numpy()


if __name__ == '__main__':
    results = synfire_run.do_run(n_neurons,
                                 neurons_per_core=neurons_per_core,
                                 run_times=[runtime])
    spikes = synfire_run.get_output_pop_spikes_numpy()
    v = synfire_run.get_output_pop_voltage_numpy()
    gsyn = synfire_run.get_output_pop_gsyn_exc_numpy()

    print(len(spikes))
    plot_utils.plot_spikes(spikes)
    plot_utils.heat_plot(v, title="v")
    plot_utils.heat_plot(gsyn, title="gsyn")
synfire_run = TestRun()


class Synfire2RunExtractionIfCurrExpHigher(BaseTestCase):
    def test_run(self):
        synfire_run.do_run(nNeurons, spike_times=spike_times,
                           run_times=run_times, reset=reset)
        spikes = synfire_run.get_output_pop_spikes()

        self.assertEquals(53, len(spikes[0]))
        self.assertEquals(261, len(spikes[1]))
        spike_checker.synfire_spike_checker(spikes[0], nNeurons)
        spike_checker.synfire_multiple_lines_spike_checker(spikes[1], nNeurons,
                                                           2)


if __name__ == '__main__':
    synfire_run.do_run(nNeurons, spike_times=spike_times, run_times=run_times,
                       reset=reset)
    gsyn = synfire_run.get_output_pop_gsyn()
    v = synfire_run.get_output_pop_voltage()
    spikes = synfire_run.get_output_pop_spikes()

    print len(spikes[0])
    print len(spikes[1])
    plot_utils.plot_spikes(spikes[0], spikes[1])
    plot_utils.heat_plot(v[0], title="v1")
    plot_utils.heat_plot(gsyn[0], title="gysn1")
    plot_utils.heat_plot(v[1], title="v2")
    plot_utils.heat_plot(gsyn[1], title="gysn2")
                                    synapse_type=synapse_type))

    populations[1].record("v")
    populations[1].record("spikes")

    p.run(100)

    neo = populations[1].get_data(["v", "spikes"])

    v = neo_convertor.convert_data(neo, name="v")
    spikes = neo_convertor.convert_spikes(neo)

    p.end()

    return (v, spikes)


class MwhSynfireWithDifferentMachineTimeSteps(BaseTestCase):

    def test_run(self):
        nNeurons = 3  # number of neurons in each population
        (v, spikes) = do_run(nNeurons)
        self.assertEqual(51, len(spikes))


if __name__ == '__main__':
    nNeurons = 3  # number of neurons in each population
    (v, spikes) = do_run(nNeurons)
    plot_utils.plot_spikes(spikes)
    plot_utils.heat_plot(v, title="v")
Пример #5
0
        gsyn_inh_0_0 = neo_convertor.convert_data(neos[0], "gsyn_inh", 0)
        gsyn_inh_1_0 = neo_convertor.convert_data(neos[1], "gsyn_inh", 0)
        gsyn_inh_1_1 = neo_convertor.convert_data(neos[1], "gsyn_inh", 1)
        self.assertEquals(nNeurons * runtimes[0], len(gsyn_inh_0_0))
        self.assertEquals(nNeurons * runtimes[0], len(gsyn_inh_1_0))
        self.assertEquals(nNeurons * runtimes[1], len(gsyn_inh_1_1))


if __name__ == '__main__':
    synfire_run.do_run(nNeurons,
                       spike_times=spike_times,
                       reset=reset,
                       run_times=runtimes,
                       neurons_per_core=neurons_per_core,
                       get_all=True)
    neos = synfire_run.get_output_pop_all_list()
    spikes = [1, 1]
    spikes[0] = neo_convertor.convert_spikes(neos[1], 0)
    spikes[1] = neo_convertor.convert_spikes(neos[1], 1)
    v_1_0 = neo_convertor.convert_data(neos[1], "v", 0)
    v_1_1 = neo_convertor.convert_data(neos[1], "v", 1)
    gsyn_exc_1_0 = neo_convertor.convert_data(neos[1], "gsyn_exc", 0)
    gsyn_exc_1_1 = neo_convertor.convert_data(neos[1], "gsyn_exc", 1)
    print(len(spikes[0]))
    print(len(spikes[1]))
    plot_utils.plot_spikes(spikes)
    plot_utils.heat_plot(v_1_0, title="v1")
    plot_utils.heat_plot(gsyn_exc_1_0, title="gysn1")
    plot_utils.heat_plot(v_1_1, title="v2")
    plot_utils.heat_plot(gsyn_exc_1_1, title="gysn2")
Пример #6
0
    spikes2 = populations[1].spinnaker_get_data("spikes")

    p.end()

    return (v1, gsyn1, v2, gsyn2, spikes1, spikes2)


class ATest(BaseTestCase):
    def test_run(self):
        nNeurons = 200  # number of neurons in each population
        (v1, gsyn1, v2, gsyn2, spikes1, spikes2) = do_run(nNeurons)

        self.assertEquals(20, len(spikes1))
        self.assertEquals(20, len(spikes2))
        self.assertTrue(np.array_equal(spikes1, spikes2))


if __name__ == '__main__':
    nNeurons = 200  # number of neurons in each population
    (v1, gsyn1, v2, gsyn2, spikes1, spikes2) = do_run(nNeurons)
    print(len(spikes1))
    print(spikes1)
    print(len(spikes2))
    print(spikes2)
    plot_utils.plot_spikes([spikes1, spikes2])
    print(np.array_equal(spikes1, spikes2))
    plot_utils.heat_plot(v1, title="v1")
    plot_utils.heat_plot(v2, title="v2")
    plot_utils.heat_plot(gsyn1, title="gysn1")
    plot_utils.heat_plot(gsyn2, title="gysn2")