@@ -140,6 +140,21 @@ def load_probe_data(self):
140140 return probes
141141
142142
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+
143158class Probe :
144159
145160 def __init__ (self , processor , probe_index = 0 ):
@@ -152,19 +167,13 @@ def __init__(self, processor, probe_index=0):
152167 if processor ['@pluginName' ] == 'Neuropix-3a' or 'NP_PROBE' not in processor ['EDITOR' ]:
153168 self .probe_info = processor ['EDITOR' ]['PROBE' ] if isinstance (processor ['EDITOR' ]['PROBE' ], dict ) else processor ['EDITOR' ]['PROBE' ][probe_index ]
154169 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' ]]
158171 self ._channels_connected = {int (re .search (r'\d+$' , k ).group ()): int (v )
159172 for k , v in self .probe_info .pop ('CHANNELSTATUS' ).items ()}
160173 else :
161174 self .probe_info = processor ['EDITOR' ]['NP_PROBE' ][probe_index ]
162175 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' ]]
168177 self ._channels_connected = {int (re .search (r'\d+$' , k ).group ()): 1
169178 for k in self .probe_info .pop ('CHANNELS' )}
170179
0 commit comments