「lmrcImageCTFDetermination(API)」の版間の差分
提供: Eospedia
(ページの作成:「DataManip/mrcImage/src/'''lmrcImageCTFDetermination'''はmrcImageCTFDeterminationのためのAPI です。 == 定数 == == 構造体 == typedef struct lmrcImageCTF...」) |
(→API) |
||
| (同じ利用者による、間の3版が非表示) | |||
| 行4: | 行4: | ||
== 構造体 == | == 構造体 == | ||
| + | lmrcImageCTFDetermination、lmrcImageCTFDeterminationResultFFTで使用します。 | ||
typedef struct lmrcImageCTFDeterminationInfo { | typedef struct lmrcImageCTFDeterminationInfo { | ||
ctfInfo val; | ctfInfo val; | ||
| 行20: | 行21: | ||
} lmrcImageCTFDeterminationInfo; | } lmrcImageCTFDeterminationInfo; | ||
| + | lmrcImageCTFDetermination、lmrcImageCTFDeterminationResultFFTで使用します。(モード) | ||
typedef struct lmrcImageCTFDeterminationInfoMode { | typedef struct lmrcImageCTFDeterminationInfoMode { | ||
long FilterType; | long FilterType; | ||
| 行27: | 行29: | ||
} lmrcImageCTFDeterminationInfoMode; | } lmrcImageCTFDeterminationInfoMode; | ||
| + | このAPIで使用します。 | ||
typedef struct lmrcImageCTFDeterminationInfoRef { | typedef struct lmrcImageCTFDeterminationInfoRef { | ||
FILE* fptIn; | FILE* fptIn; | ||
| 行49: | 行52: | ||
== API == | == API == | ||
| + | === [[CTF]]推定 === | ||
| + | 参照ref(FFT)に対して、入力in(FFT)の平均位相差を算出し、その最小値データをlinfo->minResidual(Def, Ratio)に、分布をlinfo->Difへ出力します。 | ||
extern void lmrcImageCTFDetermination (lmrcImageCTFDeterminationInfo *linfo, | extern void lmrcImageCTFDetermination (lmrcImageCTFDeterminationInfo *linfo, | ||
lmrcImageCTFDeterminationInfoRef *refinfo, | lmrcImageCTFDeterminationInfoRef *refinfo, | ||
| 行54: | 行59: | ||
lmrcImageCTFDeterminationInfoMode *Mode); | lmrcImageCTFDeterminationInfoMode *Mode); | ||
| + | 参照ref(FFT)に対して、入力in(FFT)の位相差による[[CTF]]を算出し、linfo->resFFTへ出力します。 | ||
extern void lmrcImageCTFDeterminationResultFFT (lmrcImageCTFDeterminationInfo *linfo, | extern void lmrcImageCTFDeterminationResultFFT (lmrcImageCTFDeterminationInfo *linfo, | ||
lmrcImageCTFDeterminationInfoRef *refinfo, | lmrcImageCTFDeterminationInfoRef *refinfo, | ||
| 行59: | 行65: | ||
lmrcImageCTFDeterminationInfoMode *Mode); | lmrcImageCTFDeterminationInfoMode *Mode); | ||
| + | === 重み付け === | ||
| + | modeによる入力画像と参照画像の重みを出力します。 | ||
extern double MagWeightForCTFDetermine(double inMag, double refMag, | extern double MagWeightForCTFDetermine(double inMag, double refMag, | ||
long mode); | long mode); | ||
| + | <table border="1"> | ||
| + | <tr> | ||
| + | <th>mode</th> | ||
| + | <th>重み付け方法</th> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>0</td> | ||
| + | <td>1</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>1</td> | ||
| + | <td>(inMag + refMag)/2</td> | ||
| + | </tr> | ||
| + | </table> | ||
| + | <br> | ||
| + | === ミオシンフィラメント用の参照画像作成 === | ||
| + | 初期データの作成([[llData]]): 未実装 | ||
extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstInitializeLL | extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstInitializeLL | ||
(lmrcImageCTFDeterminationInfoRef *refinfo, | (lmrcImageCTFDeterminationInfoRef *refinfo, | ||
| 行67: | 行92: | ||
lll2ltlgInfo *ll2ltlginfo, | lll2ltlgInfo *ll2ltlginfo, | ||
lltlg2mrcInfo *ltlg2mrcinfo); | lltlg2mrcInfo *ltlg2mrcinfo); | ||
| − | + | ||
| + | 初期化データの作成([[mrcImage]]) | ||
extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstInitializeMRC | extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstInitializeMRC | ||
(lmrcImageCTFDeterminationInfoRef *refinfo, | (lmrcImageCTFDeterminationInfoRef *refinfo, | ||
| 行74: | 行100: | ||
lmrcImageCrystalCreateInfo *cryinfo, | lmrcImageCrystalCreateInfo *cryinfo, | ||
lmrcImagePadInfo *padinfo); | lmrcImagePadInfo *padinfo); | ||
| − | + | ||
| + | 参照画像の作成([[llData]]) | ||
extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstLL | extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstLL | ||
(lmrcImageCTFDeterminationInfoRef *refinfo, | (lmrcImageCTFDeterminationInfoRef *refinfo, | ||
| 行80: | 行107: | ||
lll2ltlgInfo *ll2ltlginfo, | lll2ltlgInfo *ll2ltlginfo, | ||
lltlg2mrcInfo *ltlg2mrcinfo); | lltlg2mrcInfo *ltlg2mrcinfo); | ||
| − | + | ||
| + | 参照画像の作成([[mrcImage]]) | ||
extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstMRC | extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstMRC | ||
(lmrcImageCTFDeterminationInfoRef *refinfo, | (lmrcImageCTFDeterminationInfoRef *refinfo, | ||
2014年10月1日 (水) 08:32時点における最新版
DataManip/mrcImage/src/lmrcImageCTFDeterminationはmrcImageCTFDeterminationのためのAPI です。
定数
構造体
lmrcImageCTFDetermination、lmrcImageCTFDeterminationResultFFTで使用します。
typedef struct lmrcImageCTFDeterminationInfo {
ctfInfo val;
ctfInfo min;
ctfInfo max;
ctfInfo del;
mrcImageParaTypeReal Rmax;
mrcImageParaTypeReal Rmin;
mrcImage Dif;
double minResidual;
double minDef;
double minRatio;
FILE* Out;
int flagOutF;
mrcImage resFFT;
} lmrcImageCTFDeterminationInfo;
lmrcImageCTFDetermination、lmrcImageCTFDeterminationResultFFTで使用します。(モード)
typedef struct lmrcImageCTFDeterminationInfoMode {
long FilterType;
long WeightType;
long SumType;
long CTFInfoType;
} lmrcImageCTFDeterminationInfoMode;
このAPIで使用します。
typedef struct lmrcImageCTFDeterminationInfoRef {
FILE* fptIn;
char* In;
FILE* fptRef;
char* Ref;
FILE* fptOut;
char* Out;
char MrcOut[100];
mrcImage* in;
mrcImage* out;
long Width;
float PixelSize;
float truePitch;
float firstDf;
float withinDf;
float firstAoverP;
float withinAoverP;
mrcImageParaTypeReal maxiter;
mrcImageParaTypeReal iter;
} lmrcImageCTFDeterminationInfoRef;
API
CTF推定
参照ref(FFT)に対して、入力in(FFT)の平均位相差を算出し、その最小値データをlinfo->minResidual(Def, Ratio)に、分布をlinfo->Difへ出力します。
extern void lmrcImageCTFDetermination (lmrcImageCTFDeterminationInfo *linfo, lmrcImageCTFDeterminationInfoRef *refinfo, mrcImage* in, mrcImage* ref, lmrcImageCTFDeterminationInfoMode *Mode);
参照ref(FFT)に対して、入力in(FFT)の位相差によるCTFを算出し、linfo->resFFTへ出力します。
extern void lmrcImageCTFDeterminationResultFFT (lmrcImageCTFDeterminationInfo *linfo, lmrcImageCTFDeterminationInfoRef *refinfo, mrcImage* in, mrcImage* ref, lmrcImageCTFDeterminationInfoMode *Mode);
重み付け
modeによる入力画像と参照画像の重みを出力します。
extern double MagWeightForCTFDetermine(double inMag, double refMag, long mode);
| mode | 重み付け方法 |
|---|---|
| 0 | 1 |
| 1 | (inMag + refMag)/2 |
ミオシンフィラメント用の参照画像作成
初期データの作成(llData): 未実装
extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstInitializeLL (lmrcImageCTFDeterminationInfoRef *refinfo, lllDataCTFCompensateInfo *llctfinfo, lll2ltlgInfo *ll2ltlginfo, lltlg2mrcInfo *ltlg2mrcinfo);
初期化データの作成(mrcImage)
extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstInitializeMRC (lmrcImageCTFDeterminationInfoRef *refinfo, mrcImageInformation *solinfo, lmrcImageProjectionInfo *projinfo, lmrcImageCrystalCreateInfo *cryinfo, lmrcImagePadInfo *padinfo);
参照画像の作成(llData)
extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstLL (lmrcImageCTFDeterminationInfoRef *refinfo, lllDataCTFCompensateInfo *llctfinfo, lll2ltlgInfo *ll2ltlginfo, lltlg2mrcInfo *ltlg2mrcinfo);
参照画像の作成(mrcImage)
extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstMRC (lmrcImageCTFDeterminationInfoRef *refinfo, mrcImageInformation *solinfo, lmrcImageProjectionInfo *projinfo, lmrcImageCrystalCreateInfo *cryinfo, lmrcImagePadInfo *padinfo);