2 # ctfDeterminationByBayes : $Revision$
5 # Usage : ctfDeterminationByBayes
15 #define GLOBAL_DECLARATION
16 #include "../inc/config.h"
19 #include "ctffuncforbayes.h"
24 #include "ctfDeterminationByBayes.h"
29 typedef struct lctfDeterminationByBayesInfo {
32 } lctfDeterminationByBayesInfo;
34 typedef enum lctfDeterminationByBayesMode {
37 } lctfDeterminationByBayesMode;
41 main(int argc, char* argv[])
44 ctfDeterminationByBayesInfo info;
46 eosBayesDistributionInfo llinfo;
53 argCheck(&info, argc, argv);
56 DEBUGPRINT("Program Start\n");
61 leosBayesInit(&out, info.numDistribution, info.numLikelihood, info.mode);
62 eosBayesCondition(info.fptIn, &out, &llinfo, 0);
63 eosBayesPriorWrite(info.fptOut2, &out,0);
64 DistributionChangeCheck(&out, 0);
67 ctfforbayesInit(info.fptIn2,&ctf,0);
68 spatialfrequencyRead(info.fptIn2,&ctf,0);
69 ctfInfoRead(info.fptIn3,&ctfinfo,"",0);
70 DEBUGPRINT4("kV:%f Cs:%f Ain:%f ctfMode:%d\n",ctfinfo.kV,ctfinfo.Cs,ctfinfo.Ain,ctfinfo.mode);
71 DEBUGPRINT1("flagIn4:%d\n",info.flagIn4);
74 /*defocus estimation*/
75 for(i=0;i<info.flagIn4;i++){
77 IntensityRead(info.In4[i],&ctf,0);
79 DEBUGPRINT("ctf start\n");
80 ctfFunctionforbayes(&ctf,out.likelihood,&ctfinfo,out.numLikelihood,i,0);
82 DEBUGPRINT("likelihood start\n");
84 defocuslikelihood(ctf,&out,i,0);
85 LikelihoodChangeCheck(&out,i,0);
87 DEBUGPRINT("estimate start\n");
88 eosBayesEstimation(&out,0);
90 DistributionChangeCheck(&out,1);
92 DEBUGPRINT("change start\n");
93 eosBayesPosteriortoPrior(&out,0);
94 DEBUGPRINT("loop end\n");
98 eosBayesPriorWrite(info.fptOut,&out,0);
106 fprintf(stderr, "----- Additional Usage -----\n");