Skip to content

Releases: nipy/nibabel

4.0.0

Compare
Choose a tag to compare

DOI

Most work on NiBabel so far has been by Matthew Brett (MB), Chris Markiewicz
(CM), Michael Hanke (MH), Marc-Alexandre Côté (MC), Ben Cipollini (BC), Paul
McCarthy (PM), Chris Cheng (CC), Yaroslav Halchenko (YOH), Satra Ghosh (SG),
Eric Larson (EL), Demian Wassermann, Stephan Gerhard and Ross Markello (RM).

References like "pr/298" refer to github pull request numbers.

4.0.0 (Saturday 18 June 2022)

New feature release in the 4.0.x series.

New features

  • Add 'mask', 'compat' and 'smallest' dtype aliases to NIfTI images
    to allow for dtype specifications that can depend on the contents of the data.
    'mask' is a synonym for uint8. 'compat' will find the nearest
    Analyze-compatible (therefore widely supported) dtype that will not truncate
    the data. 'smallest' attempts to find the smallest integer dtype that will
    contain the data. (pr/1096) (CM, reviewed by Chris Rorden and Josh Teves)
  • Add dtype arguments to Cifti2Image (pr/1111) (CM)
  • Allow dtypes to be passed to Analyze-like images at __init__() and
    to_filename() to provide better control over output images. (pr/1082)
    (CM, following discussions with Chris Rorden, Josh Teves, Jerome Dockes, and MB)
  • Allow compressed GIFTI images (MB, reviewed by CM)
  • Add zstd compression support (pr/1005) (Andrew Van, reviewed by CM)
  • Support ExternalFileBinary GIFTI data arrays (PM, reviewed by CM)

Enhancements

  • Document InTemporaryDirectory as non-thread-safe (pr/1103) (Jacob Roberts,
    reviewed by MB)
  • Unify Caret-XML-style metadata structure (GiftiMetaData, Cifti2MetaData)
    as dict-like (pr/1091) (CM, reviewed by Josh Teves and Hao-Ting Wang)
  • Add __repr__ methods to GIFTI objects (pr/1092) (CM,
    reviewed by Josh Teves and Hao-Ting Wang)
  • Create gzip header deterministically by default (pr/1024) (CM, reviewed by YOH)
  • Provide clear error message when files with zip extensions don't match
    file contents (pr/1013) (Jérôme Dockès, reviewed by CM)

Bug fixes

  • Re-import externals/netcdf.py from scipy to resolve numpy API change (pr/1110)
    (CM)
  • Resize ArraySequence.data without helper function to avoid reference increment
    (pr/1093) (MC, reviewed by CM)

Maintenance

  • Update submodule URLs to use https over git protocol (pr/1097) (CM)
  • Published BIAP 9: CoordinateImage API (pr/1084) (CM)
  • Drop uses of deprecated distutils (pr/1073) (CM, reviewed by MB)
  • Suppress LGTM false alarm "Clear-text logging of sensitive information"
    (pr/1052) (Dimitri Papadopoulos, reviewed by CM)
  • Test on Python 3.10 (pr/1047) (CM)
  • Fix typos found by codespell (pr/1040, pr/1044)
    (Dimitri Papadopoulos, reviewed by CM)
  • Run stable tests weekly, pre-release tests nightly (pr/1025) (CM)
  • Documentation updates to establish/clarify governance and decision
    making (pr/1019, pr/1020, pr/1022, pr/1018, pr/1017, pr/1016) (MB and CM)

API changes and deprecations

  • Writing NIfTIs with 64-bit integer dtypes is getting harder.
    Passing (u)int64 arrays to Nifti1Image and subclasses will warn unless
    a header or dtype option is passed; in the future this will become an
    error.
    Additionally, passing int or 'int' to set_data_dtype() now raises
    an error, requiring an explicit numpy dtype to make 64-bit integer images.
    (pr/1082) (CM, following discussions with Chris Rorden, Josh Teves, Jerome Dockes,
    and MB)
  • Drop support for Python 3.6, Numpy < 1.17 (pr/1079) (CM)
  • Fully removed the following APIs, which have raised errors on use
    since 3.0 (pr/980) (CM, reviewed by Jonathan Daniel)
    • nibabel.trackvis
    • nibabel.volumeutils.calculate_scale
    • nibabel.volumeutils.can_cast
    • nibabel.volumeutils.scale_min_max
    • nibabel.dataobj_images.DataobjImage.get_shape
    • nibabel.minc1.MincImage (use Minc1Image)
    • nibabel.minc1.MincFile (use Minc1File)
    • nibabel.filebasedimages.FileBasedImage.from_files
    • nibabel.filebasedimages.FileBasedImage.filespec_to_files
    • nibabel.filebasedimages.FileBasedImage.to_filespec
    • nibabel.filebasedimages.FileBasedImage.to_files
    • nibabel.arrayproxy.ArrayProxy.header
    • keep_file_open=="auto" parameter to load method (now must be boolean)

4.0.0rc0

f8de8ce
Compare
Choose a tag to compare
4.0.0rc0 Pre-release
Pre-release

Most work on NiBabel so far has been by Matthew Brett (MB), Chris Markiewicz
(CM), Michael Hanke (MH), Marc-Alexandre Côté (MC), Ben Cipollini (BC), Paul
McCarthy (PM), Chris Cheng (CC), Yaroslav Halchenko (YOH), Satra Ghosh (SG),
Eric Larson (EL), Demian Wassermann, Stephan Gerhard and Ross Markello (RM).

References like "pr/298" refer to github pull request numbers.

4.0.0 (To be determined)

New feature release in the 4.0.x series.

New features

  • Add 'mask', 'compat' and 'smallest' dtype aliases to NIfTI images
    to allow for dtype specifications that can depend on the contents of the data.
    'mask' is a synonym for uint8. 'compat' will find the nearest
    Analyze-compatible (therefore widely supported) dtype that will not truncate
    the data. 'smallest' attempts to find the smallest integer dtype that will
    contain the data. (pr/1096) (CM, reviewed by Chris Rorden and Josh Teves)
  • Add dtype arguments to Cifti2Image (pr/1111) (CM)
  • Allow dtypes to be passed to Analyze-like images at __init__() and
    to_filename() to provide better control over output images. (pr/1082)
    (CM, following discussions with Chris Rorden, Josh Teves, Jerome Dockes, and MB)
  • Allow compressed GIFTI images (MB, reviewed by CM)
  • Add zstd compression support (pr/1005) (Andrew Van, reviewed by CM)
  • Support ExternalFileBinary GIFTI data arrays (PM, reviewed by CM)

Enhancements

  • Document InTemporaryDirectory as non-thread-safe (pr/1103) (Jacob Roberts,
    reviewed by MB)
  • Unify Caret-XML-style metadata structure (GiftiMetaData, Cifti2MetaData)
    as dict-like (pr/1091) (CM, reviewed by Josh Teves and Hao-Ting Wang)
  • Add __repr__ methods to GIFTI objects (pr/1092) (CM,
    reviewed by Josh Teves and Hao-Ting Wang)
  • Create gzip header deterministically by default (pr/1024) (CM, reviewed by YOH)
  • Provide clear error message when files with zip extensions don't match
    file contents (pr/1013) (Jérôme Dockès, reviewed by CM)

Bug fixes

  • Re-import externals/netcdf.py from scipy to resolve numpy API change (pr/1110)
    (CM)
  • Resize ArraySequence.data without helper function to avoid reference increment
    (pr/1093) (MC, reviewed by CM)

Maintenance

  • Update submodule URLs to use https over git protocol (pr/1097) (CM)
  • Published BIAP 9: CoordinateImage API (pr/1084) (CM)
  • Drop uses of deprecated distutils (pr/1073) (CM, reviewed by MB)
  • Suppress LGTM false alarm "Clear-text logging of sensitive information"
    (pr/1052) (Dimitri Papadopoulos, reviewed by CM)
  • Test on Python 3.10 (pr/1047) (CM)
  • Fix typos found by codespell (pr/1040, pr/1044)
    (Dimitri Papadopoulos, reviewed by CM)
  • Run stable tests weekly, pre-release tests nightly (pr/1025) (CM)
  • Documentation updates to establish/clarify governance and decision
    making (pr/1019, pr/1020, pr/1022, pr/1018, pr/1017, pr/1016) (MB and CM)

API changes and deprecations

  • Writing NIfTIs with 64-bit integer dtypes is getting harder.
    Passing (u)int64 arrays to Nifti1Image and subclasses will warn unless
    a header or dtype option is passed; in the future this will become an
    error.
    Additionally, passing int or 'int' to set_data_dtype() now raises
    an error, requiring an explicit numpy dtype to make 64-bit integer images.
    (pr/1082) (CM, following discussions with Chris Rorden, Josh Teves, Jerome Dockes,
    and MB)
  • Drop support for Python 3.6, Numpy < 1.17 (pr/1079) (CM)
  • Fully removed the following APIs, which have raised errors on use
    since 3.0 (pr/980) (CM, reviewed by Jonathan Daniel)
    • nibabel.trackvis
    • nibabel.volumeutils.calculate_scale
    • nibabel.volumeutils.can_cast
    • nibabel.volumeutils.scale_min_max
    • nibabel.dataobj_images.DataobjImage.get_shape
    • nibabel.minc1.MincImage (use Minc1Image)
    • nibabel.minc1.MincFile (use Minc1File)
    • nibabel.filebasedimages.FileBasedImage.from_files
    • nibabel.filebasedimages.FileBasedImage.filespec_to_files
    • nibabel.filebasedimages.FileBasedImage.to_filespec
    • nibabel.filebasedimages.FileBasedImage.to_files
    • nibabel.arrayproxy.ArrayProxy.header
    • keep_file_open=="auto" parameter to load method (now must be boolean)

3.2.2

14db79e
Compare
Choose a tag to compare

DOI

Most work on NiBabel so far has been by Matthew Brett (MB), Chris Markiewicz (CM), Michael Hanke (MH), Marc-Alexandre Côté (MC), Ben Cipollini (BC), Paul McCarthy (PM), Chris Cheng (CC), Yaroslav Halchenko (YOH), Satra Ghosh (SG), Eric Larson (EL), Demian Wassermann, Stephan Gerhard and Ross Markello (RM).

References like "pr/298" refer to github pull request numbers.

3.2.2 (Monday 7 February 2022)

Bug fix release in the 3.2.x series.

Bug fixes

  • Reshape CIFTI-2 affines to 4x4 when encoded as row-major sequence (pr/1059)
    (Andrew Van, reviewed by CM)
  • Suggest nibabel.save() on calls to deprecated giftiio.write() (pr/1055)
    (Anibal Solon, reviewed by CM)
  • Various bugs and style issues detected by LGTM (pr/1043, pr/1048)
    (Dimitri Papadopoulos, reviewed by CM)
  • Resolve unclosed file warning in GiftiImage (pr/1038) (Lea Waller, reviewed by CM)
  • Fix typos preventing deprecation warnings from being raised (pr/991)
    (Jonathan Daniel, reviewed by MB)
  • Work around numpy SystemError to maintain expected error types (pr/1051) (CM)
  • Use more constrained mock when testing optpkg (pr/983) (CM, reviewed by YOH)

Maintenance

  • Add setuptools requirement to match usage (pr/1009)
    (Tomáš Hrnčiar, reviewed by CM)
  • Fix grammar of headings in CoC (pr/996) (MB, reviewed by CM, Ariel Rokem)
  • Set minimum pydicom to 1.0.0 (pr/1050) (CM)
  • Submit coverage to codecov via pinned PyPI package (pr/1008) (CM)
  • Upgrade versioneer to 0.19 (pr/967) (CM)
  • Migrate to GitHub actions (pr/972) (CM, reviewed by Serge Koudoro)

3.2.1

3.2.1
Compare
Choose a tag to compare

DOI

Most work on NiBabel so far has been by Matthew Brett (MB), Chris Markiewicz (CM), Michael Hanke (MH), Marc-Alexandre Côté (MC), Ben Cipollini (BC), Paul McCarthy (PM), Chris Cheng (CC), Yaroslav Halchenko (YOH), Satra Ghosh (SG), Eric Larson (EL), Demian Wassermann, Stephan Gerhard and Ross Markello (RM).

References like "pr/298" refer to github pull request numbers.

3.2.1 (Saturday 28 November 2020)

Bug fix release in the 3.2.x series.

Maintenance

  • Drop references to builtin types in Numpy namespace like np.float (pr/964) (EL, reviewed by CM)
  • Ensure compatibility with Python 3.9 (pr/963) (CM)

3.2.0

61a2b5b
Compare
Choose a tag to compare

DOI

Most work on NiBabel so far has been by Matthew Brett (MB), Chris Markiewicz (CM), Michael Hanke (MH), Marc-Alexandre Côté (MC), Ben Cipollini (BC), Paul McCarthy (PM), Chris Cheng (CC), Yaroslav Halchenko (YOH), Satra Ghosh (SG), Eric Larson (EL), Demian Wassermann, Stephan Gerhard and Ross Markello (RM).

References like "pr/298" refer to github pull request numbers.

3.2.0 (Tuesday 20 October 2020)

New feature release in the 3.2.x series.

New features

  • nib-stats CLI tool to expose new nibabel.imagestats API. Initial implementation of volume calculations, a la fslstats -V. (pr/952) (Julian Klug, reviewed by CM and GitHub user 0rC0)
  • nib-roi CLI tool to crop images and/or flip axes (pr/947) (CM, reviewed by Chris Cheng and Mathias Goncalves)
  • Parser for Siemens "ASCCONV" text format (pr/896) (Brendan Moloney and MB, reviewed by CM)

Enhancements

  • Drop confusing mention of img.to_filename() in getting started guide (pr/946) (Fernando Pérez-Garcia, reviewed by MB, CM)
  • Implement to_bytes()/from_bytes() methods for Cifti2Image (pr/938) (CM, reviewed by Mathias Goncalves)
  • Clean up of DICOM documentation (pr/910) (Jonathan Daniel, reviewed by MB)

Bug fixes

  • Use canvas manager API to set title in OrthoSlicer3D (pr/958) (EL, reviewed by CM)
  • Record units as seconds parrec2nii; previously set TR to seconds but retained msec units (pr/931) (CM, reviewed by MB)
  • Reflect on-disk dimensions in NIfTI-2 view of CIFTI-2 images (pr/930) (Mathias Goncalves and CM)
  • Fix outdated Python 2 and Sympy code in DICOM derivations (pr/911) (MB, reviewed by CM)
  • Change string with invalid escape to raw string (pr/909) (EL, reviewed by MB)

Maintenance

  • Fix typo in docs (pr/955) (Carl Gauthier, reviewed by CM)
  • Purge nose from nisext tests (pr/934) (Markéta Calábková, reviewed by CM)
  • Suppress expected warnings in tests (pr/949) (CM, reviewed by Dorota Jarecka)
  • Various cleanups and modernizations (pr/916, pr/917, pr/918, pr/919) (Jonathan Daniel, reviewed by CM)
  • SVG logo for improved appearance in with zooming (pr/914) (Jonathan Daniel, reviewed by CM)

API changes and deprecations

  • Drop support for Numpy < 1.13 (pr/922) (CM)
  • Warn on use of onetime.setattr_on_read, which has been a deprecated alias of auto_attr (pr/948) (CM, reviewed by Ariel Rokem)

3.1.1

Compare
Choose a tag to compare

DOI

Most work on NiBabel so far has been by Matthew Brett (MB), Chris Markiewicz (CM), Michael Hanke (MH), Marc-Alexandre Côté (MC), Ben Cipollini (BC), Paul McCarthy (PM), Chris Cheng (CC), Yaroslav Halchenko (YOH), Satra Ghosh (SG), Eric Larson (EL), Demian Wassermann, Stephan Gerhard and Ross Markello (RM).

References like "pr/298" refer to github pull request numbers.

3.1.1 (Friday 26 June 2020)

Bug-fix release in the 3.1.x series.

These are small compatibility fixes that support ARM64 architecture and indexed_gzip>=1.3.0.

Bug fixes

  • Detect IndexedGzipFile as compressed file type (pr/925) (PM, reviewed by CM)
  • Correctly cast nan when testing array_to_file, fixing ARM64 builds (pr/862) (CM, reviewed by MB)

3.1.0

3.1.0
Compare
Choose a tag to compare

DOI

Most work on NiBabel so far has been by Matthew Brett (MB), Chris Markiewicz (CM), Michael Hanke (MH), Marc-Alexandre Côté (MC), Ben Cipollini (BC), Paul McCarthy (PM), Chris Cheng (CC), Yaroslav Halchenko (YOH), Satra Ghosh (SG), Eric Larson (EL), Demian Wassermann, Stephan Gerhard and Ross Markello (RM).

References like "pr/298" refer to github pull request numbers.

3.1.0 (Monday 20 April 2020)

New feature release in the 3.1.x series.

New features

  • Conformation function (processing.conform) and CLI tool (nib-conform) to apply shape, orientation and zooms (pr/853) (Jakub Kaczmarzyk, reviewed by CM, YOH)
  • Affine rescaling function (affines.rescale_affine) to update dimensions and voxel sizes (pr/853) (CM, reviewed by Jakub Kaczmarzyk)

Bug fixes

  • Delay import of h5py until neded (pr/889) (YOH, reviewed by CM)

Maintenance

  • Fix typo in documentation (pr/893) (Zvi Baratz, reviewed by CM)
  • Tests converted from nose to pytest (pr/865 + many sub-PRs) (Dorota Jarecka, Krzyzstof Gorgolewski, Roberto Guidotti, Anibal Solon, Or Duek, CM)

API changes and deprecations

  • kw_only_meth/kw_only_func decorators are deprecated (pr/848) (RM, reviewed by CM)

2.5.2

Compare
Choose a tag to compare

DOI

Most work on NiBabel so far has been by Matthew Brett (MB), Chris Markiewicz (CM), Michael Hanke (MH), Marc-Alexandre Côté (MC), Ben Cipollini (BC), Paul McCarthy (PM), Chris Cheng (CC), Yaroslav Halchenko (YOH), Satra Ghosh (SG), Eric Larson (EL), Demian Wassermann, and Stephan Gerhard.

References like "pr/298" refer to github pull request numbers.

2.5.2 (Wednesday 8 April 2020)

Bug-fix release in the 2.5.x series. This is an extended-support series, providing bug fixes for Python 2.7 and 3.4.

This and all future releases in the 2.5.x series will be incompatible with Python 3.9. The last compatible series of numpy and scipy are 1.16.x and 1.2.x, respectively.

If you are able to upgrade to Python 3, it is recommended to upgrade to NiBabel 3.

Bug fixes

  • Change strings with invalid escapes to raw strings (pr/827) (EL, reviewed by CM)
  • Re-import externals/netcdf.py from scipy to resolve numpy deprecation (pr/821) (CM)

Maintenance

  • Set maximum numpy to 1.16.x, maximum scipy to 1.2.x (pr/901) (CM)

3.0.2

Compare
Choose a tag to compare

DOI

Most work on NiBabel so far has been by Matthew Brett (MB), Chris Markiewicz (CM), Michael Hanke (MH), Marc-Alexandre Côté (MC), Ben Cipollini (BC), Paul McCarthy (PM), Chris Cheng (CC), Yaroslav Halchenko (YOH), Satra Ghosh (SG), Eric Larson (EL), Demian Wassermann, and Stephan Gerhard.

References like "pr/298" refer to github pull request numbers.

3.0.2 (Monday 9 March 2020)

Bug fixes

  • Attempt to find versioneer version when building docs (pr/894) (CM)
  • Delay import of h5py until neded (backport of pr/889) (YOH, reviewed by CM)

Maintenance

  • Fix typo in documentation (backport of pr/893) (Zvi Baratz, reviewed by CM)
  • Set minimum matplotlib to 1.5.3 to ensure wheels are available on all supported Python versions. (backport of pr/887) (CM)
  • Remove pyproject.toml for now. (issue/859) (CM)

3.0.1

5e16865
Compare
Choose a tag to compare

DOI

Most work on NiBabel so far has been by Matthew Brett (MB), Chris Markiewicz (CM), Michael Hanke (MH), Marc-Alexandre Côté (MC), Ben Cipollini (BC), Paul McCarthy (PM), Chris Cheng (CC), Yaroslav Halchenko (YOH), Satra Ghosh (SG), Eric Larson (EL), Demian Wassermann, and Stephan Gerhard.

References like "pr/298" refer to github pull request numbers.

3.0.1 (Monday 27 January 2020)

Bug fixes

  • Test failed by using array method on tuple. (pr/860) (Ben Darwin, reviewed by CM)
  • Validate ExpiredDeprecationErrors, promoted by 3.0 release from DeprecationWarnings. (pr/857) (CM)

Maintenance

  • Remove logic accommodating numpy without float16 types. (pr/866) (CM)
  • Accommodate new numpy dtype strings. (pr/858) (CM)