問題タブ [shady]

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.

0 投票する
1 に答える
66 参照

python - Shady で事前に準備された画像配列の一部を提示する

刺激を提示するために、psychtoolbox から shady に移行することに興味があります。私はオンラインドキュメントに目を通しましたが、現在matlabで行っていることを怪しげに再現する方法がよくわかりません。

私がやっていることは、実はとてもシンプルです。試行ごとに、

  1. ディスクから 1 つの画像をロードします (オフラインで輝度の線形化を行います)。これには、その試行で表示する予定のすべてのフレームが含まれています (刺激は 1000x1000 px で、25 フレームを提示するため、画像は 5000x5000px になります。 BW 画像を使用するため、ピクセルごとに 1 つの int8 値があります)。

  2. 画像全体を CPU から GPU に転送します

  3. ある時点で (外部制御)、最初のフレームをビデオ バッファーにコピーして表示します。

  4. 別のポイント (外部制御) で、残りの 24 フレームの表示をトリガーします (各ビデオ フレームの画像の関連部分をビデオ バッファーにコピーしてから、flip() を呼び出します)。

  5. 外部制御は、別のマシンが TCP/IP を介して刺激提示コードと通信することによって行われます。コントロール PC がプレゼンテーション PC にコマンドを送信し、これが実行された後、プレゼンテーション PC は確認メッセージをコントロール PC に返信する必要があります。最初のフレームが画面に表示されたとき、2 番目のフレームが画面に表示されたとき、25 番目のフレームが画面に表示されたときに 1 つずつ、3 つの ACK メッセージを送信する必要があります (このようにして、コントロール PC はフレームがドロップされたかどうかを簡単に確認できます)。 )。matlab では、ブロッキング メソッドの Flip() を呼び出してフレームを表示し、戻ってきたら制御 PC に ACK を送信します。

それでおしまい。どうすれば日陰でそれを行うことができますか? 私が見るべき例はありますか?

0 投票する
1 に答える
42 参照

python - Shady でのフレームごとの描画の制御

Shady によって画面に描かれているものの流れを制御する方法を理解するのに苦労しています。私は Psychtoolbox に慣れています。ここでは、バックバッファーに描画してフレームに追加し続け、flip() を呼び出して明示的に画面にプッシュします。Shady を使用すると、Stimulus オブジェクトを World に追加すると、できるだけ早く描画されるように、自動的に行われるように見えます。しかし、いくつかの刺激を追加する必要がある場合、それらがすべて描画されるまで、画面上で何も更新されないことをどのように保証できますか?

たとえば、空白の画面を描画し、その左上隅に小さな正方形を描きたいとします。私は次のようなことができます:

しかし、フレーム n 以降から s1 が描画され、フレーム n+1 以降から s2 が描画されないようにするにはどうすればよいでしょうか? おそらくそれらは 1 つの Stimulus オブジェクトに組み合わせることができますが、私はそれらを別々に保ちたいと思います (私の実際の問題では、小さな正方形は実際にフォトセルをトリガーするために使用されるため、単一の刺激のためにそれをフラッシュできる必要があります)。フレーム、タスク中のさまざまな時間)。