Esempio n. 1
0
/* --------------------------------------------- */
static int parse_commandline(int argc, char **argv) {
  int  nargc , nargsused;
  char **pargv, *option ;

  if (argc < 1) usage_exit();

  nargc   = argc;
  pargv = argv;
  while (nargc > 0) {

    option = pargv[0];
    if (debug) printf("%d %s\n",nargc,option);
    nargc -= 1;
    pargv += 1;

    nargsused = 0;

    if (!strcasecmp(option, "--help"))  print_help() ;
    else if (!strcasecmp(option, "--version")) print_version() ;
    else if (!strcasecmp(option, "--debug"))   debug = 1;
    else if (!strcmp(option, "--s")) {
      if (nargc < 1) argnerr(option,1);
      subject = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--wmseg")) {
      if (nargc < 1) argnerr(option,1);
      WMSegFile = pargv[0];
      nargsused = 1;
    } else {
      fprintf(stderr,"ERROR: Option %s unknown\n",option);
      if (singledash(option))
        fprintf(stderr,"       Did you really mean -%s ?\n",option);
      exit(-1);
    }
    nargc -= nargsused;
    pargv += nargsused;
  }
  return(0);
}
Esempio n. 2
0
/* --------------------------------------------- */
static int parse_commandline(int argc, char **argv)
{
    int  nargc , nargsused;
    char **pargv, *option ;

    if (argc < 1)
    {
        usage_exit();
    }

    nargc   = argc;
    pargv = argv;
    while (nargc > 0)
    {
        option = pargv[0];
        if (debug)
        {
            printf("%d %s\n",nargc,option);
        }
        nargc -= 1;
        pargv += 1;

        nargsused = 0;

        if (!strcasecmp(option, "--help")||
                !strcasecmp(option, "-h")||
                !strcasecmp(option, "--usage")||
                !strcasecmp(option, "-u"))
        {
            print_help() ;
        }
        else if (!strcasecmp(option, "--version"))
        {
            print_version() ;
        }
        else if (!strcasecmp(option, "--debug"))
        {
            debug = 1;
        }
        // This was --ribbon, but changed to --old-ribbon 4/17/08 DNG
        else if (!strcasecmp(option, "--old-ribbon"))
        {
            UseRibbon = 1;
            UseNewRibbon = 0;
        }
        else if (!strcasecmp(option, "--volmask") ||
                 !strcasecmp(option, "--new-ribbon"))
        {
            UseNewRibbon = 1;
        }
        else if (!strcasecmp(option, "--noribbon"))
        {
            UseRibbon = 0;
            UseNewRibbon = 0;
        }
        else if (!strcasecmp(option, "--labelwm"))
        {
            LabelWM = 1;
        }
        else if (!strcasecmp(option, "--fix-parahipwm"))
        {
            FixParaHipWM = 1;
        }
        else if (!strcasecmp(option, "--no-fix-parahipwm"))
        {
            FixParaHipWM = 0;
        }
        else if (!strcasecmp(option, "--hypo-as-wm"))
        {
            LabelHypoAsWM = 1;
        }
        else if (!strcasecmp(option, "--rip-unknown"))
        {
            RipUnknown = 1;
        }
        else if (!strcasecmp(option, "--no-hash"))
        {
            UseHash = 0;
        }
        else if (!strcmp(option, "--sd"))
        {
            if (nargc < 1)
            {
                argnerr(option,1);
            }
            SUBJECTS_DIR = pargv[0];
            setenv("SUBJECTS_DIR",SUBJECTS_DIR,1);
            nargsused = 1;
        }
        else if (!strcmp(option, "--s"))
        {
            if (nargc < 1)
            {
                argnerr(option,1);
            }
            subject = pargv[0];
            nargsused = 1;
        }
        else if (!strcmp(option, "--oaseg") || !strcmp(option, "--o"))
        {
            if (nargc < 1)
            {
                argnerr(option,1);
            }
            OutASegFile = pargv[0];
            nargsused = 1;
        }
        else if (!strcmp(option, "--a2005s"))
        {
            annotname = "aparc.a2005s";
            baseoffset = 100;
        }
        else if (!strcmp(option, "--a2009s"))
        {
            annotname = "aparc.a2009s";
            baseoffset = 10100;
        }
        else if (!strcmp(option, "--annot"))
        {
            if (nargc < 1)
            {
                argnerr(option,1);
            }
            annotname = pargv[0];
            nargsused = 1;
        }
        else if (!strcmp(option, "--annot-table"))
        {
            if (nargc < 1)
            {
                argnerr(option,1);
            }
            // annotation_table_file is declared in annotation.h
            // default is $FREESURFER_HOME/Simple_surface_labels2009.txt
            annotation_table_file = pargv[0];
            nargsused = 1;
        }
        else if (!strcmp(option, "--oaparc"))
        {
            if (nargc < 1)
            {
                argnerr(option,1);
            }
            OutAParcFile = pargv[0];
            nargsused = 1;
        }
        else if (!strcmp(option, "--ctxseg"))
        {
            if (nargc < 1)
            {
                argnerr(option,1);
            }
            CtxSegFile = pargv[0];
            nargsused = 1;
        }
        else if (!strcmp(option, "--dist"))
        {
            if (nargc < 1)
            {
                argnerr(option,1);
            }
            OutDistFile = pargv[0];
            nargsused = 1;
        }
        else if (!strcmp(option, "--hashres"))
        {
            if (nargc < 1)
            {
                argnerr(option,1);
            }
            sscanf(pargv[0],"%f",&hashres);
            nargsused = 1;
        }
        else if (!strcmp(option, "--wmparc-dmax"))
        {
            if (nargc < 1)
            {
                argnerr(option,1);
            }
            sscanf(pargv[0],"%f",&dmaxctx);
            nargsused = 1;
        }
        else if (!strcmp(option, "--crs-test"))
        {
            if (nargc < 3)
            {
                argnerr(option,3);
            }
            sscanf(pargv[0],"%d",&ctest);
            sscanf(pargv[1],"%d",&rtest);
            sscanf(pargv[2],"%d",&stest);
            crsTest = 1;
            nargsused = 3;
        }
        else
        {
            fprintf(stderr,"ERROR: Option %s unknown\n",option);
            if (singledash(option))
            {
                fprintf(stderr,"       Did you really mean -%s ?\n",option);
            }
            exit(-1);
        }
        nargc -= nargsused;
        pargv += nargsused;
    }
    return(0);
}
Esempio n. 3
0
/* ------------------------------------------------------------------ */
static int parse_commandline(int argc, char **argv) {
  int  nargc , nargsused;
  char **pargv, *option ;
  DVT *dvttmp;
  float ftmp[2000];

  if (argc < 1) usage_exit();

  nargc   = argc;
  pargv = argv;
  while (nargc > 0) {

    option = pargv[0];
    if (debug) printf("%d %s\n",nargc,option);
    nargc -= 1;
    pargv += 1;

    nargsused = 0;

    if (!strcasecmp(option, "--help"))  print_help() ;
    else if (!strcasecmp(option, "--version")) print_version() ;
    else if (!strcasecmp(option, "--debug"))   debug = 1;
    else if (!strcasecmp(option, "--keepid"))  KeepSubjId = 1;

    else if (!strcmp(option, "--gdf")) {
      if (nargc < 1) argnerr(option,1);
      GDFile = pargv[0];
      fsgd0 = gdfRead(GDFile,0);
      if (fsgd0 == NULL) exit(1);
      nargsused = 1;
    } else if (!strcmp(option, "--dvt")) {
      if (nargc < 1) argnerr(option,1);
      DVTFile = pargv[0];
      dvttmp = DVTread(DVTFile);
      dvt0 = DVTtranspose(dvttmp);
      DVTfree(&dvttmp);
      nargsused = 1;
    } else if (!strcmp(option, "--classes")) {
      if (nargc < 1) argnerr(option,1);
      while (nth_is_arg(nargc, pargv,  nargsused)) {
        ClassList[nClassList] = pargv[nargsused];
        nClassList++;
        nargsused++;
      }
    } else if (!strcmp(option, "--covar")) {
      if (nargc < 1) argnerr(option,1);
      while (nth_is_arg(nargc, pargv, nargsused)) {
        CovarList[nCovarList] = pargv[nargsused];
        nCovarList++;
        nargsused++;
      }
    } else if (!strcmp(option, "--covarprune")) {
      if (nargc < 3) argnerr(option,3);
      CovarPrune[nCovarPrune].Covar = pargv[0];
      sscanf(pargv[1],"%f",&CovarPrune[nCovarPrune].Min);
      sscanf(pargv[2],"%f",&CovarPrune[nCovarPrune].Max);
      if (CovarPrune[nCovarPrune].Min > CovarPrune[nCovarPrune].Max) {
        printf("ERROR: covarprune min > max\n");
        exit(1);
      }
      nCovarPrune++;
      nargsused = 3;
    } else if (!strcmp(option, "--depvar")) {
      if (nargc < 1) argnerr(option,1);
      while (nth_is_arg(nargc, pargv, nargsused)) {
        DepVarList[nDepVarList] = pargv[nargsused];
        nDepVarList++;
        nargsused++;
      }
    } else if (!strcmp(option, "--wdepvar")) {
      if (nargc < 1) argnerr(option,1);
      while (nth_is_arg(nargc, pargv, nargsused)) {
        sscanf(pargv[nargsused],"%f",&ftmp[nwDepVar]);
        nwDepVar++;
        nargsused++;
      }
      wDepVar = (float *)calloc(sizeof(float),nwDepVar);
      memmove(wDepVar,ftmp,sizeof(float)*nwDepVar);
    } else if (!strcmp(option, "--wlms")) {
      if (nargc < 1) argnerr(option,1);
      WLMSDepVar = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--wclass")) {
      if (nargc < 1) argnerr(option,1);
      while (nth_is_arg(nargc, pargv, nargsused)) {
        sscanf(pargv[nargsused],"%f",&ftmp[nwClass]);
        nwClass++;
        nargsused++;
      }
      wClass = (float *)calloc(sizeof(float),nwClass);
      memmove(wClass,ftmp,sizeof(float)*nwClass);
    } else if (!strcmp(option, "--wcovar")) {
      if (nargc < 1) argnerr(option,1);
      while (nth_is_arg(nargc, pargv, nargsused)) {
        sscanf(pargv[nargsused],"%f",&ftmp[nwCovar]);
        nwCovar++;
        nargsused++;
      }
      wCovar = (float *)calloc(sizeof(float),nwCovar+1);
      memmove(&wCovar[1],ftmp,sizeof(float)*nwCovar);
      wCovar[0] = 0.0;
      //Note: the first weight is for offset
    } else if (!strcmp(option, "--testoffset")) TestOffset = 1;

    else if (!strcmp(option, "--o")) {
      if (nargc < 1) argnerr(option,1);
      OutBase = pargv[0];
      nargsused = 1;
    } else {
      fprintf(stderr,"ERROR: Option %s unknown\n",option);
      if (singledash(option))
        fprintf(stderr,"       Did you really mean -%s ?\n",option);
      exit(-1);
    }
    nargc -= nargsused;
    pargv += nargsused;
  }
  return(0);
}
Esempio n. 4
0
/* ------------------------------------------------------------------ */
static int parse_commandline(int argc, char **argv) {
  int  i, nargc , nargsused;
  char **pargv, *option ;
  char tmpstr[1000];

  if (argc < 1) usage_exit();

  nargc   = argc;
  pargv = argv;
  while (nargc > 0) {

    option = pargv[0];
    if (debug) printf("%d %s\n",nargc,option);
    nargc -= 1;
    pargv += 1;

    nargsused = 0;

    if (!strcasecmp(option, "--help"))           print_help() ;
    else if (!strcasecmp(option, "--version"))   print_version() ;
    else if (!strcasecmp(option, "--debug"))     debug = 1;
    else if (!strcasecmp(option, "--abs"))       DoAbs = 1;
    else if (!strcasecmp(option, "--nogmnnorm")) gmnnorm = 0;
    else if (!strcasecmp(option, "--rescale"))   rescale=1;
    else if (!strcasecmp(option, "--norescale")) rescale=0;
    else if (!strcasecmp(option, "--no-output")) NoOutput = 1;
    else if (!strcasecmp(option, "--fft"))       UseFFT = 1;
    else if (!strcasecmp(option, "--offset"))    AddOffset=1;
    else if (!strcasecmp(option, "--offset-mid")){
      AddOffset = 1;
      OffsetFrame = -1;
    }
    else if (!strcmp(option, "--hsc")) {
      if (nargc < 2) argnerr(option,2);
      sscanf(pargv[0],"%lf",&HSCMin);
      sscanf(pargv[1],"%lf",&HSCMax);
      DoHSC = 1;
      nargsused = 2;
    }
    else if (!strcmp(option, "--sum2")) {
      if (nargc < 1) argnerr(option,1);
      sum2file = pargv[0];
      pdfname  = "delta";
      //NoOutput = 1;
      nframes  = 1;
      nargsused = 1;
    }
    else if (!strcmp(option, "--hsynth")) {
      // eres mask DoTnorm out
      if (nargc < 3) argnerr(option,3);
      mri = MRIread(pargv[0]);
      mask = MRIread(pargv[1]);
      sscanf(pargv[2],"%d",&DoTNorm);
      mri2 = fMRIhsynth(mri, mask, DoTNorm);
      MRIwrite(mri2,pargv[3]);
      exit(0);
      nargsused = 2;
    }
    else if (!strcmp(option, "--vol") || !strcmp(option, "--o")) {
      if (nargc < 1) argnerr(option,1);
      volid = pargv[0];
      nargsused = 1;
      if (nth_is_arg(nargc, pargv, 1)) {
        volfmt = pargv[1];
        nargsused ++;
        volfmtid = checkfmt(volfmt);
      } 
    }
    else if (!strcmp(option, "--temp") || !strcmp(option, "--template")) {
      if(DoCurv){
	printf("ERROR: cannot use --temp and --curv\n");
	exit(1);
      }
      if(nargc < 1) argnerr(option,1);
      tempid = pargv[0];
      nargsused = 1;
      if (nth_is_arg(nargc, pargv, 1)) {
        tempfmt = pargv[1];
        nargsused ++;
        tempfmtid = checkfmt(tempfmt);
      } else tempfmtid = getfmtid(tempid);
    } else if (!strcmp(option, "--curv")) {
      if(tempid != NULL){
	printf("ERROR: cannot use --temp and --curv\n");
	exit(1);
      }
      if(nargc < 2) argnerr(option,2);
      subject = pargv[0];
      hemi = pargv[1];
      DoCurv = 1;
      nargsused = 2;
      sprintf(tmpstr,"%s/%s/surf/%s.thickness",getenv("SUBJECTS_DIR"),subject,hemi);
      tempid = strcpyalloc(tmpstr);
    } else if ( !strcmp(option, "--dim") ) {
      if (nargc < 4) argnerr(option,4);
      for (i=0;i<4;i++) sscanf(pargv[i],"%d",&dim[i]);
      nargsused = 4;
      dimSpeced = 1;
    } 
    else if ( !strcmp(option, "--nframes") ) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%d",&nframes);
      nargsused = 1;
    } 
    else if ( !strcmp(option, "--TR") || !strcmp(option, "--tr") ) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%lf",&TR);
      nargsused = 1;
    } 
    else if ( !strcmp(option, "--res") ) {
      if (nargc < 4) argnerr(option,4);
      for (i=0;i<4;i++) sscanf(pargv[i],"%f",&res[i]);
      nargsused = 4;
      resSpeced = 1;
    } 
    else if ( !strcmp(option, "--vox-size") ) {
      if (nargc < 3) argnerr(option,3);
      for (i=0;i<3;i++) sscanf(pargv[i],"%f",&res[i]);
      nargsused = 4;
      resSpeced = 1;
      NewVoxSizeSpeced = 1;
    } 
    else if ( !strcmp(option, "--c_ras") ) {
      if (nargc < 3) argnerr(option,3);
      for (i=0;i<3;i++) sscanf(pargv[i],"%f",&cras[i]);
      nargsused = 3;
    } 
    else if ( !strcmp(option, "--p0") ) {
      if (nargc < 3) argnerr(option,3);
      for (i=0;i<3;i++) sscanf(pargv[i],"%f",&p0[i]);
      usep0 = 1;
      nargsused = 3;
    } 
    else if ( !strcmp(option, "--cdircos") ) {
      if (nargc < 3) argnerr(option,3);
      for (i=0;i<3;i++) sscanf(pargv[i],"%f",&cdircos[i]);
      nargsused = 3;
    } else if ( !strcmp(option, "--rdircos") ) {
      if (nargc < 3) argnerr(option,3);
      for (i=0;i<3;i++) sscanf(pargv[i],"%f",&rdircos[i]);
      nargsused = 3;
    } else if ( !strcmp(option, "--sdircos") ) {
      if (nargc < 3) argnerr(option,3);
      for (i=0;i<3;i++) sscanf(pargv[i],"%f",&sdircos[i]);
      nargsused = 3;
    } else if ( !strcmp(option, "--fwhm") ) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%f",&fwhm);
      gstd = fwhm/sqrt(log(256.0));
      nargsused = 1;
    } else if (!strcmp(option, "--precision")) {
      if (nargc < 1) argnerr(option,1);
      precision = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--seed")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%ld",&seed);
      nargsused = 1;
    } else if (!strcmp(option, "--seedfile")) {
      if (nargc < 1) argnerr(option,1);
      seedfile = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--pdf")) {
      if (nargc < 1) argnerr(option,1);
      pdfname = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--bb")) {
      if (nargc < 6) argnerr(option,6);
      sscanf(pargv[0],"%d",&boundingbox.x);
      sscanf(pargv[1],"%d",&boundingbox.y);
      sscanf(pargv[2],"%d",&boundingbox.z);
      sscanf(pargv[3],"%d",&boundingbox.dx);
      sscanf(pargv[4],"%d",&boundingbox.dy);
      sscanf(pargv[5],"%d",&boundingbox.dz);
      pdfname = "boundingbox";
      nargsused = 6;
    }
    else if (!strcasecmp(option, "--checker"))
      pdfname = "checker";
    else if (!strcmp(option, "--dof-num")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%d",&numdof);
      nargsused = 1;
    } else if (!strcmp(option, "--val-a")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%lf",&ValueA);
      nargsused = 1;
    } else if (!strcmp(option, "--val-b")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%lf",&ValueB);
      nargsused = 1;
    } else if (!strcmp(option, "--radius")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%lf",&voxradius);
      nargsused = 1;
    } else if (!strcmp(option, "--dof-den") || !strcmp(option, "--dof")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%d",&dendof);
      nargsused = 1;
    } else if (!strcmp(option, "--gmean")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%lf",&gausmean);
      nargsused = 1;
    } else if (!strcmp(option, "--gstd")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%lf",&gausstd);
      nargsused = 1;
    } else if (!strcmp(option, "--delta-crsf")) {
      if (nargc < 4) argnerr(option,4);
      sscanf(pargv[0],"%d",&delta_crsf[0]);
      sscanf(pargv[1],"%d",&delta_crsf[1]);
      sscanf(pargv[2],"%d",&delta_crsf[2]);
      sscanf(pargv[3],"%d",&delta_crsf[3]);
      delta_crsf_speced = 1;
      nargsused = 4;
    } else if (!strcmp(option, "--delta-val")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%lf",&delta_value);
      nargsused = 1;
    } else if (!strcmp(option, "--delta-val-off")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%lf",&delta_off_value);
      nargsused = 1;
    } else if (!strcmp(option, "--spike")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%d",&SpikeTP);
      nargsused = 1;
    } else {
      fprintf(stderr,"ERROR: Option %s unknown\n",option);
      if (singledash(option))
        fprintf(stderr,"       Did you really mean -%s ?\n",option);
      exit(-1);
    }
    nargc -= nargsused;
    pargv += nargsused;
  }
  return(0);
}
Esempio n. 5
0
/* ------------------------------------------------------------------ */
static int parse_commandline(int argc, char **argv) {
  int  nargc , nargsused;
  char **pargv, *option ;

  if (argc < 1) usage_exit();

  nargc   = argc;
  pargv = argv;
  while (nargc > 0) {

    option = pargv[0];
    if (debug) printf("%d %s\n",nargc,option);
    nargc -= 1;
    pargv += 1;

    nargsused = 0;

    if (!strcasecmp(option, "--help"))  print_help() ;

    else if (!strcasecmp(option, "--version")) print_version() ;

    else if (!strcasecmp(option, "--debug"))   debug = 1;

    else if (!strcasecmp(option, "--oldtxtstyle"))    oldtxtstyle = 1;
    else if (!strcasecmp(option, "--plaintxtstyle"))  plaintxtstyle = 1;
    else if (!strcasecmp(option, "--mskinvert"))  mskinvert = 1;
    else if (!strcmp(option, "--fixxfm"))   fixxfm = 1;
    else if (!strcmp(option, "--nofixxfm")) fixxfm = 0;

    /* -------- ROI output file ------ */
    else if (!strcmp(option, "--roiavgtxt")) {
      if (nargc < 1) argnerr(option,1);
      roitxtfile = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--roiavg")) {
      if (nargc < 1) argnerr(option,1);
      roifile = pargv[0];
      nargsused = 1;
    }

    /* -------- source volume inputs ------ */
    else if (!strcmp(option, "--srcvol")) {
      if (nargc < 1) argnerr(option,1);
      srcvolid = IDnameFromStem(pargv[0]);
      if(srcvolid == NULL) srcvolid = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--srcfmt")) {
      if (nargc < 1) argnerr(option,1);
      srcfmt = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--srcreg")) {
      if (nargc < 1) argnerr(option,1);
      srcregfile = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--srcoldreg")) {
      srcoldreg = 1;
    } else if (!strcmp(option, "--srcwarp")) {
      if (nargc < 1) argnerr(option,1);
      srcwarp = pargv[0];
      nargsused = 1;
    }

    /* -------- label inputs ------ */
    else if (!strcmp(option, "--labelfile") ||
             !strcmp(option, "--label")) {
      if (nargc < 1) argnerr(option,1);
      labelfile = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--labelreg")) {
      if (nargc < 1) argnerr(option,1);
      src2lblregfile = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--labeltal")) {
      labeltal = 1;
      fixxfm = 1;
      nargsused = 0;
    } else if (!strcmp(option, "--talxfm")) {
      if (nargc < 1) argnerr(option,1);
      talxfm = pargv[0];
      labeltal = 1;
      fixxfm = 1;
      nargsused = 1;
    } else if (!strcmp(option, "--labelfillthresh")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%f",&labelfillthresh);
      nargsused = 1;
    }

    /* -------- mask volume inputs ------ */
    else if (!strcmp(option, "--mskvol")) {
      if (nargc < 1) argnerr(option,1);
      mskvolid = IDnameFromStem(pargv[0]);
      if(mskvolid == NULL) mskvolid = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--mskfmt")) {
      if (nargc < 1) argnerr(option,1);
      mskfmt = pargv[0];
      nargsused = 1;
    } 
    else if (!strcmp(option, "--msktail")) {
      if (nargc < 1) argnerr(option,1);
      msktail = pargv[0];
      nargsused = 1;
      if (strncasecmp(msktail,"abs",3) &&
          strncasecmp(msktail,"pos",3) &&
          strncasecmp(msktail,"neg",3)) {
        fprintf(stderr,"ERROR: msk tail = %s, must be abs, pos, or neg\n",
                msktail);
        exit(1);
      }
    } else if (!strcmp(option, "--mskthresh")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%f",&mskthresh);
      nargsused = 1;
    } else if (!strcmp(option, "--mskframe")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%d",&mskframe);
      nargsused = 1;
    } else if (!strcmp(option, "--finalmskvol")) {
      if (nargc < 1) argnerr(option,1);
      finalmskvolid = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--srcmskvol")) {
      if (nargc < 1) argnerr(option,1);
      srcmskvolid = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--finalmskcrs")) {
      if (nargc < 1) argnerr(option,1);
      finalmskcrs = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--list")) {
      if (nargc < 1) argnerr(option,1);
      ListFile = pargv[0];
      nargsused = 1;
    } else {
      fprintf(stderr,"ERROR: Option %s unknown\n",option);
      if (singledash(option))
        fprintf(stderr,"       Did you really mean -%s ?\n",option);
      //printf("Match %d\n",strcmp(option, "--roiavgtxt"));
      exit(-1);
    }
    nargc -= nargsused;
    pargv += nargsused;
  }
  return(0);
}
Esempio n. 6
0
/* --------------------------------------------- */
static int parse_commandline(int argc, char **argv)
{
  int  nargc , nargsused, rt;
  char **pargv, *option, listfile[2000] ;
  FILE *fp0;

  if (argc < 1)
  {
    usage_exit();
  }

  nargc   = argc;
  pargv = argv;
  while (nargc > 0)
  {

    option = pargv[0];
    if (debug)
    {
      printf("%d %s\n",nargc,option);
    }
    nargc -= 1;
    pargv += 1;

    nargsused = 0;

    if (!strcasecmp(option, "--help"))
    {
      print_help() ;
    }
    else if (!strcasecmp(option, "--version"))
    {
      print_version() ;
    }
    else if (!strcasecmp(option, "--debug"))
    {
      debug = 1;
    }
    else if (!strcasecmp(option, "--check"))
    {
      DoCheck = 1;
    }
    else if (!strcasecmp(option, "--no-check"))
    {
      DoCheck = 0;
    }
    else if (!strcasecmp(option, "--mean"))
    {
      DoMean = 1;
    }
    else if (!strcasecmp(option, "--median"))
    {
      DoMedian = 1;
    }
    else if (!strcasecmp(option, "--mean-div-n"))
    {
      DoMeanDivN = 1;
    }
    else if (!strcasecmp(option, "--mean2"))
    {
      DoMeanDivN = 1;
    }
    else if (!strcasecmp(option, "--sum"))
    {
      DoSum = 1;
    }
    else if (!strcasecmp(option, "--std"))
    {
      DoStd = 1;
    }
    else if (!strcasecmp(option, "--var"))
    {
      DoVar = 1;
    }
    else if (!strcasecmp(option, "--abs"))
    {
      DoAbs = 1;
    }
    else if (!strcasecmp(option, "--pos"))
    {
      DoPos = 1;
    }
    else if (!strcasecmp(option, "--neg"))
    {
      DoNeg = 1;
    }
    else if (!strcasecmp(option, "--max"))
    {
      DoMax = 1;
    }
    else if (!strcasecmp(option, "--max-index"))
    {
      DoMaxIndex = 1;
    }
    else if (!strcasecmp(option, "--min"))
    {
      DoMin = 1;
    }
    else if (!strcasecmp(option, "--conjunct"))
    {
      DoConjunction = 1;
    }
    else if (!strcasecmp(option, "--vote"))
    {
      DoVote = 1;
    }
    else if (!strcasecmp(option, "--sort"))
    {
      DoSort = 1;
    }
    else if (!strcasecmp(option, "--norm-mean"))
    {
      DoNormMean = 1;
    }
    else if (!strcasecmp(option, "--norm1"))
    {
      DoNorm1 = 1;
    }
    else if (!strcasecmp(option, "--prune"))
    {
      DoPrune = 1;
    }
    else if (!strcasecmp(option, "--max-bonfcor"))
    {
      DoMax = 1;
      DoBonfCor = 1;
    }
    else if (!strcasecmp(option, "--asl"))
    {
      DoASL = 1;
    }
    else if (!strcasecmp(option, "--paired-avg"))
    {
      DoPaired = 1;
      DoPairedAvg = 1;
    }
    else if (!strcasecmp(option, "--paired-sum"))
    {
      DoPaired = 1;
      DoPairedSum = 1;
    }
    else if (!strcasecmp(option, "--paired-diff"))
    {
      DoPaired = 1;
      DoPairedDiff = 1;
    }
    else if (!strcasecmp(option, "--paired-diff-norm"))
    {
      DoPairedDiff = 1;
      DoPairedDiffNorm = 1;
      DoPaired = 1;
    }
    else if (!strcasecmp(option, "--paired-diff-norm1"))
    {
      DoPairedDiff = 1;
      DoPairedDiffNorm1 = 1;
      DoPaired = 1;
    }
    else if (!strcasecmp(option, "--paired-diff-norm2"))
    {
      DoPairedDiff = 1;
      DoPairedDiffNorm2 = 1;
      DoPaired = 1;
    }
    else if (!strcasecmp(option, "--combine"))
    {
      DoCombine = 1;
    }
    else if (!strcasecmp(option, "--rms"))
    {
      DoRMS = 1;
    }
    else if (!strcasecmp(option, "--keep-datatype"))
    {
      DoKeepDatatype = 1;
    }
    else if (!strcasecmp(option, "--pca"))
    {
      DoPCA = 1;
    }
    else if (!strcasecmp(option, "--chunk"))
    {
      setenv("FS_USE_MRI_CHUNK","1",1);
    }
    else if (!strcasecmp(option, "--scm"))
    {
      DoSCM = 1;
    }
    else if ( !strcmp(option, "--pca-mask") )
    {
      if(nargc < 1)
      {
        argnerr(option,1);
      }
      PCAMaskFile = pargv[0];
      nargsused = 1;
    }
    else if ( !strcmp(option, "--i") )
    {
      if (nargc < 1)
      {
        argnerr(option,1);
      }
      inlist[ninputs] = pargv[0];
      ninputs ++;
      nargsused = 1;
    }
    else if ( !strcmp(option, "--mtx") )
    {
      if (nargc < 1)
      {
        argnerr(option,1);
      }
      matfile = pargv[0];
      M = MatrixReadTxt(matfile, NULL);
      if(M==NULL)
      {
        printf("ERROR: reading %s\n",matfile);
        exit(1);
      }
      nargsused = 1;
    }
    else if ( !strcmp(option, "--gmean") )
    {
      if (nargc < 1)
      {
        argnerr(option,1);
      }
      sscanf(pargv[0],"%d",&ngroups);
      nargsused = 1;
    }
    else if ( !strcmp(option, "--rep") )
    {
      if (nargc < 1)
      {
        argnerr(option,1);
      }
      sscanf(pargv[0],"%d",&NReplications);
      nargsused = 1;
    }
    else if ( !strcmp(option, "--o") )
    {
      if (nargc < 1)
      {
        argnerr(option,1);
      }
      out = pargv[0];
      nargsused = 1;
    }
    else if ( !strcmp(option, "--mask") )
    {
      if (nargc < 1)
      {
        argnerr(option,1);
      }
      maskfile = pargv[0];
      nargsused = 1;
    }
    else if ( !strcmp(option, "--mul") )
    {
      if (nargc < 1)
      {
        argnerr(option,1);
      }
      if(! isdigit(pargv[0][0]))
      {
        printf("ERROR: value passed to the --mul flag must be a number\n");
        printf("       If you want to multiply two images, use fscalc\n");
        exit(1);
      }
      sscanf(pargv[0],"%lf",&MultiplyVal);
      DoMultiply = 1;
      nargsused = 1;
    }
    else if ( !strcmp(option, "--add") )
    {
      if (nargc < 1)
      {
        argnerr(option,1);
      }
      if(! isdigit(pargv[0][0]))
      {
        printf("ERROR: value passed to the --add flag must be a number\n");
        printf("       If you want to add two images, use --sum or fscalc\n");
        exit(1);
      }
      sscanf(pargv[0],"%lf",&AddVal);
      DoAdd = 1;
      nargsused = 1;
    }
    else if (!strcasecmp(option, "--tar1"))
    {
      if(nargc < 1)
      {
        argnerr(option,1);
      }
      sscanf(pargv[0],"%d",&TAR1DOFAdjust);
      DoTAR1 = 1;
      nargsused = 1;
    }
    else if (!strcasecmp(option, "--f"))
    {
      if(nargc < 1)
      {
        argnerr(option,1);
      }
      sscanf(pargv[0],"%s",listfile);
      fp0 = fopen(listfile,"r");
      if(fp0==NULL)
      {
        printf("ERROR: opening %s\n",listfile);
        exit(1);
      }
      while(1)
      {
        rt = fscanf(fp0,"%s",flist[nthf]);
        if(rt == EOF)
        {
          fclose(fp0);
          break;
        }
        inlist[ninputs] = flist[nthf];
        nthf++;
        ninputs ++;
      }
      nargsused = 1;
    }
    else
    {
      inlist[ninputs] = option;
      ninputs ++;
      if(ninputs > NInMAX)
      {
        printf("ERROR: ninputs > %d\n",NInMAX);
        exit(1);
      }
      //fprintf(stderr,"ERROR: Option %s unknown\n",option);
      //if(singledash(option))
      //fprintf(stderr,"       Did you really mean -%s ?\n",option);
      //exit(-1);
    }
    nargc -= nargsused;
    pargv += nargsused;
  }
  return(0);
}
Esempio n. 7
0
/* --------------------------------------------- */
static int parse_commandline(int argc, char **argv) {
  int  nargc , nargsused;
  char **pargv, *option ;

  if (argc < 1) usage_exit();

  nargc   = argc;
  pargv = argv;
  while (nargc > 0) {

    option = pargv[0];
    if (debug) printf("%d %s\n",nargc,option);
    nargc -= 1;
    pargv += 1;

    nargsused = 0;

    if (!strcasecmp(option, "--help"))  print_help() ;
    else if (!strcasecmp(option, "--version")) print_version() ;
    else if (!strcasecmp(option, "--debug"))   debug = 1;
    else if (!strcasecmp(option, "--verbose")) verbose = 1;
    else if (!strcasecmp(option, "--fileinfo")) dumpfileinfo = 1;

    /* -------- source volume inputs ------ */
    else if (!strcmp(option, "--i")) {
      if (nargc < 1) argnerr(option,1);
      imafile = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--attr")) {
      if (nargc < 1) argnerr(option,1);
      attrname = pargv[0];
      getattr = 1;
      nargsused = 1;
    } else if (!strcmp(option, "--ob")) {
      if (nargc < 1) argnerr(option,1);
      bstem = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--dictionary")) {
      DumpImaDictionary(stdout);
      exit(0);
      nargsused = 1;
    } else if (!strcmp(option, "--key")) {
      if (nargc < 1) argnerr(option,1);
      key = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--keyno")) {
      if (nargc < 1) argnerr(option,1);
      sscanf(pargv[0],"%d",&keyno);
      nargsused = 1;
    } else if (!strcmp(option, "--o")) {
      if (nargc < 2) argnerr(option,2);
      sscanf(pargv[0],"%d",&offset);
      typestring = pargv[1];
      nargsused = 2;
      if (strcmp(typestring,"string") == 0) {
        if (nargc < 3) {
          printf("ERROR: type string needs length argument\n");
          exit(1);
        }
        sscanf(pargv[2],"%d",&stringlen);
        if (stringlen < 1) {
          printf("ERROR: string length = %d, must be >= 1\n",
                 stringlen);
          exit(1);
        }
        nargsused = 3;
      }
    } else {
      fprintf(stderr,"ERROR: Option %s unknown\n",option);
      if (singledash(option))
        fprintf(stderr,"       Did you really mean -%s ?\n",option);
      exit(-1);
    }
    nargc -= nargsused;
    pargv += nargsused;
  }
  return(0);
}
Esempio n. 8
0
/* --------------------------------------------- */
static int parse_commandline(int argc, char **argv) {
  int  nargc , nargsused;
  char **pargv, *option ;
  FILE *fptmp;
  int nargs;

  /* rkt: check for and handle version tag */
  nargs = handle_version_option (argc, argv, "$Id: mri_parse_sdcmdir.c,v 1.21 2011/03/02 00:04:23 nicks Exp $", "$Name:  $");
  if (nargs && argc - nargs == 1)
    exit (0);
  argc -= nargs;

  if (argc < 1) usage_exit();

  nargc   = argc;
  pargv = argv;
  while (nargc > 0) {

    option = pargv[0];
    if (debug) printf("%d %s\n",nargc,option);
    nargc -= 1;
    pargv += 1;

    nargsused = 0;

    if      (!strcasecmp(option, "--help"))    print_help() ;
    else if (!strcasecmp(option, "--version")) print_version() ;
    else if (!strcasecmp(option, "--debug"))   debug = 1;
    else if (!strcasecmp(option, "--verbose")) verbose = 1;
    else if (!strcmp(option, "--d")) {
      if (nargc < 1) argnerr(option,1);
      sdicomdir = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--o")) {
      if (nargc < 1) argnerr(option,1);
      outfile = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--summarize") || !strcmp(option, "--sum")) {
      summarize = 1;
    } else if (!strcmp(option, "--status")) {
      if (nargc < 1) argnerr(option,1);
      SDCMStatusFile = (char *) calloc(strlen(pargv[0])+1,sizeof(char));
      memmove(SDCMStatusFile,pargv[0],strlen(pargv[0]));
      fptmp = fopen(SDCMStatusFile,"w");
      if (fptmp == NULL) {
        fprintf(stderr,"ERROR: could not open %s for writing\n",
                SDCMStatusFile);
        exit(1);
      }
      fprintf(fptmp,"0\n");
      fclose(fptmp);
      nargsused = 1;
    } else if (!strcmp(option, "--sortbyrun")) {
      sortbyrun = 1;
    } else {
      fprintf(stderr,"ERROR: Option %s unknown\n",option);
      if (singledash(option))
        fprintf(stderr,"       Did you really mean -%s ?\n",option);
      exit(-1);
    }
    nargc -= nargsused;
    pargv += nargsused;
  }
  return(0);
}
Esempio n. 9
0
/* ------------------------------------------------------------------ */
static int parse_commandline(int argc, char **argv) {
  int  nargc , nargsused;
  char **pargv, *option ;
  int nargs;

  if (argc < 1) usage_exit();

  /* rkt: check for and handle version tag */
  nargs = handle_version_option (argc, argv, "$Id: mkxsubjreg.c,v 1.5 2011/03/02 00:04:13 nicks Exp $", "$Name: stable5 $");
  if (nargs && argc - nargs == 1)
    exit (0);
  argc -= nargs;

  nargc   = argc;
  pargv = argv;
  while (nargc > 0) {

    option = pargv[0];
    if (debug) printf("%d %s\n",nargc,option);
    nargc -= 1;
    pargv += 1;

    nargsused = 0;

    if (!strcasecmp(option, "--help"))  print_help() ;
    else if (!strcasecmp(option, "--version")) print_version() ;
    else if (!strcasecmp(option, "--debug"))   debug = 1;

    else if (!strcmp(option, "--srcreg")) {
      if (nargc < 1) argnerr(option,1);
      srcregpath = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--targreg")) {
      if (nargc < 1) argnerr(option,1);
      targregpath = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--targsubj")) {
      if (nargc < 1) argnerr(option,1);
      targsubj = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--xfm")) {
      if (nargc < 1) argnerr(option,1);
      xfmrname = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--fvol")) {
      if (nargc < 1) argnerr(option,1);
      fvolid = pargv[0];
      nargsused = 1;
    } else if (!strcmp(option, "--sd")) {
      if (nargc < 1) argnerr(option,1);
      subjects_dir = pargv[0];
      nargsused = 1;
    } else {
      fprintf(stderr,"ERROR: Option %s unknown\n",option);
      if (singledash(option))
        fprintf(stderr,"       Did you really mean -%s ?\n",option);
      exit(-1);
    }
    nargc -= nargsused;
    pargv += nargsused;
  }
  return(0);
}