OptionControlFile

提供: Eospedia
2013年3月24日 (日) 23:04時点におけるAdmin (トーク | 投稿記録)による版

移動: 案内検索

OptionControlFileは、Eosのmaketoolによって利用されるファイルです。Eosのコマンドの引数の取り扱いや使用方法の提供などの情報を提供しています。

ファイルフォーマット

EosにおけるOptionControlFileのフォーマット 各行は次の様なフォーマットからなっています。

"Option","fullOption","OptionName","OptionProperties","OptionNumber","argIndex","argName","argType","InitialValue",...

それぞれの項目の意味は次の様なものです。

Option     :実際に利用される引数です。-Option の形で利用できる様になります。
fullOption   :上記のオプションの省略の元を顕しています。
           OptionNumber(引数の数)が0であれば、
         fullOptionは、flagNameとしてプログラム中で定義されます。
OptionName   :引数の意味を示します。
OptionProperties:引数が必須かオプショナルかを示しています。
           詳細は下記のテーブルを参考にして下さい。 
OptionNumber  :この引数のパラメータの数を示しています。
         0のときは、下記のargが必要ありません。
argIndex    :パラメータのインデックスです。1から始まります。
argName     :パラメータの名前です。prototype無いではメンバ変数になります。
argType     :引数の型を示しています。
           詳細は下記のテーブルを参考にして下さい。 
InitialValue  :パラメータの初期値を示しています。     

それぞれの定義されている型を示します。

OptionPropertiesに対しては下記の様に定義されています。

Essential : 必須の引数です。設定していない場合は、実行時に要求されます。
Optional  : オプショナルな引数です。設定していない場合には、初期値が使われる場合が多いです。
Variable : 引数の数が可変の引数です。一番最後に一回だけ利用できるので注意が必要です。

argTypeに対しては、下記のように引数の型が定義されています。

Integer    : 整数
Real     : 実数

inFile    : 入力ファイル名(読み込みファイル名) 
outFile    : 出力ファイル名(書き出しファイル名)
appendFile  : アペンドモードの出力ファイル名
inFileList  : 入力ファイル名のリストが格納されたファイルの名前
outFileList  : 出力ファイル名のリストが格納されたファイルの名前
appendFileList: アペンドモードの出力ファイル名のリストが格納されたファイルの名前
※ 通常それぞれがプログラムの開始時にファイルを開きますが、
※ NoOpenをつけると、ファイルを開きません。
inFileNoOpen, outFileNoOpen, appendFileNoOpen, 
inFileListNoOpen, outFileListNoOpen, appendFileListNoOpen

Character   : 文字一文字
String      : 文字列(ただし、最初の一語のみ)
StringAll   : 文字列(全て)

 使用例

 mrcImageInfoの場合の例を下記に示します。  まず、OptionControlFileにて、設定します。

# OptionControlFile
# FileFormat
"-i","-i[nput]","InputDataFile","Essential","1","1","In","inFile","NULL"
"-o","-o[utput]","OutputDataFile","Optional","1","1","Out","outFile","stdout"
"-X","-X[Section]","X Section at y=X(value)","Optional","1","1","X","Real","0.0"
"-Y","-Y[Section]","Y Section at y=Y(value)","Optional","1","1","Y","Real","0.0"
"-x","-x[Projection]","x Projection[OutPut ASCII FILE]","Optional","0"
"-y","-y[Projection]","y Projection[OutPut ASCII FILE]","Optional","0"
"-H","-H[istgram]","Histgram: Class Number: Normalize","Optional","1","1","H","Integer","256"
"-H2","-H[istgram]2","Histgram2: Class Width: Integer: Normalize","Optional","1","1","H2","Real","1"
"-H3","-H[istgram]3","Histgram: Class Number: Count","Optional","1","1","H3","Integer","256"
"-H4","-H[istgram]4","Histgram2: Class Width: Integer: Count","Optional","1","1","H4","Real","1"
"-H5","-H[istgram]5","Histgram5: Class Number: Count","Optional","1","1","H5","Integer","1"
"-H6","-H[istgram]6","Histgram6: Class Width: Integer: Count","Optional","1","1","H6","Real","1"
"-Low","-Low","Low : thres","Optional","1","1","Low","Real","1"
"-High","-High","High: thres","Optional","1","1","High","Real","1"
"-I","-I[nfo]","Information","Optional","0"
"-c","-c[onfig]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL"
"-rmax","-rmax","rmax [A]","Optional","1","1","rmax","Real","250"
"-m","-m[ode]","Mode","Optional","1","1","mode","Integer","0"

以上のようなファイルが設定されると、

$ make update
$ make 
$ make install

を実行した後、-hを使ってusageをみると

tacyas:yasunaga-lab@gw$mrcImageInfo -h
Usage: /home/people/tacyas/Eos/bin/X86LINUX64/mrcImageInfo
Options:
    [-i[nput]            In                  (NULL      )] :Essential :InputDataFile
    [-o[utput]           Out                 (stdout    )] :Optional  :OutputDataFile
    [-X[Section]         X                   (0.0       )] :Optional  :X Section at y=X(value)
    [-Y[Section]         Y                   (0.0       )] :Optional  :Y Section at y=Y(value)
    [-x[Projection]      ] :Optional  :x Projection[OutPut ASCII FILE]
    [-y[Projection]      ] :Optional  :y Projection[OutPut ASCII FILE]
    [-H[istgram]         H                   (256       )] :Optional  :Histgram: Class Number: Normalize
    [-H[istgram]2        H2                  (1         )] :Optional  :Histgram2: Class Width: Integer: Normalize
    [-H[istgram]3        H3                  (256       )] :Optional  :Histgram: Class Number: Count
    [-H[istgram]4        H4                  (1         )] :Optional  :Histgram2: Class Width: Integer: Count
    [-H[istgram]5        H5                  (1         )] :Optional  :Histgram5: Class Number: Count
    [-H[istgram]6        H6                  (1         )] :Optional  :Histgram6: Class Width: Integer: Count
    [-Low                Low                 (1         )] :Optional  :Low : thres
    [-High               High                (1         )] :Optional  :High: thres
    [-I[nfo]             ] :Optional  :Information
    [-c[onfig]           configFile          (NULL      )] :Optional  :ConfigurationFile
    [-rmax               rmax                (250       )] :Optional  :rmax [A]
    [-m[ode]             mode                (0         )] :Optional  :Mode
----- Additional Usage -----
The -I option uses -rmax or -m options
-m 0: mean of all density
   1: mean of sphere surface density at rmax
   2: mean of cylinder surface density at rmax
   3: mean of edge pixels 
   4: mean of Centre
   5: mean of Sparse 
   6: mean of 2DEdge
   7: RMS of all pixels 

となります。このうち、Additional Usage以外は、自動的に作製された、init.c, argCheck.c, usage.cを使っています。