OptionControlFile
提供: Eospedia
OptionControlFileは、Eosのmaketoolによって利用されるファイルです。Eosのコマンドの引数の取り扱いや使用方法の提供などの情報を提供しています。
目次
ファイルフォーマット
EosにおけるOptionControlFileのフォーマット。このファイルは、Eosの各コマンドのCUI/GUIを決定するために用いられています。CUIにおいては、実行時の引数のためのプロトタイプソースコードの出力を、GUIにおいては、実行の為のGUIのHTML/XMLへの変換のための出力を行う為の入力ファイルとして利用されています。
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
OptionPropertiesに対しては下記の様に定義されています。
Essential : 必須の引数です。設定していない場合は、実行時に要求されます。 Optional : オプショナルな引数です。設定していない場合には、初期値が使われる場合が多いです。 Variable : 引数の数が可変の引数です。一番最後に一回だけ利用できるので注意が必要です。
argType
argTypeに対しては、下記のように引数の型が定義されています。
Integer : 整数 Real : 実数 inFile : 入力ファイル名(読み込みファイル名) outFile : 出力ファイル名(書き出しファイル名) appendFile : アペンドモードの出力ファイル名 inFileList : 入力ファイル名のリストが格納されたファイルの名前 outFileList : 出力ファイル名のリストが格納されたファイルの名前 appendFileList: アペンドモードの出力ファイル名のリストが格納されたファイルの名前 ※ 通常それぞれがプログラムの開始時にファイルを開きますが、 ※ NoOpenをつけると、ファイルを開きません。 inFileNoOpen, outFileNoOpen, appendFileNoOpen, inFileListNoOpen, outFileListNoOpen, appendFileListNoOpen Character : 文字一文字 String : 文字列(ただし、最初の一語のみ) StringAll : 文字列(全て)
argTypeの属性(Atribulte)
それぞれの入力フォーマットに対して、属性をつけることができるように変更しました。::で属性をつけます。
ファイルへの属性 ::mrcImage ファイルがmrcImage型の画像フォーマットであることを示しています ::ASCII ファイルがASCIIファイルであることを示しています。
使用例
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を使っています。