問題タブ [fftw]

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 に答える
1682 参照

c++ - ITKとFFTWを使用したVS2008のエラーLNK2019(未解決の外部シンボル)

私は医用画像を処理するためにITKとプロジェクトを行っています。多くの作業の後、それ以上のコンパイルエラーはありませんが、リンクプロセスで次の情報があります。

1> ------生成が開始されました:プロジェクト:prueba_r01、構成:デバッグWin32 ------ 1>リンク…1>ライブラリC:\ Documents and Settings \ GTTS \ Mis documentos \ Visual Studio 2008\Projectsを作成しています\ prueba_r01 \ Debug \ prueba_r01.libおよびオブジェクトC:\ Documents and Settings \ GTTS \ Mis documentos \ Visual Studio 2008 \ Projects \ prueba_r01 \ Debug \ prueba_r01.exp

1> prueba_r01.obj:エラーLNK2019:extern symbol "public:double(* __thiscall prueba_r01 :: multiply_matrix_2D(double()[2]、double()[2]、int、int))[2]"(?multiply_matrix_2D @ prueba_r01 @@ QAEPAY01NPAY01N0HH @ Z)関数 "private:void __thiscall prueba_r01 :: filtro(void)"(?filtro @ prueba_r01 @@ AAEXXZ)で参照される未解決

1> C:\ Documents and Settings \ GTTS \ Mis documentos \ Visual Studio 2008 \ Projects \ prueba_r01 \ Debug \ prueba_r01.exe:致命的なエラーLNK1120:1 externos sin resolver

1> prueba_r01-2つのエラー、0つの警告==========一般:0の修正、1の誤り、0の実現、0の省略==========

メソッドmultiply_matrix_2Dは、プライベートスロット「filtro()」内で呼び出されたときにエラーを生成します(フィルターとして変換されます)。ファイルのヘッダーは次のとおりです。

そして、問題が特定されている主要な部分は.cppファイルにあり、ここに表示されます。

**ダブルポインタを*fftw_complexにキャストするプロセスは、ここで行われます。これは、周波数領域(H(w))のフィルタに、画像のfft変換の結果を乗算したいためです。これが理由です。fftw_complexはdouble[2]であり、最初の行は実数部、2番目の行は虚数であることに注意することが重要です。問題のあるメソッドを以下に示します。

どんな助けでも本当にいいでしょう!今はかなり迷っています…ありがとう!グラシアス!アントニオ

0 投票する
3 に答える
741 参照

c++ - C++ での Reinterpret_cast の使用

これを持っているだけの簡単な質問:

違いは何ですか:

どうもありがとうございました

アントニオ

0 投票する
2 に答える
482 参照

c++ - 時間コンパイルでの違反アクセス(0xC0000005)

私がやりたいプロセスは、FFTを画像(「imagen」に格納されている)に作成し、それをフィルター「H」で乗算することです。その後、逆FFTも実行されます。コードを以下に示します。

問題はここ、関数'multiply_matrix_2D'内のループにあります。

x=95およびy=93の値は、M=191およびN=96です。prueba_r01.exeの0x004273abでの制御されていない例外:0xC0000005アクセス違反の読み取り0x01274000。

imagen http://img846.imageshack.us/img846/4585/accessviolationproblem.png

変数の多くの値が赤で表示されている場合、および変換の問題の場合:H_cast [] [1]の値ボックスに「Error30CXX0000:式を評価できません」があります。

どんなお手伝いもよろしくお願いします!!

アントニオ

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

c++ - FFT_2D を計算するための 2D double* ポインター内の画像のピクセル値

画像の FFT を計算したいので、画像を読み取ります。ITK SmartPointer は「imagen」と呼ばれます。FFT (fftw_plan_dft_r2c_2d) の計算に使用する関数の入力には、入力として 2D double* ポインターが必要です。そのため、私はそれを行います:

しかし、画像のピクセルの値にアクセスしようとすると、それらは定義されていません 「画像」のピクセルタイプは2倍です:

そして、画像はQtを使用してユーザーインターフェイスを介してフレームから読み取られます。

誰でもこれで私を助けることができますか?fft を計算するには、画像の値を 2D double* ポインターにする必要があります。

乾杯、高度なサポートに感謝します!

アントニオ・ゴメス・バルケロ

編集済み

私は自分の問題を解決しましたが、以下に投稿されていますが、コンパイル時ではなく実行時に画像がロードされるため、実行時まで2次元を知らずに結果を2Dマトリックスに変換することが問題になります。ヒントはありますか? ? ありがとう!

解決

0 投票する
2 に答える
3907 参照

opencv - C++ での画像のスペクトルの描画 (fftw、OpenCV)

特定の画像の 2 次元グレースケール スペクトルを描画するプログラムを作成しようとしています。OpenCV および FFTW ライブラリを使用しています。インターネットのヒントとコードを使用してそれらを変更することで、画像をロードし、この画像の fft を計算し、fft から画像を再作成することができました (同じです)。私ができないのは、フーリエスペクトル自体を描くことです。手伝っていただけませんか?コードは次のとおりです (重要度の低い行は削除されています)。

}

問題は「スペクトル」セクションにあります。スペクトルの代わりに、ノイズが発生します。私は何を間違っていますか?あなたの助けに感謝します。

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

unix - ルートアクセスなしでFFTWをコンパイルする

上司が休暇中です。MacOSXでhttp://www.fftw.org/からFFTWライブラリをコンパイルしたいと思います。問題は、makeinstallを使用してルートディレクトリにファイルをインストールするためのrootアクセス権がないことです。私のユーザーアカウントのためだけにそれらをローカルにインストールする可能性はありますか?。

私はこれを読んだhtt​​p://www.princeton.edu/~ngrube/notes.html#fftw ..

私は自分のホームディレクトリにbin、lib、include、shareサブフォルダを含むフォルダを取得します。インクルードフォルダーにはfftw3.hファイルがあり、libフォルダーにはlibfftw3.aファイルがあります。私のプロジェクトでfftw3.hを使用する可能性はありますか?私がそれを実行し、libfftw3.aを私のプロジェクトにリンクしたいとき、それは言います:

-llibfftw3.aのライブラリが見つかりません

C /C++用のEclipseCDTを使用しています

編集:

ユーザーディレクトリのローカルパスにインストールするためにmakeinstallを使用すると、次の行が表示されることがわかりました。

問題だと思います。誰かが解決策を持っていますか?

0 投票する
2 に答える
415 参照

benchmarking - fft アルゴリズムのベンチマーク アプローチ

私は現在、 FFTWに置き換えたい独自の内部 fft (高速フーリエ変換) ライブラリを持つライブラリに取り組んでいます。現在、他の開発者は、それが引き起こす可能性のあるパフォーマンスの問題について少し心配しています. また、速度に関して最も重要な部分は、半複素数の実数を処理する 1D 畳み込みアルゴリズムです。(私はfftwのfftw_plan_r2r_1dを使用しています)。

また、変換のサイズに応じて内部で fftw が異なるアルゴリズムを使用するため、状況は少し複雑になります。

私の現在のアイデアは、さまざまな長さのデータセットの束を生成することです。次に、それらを読み取り、変換を行う前に、所定の方法で反復ごとにデータセット配列を変更します。

それとも他に知っておくべきことはありますか?

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

python - PythonThreadPoolでイニシャライザーを使用する方法

多数の2D畳み込みを同時に計算するために、PyFFTWを使用してねじ山畳み込みを実行しようとしています。(GILはNumpy操作用にリリースされているため、個別のプロセスは必要ありません)。これを行うための標準的なモデルは次のとおりです。http: //code.activestate.com/recipes/577187-python-thread-pool/

(Py)FFTWはプランを再利用するのでとても速いです。これらは、次のようなアクセス違反エラーを回避するために、スレッドごとに個別に設定する必要があります。

このようにして、Workerクラスのrunメソッド内の実際のコンボルバーに引数、、、、、を渡すことがself.inputaできます。self.outputaself.fftself.inputbself.outputbself.ifft

これはすべて素晴らしいですが、ThreadPoolクラスをインポートすることもできます。

しかし、同じ結果を得るには、ThreadPoolでイニシャライザーをどのように定義する必要がありますか?ドキュメントhttp://docs.python.org/library/multiprocessing.htmlによると、 「各ワーカープロセスは、起動時にinitializer(* initargs)を呼び出します」。これはPythonソースコードで簡単に確認できます。

ただし、たとえば2つのスレッドを使用してスレッドプールを設定する場合は、次のようになります。

そして、おそらくいくつかのループでそれを実行します

初期化子によってコンボルバーをセットアップするにはどうすればよいですか?畳み込みごとにFFTWプランを再計算せずに、スレッドごとに個別のFFTWプランを使用するにはどうすればよいですか?

乾杯、アレックス。

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

android - FFTWをAndroidNDKアプリケーションにリンクする

私は現在、コンピュータエンジニアリングの最終年度のプロジェクトとして、ジャンル分類アプリケーションを作成しています。私は最初にCで特徴抽出コード(FFTWを実装)を作成しましたが、今度はNDKを介してAndroidに実装する必要があります。

これは私の最初のNDKプロジェクトなので、まだコツをつかんでいますが、このガイドに従ってAndroid用のFFTW3ライブラリをコンパイルしました。私はそれが私が必要とするものに適切であるとは思わなかったので、私は最後のステップをしませんでした。

私の質問は、コンパイル手順の後で、それを呼び出すメインのNDKアプリケーションでライブラリをどのように使用するかです。コンパイルしたばかりのlibfftw3.aにLOCAL_STATIC_LIBRARIESを設定しただけで、Application.mkのすべてが正常に実行されますか?そして、通常のように-lfftw3リンカーフラグを設定する必要はありませんか?

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

fortran - FFTW:リアルからコンプレックス、コンプレックスからリアルの2Dトランスフォームのトラブル

タイトルにあるように、私はFFTW(バージョン3.2.2)とFortran 90/95を使用して、実データ(実際には乱数のフィールド)の2DFFTを実行しています。私は前進のステップが機能していると思います(少なくとも私はいくつかの出力を得ています)。ただし、IFFTを実行してすべてをチェックし、元の入力を再構築できるかどうかを確認したいと思いました。残念ながら、complex to realルーチンを呼び出すと、何も起こらず、エラー出力も得られないため、少し混乱しています。コードスニペットは次のとおりです。

上記の順方向ステップは機能しているようですが(r2c)、逆方向ステップは機能していないようです。u配列とrecov配列を区別してこれを確認しましたが、最終的にはゼロではなくなりました。さらに、recov配列の最大値と最小値は両方ともゼロでした。これは、何も変更されていないことを示しているようです。

私はFFTWのドキュメントを調べ、次のページhttp://www.fftw.org/fftw3_doc/Fortran-Examples.html#Fortran-Examplesに基づいて実装しました。問題がインデックス作成に関連しているのかどうか疑問に思っています。少なくとも、それが私が傾いている方向です。とにかく、誰かが助けを提供できれば、それは素晴らしいことです!

ありがとう!