Releases: OHBA-analysis/osl-dynamics
v1.2.11
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
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
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
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
tostatic.welch_spectra
for consistency with theanalysis.spectral
module.
- Removed the
glassbrain
argument fromconnectivity.save
and added a new function for saving interactive connectivity plots (connectivity.save_interactive
). - Removed the
asymmetric_data
argument frompower.save
, the user should now passvmin
/vmax
viaplot_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")
, wheremethod
can be"mean"
or"sum"
.
v1.2.7
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.
- Added a
- Improved the
asymmetric_data
argument inanalysis.power.save
. Can now specify the limits of the colorbar.
v1.2.6
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
v1.2.4
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
(andOSL_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
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
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 afree_energy
values to thehistory
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.