Skip to content
Snippets Groups Projects
Forked from FSL / fslpy
1109 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 24.96 KiB

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

2.6.0 (Under development)

Added

  • New :meth:`.Image.iscomplex` attribute.

Changed

  • The :class:`.Cache` class has a new lru option, allowing it to be used as a least-recently-used cache.
  • The :mod:`.filetree` module has been refactored to make it easier for the :mod:`.query` module to work with file tree hierarchies.

2.5.0 (Tuesday 6th August 2019)

Added

  • New :meth:`.Image.getAffine` method, for retrieving an affine between any of the voxel, FSL, or world coordinate systems.
  • New :mod:`fsl.transforms` package, which contains classes and functions for working with linear and non-linear FLIRT and FNIRT transformations.
  • New static methods :meth:`.Nifti.determineShape`, :meth:`.Nifti.determineAffine`, :meth:`.Nifti.generateAffines`, and :meth:`.Nifti.identifyAffine`.
  • New prototype :mod:`fsl.transforms.x5` module, for reading/writing linear and non-linear X5 files (preliminary release, subject to change).
  • New prototype :mod:`.fsl_convert_x5` :mod:`.fsl_apply_x5` programs, for working with X5 transformations (preliminary release, subject to change).

Changed

  • The :mod:`.vest.looksLikeVestLutFile` function has been made slightly more lenient.
  • h5py has been added to the fslpy dependencies.

Deprecated

  • The :mod:`fsl.utils.transform` module has been deprecated; its functions can now be found in the :mod:`fsl.transforms.affine` and :mod:`fsl.transform.flirt` modules.

2.4.0 (Wednesday July 24th 2019)

Added

  • New :mod:`.image.roi` module, for extracting an ROI of an image, or expanding its field-of-view.

Changed

  • The :mod:`.resample_image` script has been updated to support resampling of images with more than 3 dimensions.

2.3.1 (Friday July 5th 2019)

Fixed

  • The :class:`.Bitmap` class now supports greyscale images and palette images.

2.3.0 (Tuesday June 25th 2019)

Added

  • New :class:`.Bitmap` class, for loading bitmap images. The :meth:`.Bitmap.asImage` method can be used to convert a Bitmap into an :class:`.Image`.
  • The :class:`.Image` class now has support for the RGB24 and RGBA32 NIfTI data types.
  • New :attr:`.Image.nvals` property, for use with RGB24/RGBA32 images.
  • New :meth:`.LabelAtlas.get` and :meth:`ProbabilisticAtlas.get` methods, which return an :class:`.Image` for a specific region.
  • The :meth:`.AtlasDescription.find` method also now a name parameter, allowing labels to be looked up by name.
  • New :meth:`.FileTree.defines` and :meth:`.FileTree.on_disk` methods, to replace the :func:`.FileTree.exists` method.

Fixed

  • The :func:`.makeWriteable` function will always create a copy of an array if its base is a bytes object.
  • Fixed a bug in the :meth:`.GitfitMesh.loadVertices` method.
  • Fixed a bug in the :meth:`.Mesh.addVertices` method where the wrong face normals could be used for newly added vertex sets.

2.2.0 (Wednesday May 8th 2019)

Added

  • New :mod:`.resample_image` script.
  • New :mod:`.resample` module (replacing the :func:`.Image.resample` method), containing functions to resample an :class:`.Image`.
  • New :func:`.resample.resampleToPixdim` and :func:`.resample.resampleToReference` functions, convenience wrappers around :func:`.resample.resample`.
  • New :func:`.idle.block` function.

Changed

  • The :func:`.resample` function (formerly :meth:`.Image.resample`) now accepts origin and matrix parameters, which can be used to adjust the alignment of the voxel grids of the input and output images.
  • The :func:`.transform.decompose` function now accepts both (3, 3) and (4, 4) matrices.

Fixed

  • Minor fixes to some :mod:`.filetree.filetree` tree definitions.

Deprecated

  • The :meth:`.Image.resample` method has been deprecated in favour of the :func:`.resample.resample` function.

2.1.0 (Saturday April 13th 2019)

Added

  • New tensor conversion routines in the :mod:`.dtifit` module (Michiel Cottaar).
  • New :func:`.makeWriteable` function which ensures that a numpy.array is writeable, and creates a copy if necessary

Changed

  • The :class:`.GiftiMesh` class no longer creates copies of the mesh vertex/index arrays. This means that, these arrays will be flagged as read-only.
  • The :class:`.Mesh` class handles vertex data sets requiring different triangle unwinding orders, at the cost of potentially having to store two copies of the mesh indices.

Fixed

  • The :class:`.FeatDesign` class now handles "compressed" voxelwise EV files, such as those generated by PNM.

2.0.1 (Monday April 1st 2019)

Fixed

  • Fixed a bug with the :func:`.gifti.relatedFiles` function returning duplicate files.

2.0.0 (Friday March 20th 2019)

Added

  • New :mod:`fsl.utils.filetree` package for defining and working with file/directory templates (Michiel Cottaar).
  • Simple built-in :mod:`.deprecated` decorator.
  • New :mod:`fsl.data.utils` module, which currently contains one function :func:`.guessType`, which guesses the data type of a file/directory path.
  • New :func:`.commonBase` function for finding the common prefix of a set of file/directory paths.

Changed

  • Removed support for Python 2.7 and 3.4.
  • Minimum required version of nibabel is now 2.3.
  • The :class:`.Image` class now fully delegates to nibabel for managing file handles.
  • The :class:`.GiftiMesh` class can now load surface files which contain vertex data, and will accept surface files which end in .gii, rather than requiring files which end in .surf.gii.
  • The name property of :class:`.Mesh` instances can now be updated.

Removed

  • Many deprecated items removed.

Deprecated

  • Deprecated the :func:`.loadIndexedImageFile` function, and the indexed flag to the :class:`.Image` constructor.

1.13.3 (Friday February 8th 2019)

Fixed

  • Fixed an issue with the :func:`.dicom.loadSeries` using memory-mapping for image files that would subsequently be deleted.
  • Fixed an issue in the :class:`.GiftiMesh` class, where numpy/nibabel was returning read-only index arrays.

1.13.2 (Friday November 30th 2018)

Changed

  • The :meth:`.Image.resample` method now supports images with more than three dimensions.
  • The :func:`fsl.utils.fslsub.submit` now returns the job-id as a string rather than a one-element tuple. It now also accepts a nested sequence of job ids rather than just a flat sequence. This will also changes the output from the function wrappers in :mod:`fsl.wrappers` if submitted.

Fixed

  • Fix to the :class:`.ImageWrapper` regarding complex data types.

1.13.1 (Friday November 23rd 2018)

Fixed

  • Added a missing image attribute in the :class:`.VoxelwiseConfoundEV` class.
  • Make sure that FEAT Cluster objects (created by the :func:`.loadClusterResults` function) contain p and logp attributes, even when cluster thresholding was not used.

1.13.0 (Thursday 22nd November 2018)

Added

  • New wrapper functions for :func:`.fsl_anat`, :func:`.applytopup` (Martin Craig).
  • New :func:`.fileOrText` decorator for use in wrapper functions (Martin Craig).

Changed

  • Various minor changes and enhancements to the FSL function :mod:`.wrappers` interfaces (Martin Craig).

Fixed

  • The immv and imcp scripts now accept incorrect file extensions on input arguments.

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.