一个免费开放源码的python工具,用于fmri数据的人口接收场分析。

pyprf的Python项目详细描述


PYPRF

一个免费的开源python包 (prf)分析。有了这个包,你可以呈现视觉刺激 视网膜主题成像功能磁共振实验,并对 功能磁共振成像数据。

<H3>1。刺激呈现

为视网膜主题图实验提供视觉刺激。刺激物 由不同位置和方向的杆组成,填充 闪烁的黑白棋盘。重要的是 参与者在整个实验中都是固定的。因此,有一个 中心注视任务。固定点偶尔会改变颜色, 任务是按下一个按钮(数字 1 )作为响应。最后 在演示文稿中,参与者的命中率作为反馈提供。

<H3>2。数据分析

视网膜主题图实验的fmri数据分析工具。PRF 估计每个体素(见[1])。这里使用的prf模型是2d 高斯;自由参数是高斯的x和y位置,以及 宽度(SD)。这个相当简单的prf模型最适合早期 视觉皮层(较高的皮层区域可能需要更复杂的模型)。

如何使用-刺激演示

  1. 安装

刺激方案的提出是在 如果您想运行 实验,你首先需要安装精神病(如果你已经有功能磁共振成像) 如果要运行数据分析,可以跳过此步骤)。他。 Debian ,可以轻松安装Psychopy 使用apt-get 啊!

如果您正在运行其他操作系统,请参阅 心理变态网站

对于刺激演示,您不需要安装 pyprf 。你 只需要一份文件夹的副本。 获得 pyprf 刺激的最简单方法是克隆github 存储库:

啊!

(或单击"下载"按钮。)

然后您可以简单地复制文件夹 stimulation/presentation 和所有 它的内容到电脑,你用来刺激的演示。(到) 不更改文件夹名称。

  1. 创建设计矩阵

在运行实验之前,需要在 你指定的实验设计(例如 刺激,靶事件的试验间隔,功能磁共振容积tr, 等等)。你可以打开脚本 ~/pyprf/pyprf/stimulus u presentation/code/create design matrix.py 输入 神经病,从T在这里,或直接在命令行调用它。

可以在将弹出的gui中指定所有参数。注意 每个功能磁共振容积有一个刺激,所以你必须知道容积tr 创建设计矩阵时。

  1. 刺激呈现
  2. < > >

    为了呈现刺激,你可以打开文件 精神病和 从那里开始。或者,可以调用演示脚本 直接从命令行:

    python `~/pyprf/pyprf/stimulus_presentation/code/stimulus.py`

    将打开一个gui,您可以在其中指定进一步的实验参数。 重要的是,设计矩阵的名称(例如"run_01")需要 与您在上一步中创建的文件匹配。

    启动脚本后,它将等待来自 fmri扫描仪(默认:键盘按钮 5 )。

    刺激看起来是这样的:

    您可以按 e x 来中断演示。 同时。

如何使用-分析

  1. 安装 numpy 。例如:
  2. < > >
    pip install numpy
    

    (或者,如果你使用康达, conda安装

    1. pyprf 包可以直接从pypi安装,在 以下方式:
    2. < > >
      pip install pyprf
      

      (或者,您也可以从存储库安装它,比如 这: git clone https://github.com/ingo-m/pyprf.git 然后是 pip安装/path/to/pyprf

      1. 数据分析:
      2. < > >

        为了准备分析,你需要运行刺激 在 日志模式下的演示文稿脚本,以便创建 刺激方案。跑 ~/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 gitter 与我们联系。 频道。

许可证

该项目是在gnu通用公共许可版本下获得许可的。 3

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java语法错误,请插入“;”完成陈述。我怎样才能解决它?   java为什么我会在这里收到类型安全警告?(仿制药)   jQuery的java datepicker插件不会将值发送到Struts 2中的后端   解析时java JSON对象为空   java IntelliJ不会识别从gradle项目导入的一些内容   Android中的java隐藏、显示和聚焦editText   java每个客户端一个线程。可行吗?   sql server 2008 Java更新管理表时出错   Eclipse CDT无头构建C++ java死锁   jboss上的java ear部署   Java编译器或安卓编译器正在截断我的双精度。。。?   java如何使我的if语句在ifelse语句运行时再次运行?   java JMeter,在线程组之间传递值   格式化Java整数金字塔   java如何知道gmail集成安卓应用程序中已登录的用户