OSDN Git Service

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