更新日: 14/04/22

xyz データを z マトリクスへ変換する方法

Q. 1次元のウェーブ 3つ(XYZ データ)を Z マトリクスに変換することはできますか?

A. WaveMetrics Procedures フォルダ(※1)に収録されている XYZtoMatrix プロシージャを使うと変換できます。

XYZtoMatrix は、次の 3つのデータフォーマットに関する様々なフォーマット変換マクロを提供するプロシージャです。

バージョン 6.2 以降

バージョン 6.1 以前

  1. ウィンドウメニュープロシージャウィンドウプロシージャウィンドウを選択し「プロシージャウィンドウ」を開きます。

  2. ウィンドウ冒頭の #Pragma~ の次の行に、下記を追加します。
    #include <XYZtoMatrix>


  3. プロシージャウィンドウ下部の「コンパイル」ボタンをクリックして、プロシージャウィンドウを閉じます。ここまでの操作で、マクロメニューに次の 7つのマクロ(※2)が追加されます。


    マクロ名 変換前のデータ 変換後のデータ XとYの分割数指定 XとYの範囲指定
    XYZtoMatrix XYZ データ Z マトリクス 不可能
    XYZtoMatrixRange XYZ データ Z マトリクス 可能
    XYZTripletToMatrix XYZ トリプレット Z マトリクス 可能
    XYGridandZtoMatrix XYZ データ Z マトリクス 不要 不可能
    XYZToXYZTriplet XYZ データ XYZ トリプレット 可能
    XYZSubsetToXYZTriplet XYZ データ XYZ トリプレット 不要 可能
    XYZTripletToXYZ XYZ トリプレット XYZ データ 不要 不可能

    ここでは、例として、wX、wY、wZ の 3つの 1次元ウェーブ(XYZ データ)を、Z マトリクスに変換するケースを考えます。

  4. マクロメニューXYZtoMatrix (一番上) を選択します。次のようなウィンドウが表示されます。


  5. XYZtoMatrix ウィンドウで「X Wave」、「Y Wave」、「Z Wave」をリストから、それぞれ「wX」、「wY」、「wZ」を指定します。

  6. Output matrix name」には、既存のデータと重複しない任意の名称を Z マトリクスの名称として指定することができます。ここでは "matrix" と入力します。
    入力する名称は "" (ダブルクォーテーション) で囲む必要があることにご注意ください。

  7. Put matrix in new table?」を Yes にするとデータ変換と同時に変換後のデータがテーブルに表示されます。不要の場合は No を選んでください。

  8. Display matrix as image?」を Yes にするとデータ変換と同時にイメージプロットが既定の設定で作成されます。不要の場合は No を選んでください。

  9. number of rows (X) for matrix」と「number of columns (Y) for matrix」の 2つのテキストボックスには、変換後の Z マトリクスの分割サイズを指定します。大きくすると細かく分割され(補間され)ます。ここではそれぞれ 50 を入力します。
    :データサイズの大きさや分割数によっては、変換に非常に時間を要する場合もありますのでご注意ください。)


  10. 全ての指定が済んだら「続行」ボタンをクリックします。
    変換前の XYZ データ
    変換後の Z マトリクス

☆上記の操作ファイル(XYZtoMatrix.pxp/IGOR Pro 6.06J で作成)のダウンロードはこちら

※1 WaveMetrics Procedures フォルダは、開発元が製品に同梱しているプロシージャ群が納められたフォルダで、IGOR Pro をインストールしたフォルダにあります。ここで使用したデータフォーマットの変換機能だけでなく、さまざまな機能が提供されています。

※2 IGOR Pro バージョン 6 では、7 つのマクロが追加されますが、バージョン 5 では追加されるマクロは、XYGridandZtoMatrixXYZSubsetToXYZTriplet を除いた 5つです。