Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nipy/nibabel
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 4f9aeec2f28920431f281ad027b298f91c18c6de
Choose a base ref
..
head repository: nipy/nibabel
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6f91b9263f46f192c1fed2db5df8c9a38da0561c
Choose a head ref
Showing with 3,096 additions and 1,523 deletions.
  1. +1 −0 .gitignore
  2. +4 −0 .mailmap
  3. +8 −2 .travis.yml
  4. +27 −16 .zenodo.json
  5. +72 −1 Changelog
  6. +0 −1 azure-pipelines.yml
  7. +1 −1 bin/nib-dicomfs
  8. +1 −1 bin/nib-nifti-dx
  9. +1 −1 doc-requirements.txt
  10. +91 −0 doc/source/_static/nibabel-logo.svg
  11. +8 −3 doc/source/_templates/layout.html
  12. +3 −2 doc/source/conf.py
  13. +5 −7 doc/source/devel/register_me.py
  14. +9 −8 doc/source/dicom/derivations/dicom_mosaic.py
  15. +78 −71 doc/source/dicom/derivations/spm_dicom_orient.py
  16. +9 −5 doc/source/dicom/dicom_orientation.rst
  17. +1 −1 doc/source/dicom/spm_dicom.rst
  18. +4 −0 doc/source/index.rst
  19. +1 −1 doc/source/installation.rst
  20. +23 −24 doc/tools/apigen.py
  21. +1 −1 doc/tools/build_modref_templates.py
  22. +1 −1 min-requirements.txt
  23. +46 −6 nibabel/affines.py
  24. +53 −56 nibabel/analyze.py
  25. +4 −5 nibabel/arrayproxy.py
  26. +21 −22 nibabel/batteryrunners.py
  27. +4 −7 nibabel/benchmarks/bench_arrayproxy_slicing.py
  28. +2 −3 nibabel/benchmarks/bench_fileslice.py
  29. +4 −6 nibabel/benchmarks/bench_streamlines.py
  30. +1 −3 nibabel/benchmarks/butils.py
  31. +6 −8 nibabel/brikhead.py
  32. +4 −5 nibabel/casting.py
  33. +57 −41 nibabel/cifti2/cifti2.py
  34. +21 −23 nibabel/cifti2/cifti2_axes.py
  35. +2 −2 nibabel/cifti2/parse_cifti2.py
  36. +2 −1 nibabel/cifti2/tests/test_cifti2.py
  37. +1 −1 nibabel/cifti2/tests/test_cifti2io_header.py
  38. +2 −2 nibabel/cifti2/tests/test_new_cifti2.py
  39. +59 −0 nibabel/cmdline/conform.py
  40. +23 −23 nibabel/cmdline/dicomfs.py
  41. +1 −1 nibabel/cmdline/diff.py
  42. +9 −9 nibabel/cmdline/ls.py
  43. +4 −4 nibabel/cmdline/nifti_dx.py
  44. +15 −17 nibabel/cmdline/parrec2nii.py
  45. +2 −3 nibabel/cmdline/tck2trk.py
  46. +56 −0 nibabel/cmdline/tests/test_conform.py
  47. +2 −3 nibabel/cmdline/trk2tck.py
  48. +4 −5 nibabel/cmdline/utils.py
  49. +0 −15 nibabel/conftest.py
  50. +32 −40 nibabel/data.py
  51. +8 −8 nibabel/dataobj_images.py
  52. +1 −1 nibabel/deprecated.py
  53. +2 −4 nibabel/deprecator.py
  54. +11 −11 nibabel/dft.py
  55. +24 −26 nibabel/ecat.py
  56. +4 −4 nibabel/environment.py
  57. +14 −14 nibabel/eulerangles.py
  58. +1 −1 nibabel/externals/tests/test_netcdf.py
  59. +27 −28 nibabel/filebasedimages.py
  60. +9 −9 nibabel/fileholders.py
  61. +10 −11 nibabel/filename_parser.py
  62. +2 −2 nibabel/fileslice.py
  63. +1 −2 nibabel/fileutils.py
  64. +9 −13 nibabel/freesurfer/io.py
  65. +63 −65 nibabel/freesurfer/mghformat.py
  66. +12 −13 nibabel/freesurfer/tests/test_io.py
  67. +3 −3 nibabel/freesurfer/tests/test_mghformat.py
  68. +14 −18 nibabel/funcs.py
  69. +4 −5 nibabel/gifti/gifti.py
  70. +1 −1 nibabel/gifti/parse_gifti_fast.py
  71. +1 −2 nibabel/gifti/tests/test_parse_gifti_fast.py
  72. +1 −1 nibabel/imageclasses.py
  73. +2 −5 nibabel/info.py
  74. +1 −2 nibabel/keywordonly.py
  75. +10 −13 nibabel/loadsave.py
  76. +8 −8 nibabel/minc1.py
  77. +6 −6 nibabel/minc2.py
  78. +218 −0 nibabel/nicom/ascconv.py
  79. +12 −13 nibabel/nicom/csareader.py
  80. +12 −14 nibabel/nicom/dicomreaders.py
  81. +2 −2 nibabel/nicom/dicomwrappers.py
  82. +12 −12 nibabel/nicom/dwiparams.py
  83. +9 −9 nibabel/nicom/structreader.py
  84. +919 −0 nibabel/nicom/tests/data/ascconv_sample.txt
  85. +1 −1 nibabel/nicom/tests/data_pkgs.py
  86. +63 −0 nibabel/nicom/tests/test_ascconv.py
  87. +95 −107 nibabel/nifti1.py
  88. +9 −9 nibabel/nifti2.py
  89. +4 −2 nibabel/openers.py
  90. +5 −7 nibabel/optpkg.py
  91. +25 −42 nibabel/orientations.py
  92. +18 −20 nibabel/parrec.py
  93. +4 −4 nibabel/pkg_info.py
  94. +79 −1 nibabel/processing.py
  95. +31 −31 nibabel/quaternions.py
  96. +3 −4 nibabel/rstutils.py
  97. +27 −27 nibabel/spatialimages.py
  98. +5 −5 nibabel/spm2analyze.py
  99. +18 −18 nibabel/spm99analyze.py
  100. +2 −2 nibabel/streamlines/__init__.py
  101. +12 −13 nibabel/streamlines/array_sequence.py
  102. +16 −19 nibabel/streamlines/tck.py
  103. +1 −1 nibabel/streamlines/tests/test_array_sequence.py
  104. +4 −4 nibabel/streamlines/tests/test_trk.py
  105. +9 −12 nibabel/streamlines/tractogram.py
  106. +17 −19 nibabel/streamlines/trk.py
  107. +4 −4 nibabel/testing/__init__.py
  108. +3 −6 nibabel/tests/data/check_parrec_reslice.py
  109. +1 −1 nibabel/tests/nibabel_data.py
  110. +7 −7 nibabel/tests/scriptrunner.py
  111. +21 −1 nibabel/tests/test_affines.py
  112. +4 −3 nibabel/tests/test_analyze.py
  113. +1 −1 nibabel/tests/test_api_validators.py
  114. +1 −1 nibabel/tests/test_arrayproxy.py
  115. +1 −1 nibabel/tests/test_arraywriters.py
  116. +2 −2 nibabel/tests/test_batteryrunners.py
  117. +3 −3 nibabel/tests/test_data.py
  118. +7 −12 nibabel/tests/test_deprecator.py
  119. +1 −1 nibabel/tests/test_endiancodes.py
  120. +3 −3 nibabel/tests/test_euler.py
  121. +1 −1 nibabel/tests/test_filename_parser.py
  122. +22 −6 nibabel/tests/test_fileslice.py
  123. +1 −1 nibabel/tests/test_floating.py
  124. +1 −1 nibabel/tests/test_funcs.py
  125. +1 −1 nibabel/tests/test_image_load_save.py
  126. +7 −10 nibabel/tests/test_image_types.py
  127. +1 −1 nibabel/tests/test_loadsave.py
  128. +3 −4 nibabel/tests/test_nifti1.py
  129. +1 −1 nibabel/tests/test_nifti2.py
  130. +1 −1 nibabel/tests/test_openers.py
  131. +9 −23 nibabel/tests/test_orientations.py
  132. +13 −1 nibabel/tests/test_parrec.py
  133. +36 −3 nibabel/tests/test_processing.py
  134. +2 −2 nibabel/tests/test_quaternions.py
  135. +1 −1 nibabel/tests/test_recoder.py
  136. +3 −3 nibabel/tests/test_removalschedule.py
  137. +3 −3 nibabel/tests/test_round_trip.py
  138. +2 −2 nibabel/tests/test_scaling.py
  139. +13 −14 nibabel/tests/test_scripts.py
  140. +2 −2 nibabel/tests/test_spatialimages.py
  141. +1 −1 nibabel/tests/test_spm2analyze.py
  142. +1 −1 nibabel/tests/test_trackvis.py
  143. +7 −8 nibabel/tests/test_volumeutils.py
  144. +9 −9 nibabel/tests/test_wrapstruct.py
  145. +4 −4 nibabel/tmpdirs.py
  146. +28 −34 nibabel/trackvis.py
  147. +1 −1 nibabel/tripwire.py
  148. +33 −18 nibabel/viewers.py
  149. +42 −47 nibabel/volumeutils.py
  150. +42 −43 nibabel/wrapstruct.py
  151. +12 −19 nisext/sexts.py
  152. +22 −25 nisext/testers.py
  153. +2 −2 nisext/tests/test_testers.py
  154. +1 −1 requirements.txt
  155. +2 −1 setup.cfg
  156. +5 −4 tools/bisect_nose.py
  157. +15 −17 tools/gitwash_dumper.py
  158. +4 −5 tools/make_tarball.py
  159. +13 −17 tools/profile
  160. +3 −7 versioneer.py
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -17,6 +17,7 @@
.pydevproject
*.py.orig
.DS_Store
.idea/

# Not sure what the next one is for
*.kpf
4 changes: 4 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -8,6 +8,7 @@
# This file is up-to-date if the command git log --format="%aN <%aE>" | sort -u
# gives no duplicates.
Alexandre Gramfort <alexandre.gramfort@inria.fr> Alexandre Gramfort <alexandre.gramfort@m4x.org>
Anibal Sólon <anibalsolon@gmail.com>
Ariel Rokem <arokem@gmail.com> arokem <arokem@gmail.com>
B. Nolan Nichols <nolan.nichols@gmail.com> Nolan Nichols <nolan.nichols@gmail.com>
Basile Pinsard <basile.pinsard@gmail.com> bpinsard <basile.pinsard@gmail.com>
@@ -52,8 +53,11 @@ Michael Hanke <michael.hanke@gmail.com> <michaelhanke@mvpa1.dartmouth.edu>
Michiel Cottaar <MichielCottaar@protonmail.com> Michiel Cottaar <MichielCottaar@protonmail.ch>
Ly Nguyen <nguyen60@seattleu.edu> lxn2 <lxn2@uw.edu>
Oliver P. Hinds <ohinds@gmail.com> ohinds <ohinds@gmail.com>
Or Duek <orduek@gmail.com>
Oscar Esteban <code@oscaresteban.es>
Paul McCarthy <pauldmccarthy@gmail.com> Paul McCarthy <pauld.mccarthy@gmail.com>
Roberto Guidotti <robbenson18@gmail.com>
Roberto Guidotti <robbenson18@gmail.com> <guidotr1@cs-087.org.aalto.fi>
Satrajit Ghosh <satra@mit.edu> Satrajit Ghosh <satrajit.ghosh@gmail.com>
Serge Koudoro <skab12@gmail.com> skoudoro <skab12@gmail.com>
Stephan Gerhard <git@unidesign.ch> Stephan Gerhard <git@github.com>
10 changes: 8 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@
# can't be any leading "-"s - All newlines will be removed, so use ";"s

os: linux
arch: amd64
dist: xenial
language: python
cache: pip
@@ -16,16 +17,21 @@ env:
- INSTALL_TYPE="setup"
- CHECK_TYPE="test"
- EXTRA_WHEELS="https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com"
- PRE_WHEELS="https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com"
- NIGHTLY_WHEELS="https://pypi.anaconda.org/scipy-wheels-nightly/simple"
- EXTRA_PIP_FLAGS="--find-links=$EXTRA_WHEELS"
- PRE_PIP_FLAGS="--pre $EXTRA_PIP_FLAGS --find-links $PRE_WHEELS"
- PRE_PIP_FLAGS="--pre $EXTRA_PIP_FLAGS --extra-index-url $NIGHTLY_WHEELS"

python:
- 3.7
- 3.8

jobs:
include:
- arch: arm64
python: 3.6
env:
- DEPENDS="numpy"
- EXTRA_PIP_FLAGS="$PRE_PIP_FLAGS"
# Basic dependencies only
- python: 3.6
env:
43 changes: 27 additions & 16 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -28,6 +28,11 @@
{
"name": "McCarthy, Paul"
},
{
"affiliation": "MIT",
"name": "Jarecka, Dorota",
"orcid": "0000-0001-8282-2988"
},
{
"affiliation": "Center for Open Neuroscience, Dartmouth College",
"name": "Cheng, Christopher P.",
@@ -77,6 +82,19 @@
"name": "Kastman, Erik",
"orcid": "0000-0001-7221-9042"
},
{
"affiliation": "MIT",
"name": "Kaczmarzyk, Jakub",
"orcid": "0000-0002-5544-7577"
},
{
"affiliation": "Department of Computer Science, Aalto University, Espoo, Finland and Department of Neuroscience, Imaging and Clinical Sciences, University G. D'Annunzio, Chieti, Italy",
"name": "Guidotti, Roberto",
"orcid": "0000-0002-0807-6005"
},
{
"name": "Duek, Or"
},
{
"affiliation": "The University of Washington eScience Institute",
"name": "Rokem, Ariel",
@@ -96,6 +114,11 @@
"name": "Goncalves, Mathias",
"orcid": "0000-0002-7252-7771"
},
{
"affiliation": "Montreal Neurological Institute and Hospital",
"name": "Markello, Ross",
"orcid": "0000-0003-1057-1336"
},
{
"affiliation": "Department of Psychology, University of California Davis, CA, USA",
"name": "Riddell, Cameron",
@@ -118,9 +141,7 @@
"name": "Lepp\u00e4kangas, Jaakko"
},
{
"affiliation": "Montreal Neurological Institute and Hospital",
"name": "Markello, Ross",
"orcid": "0000-0003-1057-1336"
"name": "S\u00f3lon, Anibal"
},
{
"name": "van den Bosch, Jasper J.F."
@@ -136,11 +157,6 @@
{
"name": "Subramaniam, Krish"
},
{
"affiliation": "MIT",
"name": "Jarecka, Dorota",
"orcid": "0000-0001-8282-2988"
},
{
"affiliation": "Google",
"name": "Gorgolewski, Krzysztof J.",
@@ -211,11 +227,6 @@
"name": "Varoquaux, Gael",
"orcid": "0000-0003-1076-5122"
},
{
"affiliation": "MIT",
"name": "Kaczmarzyk, Jakub",
"orcid": "0000-0002-5544-7577"
},
{
"affiliation": "Universit\u00e9 de Sherbrooke",
"name": "Legarreta, Jon Haitz",
@@ -259,6 +270,9 @@
{
"name": "Schwartz, Yannick"
},
{
"name": "Baratz, Zvi"
},
{
"affiliation": "Hospital for Sick Children",
"name": "Darwin, Benjamin C"
@@ -323,9 +337,6 @@
"name": "Reddam, Venkateswara Reddy",
"orcid": "0000-0001-6817-2966"
},
{
"name": "Baratz, Zvi"
},
{
"name": "freec84"
}
73 changes: 72 additions & 1 deletion Changelog
Original file line number Diff line number Diff line change
@@ -21,10 +21,81 @@ Nibabel releases
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.
Eric Larson (EL), Demian Wassermann, Stephan Gerhard and Ross Markello (RM).

References like "pr/298" refer to github pull request numbers.

3.1.1 (Friday 26 June 2020)
===========================

Bug-fix release in the 3.1.x series.

These are small compatibility fixes that support ARM64 architecture and
``indexed_gzip>=1.3.0``.

Bug fixes
---------
* Detect ``IndexedGzipFile`` as compressed file type (pr/925) (PM, reviewed by
CM)
* Correctly cast ``nan`` when testing ``array_to_file``, fixing ARM64 builds
(pr/862) (CM, reviewed by MB)


3.1.0 (Monday 20 April 2020)
============================

New feature release in the 3.1.x series.

New features
------------
* 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)

Bug fixes
---------
* Delay import of h5py until neded (pr/889) (YOH, reviewed by CM)

Maintenance
-----------
* Fix typo in documentation (pr/893) (Zvi Baratz, reviewed by CM)
* Tests converted from nose to pytest (pr/865 + many sub-PRs)
(Dorota Jarecka, Krzyzstof Gorgolewski, Roberto Guidotti, Anibal Solon,
and Or Duek)

API changes and deprecations
----------------------------
* ``kw_only_meth``/``kw_only_func`` decorators are deprecated (pr/848)
(RM, reviewed by CM)


2.5.2 (Wednesday 8 April 2020)
==============================

Bug-fix release in the 2.5.x series. This is an extended-support series,
providing bug fixes for Python 2.7 and 3.4.

This and all future releases in the 2.5.x series will be incompatible with
Python 3.9. The last compatible series of numpy and scipy are 1.16.x and
1.2.x, respectively.

If you are able to upgrade to Python 3, it is recommended to upgrade to
NiBabel 3.

Bug fixes
---------
* Change strings with invalid escapes to raw strings (pr/827) (EL, reviewed
by CM)
* Re-import externals/netcdf.py from scipy to resolve numpy deprecation
(pr/821) (CM)

Maintenance
-----------
* Set maximum numpy to 1.16.x, maximum scipy to 1.2.x (pr/901) (CM)


3.0.2 (Monday 9 March 2020)
===========================

1 change: 0 additions & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -5,7 +5,6 @@ jobs:
name: Windows
vmImage: windows-2019
matrix:
py35-x86:
py36-x86:
PYTHON_VERSION: '3.6'
PYTHON_ARCH: 'x86'
2 changes: 1 addition & 1 deletion bin/nib-dicomfs
Original file line number Diff line number Diff line change
@@ -12,4 +12,4 @@
from nibabel.cmdline.dicomfs import main

if __name__ == '__main__':
main()
main()
2 changes: 1 addition & 1 deletion bin/nib-nifti-dx
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@
# copyright and license terms.
#
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ##
''' Print nifti diagnostics for header files '''
""" Print nifti diagnostics for header files """

from nibabel.cmdline.nifti_dx import main

2 changes: 1 addition & 1 deletion doc-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Requirements for building docs
-r requirements.txt
sphinx
sphinx<3
numpydoc
texext
matplotlib >=1.3.1
Loading