[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