A number of different software tools have become available to help scientists conveniently convert from different data formats to NWB.
Extracellular Electrophysiology
For converting extracellular electrophysiology, we recommend that you check if this data format is supported by SpikeInterface. SpikeInterface provides a uniform Python API that supports reading 19+ raw and 14+ processed electrophysiology data formats. Convert to NWB like this:
from spikeextractors import NeuroscopeRecordingExtractor, NwbRecordingExtractor rx = NeuroscopeRecordingExtractor(input_path) NwbRecordingExtractor.write_recording(rx, output_path)
Check the list of supported types here. If your data type is not yet supported, we encourage you to add it!
Optical Physiology
CaImAn, calciumImagingAnalysis, and suite2p all support outputting the results of their processing directly to NWB. If you are converting imaging output data, or you already have saved data from one of these tools, you can use RoiExtractors to convert this data to NWB, like this:
from roiextractors import CaimanSegmentationExtractor, NwbSegmentationExtractor seg_ex = CaimanSegmentationExtractor('filepath.hdf5') NwbSegmentationExtractor.write_segmentation(seg_ex, output_path)
Intracellular Electrophysiology
The Allen Institute package IPFX contains the module x_to_nwb
for converting their intracellular electrophysiology data. This library supports pClamp formats abf and abf2, as well as .dat files. See the module documentation for details