Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new DCM structure #314

Merged
merged 32 commits into from
Dec 5, 2023
Merged

new DCM structure #314

merged 32 commits into from
Dec 5, 2023

Conversation

david-hofmann
Copy link
Member

@david-hofmann david-hofmann commented Dec 1, 2023

New:

  • integration with the system_from_graph framework
  • parameters that should be fitted to data can now be flagged with tunable
  • states that will be used by an observer model (such as the bold signal) need to be flagged as output with a string label such as hemodynamic_observer
  • removed the necessity to combine neural mass model with hemodynamic response into a superblock.
  • generalized codebase of spectralDCM such that blocks with arbitrary number of states can be used (before it was limited to the combination of linear neural mass + balloon model)
  • fixed the use of parameter scoping in some of the neural mass blocks

agchesebro and others added 30 commits September 25, 2023 14:44
Added for convolution option
Same format as the four half cosine model
Cleaning up to prepare for more fMRI simulations
DO NOT PR THIS BRANCH! It's very hacky at the moment to get things running quickly. It shouldn't be included until we have some in-depth conversations about how to combine hemodynamic observer blocks with neural mass blocks.
Added for convolution option
Same format as the four half cosine model
Cleaning up to prepare for more fMRI simulations
DO NOT PR THIS BRANCH! It's very hacky at the moment to get things running quickly. It shouldn't be included until we have some in-depth conversations about how to combine hemodynamic observer blocks with neural mass blocks.
Just committing so that I have a backup as I start messing with some other things - this is still NOT ready for merging so needs to remain quarantined.

For reference: This includes some modular implementations to extend the fitting procedures to blocks beyond LinearNeuralMass. As it is, there's hard-coded state number issues with the old implementation, and hierarchy issues with the `system_from_graph` implementation. So we'll need to talk through some design choices after the deadline is met for other stuff.
…ted if a float is passed. If a graph weight is a symbolic expression use that directly instead.
…ad of adding an @parameters in progress_scope, otherwise scoping is not working properly
… created within blox is automatically tunable. Note that weight parameters in comparison are currently not tunable by default
…se that are non-tunable which are also needed when computing the jacobian
…h with the ordering in the balloon model, otherwise we run into issues when computing the gradient
…. Gradient of bold signal is correct, jacobian of hemodynamic response is erroneous
…mic_observers to have the correct indices. However, there is still a very subtle deviation of the results with previous version. Free Energy is 709 instead of 704. Need to figure where that comes from. Should be the last issue!
… instance in Striatum and other subcortical blox.
… instance in Striatum and other subcortical blox. And in compileparameterlist I added an Int alongside the Float64 since some blox pass integers
…meters is wrong, the correct use is to call compileparameterlist which will then produce symbolics if numbers are passed or directly use the symbol if that is passed instead.
@david-hofmann david-hofmann merged commit f1fe424 into master Dec 5, 2023
1 check passed
@david-hofmann david-hofmann deleted the bold-extensions branch December 5, 2023 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants