Neurolib

Latest version: v0.6.2

Safety actively analyzes 629639 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

0.5.3

- `ALNModel` now records adaptation currents! Accessible via model.outputs.IA

0.5.1

*Evolution:*

- NSGA-2 algorithm implemented (Deb et al. 2002)
- Preselect complete algorithms (using `algorithm="adaptive"` or `"nsga2"`)
- Implement custom operators for all evolutionary operations
- Keep track of the evolution history using `evolution.history`
- Genealogy `evolution.tree` available from `evolution.buildEvolutionTree()` that is `networkx` compatible [1]
- Continue working: `saveEvolution()` and `loadEvolution()` can load an evolution from another session [2]
- Overview dataframe `evolution.dfPop` now has all fitness values as well
- Get scores using `getScores()`
- Plot evolution progress with `evolutionaryUtils.plotProgress()`

*Exploration:*

- Use `loadResults(all=True)` to load all simulated results from disk to memory (available as `.results`) or use `all=False` to load runs individually from hdf. Both options populate `dfResults`.
- `loadResults()` has memory cap to avoid filling up RAM
- `loadDfResults()` creates the parameter table from a previous simulation
- `explorationUtils.plotExplorationResults()` for plotting 2D slices of the explored results with some advanced functions like alpha maps and contours for predefined regions.

*devUtils*

- A module that we are using for development and research with some nice features. Please do not rely on this file since there might be breaking changes in the future.
- `plot_outputs()` like a true numerical simlord
- `model_fit()` to compute the model's FC and FCD fit to the dataset, could be usefull for everyone
- `getPowerSpectrum()` does what is says
- `getMeanPowerSpectrum()` same
- a very neat `rolling_window()` from a `numpy` PR that never got accepted

*Other:*

- Data loading:
- `Dataset` can load different SC matrix normalizations: `"max", "waytotal", "nvoxel"`
- Can precompute FCD matrices to avoid having to do it later (`fcd=True`)
- `neurolib/utils/atlas.py` added with aal2 region names (thanks jajcayn) and coordinates of centers of regions (from scans of caglorithm's brain 🤯)
- `ParameterSpace` has `.lowerBound` and `.upperBound`.
- `pypet` finally doesn't create a billion log files anymore due to a custom log config

0.5.0

- **New model**: Thalamus model `ThalamicMassModel` (thanks to jajcayn)
- Model by Costa et al. 2016, PLOS Computational Biology
- New tools for parameter exploration: `explorationUtils.py` aka `eu`
- Postprocessing of exploration results using `eu.processExplorationResults()`
- Find parameters of explored simulations using `eu.findCloseResults()`
- Plot exploration results via `eu.plotExplorationResults()` (see example image below)
- Custom transformation of the inputs to the `BOLDModel`.
- This is particularly handy for phenomenological models (such as `FHNModel`, `HopfModel` and `WCModel`) which do not produce firing rate outputs with units in `Hz`.
- Improvements
- Models can now generate random initial conditions using `model.randomICs()`
- `model.params['bold'] = True` forces BOLD simulation
- `BoxSearch` class: `search.run()` passes arguments to `model.run()`
- BOLD output time array renamed to `t_BOLD`

0.4.1

- **New model:** Wilson-Cowan neural mass model implemented (thanks to ChristophMetzner )
- Simulations now start their output at `t=dt` (as opposed to `t=0` before). Everything before is now considered an initial condition.
- Fix: Running a simulation chunkwise (using `model.run(chunkwise=True)`) and normally (using `model.run()`) produces output of the same length
- Fix: `aln` network coupling, which apparent when simulating chunkwise with `model.run(chunkwise=True, chunksize=1)`
- Fix: Correct use of seed for RNG
- Fix: Matrices are not normalized to max-1 anymore before each run.
- Fix: Kolmogorov distance of FCD matrices and timeseries

Page 2 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.