diff --git a/multiarea_model/analysis.py b/multiarea_model/analysis.py index faec444d6d83db3bc4258c0ae4deaec04a003813..74eb036f2ee7215ec83c3d63b3ed3d11f17d5cc8 100644 --- a/multiarea_model/analysis.py +++ b/multiarea_model/analysis.py @@ -23,6 +23,7 @@ Sacha van Albada from . import analysis_helpers as ah import glob import inspect +from itertools import chain, product import json import matplotlib.pyplot as plt import numpy as np @@ -279,11 +280,13 @@ class Analysis: iterator = ah.model_iter(mode='single', areas=params['areas'], pops=params['pops']) - + elements = [('histogram',), ('stats-mu',), ('stats-sigma',)] + iter_list = [tuple(chain.from_iterable(prod)) for + prod in product(iterator, elements)] # Check if population rates have been stored with the same parameters self.pop_rate_dists = ah._check_stored_data(os.path.join(self.output_dir, 'pop_rate_dists'), - copy(iterator), params) + iter_list, params) if self.pop_rate_dists is None: print("Computing population dists") diff --git a/tests/test_analysis.py b/tests/test_analysis.py index fdb3f952a1f7285be29f34a12d5dfd7d36f63c33..878329a100b3b9f77daa9895eeaecce52ad71c12 100644 --- a/tests/test_analysis.py +++ b/tests/test_analysis.py @@ -1,5 +1,7 @@ import os +import sys from multiarea_model import MultiAreaModel +from io import StringIO """ Test analysis class: @@ -31,3 +33,15 @@ def test_analysis(): M.analysis.create_pop_LvR(t_min=100.) M.analysis.save() + out = StringIO() + sys.stdout = out + M.analysis.create_pop_rates(t_min=100.) + M.analysis.create_pop_rate_dists(t_min=100.) + M.analysis.create_synchrony(t_min=100.) + M.analysis.create_rate_time_series(t_min=100.) + M.analysis.create_synaptic_input(t_min=100.) + M.analysis.create_pop_cv_isi(t_min=100.) + M.analysis.create_pop_LvR(t_min=100.) + sys.stdout = sys.__stdout__ + val = out.getvalue() + assert(val.count("Loading data from") == 9) diff --git a/tests/test_network_scaling.py b/tests/test_network_scaling.py index ac647c458f84f1d504b822ce53076493e6974a7b..ecb1a52bbdc0a2c317b4221fff8e815a17de8ea8 100644 --- a/tests/test_network_scaling.py +++ b/tests/test_network_scaling.py @@ -25,12 +25,12 @@ def test_network_scaling(): M0.area_list, M0.structure) - with open('fullscale_rates.json', 'w') as f: + with open('mf_rates.json', 'w') as f: json.dump(d, f) network_params = {'N_scaling': .1, 'K_scaling': .1, - 'fullscale_rates': 'fullscale_rates.json'} + 'fullscale_rates': 'mf_rates.json'} theory_params = {'initial_rates': r0[:, -1]} M = MultiAreaModel(network_params, theory=True, theory_spec=theory_params)