Skip to content

Commit 370b50f

Browse files
authored
Merge pull request #809 from effigies/enh/purge_internal_get_data
ENH: Remove img.get_data() from internal use
2 parents 1d91b72 + 783a0d0 commit 370b50f

39 files changed

+213
-188
lines changed

nibabel/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
img2 = nib.load('other_file.nii.gz')
2424
img3 = nib.load('spm_file.img')
2525
26-
data = img1.get_data()
26+
data = img1.get_fdata()
2727
affine = img1.affine
2828
2929
print(img1)

nibabel/analyze.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1009,7 +1009,7 @@ def to_file_map(self, file_map=None):
10091009
'''
10101010
if file_map is None:
10111011
file_map = self.file_map
1012-
data = self.get_data()
1012+
data = np.asanyarray(self.dataobj)
10131013
self.update_header()
10141014
hdr = self._header
10151015
out_dtype = self.get_data_dtype()

nibabel/brikhead.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,7 @@ class AFNIImage(SpatialImage):
486486
[ 0. , 0. , 3. , -52.3511],
487487
[ 0. , 0. , 0. , 1. ]])
488488
>>> head = load(os.path.join(datadir, 'example4d+orig.HEAD'))
489-
>>> np.array_equal(head.get_data(), brik.get_data())
489+
>>> np.array_equal(head.get_fdata(), brik.get_fdata())
490490
True
491491
"""
492492

nibabel/cifti2/tests/test_cifti2io_axes.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ def check_rewrite(arr, axes, extension='.nii'):
9393
(fd, name) = tempfile.mkstemp(extension)
9494
cifti2.Cifti2Image(arr, header=axes).to_filename(name)
9595
img = nib.load(name)
96-
arr2 = img.get_data()
97-
assert (arr == arr2).all()
96+
arr2 = img.get_fdata()
97+
assert np.allclose(arr, arr2)
9898
for idx in range(len(img.shape)):
9999
assert (axes[idx] == img.header.get_axis(idx))
100100
return img
@@ -103,7 +103,7 @@ def check_rewrite(arr, axes, extension='.nii'):
103103
@needs_nibabel_data('nitest-cifti2')
104104
def test_read_ones():
105105
img = nib.load(os.path.join(test_directory, 'ones.dscalar.nii'))
106-
arr = img.get_data()
106+
arr = img.get_fdata()
107107
axes = [img.header.get_axis(dim) for dim in range(2)]
108108
assert (arr == 1).all()
109109
assert isinstance(axes[0], cifti2_axes.ScalarAxis)
@@ -118,7 +118,7 @@ def test_read_ones():
118118
@needs_nibabel_data('nitest-cifti2')
119119
def test_read_conte69_dscalar():
120120
img = nib.load(os.path.join(test_directory, 'Conte69.MyelinAndCorrThickness.32k_fs_LR.dscalar.nii'))
121-
arr = img.get_data()
121+
arr = img.get_fdata()
122122
axes = [img.header.get_axis(dim) for dim in range(2)]
123123
assert isinstance(axes[0], cifti2_axes.ScalarAxis)
124124
assert len(axes[0]) == 2
@@ -132,7 +132,7 @@ def test_read_conte69_dscalar():
132132
@needs_nibabel_data('nitest-cifti2')
133133
def test_read_conte69_dtseries():
134134
img = nib.load(os.path.join(test_directory, 'Conte69.MyelinAndCorrThickness.32k_fs_LR.dtseries.nii'))
135-
arr = img.get_data()
135+
arr = img.get_fdata()
136136
axes = [img.header.get_axis(dim) for dim in range(2)]
137137
assert isinstance(axes[0], cifti2_axes.SeriesAxis)
138138
assert len(axes[0]) == 2
@@ -147,7 +147,7 @@ def test_read_conte69_dtseries():
147147
@needs_nibabel_data('nitest-cifti2')
148148
def test_read_conte69_dlabel():
149149
img = nib.load(os.path.join(test_directory, 'Conte69.parcellations_VGD11b.32k_fs_LR.dlabel.nii'))
150-
arr = img.get_data()
150+
arr = img.get_fdata()
151151
axes = [img.header.get_axis(dim) for dim in range(2)]
152152
assert isinstance(axes[0], cifti2_axes.LabelAxis)
153153
assert len(axes[0]) == 3
@@ -162,7 +162,7 @@ def test_read_conte69_dlabel():
162162
@needs_nibabel_data('nitest-cifti2')
163163
def test_read_conte69_ptseries():
164164
img = nib.load(os.path.join(test_directory, 'Conte69.MyelinAndCorrThickness.32k_fs_LR.ptseries.nii'))
165-
arr = img.get_data()
165+
arr = img.get_fdata()
166166
axes = [img.header.get_axis(dim) for dim in range(2)]
167167
assert isinstance(axes[0], cifti2_axes.SeriesAxis)
168168
assert len(axes[0]) == 2

nibabel/cifti2/tests/test_cifti2io_header.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ def test_read_and_proxies():
6363
assert_equal(img2.shape, (1, 91282))
6464
# While we cannot reshape arrayproxies, all images are in-memory
6565
assert_true(not img2.in_memory)
66-
data = img2.get_data()
66+
data = img2.get_fdata()
6767
assert_true(data is not img2.dataobj)
6868
# Uncaching has no effect, images are always array images
6969
img2.uncache()
70-
assert_true(data is not img2.get_data())
70+
assert_true(data is not img2.get_fdata())
7171

7272

7373
@needs_nibabel_data('nitest-cifti2')

nibabel/cifti2/tests/test_new_cifti2.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
from nibabel.tmpdirs import InTemporaryDirectory
1414

1515
from nose.tools import assert_true, assert_equal, assert_raises
16-
from nibabel.testing import clear_and_catch_warnings, error_warnings, suppress_warnings
16+
from nibabel.testing import (
17+
clear_and_catch_warnings, error_warnings, suppress_warnings, assert_array_equal)
1718

1819
affine = [[-1.5, 0, 0, 90],
1920
[0, 1.5, 0, -85],
@@ -246,7 +247,7 @@ def test_dtseries():
246247
assert_equal(img2.nifti_header.get_intent()[0],
247248
'ConnDenseSeries')
248249
assert_true(isinstance(img2, ci.Cifti2Image))
249-
assert_true((img2.get_data() == data).all())
250+
assert_array_equal(img2.get_fdata(), data)
250251
check_series_map(img2.header.matrix.get_index_map(0))
251252
check_geometry_map(img2.header.matrix.get_index_map(1))
252253
del img2
@@ -268,7 +269,7 @@ def test_dscalar():
268269
img2 = nib.load('test.dscalar.nii')
269270
assert_equal(img2.nifti_header.get_intent()[0], 'ConnDenseScalar')
270271
assert_true(isinstance(img2, ci.Cifti2Image))
271-
assert_true((img2.get_data() == data).all())
272+
assert_array_equal(img2.get_fdata(), data)
272273
check_scalar_map(img2.header.matrix.get_index_map(0))
273274
check_geometry_map(img2.header.matrix.get_index_map(1))
274275
del img2
@@ -290,7 +291,7 @@ def test_dlabel():
290291
img2 = nib.load('test.dlabel.nii')
291292
assert_equal(img2.nifti_header.get_intent()[0], 'ConnDenseLabel')
292293
assert_true(isinstance(img2, ci.Cifti2Image))
293-
assert_true((img2.get_data() == data).all())
294+
assert_array_equal(img2.get_fdata(), data)
294295
check_label_map(img2.header.matrix.get_index_map(0))
295296
check_geometry_map(img2.header.matrix.get_index_map(1))
296297
del img2
@@ -310,7 +311,7 @@ def test_dconn():
310311
img2 = nib.load('test.dconn.nii')
311312
assert_equal(img2.nifti_header.get_intent()[0], 'ConnDense')
312313
assert_true(isinstance(img2, ci.Cifti2Image))
313-
assert_true((img2.get_data() == data).all())
314+
assert_array_equal(img2.get_fdata(), data)
314315
assert_equal(img2.header.matrix.get_index_map(0),
315316
img2.header.matrix.get_index_map(1))
316317
check_geometry_map(img2.header.matrix.get_index_map(0))
@@ -333,7 +334,7 @@ def test_ptseries():
333334
img2 = nib.load('test.ptseries.nii')
334335
assert_equal(img2.nifti_header.get_intent()[0], 'ConnParcelSries')
335336
assert_true(isinstance(img2, ci.Cifti2Image))
336-
assert_true((img2.get_data() == data).all())
337+
assert_array_equal(img2.get_fdata(), data)
337338
check_series_map(img2.header.matrix.get_index_map(0))
338339
check_parcel_map(img2.header.matrix.get_index_map(1))
339340
del img2
@@ -355,7 +356,7 @@ def test_pscalar():
355356
img2 = nib.load('test.pscalar.nii')
356357
assert_equal(img2.nifti_header.get_intent()[0], 'ConnParcelScalr')
357358
assert_true(isinstance(img2, ci.Cifti2Image))
358-
assert_true((img2.get_data() == data).all())
359+
assert_array_equal(img2.get_fdata(), data)
359360
check_scalar_map(img2.header.matrix.get_index_map(0))
360361
check_parcel_map(img2.header.matrix.get_index_map(1))
361362
del img2
@@ -377,7 +378,7 @@ def test_pdconn():
377378
img2 = ci.load('test.pdconn.nii')
378379
assert_equal(img2.nifti_header.get_intent()[0], 'ConnParcelDense')
379380
assert_true(isinstance(img2, ci.Cifti2Image))
380-
assert_true((img2.get_data() == data).all())
381+
assert_array_equal(img2.get_fdata(), data)
381382
check_geometry_map(img2.header.matrix.get_index_map(0))
382383
check_parcel_map(img2.header.matrix.get_index_map(1))
383384
del img2
@@ -399,7 +400,7 @@ def test_dpconn():
399400
img2 = ci.load('test.dpconn.nii')
400401
assert_equal(img2.nifti_header.get_intent()[0], 'ConnDenseParcel')
401402
assert_true(isinstance(img2, ci.Cifti2Image))
402-
assert_true((img2.get_data() == data).all())
403+
assert_array_equal(img2.get_fdata(), data)
403404
check_parcel_map(img2.header.matrix.get_index_map(0))
404405
check_geometry_map(img2.header.matrix.get_index_map(1))
405406
del img2
@@ -420,7 +421,7 @@ def test_plabel():
420421
img2 = ci.load('test.plabel.nii')
421422
assert_equal(img.nifti_header.get_intent()[0], 'ConnUnknown')
422423
assert_true(isinstance(img2, ci.Cifti2Image))
423-
assert_true((img2.get_data() == data).all())
424+
assert_array_equal(img2.get_fdata(), data)
424425
check_label_map(img2.header.matrix.get_index_map(0))
425426
check_parcel_map(img2.header.matrix.get_index_map(1))
426427
del img2
@@ -440,7 +441,7 @@ def test_pconn():
440441
img2 = ci.load('test.pconn.nii')
441442
assert_equal(img.nifti_header.get_intent()[0], 'ConnParcels')
442443
assert_true(isinstance(img2, ci.Cifti2Image))
443-
assert_true((img2.get_data() == data).all())
444+
assert_array_equal(img2.get_fdata(), data)
444445
assert_equal(img2.header.matrix.get_index_map(0),
445446
img2.header.matrix.get_index_map(1))
446447
check_parcel_map(img2.header.matrix.get_index_map(0))
@@ -465,7 +466,7 @@ def test_pconnseries():
465466
img2 = ci.load('test.pconnseries.nii')
466467
assert_equal(img.nifti_header.get_intent()[0], 'ConnPPSr')
467468
assert_true(isinstance(img2, ci.Cifti2Image))
468-
assert_true((img2.get_data() == data).all())
469+
assert_array_equal(img2.get_fdata(), data)
469470
assert_equal(img2.header.matrix.get_index_map(0),
470471
img2.header.matrix.get_index_map(1))
471472
check_parcel_map(img2.header.matrix.get_index_map(0))
@@ -491,7 +492,7 @@ def test_pconnscalar():
491492
img2 = ci.load('test.pconnscalar.nii')
492493
assert_equal(img.nifti_header.get_intent()[0], 'ConnPPSc')
493494
assert_true(isinstance(img2, ci.Cifti2Image))
494-
assert_true((img2.get_data() == data).all())
495+
assert_array_equal(img2.get_fdata(), data)
495496
assert_equal(img2.header.matrix.get_index_map(0),
496497
img2.header.matrix.get_index_map(1))
497498

nibabel/cmdline/ls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ def proc_file(f, opts):
125125
if opts.stats or opts.counts:
126126
# We are doomed to load data
127127
try:
128-
d = vol.get_data()
128+
d = np.asarray(vol.dataobj)
129129
if not opts.stats_zeros:
130130
d = d[np.nonzero(d)]
131131
else:

nibabel/dataobj_images.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ def get_data(self, caching='fill'):
6868
6969
We recommend you use the ``get_fdata`` method instead of the
7070
``get_data`` method, because it is easier to predict the return
71-
data type. We will deprecate the ``get_data`` method around April
72-
2018, and remove it around April 2020.
71+
data type. ``get_data`` will be deprecated around November 2019
72+
and removed around November 2021.
7373
7474
If you don't care about the predictability of the return data type,
7575
and you want the minimum possible data size in memory, you can

nibabel/ecat.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -788,7 +788,7 @@ def __init__(self, dataobj, affine, header,
788788
>>> frame0 = img.get_frame(0)
789789
>>> frame0.shape == (10, 10, 3)
790790
True
791-
>>> data4d = img.get_data()
791+
>>> data4d = img.get_fdata()
792792
>>> data4d.shape == (10, 10, 3, 1)
793793
True
794794
"""
@@ -945,7 +945,7 @@ def to_file_map(self, file_map=None):
945945

946946
# It appears to be necessary to load the data before saving even if the
947947
# data itself is not used.
948-
self.get_data()
948+
self.get_fdata()
949949
hdr = self.header
950950
mlist = self._mlist
951951
subheaders = self.get_subheaders()

nibabel/filebasedimages.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ class FileBasedImage(object):
120120
121121
You can get the data out again with::
122122
123-
img.get_data()
123+
img.get_fdata()
124124
125125
Less commonly, for some image types that support it, you might want to
126126
fetch out the unscaled array via the object containing the data::

0 commit comments

Comments
 (0)