From 4aaa8cda38810f25464518a86f994fc2d9071f8d Mon Sep 17 00:00:00 2001 From: Georg Reich Date: Mon, 11 Mar 2024 17:40:36 +0100 Subject: [PATCH] remove unused `self.start_t`, fix BOLD append for multimodel --- neurolib/models/model.py | 2 +- neurolib/models/multimodel/model.py | 12 +----------- tests/test_models.py | 3 --- 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/neurolib/models/model.py b/neurolib/models/model.py index e50b0764..464ce5df 100644 --- a/neurolib/models/model.py +++ b/neurolib/models/model.py @@ -70,7 +70,7 @@ def get_bold_variable(self, variables): default_index = self.state_vars.index(self.default_output) return variables[default_index] - def simulateBold(self, bold_variable, append=False): + def simulateBold(self, bold_variable, append=True): """Gets the default output of the model and simulates the BOLD model. Adds the simulated BOLD signal to outputs. """ diff --git a/neurolib/models/multimodel/model.py b/neurolib/models/multimodel/model.py index 88231c7c..d8948b53 100644 --- a/neurolib/models/multimodel/model.py +++ b/neurolib/models/multimodel/model.py @@ -59,8 +59,6 @@ def __init__(self, model_instance): self.boldInitialized = False self.params["sampling_dt"] = self.params["sampling_dt"] or self.params["dt"] - self.start_t = 0.0 - logging.info(f"{self.name}: Model initialized.") def _set_model_params(self): @@ -201,13 +199,11 @@ def integrate(self, append_outputs=False, simulate_bold=False, noise_input=None) # bold simulation after integration if simulate_bold and self.boldInitialized: - self.simulateBold(result[self.default_output].values.T, append=append_outputs) + self.simulateBold(result[self.default_output].values.T, append=True) def setInitialValuesToLastState(self): if not hasattr(self, "t"): raise ValueError("You tried using continue_run=True on the first run.") - # set start t for next run for the last value now - self.start_t = self.t[-1] new_initial_state = np.zeros((self.model_instance.initial_state.shape[0], self.maxDelay + 1)) total_vars_counter = 0 for node_idx, node_vars in enumerate(self.state_vars): @@ -217,12 +213,6 @@ def setInitialValuesToLastState(self): # set initial state self.model_instance.initial_state = new_initial_state - def clearModelState(self): - # set start_t to zero again - self.start_t = 0.0 - # `clearModelState` as per base class - super().clearModelState() - def integrateChunkwise(self, chunksize, bold, append_outputs): raise NotImplementedError("for now...") diff --git a/tests/test_models.py b/tests/test_models.py index ec765172..850564cc 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -260,7 +260,6 @@ def test_init(self): self.assertEqual(model.model_instance, fhn_net) self.assertTrue(isinstance(model.params, star_dotdict)) self.assertTrue(model.integration is None) - self.assertEqual(model.start_t, 0.0) self.assertEqual(model.num_noise_variables, 4) self.assertEqual(model.num_state_variables, 4) max_delay = int(DELAY / model.params["dt"]) @@ -352,7 +351,6 @@ def test_continue_run_node(self): self.assertAlmostEqual(model.t[0] - last_t, model.params["dt"] / 1000.0) # assert start_t is reset to 0, when continue_run=False model.run() - self.assertEqual(model.start_t, 0.0) def test_continue_run_network(self): DELAY = 13.0 @@ -371,7 +369,6 @@ def test_continue_run_network(self): self.assertAlmostEqual(model.t[0] - last_t, model.params["dt"] / 1000.0) # assert start_t is reset to 0, when continue_run=False model.run() - self.assertEqual(model.start_t, 0.0) if __name__ == "__main__":