OSDN Git Service

Please enter the commit message for your changes. Lines starting
[eos/base.git] / include / lmrcImageCTFDetermination.h
1 #ifndef MRC_CTF_DETERMINATION_H
2 #define MRC_CTF_DETERMINATION_H
3
4 /* in lmrcImageCTFDetermination.c */
5
6 #include "ctfInfo.h"
7 #include "mrcImage.h"
8 #include "lllDataCTFCompensate.h"
9 #include "lll2ltlg.h"
10 #include "lltlg2mrc.h"
11 #include "lmrcImageSolventFlattening.h"
12 #include "lmrcImageProjection.h"
13 #include "lmrcImageCrystalCreate.h"
14 #include "lllExtractdYEstimate.h"
15 #include "lmrcImagePad.h"
16
17 /* struct begin */
18 typedef struct lmrcImageCTFDeterminationInfo {
19         ctfInfo val;
20         ctfInfo min;
21         ctfInfo max;
22         ctfInfo del;
23         mrcImageParaTypeReal Rmax;
24         mrcImageParaTypeReal Rmin;
25         mrcImage Dif;
26         double minResidual;
27         double minDef;
28         double minRatio;
29         FILE*   Out;
30         int flagOutF;
31         mrcImage resFFT;
32 } lmrcImageCTFDeterminationInfo;
33
34 typedef struct lmrcImageCTFDeterminationInfoMode {
35         long FilterType;
36         long WeightType;
37         long SumType;
38         long CTFInfoType;
39 } lmrcImageCTFDeterminationInfoMode;
40
41 typedef struct lmrcImageCTFDeterminationInfoRef {
42         FILE* fptIn;
43         char* In;
44         FILE* fptRef;
45         char* Ref;
46         FILE* fptOut;
47         char* Out;
48         char MrcOut[100];
49         mrcImage* in;
50         mrcImage* out;
51         long Width;
52         float PixelSize;
53         float truePitch;
54         float firstDf;
55         float withinDf;
56         float firstAoverP;
57         float withinAoverP;
58         mrcImageParaTypeReal maxiter;
59         mrcImageParaTypeReal iter;
60 } lmrcImageCTFDeterminationInfoRef;
61
62 /* struct end */
63
64 /* prototype begin */
65
66 extern void lmrcImageCTFDetermination (lmrcImageCTFDeterminationInfo *linfo, 
67                                                                            lmrcImageCTFDeterminationInfoRef *refinfo,
68                                                                         mrcImage* in, mrcImage* ref,
69                                                                            lmrcImageCTFDeterminationInfoMode *Mode);
70
71 extern void lmrcImageCTFDeterminationResultFFT (lmrcImageCTFDeterminationInfo *linfo, 
72                                                                                         lmrcImageCTFDeterminationInfoRef *refinfo,
73                                                                                      mrcImage* in, mrcImage* ref,
74                                                                                                 lmrcImageCTFDeterminationInfoMode *Mode);
75
76 extern double MagWeightForCTFDetermine(double inMag, double refMag, 
77                                                                          long mode); 
78
79 extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstInitializeLL
80                                                         (lmrcImageCTFDeterminationInfoRef *refinfo,
81                                                          lllDataCTFCompensateInfo *llctfinfo,
82                                                          lll2ltlgInfo *ll2ltlginfo,
83                                                          lltlg2mrcInfo *ltlg2mrcinfo);
84                                                          
85 extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstInitializeMRC
86                                                         (lmrcImageCTFDeterminationInfoRef *refinfo,
87                                                      mrcImageInformation *solinfo, 
88                                                          lmrcImageProjectionInfo *projinfo,
89                                                          lmrcImageCrystalCreateInfo *cryinfo,
90                                                          lmrcImagePadInfo *padinfo);
91                                                          
92 extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstLL
93                                                         (lmrcImageCTFDeterminationInfoRef *refinfo,
94                                                          lllDataCTFCompensateInfo *llctfinfo,
95                                                          lll2ltlgInfo *ll2ltlginfo,
96                                                          lltlg2mrcInfo *ltlg2mrcinfo);
97                                                          
98 extern void lmrcImageCTFDeterminationCreateRefFilebyNearFar3DReconstMRC
99                                                         (lmrcImageCTFDeterminationInfoRef *refinfo,
100                                                      mrcImageInformation *solinfo, 
101                                                          lmrcImageProjectionInfo *projinfo,
102                                                          lmrcImageCrystalCreateInfo *cryinfo,
103                                                          lmrcImagePadInfo *padinfo);
104                                                          
105 /* prototype end */
106
107 #endif
108