Chapter EightyFour

第84話


このコーナーを読んでくれている高橋さんからホームページの連絡先にメールが入った。楽しみにしてくれている人がいるというのは書いている方として張り合いがでるものだ。第6話で説明なしで書いたTransformという言葉をLabVIEWの機能と誤解されたらしい。TransformはSpyglass社のデータ可視化プログラムなのだが、今日調べてみたらSpyglass社は昨年OpenTV Corp.に買収されていた。OpenTV Corp. のホームページにはTransform のサポートについては何も書かれていなかったから、Transformは完全に過去のものになってしまったようだ。Excelの機能が上がって少なくとも2次元では優位性がなくなってしまったのだろう。Dicerという3次元データの可視化プログラムもあったが、あれも同じ運命なのだろうか?

第6話で書いていたのは強度グラフ(Intensity graph)のZ軸の色マッピングの方法についてだった。LabVIEW3の頃でIntensity graphが導入されて大喜びだった。Transformはこの時点で俺の中では死んでしまったが、メニューからデータの特徴が分かりやすい色マッピングを選べるのはたしかに便利だったし、楽しかった。一見、無味乾燥な数字の羅列のようなテーブルを色マッピングを変えるだけで魅力的な画像に変化させることができた。

さて、LabVIEWのIntensity Graphで色マッピングを行うには、Z Scale MarkerとColor Tableの2種類がある。Z Scale Markerで数値と色クラスター配列を指定すると補完して色マッピングデータが作られる。たとえば下の図は十和田湖の紅葉をイメージして即興で作ったTowadaという色配列だ。湖の上を遊覧船が白い波を立てて進み、岸部の黄色や赤の美しい紅葉が秋空に映えている、などといいかげんに色を割り当ててみた。

さて、この状態でColor Tableはどんなふうになっているだろうか。property nodeでColor Tableを読み出してみた。色はU32で指定されているので、10進数と16進数とColor Boxを並べて配列の値を見てみよう。配列の大きさは256個になっている。0番目の要素は黒になっている。下限に割り当てられている色だ。1番目の要素は水色、153番目の要素は黄色、254番目の要素は青、255番目の要素は上限を越えたときの白になっている。Intensity GraphではZ Scale Markerからの内挿で上限と下限を越えたときの2色を除いて254色が割当てられることがわかる。

この例では表示しているデータがU8なのでデータの0〜255が色配列の1〜254にうまく割り付けられているのだろう。データが実数のときもZ軸のフルスケールに対応してColor Tableの要素1から要素254の色が割り付けられるはずだ。

ここまでの話のようにZ Scale Markerを使ってColor Tableを作るのではなく、直接Color Tableに任意のパターンを指定することもできる。等間隔である値だけを例えば黒に設定するとデータがなだらかな場合は等高線を表示することもできる。

マンデルブローの図形を表示するプログラムでZ Scale Markerを使ったプログラム例を作ってみたので紹介しよう。左上に全体像を表示し、カーソルで計算領域を簡単に設定することができるようにした。colorMarkという名前のEnum制御器で色マッピングと計算サイズ(縦横同数に固定)を設定した後Area Selectボタンを押すと詳細な計算を開始する。縦横比が崩れると気持ちが悪いのでグラフの横幅を基準に縦の長さを自動的に調整している。表示されている色マッピングは落花生、丹沢、青空のイメージのHadanoと名付けられている。

計算サイズと複素数の領域をサブViに入力するとマンデルブローの計算結果を得ることができる。表示のためのスケールの情報もついでにこのサブVIで行っている。色マッピングはcolorMarker.viというサブVIでクラスター配列を設定している。
colorMarker.viは単純に色マッピング毎のケース構造になっていて指定された色マッピングのクラスター配列を出力する。(これは5色のiMacパターン)
今回は第6話のフォローとしてIntensity Graphの色マッピングについて書いてみた。それにしても、LV3に比べてProperty Nodeの項目数が大幅に増加しているのに驚いている。あまり多すぎてマニュアルなどの情報が追いついていないような気がする。試してみるにしても片っ端から忘れていきそうな、、、

 

See you!

Nigel Yamaguchi


戻る