将SpikeGadgets数据转换为NWB的Python包
项目描述
trodes_to_nwb
将SpikeGadgets .rec文件的数据转换为NWB 2.0+数据格式。
然后使用NWB Inspector验证NWB文件,以确保兼容性并上传到DANDI存档。
此版本替代了rec_to_nwb。
安装
您可以通过两种方式安装trodes_to_nwb
。
对于大多数用户,我们建议通过pip在虚拟或conda环境中安装trodes_to_nwb
。
开发者应从源代码安装。
-
从PyPI安装
pip install trodes_to_nwb
-
从源代码安装
注意:我们目前推荐使用mamba作为包管理器。如果使用conda,请将以下命令中的mamba替换为conda。
git clone https://github.com/LorenFrankLab/trodes_to_nwb.git cd trodes_to_nwb mamba env create -f environment.yml mamba activate trodes_to_nwb pip install -e .
用法
-
将您的文件放置在文件夹中。子文件夹也可以。以下扩展名的文件应位于您的目录中
.rec
:包含电生理记录、加速度计、陀螺仪、磁力计、DIO数据、头的二进制文件.videoPositionTracking
:trodes跟踪位置(可选).h264
:视频文件.cameraHWSync
:位置时间戳.stateScriptLog
:状态脚本控制实验者参数
这些文件需要按照以下格式命名:
{date}_{animal}_{epoch}_{tag}.{extension}
,其中日期采用YYYYMMDD
格式,纪元是带零填充的整数(例如02
而不是2
),标记可以是任何方便的简短描述符。例如,20230622_randy_02_r1.rec
是2023年6月22日randy动物的第二个纪元、第1次(r1)的录音文件。(注意:默认情况下,Trodes以
{date}_{animal}_{epoch}_{tag}.{camera number}.{extension}
的格式保存与视频相关的文件(.h264
、videoPositionTracking
、cameraHWSync
),这与上述格式略有不同。此转换包接受此格式,并用于匹配具有多个摄像头的纪元中的摄像头与位置跟踪) -
为每次录音会话创建一个元数据yaml文件。我们强烈建议使用NWB YAML Creator创建元数据yaml文件,以确保兼容性和正确格式。您还可以查看此示例元数据yaml文件。
元数据yaml文件应命名为
{date}_{animal}.metadata.yml
,其中日期采用YYYYMMDD
格式,并放置在与.rec
文件相同的目录中。以下是一个示例有效目录结构
`-- beans | | | `-- raw | | | `-- 20190718 | |-- 20190718_beans_01_s1.1.h264 | |-- 20190718_beans_01_s1.1.trackgeometry | |-- 20190718_beans_01_s1.1.videoPositionTracking | |-- 20190718_beans_01_s1.1.videoTimeStamps | |-- 20190718_beans_01_s1.1.videoTimeStamps.cameraHWSync | |-- 20190718_beans_01_s1.rec | |-- 20190718_beans_01_s1.stateScriptLog | `-- 20190718_beans_metadata.yml | `-- README.md
-
在Python中运行代码。这将为输出目录中的每个
.rec
文件创建一个NWB文件。from trodes_to_nwb.convert import create_nwbs path = "/path/to/your/data" # from step 1 output_dir = "/path/to/your/output/directory" create_nwbs( path, output_dir, header_reconfig_path=None, probe_metadata_paths=None, convert_video=False, n_workers=1, query_expression=None, )
对于上面的示例目录结构,路径看起来是这样的
path = "/path/to/your/data/beans/raw"
请注意以下可选参数
header_reconfig_path
:如果您想更改标题信息,可以提供一个包含新标题信息的yaml文件的路径。请参阅此示例标题重新配置yaml文件。例如,这对于从非四电极设备记录的数据来说可能很重要。probe_metadata_paths
:默认情况下,该包包含几种常见的探针设备类型配置。如果您使用的是不包括在内的探针,可以提供一个包含探针元数据的yaml文件的路径。请参阅此示例探针元数据yaml文件。convert_video
:将.h264视频文件转换为.mp4。这需要在您的系统上安装ffmpeg
。n_workers
:用于并行处理的工作线程数。默认为1。query_expression
:查询表达式,用于选择要转换的文件。例如,如果您在文件夹中有几个动物,您可以编写"animal == 'sample'"
来仅选择sample动物。默认为None
,表示转换目录中的所有文件。
有关转换的完整示例代码,请参阅教程笔记本
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。