[Neuroimaging] ANN: NiBabel 3.0

Alexandre Gramfort alexandre.gramfort at inria.fr
Thu Dec 19 05:40:51 EST 2019


thanks so much guys for supporting this core building block of our tool stack !

Alex

On Thu, Dec 19, 2019 at 12:01 AM Matthew Brett <matthew.brett at gmail.com> wrote:
>
> Hi,
>
> Thanks very much - it's a big mileslone - 3.0.
>
> Cheers,
>
> Matthew
>
> On Wed, Dec 18, 2019 at 6:57 PM Christopher Markiewicz
> <markiewicz at stanford.edu> 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
> _______________________________________________
> Neuroimaging mailing list
> Neuroimaging at python.org
> https://mail.python.org/mailman/listinfo/neuroimaging


More information about the Neuroimaging mailing list