Skip to content

Releases: OHBA-analysis/osl-dynamics

v1.2.11

06 Dec 16:52
Compare
Choose a tag to compare

PyPi release: https://pypi.org/project/osl-dynamics/1.2.11/

Changes:

  • Multiple GPU training added.
  • Fixed repeated calls to the same method in data preparation.
  • Option to remove edge effects when getting HMM state probabilities.

v1.2.10

13 Nov 17:17
Compare
Choose a tag to compare

PyPi release: https://pypi.org/project/osl-dynamics/1.2.10/

Changes:

  • Major update to examples:
    • Update MEG examples.
    • New fMRI examples.
  • Switched to an analytical calculation for dual estimation with the HMM.
  • Improvements to SE-HMM.

v1.2.9

13 Oct 13:45
Compare
Choose a tag to compare

PyPi release: https://pypi.org/project/osl-dynamics/1.2.9/

Changes:

  • Fixed a bug calculating power when subject-specific PSDs were passed to power.variance_from_spectra.
  • Default to using a progress bar when getting inferred parameters.

v1.2.8

11 Oct 07:51
Compare
Choose a tag to compare

PyPi release: https://pypi.org/project/osl-dynamics/1.2.8/

Changes:

  • Major improvements to spectral estimation:
    • General refactor of code and improved documentation.
    • Added new function to calculate (HMM state/static) spectra with Welch's method.
    • Benchmarked welch/multitaper against scipy/MNE. Note, PSDs are now a factor of 2 larger than in previous versions.
    • Renamed static.power_spectra to static.welch_spectra for consistency with the analysis.spectral module.
  • Removed the glassbrain argument from connectivity.save and added a new function for saving interactive connectivity plots (connectivity.save_interactive).
  • Removed the asymmetric_data argument from power.save, the user should now pass vmin/vmax via plot_kwargs to the underlying nilearn plotting function.
  • Added argument to allow the user to specify the method for calculating power from spectra: power.variance_from_spectra(..., method="mean"), where method can be "mean" or "sum".

v1.2.7

29 Sep 15:21
Compare
Choose a tag to compare

PyPi release: https://pypi.org/project/osl-dynamics/1.2.7/

Changes:

  • TensorFlow implementation of the Baum-Welch algorithm (using log probabilities rather than the probabilities directly).
  • Config API:
    • Added a get_inf_params wrapper.
    • Added a train_sehmm wrapper.
  • Improved the asymmetric_data argument in analysis.power.save. Can now specify the limits of the colorbar.

v1.2.6

18 Aug 10:24
Compare
Choose a tag to compare

PyPi release: https://pypi.org/project/osl-dynamics/1.2.6/

This version of osl-dynamics was used to produce the results in: https://www.biorxiv.org/content/10.1101/2023.08.07.549346v1.

Changes:

  • Option to use TFRecords:
    • This is the preferred approach for training on large datasets with TensorFlow.
    • This feature was tested with TensorFlow 2.9.1. Newer versions of TensorFlow sometimes raise an error when using the TFRecords dataset. This will be fixed in a future release.
  • Improved shuffling of TensorFlow datasets.
  • Improved documentation.
  • Refactored implementation of scaling 'static' quantities in the loss function.
  • Tweaked the normalisation of power maps when using power.variance_from_spectra.

v1.2.5

07 Jul 13:10
Compare
Choose a tag to compare

PyPi release: https://pypi.org/project/osl-dynamics/1.2.5/

Changes:

  • API changes to the Data class. See: #161.
  • Added methods for dual estimation and subject fine tuning.
  • Option to do stats testing on time-frequency evoked response.
  • Updated tutorials.

v1.2.4

28 Jun 12:26
Compare
Choose a tag to compare

PyPi release: https://pypi.org/project/osl-dynamics/1.2.4/

Changes:

  • Renamed the command line interface: osld-pipeline -> osl-dynamics.
  • Added option to predict overlapping alphas, which can be used to avoid discontinuities between sequences.
  • Removed the data.osl.HMM_MAR (and OSL_HMM) class (which use to be used to load Matlab HMM runs - no longer needed).
  • Added a method to get the inferred logits (theta).
  • Handle failed initialisations (e.g. KL term errors) when using random_subset_initialization.
  • Fixed bug reinitialising models (when you call model.reset()). This bug only affects users with TensorFlow 2.10 or newer.
  • Added a method to calculate the Bayesian Information Criterion.
  • New functions to calculate and plot a wavelet transform.
  • Fixed bugs in examples: TINDA, SE-HMM.

v1.2.3

11 May 16:46
Compare
Choose a tag to compare

PyPi release: https://pypi.org/project/osl-dynamics/1.2.3/

Changes:

  • Analysis:
    • Added cycles analysis (TINDA).
    • New feature to hierarchically cluster state time courses from different runs.
  • Models: subject embedding model for the HMM (SE-HMM).
  • Examples: added toolbox paper scripts.
  • Docs: updated the Fisher kernel write up.

v1.2.2

17 Apr 12:41
Compare
Choose a tag to compare

PyPi release: https://pypi.org/project/osl-dynamics/1.2.2/

This version was used for the OSL workshop 2023.

Changes (mainly patching bugs):

  • The default learning rate of config_api.wrappers.train_hmm is higher (1e-3 -> 1e-2).
  • config_api.wrappers.train_dynemo also saves a free_energy values to the history dict.
  • Bug in the config API (finding custom functions) was fixed.
  • New command line option for using the config API.
  • Fixed issue re-initialising variables in Dense layers.