问题标签 [psychtoolbox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - 如何使用 Matlab Psychtoolbox (OpenGL) 放大/拉伸纹理?
更新:这似乎只是某些计算机的问题。正常、直观的代码在我的家用电脑上似乎可以正常工作,但工作中的电脑有问题。
家用电脑:(没问题)
- Windows XP 专业版 SP3
- AMD 速龙 64 X2 3800+ 双核 2.0 GHz
- 英伟达 GeForce 7800 GT
- 2 GB 内存
工作电脑:(这个问题适用于这台电脑)
- Windows XP 专业版 SP3
- Intel Pentium 4 2.8 Ghz(我认为是双核)
- 英特尔 82945G Express 芯片组系列
- 1 GB 内存
原帖:
我正在尝试使用 Matlab 中的 Psychtoolbox 将一个非常简单的纹理应用于屏幕的一部分,代码如下:
现在我希望看到这个(四个大小相同的正方形):
但相反,我得到了这个(右侧和底部被切断,左上角太大):
显然目标矩形比源矩形大很多,所以需要放大纹理。我希望这会像第一张图片一样对称地发生,这也是我需要的。为什么这没有发生,我能做些什么呢?
我也尝试使用 [128 0 1152 1024] 作为目标矩形(因为它是我屏幕中心的正方形)。在这种情况下,所有边都是 1024,这使得每个涉及的矩形都是 2 的幂。这没有帮助。增加棋盘的大小会导致类似的情况,即无法正确显示右侧和最底部。
就像我说的,我使用 Psychtoolbox,但我知道它在后台使用 OpenGL。我对 OpenGL 也不太了解,但也许有人可以在不了解 Matlab 的情况下提供帮助。我不知道。
谢谢你的时间!
matlab - 加速轮 - MATLAB 中的 psychtoolbox
我正在尝试编写一个显示加速轮的代码。只要用户按下“a”,车轮就会逆时针加速。问题是它转向正确的方向,但它没有加速。这是我正在使用的代码(在 PTB-3 和 Windows XP 中):
如果有人知道它为什么不加速,我会非常感激。
matlab - 如何在 MATLAB 中并行化输入和显示?
我在 MATLAB 中使用Psychtoolbox来运行行为心理学范式。作为范例的一部分,用户必须查看视觉刺激并使用某种输入机制对其做出响应。对于键盘,其工作原理如下:
- 显示刺激
- 轮询键盘以获取响应
- 如果未检测到响应,则循环回 1
- 如果检测到响应,则中断并继续使用脚本
这适用于键盘,因为第 2 步需要 1-2 毫秒。当我使用替代输入机制时,问题就来了;在这种情况下,第 2 步需要大约 20 毫秒。(我需要这个备用输入来运行研究,这应该被认为是不可变的事实。)由于刺激在很短的时间跨度内发生变化,这种增加的延迟会破坏任务。
我目前的想法是尝试使用并行处理,这样一个线程显示刺激,另一个线程轮询键盘。我目前正在使用并行计算工具箱来执行此操作。我遇到的问题是我不知道如何将键盘输入定向到“并行化”线程。有谁知道(1)是否可以将键盘输入引导到线程/让线程将视觉信号发送到监视器,如果是,(2)怎么做?
另外,如果有人对如何解决这个问题有任何更好的想法,我会全力以赴。
shell - 从 Shell 或 Makefile 调用 Matlab/Psychtoolbox 不会产生相同的行为!为什么?
我以为 Makefile 只是在执行规定的 shell 命令,但事情似乎并不那么简单:sample.m 是一个最小的 matlab 程序,它在屏幕上显示一个单词。从 Makefile 启动时,它的行为与从 shell 启动时不同...
从贝壳
-> 正确显示单词
从 Makefile
-> 用蓝色边框显示单词
怎么可能不同?我在 Ubuntu 10.04 机器上使用 Matlab 2010a。没有参数传递给 sample.m 脚本。
image - 如何从 MAT 文件中的元胞数组中检索图像?
我使用以下代码将多个 (64) 图像放入 MAT 文件中:
但是,我现在无法从这个 MAT 文件中的任何矩阵中检索图像。它包含一个 64x1 结构数组 ( D
)、一个 1x64 元胞数组 ( imcell
) 和一个包含一个数字的数组 (64) ( i
)。
我需要能够访问单元阵列中的单个图像以用于 psychtoolbox 实验。
任何帮助将不胜感激!
matlab - 如何实时测量声音强度?
我需要编写一个记录音频响应的功能,但是当说话人的声音达到一定强度时,我需要在线知道它。目前我正在使用它进行录制:
我无法在线分析声音的强度(例如使用规范)。
python - 在网络上使用 Python 实现心理物理学实验的最佳在线时间
我想在网络浏览器中显示视觉/听觉刺激以进行心理物理学实验。我打算使用 python,但我担心时间。我显然不能依靠屏幕刷新来计时,这在这些类型的任务中很常见。在网络上计时的准确性以及与 Python 一起使用的最佳工具是什么方面,我希望有多少。我正在考虑使用 FastCGI
我只是想听听人们对此的看法。
matlab - matlab中的随机颜色矩阵
我想生成一个随机颜色块的矩阵——10 x 10 像素的随机颜色块——例如:
http://i.stack.imgur.com/Jlc8L.png
到目前为止,我已经生成了随机数并使用以下方法放大了矩阵kron
:
http://i.stack.imgur.com/eBU0T.png
使用:
我想为此添加随机颜色,但是:
报告:
如何生成随机色块矩阵?
这适用于 Psychtoolbox-3(DrawTexture
似乎无法在没有插值的情况下将 10x10 随机颜色矩阵放大到 100x100)。
matlab - 如何在 MATLAB 的 txt 文件中显示列表中的随机单词?
如果有人可以帮助解决这个问题,那就太好了。
我在 .txt 文件的单列中有一个单词列表,并希望使用Matlab PsychtoolboxDrawFormattedText
以随机顺序(不替换)呈现它们。
目前我收到此错误:
matlab - 从win64到win32的pnet通信
我使用pnet tcp/udp 工具箱)和psychtoolbox在不同机器上的两个 matlab 实例之间进行通信。我的一台机器是运行 matlab 2010b 的 32 位 win7。另一个是运行 matlab 2012a 的 64 位 win 7。我在将数据从一台计算机传输到另一台计算机时遇到问题。
实验 1:从 64 位计算机运行 udp_send_demo,同时从 32 位计算机运行 udp_plotter_demo。预期结果:32 位计算机绘制数据,等待键盘输入。如果输入 Kb,则关闭图形并结束演示。64位完成发送并停止演示。实际结果:64 位的行为应如此。32 位计算机绘图但挂起并拒绝关闭演示。它不响应任何键盘输入,必须强制关闭。
实验 2:以 32 位发送和 64 位读取反向运行上述实验。预期结果:64 位绘图并等待键盘输入。如果找到 kb 输入,则停止演示。实际结果是 64 位 matlab 崩溃,声称 mex 文件中存在分段违规。它显示一个堆栈跟踪(我在最后附加了它的一部分)。
玩弄端口号没有区别。重新编译“pnet.c”源文件而不是使用预编译的 mex 没有区别。 问题:有没有人尝试过这样的事情?你让它工作了吗?你能建议一些事情来尝试让它工作而不必在我的 Win64 计算机上安装 32 位 matlab 吗?
=============
代码:
服务器端:
客户端:
==============
堆栈跟踪
2012 年 9 月 29 日星期六 16:41:11 检测到分段违规
配置:
崩溃解码:禁用
默认编码:windows-1252
MATLAB 根目录:C:\Program Files\MATLAB\R2012a
MATLAB 版本:7.14.0.739 (R2012a)
操作系统:微软视窗7
处理器 ID : x86 Family 6 Model 58 Stepping 9, GenuineIntel
虚拟机:Java 1.6.0_17-b04 与 Sun Microsystems Inc. Java HotSpot(TM) 64 位服务器 VM 混合模式
窗口系统:版本 6.1(内部版本 7601:Service Pack 1)
故障数:1
异常终止:分段违规
寄存器状态(来自故障):RAX = 0000000000000000 RBX = 0000000000000000
RCX = 000000005d0df7d7 RDX = 0000000000000001
RSP = 00000000040671b0 RBP = 0000000004067289
RSI = 000000000000003d RDI = 000000000000003d
R8 = 000000005d0df7d6 R9 = 000050490ee40167
R10 = 000000000000003d R11 = 0000000000000000
R12 = 0000000000000008 R13 = 000007fefb997678
R14 = 0000000000000002 R15 = 0000000000000002
RIP = 000007fefb99238a EFL = 00010202
CS = 0033 FS = 0053 GS = 002b
堆栈跟踪(来自故障):
[0] 0x000007fefb99238a C:\Users\ephys-data\Desktop\temp\tcp_udp_ip\pnet.mexw64+00009098 (perror+004298)
[1] 0x000007fefb99389b C:\Users\ephys-data\Desktop\temp\tcp_udp_ip\pnet.mexw64+00014491 (mexFunction+001979)
[2] 0x0000000074f10f63 C:\Program Files\MATLAB\R2012a\bin\win64\libmex.dll+00069475 (mexRunMexFile+000131)
[3] 0x0000000074f0fce2 C:\Program Files\MATLAB\R2012a\bin\win64\libmex.dll+00064738 (inSwapMexfileReader+000226)
[4] 0x0000000074f0fe58 C:\Program Files\MATLAB\R2012a\bin\win64\libmex.dll+00065112 (inSwapMexfileReader+000600)
[5] 0x0000000074e4b046 C:\Program Files\MATLAB\R2012a\bin\win64\m_dispatcher.dll+00045126 (Mfh_file::dispatch_fh+000486)
....更多东西....
运行 MEX 文件时检测到此错误。如果 MEX 文件不是 MathWorks 的官方函数,请检查其源代码是否有错误。有关调试 MEX 文件的信息,请参阅外部接口指南。
如果此问题可重现,请通过以下方式提交服务请求:....
技术支持工程师可能会与您联系以提供更多信息。
谢谢您的帮助。
谢谢
-b