[Neuroimaging] ANN: NiBabel 3.0
bthirion
bertrand.thirion at inria.fr
Wed Dec 18 15:14:44 EST 2019
Congratulations and big thanks to the team !
Best,
Bertrand
On 18/12/2019 18:23, Christopher Markiewicz wrote:
> Hi all,
>
> NiBabel 3.0 is out today! Thanks to everybody who tested the release
> candidates to help a smooth upgrade for users.
>
> The most consequential changes in this release are the removal of
> Python 2 support and the deprecation of the img.get_data() accessor
> method to retrieve the image data block. The supported APIs for
> accessing data are img.get_fdata(), which always casts to float, and
> img.dataobj, which affords more control over the interpretation of the
> data object. The data object also now fully supports the numpy
> __array__ interface, which means it can be cast directly.
>
> Additionally, GIFTI images have a new agg_data() method that
> simplifies the retrieval of DataArrays from GIFTI files into usable
> numpy arrays. Most, if not all, filenames can now be passed as
> pathlib.Path objects. And there are significant updates to the
> streamlines package.
>
> Many thanks to everbody who took the time to investigate and report
> bugs, propose fixes, review pull requests and review the
> documentation, including first-time contributors Cameron Riddell,
> Hao-Ting Wang, Oscar Esteban, Dorota Jarecka, and Chris Gorgolewski.
>
> Full changelog follows.
>
> ----
>
> 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.0 (Wednesday 18 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 ``Tractogram``s 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
> ``ArrayProxy``s
> 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)
>
>
> --
>
> Chris Markiewicz
>
> Center for Reproducible Neuroscience
>
> Stanford University
>
>
> _______________________________________________
> Neuroimaging mailing list
> Neuroimaging at python.org
> https://mail.python.org/mailman/listinfo/neuroimaging
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/neuroimaging/attachments/20191218/f852f8a4/attachment.html>
More information about the Neuroimaging
mailing list