Skip to content

3.0.0rc2

Compare
Choose a tag to compare
@effigies effigies released this 12 Dec 01:07
· 1747 commits to master since this release
3.0.0rc2

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.0rc2 (Wednesday 11 December 2019)

New features

  • ArrayProxy __array__() now accepts a dtype parameter, allowing numpy.array(dataobj, dtype=...) calls, as well as casting directly with a dtype (for example, numpy.float32(dataobj)) to control the output type. Scale factors (slope, intercept) are applied, but may be cast to narrower types, to control memory usage. This is now the basis of img.get_fdata(), which will scale data in single precision if the output type is float32. (pr/844) (CM, reviewed by Alejandro de la Vega, Ross Markello)
  • GiftiImage method agg_data() to return usable data arrays (pr/793) (Hao-Ting Wang, reviewed by CM)
  • Accept os.PathLike objects in place of filenames (pr/610) (Cameron Riddell, reviewed by MB, CM)
  • Function to calculate obliquity of affines (pr/815) (Oscar Esteban, reviewed by MB)

Enhancements

  • Improve testing of data scaling in ArrayProxy API (pr/847) (CM, reviewed by Alejandro de la Vega)
  • Document SpatialImage.slicer interface (pr/846) (CM)
  • get_fdata(dtype=np.float32) will attempt to avoid casting data to np.float64 when scaling parameters would otherwise promote the data type unnecessarily. (pr/833) (CM, reviewed by Ross Markello)
  • ArraySequence now supports a large set of Python operators to combine or update in-place. (pr/811) (MC, reviewed by Serge Koudoro, Philippe Poulin, CM, MB)
  • Warn, rather than fail, on DICOMs with unreadable Siemens CSA tags (pr/818) (Henry Braun, reviewed by CM)
  • Improve clarity of coordinate system tutorial (pr/823) (Egor Panfilov, reviewed by MB)

Bug fixes

  • Sliced Tractograms no longer apply_affine to the original Tractogram's streamlines. (pr/811) (MC, reviewed by Serge Koudoro, Philippe Poulin, CM, MB)
  • Re-import externals/netcdf.py from scipy to resolve numpy deprecation (pr/821) (CM)

Maintenance

  • Remove replicated metadata for packaged data from MANIFEST.in (pr/845) (CM)
  • Support Python >=3.5.1, including Python 3.8.0 (pr/787) (CM)
  • Manage versioning with slightly customized Versioneer (pr/786) (CM)
  • Reference Nipy Community Code and Nibabel Developer Guidelines in GitHub community documents (pr/778) (CM, reviewed by MB)

API changes and deprecations

  • Fully remove deprecated checkwarns and minc modules. (pr/852) (CM)
  • The keep_file_open argument to file load operations and ArrayProxys no longer acccepts the value "auto", raising a ValueError. (pr/852) (CM)
  • Deprecate ArraySequence.data in favor of ArraySequence.get_data(), which will return a copy. ArraySequence.data now returns a read-only view. (pr/811) (MC, reviewed by Serge Koudoro, Philippe Poulin, CM, MB)
  • Deprecate DataobjImage.get_data() API, to be removed in nibabel 5.0 (pr/794, pr/809) (CM, reviewed by MB)