多次元データ解析・可視化ソフトウェア GAVE

多次元データ
解析・可視化ソフトウェア
GAVE
A Grid Data Analyzer and Viewer, GAVE
竹本 和彰
北海道大学理学部地球科学科
地球流体力学研究室 4年
2004年2月3日
1.目次






背景
特徴
機能
動作
インストール
まとめ
2.多次元データを取巻く環境
• 多様なプラットフォーム
数値シミュレーション • 多様なデータ生成法
衛星観測
インターネット
多次元データ
GrADS
多量のデータ
データ
データ
解析・可視化ツール
GAVE
IDL
多様なデータ形式
手軽に
解析・可視化
を行いたい
3.GAVE の開発背景

既存多次元データ解析・可視化ソフトウェアに対
する不満



CUI(手軽さにかける)
商用(高価・改変不可)
開発基盤となるライブラリの存在


解析・可視化のライブラリ:電脳 Ruby プロジェクト
Rubyで使えるGUIライブラリ
4.電脳 Ruby プロジェクト


解析・可視化・数値シミュレーションのためにオブジェク
ト指向スクリプト言語 Ruby を使うプロジェクト
Ruby用各種ライブラリ開発中

Ruby/NetCDF:


Ruby/DCL:


Ruby用NetCDF(自己記述・機種非依存型データ形式)I/Oライブラリ
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 スクリプト
10.動作
描画
(折れ線、等値線、地図投影)
解析
(最大、最小、平均、標準偏差)
クイックビュー
用の手順
ファイル
オープン
変数選択
・・・最低限実行しなければ
ならない手順
・・・この内部は順不動
解析された
変数
動作選択
解析:GPhys
次元変数選択
解析 or 描画
読込
:NetCDF
各種設定
タイトル, 軸タイトル,
単位, 次元値, 描画範囲,
等値線・トーン間隔, 欠損値,
アニメーション, 投影法…
ファイル
動作実行
保存
可視化:DCL
絵
Rubyスクリプトの実行
Ruby
スクリプト
可視化の再現
画像
11.インストール方法



インストール用パッケージが整備されている
パッケージを使えば簡単にインストール可能
以下の環境ではパッケージが使える




Red hat Linux
Vine Linux
Debian Linux
Windows (Cygwin)
12.GAVEを使うと…

初心者:


解析・可視化が手軽にできる
上級者:


各々自分好みに機能を拡張できる
スクリプト作成の雛形作成ツールとして使用できる
13.参考URL

GAVE
http://www-mete.kugi.kyoto-u.ac.jp/seiya/gave.html

電脳Rubyプロジェクト
http://www.gfd-dennou.org/arch/ruby/index-j.html
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 の開発に使用

開発が活発
GPhys

物理量クラス


解析メソッドを持つ



現在、NetCDFとGrADSに対応
平均、最大・最小、標準偏差、中間値…
主変数と軸を属性に持つ
多次元配列に都合のよい機能


実際の呼び出しまでメモリにデータを呼ばない
複数のファイルにまたがるデータをまとめる
その他の依存ライブラリ

NArray



Gdk


配列クラス(Ruby拡張ライブラリ)
C言語で記述されているため高速演算が実現
Gtk+内部で使われる描画に関するライブラリ
Imlib, Pixbuf

GAVEではイメージ保存に使用
Rubyの解説

オブジェクト指向

再利用性



開発効率
保守性
スクリプト言語


読みやすい
書きやすい
Ruby
GAVE
Gtk+
ユーザーインターフェース
NetCDF
GPhys
DCL
データ格納
ファイル
読込
解析
描画
2.多次元データを取巻く環境
• 多様なプラットフォーム
数値シミュレーション • 多様なデータ生成法
衛星観測
インターネット
多次元データ
GrADS
多量のデータ
データ
データ
解析・可視化ツール
GAVE
IDL
多様なデータ形式
手軽に
解析・可視化
を行いたい
• 多様なプラットフォーム
• 多様なデータ生成法
衛星観測
数値シミュレーション
インターネット
IDL
多量のデータ
データ
データ
GrADS
GAVE
解析・可視化
多様なデータ形式
2.多次元データを取巻く環境


多次元データの解釈は解析・可視化が重要
多様かつ多量なデータの氾濫

データを取り巻く環境の変化
(計算機・観測技術の進歩、インターネットの発展)
効率のよい手軽な可視化・解析ツールが必要
2.開発背景(1)

データをとりまく環境の変化



計算機の進歩
観測技術の進歩
インターネットの発展
衛星観測
数値計算
データ
データ
ネットワーク
多様かつ多量のデータが入手可能