vbi 0.1.3__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vbi-0.2.1/CHANGELOG.md +112 -0
- vbi-0.2.1/Dockerfile +51 -0
- {vbi-0.1.3/vbi.egg-info → vbi-0.2.1}/PKG-INFO +30 -11
- {vbi-0.1.3 → vbi-0.2.1}/README.md +28 -8
- {vbi-0.1.3 → vbi-0.2.1}/docs/conf.py +1 -1
- vbi-0.2.1/docs/examples/jansen_rit_sde_numba.ipynb +587 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/mpr_sde_cpp.ipynb +6 -1
- vbi-0.2.1/docs/examples/mpr_sde_numba.ipynb +1020 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/mpr_tvbk.ipynb +4 -1
- vbi-0.2.1/docs/examples/vep_sde_numba.ipynb +573 -0
- vbi-0.2.1/docs/examples/wilson_cowan_cupy.ipynb +457 -0
- vbi-0.2.1/docs/examples/wilson_cowan_sde_numba.ipynb +1004 -0
- vbi-0.2.1/docs/examples/ww_full_sde_cupy.ipynb +472 -0
- vbi-0.2.1/docs/examples/ww_full_sde_numba.ipynb +520 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/index.rst +13 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/models.rst +156 -13
- {vbi-0.1.3 → vbi-0.2.1}/pyproject.toml +9 -3
- {vbi-0.1.3 → vbi-0.2.1}/setup.py +23 -15
- {vbi-0.1.3 → vbi-0.2.1}/vbi/_version.py +1 -1
- {vbi-0.1.3 → vbi-0.2.1}/vbi/feature_extraction/features.json +4 -1
- {vbi-0.1.3 → vbi-0.2.1}/vbi/feature_extraction/features.py +10 -4
- {vbi-0.1.3 → vbi-0.2.1}/vbi/inference.py +50 -22
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/jr_sde.hpp +5 -6
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/jr_sde_wrap.cxx +28 -28
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/jansen_rit.py +2 -9
- vbi-0.2.1/vbi/models/cupy/bold.py +228 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cupy/jansen_rit.py +1 -1
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cupy/km.py +62 -34
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cupy/mpr.py +24 -4
- vbi-0.2.1/vbi/models/cupy/utils.py +345 -0
- vbi-0.2.1/vbi/models/cupy/wilson_cowan.py +317 -0
- vbi-0.2.1/vbi/models/cupy/ww.py +342 -0
- vbi-0.2.1/vbi/models/numba/__init__.py +4 -0
- vbi-0.2.1/vbi/models/numba/jansen_rit.py +532 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/numba/mpr.py +8 -0
- vbi-0.2.1/vbi/models/numba/vep.py +327 -0
- vbi-0.2.1/vbi/models/numba/wilson_cowan.py +443 -0
- vbi-0.2.1/vbi/models/numba/ww.py +564 -0
- {vbi-0.1.3 → vbi-0.2.1/vbi.egg-info}/PKG-INFO +30 -11
- {vbi-0.1.3 → vbi-0.2.1}/vbi.egg-info/SOURCES.txt +14 -1
- vbi-0.1.3/docs/examples/mpr_sde_numba.ipynb +0 -264
- vbi-0.1.3/vbi/models/cupy/bold.py +0 -111
- vbi-0.1.3/vbi/models/cupy/utils.py +0 -184
- vbi-0.1.3/vbi/models/numba/_ww_EI.py +0 -444
- vbi-0.1.3/vbi/tests/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/.github/workflows/docker-image.yml +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/.github/workflows/tests.yml +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/.gitignore +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/.readthedocs.yaml +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/CONTRIBUTING.md +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/LICENSE +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/MANIFEST.in +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/API.rst +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/Makefile +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/_static/Fig1.png +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/_static/custom.css +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/_static/vbi_flowchart.png +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/_static/vbi_log.png +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/.gitattributes +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/.ipynb_checkpoints/intro-checkpoint.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/__pycache__/helpers.cpython-310.pyc +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/data/centers.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/data/centres.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/data/cortical.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/data/tract_lengths.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/data/weights.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/data/weights1.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/data/weights_68.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/do_cpp.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/do_nb.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/ghb_sde_cupy.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/helpers.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/intro.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/intro_feature.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/jansen_rit_sde_cpp.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/jansen_rit_sde_cupy.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/mpr_sde_cupy.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/my_features.json +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/my_features.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/output/damp_oscillator_ts.jpeg +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/output/stat_vec.pt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/output/theta.pt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/output/vep/posterior.pkl +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/output/vep84/posterior.pkl +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/sbi-logs/NPE_C/2025-03-24T17_33_52.754987/events.out.tfevents.1742834032.ziaee.319710.0 +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/vep_sde.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/examples/ww_sde_torch_kong.ipynb +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/docs/requirements.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/setup.cfg +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_84/centers.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_84/centres.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_84/cortical.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_84/tract_lengths.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_84/weights.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_88/Aud_88.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_88/Bold.npz +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_88/Labels.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_88/Region_labels.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_88/tract_lengths.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/dataset/connectivity_88/weights.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/feature_extraction/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/feature_extraction/calc_features.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/feature_extraction/features_settings.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/feature_extraction/features_utils.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/feature_extraction/infodynamics.jar +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/feature_extraction/utility.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/__pycache__/mpr_sde.cpython-310.pyc +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/_do.cpython-310-x86_64-linux-gnu.so +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/_jr_sdde.cpython-310-x86_64-linux-gnu.so +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/_jr_sde.cpython-310-x86_64-linux-gnu.so +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/_km_sde.cpython-310-x86_64-linux-gnu.so +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/_mpr_sde.cpython-310-x86_64-linux-gnu.so +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/_vep.cpython-310-x86_64-linux-gnu.so +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/_wc_ode.cpython-310-x86_64-linux-gnu.so +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/bold.hpp +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/do.hpp +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/do.i +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/do.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/do_wrap.cxx +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/jr_sdde.hpp +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/jr_sdde.i +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/jr_sdde.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/jr_sdde_wrap.cxx +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/jr_sde.i +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/jr_sde.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/km_sde.hpp +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/km_sde.i +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/km_sde.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/km_sde_wrap.cxx +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/makefile +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/mpr_sde.hpp +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/mpr_sde.i +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/mpr_sde.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/mpr_sde_wrap.cxx +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/utility.hpp +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/vep.hpp +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/vep.i +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/vep.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/vep_wrap.cxx +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/wc_ode.hpp +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/wc_ode.i +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/wc_ode.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/_src/wc_ode_wrap.cxx +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/damp_oscillator.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/km.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/mpr.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/vep.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cpp/wc.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cupy/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cupy/ghb.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/cupy/mpr_modified_bold.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/numba/damp_oscillator.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/numba/ghb.py +0 -0
- {vbi-0.1.3/vbi/models/numba → vbi-0.2.1/vbi/models/pytorch}/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/default_parameters.npz +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/ROI_sim.mat +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/fc_test.csv +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/fc_train.csv +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/fc_vali.csv +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/fcd_test.mat +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/fcd_test_high_window.mat +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/fcd_test_low_window.mat +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/fcd_train.mat +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/fcd_vali.mat +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/myelin.csv +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/rsfc_gradient.csv +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/run_label_testset.mat +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/sc_test.csv +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/sc_train.csv +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/input/sc_vali.csv +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/data/obs_kong0.npz +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/pytorch/ww_sde_kong.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/tvbk/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/tvbk/tvbk_wrapper.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/models/tvbk/utils.py +0 -0
- {vbi-0.1.3/vbi/models/pytorch → vbi-0.2.1/vbi/papers}/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/papers/pavlides_pcb_2015/pavlides.py +0 -0
- {vbi-0.1.3/vbi/papers → vbi-0.2.1/vbi/tests}/__init__.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/tests/_test_mpr_nb.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/tests/test_features.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/tests/test_ghb_cupy.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/tests/test_mpr_cupy.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/tests/test_mpr_numba.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/tests/test_suite.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi/utils.py +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi.egg-info/dependency_links.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi.egg-info/requires.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi.egg-info/top_level.txt +0 -0
- {vbi-0.1.3 → vbi-0.2.1}/vbi_log.png +0 -0
vbi-0.2.1/CHANGELOG.md
ADDED
@@ -0,0 +1,112 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
+
|
8
|
+
## [Unreleased]
|
9
|
+
|
10
|
+
## [0.2] - 2025-08-28
|
11
|
+
|
12
|
+
### Added
|
13
|
+
- **New Models:**
|
14
|
+
- Implemented Wong-Wang model with Numba JIT compilation and simulation functionality
|
15
|
+
- Added Numba-based Jansen-Rit model with initial state setup and integration functionality
|
16
|
+
- Implemented Bold model with parameter management and BOLD step functionality
|
17
|
+
- Added Wilson-Cowan CuPy implementation and example notebook
|
18
|
+
- Added Wong-Wang full (EI) model with CuPy implementation
|
19
|
+
|
20
|
+
- **Feature Enhancements:**
|
21
|
+
- Added `__str__` method to JR_sde class for improved model parameter representation
|
22
|
+
- Added average parameter to `spectrum_moments` function for optional averaging of moments
|
23
|
+
- Enhanced `integrate` function to filter recorded data based on `t_cut`, with assertion for validity
|
24
|
+
- Added `dtype_convert` function and enhanced `prepare_vec_2d` for flexible input handling
|
25
|
+
- Added optional parameter 'k' to `fcd_stat` function for flexible window length calculation
|
26
|
+
- Added functions to check data location on CPU/GPU
|
27
|
+
- Enhanced parameter handling in KM_sde class
|
28
|
+
- Added SKIP_CPP environment variable to control C++ compilation during setup
|
29
|
+
- Added error handling for PCA transformation in `matrix_stat` function
|
30
|
+
- Allow customizable wavelet function in wavelet method (replaced ricker with morlet2)
|
31
|
+
- Added `allocate_memory` method in Bold class to accept dtype parameter
|
32
|
+
|
33
|
+
- **Documentation:**
|
34
|
+
- Updated installation instructions to include SKIP_CPP environment variable
|
35
|
+
- Added Colab links and enhanced example notebooks with additional markdown headers
|
36
|
+
- Updated installation instructions in README to include pip install options
|
37
|
+
- Added docstring for train method in Inference class with parameter descriptions
|
38
|
+
- Added new example directories for mpr_sde_cpp and wilson_cowan_cupy
|
39
|
+
- Enhanced Jansen-Rit model documentation and improved CSS styles
|
40
|
+
- Added custom CSS styles and updated documentation structure
|
41
|
+
- Updated VBI toolkit description and improved presentation
|
42
|
+
|
43
|
+
- **Infrastructure:**
|
44
|
+
- Added tvbk module integration with connectivity setup and MPR class implementation
|
45
|
+
- Added CONTRIBUTING.md for contribution guidelines
|
46
|
+
- Enhanced Docker support with NVIDIA CUDA base image and Python 3.10
|
47
|
+
- Added GitHub Actions workflow for publishing to PyPI
|
48
|
+
- Added Docker build badge and usage instructions
|
49
|
+
|
50
|
+
### Changed
|
51
|
+
- **Version Updates:**
|
52
|
+
- Updated project version from 0.1.3 to 0.2 in both `_version.py` and `pyproject.toml`
|
53
|
+
- Refactored DO_cpp class to DO
|
54
|
+
|
55
|
+
- **Code Improvements:**
|
56
|
+
- Refactored Numba models and removed unused files
|
57
|
+
- Improved code formatting and style in Inference class methods
|
58
|
+
- Enhanced parameter handling in JR_sde and MPR_sde classes
|
59
|
+
- Updated buffer size calculation and streamlined data recording in WC_sde class
|
60
|
+
- Renamed `cupy/wilsoncowan.py` to `cupy/wilson_cowan.py` for naming compatibility
|
61
|
+
|
62
|
+
- **Build System:**
|
63
|
+
- Updated MANIFEST.in and setup.py to include additional data files and C++ extensions
|
64
|
+
- Cleaned up pyproject.toml by removing commented sections
|
65
|
+
- Updated Docker workflow and improved build process
|
66
|
+
|
67
|
+
### Fixed
|
68
|
+
- Corrected weights array transposition in JR_sde class for proper data handling
|
69
|
+
- Removed unnecessary transpose operation on weights in MPR_sde class
|
70
|
+
- Updated noise_amp handling and added dependent parameter updates in MPR_sde class
|
71
|
+
- Restored dtype definition in MPR class initialization
|
72
|
+
- Updated import error messages to clarify C++ compilation or linking issues
|
73
|
+
- Extended r_period calculation and improved RV recording condition in MPR_sde class
|
74
|
+
- Fixed wavelet function imports and implementation
|
75
|
+
|
76
|
+
### Removed
|
77
|
+
- Removed tvbk_ext module and associated imports
|
78
|
+
- Removed pre-commit configuration
|
79
|
+
- Cleaned up deprecated test files and unnecessary dependencies
|
80
|
+
- Removed outdated publish workflow steps from GitHub Actions
|
81
|
+
|
82
|
+
## [0.1.3.3] - 2025-02-17
|
83
|
+
|
84
|
+
### Changed
|
85
|
+
- Updated package_data in setup.py to include Python files in vbi.models.cpp._src directory
|
86
|
+
|
87
|
+
## [0.1.3.2] - 2025-02-17
|
88
|
+
|
89
|
+
### Added
|
90
|
+
- Updated wavelet functions to allow None as default for customizable wavelet function
|
91
|
+
|
92
|
+
## [0.1.3.1] - 2025-02-17
|
93
|
+
|
94
|
+
### Added
|
95
|
+
- Imported models module in vbi package initialization
|
96
|
+
- Implemented Bold class for balloon model and integrated with MPR_sde class
|
97
|
+
|
98
|
+
### Changed
|
99
|
+
- Updated Python version in publish workflow to 3.10 for improved compatibility
|
100
|
+
|
101
|
+
## [0.1.3] - 2025-02-17
|
102
|
+
|
103
|
+
### Added
|
104
|
+
- Dynamic version retrieval implementation
|
105
|
+
- Enhanced documentation structure and API references
|
106
|
+
|
107
|
+
### Changed
|
108
|
+
- Bumped version to 0.1.3
|
109
|
+
|
110
|
+
---
|
111
|
+
|
112
|
+
**Note:** This changelog covers changes from version 0.1.3 to the current version 0.2. Earlier versions may have additional changes not documented here.
|
vbi-0.2.1/Dockerfile
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04
|
2
|
+
|
3
|
+
# Set environment to avoid interactive prompts
|
4
|
+
ENV DEBIAN_FRONTEND=noninteractive
|
5
|
+
|
6
|
+
# Install system dependencies
|
7
|
+
RUN apt-get update && apt-get install -y \
|
8
|
+
python3.10 \
|
9
|
+
python3-pip \
|
10
|
+
build-essential \
|
11
|
+
gcc \
|
12
|
+
g++ \
|
13
|
+
libatlas-base-dev \
|
14
|
+
libopenblas-dev \
|
15
|
+
libhdf5-dev \
|
16
|
+
swig \
|
17
|
+
tzdata \
|
18
|
+
&& ln -s /usr/bin/python3 /usr/bin/python \
|
19
|
+
&& rm -rf /var/lib/apt/lists/*
|
20
|
+
|
21
|
+
# Set timezone (e.g., UTC) to avoid configuration prompts
|
22
|
+
RUN echo "Etc/UTC" > /etc/timezone && \
|
23
|
+
ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
|
24
|
+
dpkg-reconfigure -f noninteractive tzdata
|
25
|
+
|
26
|
+
WORKDIR /app
|
27
|
+
|
28
|
+
RUN pip install --upgrade pip
|
29
|
+
|
30
|
+
RUN pip install --no-cache-dir \
|
31
|
+
hatchling \
|
32
|
+
setuptools>=45 \
|
33
|
+
wheel \
|
34
|
+
swig>=4.0
|
35
|
+
|
36
|
+
COPY . .
|
37
|
+
|
38
|
+
RUN pip install . --no-cache-dir
|
39
|
+
RUN pip install cupy-cuda11x
|
40
|
+
|
41
|
+
# Install Jupyter Notebook and related packages
|
42
|
+
RUN pip install --no-cache-dir \
|
43
|
+
notebook \
|
44
|
+
ipykernel \
|
45
|
+
ipython
|
46
|
+
|
47
|
+
EXPOSE 8888
|
48
|
+
|
49
|
+
# Set the default command (modify as needed)
|
50
|
+
# CMD ["python", "-c", "from vbi.utils import test_imports; test_imports()"]
|
51
|
+
CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root"]
|
@@ -1,14 +1,13 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: vbi
|
3
|
-
Version: 0.1
|
3
|
+
Version: 0.2.1
|
4
4
|
Summary: Virtual brain inference.
|
5
5
|
Author-email: Abolfazl Ziaeemehr <a.ziaeemehr@gmail.com>, Meysam Hashemi <meysam.hashemi@gmail.com>, Marmaduke Woodman <marmaduke.woodman@gmail.com>
|
6
|
-
License:
|
6
|
+
License-Expression: Apache-2.0
|
7
7
|
Project-URL: homepage, https://ziaeemehr.github.io/vbi_paper/
|
8
8
|
Project-URL: repository, https://github.com/Ziaeemehr/vbi_paper
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
10
10
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
11
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
12
11
|
Classifier: Operating System :: OS Independent
|
13
12
|
Requires-Python: >=3.8
|
14
13
|
Description-Content-Type: text/markdown
|
@@ -75,11 +74,17 @@ Dynamic: license-file
|
|
75
74
|
```bash
|
76
75
|
conda env create --name vbi python=3.10
|
77
76
|
conda activate vbi
|
77
|
+
# from pip: Recommended
|
78
|
+
pip install vbi
|
79
|
+
# from source: More recent update
|
78
80
|
git clone https://github.com/ins-amu/vbi.git
|
79
81
|
cd vbi
|
80
82
|
pip install .
|
81
83
|
|
82
84
|
# pip install -e .[all,dev,docs]
|
85
|
+
|
86
|
+
# To skip C++ compilation, use the following environment variable and install from source:
|
87
|
+
SKIP_CPP=1 pip install -e .
|
83
88
|
```
|
84
89
|
|
85
90
|
## Using Docker
|
@@ -143,14 +148,28 @@ We welcome contributions to the VBI project! If you have suggestions, bug report
|
|
143
148
|
## Citation
|
144
149
|
|
145
150
|
```bibtex
|
146
|
-
@article{VBI,
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
151
|
+
@article{VBI,
|
152
|
+
title={Virtual Brain Inference (VBI): A flexible and integrative toolkit for efficient probabilistic inference on virtual brain models},
|
153
|
+
author={Ziaeemehr, Abolfazl and Woodman, Marmaduke and Domide, Lia and Petkoski, Spase and Jirsa, Viktor and Hashemi, Meysam},
|
154
|
+
DOI={10.7554/elife.106194.1},
|
155
|
+
url={http://dx.doi.org/10.7554/eLife.106194.1},
|
156
|
+
publisher={eLife Sciences Publications, Ltd},
|
157
|
+
year={2025},
|
158
|
+
abstract = {Network neuroscience has proven essential for understanding the principles and mechanisms
|
159
|
+
underlying complex brain (dys)function and cognition. In this context, whole-brain network modeling–
|
160
|
+
also known as virtual brain modeling–combines computational models of brain dynamics (placed at each network node)
|
161
|
+
with individual brain imaging data (to coordinate and connect the nodes), advancing our understanding of
|
162
|
+
the complex dynamics of the brain and its neurobiological underpinnings. However, there remains a critical
|
163
|
+
need for automated model inversion tools to estimate control (bifurcation) parameters at large scales
|
164
|
+
associated with neuroimaging modalities, given their varying spatio-temporal resolutions.
|
165
|
+
This study aims to address this gap by introducing a flexible and integrative toolkit for efficient Bayesian inference
|
166
|
+
on virtual brain models, called Virtual Brain Inference (VBI). This open-source toolkit provides fast simulations,
|
167
|
+
taxonomy of feature extraction, efficient data storage and loading, and probabilistic machine learning algorithms,
|
168
|
+
enabling biophysically interpretable inference from non-invasive and invasive recordings.
|
169
|
+
Through in-silico testing, we demonstrate the accuracy and reliability of inference for commonly used
|
170
|
+
whole-brain network models and their associated neuroimaging data. VBI shows potential to improve hypothesis
|
171
|
+
evaluation in network neuroscience through uncertainty quantification, and contribute to advances in precision
|
172
|
+
medicine by enhancing the predictive power of virtual brain models.}
|
154
173
|
}
|
155
174
|
```
|
156
175
|
|
@@ -20,11 +20,17 @@
|
|
20
20
|
```bash
|
21
21
|
conda env create --name vbi python=3.10
|
22
22
|
conda activate vbi
|
23
|
+
# from pip: Recommended
|
24
|
+
pip install vbi
|
25
|
+
# from source: More recent update
|
23
26
|
git clone https://github.com/ins-amu/vbi.git
|
24
27
|
cd vbi
|
25
28
|
pip install .
|
26
29
|
|
27
30
|
# pip install -e .[all,dev,docs]
|
31
|
+
|
32
|
+
# To skip C++ compilation, use the following environment variable and install from source:
|
33
|
+
SKIP_CPP=1 pip install -e .
|
28
34
|
```
|
29
35
|
|
30
36
|
## Using Docker
|
@@ -88,14 +94,28 @@ We welcome contributions to the VBI project! If you have suggestions, bug report
|
|
88
94
|
## Citation
|
89
95
|
|
90
96
|
```bibtex
|
91
|
-
@article{VBI,
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
97
|
+
@article{VBI,
|
98
|
+
title={Virtual Brain Inference (VBI): A flexible and integrative toolkit for efficient probabilistic inference on virtual brain models},
|
99
|
+
author={Ziaeemehr, Abolfazl and Woodman, Marmaduke and Domide, Lia and Petkoski, Spase and Jirsa, Viktor and Hashemi, Meysam},
|
100
|
+
DOI={10.7554/elife.106194.1},
|
101
|
+
url={http://dx.doi.org/10.7554/eLife.106194.1},
|
102
|
+
publisher={eLife Sciences Publications, Ltd},
|
103
|
+
year={2025},
|
104
|
+
abstract = {Network neuroscience has proven essential for understanding the principles and mechanisms
|
105
|
+
underlying complex brain (dys)function and cognition. In this context, whole-brain network modeling–
|
106
|
+
also known as virtual brain modeling–combines computational models of brain dynamics (placed at each network node)
|
107
|
+
with individual brain imaging data (to coordinate and connect the nodes), advancing our understanding of
|
108
|
+
the complex dynamics of the brain and its neurobiological underpinnings. However, there remains a critical
|
109
|
+
need for automated model inversion tools to estimate control (bifurcation) parameters at large scales
|
110
|
+
associated with neuroimaging modalities, given their varying spatio-temporal resolutions.
|
111
|
+
This study aims to address this gap by introducing a flexible and integrative toolkit for efficient Bayesian inference
|
112
|
+
on virtual brain models, called Virtual Brain Inference (VBI). This open-source toolkit provides fast simulations,
|
113
|
+
taxonomy of feature extraction, efficient data storage and loading, and probabilistic machine learning algorithms,
|
114
|
+
enabling biophysically interpretable inference from non-invasive and invasive recordings.
|
115
|
+
Through in-silico testing, we demonstrate the accuracy and reliability of inference for commonly used
|
116
|
+
whole-brain network models and their associated neuroimaging data. VBI shows potential to improve hypothesis
|
117
|
+
evaluation in network neuroscience through uncertainty quantification, and contribute to advances in precision
|
118
|
+
medicine by enhancing the predictive power of virtual brain models.}
|
99
119
|
}
|
100
120
|
```
|
101
121
|
|