4

脳波研究用の視覚刺激を作ろうとしています。ビデオは単に黒いフレームと白いフレームの間のちらつきであり、交替は 12Hz、24Hz、48Hz、72Hz の範囲のレートで発生する必要があります。

私たちのモニターのリフレッシュ レートは 144Hz で、コンピューターも凝っています。精度を確保するためにオシロスコープでビデオの成功を測定しています。したがって、ハードウェアは問題になりません。理論的には、モニターのリフレッシュ レートの半分まで可能です。ただし、Java と MatLab の両方で失敗しました。

私はMatLabを使ってみました:

1) imwrite() を使用して gif を作成する

2) VideoWriter を使用する

3) getframe() と movie2avi() を使用します。

これらすべてのメソッドで、非常に高いフレームレートが宣言されており、実行中にすべてのフレームが挿入されたことをコマンド ウィンドウで確認できます。ただし、最終的な出力ファイルが 48Hz を超えることはありません。

その上、48Hz、24Hz、さらには 12Hz のファイルにも、フレームに重大なタイミングの問題があります。

また、Processing の MovieMaker を使用してファイルを作成しようとしました。フレームレートを 72Hz に設定し (72 個の .png ファイルのリストをフレームとして入力)、72Hz でちらつく 1 秒のファイルを出力する必要があります。

ただし、結果は 48Hz でのみ発生し、フレームのタイミングも信頼できません。

検索を使い果たしていなければ、ここに投稿することはありませんでした。私は本当にアイデアがありません。MatLab と Processing はどちらも、この種の高 fps ファイルを実現するための推奨される方法であり、どちらもフリッカー周波数が低い場合でも大きなタイミングの問題があります。高 Hz フリッカー (グラフィック設定? コーデック?) の一時的な忠実度を高めるためのヒント、または 72 Hz まで実現する方法について誰かがヒントを持っている場合は、大いに感謝します!

私が言ったように、私は Processing/Java と MatLab しか使ったことがないので、別のプラットフォームをお勧めします。

4

2 に答える 2

2

これは答えではありません。ただし、コメント ボックス以上のものが必要ですので、ご容赦ください。

関連する基本的な問題があります。

  • OS/Graphics コンボが公開する機能に描画するだけでは、次のフレームから描画された要素が存在することは保証されません (私が知っているすべてのシステムで)。
  • これは単純に、これらすべてのコンボが EEG 刺激用ではなく、視覚的理解による消費用であるという事実に端を発しています。
  • 多くのコンボは低レベルの機能 (OpenGL など) を提供しており、そのような機能は期待できますが、他の一連の問題が伴います。その 1 つは快適でないプログラミング環境です。
  • ほとんどの OS/ハードウェアの組み合わせでは、この刺激を維持するのは些細なことではないかもしれません.回転の速いディスクでも読めます。リアルタイム指向の OS ダイアレクトを目指す必要があります。

編集

質問を読み直したところ、Java を使用していることがわかりました。忘れてください。1 回の GC ブレークは、簡単に 7 ミリ秒を超えることがあります。

于 2013-10-23T23:33:30.297 に答える
2

必要なタイプのコントロールを取得するために必要な低レベルの openGL コマンドをラップする、Matlab 用の無料の (ビールと自由のような) ツールボックスがいくつかあります。

MGLは Mac でのみ動作しますが、次の点に注意してください。

mgl は、matlab からフルスクリーンの視覚刺激を表示するための一連の matlab 関数です。これは OpenGL 関数に基づいていますが、これらをさまざまな種類の視覚刺激のコーディングに使用できるより単純な関数に抽象化しています。

Psychtoolboxは Mac、Windows、Linux で動作します

視覚心理物理学にコンピューター ディスプレイを使用する魅力は、刺激をソフトウェアで指定できることです。実験を実行するプログラムは、多くの場合、ハードウェアを完全に制御して正確な刺激表示を実現するために、低レベル言語 (C や Pascal など) で記述されます。Psychophysics Toolbox は、この機能を Matlab および Octave アプリケーションに追加するソフトウェア パッケージです。 Macintosh、Linux、および Windows コンピュータの場合

あなたはまだ始めたばかりのようですが、その場合は、Python ベースのPsychoPyも検討することをお勧めします。

PsychoPy は、Python で実験を実行するためのオープンソース パッケージです (Matlab の実際の無料の代替手段)。PsychoPy は、OpenGL のグラフィカルな強みと簡単な Python 構文を組み合わせて、科学者に無料でシンプルな刺激提示と制御パッケージを提供します。

于 2013-10-24T08:21:13.843 に答える