OSDN Git Service

cec15fd377d504b4387c9e99160768af0248b0c8
[eos/optional.git] / doc / Objects / llData.html
1 <H4> Update Time 02/03/13---05:38:45 </H4>
2 <H2> API(Application Interface)</H2>
3 <UL>
4         <LI> llDataFileRead
5                 <DD> llDataFileRead( <BR>
6                 FILE* fptIn, <BR>
7                 llData* llDataIn, <BR>
8                 llDataParaTypeInteger* status<BR>
9                 )
10         <LI> llDataFileWrite
11                 <DD> llDataFileRead( <BR>
12                 FILE* fptIn, <BR>
13                 llData* llDataIn, <BR>
14                 llDataParaTypeInteger* status<BR>
15                 )
16                             
17 </UL>
18 <HR>
19 <A NAME="Information">
20 <H2>Information from source codes</H2>
21 </A>
22 <PRE>
23 ../src/llDataCheck.c:
24
25 ../src/llDataETC.c:
26
27 ../src/llDataError.c:
28
29 ../src/llDataGet.c:
30
31 ../src/llDataInfo.c:
32
33 ../src/llDataInit.c:
34
35 ../src/llDataIntensityInformationGet.c:
36
37 ../src/llDataPVM.c:
38
39 ../src/llDataRead.c:
40
41 ../src/llDataSet.c:
42
43 ../src/llDataUtil.c:
44
45 ../src/llDataWrite.c:
46
47 ../src/lll2ltlg.c:
48
49 ../src/lllDataAdd.c:
50
51 ../src/lllDataAverage.c:
52
53 ../src/lllDataAvgTo.c:
54
55 ../src/lllDataAxisSearch.c:
56
57 ../src/lllDataAxisSearch2.c:
58
59 ../src/lllDataAxisSearchAndAverage.c:
60
61 ../src/lllDataCTFCompensate.c:
62
63 ../src/lllDataCTFObservation.c:
64
65 ../src/lllDataCompare.c:
66
67 ../src/lllDataContributionCalcDifferentN.c:
68
69 ../src/lllDataDifferenceCalc.c:
70
71 ../src/lllDataEquatorAdd.c:
72
73 ../src/lllDataExtract.c:
74
75 ../src/lllDataFit.c:
76
77 ../src/lllDataFit2.c:
78
79 ../src/lllDataFitAndAverage.c:
80
81 ../src/lllDataFitMergedLL.c:
82
83 ../src/lllDataFitOut.c:
84
85 ../src/lllDataFitParamInverse.c:
86
87 ../src/lllDataFitUtil.c:
88
89 ../src/lllDataFitUtilPVM.c:
90
91 ../src/lllDataInterpolate.c:
92
93 ../src/lllDataLowPassFiltering.c:
94
95 ../src/lllDataMergeDifferentN.c:
96
97 ../src/lllDataMultiCTFCompensation.c:
98
99 ../src/lllDataPhaseShift.c:
100
101 ../src/lllDataPrint.c:
102
103 ../src/lllDataRescaling.c:
104
105 ../src/lllDataSingleCTFCompensation.c:
106
107 ../src/lllDataWeightSet.c:
108
109 ../src/lllDatarMaxLimit.c:
110 </PRE>
111 <HR>
112 <A NAME="include">
113 <H2>llData.h</H2>
114 </A>
115 <PRE>
116 /*
117 # %M% %Y% %I%
118 # The latest update : %G% at %U%
119 #
120 #%Z% llData.h ver %I%
121 #%Z% Created by 
122 #%Z%
123 #%Z% Usage : llData.h 
124 #%Z% Attention
125 #%Z%
126 *       Edited by tacyas@tkyemg
127 *       1992.10.24-
128 */    
129
130 #ifndef LL_DATA_H
131 #define LL_DATA_H
132
133 #include <stdio.h>
134 #include <math.h>
135 #include "ctfInfo.h"
136
137 /* constant begin */
138 typedef unsigned int llDataStatusType;
139
140 #define llDataStatusOK          ((llDataStatusType)0x00000000)
141
142 /* ReferFile */
143 #define llDataCanNotReadFile    ((llDataStatusType)0x00010000);
144 #define llDataCanNotWriteFile   ((llDataStatusType)0x00010001);
145
146
147 #ifdef __LLDATAINIT__ 
148 char* llDataErrorMsgReferFile[] = {
149     "File Pointer ",
150     ""
151 };
152
153 char* llDataReferenceData[] = {
154 "Amos,L.A. & Klug,A. J.Mol.Biol(1975),99,51-73",
155 "  Three-dimensional Image Reconstructions of the Contractile Tail of T4 Bacteriophage",
156 "  Appendix: Combination of Data from Helical Particles : Correlation and Selection",
157 "              Amos,L.A",
158 "              delta(theta)= -n*delta(phi) + 2*PI*Z*delta(z)",
159 "                Klug,A. Crick,A., F.H.C. & Wyckoff,H.W. Acta Crystallogr.sect.(1958),11,199-213",
160 NULL
161 }; 
162
163 #else
164 extern char* llDataErrorMsgReferFile[];
165 extern char* llDataReferenceData[]; 
166 #endif
167
168 #define DefaultStringLength (256)
169 #define NearSide    (0)
170 #define FarSide     (1)
171 #define AverageSide (2)
172 #define SidePosition (14)
173 #define CommentLength  (80)
174 #define WeightPosition (SidePosition+4+CommentLength)
175 #define NNPosition     (WeightPosition+12)
176 #define NLPosition     (NNPosition+5)
177 #define LLDataFormat  "%12.5e%12.5e%12.5e\n"
178 #define LLDataFormat0 "%12.5e%12.5e%12.5e"
179 #define LLDataFormat1 "%12.5e %12.5e %12.5e"
180 #define RRPosition     (0)
181 #define FPosition      (RRPosition+12)
182 #define PHIPosition    (FPosition +12)
183
184
185 #define PVALUE_MODE  (0x01)
186 #define QVALUE_MODE  (0x02)
187 #define RVALUE_MODE  (0x04)
188 #define Q2VALUE_MODE (0x08)
189
190 typedef int   llDataParaTypeInteger;
191 typedef float llDataParaTypeReal;
192 typedef enum llDataPole {
193         llDataPoleNormal = 0,
194         llDataPoleAnti   = 1
195 } llDataPole;
196
197 typedef enum llDataMode {
198     llDataModeMemoryNotAllocate = 0, 
199     llDataModeMemoryAllocate = 1
200 } llDataMode;
201 /* contant end */
202
203 /* struct begin */
204
205 typedef struct llComplex {
206     llDataParaTypeReal      R;  /* Spherical R */ 
207     llDataParaTypeReal      RR; /* Radial R    */ 
208     llDataParaTypeReal      F;  /* F*exp(PHI)  */
209     llDataParaTypeReal      PHI;
210     llDataParaTypeReal      Re; /* Re + i * Im */
211     llDataParaTypeReal      Im;
212 } llComplex;
213
214 typedef struct oneLLData {
215     char                                        Head[DefaultStringLength]; /* Comment */
216         llDataParaTypeReal      Weight;  /* Weight of This Layer Line */
217     llDataParaTypeInteger   nn;      /* The [n] dim. Bessel function */
218     llDataParaTypeInteger   nl;      /* The [l]th layer line  */
219     llDataParaTypeInteger   nm;      /* [l] = t*[n]+s*[m] */
220     llComplex*              data;    /* Layer line data */
221         llDataParaTypeInteger   Side;    /* Near/Far Side/Average */
222     llDataParaTypeInteger   nR;      /* Number of layer line data */
223
224         llDataParaTypeReal     Z;   
225         llDataParaTypeInteger iZ;
226         llDataParaTypeReal     RMin; /* Radial R Info */
227         llDataParaTypeInteger iRMin;
228         llDataParaTypeReal     RMax;
229         llDataParaTypeInteger iRMax;
230         llDataParaTypeReal    delBR;
231         llDataParaTypeReal    Fmax;  /* Fmax */
232     long dummy;
233 } oneLLData;
234
235 typedef struct llData {
236     llDataMode            mode;
237     llDataParaTypeInteger llMax;
238     llDataParaTypeInteger nRMax;
239     llDataParaTypeReal    truePitch;
240     llDataParaTypeReal    Weight;
241     llDataParaTypeReal    rScale;
242         llDataPole            Pole;
243         llDataParaTypeReal    Side;
244         llDataParaTypeInteger RRInfoSet;
245         llDataParaTypeInteger FmaxSet;
246         llDataParaTypeInteger RValueSet;
247         llDataParaTypeInteger ZValueSet;
248     oneLLData* LL;
249 } llData;
250
251 typedef struct llDataBoth {
252         llData Nea;
253         llData Far;
254 } llDataBoth;
255
256 typedef struct llDataAttributes {
257     llDataMode            mode;
258     llDataParaTypeInteger llMax;
259     llDataParaTypeInteger nRMax;
260     llDataParaTypeReal    truePitch;
261     llDataParaTypeReal    Weight;
262     llDataParaTypeReal    rScale;
263         llDataPole            Pole;
264         llDataParaTypeReal    Side;
265     oneLLData* LL;
266 } llDataAttributes;
267
268 /* in llDataIntensityInformationGet.c */
269 typedef struct onelllDataIntensityInformation {
270         int LL;
271         int n;
272         int l;
273         int flagI;
274         double I;
275         int flagPeak;
276         double Peak;
277 } onelllDataIntensityInformation;
278
279 typedef struct lllDataIntensityInformation {
280         onelllDataIntensityInformation* onedata;
281     llDataParaTypeInteger llMax;
282 } lllDataIntensityInformation;
283
284 /* struct end */
285
286
287 /* prototype begin */
288 #ifdef __cplusplus
289 extern "C" {
290 #endif
291
292 /* in llDataRead.c */
293 extern void llDataFileRead(FILE* fpt, llData* ll, llDataParaTypeInteger* status);
294 extern void llDataFileReadFollowingllData(FILE* fpt, llData* ll, llData* Ref, llDataParaTypeInteger* status);
295 extern void llDataFileReadFollowingAttributes(FILE* fpt, llData* ll, llDataAttributes* attr, llDataParaTypeInteger* status);
296
297 /* in llDataWrite.c */
298 extern void llDataFileWrite(FILE* fpt, llData* ll, llDataParaTypeInteger* status);
299
300 /* in llDataInit.c */
301 extern void llDataInit(llData* ll);
302 extern void llDataInitWithReference(llData* ll, llData* ref);
303 extern void llDataInitWithReference2(llData* ll, llData* ref, int side);
304 extern void llDataHeaderInit(llData* ll);
305 extern void llDataDataInit(llData* ll);
306 extern void llDataFree(llData* ll);
307 extern void llDataHeaderFree(llData* ll);
308 extern void llDataDataFree(llData* ll);
309
310 /* in llDataInfo.c */
311 extern void llDataInfoPrint(FILE* fpt, llData* ll, long WhichLayer, long WhatInfo);
312 extern void llDataInfoPrintUsage(FILE* fpt);
313
314 /* in llDataUtil.c */
315 extern void llDataRValueSet(llData* dst, int mode);
316 extern void llDataFmaxSet(llData* dst, int mode);
317 extern void llDataZValueSet(llData* dst, int mode);
318
319 extern llDataParaTypeInteger* llDataTableBetweenTwollDataCreate(llData* ll1, llData* ll2, int mode);
320
321 extern inline llDataParaTypeReal nearSidePhaseGet(llDataParaTypeReal phase, 
322     llDataParaTypeInteger nn, 
323     llDataParaTypeInteger side, 
324     llDataParaTypeInteger pole);
325 extern inline llDataParaTypeReal farSidePhaseGet(llDataParaTypeReal phase, 
326     llDataParaTypeInteger nn, 
327     llDataParaTypeInteger side, 
328     llDataParaTypeInteger pole);
329 extern void lllDataAttributeCopy(llData* ll1, llData* ll2);
330 extern void lllDataHeaderCopy(llData* ll1, llData* ll2);
331 extern void lllDataCopy(llData* ll1, llData* ll2);
332 extern void lllDataClear(llData* ll1);
333 extern void lllDataMul(llData* ll1, llData* ll2);
334 extern void lllDataPoleSet(llData* ll1, llDataPole pole);
335 extern void lllDataSideSet(llData* ll1, llDataParaTypeInteger Side);
336 extern void lllDataMultiplyReal(llData* ll1, llDataParaTypeReal f);
337 extern void lllDataDevidedByReal(llData* ll1, llDataParaTypeReal f);
338
339 /* in lllDataAdd.c */
340 extern void lllDataAdd(llData* ll1, llData* ll2);
341 extern void lllDataAdd2(llData* ll, llData* ll1, llData* ll2);
342
343 /* in lllDataAvgTo */
344 extern void lllDataAvgTo(llData* dst, llData* src, llDataParaTypeInteger Side);
345 extern void lllDataAvgToNea(llData* nea, llData* avg);
346 extern void lllDataAvgToFar(llData* far, llData* avg);
347
348 /* lllDataWeightSet.c */
349 extern void lllDataWeightSet(FILE* fpt, llData* ll, llDataParaTypeReal w, long mode); 
350                                         /* FILE FORMAT 
351                                            nn nl weight
352                                            ............
353                                            Mode 0: llData.LL[].Weight = 0 without Definition 
354                                         */
355
356 /* llDataGet.c */
357 extern inline long llDataValueGet(llData* ll, long l, double R, double* re, double *im);
358 extern inline long llDataValueGet2(llData* ll, long nn, long nl, double R, double* re, double *im);
359 extern long llDataLayerNumberGet(llData* ll, long n, long l);
360 extern long llDataNLNumberGet(llData* ll);
361
362 /* llDataSet.c */
363 extern void llDataFandPHISet(llData* ll);
364 extern void llDataReAndImSet(llData* ll);
365 extern void llDataRRSet(llData* ll);
366 extern void llDataRRInfoSet(llData* ll);
367 extern void llDataAttributesSet2(llData* dst, llData* src);
368
369 /* llDataCheck.c */
370 extern long llDataSizeCheck(llData* ll1, llData* ll2, char* message);
371
372 /* in llDataIntensityInformationGet.c */
373 extern void lllDataIntensityInformationGet(llData* in, lllDataIntensityInformation* data, int mode);
374
375 /* in llDataError.h */
376 extern void llDataError(char* s);
377 extern void llDataErrorMessage(void);
378
379 #ifdef __cplusplus
380 };
381 #endif
382
383 /* prototype end */
384
385 #endif /* LL_DATA_H */ 
386
387 </PRE>