@@ -152,15 +152,15 @@ def _apply_op(op, arg, arr):
152
152
return f (arg ) if arg is not None else f ()
153
153
154
154
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+' ):
156
156
path = Path (path )
157
157
# Find the number of samples.
158
158
assert n_channels > 0
159
159
fsize = path .stat ().st_size
160
160
item_size = np .dtype (dtype ).itemsize
161
161
n_samples = (fsize - offset ) // (item_size * n_channels )
162
162
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 )
164
164
165
165
166
166
#------------------------------------------------------------------------------
@@ -303,7 +303,8 @@ def iter_chunks(self, cache=True):
303
303
304
304
305
305
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 ):
307
308
super (FlatEphysReader , self ).__init__ ()
308
309
if isinstance (paths , (str , Path )):
309
310
paths = [paths ]
@@ -312,7 +313,7 @@ def __init__(self, paths, sample_rate=None, dtype=None, offset=0, n_channels=Non
312
313
self .name = paths [0 ].stem
313
314
self .dir_path = paths [0 ].parent
314
315
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 )
316
317
for path in paths ]
317
318
318
319
self .sample_rate = sample_rate
0 commit comments