「Eosのコマンド」の版間の差分

提供: Eospedia
移動: 案内検索
(ページの作成:「Eosのコマンドの基本的な使い方を示します。 == 使い方のマニュアル ==  個別のコマンドの使い方については、[[コマンド一...」)
 
(使い方のマニュアル)
 
(他の1人の利用者による、間の12版が非表示)
行2: 行2:
  
 
== 使い方のマニュアル ==
 
== 使い方のマニュアル ==
 個別のコマンドの使い方については、[[コマンド一覧]]をご覧下さい。ここでは一般的なコマンドの使い方を示します。
+
 個別のコマンドの使い方については、[[コマンド一覧]]や[[機能別コマンド一覧]]をご覧下さい。ここでは一般的な[[コマンド]]の使い方を示します。
  
 
まず、Eosの環境設定が成功しているかどうかも兼ねて
 
まず、Eosの環境設定が成功しているかどうかも兼ねて
行18: 行18:
  
 
XXXXXXのところには実行している環境毎で異なる文字列が入ります。これは、[[mrcInfo]]というコマンドの使い方(Usage)を示しています。どのようなコマンドがあるかが分かってくると、それぞれの[[Eosのコマンド]]の使い方を簡単に思い出すことができます。Eosでは、こうしたコマンドを現時点で400種類弱用意しています。これを[[Small Tools]]と呼んでいます。
 
XXXXXXのところには実行している環境毎で異なる文字列が入ります。これは、[[mrcInfo]]というコマンドの使い方(Usage)を示しています。どのようなコマンドがあるかが分かってくると、それぞれの[[Eosのコマンド]]の使い方を簡単に思い出すことができます。Eosでは、こうしたコマンドを現時点で400種類弱用意しています。これを[[Small Tools]]と呼んでいます。
 [[Small Tools]]だけでは、コンソール上でひとつひとつ実行していく必要があります。これでは、とても大変です。そこで、Eosでは、UNIXなどではプログラム開発などで使われる[[make]]というコマンドで呼び出される、[[Makefile]]によってコマンドをまとめています。[[make]]のもつ入力・出力の関係記述とその更新判定という仕組みは、多くの画像処理にとって便利な仕組みです。詳細は、[[Makefile]]をご覧下さい。
+
 
 +
 これ以外に、-c, -m, -htmlは予約オプションになっています。それぞれ引数による入力をファイルから行うためのもの、プログラムの動作のモードを示すもの、Web上での利用できるHTML形式のものとなっています。
 +
 
 +
 さて、[[Small Tools]]だけでは、コンソール上でひとつひとつ実行していく必要があります。これでは、とても大変です。そこで、Eosでは、UNIXなどではプログラム開発などで使われる[[make]]というコマンドで呼び出される、[[Makefile]]によってコマンドをまとめています。[[make]]のもつ入力・出力の関係記述とその更新判定という仕組みは、多くの画像処理にとって便利な仕組みです。詳細は、[[Makefile]]をご覧下さい。
 +
 
 +
※ 現在、[[make]]の記述能力の限界を感じたこと、また、分散環境に容易に対応できるものがないことの2点から新しい統合環境([[PIONE]])を作成しています。前者の問題を克服するために、[[Makefile]]では、かなりトリッキーな定義を行ってきました。後者の問題に対しては、それぞれが各ホストにログインし、[[make]]のもつ入出力の更新関係を用いたプロセス定義機能を使って克服してきました。しかし、定義書の可読性が極端に悪いこと、プロセスの管理が大変であることなどから、[[PIONE]]の開発へと繋げました。詳細は、[[PIONE]]をご覧下さい。
 +
 
 +
 実際に、コマンドを使ってみましょう。
 +
まず、データを[http://www.yasunaga-lab.bio.kyutech.ac.jp/EosImages/tutorials/data/example-000.mrc example-000.mrc]からダウンロードして下さい。
 +
 
 +
次に、そのファイルの情報を確認してみます。ダウンロードしたファイルがあるディレクトリで、
 +
 
 +
$ mrcInfo -i example-000.mrc
 +
 
 +
と実行してみましょう。
 +
 
 +
<pre>
 +
N            : (      1784,      1814,          1)
 +
Mode        :          2  mrcFloatImage       
 +
StartN      : (        0,          0,          0)
 +
M            : (        1,          1,          1)
 +
Length      : (    1.250,      1.250,      1.250)
 +
A,B,G        : (    90.00,      90.00,      90.00)
 +
C,R,S        : (        1,          2,          3)
 +
Min,Max,Mean : (    0.999,      2.28,      1.64)
 +
ISPG        :          0
 +
NSYMBT      :          0
 +
EXTRA        :  0: 0        1: 0        2: 0        3: 0        4: 0        5: 0        6: 0        7: 0        8: 0        9: 0        10: 0        11: 0        12: 0        13: 0        14: 0        15: 0        16: 0        17: 0        18: 0        19: 0        20: 0        21: 0        22: 0        23: 0        24: 0        25: 0        26: 0        27: 0        28: 0       
 +
XORIGIN      : (        0,          0)
 +
LABEL        :          0
 +
Tailer Number: 0
 +
</pre>
 +
 
 +
と出力されれば成功です。大きさが1784x1814でFloat型の画像であることが分かります。また、ピクセル間隔が1.25であることも分かります。
 +
 
 +
※ いくつかのパラメータが他の[[MRCフォーマット]]と異なっています。場合に寄ってはうまく動きません。
 +
 
 +
== なぜコマンド・ラインとするのか? ==
 +
 [[Eos]]では、[[Small Tools]]として、数多くのコマンドを用意し、それらを[[CUI]]から実行しています。その一方で、画像処理でよく使われるソフトウェアは、[[ImageJ]]や[[Photoshop]]のような[[統合GUI環境]]からプラグインの形で呼び出すソフトウェアです。[[Eos]]でも、Display2などは、統合GUI環境となるように目指したソフトウェアです。未だに完成は見ていません。
 +
 
 +
 なぜ、コマンドラインとするかといえば、大きく二つの理由があります。
 +
 
 +
 ひとつは、前述のように[[Eosのコマンド]]を組み合わせて、統合的な大きな画像処理の実行を、柔軟に設計するためです。統合GUI環境からのプラグイン型では、複数のプラグインを組み合わせるためには、プラグインを設計する、プラグインを複数組み合わせるマクロコマンドを記述する、実行順序をマニュアル化・ドキュメント化するなどの方法で、実現します。コマンドライン型では、[[シェルスクリプト]]と組み合わせて、実行することが出来ます。
 +
 
 +
 もう一つは、同じ作業を複数のファイルに対して、大量に実行することが容易であるからです。GUIからだけの場合には、毎回、同じ作業をマウスなどを使って実行する必要があります。例えば、GUIを使って、1000個のファイルのサフィックスを変更する作業を実施するのは大変ですが、[[シェルスクリプト]]や[[make]]と組み合わせて使えば、簡単にしかも、必要なファイルだけを更新することが可能です。

2014年6月18日 (水) 01:48時点における最新版

Eosのコマンドの基本的な使い方を示します。

使い方のマニュアル

 個別のコマンドの使い方については、コマンド一覧機能別コマンド一覧をご覧下さい。ここでは一般的なコマンドの使い方を示します。

まず、Eosの環境設定が成功しているかどうかも兼ねて

$ mrcInfo -h

とうってみてください。

Usage: /Applications/Eos.app/Eos/bin/XXXXXX/mrcInfo
Options:
    [-i[nput]            In                  (NULL      )] :Essential :InputDataFile
    [-o[utput]           Out                 (stdout    )] :Optional  :OutputDataFile
    [-c[onfig]           configFile          (NULL      )] :Optional  :ConfigurationFile
    [-m[ode]             mode                (0         )] :Optional  :Mode

XXXXXXのところには実行している環境毎で異なる文字列が入ります。これは、mrcInfoというコマンドの使い方(Usage)を示しています。どのようなコマンドがあるかが分かってくると、それぞれのEosのコマンドの使い方を簡単に思い出すことができます。Eosでは、こうしたコマンドを現時点で400種類弱用意しています。これをSmall Toolsと呼んでいます。

 これ以外に、-c, -m, -htmlは予約オプションになっています。それぞれ引数による入力をファイルから行うためのもの、プログラムの動作のモードを示すもの、Web上での利用できるHTML形式のものとなっています。

 さて、Small Toolsだけでは、コンソール上でひとつひとつ実行していく必要があります。これでは、とても大変です。そこで、Eosでは、UNIXなどではプログラム開発などで使われるmakeというコマンドで呼び出される、Makefileによってコマンドをまとめています。makeのもつ入力・出力の関係記述とその更新判定という仕組みは、多くの画像処理にとって便利な仕組みです。詳細は、Makefileをご覧下さい。

※ 現在、makeの記述能力の限界を感じたこと、また、分散環境に容易に対応できるものがないことの2点から新しい統合環境(PIONE)を作成しています。前者の問題を克服するために、Makefileでは、かなりトリッキーな定義を行ってきました。後者の問題に対しては、それぞれが各ホストにログインし、makeのもつ入出力の更新関係を用いたプロセス定義機能を使って克服してきました。しかし、定義書の可読性が極端に悪いこと、プロセスの管理が大変であることなどから、PIONEの開発へと繋げました。詳細は、PIONEをご覧下さい。

 実際に、コマンドを使ってみましょう。 まず、データをexample-000.mrcからダウンロードして下さい。

次に、そのファイルの情報を確認してみます。ダウンロードしたファイルがあるディレクトリで、

$ mrcInfo -i example-000.mrc 

と実行してみましょう。

N            : (      1784,       1814,          1)
Mode         :           2  mrcFloatImage         
StartN       : (         0,          0,          0)
M            : (         1,          1,          1)
Length       : (     1.250,      1.250,      1.250)
A,B,G        : (     90.00,      90.00,      90.00)
C,R,S        : (         1,          2,          3)
Min,Max,Mean : (     0.999,       2.28,       1.64)
ISPG         :           0
NSYMBT       :           0
EXTRA        :   0: 0         	 1: 0         	 2: 0         	 3: 0         	 4: 0         	 5: 0         	 6: 0         	 7: 0         	 8: 0         	 9: 0         	10: 0         	11: 0         	12: 0         	13: 0         	14: 0         	15: 0         16: 0         	17: 0         	18: 0         	19: 0         	20: 0         	21: 0         	22: 0         	23: 0         	24: 0         	25: 0         	26: 0         	27: 0         	28: 0         	
XORIGIN      : (         0,          0)
LABEL        :           0
Tailer Number: 0

と出力されれば成功です。大きさが1784x1814でFloat型の画像であることが分かります。また、ピクセル間隔が1.25であることも分かります。

※ いくつかのパラメータが他のMRCフォーマットと異なっています。場合に寄ってはうまく動きません。

なぜコマンド・ラインとするのか?

 Eosでは、Small Toolsとして、数多くのコマンドを用意し、それらをCUIから実行しています。その一方で、画像処理でよく使われるソフトウェアは、ImageJPhotoshopのような統合GUI環境からプラグインの形で呼び出すソフトウェアです。Eosでも、Display2などは、統合GUI環境となるように目指したソフトウェアです。未だに完成は見ていません。

 なぜ、コマンドラインとするかといえば、大きく二つの理由があります。

 ひとつは、前述のようにEosのコマンドを組み合わせて、統合的な大きな画像処理の実行を、柔軟に設計するためです。統合GUI環境からのプラグイン型では、複数のプラグインを組み合わせるためには、プラグインを設計する、プラグインを複数組み合わせるマクロコマンドを記述する、実行順序をマニュアル化・ドキュメント化するなどの方法で、実現します。コマンドライン型では、シェルスクリプトと組み合わせて、実行することが出来ます。

 もう一つは、同じ作業を複数のファイルに対して、大量に実行することが容易であるからです。GUIからだけの場合には、毎回、同じ作業をマウスなどを使って実行する必要があります。例えば、GUIを使って、1000個のファイルのサフィックスを変更する作業を実施するのは大変ですが、シェルスクリプトmakeと組み合わせて使えば、簡単にしかも、必要なファイルだけを更新することが可能です。