OSDN Git Service

Merge branch 'master' of git.sourceforge.jp:/gitroot/eos/base
[eos/hostdependX86LINUX64.git] / include / lmrcImageFourierNeighborCorrelation.h
1 /*
2 # lmrcImageFourierNeighborCorrelation.h : $Revision$  
3 # $Date$ 
4 # Created by $Author$
5 # Usage : lmrcImageFourierNeighborCorrelation.h 
6 # Attention
7 #   $Loccker$
8 #       $State$ 
9 #
10 */
11 /* $Log$ */
12 #ifndef LMRCIMAGE_FOURIER_NEIGHBOR_CORRELATION_H 
13 #define LMRCIMAGE_FOURIER_NEIGHBOR_CORRELATION_H 
14
15 #include <stdio.h>
16 #include "mrcImage.h"
17
18 /* constant begin */
19
20 typedef enum lmrcImageFourierNeighborCorrelationCentreMode {
21         lmrcImageFourierNeighborCorrelationCentreModeCentre = 0,
22         lmrcImageFourierNeighborCorrelationCentreModeBottomLeft = 1, 
23         lmrcImageFourierNeighborCorrelationCentreModeUseStartN = 2 
24 } lmrcImageFourierNeighborCorrelationCentreMode; 
25
26 /* constant end */
27
28 /* struct begin */
29
30 typedef struct lmrcImageFourierNeighborCorrelationInfo {
31         lmrcImageFourierNeighborCorrelationCentreMode flagCentre;
32         mrcPixelDataHowToGet shiftMode;
33         double delta;
34
35         int flagPredictedFSC;
36         mrcImage objMask;  // 1: Object
37         mrcImage backMask; // 1: Background 
38 } lmrcImageFourierNeighborCorrelationInfo;
39
40 typedef struct lmrcImageFourierNeighborCorrelationResult {
41         int     nR;
42         double* R;
43         double* data;
44         int* N;
45         double  FNCF;
46         double  FNCN;
47         double* FNCFs;
48         double* FNCNs;
49         double* SNR; 
50         double* FSC; 
51
52     int flagFSCfull;
53         double* FSCfull;
54
55         int flagCref;
56         double* Cref;
57
58         int flagNoiseWeighted;
59         double  Brestore;
60         double* NoiseWeighted;
61
62 } lmrcImageFourierNeighborCorrelationResult;
63
64 /* struct end */
65
66 #ifdef __cplusplus
67 extern "C" {
68 #endif
69
70 /* prototype begin */
71 extern void
72 lmrcImageFourierNeighborCorrelation(lmrcImageFourierNeighborCorrelationResult* res, 
73         mrcImage* in,
74         lmrcImageFourierNeighborCorrelationInfo linfo, int mode);
75
76 extern void
77 lmrcImageFourierNeighborCorrelationPrint(FILE* fpt,
78         lmrcImageFourierNeighborCorrelationResult* res, 
79         lmrcImageFourierNeighborCorrelationInfo linfo, int mode);
80
81 extern void
82 lmrcImageFourierNeighborCorrelationPrintCentreMode(FILE* fpt);
83 /* prototype end */
84
85 #ifdef __cplusplus
86 };
87 #endif
88
89 #endif  /* LMRCIMAGE_FOURIER_NEIGHBOR_CORRELATION_H */