Source code for neuroconv.datainterfaces.ecephys.spikegadgets.spikegadgetsdatainterface

from typing import Optional

from ..baserecordingextractorinterface import BaseRecordingExtractorInterface
from ....utils import ArrayType, FilePathType


[docs]class SpikeGadgetsRecordingInterface(BaseRecordingExtractorInterface): """ Data interface class for converting data in the SpikeGadgets format. Uses :py:class:`~spikeinterface.extractors.SpikeGadgetsRecordingExtractor`. """ help = "Interface for SpikeGadgets recording data." display_name = "SpikeGadgets Recording"
[docs] @classmethod def get_source_schema(cls) -> dict: source_schema = super().get_source_schema() source_schema["properties"]["file_path"].update(description="Path to SpikeGadgets (.rec) file.") return source_schema
def __init__( self, file_path: FilePathType, stream_id: str = "trodes", gains: Optional[ArrayType] = None, verbose: bool = True, es_key: str = "ElectricalSeries", ): """ Recording Interface for the SpikeGadgets Format. Parameters ---------- file_path : FilePathType Path to the .rec file. gains : array_like, optional The early versions of SpikeGadgets do not automatically record the conversion factor ('gain') of the acquisition system. Thus, it must be specified either as a single value (if all channels have the same gain) or an array of values for each channel. es_key : str, default: "ElectricalSeries" """ super().__init__(file_path=file_path, stream_id=stream_id, verbose=verbose, es_key=es_key) if gains is not None: if len(gains) == 1: gains = [gains[0]] * self.recording_extractor.get_num_channels() self.recording_extractor.set_channel_gains(gains=gains)