jonescompneurolab / hnn-core

Simulation and optimization of neural circuits for MEG/EEG source estimates
https://jonescompneurolab.github.io/hnn-core/
BSD 3-Clause "New" or "Revised" License
55 stars 52 forks source link

Moving towards tests independent of legacy GUI output #244

Open cjayb opened 3 years ago

cjayb commented 3 years ago

This is a follow-up to #221 and related to #233, edited as we move towards a PR.

In order to write good tests for the new external drives API, we should decide on gold standard datasets. The current implementation uses HNN GUI output based a params-file that generates a fixed sequence of _ArtificialCells (and thus corresponding gids; the _legacy_mode flag in Network is needed to match this behaviour).

Some questions to answer here, in no particular order:

jasmainak commented 3 years ago

Or rather create several test datasets based on realistic use cases

I think this would be great to have!! Probably a collaboration with @rythorpe ?

Do we need more cases before we are satisfied that the new API can replace the old?

I would let folks use it for a bit. Would be great if we can use it in a class for teaching or something and see what issues people face. One thing we need to fix definitely is #239 before even talking about any replacements ;-) We can change the default to use the new API but still leave the option for the old behavior for a couple of months at least.

Would it be reasonable for each drive to have a unique seed

I like this option better because the order of adding the drives will not matter then ...

rythorpe commented 3 years ago

I like the idea of having multiple test datasets. Here's a list of possible ground-truth test datasets based off of drives/biases explored in the tutorials that we could create. Obviously, we don't need to test every combination of drive types so I've marked the examples I think we should use as the minimal number of necessary test datasets with *. Feel free to modify or add to this list.

  1. evoked*
  2. poisson (gamma via random excitation and intrinsic network E/I interactions)
  3. poisson + tonic bias (gamma modulated by tonic bias)*
  4. single bursty (gamma via rhythmic drive)
  5. single bursty (alpha via prox. rhythmic drive)
  6. multiple bursty (beta via coincident prox. and dist. rhythmic drive)*
jasmainak commented 1 year ago

To what extent is this issue still relevant? Modify the issue title and move to 0.4 if still relevant?

rythorpe commented 1 year ago

Maybe we can consolidate all of these seed + legacy mode related issues under one issue?

jasmainak commented 1 year ago

Agree!