您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DiagInit函数代码示例

51自学网 2021-06-01 20:27:38
  C++
这篇教程C++ DiagInit函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DiagInit函数的典型用法代码示例。如果您正苦于以下问题:C++ DiagInit函数的具体用法?C++ DiagInit怎么用?C++ DiagInit使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DiagInit函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

/*---------------------------------------------------------------*/int main(int argc, char *argv[]) {  int nargs;  nargs = handle_version_option (argc, argv, vcid, "$Name: stable5 $");  if (nargs && argc - nargs == 1) exit (0);  argc -= nargs;  cmdline = argv2cmdline(argc,argv);  uname(&uts);  getcwd(cwd,2000);  Progname = argv[0] ;  argc --;  argv++;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  if (argc == 0) usage_exit();  parse_commandline(argc, argv);  check_options();  if (checkoptsonly) return(0);  dump_options(stdout);  SUBJECTS_DIR = getenv("SUBJECTS_DIR");  if (SUBJECTS_DIR == NULL) {    printf("ERROR: SUBJECTS_DIR not defined in environment/n");    exit(1);  }  return 0;}
开发者ID:guo2004131,项目名称:freesurfer,代码行数:30,


示例2: main

intmain(int argc, char *argv[]) {  char         **av, *in_fname, *out_fname ;  int          ac, nargs ;  MRI_SURFACE  *mris ;  float        alpha, beta, gamma ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mris_rotate.c,v 1.6 2011/03/02 00:04:33 nicks Exp $", "$Name: stable5 $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 6)    usage_exit() ;  in_fname = argv[1] ;  if (sscanf(argv[2], "%f", &alpha) != 1)    ErrorExit(ERROR_BADPARM, "%s: could not scan alpha from %s",              Progname, argv[2]) ;  if (sscanf(argv[3], "%f", &beta) != 1)    ErrorExit(ERROR_BADPARM, "%s: could not scan beta from %s",              Progname, argv[3]) ;  if (sscanf(argv[4], "%f", &gamma) != 1)    ErrorExit(ERROR_BADPARM, "%s: could not scan gamma from %s",              Progname, argv[4]) ;  out_fname = argv[5] ;  mris = MRISfastRead(in_fname) ;  if (!mris)    ErrorExit(ERROR_NOFILE, "%s: could not read surface file %s",              Progname, in_fname) ;  alpha = RADIANS(alpha) ;  beta = RADIANS(beta) ;  gamma = RADIANS(gamma) ;  MRIScenter(mris, mris) ;  MRISrotate(mris, mris, alpha, beta, gamma) ;  if (!mris)    ErrorExit(ERROR_NOFILE, "%s: could not rotate surface", Progname) ;  if (Gdiag & DIAG_SHOW)    fprintf(stderr, "writing rotated surface to %s/n", out_fname) ;  MRISwrite(mris, out_fname) ;  exit(0) ;  return(0) ;  /* for ansi */}
开发者ID:guo2004131,项目名称:freesurfer,代码行数:60,


示例3: main

intmain(int argc, char *argv[]) {  char        **av, *out_vol ;  int         ac, nargs ;  MRI         *mri_time1, *mri_time2, *mri_tmp, *mri_atrophy ;  TRANSFORM   *transform1, *transform2 ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mri_map_atrophy.c,v 1.4 2011/03/02 00:04:22 nicks Exp $", "$Name: stable5 $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 6)    usage_exit() ;  out_vol = argv[argc-1] ;  printf("reading volume from %s.../n", argv[1]) ;  mri_time1 = MRIread(argv[1]) ;  if (!mri_time1)    ErrorExit(ERROR_NOFILE, "%s: could not read MRI volume %s", Progname, argv[2]) ;  mri_time2 = MRIread(argv[2]) ;  if (!mri_time2)    ErrorExit(ERROR_NOFILE, "%s: could not read MRI volume %s", Progname, argv[2]) ;  transform1 = TransformRead(argv[3]) ;  if (!transform1)    ErrorExit(ERROR_NOFILE, "%s: could not read transform from %s", Progname, argv[3]) ;  transform2 = TransformRead(argv[4]) ;  if (!transform2)    ErrorExit(ERROR_NOFILE, "%s: could not read transform from %s", Progname, argv[4]) ;  mri_tmp = TransformApplyType(transform1, mri_time1, NULL, SAMPLE_NEAREST);  MRIfree(&mri_time1) ;  mri_time1 = mri_tmp ;  mri_tmp = TransformApplyType(transform2, mri_time2, NULL, SAMPLE_NEAREST);  MRIfree(&mri_time2) ;  mri_time2 = mri_tmp ;  mri_atrophy = make_atrophy_map(mri_time1, mri_time2, NULL, transform1, transform2, gray_labels, ngray, csf_labels, ncsf) ;  MRIwrite(mri_atrophy, out_vol) ;  exit(0) ;  return(0) ;  /* for ansi */}
开发者ID:guo2004131,项目名称:freesurfer,代码行数:59,


示例4: main

intmain(int argc, char *argv[]) {  char   **av ;  int    ac, nargs ;  MRI    *mri_src, *mri_dst = NULL ;  char   *in_fname, *out_fname ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mri_polv.c,v 1.6 2011/03/02 00:04:24 nicks Exp $", "$Name: stable5 $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 1)    argc = 1 ;  if (argc < 1)    ErrorExit(ERROR_BADPARM, "%s: no input name specified", Progname) ;  in_fname = argv[1] ;  if (argc < 2)    ErrorExit(ERROR_BADPARM, "%s: no output name specified", Progname) ;  out_fname = argv[2] ;  if (verbose)    fprintf(stderr, "reading from %s...", in_fname) ;  mri_src = MRIread(in_fname) ;  if (!mri_src)    ErrorExit(ERROR_NO_FILE, "%s: could not open source file %s",              Progname, in_fname) ;  if (verbose)    fprintf(stderr, "done./ncalculating plane of least variance...") ;  mri_dst = MRIcentralPlaneOfLeastVarianceNormal(mri_src, NULL, window_size) ;  if (!mri_dst)    ErrorExit(ERROR_BADPARM, "%s: plane of least variance calculation failed",              Progname) ;  if (verbose)    fprintf(stderr, "/ndone. writing output to %s", out_fname) ;  MRIwrite(mri_dst, out_fname) ;  if (verbose)    fprintf(stderr, "/n") ;  exit(0) ;  return(0) ;}
开发者ID:guo2004131,项目名称:freesurfer,代码行数:58,


示例5: main

intmain(int argc, char *argv[]) {  char   **av ;  int    ac, nargs ;  MRI    *mri_src, *mri_dst ;  char   *in_fname, *out_fname ;  int    label, nvox ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mri_copy_values.c,v 1.5 2011/03/02 00:04:14 nicks Exp $", "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 2)    ErrorExit(ERROR_BADPARM, "%s: no input name specified", Progname) ;  in_fname = argv[1] ;  if (argc < 3)    ErrorExit(ERROR_BADPARM, "%s: no value specified", Progname) ;  label = atoi(argv[2]) ;  if (argc < 4)    ErrorExit(ERROR_BADPARM, "%s: no output name specified", Progname) ;  out_fname = argv[3] ;  fprintf(stderr, "reading from %s.../n", in_fname) ;  mri_src = MRIread(in_fname) ;  if (!mri_src)    ErrorExit(ERROR_NOFILE, "%s: could not read input volume %s",              Progname, in_fname) ;  mri_dst = MRIread(out_fname) ;  if (!mri_dst)    ErrorExit(ERROR_NOFILE, "%s: could not read destination volume %s",              Progname, out_fname) ;  nvox = MRIcopyLabel(mri_src, mri_dst, label) ;  fprintf(stderr, "%d voxels copied from input to output volume.../n", nvox);  fprintf(stderr, "writing to %s.../n", out_fname) ;  MRIwrite(mri_dst, out_fname) ;  MRIfree(&mri_dst) ;  MRIfree(&mri_src) ;  exit(0) ;  return(0) ;}
开发者ID:ewong718,项目名称:freesurfer,代码行数:57,


示例6: main

intmain(int argc, char *argv[]) {  char   **av ;  int    ac, nargs, i ;  MRI    *mri_src, *mri_dst = NULL ;  char   *in_fname, *out_fname ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mri_reduce.c,v 1.7 2011/03/02 00:04:24 nicks Exp $", "$Name: stable5 $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 1)    argc = 1 ;  if (argc < 1)    ErrorExit(ERROR_BADPARM, "%s: no input name specified", Progname) ;  in_fname = argv[1] ;  if (argc < 2)    ErrorExit(ERROR_BADPARM, "%s: no output name specified", Progname) ;  out_fname = argv[2] ;  fprintf(stderr, "reading from %s...", in_fname) ;  mri_src = MRIread(in_fname) ;  i = 0 ;  do {    if (i)      mri_src = MRIcopy(mri_dst, NULL) ;    fprintf(stderr, "/nreducing by 2");    mri_dst = MRIallocSequence(mri_src->width/2, mri_src->height/2, mri_src->depth/2, MRI_FLOAT, mri_src->nframes);    MRIreduce(mri_src, mri_dst) ;    MRIfree(&mri_src) ;  } while (++i < reductions) ;  fprintf(stderr, "/nwriting to %s", out_fname) ;  MRIwrite(mri_dst, out_fname) ;  fprintf(stderr, "/n") ;  exit(0) ;  return(0) ;}
开发者ID:guo2004131,项目名称:freesurfer,代码行数:56,


示例7: main

intmain(int argc, char *argv[]) {  char   **av ;  int    ac, nargs ;  MRI    *mri_src, *mri_ref, *mri_tmp ;  double accuracy ;  MRI_REGION box ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mri_label_accuracy.c,v 1.2 2011/03/02 00:04:22 nicks Exp $", "$Name: stable5 $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 3)    usage_exit(1) ;  mri_src = MRIread(argv[1]) ;  if (mri_src == NULL)    ErrorExit(ERROR_BADPARM, "%s: could not read input volume %s/n", Progname,argv[1]);  MRIboundingBox(mri_src, 0, &box) ;  mri_tmp = MRIextractRegionAndPad(mri_src, NULL, &box, PAD) ;  MRIfree(&mri_src) ; mri_src = mri_tmp ;  if (mri_src->type == MRI_SHORT)  {    mri_tmp = MRIchangeType(mri_src, MRI_FLOAT, 0, 0, 0) ;    MRIfree(&mri_src) ; mri_src = mri_tmp ;  }  mri_ref = MRIread(argv[2]) ;  if (mri_ref == NULL)    ErrorExit(ERROR_BADPARM, "%s: could not read reference volume %s/n", Progname,argv[1]);  MRIboundingBox(mri_ref, 0, &box) ;  mri_tmp = MRIextractRegionAndPad(mri_ref, NULL, &box, PAD) ;  MRIfree(&mri_ref) ; mri_ref = mri_tmp ;  accuracy = MRIcomputeLabelAccuracy(mri_src, mri_ref, MRI_MEAN_MIN_DISTANCE, stdout) ;  if (Gdiag_fp)    fclose(Gdiag_fp) ;  exit(0) ;  return(0) ;}
开发者ID:guo2004131,项目名称:freesurfer,代码行数:55,


示例8: main

intmain(int argc, char *argv[]) {  char         **av ;  int          ac, nargs, nsize ;  MRI_SURFACE  *mris ;  MRI          *mri ;  nargs = handle_version_option (argc, argv, "$Id: mris_nudge.c,v 1.2 2011/03/02 00:04:31 nicks Exp $", "$Name: stable5 $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Gx = Gy = Gz = -1 ;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 7)    usage_exit(1) ;  mris = MRISread(argv[1]) ;  if (mris == NULL)    ErrorExit(ERROR_NOFILE, "%s: could not read surface from %s", Progname, argv[1]) ;  MRIScomputeMetricProperties(mris) ;  MRISstoreMetricProperties(mris) ;  mri = MRIread(argv[2]) ;  if (mri == NULL)    ErrorExit(ERROR_NOFILE, "%s: could not read volume from %s", Progname, argv[2]) ;  target_vnos[nvertices] = atoi(argv[3]) ;  target_vals[nvertices] = atof(argv[4]) ;  nsize = atoi(argv[5]) ;  printf("nudging %d vertex region around vertex %d to target val %2.1f/n",          nsize, target_vnos[nvertices], target_vals[nvertices]) ;  nvertices++ ;  MRISerodeRipped(mris, nsize) ;  MRISrepositionSurface(mris, mri, target_vnos, target_vals, nvertices, nsize, sigma) ;  MRISunrip(mris) ;  printf("writing repositioned surface to %s/n", argv[6]) ;  MRISwrite(mris, argv[6]) ;  return(0) ;}
开发者ID:guo2004131,项目名称:freesurfer,代码行数:54,


示例9: main

/***-------------------------------------------------------****/int main(int argc, char *argv[]){  int  nargs, index, ac, nvolumes;  char **av ;  MRI  *mri_and = NULL, *mri ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, vcid, "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  Progname = argv[0] ;  argc -= nargs;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++)  {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  nvolumes = argc-2 ;  if (nvolumes <= 0)    usage_exit() ;  printf("processing %d input files/n", nvolumes) ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  for (index = 0 ; index < nvolumes ; index++)  {    char *fname = argv[index+1] ;    printf("processing input volume %d of %d: %s/n",           index+1, nvolumes, fname) ;    mri = MRIread(fname) ;    if (index == 0)      mri_and = MRIcopy(mri, NULL) ;    else      MRIand(mri, mri_and, mri_and, 0) ;    MRIfree(&mri) ;  }  printf("writing output to %s/n", argv[argc-1]) ;  MRIwrite(mri_and, argv[argc-1]) ;  exit(0);} /* end main() */
开发者ID:ewong718,项目名称:freesurfer,代码行数:49,


示例10: main

intmain(int argc, char *argv[]) {  MRI_SURFACE  *mris ;  char         **av, *in_fname, *out_fname ;  int          ac, nargs ;  MRI          *mri_distance ;  /* rkt: check for and handle version tag */  nargs = handle_version_option          (argc, argv,           "$Id: mris_distance_map.c,v 1.2 2011/03/02 00:04:31 nicks Exp $",           "$Name: stable5 $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 3) usage_exit() ;  in_fname = argv[1] ;  out_fname = argv[2] ;  mris = MRISread(in_fname) ;  if (mris == NULL)    ErrorExit(ERROR_NOFILE, "%s: could not load surface %s", Progname, out_fname) ;  mri_distance = MRIScomputeDistanceMap(mris, NULL, ref_vertex_no) ;  MRIwrite(mri_distance, out_fname) ;  MRISfree(&mris) ;  exit(0) ;  return(0) ;  /* for ansi */}
开发者ID:guo2004131,项目名称:freesurfer,代码行数:46,


示例11: main

/*---------------------------------------------------------------*/int main(int argc, char *argv[]) {  int nargs;  char *surf1_fname ;  char *surf2_fname ;  char *out_fname ;  MRI_SURFACE *mris1, *mris2 ;  nargs = handle_version_option (argc, argv, vcid, "$Name:  $");  if (nargs && argc - nargs == 1) exit (0);  argc -= nargs;  cmdline = argv2cmdline(argc,argv);  uname(&uts);  getcwd(cwd,2000);  Progname = argv[0] ;  argc --;  argv++;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  if (argc == 0) usage_exit();  parse_commandline(argc, argv);  check_options();  if (checkoptsonly) return(0);  dump_options(stdout);  SUBJECTS_DIR = getenv("SUBJECTS_DIR");  if (SUBJECTS_DIR == NULL) {    printf("ERROR: SUBJECTS_DIR not defined in environment/n");    exit(1);  }  surf1_fname = argv[0] ; surf2_fname = argv[1] ; out_fname = argv[2] ;   mris1 = MRISread(surf1_fname) ;  if (mris1 == NULL)    ErrorExit(ERROR_NOFILE, "could not read surface 1 from %s", surf1_fname) ;  mris2 = MRISread(surf2_fname) ;  if (mris2 == NULL)    ErrorExit(ERROR_NOFILE, "could not read surface 2 from %s", surf2_fname) ;  compute_surface_distance(mris1, mris2, mris1) ;  MRISwriteValues(mris1, out_fname) ;  return 0;}
开发者ID:ewong718,项目名称:freesurfer,代码行数:44,


示例12: main

intmain(int argc, char *argv[]) {  char         **av, *in_fname, *out_fname ;  int          ac, nargs ;  MRI_SURFACE  *mris ;  float        radius, scale ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mris_rescale.c,v 1.5 2011/03/02 00:04:33 nicks Exp $", "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 3)    usage_exit() ;  in_fname = argv[1] ;  out_fname = argv[2] ;  mris = MRISread(in_fname) ;  if (!mris)    ErrorExit(ERROR_NOFILE, "%s: could not read surface file %s",              Progname, in_fname) ;  radius = MRISaverageRadius(mris) ;  scale = DEFAULT_RADIUS / radius ;  MRISscaleBrain(mris, mris, scale) ;  MRISwrite(mris, out_fname) ;  exit(0) ;  return(0) ;  /* for ansi */}
开发者ID:ewong718,项目名称:freesurfer,代码行数:43,


示例13: main

intmain(int argc, char *argv[]) {  char          **av, *out_fname, *in_fname ;  int           ac, nargs ;  MRI_SURFACE   *mris ;  MRI           *mri_interior, *mri_template = NULL, *mri_buffer = NULL;  char cmdline[CMD_LINE_LEN] ;  make_cmd_version_string  (argc, argv,   "$Id: mris_fill.c,v 1.6 2011/03/02 00:04:32 nicks Exp $", "$Name:  $",   cmdline);  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mris_fill.c,v 1.6 2011/03/02 00:04:32 nicks Exp $", "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc != 3)    usage_exit() ;  in_fname = argv[1] ;  out_fname = argv[2] ;  fprintf(stderr, "reading surface from %s.../n", in_fname) ;  mris = MRISread(in_fname) ;  if (template)
开发者ID:ewong718,项目名称:freesurfer,代码行数:42,


示例14: main

intmain(int argc, char *argv[]) {  char   **av, fname[STRLEN] ;  int    ac, nargs, i ;  char   *in_fname, *out_fname ;  int          msec, minutes, seconds ;  struct timeb start ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: main_template.c,v 1.5 2011/03/02 00:04:40 nicks Exp $", "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  TimerStart(&start) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 3)    usage_exit(1) ;  msec = TimerStop(&start) ;  seconds = nint((float)msec/1000.0f) ;  minutes = seconds / 60 ;  seconds = seconds % 60 ;  fprintf(stderr, "inverse operator application took %d minutes"          " and %d seconds./n", minutes, seconds) ;  exit(0) ;  return(0) ;}
开发者ID:ewong718,项目名称:freesurfer,代码行数:41,


示例15: main

intmain(int argc, char *argv[]){  double           thresh ;  MRI              *mri, *mri_abs ;  char             *out_stem, fname[STRLEN] ;  MRI_SEGMENTATION *mriseg ;  int              s ;  LABEL            *area ;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  mri = MRIread(argv[1]) ;  if (mri == NULL)    ErrorExit(ERROR_NOFILE, "%s: could not load MRI from %s/n", Progname, argv[1]) ;  if (use_abs)    mri_abs = MRIabs(mri, NULL) ;  else    mri_abs = MRIcopy(mri, NULL) ;  thresh = atof(argv[2]) ;  out_stem = argv[3] ;  mriseg = MRIsegment(mri, thresh, 1e10) ;  MRIremoveSmallSegments(mriseg, size_thresh) ;  printf("segmenting volume at threshold %2.1f yields %d segments/n", thresh, mriseg->nsegments) ;  for (s = 0 ; s < mriseg->nsegments ; s++)  {    area = MRIsegmentToLabel(mriseg, mri_abs, s) ;    sprintf(fname, "%s.%3.3d.label", out_stem, s) ;    LabelWrite(area, fname) ;      }  return(0) ;}
开发者ID:neurodebian,项目名称:freesurfer,代码行数:38,


示例16: main

intmain(int argc, char *argv[]){  char         **av, *in_surf_fname, *out_fname, fname[STRLEN], *cp ;  int          ac, nargs, msec, err ;  MRI_SURFACE  *mris ;  struct timeb then ;  float        max_dim ;  char cmdline[CMD_LINE_LEN] ;  make_cmd_version_string  (argc, argv,   "$Id: mris_sphere.c,v 1.57 2011/03/02 00:04:34 nicks Exp $",   "$Name: stable5 $", cmdline);  /* rkt: check for and handle version tag */  nargs = handle_version_option          (argc, argv,           "$Id: mris_sphere.c,v 1.57 2011/03/02 00:04:34 nicks Exp $",           "$Name: stable5 $");  if (nargs && argc - nargs == 1)  {    exit (0);  }  argc -= nargs;#ifdef FS_CUDA  /* print GPU device info */  MRISCdeviceInfo();#endif // FS_CUDA  TimerStart(&then) ;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  memset(&parms, 0, sizeof(parms)) ;  parms.dt = .05 ;  parms.projection = PROJECT_ELLIPSOID ;  parms.tol = .5 /*1e-1*/ ;  parms.n_averages = 1024 ;  parms.min_averages = 0 ;  parms.l_angle = 0.0 /* L_ANGLE */ ;  parms.l_area = 0.0 /* L_AREA */ ;  parms.l_neg = 0.0 ;  parms.l_dist = 1.0 ;  parms.l_spring = 0.0 ;  parms.l_area = 1.0 ;  parms.l_boundary = 0.0 ;  parms.l_curv = 0.0 ;  parms.niterations = 25 ;  parms.write_iterations = 1000 ;  parms.a = parms.b = parms.c = 0.0f ;  /* ellipsoid parameters */  parms.dt_increase = 1.01 /* DT_INCREASE */;  parms.dt_decrease = 0.99 /* DT_DECREASE*/ ;  parms.error_ratio = 1.03 /*ERROR_RATIO */;  parms.integration_type = INTEGRATE_LINE_MINIMIZE ;  parms.momentum = 0.9 ;  parms.desired_rms_height = -1.0 ;  parms.base_name[0] = 0 ;  parms.Hdesired = 0.0 ;   /* a flat surface */  parms.nbhd_size = 7 ;  parms.max_nbrs = 8 ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++)  {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  parms.scale = scale ;  if (argc != 3) // catches args beyond the expected two  {    usage_exit() ;  }  parms.base_dt = base_dt_scale * parms.dt ;  in_surf_fname = argv[1] ;  out_fname = argv[2] ;  printf("%s/n",vcid);  printf("  %s/n",MRISurfSrcVersion());  fflush(stdout);  if (parms.base_name[0] == 0)  {    FileNameOnly(out_fname, fname) ;    cp = strchr(fname, '.') ;    if (cp)    {      strcpy(parms.base_name, cp+1) ;    }    else    {      strcpy(parms.base_name, "sphere") ;//.........这里部分代码省略.........
开发者ID:guo2004131,项目名称:freesurfer,代码行数:101,


示例17: main

/*--------------------------------------------------*/int main(int argc, char **argv){    int nargs, err, asegid, c, r, s, nctx, annot,vtxno,nripped;    int annotid, IsCortex=0, IsWM=0, IsHypo=0, hemi=0, segval=0;    int RibbonVal=0,nbrute=0;    float dmin=0.0, lhRibbonVal=0, rhRibbonVal=0;    /* rkt: check for and handle version tag */    nargs = handle_version_option (argc, argv, vcid, "$Name: stable5 $");    if (nargs && argc - nargs == 1)    {        exit (0);    }    argc -= nargs;    Progname = argv[0] ;    argc --;    argv++;    ErrorInit(NULL, NULL, NULL) ;    DiagInit(NULL, NULL, NULL) ;    if (argc == 0)    {        usage_exit();    }    SUBJECTS_DIR = getenv("SUBJECTS_DIR");    if (SUBJECTS_DIR==NULL)    {        printf("ERROR: SUBJECTS_DIR not defined in environment/n");        exit(1);    }    parse_commandline(argc, argv);    check_options();    dump_options(stdout);    /* ------ Load subject's lh white surface ------ */    sprintf(tmpstr,"%s/%s/surf/lh.white",SUBJECTS_DIR,subject);    printf("/nReading lh white surface /n %s/n",tmpstr);    lhwhite = MRISread(tmpstr);    if (lhwhite == NULL)    {        fprintf(stderr,"ERROR: could not read %s/n",tmpstr);        exit(1);    }    /* ------ Load subject's lh pial surface ------ */    sprintf(tmpstr,"%s/%s/surf/lh.pial",SUBJECTS_DIR,subject);    printf("/nReading lh pial surface /n %s/n",tmpstr);    lhpial = MRISread(tmpstr);    if (lhpial == NULL)    {        fprintf(stderr,"ERROR: could not read %s/n",tmpstr);        exit(1);    }    if (lhwhite->nvertices != lhpial->nvertices)    {        printf("ERROR: lh white and pial have a different number of "               "vertices (%d,%d)/n",               lhwhite->nvertices,lhpial->nvertices);        exit(1);    }    /* ------ Load lh annotation ------ */    sprintf(annotfile,"%s/%s/label/lh.%s.annot",SUBJECTS_DIR,subject,annotname);    printf("/nLoading lh annotations from %s/n",annotfile);    err = MRISreadAnnotation(lhwhite, annotfile);    if (err)    {        printf("ERROR: MRISreadAnnotation() failed %s/n",annotfile);        exit(1);    }    /* ------ Load subject's rh white surface ------ */    sprintf(tmpstr,"%s/%s/surf/rh.white",SUBJECTS_DIR,subject);    printf("/nReading rh white surface /n %s/n",tmpstr);    rhwhite = MRISread(tmpstr);    if (rhwhite == NULL)    {        fprintf(stderr,"ERROR: could not read %s/n",tmpstr);        exit(1);    }    /* ------ Load subject's rh pial surface ------ */    sprintf(tmpstr,"%s/%s/surf/rh.pial",SUBJECTS_DIR,subject);    printf("/nReading rh pial surface /n %s/n",tmpstr);    rhpial = MRISread(tmpstr);    if (rhpial == NULL)    {        fprintf(stderr,"ERROR: could not read %s/n",tmpstr);        exit(1);    }    if (rhwhite->nvertices != rhpial->nvertices)    {        printf("ERROR: rh white and pial have a different "               "number of vertices (%d,%d)/n",               rhwhite->nvertices,rhpial->nvertices);        exit(1);    }//.........这里部分代码省略.........
开发者ID:guo2004131,项目名称:freesurfer,代码行数:101,


示例18: main

intmain(int argc, char *argv[]){  char         *in_fname, *out_fname, **av, *xform_fname, fname[STRLEN] ;  MRI          *mri_in, *mri_tmp ;  int          ac, nargs, msec, minutes, seconds;  int          input, ninputs ;  struct timeb start ;  TRANSFORM    *transform = NULL ;  char         cmdline[CMD_LINE_LEN], line[STRLEN], *cp, subject[STRLEN], sdir[STRLEN], base_name[STRLEN] ;  FILE         *fp ;  make_cmd_version_string    (argc, argv,     "$Id: mri_fuse_intensity_images.c,v 1.2 2011/06/02 14:05:10 fischl Exp $",     "$Name:  $", cmdline);  /* rkt: check for and handle version tag */  nargs = handle_version_option    (argc, argv,     "$Id: mri_fuse_intensity_images.c,v 1.2 2011/06/02 14:05:10 fischl Exp $",     "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  setRandomSeed(-1L) ;  Progname = argv[0] ;  DiagInit(NULL, NULL, NULL) ;  ErrorInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++)  {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 5)    ErrorExit      (ERROR_BADPARM,       "usage: %s [<options>] <longitudinal time point file> <in vol> <transform file> <out vol> /n",       Progname) ;  in_fname = argv[2] ;  xform_fname = argv[3] ;  out_fname = argv[4] ;  transform = TransformRead(xform_fname) ;  if (transform == NULL)    ErrorExit(ERROR_NOFILE, "%s: could not read transform from %s", Progname, xform_fname) ;  TimerStart(&start) ;  FileNamePath(argv[1], sdir) ;  cp = strrchr(sdir, '/') ;   if (cp)  {    strcpy(base_name, cp+1) ;    *cp = 0 ;  // remove last component of path, which is base subject name  }  ninputs = 0 ;  fp = fopen(argv[1], "r") ;  if (fp == NULL)    ErrorExit(ERROR_NOFILE, "%s: could not read time point file %s", Progname, argv[1]) ;  do  {    cp = fgetl(line, STRLEN-1, fp) ;    if (cp != NULL && strlen(cp) > 0)    {      subjects[ninputs] = (char *)calloc(strlen(cp)+1, sizeof(char)) ;      strcpy(subjects[ninputs], cp) ;      ninputs++ ;    }  } while (cp != NULL && strlen(cp) > 0) ;  fclose(fp) ;  printf("processing %d timepoints in SUBJECTS_DIR %s.../n", ninputs, sdir) ;  for (input = 0 ; input < ninputs ; input++)  {    sprintf(subject, "%s.long.%s", subjects[input], base_name) ;    printf("reading subject %s - %d of %d/n", subject, input+1, ninputs) ;    sprintf(fname, "%s/%s/mri/%s", sdir, subject, in_fname) ;    mri_tmp = MRIread(fname) ;    if (!mri_tmp)      ErrorExit(ERROR_NOFILE, "%s: could not read input MR volume from %s",                Progname, fname) ;    MRImakePositive(mri_tmp, mri_tmp) ;    if (input == 0)    {      mri_in =        MRIallocSequence(mri_tmp->width, mri_tmp->height, mri_tmp->depth,                         mri_tmp->type, ninputs) ;      if (!mri_in)        ErrorExit(ERROR_NOMEMORY,                  "%s: could not allocate input volume %dx%dx%dx%d",                  mri_tmp->width,mri_tmp->height,mri_tmp->depth,ninputs) ;      MRIcopyHeader(mri_tmp, mri_in) ;    }//.........这里部分代码省略.........
开发者ID:ewong718,项目名称:freesurfer,代码行数:101,


示例19: main

intmain(int argc, char *argv[]) {  char          **av, *hemi, *subject_name, *cp, fname[STRLEN];  char          *parc_name, *annot_name ;  int           ac, nargs, vno, i ;  MRI_SURFACE   *mris ;  MRI           *mri_parc ;  VERTEX        *v ;  double        d ;  Real          x, y, z, xw, yw, zw ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv,                                 "$Id: mris_sample_parc.c,v 1.31 2016/12/11 14:33:38 fischl Exp $", "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 4)    usage_exit() ;  subject_name = argv[1] ;  hemi = argv[2] ;  parc_name = argv[3] ;  annot_name = argv[4] ;  if (strlen(sdir) == 0)  /* if not specified explicitly as option */  {    cp = getenv("SUBJECTS_DIR") ;    if (!cp)      ErrorExit(ERROR_BADPARM,                "%s: SUBJECTS_DIR not defined in environment./n", Progname) ;    strcpy(sdir, cp) ;  }  if (parc_name[0] == '/')  // full path specified    strcpy(fname, parc_name) ;  else    sprintf(fname, "%s/%s/mri/%s", sdir, subject_name, parc_name) ;  printf("reading parcellation volume from %s.../n", fname) ;  mri_parc = MRIread(fname) ;  if (!mri_parc)    ErrorExit(ERROR_NOFILE, "%s: could not read input volume %s",              Progname, fname) ;  if (mask_fname) {    MRI *mri_mask, *mri_tmp ;    mri_tmp = MRIread(mask_fname) ;    if (mri_tmp == NULL)      ErrorExit(ERROR_BADPARM, "%s: could not load mask volume %s", Progname, mask_fname) ;    mri_mask = MRIclone(mri_tmp, NULL) ;    MRIcopyLabel(mri_tmp, mri_mask, mask_val) ;    MRIdilate(mri_mask, mri_mask) ;    MRIdilate(mri_mask, mri_mask) ;    MRIdilate(mri_mask, mri_mask) ;    MRIdilate(mri_mask, mri_mask) ;    MRIfree(&mri_tmp) ;    mri_tmp = MRIclone(mri_parc, NULL) ;    MRIcopyLabeledVoxels(mri_parc, mri_mask, mri_tmp, mask_val) ;    MRIfree(&mri_parc) ;    mri_parc = mri_tmp ;    if (Gdiag & DIAG_WRITE && DIAG_VERBOSE_ON)      MRIwrite(mri_parc, "p.mgz") ;    MRIfree(&mri_mask) ;  }  for (i = 0 ; i < ntrans ; i++) {    MRIreplaceValues(mri_parc, mri_parc, trans_in[i], trans_out[i]) ;  }  sprintf(fname, "%s/%s/surf/%s.%s", sdir, subject_name, hemi, surf_name) ;  printf("reading input surface %s.../n", fname) ;  mris = MRISread(fname) ;  if (!mris)    ErrorExit(ERROR_NOFILE, "%s: could not read surface file %s",              Progname, fname) ;  MRISsaveVertexPositions(mris, ORIGINAL_VERTICES) ;  MRIScomputeMetricProperties(mris) ;  if (avgs > 0)    MRISaverageVertexPositions(mris, avgs) ;  if (FZERO(proj_mm)) {    if (MRISreadCurvatureFile(mris, thickness_name) != NO_ERROR)      ErrorExit(ERROR_NOFILE, "%s: could not read thickness file %s",                Progname, thickness_name) ;  }  if (color_table_fname) {//.........这里部分代码省略.........
开发者ID:zkaufman,项目名称:freesurfer,代码行数:101,


示例20: main

intmain(int argc, char *argv[]){  char        **av, *in_fname, *out_fname ;  int         ac, nargs, i, label ;  MRI         *mri_in, *mri_out, *mri_kernel, *mri_smoothed ;  /* rkt: check for and handle version tag */  nargs = handle_version_option          (argc, argv,           "$Id: mri_extract_label.c,v 1.13 2011/03/02 00:04:15 nicks Exp $",           "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++)  {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 4)    usage_exit() ;  in_fname = argv[1] ;  out_fname = argv[argc-1] ;  printf("reading volume from %s.../n", in_fname) ;  mri_in = MRIread(in_fname) ;  if (!mri_in)    ErrorExit(ERROR_NOFILE, "%s: could not read MRI volume %s", Progname,              in_fname) ;  if (out_like_fname)  {    MRI *mri_tmp = MRIread(out_like_fname) ;    if (!mri_tmp)      ErrorExit      (ERROR_NOFILE,       "%s: could not read template volume from %s",       out_like_fname) ;    mri_out = MRIalloc(mri_tmp->width,                       mri_tmp->height,                       mri_tmp->depth,                       mri_tmp->type) ;    /*    MRIcopyHeader(mri_tmp, mri_out) ;*/    MRIfree(&mri_tmp) ;  }  else    mri_out = MRIclone(mri_in, NULL) ;  for (i = 2 ; i < argc-1 ; i++)  {    label = atoi(argv[i]) ;    printf("extracting label %d (%s)/n", label, cma_label_to_name(label)) ;    extract_labeled_image(mri_in, transform, label, mri_out) ;  }  if (!FZERO(sigma))  {    printf("smoothing extracted volume.../n") ;    mri_kernel = MRIgaussian1d(sigma, 10*sigma) ;    mri_smoothed = MRIconvolveGaussian(mri_out, NULL, mri_kernel) ;    MRIfree(&mri_out) ;    mri_out = mri_smoothed ;  }  /* removed for gcc3.3   * vsprintf(out_fname, out_fname, (va_list) &label) ;   */  if (dilate > 0)  {    int i ;    printf("dilating output volume %d times.../n", dilate) ;    for (i = 0 ; i < dilate ; i++)      MRIdilate(mri_out, mri_out) ;  }  if (erode > 0)  {    int i ;    printf("eroding output volume %d times.../n", erode) ;    for (i = 0 ; i < erode ; i++)      MRIerode(mri_out, mri_out) ;  }  printf("writing output to %s./n", out_fname) ;  MRIwrite(mri_out, out_fname) ;  if (exit_none_found && (nvoxels == 0))  {    printf("No voxels with specified label were found!/n");    exit(1);  }  exit(0) ;  return(0) ;  /* for ansi *///.........这里部分代码省略.........
开发者ID:ewong718,项目名称:freesurfer,代码行数:101,


示例21: main

/*---------------------------------------------------------------*/int main(int argc, char **argv) {  int n, v, c;  FILE *fp;  char *covarname;  char SumFile[2000];  char DatFile[2000];  char MatFile[2000];  char OutGDFile[2000];  int nargs;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mri_gdfglm.c,v 1.8.2.1 2011/05/05 15:29:51 greve Exp $", "$Name: stable5 $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  argc --;  argv++;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  if (argc == 0) usage_exit();  printf("/n/n");  printf("%s ",Progname);  for (n=0; n < argc; n++) printf("%s ",argv[n]);  printf("/n/n");  printf("%s/n/n",vcid);  parse_commandline(argc, argv);  check_options();  dump_options(stdout);  X = gdfMatrixDODS(fsgd,NULL);  if (X==NULL) exit(1);  if (debug) MatrixPrint(stdout,X);  Xnorm = MatrixNormalizeCol(X,NULL,NULL);  Xcondition = sqrt(MatrixNSConditionNumber(Xnorm));  MatrixFree(&Xnorm);  printf("INFO: Normalized Design Matrix Condition Number is %g/n",         Xcondition);  if (Xcondition > 100000) {    printf("ERROR: Design matrix is badly conditioned, check for linear/n"           "dependency  between columns (ie, two or more columns /n"           "that add up to another column)./n/n");    exit(1);  }  printf("Extracting DepVar/n");  y = DVTgetDepVar(dvt,nDepVarList,DepVarList,wDepVar);  printf("Performing Estimation/n");  pinvX = MatrixPseudoInverse(X,NULL);  beta = MatrixMultiply(pinvX,y,NULL);  yhat = MatrixMultiply(X,beta,NULL);  r = MatrixSubtract(y,yhat,NULL);  dof = X->rows-X->cols;  rvar = VectorVar(r, &rmean);  rvar = rvar * (X->rows-1)/dof;  printf("Beta: -----------------/n");  MatrixPrint(stdout,beta);  printf("---------------------------------/n/n");  printf("rvar = %g, rstd = %g/n",rvar,sqrt(rvar));  C = gdfContrastDODS(fsgd, wClass, wCovar);  printf("C: -----------------/n");  MatrixPrint(stdout,C);  printf("---------------------------------/n/n");  ces = MatrixMultiply(C,beta,NULL);  vmf = ContrastVMF(X,C);  tval = ces->rptr[1][1]/sqrt(rvar*vmf);  sigtval = sigt(tval, rint(dof));  printf("ces = %g, vmf = %g, t = %g, sigt = %g/n",         ces->rptr[1][1],vmf,tval,sigtval);  sprintf(SumFile,"%s.sum",OutBase);  fp = fopen(SumFile,"w");  fprintf(fp,"mri_gdfglm summary file/n/n");  fprintf(fp,"Group Descriptor File %s/n",GDFile);  fprintf(fp,"Dependent Variable File %s/n",DVTFile);  fprintf(fp,"Dependent Variable Weights: ");  if (wDepVar == NULL)    fprintf(fp," all 1s/n");  else {    fprintf(fp,"/n");    for (n=0; n < nwDepVar; n++)      fprintf(fp," %s %g/n",DepVarList[n],wDepVar[n]);  }  fprintf(fp,"/n");  fprintf(fp,"Class Contrast Weights: ");  if (nwClass == 0)    fprintf(fp," all 1s/n");  else {    fprintf(fp,"/n");//.........这里部分代码省略.........
开发者ID:guo2004131,项目名称:freesurfer,代码行数:101,


示例22: Rexy_WinMain

/**  * @brief	Rexy's Main Event Handler * @if HISTORY *		26-Jul-2006	Joshua Revised to support capsulated event handling * @endif */void Rexy_WinMain(void){    msg		nMsg;//    bool	bCheckStartTime = TRUE;	MsgType	NullMessage = { 0, 0, 0};	MsgType CreateMessage = { AWM_CREATE, 0, 0 };	WND		hFocusedWindow;	int		wmsg;		// Initialize message queue	MgqInitFreeStructures();			LckInit();		// Initialize application	AppInit();	DiagInit();	// Set default font	FntSetFont(&FntGlobalContext, 0);	// Execute application of which state id is 0	StaGotoState( NULL, 0, NullMessage , CreateMessage );			while ( MsgGetMessage( hFocusedWindow = WinGetSelection(), &nMsg ) )    {		if ( DiagHandler() != DIAG_RET_OK )		{			TrcPrint("[FATAL ERROR] DiagHandler/n");			break;		}        TRACE( TR_RexyCore, TR_LEVEL1, ("MsgDispatch in GetMessage Loop with Msg %x/n", nMsg.wmsg) );		// Dispatch message to current state procedure first		// in case of that we could have AWM_DESTROY or something		// big event which can affect all open window		if ( nMsg.window ) 		{			wmsg = AWM_CHILDMSG;			MsgSetChildMsg( &nMsg );		}		else		{			wmsg = nMsg.wmsg;		}		if ( !StaGetCurrentProc()( (WND)nMsg.window, wmsg, nMsg.wparam, nMsg.lparam ) )		{ 			// Since current state proc didn't handle the message,			// this message will be floating among its window & child windows, Joshua 			//if ( !MsgRouteMessage( ( ((WND)nMsg.window)->parentwin != NULL ? ((WND)nMsg.window)->parentwin : (WND)nMsg.window ), &nMsg ) )			if ( !MsgRouteMessage( PrvFindTopWindow((WND)nMsg.window), &nMsg ) )			{				// Since current window proc didn't handle the message,				// we will hand this over to system event handler				MsgDispatchSystemMessage( &nMsg );			}		}    }    DiagDeinit();	TrcPrint("before sending AWM_DESTROY/n");	StaGetCurrentProc() ((WND)nMsg.window, AWM_DESTROY, 0, 0);	TrcPrint("after sending AWM_DESTROY/n");    TRACE(TR_RexyCore, TR_LEVEL1, ("MsgGetMessage End/n"));}
开发者ID:jmjeong-nemus,项目名称:rexy-embedded,代码行数:75,


示例23: main

intmain(int argc, char *argv[]){  char         **av, *in_fname,fname[STRLEN],hemi[10], path[STRLEN],               name[STRLEN],*cp ;  int          ac, nargs, nhandles ;  MRI_SURFACE  *mris ;  double       ici, fi, var ;  /* rkt: check for and handle version tag */  nargs = handle_version_option    (argc, argv,     "$Id: mris_curvature.c,v 1.31 2011/03/02 00:04:30 nicks Exp $",     "$Name: stable5 $");  if (nargs && argc - nargs == 1)  {    exit (0);  }  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++)  {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 2)  {    usage_exit() ;  }  in_fname = argv[1] ;  FileNamePath(in_fname, path) ;  FileNameOnly(in_fname, name) ;  cp = strchr(name, '.') ;  if (!cp)    ErrorExit(ERROR_BADPARM, "%s: could not scan hemisphere from '%s'",              Progname, fname) ;  strncpy(hemi, cp-2, 2) ;  hemi[2] = 0 ;  if (patch_flag)  /* read the orig surface, then the patch file */  {    sprintf(fname, "%s/%s.orig", path, hemi) ;    mris = MRISfastRead(fname) ;    if (!mris)      ErrorExit(ERROR_NOFILE, "%s: could not read surface file %s",                Progname, in_fname) ;    if (Gdiag & DIAG_SHOW)    {      fprintf(stderr, "reading patch file %s.../n", in_fname) ;    }    if (MRISreadPatch(mris, in_fname) != NO_ERROR)      ErrorExit(ERROR_NOFILE, "%s: could not read patch file %s",                Progname, in_fname) ;  }  else     /* just read the surface normally */  {    mris = MRISread(in_fname) ;    if (!mris)      ErrorExit(ERROR_NOFILE, "%s: could not read surface file %s",                Progname, in_fname) ;  }  MRISsetNeighborhoodSize(mris, nbrs) ;  if (nbhd_size > 0)  {    MRISsampleAtEachDistance(mris, nbhd_size, nbrs_per_distance) ;  }  if (max_mm > 0)  {    float ratio ;    MRISstoreMetricProperties(mris) ;    if (MRISreadCanonicalCoordinates(mris, "sphere") != NO_ERROR)    {      ErrorExit(ERROR_NOFILE,                "%s: could not read canonical coordinates from ?h.sphere",                Progname);    }    MRISsaveVertexPositions(mris, ORIGINAL_VERTICES) ;    MRISrestoreVertexPositions(mris, CANONICAL_VERTICES) ;    MRIScomputeMetricProperties(mris) ;    ratio = mris->orig_area / M_PI * mris->radius * mris->radius * 4.0 ;    ratio = mris->orig_area / mris->total_area ;    MRISscaleBrain(mris, mris, sqrt(ratio)) ;    MRISsaveVertexPositions(mris, CANONICAL_VERTICES) ;    MRISrestoreVertexPositions(mris, ORIGINAL_VERTICES) ;    MRIScomputeMetricProperties(mris) ;//.........这里部分代码省略.........
开发者ID:guo2004131,项目名称:freesurfer,代码行数:101,


示例24: main

intmain(int argc, char *argv[]){  char         **av, *source_fname, *target_fname, *out_fname, fname[STRLEN] ;  int          ac, nargs, new_transform = 0, pad ;  MRI          *mri_target, *mri_source, *mri_orig_source ;  MRI_REGION   box ;  struct timeb start ;  int          msec, minutes, seconds ;  GCA_MORPH    *gcam ;  MATRIX       *m_L/*, *m_I*/ ;  LTA          *lta ;  /* initialize the morph params */  memset(&mp, 0, sizeof(GCA_MORPH_PARMS));  /* for nonlinear morph */  mp.l_jacobian = 1 ;  mp.min_sigma = 0.4 ;  mp.l_distance = 0 ;  mp.l_log_likelihood = .025 ;  mp.dt = 0.005 ;  mp.noneg = True ;  mp.exp_k = 20 ;  mp.diag_write_snapshots = 1 ;  mp.momentum = 0.9 ;  if (FZERO(mp.l_smoothness))    mp.l_smoothness = 2 ;  mp.sigma = 8 ;  mp.relabel_avgs = -1 ;  mp.navgs = 256 ;  mp.levels = 6 ;  mp.integration_type = GCAM_INTEGRATE_BOTH ;  mp.nsmall = 1 ;  mp.reset_avgs = -1 ;  mp.npasses = 3 ;  mp.regrid = regrid? True : False ;  mp.tol = 0.1 ;  mp.niterations = 1000 ;	  TimerStart(&start) ;  setRandomSeed(-1L) ;  DiagInit(NULL, NULL, NULL) ;  ErrorInit(NULL, NULL, NULL) ;  Progname = argv[0] ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++)    {      nargs = get_option(argc, argv) ;      argc -= nargs ;      argv += nargs ;    }  if (argc < 4)    usage_exit(1) ;  source_fname = argv[1] ;  target_fname = argv[2] ;  out_fname = argv[3] ;  FileNameOnly(out_fname, fname) ;  FileNameRemoveExtension(fname, fname) ;  strcpy(mp.base_name, fname) ;  mri_source = MRIread(source_fname) ;  if (!mri_source)    ErrorExit(ERROR_NOFILE, "%s: could not read source label volume %s",	      Progname, source_fname) ;  if (mri_source->type == MRI_INT)    {      MRI *mri_tmp = MRIchangeType(mri_source, MRI_FLOAT, 0, 1, 1) ;      MRIfree(&mri_source); mri_source = mri_tmp ;    }  mri_target = MRIread(target_fname) ;  if (!mri_target)    ErrorExit(ERROR_NOFILE, "%s: could not read target label volume %s",	      Progname, target_fname) ;  if (mri_target->type == MRI_INT)    {      MRI *mri_tmp = MRIchangeType(mri_target, MRI_FLOAT, 0, 1, 1) ;      MRIfree(&mri_target); mri_target = mri_tmp ;    }  if (erosions > 0)    {      int n ;      for (n = 0 ; n < erosions ; n++)	{	  MRIerodeZero(mri_target, mri_target) ;	  MRIerodeZero(mri_source, mri_source) ;	}    }  if (scale_values > 0)    {      MRIscalarMul(mri_source, mri_source, scale_values) ;      MRIscalarMul(mri_target, mri_target, scale_values) ;    }  if (transform && transform->type == MORPH_3D_TYPE)    TransformRas2Vox(transform, mri_source,NULL) ;  if (use_aseg == 0)//.........这里部分代码省略.........
开发者ID:guo2004131,项目名称:freesurfer,代码行数:101,


示例25: main

intmain(int argc, char *argv[]){  char          **av, *output_fname ;  int           ac, nargs, msec, mode=-1 ;  LABEL         *area = NULL ;  MRI_SURFACE   *mris ;  struct timeb  then ;  MRI           *mri_dist ;  /* rkt: check for and handle version tag */  nargs = handle_version_option     (argc, argv,      "$Id: mris_distance_transform.c,v 1.5 2013/04/12 20:59:17 fischl Exp $",      "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Gdiag |= DIAG_SHOW ;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++)  {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 4)    usage_exit() ;  TimerStart(&then) ;  mris = MRISread(argv[1]) ;  if (mris == NULL)    ErrorExit(ERROR_NOFILE, "%s: could not read surface %s",              Progname, argv[1]) ;  if (vol)  {/*    mri_template = MRIread(argv[2]) ;    if (!mri_template)      ErrorExit(ERROR_NOFILE, "%s: could not read MRI volume from %s/n", Progname, argv[2]) ;*/  }  else  {    area = LabelRead(NULL, argv[2]) ;    if (area == NULL)      ErrorExit(ERROR_NOFILE, "%s: could not read label %s",		Progname, argv[2]) ;        if (anterior_dist > 0)      LabelCropAnterior(area, anterior_dist) ;    if (posterior_dist > 0)      LabelCropPosterior(area, posterior_dist) ;  }    if (stricmp(argv[3], "signed") == 0)    mode = DTRANS_MODE_SIGNED ;  else if (stricmp(argv[3], "unsigned") == 0)    mode = DTRANS_MODE_UNSIGNED ;  else if (stricmp(argv[3], "outside") == 0)    mode = DTRANS_MODE_OUTSIDE ;  else  {    print_usage() ;    ErrorExit(ERROR_BADPARM, "unrecognized mode choice %s/n", argv[3]) ;  }  output_fname = argv[4] ;  MRIScomputeMetricProperties(mris) ;  if (vol)  {    mri_dist = MRIScomputeDistanceToSurface(mris, NULL, 0.25) ;    MRIwrite(mri_dist, argv[4]) ;  }  else  {    MRIScomputeSecondFundamentalForm(mris) ;    if (normalize > 0)    {      normalize = sqrt(mris->total_area) ;      printf("normalizing surface distances by sqrt(%2.1f) = %2.1f/n", mris->total_area,normalize) ;    }    if (divide > 1)    {      int  i ;      char fname[STRLEN], ext[STRLEN], base_name[STRLEN] ;      LABEL *area_division ;            FileNameExtension(output_fname, ext) ;      FileNameRemoveExtension(output_fname, base_name) ;      LabelMark(area, mris) ;//.........这里部分代码省略.........
开发者ID:neurodebian,项目名称:freesurfer,代码行数:101,


示例26: main

intmain(int argc, char *argv[]){  char        **av, *in_vol, *out_vol;  int         ac, nargs;  MRI         *mri_in, *mri_out, *mri_tmp ;  LTA         *lta = 0;  MATRIX *i_to_r_src = 0; /* src geometry of the input LTA */  MATRIX *V_to_V = 0; /* Final voxel-to-voxel transform */  MATRIX *r_to_i_dst = 0; /* dst geometry of the input LTA */  MATRIX *m_tmp = 0;  MATRIX *i_to_r_reg = 0; /* i_to_r of the volume after registration */  MATRIX *r_to_i_out = 0; /* r_to_i of the final output volume */  VOL_GEOM vgm_in;  int x, y, z;  double maxV, minV, value;  //  MATRIX *i_to_r, *r_to_i;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mri_transform_to_COR.c,v 1.8 2011/03/02 00:04:55 nicks Exp $", "$Name: stable5 $");  if (nargs && argc - nargs == 1)    usage_exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++)  {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 3)    usage_exit(0) ;  in_vol = argv[1] ;  out_vol = argv[2] ;  printf("reading volume from %s.../n", in_vol) ;  mri_in = MRIread(in_vol) ;  if (!mri_in)    ErrorExit(ERROR_NOFILE, "%s: could not read MRI volume %s", Progname,              in_vol) ;  /* Convert mri_in to float type */  /* double would be more accurate */  if (mri_in->type != MRI_FLOAT)  {    printf("Input volume type is %d/n", mri_in->type);    printf("Change input volume to float type for convenience and accuracy");    mri_tmp = MRIchangeType(mri_in, MRI_FLOAT, 0, 1.0, 1);    MRIfree(&mri_in);    mri_in = mri_tmp; //swap  }  /* Get input volume geometry, which is needed to compute i_to_r   * and r_to_i of input volume. Note that i_to_r and r_to_i assumed   * a certain prespecified c_r, c_a, c_s   */  getVolGeom(mri_in, &vgm_in);  maxV = -10000.0;  minV = 10000.0;  for (z=0; z < mri_in->depth; z++)    for (y=0; y< mri_in->height; y++)      for (x=0; x < mri_in->width; x++)      {        if (MRIFvox(mri_in, x, y, z) > maxV )          maxV = MRIFvox(mri_in, x, y,z) ;        if (MRIFvox(mri_in, x, y, z) < minV )          minV = MRIFvox(mri_in, x, y,z) ;      }  printf("Input volume has max = %g, min =%g/n", maxV, minV);  printf("Scale input volume by %g /n", scale);  maxV = -10000.0;  minV = 10000.0;  for (z=0; z < mri_in->depth; z++)    for (y=0; y< mri_in->height; y++)      for (x=0; x < mri_in->width; x++)      {        MRIFvox(mri_in, x, y, z) *= scale;        if (MRIFvox(mri_in, x, y, z) > maxV )          maxV = MRIFvox(mri_in, x, y,z) ;        if (MRIFvox(mri_in, x, y, z) < minV )          minV = MRIFvox(mri_in, x, y,z) ;      }  printf("Input volume after scaling has max = %g, min =%g/n", maxV, minV);  /* Try to compute the Voxel_to_Voxel transform from the input volume   * and the registration target/reference volume!//.........这里部分代码省略.........
开发者ID:guo2004131,项目名称:freesurfer,代码行数:101,


示例27: main

/*---------------------------------------------------------------*/int main(int argc, char *argv[]) {  int nargs, n, err;  char tmpstr[2000], *signstr=NULL,*SUBJECTS_DIR, fname[2000];  //char *OutDir = NULL;  RFS *rfs;  int nSmoothsPrev, nSmoothsDelta;  MRI *z, *zabs=NULL, *sig=NULL, *p=NULL;  int FreeMask = 0;  int nthSign, nthFWHM, nthThresh;  double sigmax, zmax, threshadj, csize, csizeavg, searchspace,avgvtxarea;  int csizen;  int nClusters, cmax,rmax,smax;  SURFCLUSTERSUM *SurfClustList;  struct timeb  mytimer;  LABEL *clabel;  FILE *fp, *fpLog=NULL;  nargs = handle_version_option (argc, argv, vcid, "$Name: stable5 $");  if (nargs && argc - nargs == 1) exit (0);  argc -= nargs;  cmdline = argv2cmdline(argc,argv);  uname(&uts);  getcwd(cwd,2000);  Progname = argv[0] ;  argc --;  argv++;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  if (argc == 0) usage_exit();  parse_commandline(argc, argv);  check_options();  if (checkoptsonly) return(0);  dump_options(stdout);  if(LogFile){    fpLog = fopen(LogFile,"w");    if(fpLog == NULL){      printf("ERROR: opening %s/n",LogFile);      exit(1);    }    dump_options(fpLog);  }   if(SynthSeed < 0) SynthSeed = PDFtodSeed();  srand48(SynthSeed);  SUBJECTS_DIR = getenv("SUBJECTS_DIR");  // Create output directory  printf("Creating %s/n",OutTop);  err = fio_mkdirp(OutTop,0777);  if(err) exit(1);  for(nthFWHM=0; nthFWHM < nFWHMList; nthFWHM++){    for(nthThresh = 0; nthThresh < nThreshList; nthThresh++){      for(nthSign = 0; nthSign < nSignList; nthSign++){	if(SignList[nthSign] ==  0) signstr = "abs"; 	if(SignList[nthSign] == +1) signstr = "pos"; 	if(SignList[nthSign] == -1) signstr = "neg"; 	sprintf(tmpstr,"%s/fwhm%02d/%s/th%02d",		OutTop,(int)round(FWHMList[nthFWHM]),		signstr,(int)round(10*ThreshList[nthThresh]));	sprintf(fname,"%s/%s.csd",tmpstr,csdbase);	if(fio_FileExistsReadable(fname)){	  printf("ERROR: output file %s exists/n",fname);	  if(fpLog) fprintf(fpLog,"ERROR: output file %s exists/n",fname);          exit(1);	}	err = fio_mkdirp(tmpstr,0777);	if(err) exit(1);      }    }  }  // Load the target surface  sprintf(tmpstr,"%s/%s/surf/%s.%s",SUBJECTS_DIR,subject,hemi,surfname);  printf("Loading %s/n",tmpstr);  surf = MRISread(tmpstr);  if(!surf) return(1);  // Handle masking  if(LabelFile){    printf("Loading label file %s/n",LabelFile);    sprintf(tmpstr,"%s/%s/label/%s.%s.label",	    SUBJECTS_DIR,subject,hemi,LabelFile);    if(!fio_FileExistsReadable(tmpstr)){      printf(" Cannot find label file %s/n",tmpstr);      sprintf(tmpstr,"%s",LabelFile);      printf(" Trying label file %s/n",tmpstr);      if(!fio_FileExistsReadable(tmpstr)){	printf("  ERROR: cannot read or find label file %s/n",LabelFile);	exit(1);      }    }    printf("Loading %s/n",tmpstr);    clabel = LabelRead(NULL, tmpstr);    mask = MRISlabel2Mask(surf, clabel, NULL);    FreeMask = 1;  }//.........这里部分代码省略.........
开发者ID:guo2004131,项目名称:freesurfer,代码行数:101,


示例28: main

intmain(int argc, char *argv[]) {  char         **av, surf_fname[100], *template_fname, *out_fname, *surf_dir,  *hemi, *sphere_name ;  int          ac, nargs ;  MRI_SURFACE  *mris ;  MRI_SP       *mrisp, *mrisp_template ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, "$Id: mris_add_template.c,v 1.8 2011/03/02 00:04:26 nicks Exp $", "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  argc -= nargs;  Progname = argv[0] ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++) {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  if (argc < 5)    usage_exit() ;  surf_dir = argv[1] ;  hemi = argv[2] ;  sphere_name = argv[3] ;  out_fname = template_fname = argv[4] ;  if (argc > 5)    out_fname = argv[5] ;  sprintf(surf_fname, "%s/%s.%s", surf_dir, hemi, sphere_name) ;  fprintf(stderr, "reading new surface %s.../n", surf_fname) ;  mris = MRISread(surf_fname) ;  if (!mris)    ErrorExit(ERROR_NOFILE, "%s: could not read surface file %s",              Progname, surf_fname) ;  MRISsaveVertexPositions(mris, ORIGINAL_VERTICES) ;  if (!FileExists(template_fname))  /* first time - create it */  {    fprintf(stderr, "creating new parameterization.../n") ;    mrisp_template = MRISPalloc(scale, PARAM_IMAGES);  } else {    fprintf(stderr, "reading template parameterization from %s.../n",            template_fname) ;    mrisp_template = MRISPread(template_fname) ;    if (!mrisp_template)      ErrorExit(ERROR_NOFILE, "%s: could not open template file %s",                Progname, template_fname) ;  }  /*    first read in inflated surface and use it to build the first template    set.    */  sprintf(surf_fname, "%s/%s.%s", surf_dir, hemi, INFLATED_NAME) ;  if (MRISreadVertexPositions(mris, surf_fname) != NO_ERROR)    ErrorExit(ERROR_NOFILE, "%s: could not read surface file %s",              Progname, surf_fname) ;  MRISsetNeighborhoodSize(mris, nbrs) ;  MRIScomputeMetricProperties(mris) ;  MRIScomputeSecondFundamentalForm(mris) ;  MRISuseMeanCurvature(mris) ;  MRISaverageCurvatures(mris, navgs) ;  MRISrestoreVertexPositions(mris, ORIGINAL_VERTICES) ;  MRISnormalizeCurvature(mris, which_norm) ;  fprintf(stderr, "computing parameterization for surface %s.../n",surf_fname);  mrisp = MRIStoParameterization(mris, NULL, scale, 0) ;  MRISPcombine(mrisp, mrisp_template, 0) ;  MRISPfree(&mrisp) ;  /*    now do the same thing with the smoothwm curvatures.    */  sprintf(surf_fname, "%s/%s.%s", surf_dir, hemi, SMOOTH_NAME) ;  if (MRISreadVertexPositions(mris, surf_fname) != NO_ERROR)    ErrorExit(ERROR_NOFILE, "%s: could not read surface file %s",              Progname, surf_fname) ;  MRIScomputeMetricProperties(mris) ;  if (curvature_fname[0])    MRISreadCurvatureFile(mris, curvature_fname) ;  else {    MRIScomputeSecondFundamentalForm(mris) ;    MRISuseMeanCurvature(mris) ;  }  MRISaverageCurvatures(mris, navgs) ;  MRISrestoreVertexPositions(mris, ORIGINAL_VERTICES) ;  if (curvature_fname[0])    fprintf(stderr, "computing parameterization for surface %s (%s).../n",            surf_fname, curvature_fname);  else    fprintf(stderr, "computing parameterization for surface %s.../n",            surf_fname);  MRISnormalizeCurvature(mris, which_norm) ;//.........这里部分代码省略.........
开发者ID:ewong718,项目名称:freesurfer,代码行数:101,


示例29: main

/***-------------------------------------------------------****/int main(int argc, char *argv[]){  int  nargs, ac, nvolumes;  char **av ;  MRI  *outmri0 = NULL, *outmri1 = NULL, *outmri2 = NULL, *outmri3 = NULL, *outmri4 = NULL, *segmri ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, vcid, "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  Progname = argv[0] ;  argc -= nargs;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++)  {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  nvolumes = argc-1 ;  printf("processing %d input files/n", nvolumes) ;  if (nvolumes != 2)    usage_exit() ;  printf("processing %d input files/n", nvolumes) ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  char *fname = argv[1] ;  printf("processing segmentation input volume %s/n", fname) ;  segmri = MRIread(fname) ;  //int width  = segmri->width ;  //int height = segmri->height ;  //int depth  = segmri->depth ;  char *outputfname = argv[2] ;  printf("output fname %s/n", outputfname) ;  // GM/WM  outmri0 = MRIcopy(segmri, NULL) ;  // MRIwrite(outmri0, "/tmp/segmri.mgz") ;  correct_gmwm_boundaries(segmri, outmri0);  // MRIwrite(outmri0, "/tmp/outmri0.mgz") ;  // putamen / pallidum  outmri1 = MRIcopy(outmri0, NULL) ;  correct_putamen_pallidum_boundaries(outmri0, outmri1);  // MRIwrite(outmri1, "/tmp/outmri1.mgz") ;  // GM / WM  outmri2 = MRIcopy(outmri1, NULL) ;  correct_gmwm_boundaries_2(outmri1, outmri2);  // MRIwrite(outmri2, "/tmp/outmri2.mgz") ;  // find largest connected components and close holes   outmri3 = MRIcopy(segmri, NULL) ;  MRIvalueFill(outmri3, 0);  correct_largestCC_and_fill_holes(outmri2, outmri3);  // MRIwrite(outmri3, "/tmp/outmri3.mgz") ;  // fill leftover voxels in origiinal mask  outmri4 = MRIcopy(outmri3, NULL) ;  fill_leftover_voxels(segmri, outmri3, outmri4);  // MRIwrite(outmri4, "/tmp/outmri4.mgz") ;  //  outmri0 = MRIcopy(outmri4, NULL) ;  correct_gmwm_boundaries(outmri4, outmri0);  // MRIwrite(outmri0, "/tmp/redone-outmri0.mgz") ;  outmri1 = MRIcopy(outmri0, NULL) ;  correct_putamen_pallidum_boundaries(outmri0, outmri1);  // MRIwrite(outmri1, "/tmp/redone-outmri1.mgz") ;  outmri2 = MRIcopy(outmri1, NULL) ;  correct_gmwm_boundaries_2(outmri1, outmri2);  // MRIwrite(outmri2, "/tmp/redone-outmri2.mgz") ;  //  printf("writing output to %s/n", outputfname) ;  MRIwrite(outmri2, outputfname) ;  MRIfree(&segmri) ;  MRIfree(&outmri0);  MRIfree(&outmri1);  MRIfree(&outmri2);  MRIfree(&outmri3);  MRIfree(&outmri4);  exit(0);} /* end main() */
开发者ID:neurodebian,项目名称:freesurfer,代码行数:89,


示例30: main

/***-------------------------------------------------------****/int main(int argc, char *argv[]){  int  nargs, index, ac, nvolumes;  char **av ;  MRI  *mri_or = NULL, *mri ;  /* rkt: check for and handle version tag */  nargs = handle_version_option (argc, argv, vcid, "$Name:  $");  if (nargs && argc - nargs == 1)    exit (0);  Progname = argv[0] ;  argc -= nargs;  ac = argc ;  av = argv ;  for ( ; argc > 1 && ISOPTION(*argv[1]) ; argc--, argv++)  {    nargs = get_option(argc, argv) ;    argc -= nargs ;    argv += nargs ;  }  nvolumes = argc-2 ;  if (nvolumes <= 0)    usage_exit() ;  printf("processing %d input files/n", nvolumes) ;  ErrorInit(NULL, NULL, NULL) ;  DiagInit(NULL, NULL, NULL) ;  for (index = 0 ; index < nvolumes ; index++)  {    char *fname = argv[index+1] ;    printf("processing input volume %d of %d: %s/n",           index+1, nvolumes, fname) ;    mri = MRIread(fname) ;    if (index == 0){      mri_or = MRIcopy(mri, NULL) ;    // if nvolumes == 1 binarize the volume! LZ: MRIbinarize(MRI *mri_src, MRI *mri_dst, float threshold, float low_val,float hi_val)      if (nvolumes == 1) {	if(use_orig_value)	  MRIorVal(mri, mri_or, mri_or, 0) ;	else	  MRIor(mri, mri_or, mri_or, 0) ;      }    }     else {      if(use_orig_value)	MRIorVal(mri, mri_or, mri_or, 0) ;      else	MRIor(mri, mri_or, mri_or, 0) ;    }    MRIfree(&mri) ;  }  printf("writing output to %s/n", argv[argc-1]) ;  MRIwrite(mri_or, argv[argc-1]) ;  exit(0);} /* end main() */
开发者ID:ewong718,项目名称:freesurfer,代码行数:62,



注:本文中的DiagInit函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DialogBoxParamW函数代码示例
C++ DiagBreak函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。