データテンプレートを使って実現しました。今回はプラグイン拡張というものを行ってみたいと思います。リフレクションがあります。外部クラスライブラリファイルを解析して、そこに書かれているインスタンスを生成したり、メソッドを呼び出したりできます。次のクラスライブラリを作成します。そのあるCUIアプリのコードは次のとおりです。]]>このアプリを実行すると次の結果を得ます。介しているので、そんなにひどいことにはならないはずです。しても同じ結果を得ますが、とても時間がかかるので引数が不定の場合だけにした方が良いと思います。この仕組みを使えば、後から機能を拡張するというプラグイン拡張ができます。ユーザーが自分のやりたいように処理を入れられるということです。ところで、このクラスライブラリをデバッグするにはどうしたら良いのでしょうか?残念ながらリフレクションを使うとデバッグできません。いうときは、クラスライブラリとして参照し、次のように実際に呼び出して確認します。ん?ではやっぱりツールを公開した後、ユーザーが実際にプラグインを開発しようとした時にデバッグできずに困るのでは?アタッチしてコードの中まで入れました。ステップ実行もできます。いうことでプラグイン開発もデバッグしながら行えることを確認しました。ファイルが示すソースコードの中に入ってステップ実行、パラメータの確認などが行えるので問題は無いですね。具体的にはプラグイン開発者は、クラスライブラリのプロパティより、「外部プロジェクトの開始」パスにツールの実行ファイルパスを指定してデバッグすれば、問題なくデバッグできます。32bit)で受け取るプラグインを作成し高速フーリエ変換を行って波数の変動成分の大きさを求め、スペクトル画像を作成してみたいと思います。配列を返す関数を用意したいと思います。最初はデバッグ目的のため同じ値を返すだけとします。フーリエ級数展開、フーリエ変換とはなにか?離散フーリエ変換(DFT)や高速フーリエ変換(FFT)アルゴリズムについてネットで調べると情報がたくさん手に入ります。理系の大学出身の方であれば1年次後期、2年次前期あたりで応用数学として学んでいると思います。当時の教科書やノート、プリントを見なおせば早く思い出せるでしょう。プログラムを作成します。4チャンネル同時にリアルタイム解析しても動作しました。データ解析と比較してみました。解析対象の波形がこちら解析結果の比較画像がこちらやりました、正しくフーリエ解析できているようです。今回はプラグインが自分でウィンドウを表示し、そこに結果を描画するという形式で作成しました。WPFウィンドウを表示するクラスライブラリを作るには、まずWPFアプリとして作りプロパティよりクラスライブラリに変更し、ビルドを妨げるファイルをビルドから除外する必要があります。カメラを使って指先認識を行うための、下しらべがおおむね完了しました。次回からはいよいよ距離画像に触れます。