11from pathlib import Path
22
33import numpy as np
4+ import glob
45
56import pytest
67
78from probeinterface import read_openephys
9+ from probeinterface .testing import validate_probe_dict
810
911data_path = Path (__file__ ).absolute ().parent .parent / "data" / "openephys"
1012
1113
1214def test_NP2_OE_1_0 ():
1315 # NP2 1-shank
1416 probeA = read_openephys (data_path / "OE_1.0_Neuropix-PXI-multi-probe" / "settings.xml" , probe_name = "ProbeA" )
17+ probe_dict = probeA .to_dict (array_as_list = True )
18+ validate_probe_dict (probe_dict )
1519 assert probeA .get_shank_count () == 1
1620 assert "2.0" in probeA .model_name
1721 assert probeA .get_contact_count () == 384
@@ -20,13 +24,17 @@ def test_NP2_OE_1_0():
2024def test_NP2 ():
2125 # NP2
2226 probe = read_openephys (data_path / "OE_Neuropix-PXI" / "settings.xml" )
27+ probe_dict = probe .to_dict (array_as_list = True )
28+ validate_probe_dict (probe_dict )
2329 assert probe .get_shank_count () == 1
2430 assert "2.0 - Single Shank" in probe .model_name
2531
2632
2733def test_NP2_four_shank ():
2834 # NP2
2935 probe = read_openephys (data_path / "OE_Neuropix-PXI-NP2-4shank" / "settings.xml" )
36+ probe_dict = probe .to_dict (array_as_list = True )
37+ validate_probe_dict (probe_dict )
3038 # on this case, only shanks 2-3 are used
3139 assert probe .get_shank_count () == 2
3240 assert "2.0 - Four Shank" in probe .model_name
@@ -38,6 +46,8 @@ def test_NP_Ultra():
3846 data_path / "OE_Neuropix-PXI-NP-Ultra" / "settings.xml" ,
3947 probe_name = "ProbeA" ,
4048 )
49+ probe_dict = probeA .to_dict (array_as_list = True )
50+ validate_probe_dict (probe_dict )
4151 assert "Ultra" in probeA .model_name
4252 assert probeA .get_shank_count () == 1
4353 assert probeA .get_contact_count () == 384
@@ -46,6 +56,8 @@ def test_NP_Ultra():
4656 data_path / "OE_Neuropix-PXI-NP-Ultra" / "settings.xml" ,
4757 probe_name = "ProbeB" ,
4858 )
59+ probe_dict = probeB .to_dict (array_as_list = True )
60+ validate_probe_dict (probe_dict )
4961 assert "Ultra" in probeB .model_name
5062 assert probeB .get_shank_count () == 1
5163 assert probeB .get_contact_count () == 384
@@ -54,6 +66,8 @@ def test_NP_Ultra():
5466 data_path / "OE_Neuropix-PXI-NP-Ultra" / "settings.xml" ,
5567 probe_name = "ProbeF" ,
5668 )
69+ probe_dict = probeF .to_dict (array_as_list = True )
70+ validate_probe_dict (probe_dict )
5771 assert "Ultra" in probeF .model_name
5872 assert probeF .get_shank_count () == 1
5973 assert probeF .get_contact_count () == 384
@@ -62,6 +76,8 @@ def test_NP_Ultra():
6276 data_path / "OE_Neuropix-PXI-NP-Ultra" / "settings.xml" ,
6377 probe_name = "ProbeD" ,
6478 )
79+ probe_dict = probeD .to_dict (array_as_list = True )
80+ validate_probe_dict (probe_dict )
6581 assert "Ultra" in probeD .model_name and "Type 2" in probeD .model_name
6682 assert probeD .get_shank_count () == 1
6783 assert probeD .get_contact_count () == 384
@@ -72,12 +88,16 @@ def test_NP_Ultra():
7288def test_NP1_subset ():
7389 # NP1 - 200 channels selected by recording_state in Record Node
7490 probe_ap = read_openephys (data_path / "OE_Neuropix-PXI-subset" / "settings.xml" , stream_name = "ProbeA-AP" )
91+ probe_dict = probe_ap .to_dict (array_as_list = True )
92+ validate_probe_dict (probe_dict )
7593
7694 assert probe_ap .get_shank_count () == 1
7795 assert "1.0" in probe_ap .model_name
7896 assert probe_ap .get_contact_count () == 200
7997
8098 probe_lf = read_openephys (data_path / "OE_Neuropix-PXI-subset" / "settings.xml" , stream_name = "ProbeA-LFP" )
99+ probe_dict = probe_lf .to_dict (array_as_list = True )
100+ validate_probe_dict (probe_dict )
81101
82102 assert probe_lf .get_shank_count () == 1
83103 assert "1.0" in probe_lf .model_name
@@ -92,6 +112,8 @@ def test_NP1_subset():
92112def test_multiple_probes ():
93113 # multiple probes
94114 probeA = read_openephys (data_path / "OE_Neuropix-PXI-multi-probe" / "settings.xml" , probe_name = "ProbeA" )
115+ probe_dict = probeA .to_dict (array_as_list = True )
116+ validate_probe_dict (probe_dict )
95117
96118 assert probeA .get_shank_count () == 1
97119 assert "1.0" in probeA .model_name
@@ -100,17 +122,23 @@ def test_multiple_probes():
100122 data_path / "OE_Neuropix-PXI-multi-probe" / "settings.xml" ,
101123 stream_name = "RecordNode#ProbeB" ,
102124 )
125+ probe_dict = probeB .to_dict (array_as_list = True )
126+ validate_probe_dict (probe_dict )
103127
104128 assert probeB .get_shank_count () == 1
105129
106130 probeC = read_openephys (
107131 data_path / "OE_Neuropix-PXI-multi-probe" / "settings.xml" ,
108132 serial_number = "20403311714" ,
109133 )
134+ probe_dict = probeC .to_dict (array_as_list = True )
135+ validate_probe_dict (probe_dict )
110136
111137 assert probeC .get_shank_count () == 1
112138
113139 probeD = read_openephys (data_path / "OE_Neuropix-PXI-multi-probe" / "settings.xml" , probe_name = "ProbeD" )
140+ probe_dict = probeD .to_dict (array_as_list = True )
141+ validate_probe_dict (probe_dict )
114142
115143 assert probeD .get_shank_count () == 1
116144
@@ -146,11 +174,16 @@ def test_multiple_probes_enabled():
146174 probe = read_openephys (
147175 data_path / "OE_6.7_enabled_disabled_Neuropix-PXI" / "settings_enabled-enabled.xml" , probe_name = "ProbeA"
148176 )
177+ probe_dict = probe .to_dict (array_as_list = True )
178+ validate_probe_dict (probe_dict )
179+
149180 assert probe .get_shank_count () == 1
150181
151182 probe = read_openephys (
152183 data_path / "OE_6.7_enabled_disabled_Neuropix-PXI" / "settings_enabled-enabled.xml" , probe_name = "ProbeB"
153184 )
185+ probe_dict = probe .to_dict (array_as_list = True )
186+ validate_probe_dict (probe_dict )
154187 assert probe .get_shank_count () == 4
155188
156189
@@ -159,7 +192,8 @@ def test_multiple_probes_disabled():
159192 probe = read_openephys (
160193 data_path / "OE_6.7_enabled_disabled_Neuropix-PXI" / "settings_enabled-disabled.xml" , probe_name = "ProbeA"
161194 )
162-
195+ probe_dict = probe .to_dict (array_as_list = True )
196+ validate_probe_dict (probe_dict )
163197 assert probe .get_shank_count () == 1
164198
165199 # Fail as this is disabled:
@@ -173,6 +207,8 @@ def test_multiple_probes_disabled():
173207
174208def test_np_opto_with_sync ():
175209 probe = read_openephys (data_path / "OE_Neuropix-PXI-opto-with-sync" / "settings.xml" )
210+ probe_dict = probe .to_dict (array_as_list = True )
211+ validate_probe_dict (probe_dict )
176212 assert probe .model_name == "Neuropixels Opto"
177213 assert probe .get_shank_count () == 1
178214 assert probe .get_contact_count () == 384
@@ -182,7 +218,8 @@ def test_older_than_06_format():
182218 ## Test with the open ephys < 0.6 format
183219
184220 probe = read_openephys (data_path / "OE_5_Neuropix-PXI-multi-probe" / "settings.xml" , probe_name = "100.0" )
185-
221+ probe_dict = probe .to_dict (array_as_list = True )
222+ validate_probe_dict (probe_dict )
186223 assert probe .get_shank_count () == 4
187224 assert "2.0 - Four Shank" in probe .model_name
188225 ypos = probe .contact_positions [:, 1 ]
@@ -193,6 +230,8 @@ def test_multiple_signal_chains():
193230 # tests that the probe information can be loaded even if the Neuropix-PXI plugin
194231 # is not in the first signalchain
195232 probe = read_openephys (data_path / "OE_Neuropix-PXI-multiple-signalchains" / "settings.xml" )
233+ probe_dict = probe .to_dict (array_as_list = True )
234+ validate_probe_dict (probe_dict )
196235 assert probe .model_name == "Neuropixels 1.0"
197236
198237
0 commit comments