210 likes | 352 Views
2007 年 01 月 09 日 衛星データ処理勉強会. IDL TM /ION TM を使用した UDON (Universe via Darts ON-line) プロトタイプの作成. IDL TM とは http://www.jicoux.com/idl.html. IDL (The Interactive Data Language) - データ解析ビジュアライゼーション ソフトウェア - 主な機能: 「データ解析機能」 「表示機能」 「アプリケーション開発機能」.
E N D
2007年01月09日衛星データ処理勉強会 IDLTM/IONTMを使用した UDON (Universe via Darts ON-line) プロトタイプの作成
IDLTMとはhttp://www.jicoux.com/idl.html IDL (The Interactive Data Language) - データ解析ビジュアライゼーション ソフトウェア- 主な機能: 「データ解析機能」 「表示機能」 「アプリケーション開発機能」
IONTMとはhttp://www.jicoux.com/ion_product.html ION (IDL On the Net) - IDLの持つ機能をWeb経由で提供する製品 - • ION ScriptTM ION Script言語で記述したページを経由してIDLの機能を利用する。 • ION JavaTM Javaアプレット/Javaアプリケーションから対話的にIDLの機能を利用する。
ION Script TM • ION Script を使用したWebアプリケーション - CGI (ion-p + ion-i) で実装 - ion-p: ION Script言語から HTMLへの変換プログラム ion-i: IDLの機能を利用したイメージの作成プログラム server HTTP client Form: page=xxx.ion xxx.ion *.ion ion-p IDL HTML ion-i
ION JavaTM • Javaを使用したION Daemonとの接続 - Applets/Component/Low-Level Class で実装 - iond: ION Daemon (on UNIX) Java client server port:7085 IDL iond
ION Script と ION Java • ION Script HTTP+CGIによる実装であるため1回の操作(e.g. 1click)で処理が完了するような場合に適する。 • ION Java ひとつの処理の完了までに複数回の操作が必要な場合に適する。 • UDONプロトタイプでは ION Script を使用
ION Script 言語 • htmlと同じ形式のマークアップ言語 • 変数を使用したりイベントの定義ができる。 • 式の評価(演算)ができる。 • 条件分岐ができる(分岐構文をもつ)。 • 別ファイルを包含(インクルード)できる。 • IDLコマンドの実行結果を表示できる。 • htmlや java scriptでの記述もできる。 • 簡便にフォームの記述ができる。
ION Script 言語 • 処理の繰り返しを記述する方法がない。 必要な数だけ処理を記述する必要がある。 • IDLコマンドで複文(e.g. begin ~ end)を記述できない。 複文のIF文、FOR文、WHILE文を使用する場合はプロシージャ(*.pro)を別途作成する必要がある。
ION Script サンプルソース <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <ION_SCRIPT> <ION_HEADER> <TITLE>SUZAKU XIS Quick Look Trivial Search Result</TITLE> <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <!-- $Id$ --> </ION_HEADER> <ION_BODY BGCOLOR="#CCCCCC"> <ION_IF EXPR="$Form.VER ISTYPE 'UNDEF'"> <ION_ELSEIF EXPR="$Form.OBS ISTYPE 'UNDEF'"/> <ION_ELSEIF EXPR="$Form.STAT ISTYPE 'UNDEF'"/> <ION_ELSEIF EXPR="$Form.NAME ISTYPE 'UNDEF'"/> <ION_ELSE/> <ION_DATA_OUT PRE="FALSE"> <IDL> .compile suzaku/lib/XISqlSearch.pro XISqlSearch, 'suzaku/dat/obs.dat', $ strdecode('$FormURL.VER'), $ strdecode('$FormURL.OBS'), $ strdecode('$FormURL.STAT'), $ strdecode('$FormURL.NAME') </IDL> </ION_DATA_OUT> </ION_IF> </ION_BODY> </ION_SCRIPT> <HEAD>タグに変換 <BODY>タグに変換 IDLコマンド
ION Script サンプル画面 サンプルソースから下側のフレームのページが作成される。
UDON プロトタイプの作成 目標: Web上でユーザーが指定したSUZAKUのXISイベントファイルからイメージデータを作成してそれを擬似カラーで表示する。 OBS ID: 100012010 Name: Eta Carinae このようなイメージを ブラウザに表示させたい。
イメージ作成の基本的な流れ • SUZAKU XIS event files から ftools:extractorを使用して Red/Green/Blue イメージを抽出する。 • 抽出したRed/Green/Blueイメージをマージして擬似カラーイメージを作成する。 SUZAKU XIS event files R-image作成 ftools:extractor R-image G-image作成 ftools:extractor RGB擬似カラー イメージ作成 G-image B-image作成 ftools:extractor B-image
UDONプロトタイプの画面構成 • XISデータ検索画面(2フレーム) XISイベントファイルを検索する。 (1) 検索フォーム (2) 検索結果 • イメージ表示画面(3フレーム) XIS擬似カラーイメージを表示する。 (1) 入力フォーム (2) 実行結果(テキスト) (3) 擬似カラーイメージ
XISデータ検索画面 検索フォーム 検索結果
XISデータ検索画面(エラーメッセージの例) エラーメッセージ
イメージ表示画面 擬似カラー イメージ 入力フォーム 実行結果
イメージ表示画面(エラーメッセージの例1)イメージ表示画面(エラーメッセージの例1) エラーメッセージ
イメージ表示画面(エラーメッセージの例2)イメージ表示画面(エラーメッセージの例2) エラーメッセージ
擬似カラーイメージの作成手順(名前付きパイプを利用した処理の同期)擬似カラーイメージの作成手順(名前付きパイプを利用した処理の同期) extractor イメージデータの ファイル名通知 実行結果の テキスト表示 extractor extractor list list list named-pipe R B G イメージデータの ファイル名 入力 フォーム 擬似カラー イメージ イメージデータの ファイル名 イメージデータの 入力 擬似カラー イメージの表示 実行結果
擬似カラーイメージの作成手順(作成済みイメージデータを使用する場合)擬似カラーイメージの作成手順(作成済みイメージデータを使用する場合) イメージデータの ファイル名通知 実行結果の テキスト表示 イメージデータの ファイル名 named-pipe 作成済みイメージデータ 擬似カラー イメージ 入力 フォーム イメージデータの ファイル名 イメージデータの 入力 擬似カラー イメージの表示 実行結果
プロトタイプの課題 • 拡大や縮小などイメージの操作ができない。 表示しているイメージはオリジナルの1/4 • イメージに座標などの補助的な情報を表示できない。 • イメージに関する情報(FITSヘッダ情報など)を表示できない。