OSDN Git Service

Please enter the commit message for your changes. Lines starting
[eos/base.git] / include / lllExtract.h
1 #ifndef LLL_EXTRACT_INFO_H
2 #define LLL_EXTRACT_INFO_H
3 /*
4 # %M% %Y% %I%
5 # The latest update : %G% at %U%
6 #
7 #%Z% lllExtract.h ver %I%
8 #%Z% Created by 
9 #%Z%
10 #%Z% Usage : lllExtract.h 
11 #%Z% Attention
12 #%Z%
13 */
14
15 #include "mrcImage.h"
16 #include "llData.h"
17 #include "lllDataFit.h"
18 #include "lllDatarMaxLimit.h"
19
20 /* struct begin */
21 typedef struct lllExtractInfo {
22     char* Title;
23     float xStep;
24     float yStep;
25     float MaxX;
26     float MaxY;
27     float RotationAngle;
28     float Omega;
29     float Shear;
30     long ievery; 
31     float axl;
32     float ayl;
33     float xShift; 
34     long llMax;
35     llDataParaTypeReal delRInv; /* [A] */
36     long flagOutputInfo; /* for Compati */
37     long* n;
38     long* nn;   /* number of diffenent n along l*/
39     long** ns;  /* diffenent n's along l*/
40     long* l;
41     float* Y;
42     float* leftMin;
43     float* leftMax;
44     float* rightMin;
45     float* rightMax;
46     float* weight; 
47         llDataParaTypeReal truePitch;   
48         lllDatarMaxLimitInfo rMax;
49         llDataParaTypeReal   RMax;
50         llDataParaTypeReal RMaxFirst;
51
52         int flagMagnitudeLimit;
53 } lllExtractInfo;
54 /* struct end */
55
56 #ifdef __cplusplus
57 extern "C" {
58 #endif
59 /* prototype begin */
60
61 /* in lllExtract.c */
62 extern void lllExtract(llData* nea, llData* far, mrcImage* in, lllExtractInfo* info);
63
64
65 extern void lllExtractWithSeparationUsingFittingParameter(llData* dst, llDataBoth* src, 
66                 llDataFittedParam* param, 
67                 int number, 
68                 lllExtractInfo* info, 
69                 int mode);
70
71 extern void lllExtractWithSeparation(llDataBoth* dst, llDataBoth* src, 
72                 lllExtractInfo* info, int mode);
73 extern void lllExtractWithWeightedSeparation(llDataBoth* dst, llDataBoth* src, 
74                 llData* weight, lllExtractInfo* info, int mode);
75
76 extern void lllDatarMaxLimitForSeparation(llData* ll, float rMax, 
77                 lllExtractInfo* linfo, long mode);
78
79 extern void lllDataSeparationInfoRead(lllExtractInfo* linfo, mrcImage* mrc, FILE* fpt);
80 extern void lllDataSeparationInfoFileFormat(FILE* fpt);
81
82
83 extern void lllDataSeparationInfoTruePitchSet(lllExtractInfo* linfo, llDataParaTypeReal truePitch); 
84 extern void lllDataSeparationInfoDelRInvSet(lllExtractInfo* linfo, llDataParaTypeReal DelRInv);
85 extern void lllDataSeparationInfoxShiftSet(lllExtractInfo* linfo, llDataParaTypeReal xShift);
86 extern void lllExtractWeightSetFollowingllExtractInfo(llData* dst, lllExtractInfo* info, float weight, int mode);
87 /* prototype end */
88
89 #ifdef __cplusplus
90 };
91 #endif
92
93 #endif