|
| 1 | +from element_array_ephys.export.nwb.nwb import ecephys_session_to_nwb, write_nwb |
| 2 | + |
| 3 | +from pynwb.ecephys import ElectricalSeries |
| 4 | + |
| 5 | + |
| 6 | +def test_convert_to_nwb(): |
| 7 | + |
| 8 | + nwbfile = ecephys_session_to_nwb( |
| 9 | + dict(subject="subject5", session_datetime="2020-05-12 04:13:07") |
| 10 | + ) |
| 11 | + |
| 12 | + for x in ("262716621", "714000838"): |
| 13 | + assert x in nwbfile.devices |
| 14 | + |
| 15 | + assert len(nwbfile.electrodes) == 1920 |
| 16 | + for col in ("shank", "shank_row", "shank_col"): |
| 17 | + assert col in nwbfile.electrodes |
| 18 | + |
| 19 | + for es_name in ("ElectricalSeries1", "ElectricalSeries2"): |
| 20 | + es = nwbfile.acquisition[es_name] |
| 21 | + assert isinstance(es, ElectricalSeries) |
| 22 | + assert es.conversion == 2.34375e-06 |
| 23 | + |
| 24 | + # make sure the ElectricalSeries objects don't share electrodes |
| 25 | + assert not set(nwbfile.acquisition["ElectricalSeries1"].electrodes.data) & set( |
| 26 | + nwbfile.acquisition["ElectricalSeries2"].electrodes.data |
| 27 | + ) |
| 28 | + |
| 29 | + assert len(nwbfile.units) == 499 |
| 30 | + for col in ("cluster_quality_label", "spike_depths"): |
| 31 | + assert col in nwbfile.units |
| 32 | + |
| 33 | + for es_name in ("ElectricalSeries1", "ElectricalSeries2"): |
| 34 | + es = nwbfile.processing["ecephys"].data_interfaces["LFP"][es_name] |
| 35 | + assert isinstance(es, ElectricalSeries) |
| 36 | + assert es.conversion == 4.6875e-06 |
| 37 | + assert es.rate == 2500.0 |
0 commit comments