Nibabel

Latest version: v5.2.1

Safety actively analyzes 613750 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 10

5.2.0

===============================

New feature release in the 5.2.x series.

This release requires a minimum Python of 3.8 and NumPy 1.20, and has been
tested up to Python 3.12 and NumPy 1.26.

New features
------------
* Add generic :class:`~nibabel.pointset.Pointset` and regularly spaced
:class:`~nibabel.pointset.Grid` data structures in preparation for coordinate
transformation and resampling (pr/1251) (CM, reviewed by Oscar Esteban)

Enhancements
------------
* Add :meth:`~nibabel.arrayproxy.ArrayProxy.copy` method to
:class:`~nibabel.arrayproxy.ArrayProxy` (pr/1255) (CM, reviewed by Paul McCarthy)
* Permit :meth:`~nibabel.xmlutils.XmlSerializable.to_xml` methods to pass keyword
arguments to :func:`xml.etree.ElementTree.tostring` (pr/1258)
(CM)
* Allow user expansion (e.g., ``~/...``) in strings passed to functions that
accept paths (pr/1260) (Reinder Vos de Wael, reviewed by CM)
* Expand CIFTI-2 brain structures to permit synonyms (pr/1256) (CM, reviewed
by Mathias Goncalves)
* Annotate :class:`~nibabel.spatialimages.SpatialImage` as accepting
``affine=None`` argument (pr/1253) (Blake Dewey, reviewed by CM)
* Warn on invalid MINC2 spacing declarations, treat as missing (pr/1237)
(Peter Suter, reviewed by CM)
* Refactor :func:`~nibabel.nicom.utils.find_private_section` for improved
readability and maintainability (pr/1228) (MB, reviewed by CM)

Bug fixes
---------
* Resolve test failure related to randomly generated invalid case (pr/1221) (CM)

Documentation
-------------
* Remove references to NiPy data packages from documentation (pr/1275)
(Dimitri Papadopoulos, reviewed by CM, MB)

Maintenance
-----------
* Quality of life improvements for CI, including color output and OIDC publishing
(pr/1282) (CM)
* Patch for NumPy 2.0 pre-release compatibility (pr/1250) (Mathieu
Scheltienne and EL, reviewed by CM)
* Add spellchecking to tox, CI and pre-commit (pr/1266) (CM)
* Add py312-dev-x64 environment to Tox to test NumPy 2.0 pre-release
compatibility (pr/1267) (CM, reviewed by EL)
* Resurrect tox configuration to cover development workflows and CI checks
(pr/1262) (CM)
* Updates for Python 3.12 support (pr/1247, pr/1261, pr/1273) (CM)
* Remove uses of deprecated ``numpy.compat.py3k`` module (pr/1243) (Eric
Larson, reviewed by CM)
* Various fixes for typos and style issues detected by Codespell, pyupgrade and
refurb (pr/1263, pr/1269, pr/1270, pr/1271, pr/1276) (Dimitri Papadopoulos,
reviewed by CM)
* Use stable argsorts in PARREC tests to ensure consistent behavior on systems
with AVX512 SIMD instructions and numpy 1.25 (pr/1234) (CM)
* Resolve CodeCov submission failures (pr/1224) (CM)
* Link to logo with full URL to avoid broken links in PyPI (pr/1218) (CM,
reviewed by Zvi Baratz)

API changes and deprecations
----------------------------
* The :mod:`nibabel.pydicom_compat` module is deprecated and will be removed
in NiBabel 7.0. (pr/1280)
* The :func:`~nibabel.casting.int_to_float` and :func:`~nibabel.casting.as_int`
functions are no longer needed to work around NumPy deficiencies and have been
deprecated (pr/1272) (CM, reviewed by EL)

5.1.0

===========================

New feature release in the 5.1.x series.

Enhancements
------------
* Make :mod:`nibabel.imagestats` available with ``import nibabel`` (pr/1208)
(Fabian Perez, reviewed by CM)
* Use symmetric threshold for identifying unit quaternions on qform
calculations (pr/1182) (CM, reviewed by MB)
* Type annotations for :mod:`~nibabel.loadsave` (pr/1213) and
:class:`~nibabel.spatialimages.SpatialImage` APIs (pr/1179),
:mod:`~nibabel.deprecated`, :mod:`~nibabel.deprecator`,
:mod:`~nibabel.onetime` and :mod:`~nibabel.optpkg` modules (pr/1188),
:mod:`~nibabel.volumeutils` (pr/1189), :mod:`~nibabel.filename_parser` and
:mod:`~nibabel.openers` (pr/1197) (CM, reviewed by Zvi Baratz)

Bug fixes
---------
* Require explicit overrides to write GIFTI files that contain data arrays
with data types not permitted by the GIFTI standard (pr/1199) (CM, reviewed
by Alexis Thual)

Maintenance
-----------
* Move compression detection logic into a private ``nibabel._compression``
module, resolving unexpected errors from pyzstd. (pr/1212) (CM)
* Improved consistency of docstring formatting (pr/1200) (Zvi Baratz, reviewed
by CM)
* Modernized README text (pr/1195) (Zvi Baratz, reviewed by CM)
* Updated README badges to include package distributions (pr/1192) (Horea
Christian, reviewed by CM)
* Removed all dependencies on distutils and setuptools (pr/1190) (CM,
reviewed by Zvi Baratz)
* Add a ``_version.pyi`` stub to allow mypy_ to run without building nibabel
(pr/1210) (CM)


.. _mypy: https://mypy.readthedocs.io/

5.0.1

===============================

Bug-fix release in the 5.0.x series.

Bug fixes
---------
* Support ragged voxel arrays in
:class:`~nibabel.cifti2.cifti2_axes.ParcelsAxis` (pr/1194) (Michiel Cottaar,
reviewed by CM)
* Return to cwd on exception in :class:`~nibabel.tmpdirs.InTemporaryDirectory`
(pr/1184) (CM)

Maintenance
-----------
* Add ``py.typed`` to module root to enable use of types in downstream
projects (CM, reviewed by Fernando Pérez-Garcia)
* Cache git-archive separately from Python packages in GitHub Actions
(pr/1186) (CM, reviewed by Zvi Baratz)

5.0.0

=============================

New feature release in the 5.0.x series.

New features
------------
* :class:`~nibabel.filebasedimages.SerializableImage` now has
:meth:`~nibabel.filebasedimages.SerializableImage.to_stream()` and
:meth:`~nibabel.filebasedimages.SerializableImage.from_stream()` methods to
read/write streams implementing the :class:`~io.IOBase` interface. A
:meth:`~nibabel.filebasedimages.SerializableImage.from_url()` method
enables loading images from URLs. (pr/1129) (CM, reviewed by MB)
* :class:`~nibabel.streamlines.trk.TrkFile` supports TRKv3, an
undocumented but generally compatible variant of TRKv2. (pr/1125) (CM)

Enhancements
------------
* Support multiline header fields in :class:`~nibabel.streamlines.tck.TCKFile`
(pr/1175) (CM, reviewed by Matt Cieslak)
* Make layout order an initialization parameter of
:class:`~nibabel.arrayproxy.ArrayProxy` (pr/1131) (CM, reviewed by MB)
* Initial support for type annotations. (pr/1115, pr/1178) (CM, reviewed by
Zvi Baratz)

Bug fixes
---------
* Handle extension/file-format mismatches implemented incompletely in pr/1013
(pr/1138) (CM, reviewed by Thomas Phil)
* Improve handling of invalid TCK files, which could sometimes cause an
infinite loop (pr/1140) (Anibal Solon, reviewed by CM)
* Clean up ECAT test case that left filehandle open and failed to use class
variables (pr/1155) (Dimitri Papadopoulos, reviewed by CM)

Maintenance
-----------
* Simplify TCK reading code by assuming files are open in binary mode
(pr/1142) (Anibal Solon, reviewed by MC, CM)
* Code support for tests covering deprecated functionality (pr/1159) (CM)
* Miscellaneous code cleanups (pr/1148, pr/1149, pr/1153, pr/1154, pr/1156)
(Dimitri Papadopoulos, reviewed by CM)
* Update CI to build, test and deploy PyPI artifacts (pr/1134) (CM, reviewed
by MB)
* Transition from ``setup.cfg`` to ``pyproject.toml`` package configuration
(pr/1133) (CM, reviewed by MB)
* Addressed race conditions preventing running tests with pytest-xdist_.
(pr/1157, pr/1158) (CM, reviewed by Christian Haselgrove)
* Apply blue_ and isort_ auto-formatters and provide pre-commit_ configuration
to reduce human burden of style guidelines. (pr/1124, pr/1165, pr/1169)
(CM and Zvi Baratz)
* Manage versioning with setuptools_scm_ (pr/1171) (CM, reviewed by Zvi Baratz)
* Reduce installed package size by excluding very large test file (pr/1176)
(CM, reviewed by Zvi Baratz)

API changes and deprecations
----------------------------
* Passing an ``int64`` array to :class:`~nibabel.nifti1.Nifti1Image` without a
header or dtype argument will raise a ``ValueError``. (pr/1173) (CM)
* :class:`nibabel.tmpdirs.TemporaryDirectory` is deprecated in favor of
:class:`tempfile.TemporaryDirectory`. (pr/1172) (CM, reviewed by Zvi
Baratz)
* The ``nisext`` package is deprecated and will be removed in NiBabel 6.0.
(pr/1170) (CM, reviewed by MB)
* Drop support for Python 3.7, Numpy < 1.19 (pr/1177) (CM)
* The following deprecated functions and methods will now raise
``ExpiredDeprecationError``\s

* :func:`nibabel.loadsave.read_img_data`
* :meth:`nibabel.dataobj_images.DataobjImage.get_data`
* :func:`nibabel.loadsave.guessed_image_type`
* :func:`nibabel.onetime.setattr_on_read`
* :func:`nibabel.orientations.flip_axis`

* Modules, classes and functions that expired at 4.0 were fully removed.
``ExpiredDeprecationError``\s will now be ``AttributeError``\s.

.. _blue: https://blue.readthedocs.io
.. _isort: https://pycqa.github.io/isort/
.. _pre-commit: https://pre-commit.com/
.. _pytest-xdist: https://pytest-xdist.readthedocs.io
.. _setuptools_scm: https://github.com/pypa/setuptools_scm

4.0.2

================================

Bug-fix release in the 4.0.x series.

Bug fixes
---------
* Make ``GiftiMetaData.data`` a list proxy, deprecate (pr/1127) (CM, reviewed
by Hao-Ting Wang)

Maintenance
-----------
* Finalize deprecation of ``ArrayWriter.to_fileobj(nan2zero=...)`` argument
(pr/1126) (CM)

4.0.1

=============================

Bug-fix release in the 4.0.x series.

Bug fixes
---------
* Finalize 4.0 deprecations, converting tests expecting ``DeprecationWarning`` to
expected ``ExpiredDeprecationError`` (pr/1117) (CM)

Maintenance
-----------
* Suppress new numpy warning on nan-to-int cast (pr/1118) (CM, reviewed by MB)

Page 1 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.