Topazとは何か

  Topaz(Tools for plotting and analyzing data)は、UnixやWin32上で動作するグラフ生成システムです。キーボード操作をベースとしたインターフェイスにより、インタタクティブにグラフ作成ができます。 GUIベースのアプリケーションと異なり、使い込む程高速にオペレーションが可能になります。

 またPerl-likeな強力なマクロ言語(Topazスクリプト)を備えています。 メニューには無い機能の追加や、バッチ的処理、ルーチンワーク的処理に多きな威力を 発揮します。 Topazの全てのグラフオブジェクト及びメソッドは、Topazスクリプトで完全に制御できます。

 ターミナルからTopazを起動すると、terminalは2つに分割され、別ウインドウとしてビューアが起動します。 ターミナル上領域でのメニューオペレーションによりグラフ編集を行います。 下領域には、フィッティング結果やTopazシステムからのメッセージが表示されます。 編集中のグラフイメージはビューアに表示されます。



起動時のイメージ(Linux版)


そのめざすもの

1. GUIの排除
 GUI(graphical user interface)は一見便利で初心者でも取り掛かりやすいユーザインターフェイスですが、オペレーションに慣れてくると、キーボードとマウスを持ち代えなければならない煩雑さを覚えます。またキー入力は訓練でその速度上達が期待できますが、マウスはそうはいきません。お絵書きソフトならともかく、グラフ作成ソフトにマウスは不要と判断し、オペレーションをキーボードのみとしました。またGUIの場合のように、ダイアログボックスがグラフイメージを覆いつくすことがありませんので、ダイアログボックス下の再描画に悩まされることもありません。真に使いやすいインターフェイスを追求した結果、GUIを捨てることにしました。

 
2. ポータビリティの確保
 基本モジュールはgccでコンパイル可能です。 また使用ライブラリは良く知られたlibncurses、libregex、libgetopt、libX11、libreadline、libhistoryのみです。 GUIのためのライブラリを用いていないため、他のプラットホームへの移植も容易です。

 
3. スクリプトインタプリタの搭載
 スクリプトの利用により、機能拡張、バッチ処理を容易に行えるようにしました。 また、スクリプトの言語仕様は広く親しまれており、かつ高機能な"Perl"をベースとしました。 Perlの仕様と極力互換性を保つよう配慮しながらサブセットを抽出し、グラフオブジェクトを扱えるよう機能拡張しました。 Perlを基本ベースとしているため、Topaz scriptはたいへん強力です。

 
4. スクリプトから呼び出せるインターフェイス
 スクリプトから呼び出せるインターフェイス(CUIインターフェイス)を用意しました。 Topazは、全てのオペレーションをscriptを介して行いますが、マンマシンインターフェイスとして、テキストベースのインターフェイス(cuimenu)を用いることができます。 テキストの入力、項目の選択、ファイル選択などがインタラクティブに行えます。

 
5. コマンドラインからの起動制御
 コマンドラインオペレーションが重要視されるUnix環境に合わせ、コマンドラインからの起動をスクリプトにより自在に制御できるよう設計しました。 数値データのプロット方法、起動時のグラフのスケーリングなど自由に行えます。 また、パイプからの入力、パイプへの出力が自然な形で行えますので、Topazをフィルタ的にも用いることができます。