OSDN Git Service

mrcImageOpticalFlow & mrcImageLucasKanade & mrcImageHornSchunckの変更
[eos/base.git] / src / Tools / mrcImage / mrcImageHornSchunck / 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(mrcImageHornSchunckInfo* 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("i1") {
32                     if(i+1<argc) {
33                         info->In1 = stringGetNthWord(argv[i+1], 1, " ,");
34                         i++;
35                         info->flagIn1++;
36                     } else {
37                         usage(argv[0]);
38                         exit(EXIT_FAILURE);
39                     }
40                     SBREAK;
41                 }
42                 SCASE("i2") {
43                     if(i+1<argc) {
44                         info->In2 = stringGetNthWord(argv[i+1], 1, " ,");
45                         i++;
46                         info->flagIn2++;
47                     } else {
48                         usage(argv[0]);
49                         exit(EXIT_FAILURE);
50                     }
51                     SBREAK;
52                 }
53                 SCASE("i3") {
54                     if(i+1<argc) {
55                         info->In3 = stringGetNthWord(argv[i+1], 1, " ,");
56                         i++;
57                         info->flagIn3++;
58                     } else {
59                         usage(argv[0]);
60                         exit(EXIT_FAILURE);
61                     }
62                     SBREAK;
63                 }
64                 SCASE("o") {
65                     if(i+3<argc) {
66                         info->outU = stringGetNthWord(argv[i+1], 1, " ,");
67                         i++;
68                         info->flagoutU++;
69                         info->outV = stringGetNthWord(argv[i+1], 1, " ,");
70                         i++;
71                         info->flagoutV++;
72                         info->outW = stringGetNthWord(argv[i+1], 1, " ,");
73                         i++;
74                         info->flagoutW++;
75                     } else {
76                         usage(argv[0]);
77                         exit(EXIT_FAILURE);
78                     }
79                     SBREAK;
80                 }
81                 SCASE("oF") {
82                     if(i+4<argc) {
83                         info->OutIx = stringGetNthWord(argv[i+1], 1, " ,");
84                         i++;
85                         info->flagOutIx++;
86                         info->OutIy = stringGetNthWord(argv[i+1], 1, " ,");
87                         i++;
88                         info->flagOutIy++;
89                         info->OutIz = stringGetNthWord(argv[i+1], 1, " ,");
90                         i++;
91                         info->flagOutIz++;
92                         info->OutIt = stringGetNthWord(argv[i+1], 1, " ,");
93                         i++;
94                         info->flagOutIt++;
95                     } else {
96                         usage(argv[0]);
97                         exit(EXIT_FAILURE);
98                     }
99                     SBREAK;
100                 }
101                 SCASE("oSize") {
102                     if(i+1<argc) {
103                         info->Size = stringGetNthWord(argv[i+1], 1, " ,");
104                         i++;
105                         info->flagSize++;
106                     } else {
107                         usage(argv[0]);
108                         exit(EXIT_FAILURE);
109                     }
110                     SBREAK;
111                 }
112                 SCASE("oSize1") {
113                     if(i+1<argc) {
114                         info->Size1 = stringGetNthWord(argv[i+1], 1, " ,");
115                         i++;
116                         info->flagSize1++;
117                     } else {
118                         usage(argv[0]);
119                         exit(EXIT_FAILURE);
120                     }
121                     SBREAK;
122                 }
123                 SCASE("oSize2") {
124                     if(i+1<argc) {
125                         info->Size2 = stringGetNthWord(argv[i+1], 1, " ,");
126                         i++;
127                         info->flagSize2++;
128                     } else {
129                         usage(argv[0]);
130                         exit(EXIT_FAILURE);
131                     }
132                     SBREAK;
133                 }
134                 SCASE("oSize3") {
135                     if(i+1<argc) {
136                         info->Size3 = stringGetNthWord(argv[i+1], 1, " ,");
137                         i++;
138                         info->flagSize3++;
139                     } else {
140                         usage(argv[0]);
141                         exit(EXIT_FAILURE);
142                     }
143                     SBREAK;
144                 }
145                 SCASE("oSize4") {
146                     if(i+1<argc) {
147                         info->Size4 = stringGetNthWord(argv[i+1], 1, " ,");
148                         i++;
149                         info->flagSize4++;
150                     } else {
151                         usage(argv[0]);
152                         exit(EXIT_FAILURE);
153                     }
154                     SBREAK;
155                 }
156                 SCASE("oSize5") {
157                     if(i+1<argc) {
158                         info->Size5 = stringGetNthWord(argv[i+1], 1, " ,");
159                         i++;
160                         info->flagSize5++;
161                     } else {
162                         usage(argv[0]);
163                         exit(EXIT_FAILURE);
164                     }
165                     SBREAK;
166                 }
167                 SCASE("oSize6") {
168                     if(i+1<argc) {
169                         info->Size6 = stringGetNthWord(argv[i+1], 1, " ,");
170                         i++;
171                         info->flagSize6++;
172                     } else {
173                         usage(argv[0]);
174                         exit(EXIT_FAILURE);
175                     }
176                     SBREAK;
177                 }
178                 SCASE("oSize7") {
179                     if(i+1<argc) {
180                         info->Size7 = stringGetNthWord(argv[i+1], 1, " ,");
181                         i++;
182                         info->flagSize7++;
183                     } else {
184                         usage(argv[0]);
185                         exit(EXIT_FAILURE);
186                     }
187                     SBREAK;
188                 }
189                 SCASE("oSize8") {
190                     if(i+1<argc) {
191                         info->Size8 = stringGetNthWord(argv[i+1], 1, " ,");
192                         i++;
193                         info->flagSize8++;
194                     } else {
195                         usage(argv[0]);
196                         exit(EXIT_FAILURE);
197                     }
198                     SBREAK;
199                 }
200                 SCASE("oSize9") {
201                     if(i+1<argc) {
202                         info->Size9 = stringGetNthWord(argv[i+1], 1, " ,");
203                         i++;
204                         info->flagSize9++;
205                     } else {
206                         usage(argv[0]);
207                         exit(EXIT_FAILURE);
208                     }
209                     SBREAK;
210                 }
211                 SCASE("oSize10") {
212                     if(i+1<argc) {
213                         info->Size10 = stringGetNthWord(argv[i+1], 1, " ,");
214                         i++;
215                         info->flagSize10++;
216                     } else {
217                         usage(argv[0]);
218                         exit(EXIT_FAILURE);
219                     }
220                     SBREAK;
221                 }
222                 SCASE("MI") {
223                     if(i+1<argc) {
224                         info->MAX_ITERATIONS = stringGetNthRealData(argv[i+1], 1, " ,");
225                         i++;
226                         info->flagMAX_ITERATIONS++;
227                     } else {
228                         usage(argv[0]);
229                         exit(EXIT_FAILURE);
230                     }
231                     SBREAK;
232                 }
233                 SCASE("a") {
234                     if(i+1<argc) {
235                         info->ALPHA = stringGetNthRealData(argv[i+1], 1, " ,");
236                         i++;
237                         info->flagALPHA++;
238                     } else {
239                         usage(argv[0]);
240                         exit(EXIT_FAILURE);
241                     }
242                     SBREAK;
243                 }
244                 SCASE("oconv") {
245                     if(i+1<argc) {
246                         info->Conv = stringGetNthWord(argv[i+1], 1, " ,");
247                         i++;
248                         info->flagConv++;
249                     } else {
250                         usage(argv[0]);
251                         exit(EXIT_FAILURE);
252                     }
253                     SBREAK;
254                 }
255                 SCASE("oCOMMAND") {
256                     if(i+1<argc) {
257                         info->OutCOMMAND = stringGetNthWord(argv[i+1], 1, " ,");
258                         i++;
259                         info->flagOutCOMMAND++;
260                     } else {
261                         usage(argv[0]);
262                         exit(EXIT_FAILURE);
263                     }
264                     SBREAK;
265                 }
266                 SCASE("oBILD") {
267                     if(i+1<argc) {
268                         info->OutBILD = stringGetNthWord(argv[i+1], 1, " ,");
269                         i++;
270                         info->flagOutBILD++;
271                     } else {
272                         usage(argv[0]);
273                         exit(EXIT_FAILURE);
274                     }
275                     SBREAK;
276                 }
277                 SCASE("bildThresLow") {
278                     if(i+1<argc) {
279                         info->BildThresLow = stringGetNthRealData(argv[i+1], 1, " ,");
280                         i++;
281                         info->flagBildThresLow++;
282                     } else {
283                         usage(argv[0]);
284                         exit(EXIT_FAILURE);
285                     }
286                     SBREAK;
287                 }
288                 SCASE("bildThresHigh") {
289                     if(i+1<argc) {
290                         info->BildThresHigh = stringGetNthRealData(argv[i+1], 1, " ,");
291                         i++;
292                         info->flagBildThresHigh++;
293                     } else {
294                         usage(argv[0]);
295                         exit(EXIT_FAILURE);
296                     }
297                     SBREAK;
298                 }
299                 SCASE("bildRangeLow") {
300                     if(i+1<argc) {
301                         info->BildRangeLow = stringGetNthRealData(argv[i+1], 1, " ,");
302                         i++;
303                         info->flagBildRangeLow++;
304                     } else {
305                         usage(argv[0]);
306                         exit(EXIT_FAILURE);
307                     }
308                     SBREAK;
309                 }
310                 SCASE("bildRangeHigh") {
311                     if(i+1<argc) {
312                         info->BildRangeHigh = stringGetNthRealData(argv[i+1], 1, " ,");
313                         i++;
314                         info->flagBildRangeHigh++;
315                     } else {
316                         usage(argv[0]);
317                         exit(EXIT_FAILURE);
318                     }
319                     SBREAK;
320                 }
321                 SCASE("c") {
322                     if(i+1<argc) {
323                         info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
324                         i++;
325                         info->flagconfigFile++;
326                     } else {
327                         usage(argv[0]);
328                         exit(EXIT_FAILURE);
329                     }
330                     SBREAK;
331                 }
332                 SCASE("m") {
333                     if(i+1<argc) {
334                         info->mode = stringGetNthIntegerData(argv[i+1], 1, " ,");
335                         i++;
336                         info->flagmode++;
337                     } else {
338                         usage(argv[0]);
339                         exit(EXIT_FAILURE);
340                     }
341                     SBREAK;
342                 }
343                 SCASE("h") {
344                     usage(argv[0]);
345                     exit(EXIT_SUCCESS);
346                     break;
347                 }
348                 SCASE("html") {
349                     htmlBeforeUsage(argv[0]);
350                     usage(argv[0]);
351                     htmlAfterUsage(argv[0]);
352                     exit(EXIT_SUCCESS);
353                     break;
354                 }
355                 SDEFAULT {
356                     fprintf(stderr, "Not Supported Options: :%s\n", argv[i]);
357                     usage(argv[0]);
358                     exit(EXIT_FAILURE);
359                     break;
360                 }
361             SSWITCHEND;
362         } 
363     } 
364