問題タブ [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 Professional SP3
- AMD Athlon 64X23800+デュアルコア2.0GHz
- NVIDIA GeForce 7800 GT
- 2 GB RAM
仕事用コンピューター:(この質問はこのコンピューターに適用されます)
- Windows XP Professional SP3
- Intel Pentium 4 2.8 Ghz(デュアルコアだと思います)
- Intel82945GExpressチップセットファミリ
- 1 GB RAM
元の投稿:
次のコードでMatlabのPsychtoolboxを使用して、画面の一部に非常に単純なテクスチャを適用しようとしています。
今、私はこれ(4つの同じサイズの正方形)を見ることを期待します:
しかし、代わりに私はこれを取得します(右側と下側が切り取られ、左上の正方形が大きすぎます):
明らかに、宛先の長方形はソースの長方形よりもはるかに大きいため、テクスチャを拡大する必要があります。私はこれが最初の写真のように対称的に起こることを期待します、そしてこれは私が必要とするものでもあります。なぜこれが起こらないのですか、そして私はそれについて何ができますか?
また、[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 つのスレッドが刺激を表示し、別のスレッドがキーボードをポーリングするように、並列処理を使用しようとすることです。現在、これを行うためにParallel Computing Toolboxを使用しています。私が抱えている問題は、キーボード入力を「並列化された」スレッドに送る方法がわからないことです。(1)キーボード入力をスレッドに直接送信できるかどうか/スレッドに視覚信号をモニターに送信させることができるかどうか、また可能であれば(2)その方法を知っている人はいますか?
また、この問題にどのようにアプローチするかについて誰かがより良いアイデアを持っている場合は、私はすべて耳を傾けます.
shell - シェルまたは Makefile から Matlab/Psychtoolbox を呼び出しても、同じ動作は得られません。なんで?
Makefile は記述されたシェル コマンドを実行しているだけだと思っていましたが、物事はそれほど単純ではないようです。sample.m は、画面に単語を表示する最小限の matlab プログラムです。Makefile から起動すると、シェルから起動したときと同じように動作しません...
シェルから
-> 単語を正しく表示する
Makefile から
->青色のバウンディング ボックスで単語を表示します
どう違うの?Ubuntu 10.04 マシンで Matlab 2010a を使用しています。sample.m スクリプトに引数は渡されません。
image - MAT ファイルのセル配列からイメージを取得するにはどうすればよいですか?
次のコードを使用して、複数 (64) の画像を MAT ファイルに取得しました。
ただし、この MAT ファイルにあるどの行列からも画像を取得できません。これには、64x1 構造体配列 ( D
)、1x64 セル配列 ( imcell
)、および 1 つの数値を含む配列 (64) ( i
) が含まれます。
psychtoolbox 実験で使用するために、セル配列内の個々の画像にアクセスできる必要があります。
どんな助けでも感謝して受け取ります!!
matlab - リアルタイムで音の強さを測定するにはどうすればよいですか?
音声応答を記録する機能をプログラムする必要がありますが、話している人の声が特定の強さに達したときに、オンラインで知る必要があります。現在、私はこれを録音に使用しています:
オンラインで声の強さを分析できません(たとえば、ノルムを使用)。
python - Web上でPythonを使用して、精神物理学実験の最適なタイミングをオンラインで達成する
精神物理学実験のために、ウェブブラウザ内に視覚/聴覚刺激を表示したい。Pythonを使用する予定ですが、タイミングが気になります。これらのタイプのタスクで一般的なタイミングについては、明らかに画面の更新に頼ることはできません。Webでのタイミングの精度と、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 ファイル内の単語のリストが 1 つの列にあり、 Matlab PsychtoolboxDrawFormattedText
を使用して (置換なしで) ランダムな順序で表示したいと考えています。
現時点では、次のエラーが発生しています。
matlab - win64からwin32へのpnet通信
pnet tcp / udp toolbox)をpsychtoolboxと一緒に使用して、異なるマシンのmatlabの2つのインスタンス間で通信します。私のマシンの1つは、matlab2010bを実行している32ビットのwin7です。もう1つは、matlab2012aを実行している64ビットのwin7です。あるコンピューターから別のコンピューターにデータを転送する際に問題が発生しました。
実験1:32ビットコンピューターからudp_plotter_demoを実行しながら、64ビットコンピューターからudp_send_demoを実行します。期待される結果:32ビットコンピューターはデータをプロットし、キーボード入力を待ちます。Kb入力の場合は、図を閉じてデモを終了します。64ビットは送信を終了し、デモを停止します。実際の結果:64ビットは正常に動作します。32ビットコンピューターはプロットしますが、ハングしてデモを閉じることを拒否します。キーボード入力に応答しないため、強制的に閉じる必要があります。
実験2:上記の実験を32ビット送信と64ビット読み取りで逆に実行します。期待される結果:64ビットがプロットされ、キーボード入力を待機します。kb入力が見つかった場合は、デモを停止します。実際の結果、64ビットのMATLABがクラッシュし、mexファイルのセグメンテーション違反を主張しています。スタックトレースが表示されます(最後にその一部を追加しています)。
ポート番号をいじってみても違いはありません。プリコンパイルされたmexを使用する代わりに、「pnet.c」ソースファイルを再コンパイルしても違いはありません。 質問:誰かがこのようなことを試みましたか?動作させましたか?Win64コンピューターに32ビットMATLABをインストールせずに、これを機能させるための方法を提案できますか?
============
コード:
サーバ側:
クライアント側:
=============
スタックトレース
2012年9月29日土曜日16:41:11にセグメンテーション違反が検出されました
構成:
クラッシュデコード:無効
デフォルトのエンコーディング:windows-1252
MATLABルート:C:\ Program Files \ MATLAB \ R2012a
MATLABバージョン:7.14.0.739(R2012a)
オペレーティングシステム:Microsoft Windows 7
プロセッサーID:x86ファミリー6モデル58ステッピング9、GenuineIntel
仮想マシン:Java1.6.0_17-b04とSunMicrosystems 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