Releases: OHBA-analysis/osl-dynamics
v1.3.2
PyPi release: https://pypi.org/project/osl-dynamics/1.3.2/
This is the last release using TensorFlow 2.9.1 and tensorflow-probability 0.17 (next release will use newer versions).
Changes:
- Models:
- Refactored M-DyNeMo.
- Enhanced HIVE/DIVE and fixed bugs.
- Added Simplified-DyNeMo.
- Improved robustness of
random_state_time_course_initialization
.
- Option to select session and/or channels in the Data object.
- Other features/enhancements
- Cleaned up messages printed to screen (suppressing external loggers).
- Option to combine power map/connectivity network plots.
- Added standalone HMM dual estimation function.
- New function to plot HMM summary stats.
v1.3.1
PyPi release: https://pypi.org/project/osl-dynamics/1.3.1/
Changes:
- Models:
- The efficiency of the model initialisation methods (
random_subset_initialization
,random_state_time_course_initialization
) was improved (minimised the number of shuffles). - Methods was updated to ensure a TensorFlow (TFRecord) Dataset can be passed.
- Improvements to H/DIVE:
- Modification to the calculation the KL term in the loss.
- Ability to pass multiple embeddings.
- The efficiency of the model initialisation methods (
- Data object:
- Option to pass arbitrary auxiliary inputs to models when creating datasets with the Data object.
- Option to save/load TFRecord datasets (useful for training on very large datasets).
- Simulation classes:
random_seed
argument was removed - this may cause old scripts to error due to the unexpected argument (can just be deleted in the script). The user can useosl_dynamics.utils.misc.set_random_seed
to ensure scripts are deterministic now.
- Plotting:
- Improved spatial map plotting to work with fMRI data (can now handle cifti files).
v1.3.0
PyPi release: https://pypi.org/project/osl-dynamics/1.3.0/
Changes:
- Models:
- Subject embedding models finalised: HIVE and DIVE.
- New HMM with a Poisson observation model.
- Data class:
- New method to select channels.
- No longer uses memory maps by default.
- Added decoding examples.
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
.