QuickBuildで簡単な四則演算をする方法
QuickBuildを使っていると、とあるツールの出力する数値を加工したい場合がよくあります。
複数の値の平均をとったり、単純に係数をかけたり。
はたまたQuickBuild内で使う定数、変数を定義したいこともあります。
電卓ツールや変数ツールがあればいいのですが、ないものは作ってしまいましょう。
なに、難しいことはありません。
ToolBlockを使うと簡単に解決できます。
やり方は簡単
ここでは、PatMaxのScoreに、100(定数)をかけて、0.0〜1.0のスコアを0.0〜100.0の100点満点のスコアに変換する例で説明します。
ToolBlockのInput/Outputに変数を定義
ToolBlockのInputに加工したい数値、定義したい定数を作ります
この図では、Inputのパラメタとして、2つのdouble型を定義しています。
ひとつはPatMaxのScoreを受け取る用途の「OriginalScore」です。
もうひとつは100倍するための定数Multiplierです。
Outputには計算結果を出力するdouble型変数 Scoreを用意します。
ToolBlockのSimple Script(VB.NET)で計算!
まず、Simple Script(ここではVB.NET)を選びます。Advanced Scriptは以前からあるToolGroupのScriptと同じ書式でスクリプトを書くのがちょっと面倒です。その点Simple Scriptは簡単に書くことができます。
では、実際にSimple Scriptで計算式を書いて見ます。
まぁ、今回の例では掛け算ひとつなので1行だけです。
簡単ですね。Simple ScriptなのでInput/Outputに定義した変数に簡単にアクセスできます。インテリセンスも働くので、とりあえず「Me」から打っていけばうろ覚えでも大丈夫です。
計算式を書き終わったら、「コンパイル」ボタンを押してコンパイルします。何か書き間違えがあればここでエラーが出て教えてくれます。
QuickBuildのスクリプトであまり難しいものを作るのは面倒ですが、この程度のことならば積極的に活用した方が便利だと思います。
実行!
PatMaxのScoreをToolBlockのOriginalScoreターミナルにつないだら実行してみましょう。
まとめ
ToolBlockは中に画像処理のツールを入れる器としてではなくて、こういった簡単な処理をする「スクリプトの器」としても便利に使えます。