多次元データ 解析・可視化ソフトウェア GAVE A Grid Data Analyzer and Viewer, GAVE 竹本 和彰 北海道大学理学部地球科学科 地球流体力学研究室 4年 2004 年 2 月 3 日
1.目次 背景 特徴 機能 動作 インストール まとめ
GrADS IDL GAVE 解析・可視化ツール 2.多次元データを取巻く環境 インターネット インターネット 衛星観測 数値シミュレーション 多様なプラットフォーム 多様なデータ生成法 多様なプラットフォーム 多様なデータ生成法 データ 多様なデータ形式 多量のデータ 多次元データ 手軽に 解析・可視化 を行いたい 手軽に 解析・可視化 を行いたい
3. GAVE の開発背景 既存多次元データ解析・可視化ソフトウェア に対する不満 CUI (手軽さにかける) 商用(高価・改変不可) 開発基盤となるライブラリの存在 解析・可視化のライブラリ:電脳 Ruby プロジェ クト Ruby で使える GUI ライブラリ
4.電脳 Ruby プロジェクト 解析・可視化・数値シミュレーションのためにオブ ジェクト指向スクリプト言語 Ruby を使うプロジェ クト Ruby 用各種ライブラリ開発中 Ruby/NetCDF: Ruby 用 NetCDF (自己記述・機種非依存型データ形式) I/O ライブラ リ Ruby/DCL : Ruby 用 DCL (描画・数値処理ライブラリ) GPhys: 多次元物理量クラス 解析機能を持つ
5. GAVE とは 多次元データの解析・可視化ソフト ウェア 電脳 Ruby プロジェクト のライブラリを利用 開発者:西澤誠也氏 (京都大学)
6.特長(1) 手軽なユーザーインターフェース GUI 手軽で対話的な操作 直感的に機能把握 日本語に対応 ウィンドウの文字が日本語に対応 ただし図には英語のみ CUI 的な処理も可能 スクリプト保存機能
7.特長(2) オープン / フリー 無料 → 誰でも使いやすい 改変可能 → ソースを見て, 望むように機能を加え られる 複数のデータ形式に対応 現在 NetCDF, GrADS 地球流体科学用の機能 地図投影 欠損値処理
8.機能(1) 可視化 描画方法 等値線図(地図投影も可能), 折れ線 地図投影 現時点で正射図法, ポーラーステレオ図法など 4 種類 アニメーション その他 描画範囲設定, 欠損値処理, 等値線間隔設定, 対数軸 …
9.機能(2) 解析 平均, 最大, 最小, 標準偏差の 4 種類 属性表示 NetCDF ファイルに自己記述された情報を表示 可視化結果保存 画像( PNG, JPEG, PPM … ) Ruby スクリプト
可視化の再現 ファイル オープン ファイル オープン 各種設定 動作実行 保存 絵 絵 解析された 変数 Ruby スクリプト 画像 次元変数選択 変数選択 動作選択 タイトル, 軸タイトル, 単位, 次元値, 描画範囲, 等値線・トーン間隔, 欠損値, アニメーション, 投影法 … 描画 (折れ線、等値線、地図投影) 解析 (最大、最小、平均、標準偏差) Ruby スクリプトの実行 ・・・最低限実行しなければ ならない手順 ・・・この内部は順不動 クイックビュー 用の手順 クイックビュー 用の手順 解析 or 描画 可視化: DCL 解析: GP hys 読込 : NetCDF 読込 : NetCDF 10.動作
11.インストール方法 インストール用パッケージが整備されている パッケージを使えば簡単にインストール可能 以下の環境ではパッケージが使える Red hat Linux Vine Linux Debian Linux Windows ( Cygwin )
12. GAVE を使うと … 初心者: 解析・可視化が手軽にできる 上級者: 各々自分好みに機能を拡張できる スクリプト作成の雛形作成ツールとして使用でき る
13.参考 URL GAVE 電脳 Ruby プロジェクト
fin
依存ライブラリ Ruby/Gtk ( GUI ) Ruby/DCL (描画) Ruby/NetCDF (データ I/O ) GPhys (解析、データ構造)
NetCDF ライブラリ NetCDF ファイルの I/O のためのライブラリ 各言語ごとにライブラリが存在 C, C++, Perl, Ruby など NetCDF ( Network Common Data Form ) 標準的な科学技術データ形式の 1 つ 自己記述 非機種依存 配列指向
DCL ( Dennou Club Library ) 描画・数学的処理などのライブラリ 地球惑星流体科学関係者が作成 元は Fortran77 で記述 Fortran90, C, Ruby 版を作成
Gtk+ ( Gimp tool kit ) GUI ライブラリ Gimp (描画ソフトウェア)の機能も持つ Xlib または WindowsAPI に依存 Linux でも Windows でも使える Gnome の開発に使用 開発が活発
GP hys 物理量クラス 現在、 NetCDF と GrADS に対応 解析メソッドを持つ 平均、最大・最小、標準偏差、中間値 … 主変数と軸を属性に持つ 多次元配列に都合のよい機能 実際の呼び出しまでメモリにデータを呼ばない 複数のファイルにまたがるデータをまとめる
その他の依存ライブラリ NArray 配列クラス( Ruby 拡張ライブラリ) C 言語で記述されているため高速演算が実現 Gdk Gtk+ 内部で使われる描画に関するライブラリ Imlib, Pixbuf GAVE ではイメージ保存に使用
Ruby の解説 オブジェクト指向 再利用性 開発効率 保守性 スクリプト言語 読みやすい 書きやすい
GP hys Gtk+ ユーザーインターフェース Gtk+ ユーザーインターフェース DCL 描画 DCL 描画 NetCDF ファイル 読込 NetCDF ファイル 読込 解析 データ格納 GAVE Ruby
GrADS IDL GAVE 解析・可視化ツール 2.多次元データを取巻く環境 インターネット インターネット 衛星観測 数値シミュレーション 多様なプラットフォーム 多様なデータ生成法 多様なプラットフォーム 多様なデータ生成法 データ 多様なデータ形式 多量のデータ 多次元データ 手軽に 解析・可視化 を行いたい 手軽に 解析・可視化 を行いたい
インターネット インターネット 衛星観測 数値シミュレーション 多様なプラットフォーム 多様なデータ生成法 多様なプラットフォーム 多様なデータ生成法 データ 多様なデータ形式 多量のデータ GrADS IDL GAVE 解析・可視化
2.多次元データを取巻く環境 多次元データの解釈は解析・可視化が重要 多様かつ多量なデータの氾濫 データを取り巻く環境の変化 (計算機・観測技術の進歩、インターネットの発展) 効率のよい手軽な可視化・解析ツールが必要
2.開発背景(1) データをとりまく環境の 変化 計算機の進歩 観測技術の進歩 インターネットの発展 多様かつ多量のデータが入手可能多様かつ多量のデータが入手可能 衛星観測 数値計算 ネットワーク データ