「lmrcFFTInfo(API)」の版間の差分

提供: Eospedia
移動: 案内検索
(ページの作成:「DataManip/mrcImage/src/'''lmrcFFTInfo'''はmrcFFTInfoのためのAPI です。 == 定数 == == 構造体 == typedef struct mrcFSInfo { double F00; double Max;...」)
 
行1: 行1:
DataManip/mrcImage/src/'''lmrcFFTInfo'''[[mrcFFTInfo]]のためのAPI です。
+
DataManip/mrcImage/src/'''lmrcFFTInfo'''はフーリエ空間の[[mrcImage]]データの一部を取得するためのAPI です。
  
 
== 定数 ==
 
== 定数 ==
  
 
== 構造体 ==
 
== 構造体 ==
 +
lmrcFSInfoで取得した振幅データを格納先として使用します。
 
  typedef struct mrcFSInfo {
 
  typedef struct mrcFSInfo {
 
  double F00;
 
  double F00;
行11: 行12:
  
 
== API ==
 
== API ==
 +
===y成分毎の平均振幅を出力===
 +
x成分の振幅の平均を各y成分毎に算出した値を出力します。
 
  extern floatVector* lmrcFSInfoYAxisMagAverage(mrcImage* fft);
 
  extern floatVector* lmrcFSInfoYAxisMagAverage(mrcImage* fft);
 +
 +
===Y軸上に平均振幅を投影===
 +
x成分の振幅の平均をY軸上の実部(虚部は0)に書き込みます。
 
  extern void lmrcFSInfoYAxisProjection(mrcImage* out, mrcImage* in, long mode);
 
  extern void lmrcFSInfoYAxisProjection(mrcImage* out, mrcImage* in, long mode);
 +
 +
===x成分の周波数フィルタリング===
 +
周波数RMaxXのローパスフィルタをx成分に掛けます。
 
  extern void lmrcFSInfoXFiltering(mrcImage* out, mrcImage* in, float RMaxX, long mode);
 
  extern void lmrcFSInfoXFiltering(mrcImage* out, mrcImage* in, float RMaxX, long mode);
 +
 +
===振幅データの取得===
 +
FFTの振幅データをlinfoに格納します。
 
  extern void lmrcFSInfo(mrcFSInfo* linfo, mrcImage* fft);
 
  extern void lmrcFSInfo(mrcFSInfo* linfo, mrcImage* fft);
 +
<table border="1">
 +
<tr>
 +
<th>メンバー</th>
 +
<th>格納するデータ</th>
 +
</tr>
 +
<tr>
 +
<td>F00</td>
 +
<td>原点(0, 0, 0)での振幅</td>
 +
</tr>
 +
<tr>
 +
<td>Max</td>
 +
<td>振幅の最大値</td>
 +
</tr>
 +
<tr>
 +
<td>MaxExceptForF00</td>
 +
<td>原点を除く振幅の最大値</td>
 +
</tr>
 +
</table>
 +
<br>
 +
 +
===角度毎の平均強度===
 +
====ベクトルの配列として出力====
 
  extern floatVector** lmrcFSInfoScatteringAngularDistributionDivisionAverage(mrcImage* fft, mrcImageParaTypeReal axis, mrcImageParaTypeInteger N, int mode);
 
  extern floatVector** lmrcFSInfoScatteringAngularDistributionDivisionAverage(mrcImage* fft, mrcImageParaTypeReal axis, mrcImageParaTypeInteger N, int mode);
 
  extern floatVector** lmrcFSInfoScatteringAngularDistributionDivisionAverageDelR(mrcImage* fft, mrcImageParaTypeReal axis, mrcImageParaTypeInteger N, mrcImageParaTypeReal delR, int mode);
 
  extern floatVector** lmrcFSInfoScatteringAngularDistributionDivisionAverageDelR(mrcImage* fft, mrcImageParaTypeReal axis, mrcImageParaTypeInteger N, mrcImageParaTypeReal delR, int mode);
 +
axis: 角度初期値, N: 分割数, delR: 空間周波数の刻み幅
  
 +
====フーリエ空間データの平均値を出力====
 
  extern double lmrcImageFSInfoScatteringAugularDistribution3DShell(mrcImage* fft, double minR, double maxR, mrcPixelDataHowToGet mode );
 
  extern double lmrcImageFSInfoScatteringAugularDistribution3DShell(mrcImage* fft, double minR, double maxR, mrcPixelDataHowToGet mode );
 +
空間周波数の範囲: minR, maxR<br>
 +
平均を取るデータの種類: mode

2014年5月23日 (金) 02:44時点における版

DataManip/mrcImage/src/lmrcFFTInfoはフーリエ空間のmrcImageデータの一部を取得するためのAPI です。

定数

構造体

lmrcFSInfoで取得した振幅データを格納先として使用します。

typedef struct mrcFSInfo {
	double F00;	
	double Max;
	double MaxExceptForF00;
} mrcFSInfo;

API

y成分毎の平均振幅を出力

x成分の振幅の平均を各y成分毎に算出した値を出力します。

extern floatVector* lmrcFSInfoYAxisMagAverage(mrcImage* fft);

Y軸上に平均振幅を投影

x成分の振幅の平均をY軸上の実部(虚部は0)に書き込みます。

extern void lmrcFSInfoYAxisProjection(mrcImage* out, mrcImage* in, long mode);

x成分の周波数フィルタリング

周波数RMaxXのローパスフィルタをx成分に掛けます。

extern void lmrcFSInfoXFiltering(mrcImage* out, mrcImage* in, float RMaxX, long mode);

振幅データの取得

FFTの振幅データをlinfoに格納します。

extern void lmrcFSInfo(mrcFSInfo* linfo, mrcImage* fft);
メンバー 格納するデータ
F00 原点(0, 0, 0)での振幅
Max 振幅の最大値
MaxExceptForF00 原点を除く振幅の最大値


角度毎の平均強度

ベクトルの配列として出力

extern floatVector** lmrcFSInfoScatteringAngularDistributionDivisionAverage(mrcImage* fft, mrcImageParaTypeReal axis, mrcImageParaTypeInteger N, int mode);
extern floatVector** lmrcFSInfoScatteringAngularDistributionDivisionAverageDelR(mrcImage* fft, mrcImageParaTypeReal axis, mrcImageParaTypeInteger N, mrcImageParaTypeReal delR, int mode);

axis: 角度初期値, N: 分割数, delR: 空間周波数の刻み幅

フーリエ空間データの平均値を出力

extern double lmrcImageFSInfoScatteringAugularDistribution3DShell(mrcImage* fft, double minR, double maxR, mrcPixelDataHowToGet mode );

空間周波数の範囲: minR, maxR
平均を取るデータの種類: mode