OSDN Git Service

Merge branch 'master' of git.sourceforge.jp:/gitroot/eos/hostdependX86MAC64
[eos/base.git] / src / Tools / mrcImage / mrcImageSpatialFrequencyFilter / src / mrcImageSpatialFrequencyFilter.c
1 /*
2 # mrcImageSpatialFrequencyFilter : $Revision$  
3 # $Date$ 
4 # Created by $Author$
5 # Usage : mrcImageSpatialFrequencyFilter
6 # Attention
7 #   $Loccker$
8 #       $State$ 
9 #
10 */
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <string.h>
14 #include <math.h>                  
15 #define GLOBAL_DECLARATION
16 #include "../inc/config.h"
17
18 #undef DEBUG
19 #include "genUtil.h"
20 #include "Memory.h"
21 #include "mrcImage.h"
22 #include "String.h"
23 #include "lmrcImageSpatialFrequencyFilter.h"
24
25 extern void filterFileRead(FILE* fpt, lmrcImageSpatialFrequencyFilterInfo* linfo , int colR, int colW, int mode);
26 int
27 main(int argc, char* argv[]) 
28 {
29         mrcImageSpatialFrequencyFilterInfo info;
30         lmrcImageSpatialFrequencyFilterInfo linfo;
31         mrcImage in;
32         mrcImage out;
33
34         init0(&info);
35     argCheck(&info, argc, argv);
36     init1(&info);
37
38         DEBUGPRINT("Program Start\n");
39         mrcFileRead(&in, info.In, "in main", 0);
40         filterFileRead(info.fptfilterIn, &linfo, info.colR, info.colW, 0);
41
42         linfo.flagH = info.flagHigh;
43         linfo.H = info.High;
44         linfo.flagL = info.flagLow;
45         linfo.L = info.Low;
46
47         DEBUGPRINT("Call lmrcImageSpatialFrequencyFilter\n");
48         lmrcImageSpatialFrequencyFilter(&out, &in, linfo, info.mode);
49
50         DEBUGPRINT("Call mrcFileWrite\n");
51         mrcFileWrite(&out, info.Out, "in main", 0);
52         exit(EXIT_SUCCESS);
53 }
54
55 void
56 additionalUsage()
57 {
58         fprintf(stderr, "----- Additional Usage -----\n");
59 }
60
61 void
62 filterFileRead(FILE* fpt, lmrcImageSpatialFrequencyFilterInfo* linfo , int colR, int colW, int mode)
63 {
64         char s[1024];
65         int count;
66
67         DEBUGPRINT("filterFileRead Start\n");
68         count = 0;
69         fseek(fpt, 0L, SEEK_SET);
70         while(NULL!=stringGetFromFile(s, "in filterFileRead", fpt, stdout, 3)) {
71                 count++;
72         }
73         DEBUGPRINT1("Count: %d\n", count);
74         linfo->nR = count;
75         linfo->R = (double*)memoryAllocate(sizeof(double)*linfo->nR, "in filterFileRead");
76         linfo->W = (double*)memoryAllocate(sizeof(double)*linfo->nR, "in filterFileRead");
77
78         fseek(fpt, 0L, SEEK_SET);
79
80         count=0;
81         while(NULL!=stringGetFromFile(s, "in filterFileRead", fpt, stdout, 3)) {
82                 linfo->R[count] = stringGetNthRealData(s, colR, " \t");
83                 linfo->W[count] = stringGetNthRealData(s, colW, " \t");
84                 DEBUGPRINT2("%f %g\n", linfo->R[count], linfo->W[count]);
85                 count++;
86         }
87         DEBUGPRINT("filterFileRead End\n");
88 }