Skip to content

Commit e6f58cb

Browse files
committed
Merge remote-tracking branch 'arokem/fromstring_deprecation' into fix/writable_bug
2 parents 8209664 + a696d0d commit e6f58cb

File tree

6 files changed

+20
-17
lines changed

6 files changed

+20
-17
lines changed

nibabel/cifti2/tests/test_cifti2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def test_cifti2_metadata():
5858
assert_equal(md.data, dict(metadata_test))
5959

6060
assert_equal(list(iter(md)), list(iter(collections.OrderedDict(metadata_test))))
61-
61+
6262
md.update({'a': 'aval', 'b': 'bval'})
6363
assert_equal(md.data, dict(metadata_test))
6464

@@ -310,7 +310,7 @@ def test_matrix():
310310

311311
assert_raises(ci.Cifti2HeaderError, m.insert, 0, mim_none)
312312
assert_equal(m.mapped_indices, [])
313-
313+
314314
h = ci.Cifti2Header(matrix=m)
315315
assert_equal(m.mapped_indices, [])
316316
m.insert(0, mim_0)

nibabel/externals/netcdf.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
import numpy as np # noqa
3939
from ..py3k import asbytes, asstr
40-
from numpy import fromstring, ndarray, dtype, empty, array, asarray
40+
from numpy import frombuffer, ndarray, dtype, empty, array, asarray
4141
from numpy import little_endian as LITTLE_ENDIAN
4242
from functools import reduce
4343

@@ -519,7 +519,7 @@ def _read(self):
519519
if not magic == b'CDF':
520520
raise TypeError("Error: %s is not a valid NetCDF 3 file" %
521521
self.filename)
522-
self.__dict__['version_byte'] = fromstring(self.fp.read(1), '>b')[0]
522+
self.__dict__['version_byte'] = frombuffer(self.fp.read(1), '>b')[0]
523523

524524
# Read file headers and set data.
525525
self._read_numrecs()
@@ -608,7 +608,7 @@ def _read_var_array(self):
608608
# Calculate size to avoid problems with vsize (above)
609609
a_size = reduce(mul, shape, 1) * size
610610
if self.file_bytes >= 0 and begin_ + a_size > self.file_bytes:
611-
data = fromstring(b'\x00'*a_size, dtype=dtype_)
611+
data = frombuffer(b'\x00'*a_size, dtype=dtype_)
612612
elif self.use_mmap:
613613
mm = mmap(self.fp.fileno(), begin_+a_size, access=ACCESS_READ)
614614
data = ndarray.__new__(ndarray, shape, dtype=dtype_,
@@ -622,7 +622,7 @@ def _read_var_array(self):
622622
buf = self.fp.read(a_size)
623623
if len(buf) < a_size:
624624
buf = b'\x00'*a_size
625-
data = fromstring(buf, dtype=dtype_)
625+
data = frombuffer(buf, dtype=dtype_)
626626
data.shape = shape
627627
self.fp.seek(pos)
628628

@@ -644,7 +644,7 @@ def _read_var_array(self):
644644
else:
645645
pos = self.fp.tell()
646646
self.fp.seek(begin)
647-
rec_array = fromstring(self.fp.read(self._recs*self._recsize), dtype=dtypes)
647+
rec_array = frombuffer(self.fp.read(self._recs*self._recsize), dtype=dtypes)
648648
rec_array.shape = (self._recs,)
649649
self.fp.seek(pos)
650650

@@ -687,7 +687,7 @@ def _read_values(self):
687687
self.fp.read(-count % 4) # read padding
688688

689689
if typecode is not 'c':
690-
values = fromstring(values, dtype='>%s' % typecode)
690+
values = frombuffer(values, dtype='>%s' % typecode)
691691
if values.shape == (1,):
692692
values = values[0]
693693
else:
@@ -705,14 +705,14 @@ def _pack_int(self, value):
705705
_pack_int32 = _pack_int
706706

707707
def _unpack_int(self):
708-
return int(fromstring(self.fp.read(4), '>i')[0])
708+
return int(frombuffer(self.fp.read(4), '>i')[0])
709709
_unpack_int32 = _unpack_int
710710

711711
def _pack_int64(self, value):
712712
self.fp.write(array(value, '>q').tostring())
713713

714714
def _unpack_int64(self):
715-
return fromstring(self.fp.read(8), '>q')[0]
715+
return frombuffer(self.fp.read(8), '>q')[0]
716716

717717
def _pack_string(self, s):
718718
count = len(s)

nibabel/gifti/parse_gifti_fast.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def read_data_block(encoding, endian, ordering, datatype, shape, data):
4747
dec = base64.b64decode(data.encode('ascii'))
4848
dt = data_type_codes.type[datatype]
4949
sh = tuple(shape)
50-
newarr = np.fromstring(dec, dtype=dt)
50+
newarr = np.frombuffer(dec, dtype=dt)
5151
if len(newarr.shape) != len(sh):
5252
newarr = newarr.reshape(sh, order=ord)
5353

@@ -59,7 +59,7 @@ def read_data_block(encoding, endian, ordering, datatype, shape, data):
5959
zdec = zlib.decompress(dec)
6060
dt = data_type_codes.type[datatype]
6161
sh = tuple(shape)
62-
newarr = np.fromstring(zdec, dtype=dt)
62+
newarr = np.frombuffer(zdec, dtype=dt)
6363
if len(newarr.shape) != len(sh):
6464
newarr = newarr.reshape(sh, order=ord)
6565

nibabel/nifti1.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ def from_fileobj(klass, fileobj, size, byteswap):
579579
# otherwise there should be a full extension header
580580
if not len(ext_def) == 8:
581581
raise HeaderDataError('failed to read extension header')
582-
ext_def = np.fromstring(ext_def, dtype=np.int32)
582+
ext_def = np.frombuffer(ext_def, dtype=np.int32)
583583
if byteswap:
584584
ext_def = ext_def.byteswap()
585585
# be extra verbose

nibabel/openers.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,9 @@ def fileno(self):
213213
def read(self, *args, **kwargs):
214214
return self.fobj.read(*args, **kwargs)
215215

216+
def readinto(self, *args, **kwargs):
217+
return self.fobj.readinto(*args, **kwargs)
218+
216219
def write(self, *args, **kwargs):
217220
return self.fobj.write(*args, **kwargs)
218221

nibabel/streamlines/trk.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -557,10 +557,10 @@ def _read_header(fileobj):
557557

558558
with Opener(fileobj) as f:
559559

560-
# Read the header in one block.
561-
header_str = f.read(header_2_dtype.itemsize)
562-
header_rec = np.fromstring(string=header_str, dtype=header_2_dtype)
563-
560+
# Read the header into a bytearray.
561+
header_buf = bytearray(header_2_dtype.itemsize)
562+
n_read = f.readinto(header_buf)
563+
header_rec = np.frombuffer(buffer=header_buf, dtype=header_2_dtype)
564564
# Check endianness
565565
endianness = native_code
566566
if header_rec['hdr_size'] != TrkFile.HEADER_SIZE:

0 commit comments

Comments
 (0)