Skip to content
Snippets Groups Projects
Forked from FSL / fslpy
1577 commits behind the upstream repository.
To find the state of this project's repository at the time of any of these versions, check out the tags.
CHANGELOG.rst 17.24 KiB

This document contains the fslpy release history in reverse chronological order.

2.0.0 (Under development)

Changed

  • Removed support for Python 2.7 and 3.4.

Removed

  • Many deprecated items

1.12.0 (Sunday October 21st 2018)

Changed

  • The extract_noise script has been renamed to :mod:`.fsl_ents`.
  • Increased the minimum required version of dcm2niix in the :mod:`fsl.data.dicom` module.

Deprecated

  • The extract_noise script.

1.11.1 (Friday September 14th 2018

Fixed

  • Fixed a Python 2 incompatibility in the :mod:`.settings` module.

1.11.0 (Thursday September 13th 2018)

Added

  • A couple of new convenience functions to the :mod:`.settings` module.

Changed

  • Development (test and documentation dependencies) are no longer listed in setup.py - they now need to be installed manually.
  • Removed conda build infrastructure.

1.10.3 (Sunday September 9th 2018)

Added

1.10.2 (Friday September 7th 2018)

Fixed

  • The :meth:`.Image.save` method was not handling memory-mapped images correctly.

1.10.1 (Friday August 3rd 2018)

Changed

  • Minor adjustmenets to improve Windows compatibility.

Fixed

  • The :mod:`.FEATImage.getCOPE` method was returning PE images.

1.10.0 (Wednesday July 18th 2018)

Added

  • A new script, :mod:`.extract_noise`, which can be used to extract ICA component time courses from a MELODIC ICA analysis.
  • New :func:`.path.allFiles` function which returns all files underneath a directory.
  • The :func:`.fileOrImage` and :func:`.fileOrArray` decorators now support loading of files which are specified with an output basename.
  • New :mod:`.fast` wrapper function for the FSL FAST tool.

Changed

  • When using the :func:`.run.run` function, the command output/error streams are now forwarded immediately.
  • Removed dependency on pytest-runner.

1.9.0 (Monday June 4th 2018)

Added

  • New :meth:`.Image.data` property method, for easy access to image data as a numpy array.
  • New log option to the :func:`.run.run` function, allowing more fine-grained control over sub-process output streams.
  • New :meth:`.Platform.fsldevdir` property, allowing the $FSLDEVDIR environment variable to be queried/changed.

Changed

  • :meth:`.Image.ndims` has been renamed to :meth:`.Image.ndim`, to align more closely with numpy naming conventions.
  • The err and ret parameters to the :func:`.run.run` function have been renamed to stderr and exitcode respectively.
  • The :func:`.runfsl` function will give priority to the $FSLDEVDIR environment variable if it is set.

Deprecated

  • :meth:`.Image.ndims`.
  • The err and ret parameters to :func:`.run.run`.

1.8.1 (Friday May 11th 2018)

Changed

  • The :func:`.fileOrImage` decorator function now accepts :class:`.Image` objects as well as nibabel image objects.

1.8.0 (Thursday May 3rd 2018)

Added

  • New :mod:`.wrappers` package, containing wrapper functions for a range of FSL tools.
  • New :mod:`fsl.utils.run` module, to replace the :mod:`fsl.utils.callfsl` module.
  • New :mod:`fsl.utils.fslsub` module, containing a :func:`.fslsub.submit` function which submits a cluster job via fsl_sub.
  • Assertions (in the :mod:`.assertions` module) can be disabled with the new :func:`.assertions.disabled` context manager.
  • New :mod:`fsl.utils.parse_data` module containing various neuroimaging data constructors for use with argparse.
  • The :func:`.memoize.skipUnchanged` decorator has an invalidate function which allows its cache to be cleared.

Changed

  • The :func:`.tempdir` function has an option to not change to the newly created directory.

Deprecated

  • The :mod:`fsl.utils.callfsl` module (replaced with :mod:`fsl.utils.run`).

1.7.2 (Monday March 19th 2018)

Added

  • Added the :meth:`.MGHImage.voxToSurfMat` and related properties, giving access to the voxel-to-surface affine for an MGH image.

1.7.1 (Monday March 12th 2018)

Changed

  • Adjusted :func:`.parseVersionString` so it accepts .dev* suffixes.

Fixed

  • Removed deprecated use of :func:`.imagewrapper.canonicalShape`.

1.7.0 (Tuesday March 6th 2018)

Added

  • The :mod:`fsl.utils.assertions` module contains a range of functions which can be used to assert that some condition is met.
  • The :mod:`fsl.utils.ensure` module contains a range of functions (currently just one) which can be used to ensure that some condiution is met.

Changed

  • The :mod:`.settings` module now saves its files in a format that is compatible with Python 2 and 3.
  • The :func:`.tempdir` function now accepts a root argument, which specifies the location in which the temporary directory should be created.
  • An image's data source can now be set via :meth:`.Image.__init__`.
  • :meth:`.MGHImage` objects now have a :meth:`.MGHImage.save` method.
  • Adjustments to the conda package build and deployment process.
  • The :func:`.ImageWrapper.canonicalShape` function has been moved to the :mod:`.image` class.
  • The :func:`.ImageWrapper.naninfrange` function has been moved into its own :mod:`.naninfrange` module.

Fixed

  • Fixed a bug in the :class:`.MutexFactory` class.

Deprecated

  • :func:`.ImageWrapper.canonicalShape` (moved to the :mod:`.image` module)
  • :func:`.ImageWrapper.naninfrange` function (moved to the :mod:`.naninfrange` module)

1.6.8 (Monday February 12th 2018)

  • The atlasq, immv, imcp and imglob scripts suppress some warnings.

1.6.7 (Friday February 9th 2018)

  • More further adjustments to the conda package build.
  • Adjustments to pypi source distribution - the requirements-extra.txt file was not being included.

1.6.6 (Thursday February 8th 2018)

  • Further adjustments to the conda package build.

1.6.5 (Tuesday February 6th 2018)

  • Adjustments to the conda package build.

1.6.4 (Monday February 5th 2018)

  • The :mod:`.platform` module emits a warning if it cannot import wx.

1.6.3 (Friday February 2nd 2018)

  • Minor enhancements to the :class:`.WeakFunctionRef` class.
  • Some bugfixes to the :mod:`fsl.utils.imcp` module, with respect to handling relative path names, moving file groups (e.g. .img/.hdr pairs), and non-existent directories.

1.6.2 (Tuesday January 30th 2018)

  • Updates to the conda installation process.
  • A new script is installed when fslpy is installed via pip or conda - atlasquery, which emulates the FSL atlasquery tool.

1.6.1 (Monday January 29th 2018)

  • Removed lxml as a dependency - this was necessary in older versions of trimesh.

1.6.0 (Friday January 26th 2018)

  • The new :class:`.Mesh` class is now the base class for all mesh types. It has been written to allow multiple sets of vertices to be associated with a mesh object (to support e.g. white matter, inflated, spherical models for a GIFTI/freeusrfer mesh).
  • The new :class:`.VTKMesh` class must now be used for loading VTK model files, instead of the old :class:`.TriangleMesh` class.
  • The new :class:`.Mesh` class uses the trimesh library (https://github.com/mikedh/trimesh) to perform various geometrical operations, accessible via new :meth:`.Mesh.rayIntersection`, :meth:`.Mesh.planeIntersection`, :meth:`.Mesh.nearestVertex` methods.
  • The :class:`.Nifti` and :class:`.Mesh` classes have new methods allowing arbitrary metadata to be stored with the image, as key-value pairs. These are provided by a new mixin class, :class:`.Meta`.
  • Freesurer surface files and vertex data can now be loaded via the :class:`.FreesurferMesh` class, in the new :mod:`.freesurfer` module.
  • Freesurfer mgz / mgh image files can now be loaded via the new :mod:`.mghimage` module. Internally, these image files are converted to NIFTI - the :class:`.MGHImage` class derives from the :class:`.Image` class.
  • Meta-data access methods on the :class:`.DicomImage` class have been deprecated, as their functionality is provided by the new :class:`.Meta` mixin.
  • The :class:`.TriangleMesh` class has been deprecated in favour of the new :class:`.Mesh` class.
  • Optional dependencies wxpython, indexed_gzip, trimesh, and rtree are now listed separately, so fslpy can be used without them (although relevant functionality will be disabled if they are not present).

1.5.4 (Wednesday January 10th 2018)

  • Actually included the fix that was supposed to be in version 1.5.3.

1.5.3 (Tuesday January 9th 2018)

  • Bug fix to :meth:`.ImageWrapper.__expandCoverage` - was not correctly handling large images with lots of nan values.

1.5.2 (Tuesday January 2nd 2018)