Skip to content

Releases: cosanlab/nltools

0.5.1

27 Mar 21:39
Compare
Choose a tag to compare

Dependency Updates

  • Update scipy.binom_test -> scipy.binomtest in code-base for compatibility with current scipy versions

Testing Updates

  • Fixed a testing issue on filepath checking on windows
  • Forced numpy random seed to 0 for all pytest fixtures that use numpy.random to generate test data (avoids random test failures due to random data)
  • Updated stock GA for setting up conda to v3
  • Added m1 macOS runners to grid as experimental (not currently working due to missing hdf5 install on OS)
  • Set python 3.11 on macOS runner as experimental due to upstream joblib and 3.11 issue
  • Set docs building to experimental until upstream issues are resolved (docs are outdated with respect to this release!)

0.5.0

31 Oct 17:07
Compare
Choose a tag to compare

Changes

  • Drop support for python 3.7 and add support up to 3.11
  • Switch from deepdish to h5py for loading and saving hdf5 Brain_Data and Adjacency files, with backwards compatible support for hdf5 files created on older versions of nltools

0.4.7

22 Aug 14:48
Compare
Choose a tag to compare

Changes

Fixes

  • nltools.stats.regression now returns the standard errors of beta estimates
    • The canonical output order is: b, se, t, p, df, res
    • Brain_Data and Adjacency will now correctly store the standard error estimates in stats['sigma']

0.4.6

15 Aug 17:16
d9f65ba
Compare
Choose a tag to compare

Changes

Fixes

  • Fixed warnings from onsets_to_dm as error-checking wasn't quite right
  • Fixed deprecated nilearn warnings
  • Fixed deprecated nibabel .get_affine() -> .affine

New

  • Brain_Data.similarity should be dramatically faster and now supports rank correlation: #308 #316 #404
  • Design_Matrix.clean will raise an error if there are duplicate column name
  • Loading .h5 objects in Brain_Data now respects the mask argument:
# User loads h5 that contains mask so that mask is used instead of the default MNI mask

Brain_Data('brain.h5')

# User loads h5 that contains mask but also sets mask argument.
# Now mask value takes precedence over whatever mask is in h5 
# so we issue a warning to the user letting them know on load

Brain_Data('brain.h5', mask='path/to/nifti/mask.nii.gz')

>>> UserWarning(...)

# User loads h5 that does NOT contain a mask and doesnt set the mask
# argument so the default MNI mask is used, similar to nifti files
# This is an implicit fallback just like with niftis 

Brain_Data('brain_nomask.h5')

# User loads h5 that does NOT contain mask but also sets mask argument
# Mask value is used to learn transformation like niftis
# No need to warn them about anything

Brain_Data('brain_nomask.h5', mask='path/to/nifti/mask.nii.gz')

0.4.5

28 Oct 20:29
bde2445
Compare
Choose a tag to compare

General

  • No longer pin pandas and deepdish versions
  • Works with the latest version of sklearn
  • Remove documentation build artifacts from version control

0.4.4

16 Apr 16:52
4966277
Compare
Choose a tag to compare

General

  • Removed mne as a dependency
  • Clarify doctstring for Adjacency.distance_to_similarity to note we currently only support euclidean and correlation distance

Bug Fixes

  • Path objects now reliably work for Brain_Data and Adjacency classes with passing tests
  • Fixed major bug in isps where hilbert trasform was being applied to the wrong axises

New Features

Adjacency

  • new generate_permutations method which acts as python generator that can be used for iteration
  • new .cluster_summary method to summarize with and between cluster distances
  • new .sum method to add adjacency matrices
  • new .fisher_z_r method to invert .fisher_r_z

Stats

  • new align_states function that implements the Hungarian Algorithm
  • isps gains a new pairwise argument

0.4.3

25 Mar 04:08
def76a0
Compare
Choose a tag to compare

This releases drops Python 3.6 Support!

This is primarily a maintenance release that move ours testing, documentation, and deployment infrastructure to github actions and github-pages from travis CI and readthedocs. Our entire code base is now formatted using black and will enforce checks for all new commits and PRs. Documentation and PyPi uploading have also been configured to deploy on new releases (starting from this one).

Our documentation site has now moved to: https://nltools.org.

Bug Fixes

  • stats.fdr now checks that the inputted array is within the range 0-1
  • fix int64 out-of-bounds test errors on Windows

Enchancements

  • Brain_Data classes now support Path objects in addition to string path names
  • Simulator classes now accept a random_seed for reproducibility

Deprecations

  • Python 3.6 is no longer officially supported. Python 3.7, 3.8 are the current supported versions. Once our dependencies support 3.9 we will too.
  • remove all traces of Python 2 and six

0.4.2

07 Jul 00:13
4cb4a89
Compare
Choose a tag to compare

Bug Fixes

  • can now load data from https addresses in addition to http
  • Adjacency.isc method is now set to only work with single matrices
  • Refactored roi_plot_brain to speed up image generation when using scalar values.

0.4.1

04 Jul 02:17
d61473c
Compare
Choose a tag to compare

Bug Fixes

  • Minor bug fix with Brain_Data.align method, in which the transformation_matrix.data needed to be transposed.

0.4.0

01 Jul 05:32
98f49c4
Compare
Choose a tag to compare

New Functionality

  • Added new intersubject correlation (ISC) functionality. ISC function in stats module can compute different types of resampling tests (i.e., circular shifting, phase randomization, subject-wise bootstrapping. ISC method on Adjacency Class can perform subject-wise bootstrapping.
  • Added new intersubject functional connectivity (ISFC) functionality. Uses leave-one-subject out averaging method.
  • Added new dynamic intersubject phase synchrony (ISPS) functionality. Calculate length of average resultant vector, significance computed with parametric Rayleigh test.
  • roi_to_brain is now much faster when using arrays.
  • Added new timeseries permutation methods to correlation_permutation function (circle shifting and phase randomization)
  • Brain_Data has a new temporal_resample method to up and downsample timeseries

Bug Fixes

  • fixed smoothing bug
  • temporary fix to plotting bug. due to change to matlotlib api, colorbars on brain_data plots are not working correctly. Turned them off by default for now.
  • no longer pinning joblib to old version

Refactoring

  • updated and refactored align code.

Deprecated/Removed

  • Removed jackknife permutation method as we decided it wasn't working as we intended.