「lmrcFFTInfo(API)」の版間の差分
提供: Eospedia
(ページの作成:「DataManip/mrcImage/src/'''lmrcFFTInfo'''はmrcFFTInfoのためのAPI です。 == 定数 == == 構造体 == typedef struct mrcFSInfo { double F00; double Max;...」) |
|||
行1: | 行1: | ||
− | DataManip/mrcImage/src/'''lmrcFFTInfo''' | + | 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