GSYS：グラフ数値化システムの開発とその利用法
GSYS : Development and usage of a software to read-in and digitize the graphical data
新井好司
長岡工業高等専門学校
蓑口あゆみ
北海道大学知識メディアラボラトリー
大塚直彦
日本原子力研究所核データセンター
内藤謙一
株式会社ケイビーエムジェイ
ARAI Koji
Nagaoka National College of Technology
MINOGUCHI Ayumi
Meme Media Laboratory, Hokkaido University
OTUKA Naohiko
Nuclear Data Center, Japan Atomic Energy Research Institute
NAITO Kenichi
KBMJ, Inc. Engineer

Abstract“GSYS” is the Java application software, which enables users to digitize graphs easily by the mouse and keyboardand obtain the original numerical data precisely. In this report, we present an overview of GSYS and a typicalexample for usage of this software. GSYS is available from the web site of Japan Charged-Particle Nuclear Reaction
Data Group (www.jcprg.org).

1.

はじめに日本荷電粒子核反応データグループ(Japan Charged-Particle Nuclear Reaction Data Group : JCPRG)は、荷電粒子核反応データファイル(Nuclear Reaction Data File : NRDF)を開発、改良し、数多くの論文の採録活動を行ってきた。NRDF に収録されているデータの約 4 分の 1 はグラフからの数値化によるものであり、数値化システムは、論文採録活動の中で重要な役割を担っている。より速く、精度良い数値化を行うためには、より良い数値化システムが必要である。そこで、新井により、Java 言語を用いた OS 依存性のないシステム（開発名GSYS : Graph Suchi Yomitori System）が開発された。このシステムは、ユーザの使用するコンピュータ上で比較的高速に稼動し、マウスとキーが併用できる高機能なインターフェースになっており、Windows2000 と Vine Linux3.0 上で動作確認されている。現在、GSYS は JCPRG のウェブサイトからダウンロードできるようになっている。以下、具体的な使用法を述べる。

2.

GSYS 使用法
GSYS は Java アプリケーションソフトウェアであるため、ユーザのコンピュータには、Java1.1 以上のシステムをインストールしておく必要がある。GSYS を動作させたいだけであれば、開発用フルセットではなく、Java VM を入手して動作させることができる。Java システムは Sun Microsystems のウェブサイト(java.sun.com)からダウンロード可能である。GSYS の実行ファイル(.class ファイル)とマニュアルは JCPRGのウェブサイト(www.jcprg.org)からダウンロードできる。ダウンロードされた複数の.class ファイルを全て同じディレクトリに置き、コマンド java Gsys により起動させることができる。GSYS を削除したい場合は、.class ファイルを全て消去すれば良い。
図 1 に Windows2000 上で起動させた GSYS のアプリケーションウィンドウを示す。ボタンなどの GUIデザインは AWT 機能により実装されているため、他の OS でのデザインは多少異なる。GSYS のアプリケーションウィンドウは３つの部分から成っている。左側が、GSYS を操作するためのコントロールパネル、右下がロードされたグラフを表示するメインパネル、右上がコントロールパネル内のボタンの説明を表示したり、マウスでポイントされたデータ点の座標を示すためのインフォメーションパネルである。GSYSのほとんどの操作は、マウスの代わりにキーを使用できるが、ここでは、マウスを使用した操作方法を説明する。コントロールパネル上の操作ボタンとキーの対応関係を表 1 に示しておく。また、GSYS でグラフの数値読み取りを行うためには、あらかじめ画像ファイル（PNG、GIF、JPEG）を用意しておく必要がある。

インフォメーションパネル

メインパネルコントロールパネル

図1

GSYS の初期画面。 Welcome to Gsys!!

Start by ‘L.F’ Buttonと表示されているこの状態は、画像ファイルの入力待ちモードである。コントロールパネル内左上の”L.F”ボタンを押すと、ファイル選択ダイアログが表示され、取り込みたいファイルを選ぶことができる。

2.1 グラフからの数値読み取り
1)

GSYS の起動直後、インフォメーションパネルには

Welcome to Gsys!! Start by ‘L.F’ Buttonと表示されており、これはロードしたいグラフの入力待ちモードであることを示す。コントロールパネル内
左上の”L.F”ボタンを押すことにより、グラフをロードできる。グラフはメインパネルに表示される。
グラフのサイズを拡大、縮小するには、それぞれ ＋F 、 -F ボタンを使用する。初期値のサイズに戻すには、 R.F ボタンを使用する。さらに、メインパネルのサイズも変更可能である。 +W 、 -W
ボタンを使って、メインパネルの幅を調節できる。高さの調節には、 +H 、 -Hボタンを使う。メ

インパネルのサイズを元に戻すには、 R.SP ボタンを使う。

図 2

読み取りたいグラフファイルをロードした直後の図。グラフのサイズに合わせてメインパネルのサイズを変更している。この後、グラフの座標系とデータ点を入力していく。

2)

グラフの X 軸と Y 軸を指定する。X 軸を指定するには、 Xa

ボタンをクリックした後、メインパネルのグラフ上で X 軸の始点、終点をクリックする。Y 軸も同様に、 Ya

ボタンをクリックした後、グラフ上で Y 軸の始点、終点をクリックする。X 軸と Y 軸の始点がグラフ上で同じ位置に在る場合にY 軸を指定するときは、 *Ya

ボタンをクリックし、Y 軸の終点のみをクリックする。X 軸、Y 軸の始点と終点は青丸で表示され、それぞれの始点と終点を結ぶ X 軸と Y 軸は紫色の直線で表示される。
3)

Ad

ボタンをクリックして、データインプットモードにする（ Adボタンが白色から赤色に変わる）。グラフ上のデータ点をクリックすると、赤丸が現れる。続いて別の場所をクリックすると、2 つ目のデータ点が設定され、以下同様にしてデータ点の入力ができる。最後に設定したデータ点は赤丸で、それ以外は紫丸で表示される。データ入力モードを解除するには、 Ad ボタンをもう一度クリックする(Ad

ボタンは赤色から白色に戻る)。また、グラフを拡大した後などマークしたデータがメインパネルから見えなくなった場合、Enter キーを押すと自動的にメインパネルの中央に来る様にスクロールバーが動くようになっている（X,Y 軸の始点と終点も含む）。何もマークされていない場合は、画像の左上角が画面に来る様に動く。

図3

X 軸と Y 軸を指定した直後の図。X 軸と Y 軸の最小値と最大値は青丸で表示され、軸は紫線で表示される。この時点では、まだデータインプットモードではない。

図4

データ点の入力（誤差棒無し）。最後に設定したデータ点は赤丸で、それ以外の点は紫丸で表示される。

4)

データ点の移動や消去を行うときには、まず Ma ボタンをクリックしてデータフォーカスモードにする（ Ma ボタンが白色から赤色に変わる）。この状態でデータ点をクリックすると、そのマークされたデータ点は紫丸から赤丸に変わる。そのまま別のデータ点をクリックすれば、そのデータ点を新たにマークできる。データフォーカスモードを解除するには、再び Ma ボタンをクリックすれば良い（ Ma ボタンが赤色から白色に変わる）。データ点の移動をしたい場合は、データをマークした後に Mo ボタンをクリックし、データムーブモードにする（ Mo ボタンが白色から赤色に変わる）。
この状態では、矢印キーを使って、データ点を１ピクセルずつ移動させられる。再び Mo ボタンをクリックすると、データムーブモードは解除される（ Mo ボタンが赤色から白色に変わる）。データ点を消去する場合は、データをマークした後、 Rem ボタンをクリックする。また、X 軸、Y 軸の始点と終点についても、上記と同様に

Ma

ボタンでマークした後(青丸から赤丸に変わる)、 Moボ

タンをクリックし、矢印キーで移動させられる。但し、消去はできないので、 Xa 、 Ya 、 *Ya ボ
タンを使って再設定しなければならない。なお、矢印キーは、グラフを一旦クリックして、フォーカスがグラフ上にないと機能しない。実際に精度よく数値データを入力する際の大きなポイントは、最初にグラフを+F

ボタンで十分に拡大し、データ点の中心を確認し易くすることである。さらに、

Mo ボタンを使ってデータ点の位置を微調整するとより精確な数値データが得られるため、グラフ拡大とデータ点の位置の微調整は必ず行うこと。
5)

X 軸、Y 軸方向の誤差棒を設定するには、 Ma

ボタンを使って誤差棒を設定したいデータ点をマークし、紫丸から赤丸に変える。対称誤差の場合、X 軸、Y 軸方向に対して、それぞれX err(sy)または Y err(sy) ボタンをクリックし、グラフ上のどちらか一方の誤差棒の端をクリックする。非対称誤差の場合、X 軸、Y 軸方向に対して、それぞれ誤差棒の両端をクリックする。 Mo

X err(asy)、 Y err(asy)

ボタンをクリックし、ボタンでデータ点を移動させる場合、誤差棒があると誤差棒も一緒に移動する。あるデータ点に属する誤差棒のうち、縦、横、左、右のどれか一本のみ移動させた
い場合は、 Mo ボタンをクリックした後、 F5 、 F6 、 F7 、 F8 のいずれかをクリックする。すると、移動可能な誤差棒の先端に赤丸がつき、矢印キーを使ってその誤差棒のみを移動させる事ができる。この操作を解除したい時は、
但し、 F5 、 F6 、 F7 、 F8

Mo

ボタンをクリックし、データムーブモードを解除する。

キーは、グラフを一旦クリックして、フォーカスがグラフ上に無いと働かない。各キーの対応関係は以下の通りである。
F5 ：最初に指定した X 軸の誤差棒

F6 ：2 番目に指定した X 軸の誤差棒(非対称の時)

F7 ：最初に指定した Y 軸の誤差棒

F8 ：2 番目に指定した Y 軸の誤差棒(非対称の時)

なお、誤差棒のみをRemボタンで消去することはできない。誤差棒はデータ点ごと消去されるので、データ点および誤差棒を再設定する必要がある。

図5

データ点の入力（誤差棒有り）。ここでは、Y 方向の対称誤差がある場合。最後に設定したデータ点の誤差棒の先端には、誤差棒を微調整するための赤丸が表示されている。

6)

頻繁に使用すると思われるボタン操作は、キー入力で代用できる。ボタンとキーの対応関係を表 1 に示しておく。但し、これらのキー入力は図を一度クリックして、フォーカスが図にある場合のみ有効である。

表 1. コントロールパネル上の操作ボタンとキーの対応関係. (*,** : ”Mo”ボタンが非アクティブな場合では、矢印キーを使用して、ロードされたグラフのサイズを変えることができる。)

ButtonKey+F (グラフのサイズを拡大する)↑*

Rem (マークしたデータ点を消去する)-F (グラフのサイズを縮小する)↓**

Data (データ出力ウィンドウを呼び出す)

O

R.F (グラフのサイズを復元する)

R

X err(sy) (X 軸方向の対称誤差棒)

F1

Ad (データ点を追加する)A

X err(asy) (X 軸方向の非対称誤差棒)F2

Ma (あるデータ点をマークする)M

Y err(sy) (Y 軸方向の対称誤差棒)F3

Mo (データ点を移動させる)V

Y err(asy) (Y 軸方向の非対称誤差棒)

F47)
8)

ButtonKey
Esc

全ての過程を初期化する場合は、 C ボタンをクリックする。
Pro ボタンをクリックすると、図 6 のようなプロパティウィンドウが現れ、画面上の色やマーカーの丸の大きさの変更ができる。また、数値データの出力フォーマットを NRDF フォーマットに変更できる。NRDF フォーマット出力については、次章を参照のこと。
9)システムを全て終了するには、 Exit

ボタンをクリックする。

図6

プロパティウィンドウ。データ点の色や数値データ出力フォーマットなどを変更できる。

2.2 数値データの出力1)

実際に実験データ等の数値を出力するには、全てのデータ点を読み取った後、 Data ボタンをクリックし、数値出力用の別ウィンドウを表示させる。出力ウィンドウは図 7 に示すように 2 つの部分で構成され、上部はコントロールパネル、下部は数値データを表示するメインパネルである。メインパネ
ルの幅は

2)

+W 、 -W ボタンで、高さは+H 、 -H ボタンで調整できる。

別ウィンドウ上でまず、X 軸、Y 軸の始点、終点での数値をそれぞれy(end)=に代入する。次に誤差の出力について、 Error valuex(start)= ,のx(end)= , y(start)= ,(Set Error) 、 (Set notation)

ボックス内の選択肢からいずれかを選択する。選択肢の内容を以下に示す。
(Set Error) の選択肢

(Set notation)の選択肢

No Error ：誤差を出力しない

Relative：真数との差の値を出力

X Error：X 方向の誤差のみ出力

Y Error：Y 方向の誤差のみ出力

X & Y Error：X、Y 両方向の誤差を出力

Absolute：絶対誤差(真数＋真数との差)の値を出力

3)

X 軸、Y 軸のスケールについて、Linear スケール か Log スケールかをよび4)(Y-axis)Scaleの(X-axis)

おボックスから選択する。

以上の操作後、 Write

ボタンをクリックすると、図 8 のようにメインパネル内に数値が出力される。

Sort X 、 Sort Y ボタンを使用して、数値出力を X, Y の値の大きさ順に書き換えることができる。

5)

Write

ボタンをクリックすると、元の順に戻る。

Save

ボタンをクリックすると、数値データをファイルとして保存できる。また、ウィンドウを閉じる時には、 Close

ボタンをクリックする。

コントロールパネル

メインパネル

図7

数値データ出力ウィンドウ。ウィンドウの上部がコントロールパネル、下部がメインパネルになっている。

図8

数値データが出力された状態の出力ウィンドウ。

前章で述べたように、数値データ出力フォーマットを NRDF フォーマットに変更することもできる。プロパティウィンドウ内の Format of Output Data で、出力フォーマットを
X err(asy) 、 Y err(sy) 、 Y err(asy)ンが現れる(逆にStandard

NRDF に変更後、 X err(sy) 、のいずれかをクリックすると、図 9 のように

Neg 、 Unk

ボタ

フォーマットに戻し、4 つのボタンのいずれかをクリックすると、これら 2つのボタンは消える)。これらのボタンを使い、誤差のカラムに NEGLIGIBLE および UNKNOWN という文字列を入れることが可能である。使い方は、最初に Ma ボタンでデータ点をマークする。対称誤差の場合は X err(sy)は+Neg

または+NEGLIGIBLE-NEGLIGIBLE

クリック +Neg

またはY err(sy)+Neg の順にボタンをクリックすると、誤差表記となる。また、非対称誤差の場合は、 X err(asy)Y err(asy)+ 誤差棒の片方をクリック +すると、誤差表記は +1.23456E+00-NEGLIBILE またはNeg+ 誤差棒の片方をの順にボタンをクリック+NEGLIGIBLE-1.23456E+00 となる。UNKNOWNについても同様である。図 10 に、NEGLIGIBLE を選択した場合の誤差の出力例を示しておく。

図9

GSYS のアプリケーションウィンドウ。数値データ出力に NRDF フォーマットを選択したため、 Neg 、 Unk ボタンが表示されている。

図 10

数値データ出力フォーマットを NRDF フォーマット（NEGLIGIBLE を選択）にした場合。誤差の出力方法が、図8 の場合とは変わっている。

3.

今後の展望
GSYS は、大変使い易く、精度良い数値化が可能なシステムである。今後も以下のような改良が検討されている。
・

マーカーを丸からクロス(×)かアスタリスク(＊)に変更する。

・

読み取ったデータ点が記録されたファイルを読み込み、元のグラフ上に表示して、直接比較できるようにする（フィードバック）。

・

GUI デザインが OS に依存しないように、AWT から Swing に移行する。