「lctfDetermination(API)」の版間の差分
提供: Eospedia
(ページの作成:「DataManip/ctfInfo/src/'''lctfDetermination'''はctfDetermineのためのAPI です。 == 定数 == == 構造体 == typedef struct lctfDetermineInfo { ctfInfo ini...」) |
(→API) |
||
| 行23: | 行23: | ||
== API == | == API == | ||
| + | === CTFの推定 === | ||
| + | ==== メイン ==== | ||
| + | mode(0x000000F0でマスク)によった方法で[[CTF]]の推定を行います。<br> | ||
| + | 現在の[[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); | ||
| − | + | <table border="1"> | |
| + | <tr> | ||
| + | <th>mode(& 0x000000F0)</th> | ||
| + | <th>使用関数</th> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>0</td> | ||
| + | <td>lctfDeterminationbyMinMaxMethods</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>16</td> | ||
| + | <td>lctfDeterminationbyFittingMethods</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>32</td> | ||
| + | <td>lctfDeterminationbyDifferentialMethods</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>64</td> | ||
| + | <td>lctfDeterminationbyCovarianceMethods</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>96</td> | ||
| + | <td>lctfDeterminationbyMixMethods</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>128</td> | ||
| + | <td>lctfDeterminationbyMinSquareMethods</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>160, 161, 163(0x0000000Fのマスクでも判定)</td> | ||
| + | <td>lctfDeterminationbyMinSquareMethods<br> | ||
| + | EnvelopeDetermine<br> | ||
| + | </td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>167(0x0000000Fのマスクでも判定)</td> | ||
| + | <td>lctfDeterminationbyMinSquareMethodsWithAcomp</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>176</td> | ||
| + | <td>lmrcFSInfoScatteringAngularDistributionAverageSection<br> | ||
| + | lctfDeterminationbyMinSquareMethods<br> | ||
| + | lctfDeterminationByTangent<br> | ||
| + | lastigmatismDetection<br> | ||
| + | </td> | ||
| + | </tr> | ||
| + | </table> | ||
| + | <br> | ||
| + | ==== ミニマックス法 ==== | ||
extern void lctfDeterminationbyMinMaxMethods(ctfInfo* res, mrcImage* mrc, ctfInfo* ini, long mode); | 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 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 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 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 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 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 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 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); | extern double lctfDeterminationByTangent(ctfInfo* res, mrcImage* mrc, ctfInfo* ini,lctfDetermineInfo* linfo,floatVector* defocus,floatVector* Eres, long mode); | ||
| − | extern void | + | |
| + | === ヘルプ === | ||
| + | modeの説明を出力します。 | ||
| + | extern void lctfDtermmineUsage(FILE* fpt); | ||
2014年9月30日 (火) 05:35時点における版
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の推定を行います。
現在の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);