PatMill
パットミル

for RIETAN-2000 (Windows UNIX)



Win用はこれです→ PatMill version 0.12 Jan.20 2002

UNIX版も作ってみました。 こちらです。 Jan.20 2002

Win用PatMillの説明

目次

1 概要
2 設定方法
  2-1 Perlのインストール
  2-2 Drag&Dropのための設定
  2-3 DOSコマンドのための設定
3 使用方法
  3-1 Drag&Dropでの操作
  3-2 DOSコマンドでの操作
4 注意点
5 出力例(スクリーンショット)
6 複製、再配布について
7 関連リンク

1 概要

  • PatMillはgnuplotを用いてpatファイルを視覚化するためのPerlスクリプトです。 グラフの画面表示、ファイル出力(png、eps)という処理をほぼ自動で行います。
  • NPAT=5(IGOR書式)、NPAT=4(gnuplot書式)の両方に対応しています。
  • Drag&Drop(GUI)もしくはDOSコマンド(CUI)で使います。
  • PatMillはpatファイル中のデータを読み込み、自動でスケーリングを行ってグラフを出力します。もし、スケーリング等の設定に変更の必要があるならば、まずgnuplotスクリプト(拡張子plt(=NPAT4)、gp(=NPAT5))を出力させ、それを編集したものを実行させることができます。
  • PatMillを用いてNPAT4のpatファイルを開いたとき、pltファイル(gnuplotスクリプト)が作業フォルダ内に自動作成されます。作業フォルダ内にpltファイルがある場合、RIETAN-2000はpltファイルに従ってgnuplotで計算結果を表示しようをします。つまり、いちどPatMillでpatファイルを開くと、解析の2サイクル目からはRIETANが自動で画像表示するようになります。



2 設定方法

2-1 Perlのインストール

まず、Perlをインストールしておく必要があります。
下のウェブサイトからフリーウェアの「Active Perl」をダウンロード出来ます。
http://www.activestate.com/Products/ActivePerl/
インストールは簡単です。拡張子plをPerlに関連付けてください。

2-2 Drag&Dropのための設定

PerlスクリプトのDrag&Drop機能は、Koichi Yamamoto氏が公開されている「Drop on Script」というソフトウェアをインストールすることで実現できます。「Drop on Script」は下のウェブサイトからダウンロード出来ます。
http://homepage3.nifty.com/yamakox/
「Drop on Script」をインストールすると、本スクリプトをDrag&Dropで操作できるようになります。

以下の手順で本スクリプトの設定を行ってください。
  1. 本スクリプトをエディターで開き、ユーザー設定項目でgnuplotの位置を指定してください。
  2. 本スクリプトを拡張子plで保存してください。
タスクバーに、本スクリプトのショートカットを作成しておくと便利です。


2-3 DOSコマンドのための設定

本スクリプトは拡張子batで保存するとDOSコマンドとして使うことが出来ます。以下の手順で設定を行ってください。
  1. 本スクリプトをエディターで開き、ユーザー設定項目をすべて"no"にしてください。
  2. ユーザー設定項目でgnuplotの位置を指定してください。
  3. 本スクリプトを「pm.bat」という名前で保存してください。
  4. pm.batを、「C:\WINDOWS」(Win9x系)または「C:\WINNT」(WinNT系)に移動させてください。



3 操作方法

Drag&Drop、DOSコマンドの二種類の使い方があります。

3-1Drag&Dropでの操作

エディターで本スクリプトを開き、上部の「ユーザー設定」において出力の設定をした後、保存します。次にpatファイルを本スクリプトのアイコンにDrag&Dropすると、画面にグラフを表示した後、設定に沿った出力をします。(エディターを設定ウィンドウのように使います。)

#横軸2θの範囲を指定するか?
$limitX="no";#●
($xmin,$xmax) = (41,50); #◆2θ下限と上限(limitX="yes"の時)

$limitXが"no"の状態ではpatファイルに含まれる2θ全域をプロットします。
表示する2θの範囲を指定したいときは"yes"とし、2θの上限と下限を設定してください。なお、y軸のスケーリング、残差曲線のオフセット等は自動で行われます。

#pngを出力するか?
$png="no"; #●png出力モード
$size_png=1; #◆pngの解像度(=サイズ)

$pngが"yes"の状態では、画面にグラフを表示した後png形式の画像ファイルが出力されます。$size_pngの設定により、画像のサイズを変更できます。

#epsを出力するか?
$eps="no"; #●eps出力モード
#(eps出力のときは,グラフは画面に表示されません)

$epsが"yes"の状態では、eps形式のファイルが出力されます。(このときグラフは画面に表示されません)

#Igor書式(NPAT=5)のときgnuplotスクリプトを出力するか?
$n5gps="no";#●NPAT=5で(*.gp),(*.txt)を出力するときはyes。

NPAT=5のpatファイルを描画する際に用いたgnuplotスクリプト(拡張子gp)とデータファイル(拡張子txt)を出力させることが出来ます。スケーリング等を各自で修正したいときはgpファイルを編集したのち、「gpファイル」をドロップしてください。(NPAT=4のときは、pltファイルを編集した後、「pltファイル」をドロップ。)


3-2 DOSコマンドでの操作

ここで「>」はプロンプトとします。

>pm sample.pat

sample.patを画面に表示します。patファイルがNPAT4ならば、pltが自動作成されます。

>pm sample.pat 20 40

2θの範囲を指定するには、上限と下限を渡してください。上の例では20度と40度の間のグラフを表示します。

>pm sample.pat png
>pm sample.pat 20 40 png

最後に「png」を渡すとpngファイルを出力します。さらに

>pm sample.pat png 1.5
>pm sample.pat 20 40 png 0.7

というふうにpngの後に数字を渡すことで画像のサイズを調整できます。この値を省略したときは、「ユーザー設定」で指定している値がデフォルトとなります。

>pm sample.pat eps
>pm sample.pat 20 40 eps

最後に「eps」を渡すとepsファイルを出力します。(eps出力のとき、グラフは画面上に表示されません。)

>pm sample.pat gp
>pm sample.pat 20 40 gp

NPAT=5のpatファイルを描画する際に用いたgnuplotスクリプト(拡張子gp)とデータファイル(拡張子txt)を出力させることが出来ます。

>pm sample.gp
>pm sample.plt

PatMillで作成したgnuplotスクリプトを、ユーザーが各自で調整し実行することができます。



4 注意点

  • 本スクリプトを起動すると、まずDOS窓がキー入力待ちの状態になりますが、gnuplotを終了するまでDOS窓にキー入力をしないで下さい。これは、gnuplotが描画を終えるの待った後でファイル出力処理に移るための設定です。もし、先にキー入力をしてしまっても、実害はありませんが、PatMillのフォルダに不要なファイルが溜まったり、望みのファイルが出力されなかったりします。
  • 結晶は5相までしか対応してません。それ以上の場合は改造してください。
  • ドロップするファイルの名前に「'」が含まれていると動きませんでした。
  • ユーザー設定のwgnuplotのパスを指定するところで、フォルダ名が空白を含む場合は「" "」でそのフォルダ名をくくっておいて下さい。(例: C:\"RIETAN-2000 Folder"\programs...)
  • NPAD=5書式で、insファイルで設定されたoffsetパラメータは反映されません。また、対応した残差曲線の種類は残差のみです。(xrefl, yrefl wave 出力には対応しています。)



5 出力例(スクリーンショット)




6 複製、再配布について

複製、再配布は自由に行って構いません。
使いやすいように改造しても構いません。


赤瀬善太郎
email akase@tagen.tohoku.ac.jp

7 関連リンク



UNIX版 PatMill

UNIX版も作ってみました。コマンドラインでの使用のみを前提としています。

pm-u-0-4.txt

↑これです。日本語のコードはEUCで改行コードはunix用のもののテキストファイルです。以下のように設定するとコマンドとしてつかえます。

  1. エディターで開き一行目でperlの位置を設定
  2. パスの通ったディレクトリに、「pm」という名前で保存
  3. $ chmod a+x pm でファイルに実行権を与える。

使い方はWin版PatMillのDOSコマンドでの操作方法と同じです。動作確認は、Windows用RIETANで作ったpatファイルの改行方法を変えたものでしか行っていません。たぶん、ちゃんと動くと思います。