@@ -188,67 +188,67 @@ def __init__(
188
188
# revision of the nsx and nev files to one of the reading routines
189
189
# NSX
190
190
self ._nsx_header_reader = {
191
- "2.1" : self ._read_nsx_header_variant_a ,
192
- "2.2" : self ._read_nsx_header_variant_b ,
193
- "2.3" : self ._read_nsx_header_variant_b ,
194
- "3.0" : self ._read_nsx_header_variant_b ,
191
+ "2.1" : self ._read_nsx_header_spec_v21 ,
192
+ "2.2" : self ._read_nsx_header_spec_v22_30 ,
193
+ "2.3" : self ._read_nsx_header_spec_v22_30 ,
194
+ "3.0" : self ._read_nsx_header_spec_v22_30 ,
195
195
}
196
196
self ._nsx_dataheader_reader = {
197
- "2.1" : self ._read_nsx_dataheader_variant_a ,
198
- "2.2" : self ._read_nsx_dataheader_variant_b ,
199
- "2.3" : self ._read_nsx_dataheader_variant_b ,
200
- "3.0" : self ._read_nsx_dataheader_variant_b ,
201
- "3.0-ptp" : self ._read_nsx_dataheader_variant_c ,
197
+ "2.1" : self ._read_nsx_dataheader_spec_v21 ,
198
+ "2.2" : self ._read_nsx_dataheader_spec_v22_30 ,
199
+ "2.3" : self ._read_nsx_dataheader_spec_v22_30 ,
200
+ "3.0" : self ._read_nsx_dataheader_spec_v22_30 ,
201
+ "3.0-ptp" : self ._read_nsx_dataheader_spec_v30_ptp ,
202
202
}
203
203
self ._nsx_data_reader = {
204
- "2.1" : self ._read_nsx_data_variant_a ,
205
- "2.2" : self ._read_nsx_data_variant_b ,
206
- "2.3" : self ._read_nsx_data_variant_b ,
207
- "3.0" : self ._read_nsx_data_variant_b ,
208
- "3.0-ptp" : self ._read_nsx_data_variant_c ,
204
+ "2.1" : self ._read_nsx_data_spec_v21 ,
205
+ "2.2" : self ._read_nsx_data_spec_v22_30 ,
206
+ "2.3" : self ._read_nsx_data_spec_v22_30 ,
207
+ "3.0" : self ._read_nsx_data_spec_v22_30 ,
208
+ "3.0-ptp" : self ._read_nsx_data_spec_v30_ptp ,
209
209
}
210
210
self ._nsx_params = {
211
- "2.1" : self ._get_nsx_param_variant_a ,
212
- "2.2" : self ._get_nsx_param_variant_b ,
213
- "2.3" : self ._get_nsx_param_variant_b ,
214
- "3.0" : self ._get_nsx_param_variant_b ,
211
+ "2.1" : self ._get_nsx_param_spec_v21 ,
212
+ "2.2" : self ._get_nsx_param_spec_v22_30 ,
213
+ "2.3" : self ._get_nsx_param_spec_v22_30 ,
214
+ "3.0" : self ._get_nsx_param_spec_v22_30 ,
215
215
}
216
216
# NEV
217
217
self ._nev_header_reader = {
218
- "2.1" : self ._read_nev_header_variant_a ,
219
- "2.2" : self ._read_nev_header_variant_b ,
220
- "2.3" : self ._read_nev_header_variant_c ,
221
- "3.0" : self ._read_nev_header_variant_c ,
218
+ "2.1" : self ._read_nev_header_spec_v21 ,
219
+ "2.2" : self ._read_nev_header_spec_v22 ,
220
+ "2.3" : self ._read_nev_header_spec_v30_ptp ,
221
+ "3.0" : self ._read_nev_header_spec_v30_ptp ,
222
222
}
223
223
self ._nev_data_reader = {
224
- "2.1" : self ._read_nev_data_variant_a ,
225
- "2.2" : self ._read_nev_data_variant_a ,
226
- "2.3" : self ._read_nev_data_variant_b ,
227
- "3.0" : self ._read_nev_data_variant_c ,
224
+ "2.1" : self ._read_nev_data_spec_v21_22 ,
225
+ "2.2" : self ._read_nev_data_spec_v21_22 ,
226
+ "2.3" : self ._read_nev_data_spec_v23 ,
227
+ "3.0" : self ._read_nev_data_spec_v30_ptp ,
228
228
}
229
229
self ._waveform_size = {
230
- "2.1" : self ._get_waveform_size_variant_a ,
231
- "2.2" : self ._get_waveform_size_variant_a ,
232
- "2.3" : self ._get_waveform_size_variant_b ,
233
- "3.0" : self ._get_waveform_size_variant_b ,
230
+ "2.1" : self ._get_waveform_size_spec_v21 ,
231
+ "2.2" : self ._get_waveform_size_spec_v21 ,
232
+ "2.3" : self ._get_waveform_size_spec_v22_30 ,
233
+ "3.0" : self ._get_waveform_size_spec_v22_30 ,
234
234
}
235
235
self ._channel_labels = {
236
- "2.1" : self ._get_channel_labels_variant_a ,
237
- "2.2" : self ._get_channel_labels_variant_b ,
238
- "2.3" : self ._get_channel_labels_variant_b ,
239
- "3.0" : self ._get_channel_labels_variant_b ,
236
+ "2.1" : self ._get_channel_labels_spec_v21 ,
237
+ "2.2" : self ._get_channel_labels_spec_v22_30 ,
238
+ "2.3" : self ._get_channel_labels_spec_v22_30 ,
239
+ "3.0" : self ._get_channel_labels_spec_v22_30 ,
240
240
}
241
241
self ._nonneural_evdicts = {
242
- "2.1" : self ._get_nonneural_evdicts_variant_a ,
243
- "2.2" : self ._get_nonneural_evdicts_variant_a ,
244
- "2.3" : self ._get_nonneural_evdicts_variant_b ,
245
- "3.0" : self ._get_nonneural_evdicts_variant_b ,
242
+ "2.1" : self ._get_nonneural_evdicts_spec_v21_22 ,
243
+ "2.2" : self ._get_nonneural_evdicts_spec_v21_22 ,
244
+ "2.3" : self ._get_nonneural_evdicts_spec_v23 ,
245
+ "3.0" : self ._get_nonneural_evdicts_spec_v23 ,
246
246
}
247
247
self ._comment_evdict = {
248
- "2.1" : self ._get_comment_evdict_variant_a ,
249
- "2.2" : self ._get_comment_evdict_variant_a ,
250
- "2.3" : self ._get_comment_evdict_variant_a ,
251
- "3.0" : self ._get_comment_evdict_variant_a ,
248
+ "2.1" : self ._get_comment_evdict_spec_v21_22 ,
249
+ "2.2" : self ._get_comment_evdict_spec_v21_22 ,
250
+ "2.3" : self ._get_comment_evdict_spec_v21_22 ,
251
+ "3.0" : self ._get_comment_evdict_spec_v21_22 ,
252
252
}
253
253
254
254
def _parse_header (self ):
@@ -267,9 +267,11 @@ def _parse_header(self):
267
267
self ._nev_spec = self ._extract_nev_file_spec ()
268
268
269
269
# read nev headers
270
- self ._nev_basic_header , self ._nev_ext_header = self ._nev_header_reader [self ._nev_spec ]()
270
+ header_reader_function = self ._nev_header_reader [self ._nev_spec ]
271
+ self ._nev_basic_header , self ._nev_ext_header = header_reader_function ()
271
272
272
- self .nev_data = self ._nev_data_reader [self ._nev_spec ]()
273
+ nev_reader_function = self ._nev_data_reader [self ._nev_spec ]
274
+ self .nev_data = nev_reader_function ()
273
275
spikes , spike_segment_ids = self .nev_data ["Spikes" ]
274
276
275
277
# scan all channel to get number of Unit
@@ -850,7 +852,7 @@ def _extract_nev_file_spec(self):
850
852
851
853
return spec
852
854
853
- def _read_nsx_header_variant_a (self , nsx_nb ):
855
+ def _read_nsx_header_spec_v21 (self , nsx_nb ):
854
856
"""
855
857
Extract nsx header information from a 2.1 .nsx file
856
858
"""
@@ -883,7 +885,7 @@ def _read_nsx_header_variant_a(self, nsx_nb):
883
885
884
886
return nsx_basic_header , nsx_ext_header
885
887
886
- def _read_nsx_header_variant_b (self , nsx_nb ):
888
+ def _read_nsx_header_spec_v22_30 (self , nsx_nb ):
887
889
"""
888
890
Extract nsx header information from a 2.2 or 2.3 .nsx file
889
891
"""
@@ -964,15 +966,15 @@ def _read_nsx_dataheader(self, nsx_nb, offset):
964
966
965
967
return packet_header
966
968
967
- def _read_nsx_dataheader_variant_a (self , nsx_nb , filesize = None , offset = None ):
969
+ def _read_nsx_dataheader_spec_v21 (self , nsx_nb , filesize = None , offset = None ):
968
970
"""
969
971
Reads None for the nsx data header of file spec 2.1. Introduced to
970
972
facilitate compatibility with higher file spec.
971
973
"""
972
974
973
975
return None
974
976
975
- def _read_nsx_dataheader_variant_b (
977
+ def _read_nsx_dataheader_spec_v22_30 (
976
978
self ,
977
979
nsx_nb ,
978
980
filesize = None ,
@@ -1025,7 +1027,7 @@ def _read_nsx_dataheader_variant_b(
1025
1027
1026
1028
return data_header
1027
1029
1028
- def _read_nsx_dataheader_variant_c (
1030
+ def _read_nsx_dataheader_spec_v30_ptp (
1029
1031
self ,
1030
1032
nsx_nb ,
1031
1033
filesize = None ,
@@ -1056,7 +1058,7 @@ def _read_nsx_dataheader_variant_c(
1056
1058
1057
1059
if not np .all (struct_arr ["num_data_points" ] == 1 ):
1058
1060
# some packets have more than 1 sample. Not actually ptp. Revert to non-ptp variant.
1059
- return self ._read_nsx_dataheader_variant_b (nsx_nb , filesize = filesize , offset = offset )
1061
+ return self ._read_nsx_dataheader_spec_v22_30 (nsx_nb , filesize = filesize , offset = offset )
1060
1062
1061
1063
# It is still possible there was a data break and the file has multiple segments.
1062
1064
# We can no longer rely on the presence of a header indicating a new segment,
@@ -1083,7 +1085,7 @@ def _read_nsx_dataheader_variant_c(
1083
1085
}
1084
1086
return data_header
1085
1087
1086
- def _read_nsx_data_variant_a (self , nsx_nb ):
1088
+ def _read_nsx_data_spec_v21 (self , nsx_nb ):
1087
1089
"""
1088
1090
Extract nsx data from a 2.1 .nsx file
1089
1091
"""
@@ -1102,7 +1104,7 @@ def _read_nsx_data_variant_a(self, nsx_nb):
1102
1104
1103
1105
return data
1104
1106
1105
- def _read_nsx_data_variant_b (self , nsx_nb ):
1107
+ def _read_nsx_data_spec_v22_30 (self , nsx_nb ):
1106
1108
"""
1107
1109
Extract nsx data (blocks) from a 2.2, 2.3, or 3.0 .nsx file.
1108
1110
Blocks can arise if the recording was paused by the user.
@@ -1124,7 +1126,7 @@ def _read_nsx_data_variant_b(self, nsx_nb):
1124
1126
1125
1127
return data
1126
1128
1127
- def _read_nsx_data_variant_c (self , nsx_nb ):
1129
+ def _read_nsx_data_spec_v30_ptp (self , nsx_nb ):
1128
1130
"""
1129
1131
Extract nsx data (blocks) from a 3.0 .nsx file with PTP timestamps
1130
1132
yielding a timestamp per sample. Blocks can arise
@@ -1214,7 +1216,7 @@ def _read_nev_header(self, ext_header_variants):
1214
1216
1215
1217
return nev_basic_header , nev_ext_header
1216
1218
1217
- def _read_nev_header_variant_a (self ):
1219
+ def _read_nev_header_spec_v21 (self ):
1218
1220
"""
1219
1221
Extract nev header information from a 2.1 .nev file
1220
1222
"""
@@ -1230,7 +1232,7 @@ def _read_nev_header_variant_a(self):
1230
1232
1231
1233
return self ._read_nev_header (ext_header_variants )
1232
1234
1233
- def _read_nev_header_variant_b (self ):
1235
+ def _read_nev_header_spec_v22 (self ):
1234
1236
"""
1235
1237
Extract nev header information from a 2.2 .nev file
1236
1238
"""
@@ -1249,7 +1251,7 @@ def _read_nev_header_variant_b(self):
1249
1251
1250
1252
return self ._read_nev_header (ext_header_variants )
1251
1253
1252
- def _read_nev_header_variant_c (self ):
1254
+ def _read_nev_header_spec_v30_ptp (self ):
1253
1255
"""
1254
1256
Extract nev header information from a 2.3 .nev file
1255
1257
"""
@@ -1478,7 +1480,7 @@ def _match_nsx_and_nev_segment_ids(self, nsx_nb):
1478
1480
if len (ev_ids ):
1479
1481
ev_ids [:] = np .vectorize (new_nev_segment_id_mapping .__getitem__ )(ev_ids )
1480
1482
1481
- def _read_nev_data_variant_a (self ):
1483
+ def _read_nev_data_spec_v21_22 (self ):
1482
1484
"""
1483
1485
Extract nev data from a 2.1 & 2.2 .nev file
1484
1486
"""
@@ -1488,7 +1490,7 @@ def _read_nev_data_variant_a(self):
1488
1490
1489
1491
return self ._read_nev_data (nev_data_masks , nev_data_types )
1490
1492
1491
- def _read_nev_data_variant_b (self ):
1493
+ def _read_nev_data_spec_v23 (self ):
1492
1494
"""
1493
1495
Extract nev data from a 2.3 .nev file
1494
1496
"""
@@ -1514,7 +1516,7 @@ def _read_nev_data_variant_b(self):
1514
1516
1515
1517
return self ._read_nev_data (nev_data_masks , nev_data_types )
1516
1518
1517
- def _read_nev_data_variant_c (self ):
1519
+ def _read_nev_data_spec_v30_ptp (self ):
1518
1520
"""
1519
1521
Extract nev data from a 3.0 .nev file
1520
1522
"""
@@ -1943,7 +1945,7 @@ def _get_waveforms_dtype(self):
1943
1945
1944
1946
return dtype_waveforms
1945
1947
1946
- def _get_channel_labels_variant_a (self ):
1948
+ def _get_channel_labels_spec_v21 (self ):
1947
1949
"""
1948
1950
Returns labels for all channels for file spec 2.1
1949
1951
"""
@@ -1958,7 +1960,7 @@ def _get_channel_labels_variant_a(self):
1958
1960
1959
1961
return dict (zip (elids , labels ))
1960
1962
1961
- def _get_channel_labels_variant_b (self ):
1963
+ def _get_channel_labels_spec_v22_30 (self ):
1962
1964
"""
1963
1965
Returns labels for all channels for file spec 2.2 and 2.3
1964
1966
"""
@@ -1967,7 +1969,7 @@ def _get_channel_labels_variant_b(self):
1967
1969
1968
1970
return dict (zip (elids , labels )) if len (labels ) > 0 else None
1969
1971
1970
- def _get_waveform_size_variant_a (self ):
1972
+ def _get_waveform_size_spec_v21 (self ):
1971
1973
"""
1972
1974
Returns waveform sizes for all channels for file spec 2.1 and 2.2
1973
1975
"""
@@ -1978,7 +1980,7 @@ def _get_waveform_size_variant_a(self):
1978
1980
1979
1981
return wf_sizes
1980
1982
1981
- def _get_waveform_size_variant_b (self ):
1983
+ def _get_waveform_size_spec_v22_30 (self ):
1982
1984
"""
1983
1985
Returns waveform sizes for all channels for file spec 2.3
1984
1986
"""
@@ -2008,7 +2010,7 @@ def _get_left_sweep_waveforms(self):
2008
2010
2009
2011
return wf_left_sweep
2010
2012
2011
- def _get_nsx_param_variant_a (self , nsx_nb ):
2013
+ def _get_nsx_param_spec_v21 (self , nsx_nb ):
2012
2014
"""
2013
2015
Returns parameter (param_name) for a given nsx (nsx_nb) for file spec
2014
2016
2.1.
@@ -2074,7 +2076,7 @@ def _get_nsx_param_variant_a(self, nsx_nb):
2074
2076
# Returns complete dictionary because then it does not need to be called so often
2075
2077
return nsx_parameters
2076
2078
2077
- def _get_nsx_param_variant_b (self , param_name , nsx_nb ):
2079
+ def _get_nsx_param_spec_v22_30 (self , param_name , nsx_nb ):
2078
2080
"""
2079
2081
Returns parameter (param_name) for a given nsx (nsx_nb) for file spec
2080
2082
2.2 and 2.3.
@@ -2098,7 +2100,7 @@ def _get_nsx_param_variant_b(self, param_name, nsx_nb):
2098
2100
2099
2101
return nsx_parameters [param_name ]
2100
2102
2101
- def _get_nonneural_evdicts_variant_a (self , data ):
2103
+ def _get_nonneural_evdicts_spec_v21_22 (self , data ):
2102
2104
"""
2103
2105
Defines event types and the necessary parameters to extract them from
2104
2106
a 2.1 and 2.2 nev file.
@@ -2190,7 +2192,7 @@ def _delete_empty_segments(self):
2190
2192
2191
2193
self ._nb_segment -= 1
2192
2194
2193
- def _get_nonneural_evdicts_variant_b (self , data ):
2195
+ def _get_nonneural_evdicts_spec_v23 (self , data ):
2194
2196
"""
2195
2197
Defines event types and the necessary parameters to extract them from
2196
2198
a 2.3 nev file.
@@ -2218,7 +2220,7 @@ def _get_nonneural_evdicts_variant_b(self, data):
2218
2220
2219
2221
return event_types
2220
2222
2221
- def _get_comment_evdict_variant_a (self , data ):
2223
+ def _get_comment_evdict_spec_v21_22 (self , data ):
2222
2224
return {
2223
2225
"comments" : {"name" : "comments" , "field" : "comment" , "mask" : data ["packet_id" ] == 65535 , "desc" : "Comments" }
2224
2226
}
0 commit comments