- Notifications
You must be signed in to change notification settings - Fork260
Tags: nipy/nibabel
Tags
5.3.1
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
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
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
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 beentested 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
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)
5.0.1
5.0.1 (Sunday 12 February 2023)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
5.0.0 (Monday 9 January 2023)New feature release in the 5.0.x series.New features------------* nibabel.filebasedimages.SerializableImage now has nibabel.filebasedimages.SerializableImage.to_stream() and nibabel.filebasedimages.SerializableImage.from_stream() methods to read/write streams implementing the io.IOBase interface. A nibabel.filebasedimages.SerializableImage.from_url() method enables loading images from URLs. (pr/1129) (CM, reviewed by MB)* nibabel.streamlines.trk.TrkFile supports TRKv3, an undocumented but generally compatible variant of TRKv2. (pr/1125) (CM)Enhancements------------* Support multiline header fields in nibabel.streamlines.tck.TCKFile (pr/1175) (CM, reviewed by Matt Cieslak)* Make layout order an initialization parameter of 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 nibabel.nifti1.Nifti1Image without a header or dtype argument will raise a `ValueError`. (pr/1173) (CM)* nibabel.tmpdirs.TemporaryDirectory is deprecated in favor of 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 * nibabel.loadsave.read_img_data * nibabel.dataobj_images.DataobjImage.get_data * nibabel.loadsave.guessed_image_type * nibabel.onetime.setattr_on_read * nibabel.orientations.flip_axis* Modules, classes and functions that expired at 4.0 were fully removed. `ExpiredDeprecationError`s will now be `AttributeError`s.
4.0.2
4.0.2 (Wednesday 31 August 2022)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
4.0.1 (Saturday 18 June 2022)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)
PreviousNext