「mrcImageAutoRotationCorrelation3D」の版間の差分

提供: Eospedia
移動: 案内検索
(実行例)
行6: 行6:
 
== オプション一覧 ==
 
== オプション一覧 ==
 
 下記に必要となる引数を記す。-i/-rは必須の引数である。
 
 下記に必要となる引数を記す。-i/-rは必須の引数である。
 +
 
===メインオプション===
 
===メインオプション===
 
<table border="1">  
 
<table border="1">  
行14: 行15:
 
<th>説明</th>  
 
<th>説明</th>  
 
<th>デフォルト</th>  
 
<th>デフォルト</th>  
                                <th>備考(推奨など)</th>
 
 
</tr>  
 
</tr>  
 
<tr>  
 
<tr>  
 
<td>-i</td>  
 
<td>-i</td>  
 
<td>必須</td>  
 
<td>必須</td>  
<td>入力テストファイル:[[mrcImage]](INPUT)</td>  
+
<td>入力テストファイル: [[mrcImage]]</td>  
 
<td>NULL</td>  
 
<td>NULL</td>  
 
</tr>  
 
</tr>  
行25: 行25:
 
<td>-r</td>  
 
<td>-r</td>  
 
<td>必須</td>  
 
<td>必須</td>  
<td>参照テストファイル:[[mrcImage]](INPUT)</td>  
+
<td>参照テストファイル: [[mrcImage]]</td>  
 
<td>NULL</td>  
 
<td>NULL</td>  
 
</tr>
 
</tr>
行31: 行31:
 
<td>-o</td>  
 
<td>-o</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>出力ファイル:パラメータ</td>  
+
<td>出力ファイル: パラメータ</td>  
<td>stdout(設定しなければ標準出力)</td>  
+
<td>stdout(設定しなければ標準出力)</td>  
 
</tr>
 
</tr>
 
  <tr>  
 
  <tr>  
 
<td>-cor</td>  
 
<td>-cor</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>出力ファイル:相関マップ:[[mrcImage]](OUTPUT)</td>  
+
<td>出力ファイル: 相関マップ: [[mrcImage]]</td>  
 
<td>NULL</td>  
 
<td>NULL</td>  
 
</tr>   
 
</tr>   
行43: 行43:
 
<td>-fit</td>  
 
<td>-fit</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>類似度の一番高い位置、回転角でのテスト画像:[[mrcImage]](OUTPUT)</td>  
+
<td>出力: 類似度の一番高い位置、回転角でのテスト画像: [[mrcImage]]</td>  
 
<td>NULL</td>  
 
<td>NULL</td>  
 
</tr>
 
</tr>
行49: 行49:
 
<td>-EA</td>  
 
<td>-EA</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>[[オイラー角]]の選択:4文字(INPUT)</td>  
+
<td>入力: [[オイラー角]]の選択:4文字</td>  
<td>YOYS</td>                 <
+
<td>YOYS</td>
 
</tr>
 
</tr>
 
<tr>  
 
<tr>  
 
<td>-Rot1</td>  
 
<td>-Rot1</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>[[オイラー角]]の第1角の範囲:min max delta(INPUT)</td>  
+
<td>入力: [[オイラー角]]の第1角の範囲:min max delta</td>  
<td>0.0 360.0 5.0</td>                 <
+
<td>0.0 360.0 5.0</td>  
 
</tr>
 
</tr>
 
<tr>  
 
<tr>  
 
<td>-Rot2</td>  
 
<td>-Rot2</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>[[オイラー角]]の第2角の範囲:min max delta(INPUT)</td>  
+
<td>入力: [[オイラー角]]の第2角の範囲:min max delta</td>  
<td>0.0 180.0 5.0</td>                 <
+
<td>0.0 180.0 5.0</td>
 
</tr>
 
</tr>
 
<tr>  
 
<tr>  
 
<td>-Rot3</td>  
 
<td>-Rot3</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>[[オイラー角]]の第3角の範囲:min max delta(INPUT)</td>  
+
<td>入力: [[オイラー角]]の第3角の範囲:min max delta</td>  
<td>0.0 360.0 5.0</td>                 <
+
<td>0.0 360.0 5.0</td>
 
</tr>
 
</tr>
 
<tr>  
 
<tr>  
 
<td>-Xrange</td>  
 
<td>-Xrange</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>min max (INPUT) [pixel] : 設定しなければ、X方向の全範囲</td>  
+
<td>min max (INPUT) [pixel]</td>  
<td>0 0</td>                 <
+
<td>0 0(設定しなければ、X方向の全範囲)</td>
 
</tr>
 
</tr>
 
<tr>  
 
<tr>  
 
<td>-Yrange</td>  
 
<td>-Yrange</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>min max (INPUT) [pixel] : 設定しなければ、Y方向の全範囲</td>  
+
<td>min max (INPUT) [pixel]</td>  
<td>0 0</td>                 <
+
<td>0 0(設定しなければ、Y方向の全範囲)</td>
 
</tr>
 
</tr>
 
<tr>  
 
<tr>  
 
<td>-Zrange</td>  
 
<td>-Zrange</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>min max (INPUT) [pixel] : 設定しなければ、Z方向の全範囲</td>  
+
<td>min max (INPUT) [pixel]</td>  
<td>0 0</td>                 <
+
<td>0 0(設定しなければ、Z方向の全範囲)</td>
 
</tr>
 
</tr>
 
<tr>  
 
<tr>  
 
<td>-M</td>  
 
<td>-M</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>相関関数の選択:(INPUT)</td>  
+
<td>入力: 相関関数の選択</td>  
<td>0</td>                 <
+
<td>0</td>
 
</tr>
 
</tr>
 
<tr>  
 
<tr>  
 
<td>-MR</td>  
 
<td>-MR</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>画像回転の取り扱い:(INPUT) 1: 平均値で周辺を埋める 0: 楕円体としての回転 +16: 直方体としての回転</td>  
+
<td>入力: 画像回転の取り扱い 1: 平均値で周辺を埋める 0: 楕円体としての回転 +16: 直方体としての回転</td>  
 
<td>0</td>
 
<td>0</td>
          <td>単粒子であり、周辺が媒体と考えられる場合には、0が推奨、そうではなく、周辺まで像があるときには、16が推奨</td>      <
 
 
</tr>
 
</tr>
 
<tr>  
 
<tr>  
 
<td>-m</td>  
 
<td>-m</td>  
 
<td>選択</td>  
 
<td>選択</td>  
<td>画像の補間モード:(INPUT); 0: 最近傍、1:1次補間、2:3次補間</td>  
+
<td>入力: 画像の補間モード: 0: 最近傍、1:1次補間、2:3次補間</td>  
<td>0</td>                 <
+
<td>0</td>
 
</tr>
 
</tr>
 
</div>  
 
</div>  
行113: 行112:
  
 
==== 回転のモード:  -MR ====
 
==== 回転のモード:  -MR ====
<pre>
+
<table border="1">
0: padding 0  
+
<tr>
1: padding average
+
<th>モード</th>
+0:  within ellipsoidal area.
+
<th>説明</th>
+16: within square area.
+
</tr>
</pre>
+
<tr>
 +
<td>0</td>
 +
<td>padding 0 </td>
 +
</tr>
 +
<tr>
 +
<td>1</td>
 +
<td>平均値で周辺を埋める</td>
 +
</tr>
 +
<tr>
 +
<td>+0</td>
 +
<td>楕円体としての回転</td>
 +
</tr>
 +
<tr>
 +
<td>+16</td>
 +
<td>直方体としての回転</td>
 +
</tr>
 +
</table>
 +
<div>単粒子であり、周辺が媒体と考えられる場合には、0が推奨<br>
 +
そうではなく、周辺まで像があるときには、16が推奨</div>
  
  
 
==== 相関関数のモード:  -M ====
 
==== 相関関数のモード:  -M ====
<pre>
+
<table border="1">
0: Normal Correlation FxG*
+
<tr>
1: Phase  Correlation FxG*/    |FxG*|
+
<th>モード</th>
2: Phase  Correlation FxG*/sqrt(|FxG*|)
+
<th>説明</th>
3: Normalized Normal Correlation FxG*/|F||G|)
+
</tr>
16: (0,0) = 0  
+
<tr>
</pre>
+
<td>0</td>
 +
<td>Normal Correlation FxG*</td>
 +
</tr>
 +
<tr>
 +
<td>1</td>
 +
<td>Phase  Correlation FxG*/    |FxG*|</td>
 +
</tr>
 +
<tr>
 +
<td>2</td>
 +
<td>Phase  Correlation FxG*/sqrt(|FxG*|)</td>
 +
</tr>
 +
<tr>
 +
<td>3</td>
 +
<td>Normalized Normal Correlation FxG*/|F||G|)</td>
 +
</tr>
 +
<tr>
 +
<td>16</td>
 +
<td>(0,0) = 0 </td>
 +
</tr>
 +
</table>
 +
 
 +
 
 +
==== 補間のモード: -m ====
 +
<table border="1">
 +
<tr>
 +
<th>モード</th>
 +
<th>説明</th>
 +
</tr>
 +
<tr>
 +
<td>0</td>
 +
<td>Nearest </td>
 +
</tr>
 +
<tr>
 +
<td>1</td>
 +
<td>Bilinear</td>
 +
</tr>
 +
<tr>
 +
<td>2</td>
 +
<td>CubicConvolution</td>
 +
</tr>
 +
</table>  
  
==== 補間のモード: -m ====
 
<pre>
 
0: Nearest
 
1: Bilinear
 
2: CubicConvolution
 
</pre>
 
  
 
== 実行例 ==
 
== 実行例 ==

2013年11月25日 (月) 08:01時点における版

mrcImageAutoRotationCorrelation3DとはmrcImageファイルの3次元データ間の相関値を計算するためのEosコマンドである。参照画像に対してもっとも合う3次元画像の向きを決定していく。そのもっともよく合った画像を出力することもできる。

アルゴリズム

リファレンスの3次元画像を回転させて、もっともよく合う回転角を相関値から見出す。相関値は、いくつかの関数系をもつが、基本的には、フーリエ空間での計算から相関関数を求め、その最大値を探索する。

オプション一覧

 下記に必要となる引数を記す。-i/-rは必須の引数である。

メインオプション

オプション 必須項目/選択項目 説明 デフォルト
-i 必須 入力テストファイル: mrcImage NULL
-r 必須 参照テストファイル: mrcImage NULL
-o 選択 出力ファイル: パラメータ stdout(設定しなければ標準出力)
-cor 選択 出力ファイル: 相関マップ: mrcImage NULL
-fit 選択 出力: 類似度の一番高い位置、回転角でのテスト画像: mrcImage NULL
-EA 選択 入力: オイラー角の選択:4文字 YOYS
-Rot1 選択 入力: オイラー角の第1角の範囲:min max delta 0.0 360.0 5.0
-Rot2 選択 入力: オイラー角の第2角の範囲:min max delta 0.0 180.0 5.0
-Rot3 選択 入力: オイラー角の第3角の範囲:min max delta 0.0 360.0 5.0
-Xrange 選択 min max (INPUT) [pixel] 0 0(設定しなければ、X方向の全範囲)
-Yrange 選択 min max (INPUT) [pixel] 0 0(設定しなければ、Y方向の全範囲)
-Zrange 選択 min max (INPUT) [pixel] 0 0(設定しなければ、Z方向の全範囲)
-M 選択 入力: 相関関数の選択 0
-MR 選択 入力: 画像回転の取り扱い 1: 平均値で周辺を埋める 0: 楕円体としての回転 +16: 直方体としての回転 0
-m 選択 入力: 画像の補間モード: 0: 最近傍、1:1次補間、2:3次補間 0

モードの詳細

回転のモード: -MR

モード 説明
0 padding 0
1 平均値で周辺を埋める
+0 楕円体としての回転
+16 直方体としての回転
単粒子であり、周辺が媒体と考えられる場合には、0が推奨
そうではなく、周辺まで像があるときには、16が推奨


相関関数のモード: -M

モード 説明
0 Normal Correlation FxG*
1 Phase Correlation FxG*/ |FxG*|
2 Phase Correlation FxG*/sqrt(|FxG*|)
3 Normalized Normal Correlation FxG*/|F||G|)
16 (0,0) = 0


補間のモード: -m

モード 説明
0 Nearest
1 Bilinear
2 CubicConvolution


実行例

参照像test.refに対して、テスト画像test.inを合わせる場合の例。その際の相関値の計算結果がtest.paramに格納され、また、相関マップtest.corも手に入れている。 相関は、参照像を(オイラー角、この場合は、YOYSであるので、Y軸回転(Rot1)、X軸回転(Rot2)、Z軸回転(Rot3)の順に回転)に従って、3つの角度Rot1, Rot2, Rot3で指定した範囲と刻み幅で回転させる。 回転する際に、画像は直方体内全体にあると考え、その外側は平均値でパッドする。相関値は、F*G*でフーリエ空間の積の逆フーリエ変換で求められた相関関数(相関マップ)から求めるが、-Xrange/-Yrange/-Zrangeにより、その移動距離が制限される。

$ mrcImageAutoRotationCorrelation3D -i test.in -r test.ref -o test.param -cor test.cor -fit test.fit -EA YOYS -Rot1 -20 20 10 -Rot2 -30 30 15 -Rot3 -10 10 5 -Xrange -1 1 -Yrange -2 2 -Zrange 0 0 -MR 17 -M 16 -m 2

参考文献