OSDN Git Service

mrcImageOpticalFlow & mrcImageLucasKanade & mrcImageHornSchunckの変更
[eos/base.git] / src / Tools / rec3d / llExtract / src / argCheck.c
index 67f04b6..718368e 100755 (executable)
@@ -214,3 +214,94 @@ argCheck(llExtractInfo* info, int argc, char* argv[])
                         int j, nv, check, count, nitem;
                         nv    = argc - i - 1;
                         nitem = 8 ;
+                        check = nv%nitem ;
+                        count = nv/nitem ;
+                        if(0!=check) { fprintf(stderr, "Variable Number is strange. The number must be %d-times. nv: %d i\n", nitem, nv); usage(argv[0]); exit(EXIT_FAILURE);} 
+                        info->n = (long*)memoryAllocate(sizeof(long)*count, "in argCheck");
+                        info->l = (long*)memoryAllocate(sizeof(long)*count, "in argCheck");
+                        info->Y = (float*)memoryAllocate(sizeof(float)*count, "in argCheck");
+                        info->leftMin = (float*)memoryAllocate(sizeof(float)*count, "in argCheck");
+                        info->leftMax = (float*)memoryAllocate(sizeof(float)*count, "in argCheck");
+                        info->rightMin = (float*)memoryAllocate(sizeof(float)*count, "in argCheck");
+                        info->rightMax = (float*)memoryAllocate(sizeof(float)*count, "in argCheck");
+                        info->weight = (float*)memoryAllocate(sizeof(float)*count, "in argCheck");
+                        for(j=0; j<count; j++) {
+                            info->n[j] = stringGetNthIntegerData(argv[i+j*nitem+1], 1, " ,");
+                        }
+                        i++;
+                        info->flagn=count;
+                        for(j=0; j<count; j++) {
+                            info->l[j] = stringGetNthIntegerData(argv[i+j*nitem+1], 1, " ,");
+                        }
+                        i++;
+                        info->flagl=count;
+                        for(j=0; j<count; j++) {
+                            info->Y[j] = stringGetNthRealData(argv[i+j*nitem+1], 1, " ,");
+                        }
+                        i++;
+                        info->flagY=count;
+                        for(j=0; j<count; j++) {
+                            info->leftMin[j] = stringGetNthRealData(argv[i+j*nitem+1], 1, " ,");
+                        }
+                        i++;
+                        info->flagleftMin=count;
+                        for(j=0; j<count; j++) {
+                            info->leftMax[j] = stringGetNthRealData(argv[i+j*nitem+1], 1, " ,");
+                        }
+                        i++;
+                        info->flagleftMax=count;
+                        for(j=0; j<count; j++) {
+                            info->rightMin[j] = stringGetNthRealData(argv[i+j*nitem+1], 1, " ,");
+                        }
+                        i++;
+                        info->flagrightMin=count;
+                        for(j=0; j<count; j++) {
+                            info->rightMax[j] = stringGetNthRealData(argv[i+j*nitem+1], 1, " ,");
+                        }
+                        i++;
+                        info->flagrightMax=count;
+                        for(j=0; j<count; j++) {
+                            info->weight[j] = stringGetNthRealData(argv[i+j*nitem+1], 1, " ,");
+                        }
+                        i++;
+                        info->flagweight=count;
+                        }
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("c") {
+                    if(i+1<argc) {
+                        info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagconfigFile++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("h") {
+                    usage(argv[0]);
+                    exit(EXIT_SUCCESS);
+                    break;
+                }
+                SCASE("html") {
+                    htmlBeforeUsage(argv[0]);
+                    usage(argv[0]);
+                    htmlAfterUsage(argv[0]);
+                    exit(EXIT_SUCCESS);
+                    break;
+                }
+                SDEFAULT {
+                    fprintf(stderr, "Not Supported Options: :%s\n", argv[i]);
+                    usage(argv[0]);
+                    exit(EXIT_FAILURE);
+                    break;
+                }
+            SSWITCHEND;
+        } 
+    } 
+}