OSDN Git Service

Please enter the commit message for your changes. Lines starting
[eos/base.git] / src / Tools / mrcImage / mrcImageSeriesNormalizing / src / argCheck.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <math.h>
5 #include "../inc/config.h"
6 #include "genUtil.h"
7 #include "eosString.h"
8 #include "File.h"
9 #include "Memory.h"
10
11
12 void
13 argCheck(mrcImageSeriesNormalizingInfo* info, int argc, char* argv[])
14 {
15     long i;
16     char s[1024];
17     FILE* fpt;
18     
19     if(NULL==(fpt=fopen(".EosLog", "a+"))) { 
20         
21     } else {
22         for(i=0; i<argc; i++) {
23             fprintf(fpt, "%s ", argv[i]);
24         }
25         fprintf(fpt, "\n");
26         fclose(fpt);
27     }
28     for(i=1; i<argc; i++) {
29         if(OPTION_FLAG==argv[i][OPTION_FLAG_POS]) {
30             SSWITCH(argv[i]+OPTION_POS)
31                 SCASE("i") {
32                     if(i+1<argc) {
33                         info->InList = stringGetNthWord(argv[i+1], 1, " ,");
34                         i++;
35                         info->flagIn++;
36                     } else {
37                         usage(argv[0]);
38                         exit(EXIT_FAILURE);
39                     }
40                     SBREAK;
41                 }
42                 SCASE("o") {
43                     if(i+1<argc) {
44                         info->OutList = stringGetNthWord(argv[i+1], 1, " ,");
45                         i++;
46                         info->flagOut++;
47                     } else {
48                         usage(argv[0]);
49                         exit(EXIT_FAILURE);
50                     }
51                     SBREAK;
52                 }
53                 SCASE("param") {
54                     if(i+1<argc) {
55                         info->Param = stringGetNthWord(argv[i+1], 1, " ,");
56                         i++;
57                         info->flagParam++;
58                     } else {
59                         usage(argv[0]);
60                         exit(EXIT_FAILURE);
61                     }
62                     SBREAK;
63                 }
64                 SCASE("Low") {
65                     if(i+1<argc) {
66                         info->thresOfLowValueArea = stringGetNthRealData(argv[i+1], 1, " ,");
67                         i++;
68                         info->flagthresOfLowValueArea++;
69                     } else {
70                         usage(argv[0]);
71                         exit(EXIT_FAILURE);
72                     }
73                     SBREAK;
74                 }
75                 SCASE("High") {
76                     if(i+1<argc) {
77                         info->thresOfHighValueArea = stringGetNthRealData(argv[i+1], 1, " ,");
78                         i++;
79                         info->flagthresOfHighValueArea++;
80                     } else {
81                         usage(argv[0]);
82                         exit(EXIT_FAILURE);
83                     }
84                     SBREAK;
85                 }
86                 SCASE("L") {
87                     if(i+1<argc) {
88                         info->Low = stringGetNthRealData(argv[i+1], 1, " ,");
89                         i++;
90                         info->flagLow++;
91                     } else {
92                         usage(argv[0]);
93                         exit(EXIT_FAILURE);
94                     }
95                     SBREAK;
96                 }
97                 SCASE("H") {
98                     if(i+1<argc) {
99                         info->High = stringGetNthRealData(argv[i+1], 1, " ,");
100                         i++;
101                         info->flagHigh++;
102                     } else {
103                         usage(argv[0]);
104                         exit(EXIT_FAILURE);
105                     }
106                     SBREAK;
107                 }
108                 SCASE("LowExp") {
109                     if(i+3<argc) {
110                         info->ALow = stringGetNthRealData(argv[i+1], 1, " ,");
111                         i++;
112                         info->flagALow++;
113                         info->KLow = stringGetNthRealData(argv[i+1], 1, " ,");
114                         i++;
115                         info->flagKLow++;
116                         info->BLow = stringGetNthRealData(argv[i+1], 1, " ,");
117                         i++;
118                         info->flagBLow++;
119                     } else {
120                         usage(argv[0]);
121                         exit(EXIT_FAILURE);
122                     }
123                     SBREAK;
124                 }
125                 SCASE("HighExp") {
126                     if(i+3<argc) {
127                         info->AHigh = stringGetNthRealData(argv[i+1], 1, " ,");
128                         i++;
129                         info->flagAHigh++;
130                         info->KHigh = stringGetNthRealData(argv[i+1], 1, " ,");
131                         i++;
132                         info->flagKHigh++;
133                         info->BHigh = stringGetNthRealData(argv[i+1], 1, " ,");
134                         i++;
135                         info->flagBHigh++;
136                     } else {
137                         usage(argv[0]);
138                         exit(EXIT_FAILURE);
139                     }
140                     SBREAK;
141                 }
142                 SCASE("maxIter") {
143                     if(i+1<argc) {
144                         info->maxIter = stringGetNthIntegerData(argv[i+1], 1, " ,");
145                         i++;
146                         info->flagmaxIter++;
147                     } else {
148                         usage(argv[0]);
149                         exit(EXIT_FAILURE);
150                     }
151                     SBREAK;
152                 }
153                 SCASE("xtol") {
154                     if(i+1<argc) {
155                         info->xtol = stringGetNthRealData(argv[i+1], 1, " ,");
156                         i++;
157                         info->flagxtol++;
158                     } else {
159                         usage(argv[0]);
160                         exit(EXIT_FAILURE);
161                     }
162                     SBREAK;
163                 }
164                 SCASE("gtol") {
165                     if(i+1<argc) {
166                         info->gtol = stringGetNthRealData(argv[i+1], 1, " ,");
167                         i++;
168                         info->flaggtol++;
169                     } else {
170                         usage(argv[0]);
171                         exit(EXIT_FAILURE);
172                     }
173                     SBREAK;
174                 }
175                 SCASE("ftol") {
176                     if(i+1<argc) {
177                         info->ftol = stringGetNthRealData(argv[i+1], 1, " ,");
178                         i++;
179                         info->flagftol++;
180                     } else {
181                         usage(argv[0]);
182                         exit(EXIT_FAILURE);
183                     }
184                     SBREAK;
185                 }
186                 SCASE("c") {
187                     if(i+1<argc) {
188                         info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
189                         i++;
190                         info->flagconfigFile++;
191                     } else {
192                         usage(argv[0]);
193                         exit(EXIT_FAILURE);
194                     }
195                     SBREAK;
196                 }
197                 SCASE("m") {
198                     if(i+1<argc) {
199                         info->mode = stringGetNthIntegerData(argv[i+1], 1, " ,");
200                         i++;
201                         info->flagmode++;
202                     } else {
203                         usage(argv[0]);
204                         exit(EXIT_FAILURE);
205                     }
206                     SBREAK;
207                 }
208                 SCASE("h") {
209                     usage(argv[0]);
210                     exit(EXIT_SUCCESS);
211                     break;
212                 }
213                 SCASE("html") {
214                     htmlBeforeUsage(argv[0]);
215                     usage(argv[0]);
216                     htmlAfterUsage(argv[0]);
217                     exit(EXIT_SUCCESS);
218                     break;
219                 }
220                 SDEFAULT {
221                     fprintf(stderr, "Not Supported Options: :%s\n", argv[i]);
222                     usage(argv[0]);
223                     exit(EXIT_FAILURE);
224                     break;
225                 }
226             SSWITCHEND;
227         } 
228     } 
229