操作性條件反射是實驗心理學中使用的經典範例,動物學習執行某種動作以獲得獎勵。透過使用這種範例,可以提取學習曲線並準確測量反應時間。在這裡,我們描述了一種完全可 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 列印裝置
如需任何資訊和故障排除,請隨時與我們聯絡: