Doxygen Source Code Documentation
plug_3Ddump_V2.c File Reference
#include "afni.h"
#include "afni_plugin.h"
Go to the source code of this file.
Data Structures | |
struct | extract_data |
Defines | |
#define | NUM_YN_STRINGS (sizeof(yn_strings)/sizeof(char *)) |
#define | YUP 1 |
#define | NOPE 0 |
#define | ERROR_FILEWRITE 2 |
#define | ERROR_OPTIONS 3 |
Functions | |
int | filexists (char *) |
char * | DUMP_main (PLUGIN_interface *) |
int | Dumpit (extract_data *, THD_3dim_dataset *) |
void | write_ud (extract_data *) |
char ** | allocate2D (int rows, int cols, int element_size) |
void | free2D (char **a, int rows) |
int | equal_strings (char *s1, char *s2) |
DEFINE_PLUGIN_PROTOTYPE PLUGIN_interface * | PLUGIN_init (int ncall) |
Variables | |
char | helpstring [] |
char * | yn_strings [] = { "n" , "y" } |
Define Documentation
|
Definition at line 114 of file plug_3Ddump_V2.c. |
|
Definition at line 115 of file plug_3Ddump_V2.c. |
|
Definition at line 112 of file plug_3Ddump_V2.c. Referenced by DUMP_main(), and Dumpit(). |
|
Definition at line 109 of file plug_3Ddump_V2.c. |
|
Definition at line 111 of file plug_3Ddump_V2.c. Referenced by DUMP_main(), and Dumpit(). |
Function Documentation
|
Definition at line 651 of file plug_3Ddump_V2.c. References calloc, cols, free, i, and rows. Referenced by Dumpit().
00653 { 00654 int i, j; 00655 char **A; 00656 00657 /* try to allocate the request */ 00658 switch(element_size) { 00659 case sizeof(short): { /* integer matrix */ 00660 short **int_matrix; 00661 int_matrix = (short **)calloc(rows,sizeof(short *)); 00662 if(!int_matrix) { 00663 printf("\nError making pointers in %dx%d int matrix\n" 00664 ,rows,cols); 00665 return(NULL); 00666 /* exit(1);*/ 00667 } 00668 for(i = 0 ; i < rows ; i++) { 00669 int_matrix[i] = (short *)calloc(cols,sizeof(short)); 00670 if(!int_matrix[i]) { 00671 printf("\nError making row %d in %dx%d int matrix\n" 00672 ,i,rows,cols); 00673 for(j=0;j<=i;j++) { 00674 if(int_matrix[j]) 00675 free(int_matrix[j]); 00676 } 00677 free(int_matrix); 00678 return(NULL); 00679 /* exit(1);*/ 00680 } 00681 } 00682 A = (char **)int_matrix; 00683 break; 00684 } 00685 case sizeof(float): { /* float matrix */ 00686 float **float_matrix; 00687 float_matrix = (float **)calloc(rows,sizeof(float *)); 00688 if(!float_matrix) { 00689 printf("\nError making pointers in %dx%d float matrix\n" 00690 ,rows,cols); 00691 return(NULL); 00692 /* exit(1);*/ 00693 } 00694 for(i = 0 ; i < rows ; i++) { 00695 float_matrix[i] = (float *)calloc(cols,sizeof(float)); 00696 if(!float_matrix[i]) { 00697 printf("\nError making row %d in %dx%d float matrix\n" 00698 ,i,rows,cols); 00699 for(j=0;j<=i;j++) { 00700 if(float_matrix[j]) 00701 free(float_matrix[j]); 00702 } 00703 free(float_matrix); 00704 return(NULL); 00705 /* exit(1);*/ 00706 } 00707 } 00708 A = (char **)float_matrix; 00709 break; 00710 } 00711 case sizeof(double): { /* double matrix */ 00712 double **double_matrix; 00713 double_matrix = (double **)calloc(rows,sizeof(double *)); 00714 if(!double_matrix) { 00715 printf("\nError making pointers in %dx%d double matrix\n" 00716 ,rows,cols); 00717 return(NULL); 00718 /* exit(1);*/ 00719 } 00720 for(i = 0 ; i < rows ; i++) { 00721 double_matrix[i] = (double *)calloc(cols,sizeof(double)); 00722 if(!double_matrix[i]) { 00723 printf("\nError making row %d in %dx%d double matrix\n" 00724 ,i,rows,cols); 00725 for(j=0;j<=i;j++) { 00726 if(double_matrix[j]) 00727 free(double_matrix[j]); 00728 } 00729 free(double_matrix); 00730 return(NULL); 00731 00732 /* exit(1);*/ 00733 } 00734 } 00735 A = (char **)double_matrix; 00736 break; 00737 } 00738 default: 00739 printf("\nERROR in matrix_allocate: unsupported type\n"); 00740 return(NULL); 00741 /* exit(1);*/ 00742 } 00743 return(A); 00744 } |
|
Definition at line 258 of file plug_3Ddump_V2.c. References calloc, extract_data::DoInd, extract_data::DoInt, extract_data::DoThres, DSET_FILECODE, DSET_NVALS, DSET_PREFIX, extract_data::dsetname, Dumpit(), equal_strings(), filexists(), extract_data::fimonly, FUNC_FIM_TYPE, THD_3dim_dataset::func_type, extract_data::intind, extract_data::isanat, ISANAT, extract_data::isfunc, ISFUNC, extract_data::maxi, extract_data::maxth, extract_data::mini, extract_data::minth, NOPE, extract_data::Nsub, extract_data::nxx, extract_data::nyy, extract_data::outfile, extract_data::outlogfile, PLUTO_find_dset(), extract_data::strout, extract_data::thrind, and YUP. Referenced by PLUGIN_init().
00259 { 00260 extract_data uda,*ud; 00261 MCW_idcode * idc ; 00262 THD_3dim_dataset * xset , * yset ; 00263 char * tag ; 00264 int demean ,ndmp,nprf; 00265 char *str, *nprfxstr, *mssg; 00266 float minx , maxx , minthr , maxthr ; 00267 00268 str = (char *) calloc (PLUGIN_MAX_STRING_RANGE+10,sizeof(char)); 00269 nprfxstr = (char *) calloc (PLUGIN_MAX_STRING_RANGE+20,sizeof(char)); 00270 /* Do not allocate more space for mssg, because AFNI would choke on it*/ 00271 mssg = (char *) calloc (PLUGIN_MAX_STRING_RANGE,sizeof(char)); 00272 00273 if (str == NULL || nprfxstr == NULL || mssg == NULL ) 00274 return "********************\n" 00275 "Could not Allocate\n" 00276 "a teeni weeni bit of\n" 00277 "Memory ! \n" 00278 "********************\n"; 00279 00280 ud = &uda; /* ud now points to an allocated space */ 00281 00282 /*--------------------------------------------------------------------*/ 00283 /*----- Check inputs from AFNI to see if they are reasonable-ish -----*/ 00284 tag = PLUTO_get_optiontag(plint) ; 00285 00286 if (tag == NULL) 00287 { 00288 return "************************\n" 00289 "Bad 1st line option \n" 00290 "************************" ; 00291 } 00292 00293 00294 idc = PLUTO_get_idcode(plint) ; /* get 1st dataset item */ 00295 xset = PLUTO_find_dset(idc) ; /* get ptr to dataset */ 00296 if( xset == NULL ) 00297 return "**********************\n" 00298 "Cannot find Dataset #1\n" 00299 "**********************" ; 00300 00301 ud->dsetname = DSET_FILECODE (xset); 00302 ud->Nsub = DSET_NVALS (xset); 00303 00304 /*--------- loop over ramining options ---------*/ 00305 ud->DoInt = NOPE; 00306 ud->DoThres = NOPE; 00307 ud->DoInd = NOPE; 00308 00309 ud->intind = 1; /* The first subbrick is numbered 1 here, it makes more sense to the user.*/ 00310 ud->thrind = 2; 00311 00312 do 00313 { 00314 tag = PLUTO_get_optiontag(plint) ; 00315 if (tag == NULL) break; 00316 00317 if (equal_strings (tag, "Index") == 1) 00318 { 00319 ud->DoInd = YUP; 00320 ud->intind = PLUTO_get_number(plint) ; 00321 ud->thrind = PLUTO_get_number(plint) ; 00322 continue; 00323 } 00324 00325 if (equal_strings (tag, "Intensity") == 1) 00326 { 00327 ud->DoInt = YUP; 00328 ud->mini = PLUTO_get_number(plint) ; 00329 ud->maxi = PLUTO_get_number(plint) ; 00330 continue; 00331 } 00332 00333 if (equal_strings (tag, "Threshold") == 1) 00334 { 00335 ud->DoThres = YUP; 00336 ud->minth = PLUTO_get_number(plint) ; 00337 ud->maxth = PLUTO_get_number(plint) ; 00338 continue; 00339 } 00340 00341 if (equal_strings (tag, "Output") == 1) 00342 { 00343 ud->strout = PLUTO_get_string(plint) ; 00344 continue; 00345 } 00346 00347 00348 } while (1); 00349 00350 if ( ISFUNC(xset) ) ud->isfunc = YUP; 00351 else ud->isfunc = NOPE; 00352 00353 if ( ISANAT(xset) ) ud->isanat = YUP; 00354 else ud->isanat = NOPE; 00355 00356 if (xset->func_type == FUNC_FIM_TYPE) 00357 ud->fimonly = 1; 00358 else 00359 ud->fimonly = 0; 00360 00361 if (ud->isanat && (ud->DoThres== YUP || ud->DoInd == YUP)) 00362 { 00363 return "*************************************\n" 00364 "Can't use threshold or index options \n" 00365 "for fim or ANAT type bricks !\n" 00366 "*************************************" ; 00367 } 00368 00369 00370 if (ud->DoInd == YUP && (ud->fimonly == YUP && ud->isfunc == YUP)) 00371 { 00372 return "*******************************\n" 00373 "Can't specify Indices for fim\n" 00374 "type bricks, they only have one !\n" 00375 "*******************************" ; 00376 } 00377 00378 00379 /* Check for plausibility of input parameters */ 00380 if ((ud->DoInt && (ud->maxi < ud->mini)) || (ud->DoThres && (ud->maxth < ud->minth))) 00381 { 00382 return "**********************\n" 00383 "Something's wrong with\n" 00384 "min and max values.\n" 00385 "**********************" ; 00386 } 00387 if (ud->DoInd && (ud->intind > ud->Nsub || ud->thrind > ud->Nsub)) 00388 { 00389 00390 return "**********************\n" 00391 "One or both of the indices\n" 00392 "is larger than the maximum\n" 00393 "number of sub-bricks\n" 00394 "**********************" ; 00395 } 00396 00397 /*------------------------------------------------------*/ 00398 /*----- Open the output file for writing operation -----*/ 00399 00400 /*if strout is null or of length 0, use the a default name */ 00401 if (ud->strout == NULL) 00402 nprf = 0; 00403 else 00404 nprf = 1; 00405 00406 00407 if (nprf == 1 && (int)strlen(ud->strout) == 0) 00408 nprf = 0; 00409 00410 00411 if (nprf == 0) 00412 { 00413 sprintf (nprfxstr,"%s.3Ddump",DSET_PREFIX(xset)); 00414 ud->strout = nprfxstr; 00415 } 00416 00417 00418 sprintf (str,"%s.log",ud->strout); 00419 00420 if ((filexists(ud->strout) == 1) || (filexists(str) == 1)) 00421 { 00422 return "**************************************\n" 00423 "Output file(s) exists, can't overwrite\n" 00424 "**************************************\n"; 00425 } 00426 00427 ud->outfile = fopen (ud->strout,"w"); 00428 ud->outlogfile = fopen (str,"w"); 00429 00430 if ((ud->outfile == NULL) || (ud->outlogfile == NULL)) 00431 { 00432 return "*****************************************\n" 00433 "Could not open Output file(s) for writing\n" 00434 "Check permissions.\n" 00435 "*****************************************\n"; 00436 } 00437 00438 /*------------------------------------------------------*/ 00439 /*---------- At this point, the inputs are OK ----------*/ 00440 00441 /*-- do the actual work --*/ 00442 ndmp = Dumpit( ud , xset ) ; 00443 00444 if( ndmp < -1.0 ) 00445 { 00446 switch (ndmp) 00447 { 00448 case -2: 00449 return "********************************************\n" 00450 "Fatal Error: Could not allocate memory\n" 00451 "(this is a message brought to you by Dumpit)\n" 00452 "********************************************\n" ; 00453 break; 00454 default: 00455 return "*********************************\n" 00456 "Error while dumping data\n" 00457 "*********************************" ; 00458 00459 break; 00460 00461 } 00462 } 00463 00464 /*-- put the output to the screen --*/ 00465 00466 /* That output message was too long. AFNI was crashing, must ask Bob to allow more verbose messages */ 00467 00468 /*sprintf(mssg , " Dataset %s was dumped.\n" 00469 "%d voxels (%5f %% of total) met the boundary conditions.\n" 00470 , DSET_FILECODE(xset) , ndmp , (float)ndmp/(float)(ud->nxx * ud->nyy * ud-> nzz)*100.0) ;*/ 00471 00472 /* That's shorter */ 00473 sprintf(mssg , "%d voxels (%5f %% of total) were dumped.\n" 00474 , ndmp , (float)ndmp/(float)(ud->nxx * ud->nyy * ud-> nzz)*100.0) ; 00475 00476 PLUTO_popup_message( plint , mssg ) ; 00477 00478 00479 00480 fclose (ud->outfile); 00481 fclose (ud->outlogfile); 00482 free (nprfxstr); 00483 free (str); 00484 free (mssg); 00485 00486 return NULL ; /* null string returned means all was OK */ 00487 } |
|
Definition at line 490 of file plug_3Ddump_V2.c. References allocate2D(), NOPE, write_ud(), and YUP. Referenced by DUMP_main().
00491 { 00492 void * xar ; 00493 void * thar ; 00494 float * fxar ; 00495 float ** Storear; 00496 int ii , jj, nxyz , fxar_new = 0 ,xpos,ypos,zpos , ndmp, pass; 00497 00498 ndmp = -1; 00499 00500 /*-- get datasets sizes --*/ 00501 00502 ud->nxx = xset->daxes->nxx; 00503 ud->nyy = xset->daxes->nyy; 00504 ud->nzz = xset->daxes->nzz; 00505 00506 nxyz = xset->daxes->nxx * xset->daxes->nyy * xset->daxes->nzz ; 00507 00508 /* Allocate space for data storage */ 00509 fxar = (float *) malloc( sizeof(float) * nxyz ) ; fxar_new = 1 ; 00510 Storear = (float **) allocate2D (ud->Nsub ,nxyz ,sizeof(float)); /* changed from : allocate2D (nxyz ,ud->Nsub,sizeof(float)) */ 00511 00512 if (fxar == NULL || Storear == NULL) 00513 { 00514 return -2; 00515 } 00516 00517 /*-- load the first dataset into memory --*/ 00518 00519 DSET_load( xset ) ; 00520 00521 /* Store Bricks in 2D array */ 00522 for (ii = 0;ii < ud->Nsub; ++ii) 00523 { 00524 xar = DSET_ARRAY(xset,ii) ; /* get the array */ 00525 EDIT_coerce_scale_type (nxyz,DSET_BRICK_FACTOR(xset,ii), 00526 DSET_BRICK_TYPE(xset,ii), xar, MRI_float,fxar ) ; 00527 00528 /* Store the iith sub-brick in Storear array */ 00529 for (jj = 0; jj < nxyz; ++jj) 00530 Storear[ii][jj] = fxar[jj]; /* changed from : Storear[jj][ii] */ 00531 } 00532 00533 DSET_unload( xset ) ; /* don't need this in memory anymore */ 00534 00535 /* Dump the input info data to the log file */ 00536 write_ud (ud); 00537 00538 00539 /* Now dump the data that meets the threshold */ 00540 00541 if( 1 ){ 00542 for( ii=0 ; ii < nxyz ; ii++ ){ 00543 pass = YUP; 00544 if (pass && ud->DoInt) 00545 { 00546 if (Storear[ud->intind-1][ii] < ud->mini || Storear[ud->intind-1][ii] > ud->maxi) /* changed both from : Storear[ii][ud->intind-1]*/ 00547 pass = NOPE; 00548 } 00549 00550 if (pass && ud->DoThres) 00551 { 00552 if (Storear[ud->thrind-1][ii] < ud->minth || Storear[ud->thrind-1][ii] > ud->maxth)/* changed both from : Storear[ii][ud->intind-1]*/ 00553 pass = NOPE; 00554 } 00555 00556 if (pass) 00557 { 00558 zpos = (int)ii / (int)(xset->daxes->nxx * xset->daxes->nyy); 00559 ypos = (int)(ii - zpos * xset->daxes->nxx * xset->daxes->nyy) / xset->daxes->nxx; 00560 xpos = ii - ( ypos * xset->daxes->nxx ) - ( zpos * xset->daxes->nxx * xset->daxes->nyy ) ; 00561 00562 fprintf (ud->outfile,"%d\t%d\t%d\t%d\t",ii,xpos,ypos,zpos); 00563 00564 for (jj = 0; jj < ud->Nsub; ++jj) 00565 fprintf (ud->outfile," %f\t",Storear[jj][ii]); /* changed from: Storear[ii][jj] */ 00566 00567 fprintf (ud->outfile,"\n"); 00568 00569 ++ndmp; 00570 } 00571 } 00572 00573 /* increment by one because I want it to start at 0 */ 00574 ++ndmp; 00575 } 00576 00577 00578 fprintf (ud->outlogfile,"\n%d voxel points met the threshold conditions\n",ndmp); 00579 00580 /*-- free up arrays --*/ 00581 00582 00583 if( fxar_new ) 00584 { 00585 free(fxar) ; 00586 } 00587 else 00588 { 00589 DSET_unload(xset) ; 00590 } 00591 00592 00593 free2D ((char **)Storear,ud->Nsub); /* changed from free2D ((char **)Storear,nxyz); */ 00594 00595 00596 return ndmp ; 00597 } |
|
Definition at line 769 of file plug_3Ddump_V2.c.
00771 { 00772 int i=0; 00773 00774 if (s1 == NULL && s2 == NULL) return (-2); 00775 00776 if ((s1 == NULL && s2 != NULL) || (s1 != NULL && s2 == NULL)) return (-1); 00777 00778 while (s1[i] == s2[i] 00779 && s1[i] != '\0' && s2[i] != '\0') ++i; 00780 00781 if (s1[i] == '\0' && s2[i] == '\0') return (1); 00782 else return (0); 00783 00784 } |
|
Definition at line 604 of file plug_3Ddump_V2.c.
00605 {/*filexists*/ 00606 FILE *outfile; 00607 00608 outfile = fopen (f_name,"r"); 00609 if (outfile == NULL) 00610 return (0); 00611 else 00612 fclose (outfile); 00613 return (1); 00614 00615 }/*filexists*/ |
|
Definition at line 749 of file plug_3Ddump_V2.c. References a, free, i, and rows.
|
|
Definition at line 139 of file plug_3Ddump_V2.c. References ANAT_ALL_MASK, DUMP_main(), FUNC_ALL_MASK, helpstring, and PLUTO_set_runlabels().
00140 { 00141 PLUGIN_interface * plint ; 00142 00143 if( ncall > 0 ) return NULL ; /* only one interface */ 00144 00145 /*-- set titles and call point --*/ 00146 00147 plint = PLUTO_new_interface( "3D Dump98" , "Ascii dump of 3D Dataset" , helpstring , 00148 PLUGIN_CALL_VIA_MENU , DUMP_main ) ; 00149 00150 PLUTO_set_runlabels( plint , "Dump+Keep" , "Dump+Close" ) ; /* 04 Nov 2003 */ 00151 00152 /*-- first line of input: Dataset --*/ 00153 00154 PLUTO_add_option( plint , "Dataset" , "Dataset" , TRUE ) ; 00155 PLUTO_add_dataset(plint , "3D brick" , 00156 ANAT_ALL_MASK , FUNC_ALL_MASK , 00157 SESSION_ALL_MASK | 00158 DIMEN_3D_MASK | BRICK_ALLREAL_MASK ) ; 00159 00160 /*-- second line of input: intensity and threshold brick indices --*/ 00161 00162 00163 PLUTO_add_option( plint , 00164 "SubBrik info" , /* label at left of input line */ 00165 "Index" , /* tag to return to plugin */ 00166 FALSE /* is this mandatory? */ 00167 ) ; 00168 PLUTO_add_number( plint , 00169 "Intensity" , /* label next to chooser */ 00170 1 , /* smallest possible value */ 00171 10000 , /* largest possible value (inactivated for now)*/ 00172 0 , /* decimal shift (none in this case) */ 00173 0 , /* default value */ 00174 FALSE /* allow user to edit value? */ 00175 ) ; 00176 00177 PLUTO_add_number( plint , 00178 "Threshold" , /* label next to chooser */ 00179 1 , /* smallest possible value */ 00180 10000 , /* largest possible value (inactivated for now)*/ 00181 0 , /* decimal shift (none in this case) */ 00182 2 , /* default value */ 00183 FALSE /* allow user to edit value? */ 00184 ) ; 00185 /*-- Third line of input: intensity mask --*/ 00186 00187 PLUTO_add_option( plint , 00188 "Intensity Mask" , /* label at left of input line */ 00189 "Intensity" , /* tag to return to plugin */ 00190 FALSE /* is this mandatory? */ 00191 ) ; 00192 00193 PLUTO_add_number( plint , 00194 "Minimum" , /* label next to chooser */ 00195 -100000 , /* smallest possible value */ 00196 100000 , /* largest possible value (inactivated for now)*/ 00197 0 , /* decimal shift (none in this case) */ 00198 0 , /* default value */ 00199 TRUE /* allow user to edit value? */ 00200 ) ; 00201 00202 PLUTO_add_number( plint , 00203 "Maximum" , /* label next to chooser */ 00204 -10000 , /* smallest possible value */ 00205 10000 , /* largest possible value (inactivated for now)*/ 00206 0 , /* decimal shift (none in this case) */ 00207 0 , /* default value */ 00208 TRUE /* allow user to edit value? */ 00209 ) ; 00210 00211 /*-- Fourth line of input: threshold mask --*/ 00212 00213 PLUTO_add_option( plint , 00214 "Threshold Mask" , /* label at left of input line */ 00215 "Threshold" , /* tag to return to plugin */ 00216 FALSE /* is this mandatory? */ 00217 ) ; 00218 00219 PLUTO_add_number( plint , 00220 "Minimum" , /* label next to chooser */ 00221 -10000 , /* smallest possible value */ 00222 10000 , /* largest possible value (inactivated for now)*/ 00223 0 , /* decimal shift (none in this case) */ 00224 0.5 , /* default value */ 00225 TRUE /* allow user to edit value? */ 00226 ) ; 00227 00228 PLUTO_add_number( plint , 00229 "Maximum" , /* label next to chooser */ 00230 -10000 , /* smallest possible value */ 00231 10000 , /* largest possible value (inactivated for now)*/ 00232 0 , /* decimal shift (none in this case) */ 00233 1 , /* default value */ 00234 TRUE /* allow user to edit value? */ 00235 ) ; 00236 00237 /*---------- 5th line: output stuff ----------*/ 00238 00239 PLUTO_add_option( plint , 00240 "Output" , /* label at left of input line */ 00241 "Output" , /* tag to return to plugin */ 00242 TRUE /* is this mandatory? */ 00243 ) ; 00244 00245 PLUTO_add_string( plint , 00246 "Filename" , /* label next to textfield */ 00247 0,NULL , /* no fixed strings to choose among */ 00248 19 /* 19 spaces for typing in value */ 00249 ) ; 00250 00251 return plint ; 00252 } |
|
Definition at line 621 of file plug_3Ddump_V2.c. References extract_data::DoInd, extract_data::DoInt, extract_data::DoThres, extract_data::dsetname, extract_data::fimonly, extract_data::intind, extract_data::maxi, extract_data::maxth, extract_data::mini, extract_data::minth, extract_data::Nsub, extract_data::nxx, extract_data::nyy, extract_data::nzz, extract_data::outlogfile, extract_data::strout, and extract_data::thrind. Referenced by Dumpit().
00622 { 00623 fprintf (ud->outlogfile,"\n\nUser Data Values \n"); 00624 fprintf (ud->outlogfile,"Input data set file name= %s\n",ud->dsetname); 00625 fprintf (ud->outlogfile,"Is the file fim only type ? = %d\n",ud->fimonly); 00626 fprintf (ud->outlogfile,"Number of Subbricks : %d\n",ud->Nsub); 00627 fprintf (ud->outlogfile,"output file name = %s\n",ud->strout); 00628 fprintf (ud->outlogfile,"Number of voxels in X direction = %d\n",ud->nxx); 00629 fprintf (ud->outlogfile,"Number of voxels in Y direction = %d\n",ud->nyy); 00630 fprintf (ud->outlogfile,"Number of voxels in Z direction = %d\n",ud->nzz); 00631 fprintf (ud->outlogfile,"Do intensity mask ? = %d\n",ud->DoInt); 00632 fprintf (ud->outlogfile,"Minimum intensity = %f\n",ud->mini); 00633 fprintf (ud->outlogfile,"Maximum intensity = %f\n",ud->maxi); 00634 fprintf (ud->outlogfile,"Do threshold mask ? = %d\n",ud->DoThres); 00635 fprintf (ud->outlogfile,"Minimum threshold = %f\n",ud->minth); 00636 fprintf (ud->outlogfile,"Maximum threshold = %f\n",ud->maxth); 00637 fprintf (ud->outlogfile,"Select Intensity and Threshold indices = %d\n",ud->DoInd); 00638 fprintf (ud->outlogfile,"Intensity index = %d\n",ud->intind); 00639 fprintf (ud->outlogfile,"Threshold index = %d\n",ud->thrind); 00640 fprintf (ud->outlogfile,"\nThe format for the output file is the following:\n"); 00641 fprintf (ud->outlogfile,"VI\tX\tY\tZ\tSb1\tSb2\t... Sbn\n\n"); 00642 00643 00644 return; 00645 } |
Variable Documentation
|
Definition at line 47 of file plug_3Ddump_V2.c. Referenced by PLUGIN_init(). |
|
Definition at line 107 of file plug_3Ddump_V2.c. |