Network dynamics visualizer?

I don’t think we want to build things like this into Brian directly, in order to avoid additional dependencies, and “feature creep” in general. But something like this could be a great addition to brian2tools, I think: Plotting tools — brian2tools documentation

Thanks, that should be useful for others as well.

This is a bit tricky. The basic model wouldn’t be too difficult, e.g. something along the lines of this:

eqs = '''
active : boolean  # is this neuron active?
neighbor_activity : 1  # average activity of neighbors
'''
neurons = NeuronGroup(N, eqs,
                      threshold='total_input > phi', reset='active = True')
syn = Synapses(neurons, neurons,
               'neighbor_activity_post = int(active_pre)/N_incoming : 1 (summed)')
syn.connect(...)  # wire up network

This would update the state of neurons at every time step, though. Things will get a bit tricky to do things like “examine each unactivated node u randomly” and “stop when nothing more changes”. This would go outside the standard way that neurons are modeled in Brian. You’d have to through a bit of “manual code” in to make it work exactly that way.