Skip to content

Commit f0c2570

Browse files
committed
add read-only option
1 parent 563afac commit f0c2570

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

phylib/io/traces.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,15 @@ def _apply_op(op, arg, arr):
152152
return f(arg) if arg is not None else f()
153153

154154

155-
def _memmap_flat(path, dtype=None, n_channels=None, offset=0):
155+
def _memmap_flat(path, dtype=None, n_channels=None, offset=0, mode='r+'):
156156
path = Path(path)
157157
# Find the number of samples.
158158
assert n_channels > 0
159159
fsize = path.stat().st_size
160160
item_size = np.dtype(dtype).itemsize
161161
n_samples = (fsize - offset) // (item_size * n_channels)
162162
shape = (n_samples, n_channels)
163-
return np.memmap(path, dtype=dtype, offset=offset, shape=shape)
163+
return np.memmap(path, dtype=dtype, offset=offset, shape=shape, mode=mode)
164164

165165

166166
#------------------------------------------------------------------------------
@@ -303,7 +303,8 @@ def iter_chunks(self, cache=True):
303303

304304

305305
class FlatEphysReader(BaseEphysReader):
306-
def __init__(self, paths, sample_rate=None, dtype=None, offset=0, n_channels=None, **kwargs):
306+
def __init__(self, paths, sample_rate=None, dtype=None, offset=0, n_channels=None, mode='r+',
307+
**kwargs):
307308
super(FlatEphysReader, self).__init__()
308309
if isinstance(paths, (str, Path)):
309310
paths = [paths]
@@ -312,7 +313,7 @@ def __init__(self, paths, sample_rate=None, dtype=None, offset=0, n_channels=Non
312313
self.name = paths[0].stem
313314
self.dir_path = paths[0].parent
314315
self._mmaps = [
315-
_memmap_flat(path, dtype=dtype, n_channels=n_channels, offset=offset)
316+
_memmap_flat(path, dtype=dtype, n_channels=n_channels, offset=offset, mode=mode)
316317
for path in paths]
317318

318319
self.sample_rate = sample_rate

0 commit comments

Comments
 (0)