Tags: nipy/nibabel
Tags
5.4.1 (Tuesday 10 March 2026) Bug-fix release in the 5.4.x series. This release addresses test failures on shallow clones or when run with ``python -m pytest`` in Python 3.14+. Bug fixes --------- * Adjust tests to not depend on how pytest is run, or deep clones (pr/1478) (CM)
5.4.0 (Monday 2 March 2026) New feature release in the 5.4.x series. This release requires a minimum Python of 3.10 and NumPy 1.25, and has been tested up to Python 3.14 and NumPy 2.4. New features ------------ * Add mode parameter to :func:`nibabel.processing.conform` (pr/1396) (Clorindo Notte, reviewed by CM) Enhancements ------------ * Label image axes consistently in cases of extreme obliquity (pr/1450) (Leonardo Ayala, reviewed by CM) * Use :mod:`compression.zstd` or ``backports.zstd`` in preference to ``pyzstd`` (pr/1444) (PM, reviewed by CM) * Support PAR/REC files generated by Philips R11 consoles (pr/1430) (Alex Daniel, reviewed by CM) * Add stub file for top-level nibabel module, improving support in code analyzers (pr/1436) (Jon Cluce, reviewed by CM) * Use informative error message for missing file attribute in :class:`~nibabel.streamlines.tck.TCKFile` header (pr/1422) (Jon Haitz Legarreta Gorroño, reviewed by CM) * Support ``ushort`` datatypes in MGH/MGZ files (pr/1415) (Benjamin Thyreau, reviewed by CM) * Simplify :func:`nibabel.cmdline.utils.table2string` implementation (pr/1403) (CM) Bug fixes --------- * Fix type-checking errors in :func:`nibabel.volumeutils.rec2dict` (pr/1424) (Jon Haitz Legarreta Gorroño, reviewed by CM) * Adapt to functools.partial becoming a method descriptor in Python 3.14 (pr/1391) (Benjamin Beasley, reviewed by CM) Maintenance ----------- * Split pre-release tests into cron job (pr/1466) (CM, reviewed by Remi Gau) * Adapt to numpy 2.5 deprecation of setting :attr:`~numpy.ndarray.shape` attributes (pr/1452) (CM) * Document and test support for :class:`os.PathLike` objects in streamlines APIs (pr/1435) (Jon Haitz Legarreta Gorroño, reviewed by CM) * Drop CI tests on Intel Macs (pr/1439) (Dimitri Papadopoulos, reviewed by CM) * Update license metadata using SPDX expression (pr/1425) (Dimitri Papadopoulos, reviewed by CM) * Test on Python 3.14, us locking tox runners (pr/1431, pr/1447) (CM) * Update style checker (ruff) and address new complaints (pr/1405, pr/1406, pr/1433) (CM, Dimitri Papadopoulos) * Add broad testing for Python 3.13 (pr/1381) (CM) * Build docs on PRs with ReadTheDocs to permit quick inspection. (pr/1398) (CM) API changes and deprecations ---------------------------- * Drop support for Python 3.9, Numpy < 1.25 (pr/1448) (CM)
5.3.1 (Tuesday 15 October 2024) Bug-fix release in the 5.3.x series. Bug fixes --------- * Restore access to private attribute ``Nifti1Extension._content`` to unbreak subclasses that did not use public accessor methods. (pr/1378) (CM, reviewed by Basile Pinsard) * Remove test order dependency in ``test_api_validators`` (pr/1377) (CM)
5.3.0 (Tuesday 8 October 2024) This release primarily adds support for Python 3.13 and Numpy 2.0. NiBabel 6.0 will drop support for Numpy 1.x. New features ------------ * Update NIfTI extension protocol to include ``.content : bytes``, ``.text : str`` and ``.json : dict`` properties for accessing extension contents. Exceptions will be raised on ``.text`` and ``.json`` if conversion fails. (pr/1336) (CM) Enhancements ------------ * Ability to read data from many multiframe DICOM files that previously generated errors (pr/1340) (Brendan Moloney, reviewed by CM) * ``nib-nifti-dx`` now supports NIfTI-2 files with a ``--nifti2`` flag (pr/1323) (CM) * Update :mod:`nibabel.streamlines.tractogram` to support ragged arrays. (pr/1291) (Serge Koudoro, reviewed by CM) * Filter numpy ``UserWarning`` on ``np.finfo(np.longdouble)``. This can occur on Windows systems, but it's done in the context of checking for the problem that is being warned against, so there's no need to be noisy. (pr/1310) (Joshua Newton, reviewed by CM) * Improve error message for for dicomwrapper errors in shape calculation (pr/1302) (YOH, reviewed by CM) * Support "flat" ASCII-encoded GIFTI DataArrays (pr/1298) (PM, reviewed by CM) Bug fixes --------- * Fix location initialization/update in OrthoSlicer3D for permuted axes (pr/1319, pr/1350) (Guillaume Becq, reviewed by CM) * Fix DICOM scaling, making frame filtering explicit (pr/1342) (Brendan Moloney, reviewed by CM) * Fixed multiframe DICOM issue where data could be flipped along slice dimension relative to the affine (pr/1340) (Brendan Moloney, reviewed by CM) * Fixed multiframe DICOM issue where ``image_position`` and the translation component in the ``affine`` could be incorrect (pr/1340) (Brendan Moloney, reviewed by CM) Maintenance ----------- * Numpy 2.0 compatibility and addressing deprecations in numpy API (pr/1304, pr/1330, pr/1331, pr/1334, pr/1337) (Jon Haitz Legarreta Gorroño, CM) * Python 3.13 compatibility (pr/1315) (Sandro from the Fedora Project, reviewed by CM) * Testing on Python 3.13 with free-threading (pr/1339) (CM) * Testing on ARM64 Mac OS runners (pr/1320) (CM) * Proactively address deprecations in coming Python versions (pr/1329, pr/1332, pr/1333) (Jon Haitz Legarreta Gorroño, reviewed by CM) * Replace nose-era ``setup()`` and ``teardown()`` functions with pytest equivalents (pr/1325) (Sandro from the Fedora Project, reviewed by Étienne Mollier and CM) * Transitioned from blue/isort/flake8 to `ruff <https://docs.astral.sh/ruff/>`__. (pr/1289) (Dimitri Papadopoulos, reviewed by CM) * Vetted and added various rules to the ruff configuration for auto-formatting and style guide enforcement. (pr/1321, pr/1351, pr/1352, pr/1353, pr/1354, pr/1355, pr/1357, pr/1358, pr/1359, pr/1360, pr/1361, pr/1362, pr/1363, pr/1364, pr/1368, pr/1369) (Dimitri Papadopoulos, reviewed by CM) * Fixing typos when found. (pr/1313, pr/1370) (MB, Dimitri Papadopoulos) * Applied Repo-Review suggestions (Dimitri Papadopoulos, reviewed by CM) API changes and deprecations ---------------------------- * Raise :class:`~nibabel.spatialimages.HeaderDataError` from :func:`~nibabel.nifti1.Nifti1Header.set_qform` if the affine fails to decompose. This would previously result in :class:`numpy.linalg.LinAlgError`. (pr/1227) (CM) * The :func:`nibabel.onetime.auto_attr` module can be replaced by :func:`functools.cached_property` in all supported versions of Python. This alias may be removed in future versions. (pr/1341) (CM) * Removed the deprecated ``nisext`` (setuptools extensions) package. (pr/1290) (CM, reviewed by MB)
5.2.1 (Monday 26 February 2024) Bug-fix release in the 5.2.x series. Enhancements ------------ * Support "flat" ASCII-encoded GIFTI DataArrays (pr/1298) (PM, reviewed by CM) Bug fixes --------- * Tolerate missing ``git`` when reporting version info (pr/1286) (CM, reviewed by Yuri Victorovich) * Handle Siemens XA30 derived DWI DICOMs (pr/1296) (CM, reviewed by YOH and Mathias Goncalves) Maintenance ----------- * Add tool for generating GitHub-friendly release notes (pr/1284) (CM) * Accommodate pytest 8 changes (pr/1297) (CM)
5.2.0 (Monday 11 December 2023) 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.NDGrid` 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` to pass keyword arguments to :meth:`~xml.etree.ElementTree.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_element` 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 (Monday 3 April 2023) 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)
PreviousNext