Doxygen Source Code Documentation
vol2surf.h File Reference
Go to the source code of this file.
Define Documentation
|
Definition at line 28 of file vol2surf.h. Referenced by check_SUMA_surface(), and validate_v2s_inputs(). |
|
Definition at line 27 of file vol2surf.h. |
|
Definition at line 15 of file vol2surf.h. Referenced by directed_dist(). |
|
Definition at line 7 of file vol2surf.h. Referenced by set_smap_opts(). |
|
Definition at line 6 of file vol2surf.h. Referenced by segment_imarr(), and set_smap_opts(). |
|
Definition at line 4 of file vol2surf.h. Referenced by copy_surfaces(), init_options(), read_surf_files(), and suma2afni_surf(). |
|
Definition at line 11 of file vol2surf.h. Referenced by get_surf_data(), and PV2S_process_args(). |
|
Definition at line 12 of file vol2surf.h. Referenced by init_options(), and PV2S_process_args(). |
|
Definition at line 13 of file vol2surf.h. Referenced by get_surf_data(), init_options(), and PV2S_process_args(). |
|
Definition at line 25 of file vol2surf.h. Referenced by fill_sopt_default(), init_options(), and PV2S_process_args(). |
|
Definition at line 20 of file vol2surf.h. Referenced by alloc_output_mem(), and init_options(). |
|
Definition at line 21 of file vol2surf.h. Referenced by alloc_output_mem(), and init_options(). |
|
Definition at line 22 of file vol2surf.h. Referenced by alloc_output_mem(), and init_options(). |
|
Definition at line 18 of file vol2surf.h. Referenced by alloc_output_mem(), fill_sopt_default(), init_options(), and PV2S_process_args(). |
|
Definition at line 17 of file vol2surf.h. |
|
Definition at line 23 of file vol2surf.h. Referenced by alloc_output_mem(), and init_options(). |
|
Definition at line 24 of file vol2surf.h. Referenced by alloc_output_mem(), and init_options(). |
|
Definition at line 19 of file vol2surf.h. Referenced by alloc_output_mem(), and init_options(). |
|
Definition at line 9 of file vol2surf.h. Referenced by PV2S_process_args(), and validate_v2s_inputs(). |
Enumeration Type Documentation
|
Definition at line 31 of file vol2surf.h. Referenced by v2s_map_type().
00032 { 00033 E_SMAP_INVALID = 0, /* do not change INVALID (from 0) */ 00034 E_SMAP_MASK, E_SMAP_MIDPT, 00035 E_SMAP_MASK2, 00036 E_SMAP_AVE, E_SMAP_COUNT, 00037 E_SMAP_MIN, E_SMAP_MAX, 00038 E_SMAP_MAX_ABS, E_SMAP_SEG_VALS, 00039 /* sorted ones: */ 00040 E_SMAP_MEDIAN, E_SMAP_MODE, 00041 E_SMAP_FINAL /* leave FINAL at the end */ 00042 } v2s_map_nums; |
Function Documentation
|
Definition at line 183 of file vol2surf.c. References check_SUMA_surface(), v2s_param_t::cmask, v2s_opts_t::debug, disp_v2s_opts_t(), v2s_opts_t::dnode, DSET_NVOX, ENTRY, v2s_opts_t::f_steps, fill_sopt_default(), v2s_opts_t::gp_index, v2s_param_t::gpar, SUMA_surface::label, v2s_opts_t::map, v2s_param_t::nsurf, v2s_param_t::nvox, v2s_opts_t::outfile_1D, v2s_opts_t::outfile_niml, v2s_param_t::over_steps, RETURN, v2s_plugin_opts::sopt, v2s_param_t::surf, THD_is_file(), v2s_opts_t::use_norms, v2s_vals_over_steps(), v2s_write_outfile_1D(), v2s_write_outfile_niml(), and vol2surf(). Referenced by AFNI_vol2surf_func_overlay().
00186 { 00187 static v2s_param_t P; 00188 v2s_opts_t * sopt, sopt_def; 00189 v2s_results * res; 00190 00191 ENTRY("afni_vol2surf"); 00192 00193 if ( !gpar ) RETURN(NULL); 00194 00195 if ( check_SUMA_surface(sA) ) RETURN(NULL); 00196 if ( sB && check_SUMA_surface(sB) ) RETURN(NULL); 00197 00198 if ( use_defaults ) 00199 { 00200 sopt = &sopt_def; 00201 fill_sopt_default(sopt, sB ? 2 : 1); /* 1 or 2 surfaces */ 00202 00203 /* but apply any debug options */ 00204 sopt->debug = gv2s_plug_opts.sopt.debug; 00205 sopt->dnode = gv2s_plug_opts.sopt.dnode; 00206 } 00207 else 00208 sopt = &gv2s_plug_opts.sopt; 00209 00210 sopt->gp_index = gp_index; 00211 00212 /* now fill the param struct based on the inputs */ 00213 memset(&P, 0, sizeof(P)); 00214 P.gpar = gpar; 00215 P.cmask = mask; 00216 P.nvox = DSET_NVOX(gpar); 00217 P.over_steps = v2s_vals_over_steps(sopt->map); 00218 P.nsurf = sB ? 2 : 1; 00219 P.surf[0] = *sA; 00220 00221 /* verify steps, in case the user has not selected 2 surfaces */ 00222 if ( P.nsurf == 1 && ! sopt->use_norms ) 00223 sopt->f_steps = 1; 00224 00225 if ( sB ) P.surf[1] = *sB; 00226 00227 if ( gv2s_plug_opts.sopt.debug > 1 ) 00228 disp_v2s_opts_t(" surf options: ", sopt); 00229 00230 /* fire it up */ 00231 00232 res = vol2surf(sopt, &P); 00233 00234 /* if the user wants output files, here they are (don't error check) */ 00235 if (res && sopt->outfile_1D ) 00236 { 00237 if ( THD_is_file(sopt->outfile_1D) ) 00238 fprintf(stderr,"** over-writing 1D output file '%s'\n", 00239 sopt->outfile_1D); 00240 v2s_write_outfile_1D(sopt, res, P.surf[0].label); 00241 } 00242 00243 if (res && sopt->outfile_niml ) 00244 { 00245 if ( THD_is_file(sopt->outfile_niml) ) 00246 fprintf(stderr,"** over-writing niml output file '%s'\n", 00247 sopt->outfile_niml); 00248 v2s_write_outfile_niml(sopt, res, 0); 00249 } 00250 00251 RETURN(res); 00252 } |
|
Definition at line 1726 of file vol2surf.c. References ENTRY, MRI_IMARR::imarr, MRI_FLOAT_PTR, MRI_IMARR::nall, MRI_IMARR::num, MRI_IMAGE::nx, and RETURN. Referenced by set_surf_results().
01727 { 01728 float * fp; 01729 int cr, cc; 01730 01731 ENTRY("disp_mri_imarr"); 01732 01733 if ( info ) 01734 fputs( info, stderr ); 01735 01736 if ( dp == NULL ) 01737 { 01738 fprintf(stderr, "disp_mri_imarr: dp == NULL\n"); 01739 RETURN(-1); 01740 } 01741 01742 fprintf(stderr, 01743 "mri_imarr struct at %p :\n" 01744 " num, nall = %d, %d\n", 01745 dp, dp->num, dp->nall ); 01746 01747 for ( cr = 0; cr < dp->num; cr++ ) 01748 { 01749 fp = MRI_FLOAT_PTR(dp->imarr[cr]); 01750 fprintf(stderr, " %3d: ", cr); 01751 for ( cc = 0; cc < dp->imarr[cr]->nx; cc++, fp++ ) 01752 fprintf(stderr, "%f ", *fp ); 01753 fputc( '\n', stderr ); 01754 } 01755 01756 RETURN(0); 01757 } |
|
Definition at line 1566 of file vol2surf.c. References v2s_opts_t::debug, v2s_opts_t::dnode, ENTRY, v2s_opts_t::f_index, v2s_opts_t::f_p1_fr, v2s_opts_t::f_p1_mm, v2s_opts_t::f_pn_fr, v2s_opts_t::f_pn_mm, v2s_opts_t::f_steps, v2s_opts_t::first_node, v2s_opts_t::gp_index, v2s_opts_t::last_node, v2s_opts_t::map, v2s_opts_t::no_head, v2s_opts_t::norm_dir, v2s_opts_t::norm_len, v2s_opts_t::outfile_1D, v2s_opts_t::outfile_niml, RETURN, v2s_opts_t::skip_cols, and v2s_opts_t::use_norms. Referenced by afni_vol2surf(), PV2S_process_args(), and set_smap_opts().
01567 { 01568 ENTRY("disp_v2s_opts_t"); 01569 01570 if ( info ) 01571 fputs( info, stderr ); 01572 01573 if ( sopt == NULL ) 01574 { 01575 fprintf(stderr, "disp_v2s_opts_t: sopt == NULL\n"); 01576 RETURN(-1); 01577 } 01578 01579 fprintf(stderr, 01580 "v2s_opts_t struct at %p :\n" 01581 " map, gp_index = %d, %d\n" 01582 " debug, dnode = %d, %d\n" 01583 " no_head, skip_cols = %d, %d\n" 01584 " first_node, last_node = %d, %d\n" 01585 " use_norms, norm_len = %d, %f\n" 01586 " norm_dir = %d\n" 01587 " f_index, f_steps = %d, %d\n" 01588 " f_p1_fr, f_pn_fr = %f, %f\n" 01589 " f_p1_mm, f_pn_mm = %f, %f\n" 01590 " outfile_1D = %s\n" 01591 " outfile_niml = %s\n" 01592 , sopt, 01593 sopt->map, sopt->gp_index, sopt->debug, sopt->dnode, 01594 sopt->no_head, sopt->skip_cols, 01595 sopt->first_node, sopt->last_node, 01596 sopt->use_norms, sopt->norm_len, sopt->norm_dir, 01597 sopt->f_index, sopt->f_steps, 01598 sopt->f_p1_fr, sopt->f_pn_fr, sopt->f_p1_mm, sopt->f_pn_mm, 01599 CHECK_NULL_STR(sopt->outfile_1D), 01600 CHECK_NULL_STR(sopt->outfile_niml) 01601 ); 01602 01603 RETURN(0); 01604 } |
|
Definition at line 1534 of file vol2surf.c. References v2s_param_t::cmask, ENTRY, v2s_param_t::gpar, ISVALID_DSET, v2s_param_t::nsurf, v2s_param_t::nvox, v2s_param_t::over_steps, p, and RETURN. Referenced by validate_options(), and vol2surf().
01535 { 01536 ENTRY("disp_v2s_param_t"); 01537 01538 if ( info ) 01539 fputs( info, stderr ); 01540 01541 if ( p == NULL ) 01542 { 01543 fprintf(stderr, "disp_v2s_param_t: p == NULL\n" ); 01544 RETURN(-1); 01545 } 01546 01547 fprintf(stderr, 01548 "v2s_param_t struct at %p :\n" 01549 " gpar : vcheck = %p : %s\n" 01550 " cmask = %p\n" 01551 " nvox, over_steps = %d, %d\n" 01552 " nsurf = %d\n" 01553 , p, 01554 p->gpar, ISVALID_DSET(p->gpar) ? "valid" : "invalid", 01555 p->cmask, p->nvox, p->over_steps, p->nsurf 01556 ); 01557 01558 RETURN(0); 01559 } |
|
Definition at line 1825 of file vol2surf.c. References ENTRY, v2s_plugin_opts::ready, RETURN, v2s_plugin_opts::s0A, v2s_plugin_opts::s0B, v2s_plugin_opts::s1A, v2s_plugin_opts::s1B, v2s_plugin_opts::use0, and v2s_plugin_opts::use1. Referenced by PV2S_process_args().
01826 { 01827 ENTRY("disp_v2s_plugin_opts"); 01828 01829 if ( mesg ) fputs( mesg, stderr ); 01830 01831 fprintf(stderr, "v2s_plugin_opts @ %p\n" 01832 " ready = %d\n" 01833 " use0, use1 = %d, %d\n" 01834 " s0A, s0B = %d, %d\n" 01835 " s1A, s1B = %d, %d\n", 01836 d, d->ready, d->use0, d->use1, 01837 d->s0A, d->s0B, d->s1A, d->s1B ); 01838 RETURN(0); 01839 } |
|
Definition at line 1802 of file vol2surf.c. References ENTRY, v2s_results::i, v2s_results::j, v2s_results::k, v2s_results::max_vals, v2s_results::memory, v2s_results::nalloc, v2s_results::nodes, v2s_results::nused, v2s_results::nvals, RETURN, v2s_results::vals, and v2s_results::volind. Referenced by vol2surf(), and write_output().
01803 { 01804 ENTRY("disp_v2s_results"); 01805 01806 if ( mesg ) fputs( mesg, stderr ); 01807 01808 fprintf(stderr, "v2s_results @ %p\n" 01809 " nalloc, nused = %d, %d\n" 01810 " max_vals, memory = %d, %d\n" 01811 " nodes, volind = %p, %p\n" 01812 " i, j, k = %p, %p, %p\n" 01813 " nvals, vals = %p, %p\n", 01814 d, d->nalloc, d->nused, d->max_vals, d->memory, 01815 d->nodes, d->volind, d->i, d->j, d->k, d->nvals, d->vals); 01816 01817 RETURN(0); 01818 } |
|
Definition at line 1846 of file vol2surf.c. References c, ENTRY, free, v2s_results::i, v2s_results::j, v2s_results::k, v2s_results::max_vals, v2s_results::nodes, v2s_results::nvals, RETURN, v2s_results::vals, and v2s_results::volind. Referenced by AFNI_vol2surf_func_overlay(), alloc_output_mem(), vol2surf(), and write_output().
01847 { 01848 int c; 01849 01850 ENTRY("free_v2s_results"); 01851 01852 if( ! sd ) RETURN(0); 01853 01854 if (sd->nodes) { free(sd->nodes); sd->nodes = NULL; } 01855 if (sd->volind) { free(sd->volind); sd->volind = NULL; } 01856 if (sd->i) { free(sd->i); sd->i = NULL; } 01857 if (sd->j) { free(sd->j); sd->j = NULL; } 01858 if (sd->k) { free(sd->k); sd->k = NULL; } 01859 if (sd->nvals) { free(sd->nvals); sd->nvals = NULL; } 01860 01861 if (sd->vals) 01862 { 01863 for ( c = 0; c < sd->max_vals; c++ ) 01864 if ( sd->vals[c] ) { free(sd->vals[c]); sd->vals[c] = NULL; } 01865 01866 free(sd->vals); 01867 sd->vals = NULL; 01868 } 01869 01870 free(sd); 01871 01872 RETURN(0); 01873 } |
|
Definition at line 2057 of file vol2surf.c. References BYTEIZE, c, calloc, DSET_ARRAY, DSET_BRICK_FACTOR, DSET_BRICK_TYPE, DSET_NVALS, DSET_NVOX, ENTRY, free, ISVALID_DSET, MRI_type_name, RETURN, SHORTIZE, and thr. Referenced by AFNI_vol2surf_func_overlay().
02059 { 02060 float factor; 02061 byte * tmask; 02062 int nvox, type, c, size = 0; 02063 02064 ENTRY("thd_mask_from_brick"); 02065 02066 if ( mask ) *mask = NULL; /* to be sure */ 02067 02068 if ( !ISVALID_DSET(dset) || ! mask || volume < 0 ) 02069 RETURN(-1); 02070 02071 if ( volume >= DSET_NVALS(dset) ) 02072 { 02073 fprintf(stderr,"** tmfb: sub-brick %d out-of-range\n", volume); 02074 RETURN(-1); 02075 } 02076 02077 nvox = DSET_NVOX(dset); 02078 type = DSET_BRICK_TYPE(dset, volume); 02079 02080 if ( type != MRI_byte && type != MRI_short && 02081 type != MRI_int && type != MRI_float ) 02082 { 02083 fprintf(stderr,"** tmfb: invalid dataset type %s, sorry...\n", 02084 MRI_type_name[type]); 02085 RETURN(-1); 02086 } 02087 02088 tmask = (byte *)calloc(nvox, sizeof(byte)); 02089 if ( ! tmask ) 02090 { 02091 fprintf(stderr,"** tmfb: failed to allocate mask of %d bytes\n", nvox); 02092 RETURN(-1); 02093 } 02094 02095 factor = DSET_BRICK_FACTOR(dset, volume); 02096 02097 /* cheat: adjust threshold, not data */ 02098 if ( factor != 0.0 ) thresh /= factor; 02099 02100 switch( DSET_BRICK_TYPE(dset, volume) ) 02101 { 02102 case MRI_byte: 02103 { 02104 byte * dp = DSET_ARRAY(dset, volume); 02105 byte thr = BYTEIZE(thresh + 0.99999); /* ceiling */ 02106 for ( c = 0; c < nvox; c++ ) 02107 if ( dp[c] != 0 && ( dp[c] >= thr ) ) 02108 { 02109 size++; 02110 tmask[c] = 1; 02111 } 02112 } 02113 break; 02114 02115 case MRI_short: 02116 { 02117 short * dp = DSET_ARRAY(dset, volume); 02118 short thr = SHORTIZE(thresh + 0.99999); /* ceiling */ 02119 for ( c = 0; c < nvox; c++, dp++ ) 02120 if ( *dp != 0 && ( *dp >= thr || (absolute && *dp <= -thr) ) ) 02121 { 02122 size++; 02123 tmask[c] = 1; 02124 } 02125 } 02126 break; 02127 02128 case MRI_int: 02129 { 02130 int * dp = DSET_ARRAY(dset, volume); 02131 int thr = (int)(thresh + 0.99999); /* ceiling */ 02132 for ( c = 0; c < nvox; c++, dp++ ) 02133 if ( *dp != 0 && ( *dp >= thr || (absolute && *dp <= -thr) ) ) 02134 { 02135 size++; 02136 tmask[c] = 1; 02137 } 02138 } 02139 break; 02140 02141 case MRI_float: 02142 { 02143 float * dp = DSET_ARRAY(dset, volume); 02144 for ( c = 0; c < nvox; c++, dp++ ) 02145 if (*dp != 0 && (*dp >= thresh || (absolute && *dp <= -thresh))) 02146 { 02147 size++; 02148 tmask[c] = 1; 02149 } 02150 } 02151 break; 02152 02153 default: /* let's be sure */ 02154 { 02155 fprintf(stderr,"** tmfb: invalid dataset type, sorry...\n"); 02156 free(tmask); 02157 } 02158 break; 02159 } 02160 02161 *mask = tmask; 02162 02163 RETURN(size); 02164 } |
|
Definition at line 2173 of file vol2surf.c. References E_SMAP_SEG_VALS, ENTRY, and RETURN. Referenced by PV2S_process_args().
02174 { 02175 ENTRY("v2s_good_map_index"); 02176 02177 if ( map <= E_SMAP_INVALID || map >= E_SMAP_FINAL ) 02178 RETURN(0); 02179 02180 /* these have not (yet? do we care?) been implemented */ 02181 if ( map == E_SMAP_MASK2 || map == E_SMAP_COUNT ) 02182 RETURN(0); 02183 02184 if ( from_afni && map == E_SMAP_SEG_VALS ) 02185 RETURN(0); 02186 02187 RETURN(1); 02188 } |
|
Definition at line 2021 of file vol2surf.c. References ENTRY, gv2s_map_names, RETURN, and v2s_map_nums. Referenced by check_map_func(), and validate_v2s_inputs().
02022 { 02023 v2s_map_nums map; 02024 02025 ENTRY("v2s_map_type"); 02026 02027 if ( map_str == NULL ) 02028 { 02029 fprintf( stderr, "** v2s_map_type: missing map_str parameter\n" ); 02030 RETURN((int)E_SMAP_INVALID); 02031 } 02032 02033 if ( sizeof(gv2s_map_names) / sizeof(char *) != (int)E_SMAP_FINAL ) 02034 { 02035 fprintf( stderr, "** error: gv2s_map_names/v2s_map_num mis-match\n"); 02036 RETURN((int)E_SMAP_INVALID); 02037 } 02038 02039 /* not ready for E_SMAP_COUNT yet (until someone wants it) */ 02040 if ( !strcmp( map_str, gv2s_map_names[E_SMAP_COUNT] ) ) 02041 RETURN((int)E_SMAP_INVALID); 02042 02043 for ( map = E_SMAP_INVALID; map < E_SMAP_FINAL; map++ ) 02044 if ( !strcmp( map_str, gv2s_map_names[map] ) ) 02045 RETURN((int)map); 02046 02047 RETURN((int)E_SMAP_INVALID); 02048 } |
|
Definition at line 2005 of file vol2surf.c. References E_SMAP_SEG_VALS. Referenced by afni_vol2surf(), and set_smap_opts().
02006 { 02007 if ( map == E_SMAP_SEG_VALS ) 02008 return 1; 02009 02010 return 0; 02011 } |
|
Definition at line 2231 of file vol2surf.c. References c, ENTRY, gv2s_map_names, v2s_results::i, v2s_results::j, v2s_results::k, v2s_opts_t::map, v2s_results::max_vals, MV_format_fval(), v2s_opts_t::no_head, v2s_results::nodes, v2s_results::nused, v2s_results::nvals, v2s_opts_t::outfile_1D, print_header(), RETURN, v2s_results::vals, and v2s_results::volind. Referenced by afni_vol2surf(), and write_output().
02232 { 02233 FILE * fp; 02234 int c, c2; 02235 ENTRY("v2s_write_outfile_1D"); 02236 02237 fp = fopen( sopt->outfile_1D, "w" ); 02238 if ( fp == NULL ) 02239 { 02240 fprintf( stderr, "** failure to open '%s' for writing\n", 02241 sopt->outfile_1D ); 02242 RETURN(-1); 02243 } 02244 02245 if ( ! sopt->no_head ) 02246 print_header(fp, label, gv2s_map_names[sopt->map], sd); 02247 02248 for ( c = 0; c < sd->nused; c++ ) 02249 { 02250 /* keep old spacing */ 02251 fputc(' ', fp); 02252 if ( sd->nodes ) fprintf(fp, " %8d", sd->nodes[c]); 02253 if ( sd->volind ) fprintf(fp, " %8d ", sd->volind[c]); 02254 if ( sd->i ) fprintf(fp, " %3d", sd->i[c]); 02255 if ( sd->j ) fprintf(fp, " %3d", sd->j[c]); 02256 if ( sd->k ) fprintf(fp, " %3d", sd->k[c]); 02257 if ( sd->nvals ) fprintf(fp, " %3d", sd->nvals[c]); 02258 02259 for ( c2 = 0; c2 < sd->max_vals; c2++ ) 02260 fprintf(fp, " %10s", MV_format_fval(sd->vals[c2][c])); 02261 fputc('\n', fp); 02262 } 02263 02264 fclose(fp); 02265 02266 RETURN(0); 02267 } |
|
Definition at line 2275 of file vol2surf.c. References c, calloc, ENTRY, free, v2s_results::max_vals, NI_add_column(), NI_BINARY_MODE, NI_FLOAT, NI_free_element(), NI_INT, NI_new_data_element(), NI_stream_close(), NI_stream_open(), NI_write_element(), v2s_results::nodes, v2s_results::nused, v2s_opts_t::outfile_niml, RETURN, and v2s_results::vals. Referenced by afni_vol2surf(), and write_output().
02275 { 02276 static char v2s_name[] = "3dVol2Surf_dataset"; 02277 NI_element * nel = NULL; 02278 NI_stream ns; 02279 char * ni_name; 02280 int c; 02281 02282 ENTRY("v2s_write_outfile_niml"); 02283 02284 if ( !sopt->outfile_niml ) RETURN(0); 02285 02286 nel = NI_new_data_element( v2s_name, sd->nused ); 02287 if ( !nel ) 02288 { 02289 fprintf(stderr,"** file NI_new_data_element, n = '%s', len = %d\n", 02290 v2s_name, sd->nused); 02291 RETURN(1); 02292 } 02293 02294 ni_name = (char *)calloc(strlen(sopt->outfile_niml)+6, sizeof(char)); 02295 if ( !ni_name ) { fprintf(stderr,"** ni_name failed\n"); RETURN(1); } 02296 sprintf(ni_name, "file:%s", sopt->outfile_niml); 02297 02298 ns = NI_stream_open(ni_name, "w"); 02299 02300 NI_add_column(nel,NI_INT,sd->nodes); 02301 02302 for ( c = 0; c < sd->max_vals; c++ ) 02303 { 02304 NI_add_column(nel, NI_FLOAT, sd->vals[c]); 02305 if ( free_vals ) { free(sd->vals[c]); sd->vals[c] = NULL; } 02306 } 02307 if ( free_vals ) { free(sd->vals); sd->vals = NULL; } 02308 02309 if ( NI_write_element(ns, nel, NI_BINARY_MODE) < 0 ) 02310 { 02311 fprintf(stderr,"** NI_write_element failed for: '%s'\n", ni_name); 02312 RETURN(1); 02313 } 02314 02315 NI_free_element( nel ); 02316 NI_stream_close( ns ); 02317 free(ni_name); 02318 02319 RETURN(0); 02320 } |
|
Definition at line 267 of file vol2surf.c. References alloc_output_mem(), compact_results(), v2s_opts_t::debug, disp_v2s_param_t(), disp_v2s_results(), dump_surf_3dt(), ENTRY, free_v2s_results(), v2s_opts_t::map, p, RETURN, and validate_v2s_inputs(). Referenced by afni_vol2surf(), and write_output().
00268 { 00269 v2s_results * sd; 00270 int rv; 00271 ENTRY("vol2surf"); 00272 00273 if ( sopt == NULL || p == NULL ) 00274 { 00275 fprintf( stderr, "** smd_wo - bad params (%p,%p)\n", sopt, p ); 00276 RETURN(NULL); 00277 } 00278 00279 if ( validate_v2s_inputs(sopt, p) ) 00280 RETURN(NULL); 00281 00282 if ( sopt->map == E_SMAP_INVALID ) 00283 { 00284 fprintf(stderr,"** v2s wo: invalid map %d\n", sopt->map); 00285 RETURN(NULL); 00286 } 00287 00288 sd = alloc_output_mem( sopt, p ); 00289 if ( !sd ) RETURN(NULL); 00290 00291 if ( sopt->debug > 1 ) disp_v2s_param_t( "-d post alloc_output_mem : ", p ); 00292 00293 rv = dump_surf_3dt( sopt, p, sd ); 00294 00295 if ( compact_results(sd, sopt->debug) ) 00296 { 00297 free_v2s_results(sd); /* free whatever didn't get burned */ 00298 RETURN(NULL); 00299 } 00300 00301 if ( sopt->debug > 1 ) disp_v2s_results( "-d post surf creation : ", sd); 00302 00303 RETURN(sd); 00304 } |
Variable Documentation
|
Definition at line 138 of file vol2surf.h. |
|
Definition at line 137 of file vol2surf.h. Referenced by v2s_map_type(), v2s_write_outfile_1D(), and validate_v2s_inputs(). |
|
Definition at line 136 of file vol2surf.h. |