「lctfDetermination(API)」の版間の差分
提供: Eospedia
(→API) |
(→メイン) |
||
行26: | 行26: | ||
==== メイン ==== | ==== メイン ==== | ||
mode(0x000000F0でマスク)によった方法で[[CTF]]の推定を行います。<br> | mode(0x000000F0でマスク)によった方法で[[CTF]]の推定を行います。<br> | ||
+ | 基本的に関数を呼び出すときのmodeは0x0000000Fでマスクをして使用しています。<br> | ||
現在の[[ctfDetermine]]ではこの[[API]]を使用せずに他の[[API]]を直接呼ぶようになっています。 | 現在の[[ctfDetermine]]ではこの[[API]]を使用せずに他の[[API]]を直接呼ぶようになっています。 | ||
extern void lctfDetermine(ctfInfo* result, ctfInfo* var, mrcImage* mrc, lctfDetermineInfo* linfo, long mode); | extern void lctfDetermine(ctfInfo* result, ctfInfo* var, mrcImage* mrc, lctfDetermineInfo* linfo, long mode); |
2014年9月30日 (火) 05:39時点における版
DataManip/ctfInfo/src/lctfDeterminationはctfDetermineのためのAPI です。
目次
定数
構造体
typedef struct lctfDetermineInfo { ctfInfo initial; long ThonRing; /* For Astigmatism */ int flagAstigmatism; int section; int degree; double step; double max; double min; float firstRingDefocus; float IntensityMin; float IntensityMax; float* noise; } lctfDetermineInfo;
API
CTFの推定
メイン
mode(0x000000F0でマスク)によった方法でCTFの推定を行います。
基本的に関数を呼び出すときのmodeは0x0000000Fでマスクをして使用しています。
現在のctfDetermineではこのAPIを使用せずに他のAPIを直接呼ぶようになっています。
extern void lctfDetermine(ctfInfo* result, ctfInfo* var, mrcImage* mrc, lctfDetermineInfo* linfo, long mode);
mode(& 0x000000F0) | 使用関数 |
---|---|
0 | lctfDeterminationbyMinMaxMethods |
16 | lctfDeterminationbyFittingMethods |
32 | lctfDeterminationbyDifferentialMethods |
64 | lctfDeterminationbyCovarianceMethods |
96 | lctfDeterminationbyMixMethods |
128 | lctfDeterminationbyMinSquareMethods |
160, 161, 163(0x0000000Fのマスクでも判定) | lctfDeterminationbyMinSquareMethods EnvelopeDetermine |
167(0x0000000Fのマスクでも判定) | lctfDeterminationbyMinSquareMethodsWithAcomp |
176 | lmrcFSInfoScatteringAngularDistributionAverageSection lctfDeterminationbyMinSquareMethods |
ミニマックス法
extern void lctfDeterminationbyMinMaxMethods(ctfInfo* res, mrcImage* mrc, ctfInfo* ini, long mode);
フィッティング法
extern void lctfDeterminationbyFittingMethods(ctfInfo* res, ctfInfo* var, mrcImage* mrc, ctfInfo* ini, long mode); extern void angularDistributionFunctionOfSignalAndNoise(float x, float p[], float* y, float dyda[], int na);
差分法
extern void lctfDeterminationbyDifferentialMethods(ctfInfo* res, mrcImage* mrc, ctfInfo* ini,long* ThonRing, long mode);
共分散法
extern void lctfDeterminationbyCovarianceMethods(ctfInfo* res, mrcImage* mrc, ctfInfo* ini,long* ThonRing, long mode);
差分法+共分散法
extern void lctfDeterminationbyMixMethods(ctfInfo* res, mrcImage* mrc, ctfInfo* ini, long* ThonRing,long mode);
最小二乗法
extern void lctfDeterminationbyMinSquareMethods(ctfInfo* res, mrcImage* mrc, ctfInfo* ini,long* ThonRing,lctfDetermineInfo* linfo,floatVector* defocus,floatVector* Eres ,long mode);
extern void EnvelopeDetermine(ctfInfo* res, mrcImage* mrc, ctfInfo* ini,lctfDetermineInfo* linfo,floatVector* defocus,floatVector* Eres, long mode); extern void lctfDeterminationbyMinSquareMethodsWithAcomp(ctfInfo* res, mrcImage* mrc, ctfInfo* ini,long* ThonRing,lctfDetermineInfo* linfo,floatVector* defocus,floatVector* Eres ,long mode); extern double lctfDeterminationByTangent(ctfInfo* res, mrcImage* mrc, ctfInfo* ini,lctfDetermineInfo* linfo,floatVector* defocus,floatVector* Eres, long mode);
ヘルプ
modeの説明を出力します。
extern void lctfDtermmineUsage(FILE* fpt);