forked from pool/python-nibabel
- Switch to autosetup macro.
- Restrict numpy to < 2 because it isn't currently supported. - Add patch support-pytest-8.patch: * Use pytest setup/teardown methods. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-nibabel?expand=0&rev=24
This commit is contained in:
commit
2024221375
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
3
nibabel-5.2.1.tar.gz
Normal file
3
nibabel-5.2.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b6c80b2e728e4bc2b65f1142d9b8d2287a9102a8bf8477e115ef0d8334559975
|
||||
size 4503320
|
206
python-nibabel.changes
Normal file
206
python-nibabel.changes
Normal file
@ -0,0 +1,206 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 22 05:51:49 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Switch to autosetup macro.
|
||||
- Restrict numpy to < 2 because it isn't currently supported.
|
||||
- Add patch support-pytest-8.patch:
|
||||
* Use pytest setup/teardown methods.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 25 20:12:25 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 5.2.1:
|
||||
* Support "flat" ASCII-encoded GIFTI DataArrays (pr/1298) (PM,
|
||||
reviewed by CM)
|
||||
* Tolerate missing ``git`` when reporting version info
|
||||
(pr/1286)
|
||||
* Handle Siemens XA30 derived DWI DICOMs (pr/1296)
|
||||
* Add tool for generating GitHub-friendly release notes
|
||||
* Accommodate pytest 8 changes (pr/1297) (CM)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 15 16:13:37 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 5.2.0
|
||||
## New features
|
||||
* Add generic Pointset and regularly spaced Grid data structures
|
||||
in preparation for coordinate transformation and resampling
|
||||
(#1251) (CM, reviewed by Oscar Esteban)
|
||||
## Enhancements
|
||||
* Add copy method to ArrayProxy (#1255) (CM, reviewed by Paul
|
||||
McCarthy)
|
||||
* Permit to_xml to pass keyword arguments to tostring (#1258)
|
||||
(CM)
|
||||
* Allow user expansion (e.g., ~/...) in strings passed to
|
||||
functions that accept paths (#1260) (Reinder Vos de Wael,
|
||||
reviewed by CM)
|
||||
* Expand CIFTI-2 brain structures to permit synonyms (#1256) (CM,
|
||||
reviewed by Mathias Goncalves)
|
||||
* Annotate SpatialImage as accepting affine=None argument (#1253)
|
||||
(Blake Dewey, reviewed by CM)
|
||||
* Warn on invalid MINC2 spacing declarations, treat as missing
|
||||
(#1237) (Peter Suter, reviewed by CM)
|
||||
* Refactor find_private_section for improved readability and
|
||||
maintainability (#1228) (MB, reviewed by CM)
|
||||
## API changes and deprecations
|
||||
* The nibabel.pydicom_compat module is deprecated and will be
|
||||
removed in NiBabel 7.0. (#1280)
|
||||
* The int_to_float and as_int functions are no longer needed to
|
||||
work around NumPy deficiencies and have been deprecated (#1272)
|
||||
(CM, reviewed by EL)
|
||||
- Release 5.1
|
||||
## Enhancements
|
||||
* Make 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 nibabel.loadsave (pr/1213) and
|
||||
nibabel.spatialimages.SpatialImage APIs (pr/1179),
|
||||
nibabel.deprecated, nibabel.deprecator, nibabel.onetime and
|
||||
nibabel.optpkg modules (pr/1188), nibabel.volumeutils
|
||||
(pr/1189), nibabel.filename_parser and nibabel.openers
|
||||
(pr/1197) (CM, reviewed by Zvi Baratz)
|
||||
- Release 5.0
|
||||
## New features
|
||||
* SerializableImage now has to_stream() and from_stream() methods
|
||||
to read/write streams implementing the io.IOBase interface. A
|
||||
from_url() method enables loading images from URLs. (pr/1129)
|
||||
(CM, reviewed by MB)
|
||||
* TrkFile supports TRKv3, an undocumented but generally
|
||||
compatible variant of TRKv2. (pr/1125) (CM)
|
||||
## Enhancements
|
||||
* Support multiline header fields in TCKFile (pr/1175) (CM,
|
||||
reviewed by Matt Cieslak)
|
||||
* Make layout order an initialization parameter of ArrayProxy
|
||||
(pr/1131) (CM, reviewed by MB)
|
||||
* Initial support for type annotations. (pr/1115, pr/1178) (CM,
|
||||
reviewed by Zvi Baratz)
|
||||
## API changes and deprecations
|
||||
* Passing an int64 array to Nifti1Image without a header or dtype
|
||||
argument will raise a ValueError. (pr/1173) (CM)
|
||||
* 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
|
||||
ExpiredDeprecationErrors
|
||||
- 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 will now be
|
||||
AttributeError.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 6 14:07:18 UTC 2022 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
- Update to 4.0.2
|
||||
* many changes, see Changelog
|
||||
* nib-convert CLI tool to make image type and data dtype conversion
|
||||
accessible via the command line.
|
||||
* Allow dtypes to be passed to Analyze-like images at __init__()
|
||||
and to_filename()
|
||||
* Allow compressed GIFTI images
|
||||
* Add zstd compression support
|
||||
* Test on Python 3.10
|
||||
* Passing (u)int64 arrays to Nifti1Image and subclasses will warn
|
||||
unless a header or dtype option is passed; in the future this will
|
||||
become an error. Additionally, passing int or 'int' to set_data_dtype()
|
||||
now raises an error, requiring an explicit numpy dtype to make 64-bit
|
||||
integer images.
|
||||
* Drop support for Python 3.6, Numpy < 1.17
|
||||
* Fully removed the APIs, which have raised errors on use since 3.0
|
||||
- Drop upstreamed 983.patch and purge-nose.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 31 09:09:56 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Add upstream patch to fix test on Backports:SLE-15-SP3:
|
||||
* 983.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 12 14:37:36 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- skip python 36
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 10 09:06:52 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
|
||||
|
||||
- Update to 3.1.1
|
||||
* Conformation function (``processing.conform``) and CLI tool
|
||||
(``nib-conform``) to apply shape, orientation and zooms (pr/853) (Jakub
|
||||
Kaczmarzyk, reviewed by CM, YOH)
|
||||
* Affine rescaling function (``affines.rescale_affine``) to update
|
||||
dimensions and voxel sizes (pr/853) (CM, reviewed by Jakub Kaczmarzyk)
|
||||
* ``kw_only_meth``/``kw_only_func`` decorators are deprecated (pr/848)
|
||||
(RM, reviewed by CM)
|
||||
- Add patch purge-nose.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 21 10:56:36 UTC 2020 - Petr Gajdos <pgajdos@suse.com>
|
||||
|
||||
- %python3_only -> %python_alternative
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 6 08:07:25 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Update to 3.0.1:
|
||||
* Test failed by using array method on tuple. (pr/860) (Ben Darwin, reviewed by CM)
|
||||
* Validate ExpiredDeprecationErrors, promoted by 3.0 release from DeprecationWarnings. (pr/857) (CM)
|
||||
* 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)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 19 20:41:07 UTC 2019 - Todd R <toddrme2178@gmail.com>
|
||||
|
||||
- Update to version 2.5.1
|
||||
+ Enhancements
|
||||
* Ignore endianness in ``nib-diff`` if values match
|
||||
+ Bug fixes
|
||||
* Correctly handle Philips DICOMs w/ derived volume
|
||||
* Raise CSA tag limit to 1000, parametrize for future relaxing
|
||||
* Coerce data types to match NIfTI intent codes when writing GIFTI data
|
||||
arrays
|
||||
+ Maintenance
|
||||
* Require h5py 2.10 for Windows + Python < 3.6 to resolve unexpected dtypes
|
||||
in Minc2 data
|
||||
+ API changes and deprecations
|
||||
* Deprecate ``nicom.dicomwrappers.Wrapper.get_affine()`` in favor of ``affine``
|
||||
property; final removal in nibabel 4.0
|
||||
- Update to version 2.5.0
|
||||
+ Enhancements
|
||||
* Add SerializableImage class with to/from_bytes methods
|
||||
* Check CIFTI-2 data shape matches shape described by header
|
||||
+ Bug fixes
|
||||
* Handle stricter numpy casting rules in tests
|
||||
* TRK header fields flipped in files written on big-endian systems
|
||||
* Load multiframe ECAT images with Python 3
|
||||
+ Maintenance
|
||||
* Fix CodeCov paths on Appveyor for more accurate coverage
|
||||
* Move to setuptools and reduce use ``nisext`` functions
|
||||
* Better handle test setup/teardown
|
||||
+ API changes and deprecations
|
||||
* Effect threatened warnings and set some deprecation timelines
|
||||
* Trackvis methods now default to v2 formats
|
||||
* ``nibabel.trackvis`` scheduled for removal in nibabel 4.0
|
||||
* ``nibabel.minc`` and ``nibabel.MincImage`` will be removed in nibabel 3.0
|
||||
- Drop upstream-included fix_numpy_1_17.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 29 18:56:10 UTC 2019 - Todd R <toddrme2178@gmail.com>
|
||||
|
||||
- Add fix_numpy_1_17.patch to fix building with numpy 1.17.0
|
||||
From: gh#/nipy/nibabel#768
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 26 14:21:33 UTC 2019 - Todd R <toddrme2178@gmail.com>
|
||||
|
||||
- Initial version
|
105
python-nibabel.spec
Normal file
105
python-nibabel.spec
Normal file
@ -0,0 +1,105 @@
|
||||
#
|
||||
# spec file for package python-nibabel
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define binaries nib-conform nib-convert nib-dicomfs nib-diff nib-ls nib-nifti-dx nib-roi nib-stats nib-tck2trk nib-trk2tck parrec2nii
|
||||
Name: python-nibabel
|
||||
Version: 5.2.1
|
||||
Release: 0
|
||||
Summary: Tool to access multiple neuroimaging data formats
|
||||
License: MIT
|
||||
URL: https://nipy.org/nibabel
|
||||
# SourceRepository: https://github.com/nipy/nibabel
|
||||
Source: https://files.pythonhosted.org/packages/source/n/nibabel/nibabel-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM gh#nipy/nibabel#1325
|
||||
Patch0: support-pytest-8.patch
|
||||
BuildRequires: %{python_module base >= 3.8}
|
||||
BuildRequires: %{python_module hatch-vcs}
|
||||
BuildRequires: %{python_module hatchling}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires: python-packaging => 17
|
||||
Requires: (python-importlib-resources >= 1.3 if python-base < 3.9)
|
||||
Requires: (python-numpy >= 1.20 with python-numpy < 2)
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
Recommends: python-Pillow
|
||||
Recommends: python-h5py
|
||||
Recommends: python-pydicom >= 1
|
||||
Recommends: python-scipy
|
||||
BuildArch: noarch
|
||||
# SECTION test requirements
|
||||
BuildRequires: %{python_module Pillow}
|
||||
BuildRequires: %{python_module h5py}
|
||||
BuildRequires: %{python_module importlib-resources >= 1.3 if %python-base < 3.9}
|
||||
BuildRequires: %{python_module numpy >= 1.20 with %python-numpy < 2}
|
||||
BuildRequires: %{python_module packaging >= 17}
|
||||
BuildRequires: %{python_module pydicom >= 1}
|
||||
BuildRequires: %{python_module pytest-doctestplus}
|
||||
BuildRequires: %{python_module pytest-httpserver}
|
||||
BuildRequires: %{python_module pytest-xdist}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module scipy}
|
||||
BuildRequires: %{pythons}
|
||||
BuildRequires: git-core
|
||||
# /SECTION
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
This package provides read +/- write access to some common medical and
|
||||
neuroimaging file formats, including: ANALYZE (plain, SPM99, SPM2 and
|
||||
later), GIFTI, NIfTI1, NIfTI2, CIFTI-2, MINC1, MINC2, AFNI BRIK/HEAD,
|
||||
MGH and ECAT as well as Philips PAR/REC. We can read and write
|
||||
FreeSurfer geometry, annotation and morphometry files. There is some
|
||||
very limited support for DICOM.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n nibabel-%{version}
|
||||
find nibabel -name .gitignore -delete
|
||||
sed -i '1{/^!#/d}' nibabel/cmdline/*.py
|
||||
chmod a-x nibabel/cmdline/*.py
|
||||
chmod a-x nibabel/tests/data/umass_anonymized.PAR nibabel/gifti/tests/data/gzipbase64.gii nibabel/nicom/dicomwrappers.py nibabel/nicom/tests/test_dicomwrappers.py
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
for b in %{binaries}; do
|
||||
%python_clone -a %{buildroot}%{_bindir}/$b
|
||||
done
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
%pytest -n auto -rsfE
|
||||
|
||||
%post
|
||||
%{expand:%(for b in %{binaries}; do echo "%%python_install_alternative $b"; done)}
|
||||
|
||||
%postun
|
||||
%{expand:%(for b in %{binaries}; do echo "%%python_uninstall_alternative $b"; done)}
|
||||
|
||||
%files %{python_files}
|
||||
%doc AUTHOR Changelog README.rst
|
||||
%license COPYING
|
||||
%{expand:%(for b in %{binaries}; do echo "%%python_alternative %%{_bindir}/$b"; done)}
|
||||
%{python_sitelib}/nibabel
|
||||
%{python_sitelib}/nisext
|
||||
%{python_sitelib}/nibabel-%{version}.dist-info
|
||||
|
||||
%changelog
|
60
support-pytest-8.patch
Normal file
60
support-pytest-8.patch
Normal file
@ -0,0 +1,60 @@
|
||||
From 82c8588528d5a06fd0dfc99e3cbb83d5cc299e2b Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Wed, 29 May 2024 00:20:34 +0200
|
||||
Subject: [PATCH] Replace deprecated setup() and teardown()
|
||||
|
||||
Those were compatibility functions for porting from nose. They are now
|
||||
deprecated and have been removed from pytest.
|
||||
|
||||
This will make all tests compatible with pytests 8.x.
|
||||
---
|
||||
nibabel/streamlines/tests/test_streamlines.py | 2 +-
|
||||
nibabel/tests/test_deprecated.py | 4 ++--
|
||||
nibabel/tests/test_dft.py | 2 +-
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/nibabel/streamlines/tests/test_streamlines.py b/nibabel/streamlines/tests/test_streamlines.py
|
||||
index f0bd9c7c4..53a43c393 100644
|
||||
--- a/nibabel/streamlines/tests/test_streamlines.py
|
||||
+++ b/nibabel/streamlines/tests/test_streamlines.py
|
||||
@@ -20,7 +20,7 @@
|
||||
DATA = {}
|
||||
|
||||
|
||||
-def setup():
|
||||
+def setup_module():
|
||||
global DATA
|
||||
DATA['empty_filenames'] = [pjoin(data_path, 'empty' + ext) for ext in FORMATS.keys()]
|
||||
DATA['simple_filenames'] = [pjoin(data_path, 'simple' + ext) for ext in FORMATS.keys()]
|
||||
diff --git a/nibabel/tests/test_deprecated.py b/nibabel/tests/test_deprecated.py
|
||||
index f1c3d517c..01636632e 100644
|
||||
--- a/nibabel/tests/test_deprecated.py
|
||||
+++ b/nibabel/tests/test_deprecated.py
|
||||
@@ -14,12 +14,12 @@
|
||||
from nibabel.tests.test_deprecator import TestDeprecatorFunc as _TestDF
|
||||
|
||||
|
||||
-def setup():
|
||||
+def setup_module():
|
||||
# Hack nibabel version string
|
||||
pkg_info.cmp_pkg_version.__defaults__ = ('2.0',)
|
||||
|
||||
|
||||
-def teardown():
|
||||
+def teardown_module():
|
||||
# Hack nibabel version string back again
|
||||
pkg_info.cmp_pkg_version.__defaults__ = (pkg_info.__version__,)
|
||||
|
||||
diff --git a/nibabel/tests/test_dft.py b/nibabel/tests/test_dft.py
|
||||
index 654af9827..6c6695b16 100644
|
||||
--- a/nibabel/tests/test_dft.py
|
||||
+++ b/nibabel/tests/test_dft.py
|
||||
@@ -26,7 +26,7 @@
|
||||
data_dir = pjoin(dirname(__file__), 'data')
|
||||
|
||||
|
||||
-def setUpModule():
|
||||
+def setup_module():
|
||||
if os.name == 'nt':
|
||||
raise unittest.SkipTest('FUSE not available for windows, skipping dft tests')
|
||||
if not have_dicom:
|
Loading…
Reference in New Issue
Block a user