スクリプトからXファンクションを呼び出す

ほとんどの組み込みXファンクションはデフォルトでLabTalkから呼び出すことができます。つまり、コマンドウィンドウスクリプトウィンドウ、ツールバーボタン、ワークシートに埋め込まれたスクリプト、ボタンに埋め込まれたスクリプトなど、LabTalkスクリプトを実行できるところならどこでもXファンクションを呼び出すことができます。

Xファンクションを呼び出すシンタックス

各Xファンクションには、int、double、string、range、さらにはtreeなど、さまざまなデータ型の独自の入力変数と出力変数のセットがあります。
<xfunction> -<option1> option1value -<option2> option2value var1:=value1 var2:=value2 ....


ここでは、Xファンクションsmoothを使用してXファンクションを呼び出す方法を紹介します。

  • オプションの完全な名前と短縮名をサポートしています。例)下記のスクリプトは、どちらもsmoothのヘルプをダンプします。

smooth -h

smooth -help

  • 変数の完全な名前と短縮名をサポートしています。例)下記のスクリプトは、どちらもmethod変数に対して方式1Savitzky-Golay(インデックス付けは0から開始)を指定します。

smooth m:=1

smooth method:=1

  • 一部の変数では、文字列またはインデックス番号としての値をサポートしています。例)下記のスクリプトは、どちらもmethod変数に対して方式1Savitzky-Golayを指定します。

smooth method:=1

smooth method:=sg

  • オプションと変数の順序は混同することができます。例)下記のスクリプトは、どちらも方式1、ポイント数5、再計算オプション「自動」を指定します。

smooth -r 1 method:=1 npts:=5

smooth method:=1 -r 1 npts:=5

  • ほとんどの変数にはデフォルト値があります。デフォルト値を使用する場合は、var1:=valueを指定する必要はありません。例)デフォルトのiy (入力)変数は<active>(グラフ内のアクティブなプロットまたはワークシート内で選択された列)です。下記のすべてのスクリプトは、グラフ内のアクティブなプロットまたはワークシートの選択されたデータをスムージングします。

smooth //smooth on active plot or selected data with all default smoothing settings

smooth m:=2 //アクティブプロットまたは選択されたデータを方式2でスムージング

smooth npt:=7 //アクティブプロットをデフォルトの方式1でスムージング、ただしウィンドウのポイント数は7とする

  • 変数名のvar1:=の部分は、変数値を順番に入力するとスキップできます。例)smooth -h と入力して全ての変数を表示すると、1番目の変数はiy、2番目の変数はmethodであることがわかります。下記のスクリプトは、どちらもsmooth iy:=(1,2) method:=2と同じで、データセット(アクティブなワークシートの第1列がX、第2列がY)を方式2でスムージングします。

smooth (1,2) 2 //iy:= is skipped, method:= is skipped. It's same as smooth iy:=(1,2) method:=2

smooth (1,2) method:=2 //iy:= はスキップされる。smooth iy:=(1,2) method:=2 と同様

  • -dを実行してXファンクションダイアログを開きます。ほとんどのXファンクションには対応するダイアログがあります。次のスクリプトを実行すると、変数を簡単に指定して実行できます。

smooth -d //opens smooth dialog with all default settings.

smooth method:=2 -d //方式が方式2に設定されたスムージングダイアログを開く

  • -dbを実行してXファンクションダイアログを開き、現在のウィンドウにドッキングします。その後、ウィンドウをドッキング可能なダイアログとともに保存して、将来使用することができます。

smooth -db //opens smooth dialog with default settings and the dialog is docked to the left of active window

  • 元に戻すをサポートするには-uを実行します。

smooth -u // X-Function become undoable, i.e. you can undo by Ctrl + Z or select Undo from Edit menu

ファイルメタデータを入力として使用する

Xファンクションでファイルのメタデータを参照できます。スクリプトウィンドウ(ウィンドウ:スクリプトウィンドウ)を開き、次のように入力します。 page.info.= これにより、Xファンクションの実行時に使用できるユーザー変数を含む、ファイルメタデータのリストがダンプされます。

rnormalize -r 2 method:=specify val:=page.info.USER.VARIABLES.NOOFPOINTS; // runs the X-Function rnormalize, dividing values in the selected column by the value of page.info.USER.VARIABLES.NOOFPOINTS.

スクリプトウィンドウに変数をダンプする代わりに、ファイルをインポートしたワークシート列の右側の灰色の部分で右クリックしてオーガナイザを表示することも可能です。page.infoを展開して、ノード上で右クリックしノードパスをコピーするを選択します。

実行後の入出力変数値へのアクセス

Xファンクションが呼び出された後、入力または出力に関係なく、変数値にアクセスできます。一部のXファンクション出力は、ツリー変数に入れてからアクセスする必要があります。ここでは、いくつかの簡単な例のみを示します。

  • はじめに、Y列を選択してsmoothを実行します。次のスクリプトを実行します。

smooth.= //gives all variables and corresponding values

smooth.method= //方式の番号を与える

  • はじめに1列を選択してstatsを実行します。次のスクリプトを実行します。

stats.= //gives all output values

stats.min= //計算された平均値を与える


レポートツリーにアクセスするには、例えばANOVAの場合、XファンクションGetresultsを使用します。

既存の操作の構成ツリーを取得するには、Xファンクション Op_changeを使用します。

コマンドウィンドウでの簡単な実行方法

コマンドウィンドウ(ウィンドウ:コマンドウィンドウ)を使用して、Xファンクションを呼び出す方法を簡単に学ぶことができます。コマンドウィンドウではXファンクション名、オプション、変数を自動入力できます。 次をお試しください。

  1. ワークシートで、最初の列に行番号を入力し、2番目の列に乱数を入力します。2番目の列を選択します。
  2. ウィンドウ:コマンドウィンドウを選択してコマンドウィンドウを開きます。
  3. sを入力すると、名前がsから始まるXファンクションのリストが表示されます。
    Cm1.png
  4. Downキーを押してsmoothまで移動し、Enterキーを押して選択します。マウスでsmoothをダブルクリックして選択することもできます。
  5. コマンドラインに smooth が表示されます。Spaceキーを押します。smoothの変数が表示されます。
    Cm2.png
  6. Downキーを押してmethod:=1まで移動し、Enterキーを押して選択します。
  7. 利用可能な方式が表示されます。
    Cm3.png
  8. Downキーを押してpf=2 Percentile Filterまで移動し、Enterキーを押して選択します。
  9. Spaceキーを押した後に-キーを押します。オプションが表示されます。すべてのオプションが表示されます。
    Cm4.png
  10. Downキーを押してrecalculateまで移動し、Enterキーを押して選択します。
  11. Spaceキーをのあとに1を押して、再計算オプションを1にします。これにより、入力データに変更があると自動再計算されます。
  12. Enterキーを押して実行します。3列目にスムージング結果が表示されます。
    Cm5.png
  13. コマンドウィンドウでsmooth.=と入力し、Enterキーを押すと、実行されたXファンクションで指定されたすべての変数値が表示されます。
    Cm6.png
  14. smooth.method= を実行すると方式の値が得られます。
  1. およびのキーを使用して、 現在のセッションで入力した前のコマンドを前後にスクロールできます。
  2. コマンドウィンドウの左パネルには、現在のセッションで実行されたすべてのコマンドをが表示されます。そこにカーソルを置いてEnterキーを押すと、そのコマンドラインが再度実行されます。

Xファンクション設定をダイアログテーマファイルとして保存し、それを呼び出す

Xファンクションの変数設定はテーマファイルに保存できます。Xファンクションを呼び出し、-themeまたは-tオプションを使用して、テーマファイルに保存された設定を使用できます。

例:

  1. スクリプトウィンドウで smooth -d を実行、またはメニューの解析:信号処理:スムージングを選択してsmoothダイアログを開きます。
  2. いくつかの設定を変更します。例)方式と再計算モード
  3. ダイアログ上部のダイアログテーマの隣の > ボタンを押して名前を付けて保存...を選択します。mythemeのような名前を付けます。
  4. ファイルは次の場所に保存されます。 <ユーザファイルフォルダ>\Themes\AnalysisAndReportTable\(ファイル名の例: 0-smooth-mytheme.ois)Originはいくつかの接頭辞を追加するため、ユーザはそれがスムージングのXファンクションであることが分かります。
  5. スクリプトウィンドウで次を実行して、アクティブなデータに対してmythemeテーマでスムージングをかけます。

1. smooth -t mytheme //Do smoothing with mytheme

2. smooth -t mytheme -d; // mythemeがロードされたスムージングダイアログを開く

Xファンクションダイアログからスクリプトを生成

いくつかのXファンクションには、Xファンクションスクリプトを生成するためのスクリプトの生成コンテキストメニューがあります。

  1. スクリプトウィンドウで smooth -d を実行、またはメニューの解析:信号処理:スムージングを選択してsmoothダイアログを開きます。
  2. いくつかの設定を変更します。例)方式と再計算モード
  3. ダイアログ上部のダイアログ・テーマの隣の > ボタンを押してスクリプトの生成を選択します。
    Smooth GS.png
  4. スクリプトがスクリプトウィンドウにダンプされます。
smooth -r 1 method:=fft;

XファンクションをLabTalkで呼び出せないようにする

最初に述べたように、ほとんどのX関数はLabTalkで呼び出すことができます。呼び出しを禁止するには、

  1. メニューからツール:Xファンクション・ビルダを選択します。
  2. ファイルメニューからXファンクションを開きます。
  3. ツール:ツリービューメニュー(またはツリービューボタン) を選択してXファンクションをツリービュー表示します。
  4. 使用のコンテクストブランチを展開します。
  5. LabTalkのチェックを外します。
  6. Xファンクションを保存します。

Note: 組み込みXファンクションの上書き保存はできません。ユーザ定義Xファンクションとして保存する必要があります。ユーザファイルフォルダとシステムフォルダに同じ名前のXファンクションがある場合、ユーザファイルフォルダの下にあるXファンクションが使用されます。


関連項目