Beispiel #1
0
 def test_compare_w_neurolib_native_model(self):
     """
     Compare with neurolib's native Hopf model.
     """
     # run this model - default is diffusive coupling
     hopf_multi = HopfNetwork(self.SC, self.DELAYS, seed=SEED)
     multi_result = hopf_multi.run(DURATION,
                                   DT,
                                   ZeroInput().as_array(DURATION, DT),
                                   backend="numba")
     # run neurolib's model
     hopf_neurolib = HopfModel(Cmat=self.SC, Dmat=self.DELAYS, seed=SEED)
     hopf_neurolib.params["duration"] = DURATION
     hopf_neurolib.params["dt"] = DT
     # there is no "global coupling" parameter in MultiModel
     hopf_neurolib.params["K_gl"] = 1.0
     # delays <-> length matrix
     hopf_neurolib.params["signalV"] = 1.0
     hopf_neurolib.params["coupling"] = "diffusive"
     hopf_neurolib.params["sigma_ou"] = 0.0
     hopf_neurolib.params[
         "xs_init"] = hopf_multi.initial_state[::2][:, np.newaxis]
     hopf_neurolib.params["ys_init"] = hopf_multi.initial_state[
         1::2][:, np.newaxis]
     hopf_neurolib.run()
     for var in NEUROLIB_VARIABLES_TO_TEST:
         corr_mat = np.corrcoef(hopf_neurolib[var],
                                multi_result[var].values.T)
         self.assertTrue(np.greater(corr_mat, CORR_THRESHOLD).all())