7272 BaseRawIO ,
7373 _signal_channel_dtype ,
7474 _signal_stream_dtype ,
75+ _signal_buffer_dtype ,
7576 _spike_channel_dtype ,
7677 _event_channel_dtype ,
7778)
@@ -253,6 +254,7 @@ def _parse_header(self):
253254
254255 event_channels = []
255256 spike_channels = []
257+ signal_buffers = []
256258 signal_streams = []
257259 signal_channels = []
258260
@@ -399,7 +401,11 @@ def _parse_header(self):
399401 ext_header .append (d )
400402
401403 if len (ext_header ) > 0 :
402- signal_streams .append ((f"nsx{ nsx_nb } " , str (nsx_nb )))
404+ # in blackrock : one stream per buffer so same id
405+ buffer_id = stream_id = str (nsx_nb )
406+ stream_name = f"nsx{ nsx_nb } "
407+ signal_buffers .append ((stream_name , buffer_id ))
408+ signal_streams .append ((stream_name , stream_id , buffer_id ))
403409 for i , chan in enumerate (ext_header ):
404410 if spec in ["2.2" , "2.3" , "3.0" ]:
405411 ch_name = chan ["electrode_label" ].decode ()
@@ -420,8 +426,8 @@ def _parse_header(self):
420426 float (chan ["max_digital_val" ]) - float (chan ["min_digital_val" ])
421427 )
422428 offset = - float (chan ["min_digital_val" ]) * gain + float (chan ["min_analog_val" ])
423- stream_id = str (nsx_nb )
424- signal_channels .append ((ch_name , ch_id , sr , sig_dtype , units , gain , offset , stream_id ))
429+ buffer_id = stream_id = str (nsx_nb )
430+ signal_channels .append ((ch_name , ch_id , sr , sig_dtype , units , gain , offset , stream_id , buffer_id ))
425431
426432 # check nb segment per nsx
427433 nb_segments_for_nsx = [len (self .nsx_datas [nsx_nb ]) for nsx_nb in self .nsx_to_load ]
@@ -509,10 +515,12 @@ def _parse_header(self):
509515 event_channels = np .array (event_channels , dtype = _event_channel_dtype )
510516 signal_channels = np .array (signal_channels , dtype = _signal_channel_dtype )
511517 signal_streams = np .array (signal_streams , dtype = _signal_stream_dtype )
518+ signal_buffers = np .array (signal_buffers , dtype = _signal_buffer_dtype )
512519
513520 self .header = {}
514521 self .header ["nb_block" ] = 1
515522 self .header ["nb_segment" ] = [self ._nb_segment ]
523+ self .header ["signal_buffers" ] = signal_buffers
516524 self .header ["signal_streams" ] = signal_streams
517525 self .header ["signal_channels" ] = signal_channels
518526 self .header ["spike_channels" ] = spike_channels
0 commit comments