一个免费开放源码的python工具,用于fmri数据的人口接收场分析。
pyprf的Python项目详细描述
PYPRF
一个免费的开源python包 (prf)分析。有了这个包,你可以呈现视觉刺激 视网膜主题成像功能磁共振实验,并对 功能磁共振成像数据。
为视网膜主题图实验提供视觉刺激。刺激物 由不同位置和方向的杆组成,填充 闪烁的黑白棋盘。重要的是 参与者在整个实验中都是固定的。因此,有一个 中心注视任务。固定点偶尔会改变颜色, 任务是按下一个按钮(数字 1 )作为响应。最后 在演示文稿中,参与者的命中率作为反馈提供。
视网膜主题图实验的fmri数据分析工具。PRF 估计每个体素(见[1])。这里使用的prf模型是2d 高斯;自由参数是高斯的x和y位置,以及 宽度(SD)。这个相当简单的prf模型最适合早期 视觉皮层(较高的皮层区域可能需要更复杂的模型)。
如何使用-刺激演示
- 安装
刺激方案的提出是在 如果您想运行 实验,你首先需要安装精神病(如果你已经有功能磁共振成像) 如果要运行数据分析,可以跳过此步骤)。他。 Debian ,可以轻松安装Psychopy 使用apt-get 啊!
如果您正在运行其他操作系统,请参阅 心理变态网站
对于刺激演示,您不需要安装 pyprf 。你 只需要一份文件夹的副本。 获得 pyprf 刺激的最简单方法是克隆github 存储库:
啊!(或单击"下载"按钮。)
然后您可以简单地复制文件夹 stimulation/presentation 和所有 它的内容到电脑,你用来刺激的演示。(到) 不更改文件夹名称。
- 创建设计矩阵
在运行实验之前,需要在 你指定的实验设计(例如 刺激,靶事件的试验间隔,功能磁共振容积tr, 等等)。你可以打开脚本 ~/pyprf/pyprf/stimulus u presentation/code/create design matrix.py 输入 神经病,从T在这里,或直接在命令行调用它。
可以在将弹出的gui中指定所有参数。注意 每个功能磁共振容积有一个刺激,所以你必须知道容积tr 创建设计矩阵时。
- 刺激呈现 < > >
为了呈现刺激,你可以打开文件 精神病和 从那里开始。或者,可以调用演示脚本 直接从命令行:
python `~/pyprf/pyprf/stimulus_presentation/code/stimulus.py`
将打开一个gui,您可以在其中指定进一步的实验参数。 重要的是,设计矩阵的名称(例如"run_01")需要 与您在上一步中创建的文件匹配。
启动脚本后,它将等待来自 fmri扫描仪(默认:键盘按钮 5 )。
刺激看起来是这样的:
您可以按 e 和 x 来中断演示。 同时。
如何使用-分析
- 安装 numpy 。例如: < > >
- pyprf 包可以直接从pypi安装,在 以下方式: < > >
- 数据分析: < > >
pip install numpy
(或者,如果你使用康达, conda安装
pip install pyprf
(或者,您也可以从存储库安装它,比如 这: git clone https://github.com/ingo-m/pyprf.git 然后是 pip安装/path/to/pyprf )
为了准备分析,你需要运行刺激 在 日志模式下的演示文稿脚本,以便创建 刺激方案。跑 ~/pyprf/pyprf/stimulation_presentation/code/stimulation.py (如上所述 上面,无论是精神病患者还是命令行)。在图形用户界面中,设置 "日志模式"设置为 真
刺激方案演示日志创建在文件夹中 ~/pyprf/pyprf/simulation\u演示/log/run\u帧/
分析参数在配置文件中设置。示例文件可以是 建立 这里 。 有关详细信息,请参阅其中的评论。
运行分析:
pyprf -config /path/to/config.csv
依赖关系
pyprf 在python 3.6中实现。
如果使用 pip 安装 pyprf (如上所述),则 除了 精神病 和 神经病 自动安装-您不必亲自处理。 只需按照上述安装说明进行操作。
<表> < COLGROUP > < COL/> < COL/> <广告> 刺激呈现 测试版本 < /广告> <正文> 心理变态 1.83.04 numpy 1.15.1 scipy 1.1.0 枕头 5.0.0 <表> <表> < COLGROUP > < COL/> < COL/> <广告> 数据分析 测试版本 < /广告> <正文> numpy 1.15.1 scipy 1.1.0 nibabel 2.2.1 cython uma 0.27.1 枕头 5.0.0 tensorflow 2 1.4.0 h5py 2.8.0 <表>!!:以获得更快的性能
?根据硬件的不同,可以产生快速的性能。但是,需要 为GPU使用配置TensorFlow(附加TensorFlow 特定依赖项,包括GPU驱动程序)。
分析可以通过三种不同的方式进行:使用 numpy , cython ,或 张力流 。您可以在中设置此选项 config.csv 文件。这三种方法的结果都一样, 但它们的依赖性和计算时间不同:- numpy 使用numpy进行模型拟合。应该是开箱即用的。- cython 通过使用编译后的cython代码,可以大大加快速度 用于模型拟合。应该是开箱即用的。 这种方法是 建议大多数用户使用 。- tensorflow 可能优于其他 速度选项(取决于可用硬件) 在图形处理单元(gpu)上运行glm模型拟合。 但是,为了使其工作,需要将tensorflow配置为 使用GPU(包括各自的驱动程序)。见 tensorflow 有关 如何配置系统以使用GPU。如果不配置 TensorFlow要使用GPU,分析仍应无误运行 在CPU上。因为这个分析可能是单线程的,所以 慢。无论您选择哪个选项,始终需要numpy。
贡献
对于贡献者,我们建议执行以下步骤:
-
创建自己的fork(在web界面中,或通过
git签出
-b
新的分支
)
- 如果在Web界面中创建分支,请将更改拉到 本地存储库( git pull )
- 更改为新分支: git checkout new_branch
- 进行更改
- 将更改提交到新分支( git add. 和 git commit -m )
- 将更改推送到新分支( git push origin new_branch )
- 使用Web界面创建拉取请求
参考文献
此应用程序基于以下工作:
[1]Dumoulin,S.O.和Wandell,B.A.(2008年)。群体感受野 人类视觉皮层的估计。神经影像39647–660。
支持
请使用github 问题用于提问或错误 报告。您也可以通过 pyprf 与我们联系。 频道。
许可证
该项目是在gnu通用公共许可版本下获得许可的。 3