操作性条件反射是实验心理学中使用的经典范例,其中动物学习执行某种动作以获得奖励。通过使用这种范例,可以提取学习曲线并准确测量反应时间。在这里,我们描述了一种完全可 3D 打印的设备,它能够对自由移动的小鼠进行操作性调节,同时对动物位置进行实时跟踪。
您可以在此处或此处找到 3D 打印模型。
在figures/EXPLODED VIEW.jpg中有一个直观的组装方案图。我们使用 Cura 4.0 以中等分辨率 (100 µm) 打印所有组件,速度为 90 mm/s,填充率为 20%。 OC 室的设计非常简单,因此几乎所有打印机都足够精确,可以成功打印整个室。
所有组件的列表可以在这里找到:物料清单
OC室
相机
送货
此外,您还需要:
按照figures/diagram_scheme.png中的描述连接所有组件
要在 Raspberry Pi(RPI) 中安装该软件,只需下载或复制整个代码到 Raspian OS 的文件夹中。
Python
Arduino
在 Arduino UNO 上编译并加载名为 Skinner.ino 的草图
要校准电容式传感器阈值,请加载名为 SkinnerCapacitiveTest 的 Arduino 草图。该函数仅在串行端口上打印电容传感器值。设置适当的阈值有助于检测鼠标触摸。
要在终端中运行代码,请输入:
cd h ome p i o c_chamber \ or replace with the folder path containing the scpript
python3 cvConditioningTracking.py
或者在 IDLE IDE 中打开 cvConditioningTracking 并按 F5。
用户可以通过编辑文件 cvConditioningTracking.py 前 25 行中的变量值来自定义实验的一些低级参数。文件本身给出了这些参数的更详细说明。
该室可以以 2 种模式运行实验:训练模式和排列模式。用户可以通过编辑cvConditioningTracking文件中的参数任务来选择两种模式之一。两种模式的详细信息和差异可以在论文中找到。
在实验开始时,系统会通过 GUI 提示用户,该 GUI 收集有关即将运行的实验的一些基本信息。
主题:包含当前鼠标标识符的字符串。如果留空,则不会保存文件。
文件路径:保存实验文件的位置。输出由两个 .txt 文件组成,其中包含数据集部分中所述的实验数据集,存储在 DATA 和 DATAtracker 文件夹中。用户可以浏览 PC 上的某个位置,如果该字段留空,则默认为当前工作目录。
REC 文件名:包含用于保存视频录制的名称的字符串。如果留空,则不会保存文件。
REC 文件路径:保存视频录制的位置,并覆盖包含鼠标位置和活动区域的内容。用户可以浏览 PC 上的某个位置,如果该字段留空,则默认为当前工作目录。
条件:实验条件。将在实验中呈现的刺激列表。可以指定一个或多个条件,用逗号分隔:
此处指定的所有条件将以随机顺序呈现。
标准:鼠标停留在活动区域以激活试验所需的帧数。 20 帧 = 1 秒
水平:选择分隔腔室活动区域和非活动区域的线的垂直位置。该值被归一化为腔室高度。 0 = 腔室底部,1 = 腔室顶部,0.5(默认)= 腔室中部
校准:实验开始时用于相机校准的帧数。在实验开始时校准相机对于更好地跟踪背景上的鼠标非常重要。
通过编辑以下文件的第一行可以使用其他自定义选项:
为了允许使用更复杂的视觉刺激,您可以找到适用于 LCD 显示屏的代码的主干版本。要运行代码 Psychopy2 是必需的。要在 RPI 上安装 Psychopy,请遵循以下说明。安装 Psychopy 后,在 Psychopy IDE 中打开 cvConditioningTracking.py 并运行代码。该代码包含一个名为 LCD.py 的模块,可用于显示选定的图像。目前,该代码是一个存根,一个未经测试的版本,运行用于演示目的。
Dataset 文件夹包含我们的原始数据,如本文所述,有 6 个主题。每个主题都包含在其自己的文件夹中,并使用以下方案进行编码:CAGE-LABEL-GENO。此外,还有两个 Jupyter Notebooks,其中包含有关如何在 Python 中将 txt 输出文件读取为 pandas 数据帧的示例。
该装置的详细描述可以在这里找到:用于鼠标自动操作条件调节的 3D 打印装置
如需任何信息和故障排除,请随时联系我们: