@@ -140,6 +140,21 @@ def load_probe_data(self):
140
140
return probes
141
141
142
142
143
+ # For more details on supported probes,
144
+ # see: https://open-ephys.github.io/gui-docs/User-Manual/Plugins/Neuropixels-PXI.html
145
+ _probe_model_name_mapper = {
146
+ "Neuropix-PXI" : "neuropixels 1.0 - 3B" ,
147
+ "Neuropix-3a" : "neuropixels 1.0 - 3A" ,
148
+ "Neuropixels 1.0" : "neuropixels 1.0 - 3B" ,
149
+ "Neuropixels Ultra" : "neuropixels UHD" ,
150
+ "Neuropixels Ultra (Switchable)" : "neuropixels UHD" ,
151
+ "Neuropixels 21" : "neuropixels 2.0 - SS" ,
152
+ "Neuropixels 24" : "neuropixels 2.0 - MS" ,
153
+ "Neuropixels 2.0 - Single Shank" : "neuropixels 2.0 - SS" ,
154
+ "Neuropixels 2.0 - Four Shank" : "neuropixels 2.0 - MS"
155
+ }
156
+
157
+
143
158
class Probe :
144
159
145
160
def __init__ (self , processor , probe_index = 0 ):
@@ -152,19 +167,13 @@ def __init__(self, processor, probe_index=0):
152
167
if processor ['@pluginName' ] == 'Neuropix-3a' or 'NP_PROBE' not in processor ['EDITOR' ]:
153
168
self .probe_info = processor ['EDITOR' ]['PROBE' ] if isinstance (processor ['EDITOR' ]['PROBE' ], dict ) else processor ['EDITOR' ]['PROBE' ][probe_index ]
154
169
self .probe_SN = self .probe_info ['@probe_serial_number' ]
155
- self .probe_model = {
156
- "Neuropix-PXI" : "neuropixels 1.0 - 3B" ,
157
- "Neuropix-3a" : "neuropixels 1.0 - 3A" }[processor ['@pluginName' ]]
170
+ self .probe_model = _probe_model_name_mapper [processor ['@pluginName' ]]
158
171
self ._channels_connected = {int (re .search (r'\d+$' , k ).group ()): int (v )
159
172
for k , v in self .probe_info .pop ('CHANNELSTATUS' ).items ()}
160
173
else :
161
174
self .probe_info = processor ['EDITOR' ]['NP_PROBE' ][probe_index ]
162
175
self .probe_SN = self .probe_info ['@probe_serial_number' ]
163
- self .probe_model = {
164
- "Neuropixels 1.0" : "neuropixels 1.0 - 3B" ,
165
- "Neuropixels Ultra" : "neuropixels UHD" ,
166
- "Neuropixels 21" : "neuropixels 2.0 - SS" ,
167
- "Neuropixels 24" : "neuropixels 2.0 - MS" }[self .probe_info ['@probe_name' ]]
176
+ self .probe_model = _probe_model_name_mapper [self .probe_info ['@probe_name' ]]
168
177
self ._channels_connected = {int (re .search (r'\d+$' , k ).group ()): 1
169
178
for k in self .probe_info .pop ('CHANNELS' )}
170
179
0 commit comments