Doxygen Source Code Documentation
SUMA_prototype.h File Reference
Go to the source code of this file.
Functions | |
void | SUMA_mapStateChanged (Widget w, XtPointer clientData, XEvent *event, Boolean *cont) |
void | SUMA_help (void) |
void | SUMA_help_message (FILE *Out) |
char * | SUMA_help_message_Info (void) |
char * | SUMA_help_Cmap_message_Info (SUMA_COLOR_MAP *Cmp) |
void | SUMA_Help_open (void *p) |
function called when help window is open | |
void | SUMA_Help_destroyed (void *p) |
function called when help window is destroyed | |
void | SUMA_Help_Cmap_open (void *p) |
function called when help window is open | |
void | SUMA_Help_Cmap_destroyed (void *p) |
function called when help window is destroyed | |
void | SUMA_Message_open (void *p) |
function called when Message window is open | |
void | SUMA_Message_destroyed (void *p) |
function called when Message window is destroyed | |
void | SUMA_VolSurf_help (FILE *Out) |
void | SUMA_Version (FILE *Out) |
char * | SUMA_New_Additions_perver (int ver, SUMA_Boolean StampOnly) |
Returns a string with version information. | |
char * | SUMA_New_Additions (int ver, SUMA_Boolean StampOnly) |
char * | SUMA_All_Programs (void) |
void | SUMA_SetcSV (Widget w, XtPointer clientData, XEvent *event, Boolean *cont) |
void | SUMA_unSetcSV (Widget w, XtPointer clientData, XEvent *event, Boolean *cont) |
char * | SUMA_sources_Info (void) |
char * | SUMA_Help_AllSurfCont (void) |
Function Documentation
|
Definition at line 892 of file SUMA_help.c. References SUMA_STRING::s, SUMA_ENTRY, SUMA_free, SUMA_RETURN, and SUMA_StringAppend(). Referenced by main().
00893 { 00894 char *s=NULL; 00895 static char FuncName[]={"SUMA_All_Programs"}; 00896 SUMA_STRING *SS = NULL; 00897 00898 SUMA_ENTRY; 00899 00900 SS = SUMA_StringAppend (NULL, NULL); 00901 00902 SS = SUMA_StringAppend ( SS, 00903 "+ List of programs in the SUMA package:\n" 00904 " 3dCRUISEtoAFNI\n" 00905 " 3dBRAIN_VOYAGERtoAFNI\n" 00906 " 3dSkullStrip\n" 00907 " 3dSurf2Vol\n" 00908 " 3dSurfMask\n" 00909 " 3dVol2Surf\n" 00910 " CompareSurfaces\n" 00911 " ConvertSurface\n" 00912 " ConvexHull\n" 00913 " CreateIcosahedron\n" 00914 " FSread_annot\n" 00915 " inspec\n" 00916 " IsoSurface\n" 00917 " MakeColorMap\n" 00918 " MapIcosahedron\n" 00919 " quickspec\n" 00920 " ROI2dataset\n" 00921 " ScaleToMap\n" 00922 " SUMA_glxdino\n" 00923 " SurfaceMetrics\n" 00924 " SurfClust\n" 00925 " SurfMeasures\n" 00926 " SurfMesh\n" 00927 " SurfPatch\n" 00928 " SurfQual\n" 00929 " SurfSmooth\n" 00930 " SurfToSurf\n" 00931 ); 00932 00933 /* clean SS */ 00934 SS = SUMA_StringAppend (SS, NULL); 00935 /* copy s pointer and free SS */ 00936 s = SS->s; 00937 SUMA_free(SS); 00938 00939 SUMA_RETURN(s); 00940 00941 } |
|
|
|
Definition at line 1018 of file SUMA_help.c. References SUMA_ENTRY, SUMA_RETURN, SUMA_SS2S, SUMA_StringAppend(), SUMA_StringAppend_va(), SUMA_SurfContHelp_AbsThr, SUMA_SurfContHelp_Bias, SUMA_SurfContHelp_Cmp, SUMA_SurfContHelp_CmpNew, SUMA_SurfContHelp_Col, SUMA_SurfContHelp_DsetDim, SUMA_SurfContHelp_DsetLblTblr0, SUMA_SurfContHelp_DsetLblTblr1, SUMA_SurfContHelp_DsetLoad, SUMA_SurfContHelp_DsetLoadCol, SUMA_SurfContHelp_DsetOpa, SUMA_SurfContHelp_DsetOrd, SUMA_SurfContHelp_Dsets, SUMA_SurfContHelp_DsetSwitch, SUMA_SurfContHelp_DsetView, SUMA_SurfContHelp_Isym, SUMA_SurfContHelp_more, SUMA_SurfContHelp_Node, SUMA_SurfContHelp_NodeLabelTblr0, SUMA_SurfContHelp_NodeValTblc1, SUMA_SurfContHelp_NodeValTblc2, SUMA_SurfContHelp_NodeValTblc3, SUMA_SurfContHelp_NodeValTblr0, SUMA_SurfContHelp_RangeTbl_c0, SUMA_SurfContHelp_RangeTbl_c1, SUMA_SurfContHelp_RangeTbl_c2, SUMA_SurfContHelp_RangeTbl_c3, SUMA_SurfContHelp_RangeTbl_c4, SUMA_SurfContHelp_RangeTbl_r1, SUMA_SurfContHelp_RangeTbl_r2, SUMA_SurfContHelp_RangeTbl_r3, SUMA_SurfContHelp_RenderMode, SUMA_SurfContHelp_SelBrt, SUMA_SurfContHelp_SelBrtTgl, SUMA_SurfContHelp_SelInt, SUMA_SurfContHelp_SelIntTgl, SUMA_SurfContHelp_SelThr, SUMA_SurfContHelp_SelThrTgl, SUMA_SurfContHelp_SetRngTbl_c1, SUMA_SurfContHelp_SetRngTbl_c2, SUMA_SurfContHelp_SetRngTbl_r0, SUMA_SurfContHelp_SetRngTbl_r1, SUMA_SurfContHelp_SetRngTbl_r2, SUMA_SurfContHelp_SetRngTbl_r3, SUMA_SurfContHelp_SetRngTbl_r4, SUMA_SurfContHelp_Shw0, SUMA_SurfContHelp_Tri, and SUMA_SurfContHelp_Xhr. Referenced by SUMA_help_Cmap_message_Info().
01019 { 01020 static char FuncName[]={"SUMA_Help_AllSurfCont"}; 01021 char *s = NULL; 01022 SUMA_STRING *SS = NULL; 01023 01024 SUMA_ENTRY; 01025 01026 SS = SUMA_StringAppend (NULL, NULL); 01027 01028 SS = SUMA_StringAppend(SS, 01029 "\n" 01030 "\n" 01031 "----------------------------\n" 01032 "Help for Surface Controller:\n" 01033 "----------------------------\n" 01034 "The surface controller is for \n" 01035 "controlling properties pertinent\n" 01036 "to the surface selected (in focus).\n" 01037 "The Surface Controller is launched\n" 01038 "with 'ctrl+s' or \n" 01039 " View-->Surface Controller .\n" 01040 "\n" 01041 ); 01042 SS = SUMA_StringAppend_va(SS, 01043 "+ Surface Properties Block:\n" 01044 "\n" 01045 "++ more:\n%s\n" 01046 "\n" 01047 "++ RenderMode:\n%s\n" 01048 "\n" 01049 "++ Dsets:\n%s\n" 01050 "\n", 01051 SUMA_SurfContHelp_more, SUMA_SurfContHelp_RenderMode, SUMA_SurfContHelp_Dsets); 01052 SS = SUMA_StringAppend_va(SS, 01053 "+ Xhair Info Block:\n" 01054 "\n" 01055 "++ Xhr:\n%s\n" 01056 "\n" 01057 "++ Node:\n%s\n" 01058 "\n" 01059 "++ Tri:\n%s\n" 01060 "\n" 01061 "++ Node Values Table: %s\n" 01062 "+++ Col. Intens\n%s\n" 01063 "+++ Col. Thresh\n%s\n" 01064 "+++ Col. Bright:\n%s\n" 01065 "+++ Row Val:\n%s\n" 01066 "\n" 01067 "++ Node Label Table:\n" 01068 "+++ Row Lbl:\n%s\n" 01069 "\n", 01070 SUMA_SurfContHelp_Xhr, SUMA_SurfContHelp_Node, SUMA_SurfContHelp_Tri, 01071 SUMA_SurfContHelp_NodeValTblr0, SUMA_SurfContHelp_NodeValTblc1, 01072 SUMA_SurfContHelp_NodeValTblc2, SUMA_SurfContHelp_NodeValTblc3, 01073 SUMA_SurfContHelp_NodeValTblr0, 01074 SUMA_SurfContHelp_NodeLabelTblr0); 01075 01076 SS = SUMA_StringAppend_va(SS, 01077 "+ Dset Controls Block:\n" 01078 "\n" 01079 "++ Dset Info Table: \n" 01080 "+++ Row Lbl:\n%s\n" 01081 "+++ Row Par:\n%s\n" 01082 "\n" 01083 "++ Ord:\n%s\n" 01084 "\n" 01085 "++ Opa:\n%s\n" 01086 "\n" 01087 "++ Dim:\n%s\n" 01088 "\n" 01089 "++ view:\n%s\n" 01090 "\n" 01091 "++ Switch Dset:\n%s\n" 01092 "\n", 01093 SUMA_SurfContHelp_DsetLblTblr0, SUMA_SurfContHelp_DsetLblTblr1, 01094 SUMA_SurfContHelp_DsetOrd, SUMA_SurfContHelp_DsetOpa, SUMA_SurfContHelp_DsetDim, 01095 SUMA_SurfContHelp_DsetView, SUMA_SurfContHelp_DsetSwitch); 01096 01097 SS = SUMA_StringAppend_va(SS, 01098 "++ Load Dset:\n%s\n" 01099 "\n" 01100 "++ Load Col:\n%s\n" 01101 "\n", 01102 SUMA_SurfContHelp_DsetLoad, 01103 SUMA_SurfContHelp_DsetLoadCol); 01104 01105 SS = SUMA_StringAppend_va(SS, 01106 "+ Dset Mapping Block:\n" 01107 "\n" 01108 "++ Mapping Data: \n" 01109 "\n" 01110 "+++ I\n%s\n" 01111 "++++ v:\n%s\n" 01112 "+++ T\n%s\n" 01113 "++++ v\n%s\n" 01114 "+++ B\n%s\n" 01115 "++++ v\n%s\n" 01116 "\n", 01117 SUMA_SurfContHelp_SelInt, SUMA_SurfContHelp_SelIntTgl, 01118 SUMA_SurfContHelp_SelThr, SUMA_SurfContHelp_SelThrTgl, 01119 SUMA_SurfContHelp_SelBrt, SUMA_SurfContHelp_SelBrtTgl ); 01120 01121 SS = SUMA_StringAppend_va(SS, 01122 "++ Mapping Parameters Table:\n%s\n" 01123 "+++ Col. Min\n%s\n" 01124 "+++ Col. Max\n%s\n" 01125 "+++ Row I\n%s\n" 01126 "+++ Row B1\n%s\n" 01127 "+++ Row B2\n%s\n" 01128 "+++ Row C\n%s\n" 01129 "\n", 01130 SUMA_SurfContHelp_SetRngTbl_r0, 01131 SUMA_SurfContHelp_SetRngTbl_c1, SUMA_SurfContHelp_SetRngTbl_c2, 01132 SUMA_SurfContHelp_SetRngTbl_r1, SUMA_SurfContHelp_SetRngTbl_r2, 01133 SUMA_SurfContHelp_SetRngTbl_r3, SUMA_SurfContHelp_SetRngTbl_r4); 01134 01135 SS = SUMA_StringAppend_va(SS, 01136 "++ Col\n%s\n" 01137 "\n" 01138 "++ Bias\n%s\n" 01139 "\n" 01140 "Cmp\n%s\n" 01141 "\n" 01142 "New\n%s\n" 01143 "\n" 01144 "|T|\n%s\n" 01145 "\n" 01146 "sym I\n%s\n" 01147 "\n" 01148 "shw 0\n%s\n" 01149 "\n", 01150 SUMA_SurfContHelp_Col, SUMA_SurfContHelp_Bias, SUMA_SurfContHelp_Cmp, 01151 SUMA_SurfContHelp_CmpNew, SUMA_SurfContHelp_AbsThr, SUMA_SurfContHelp_Isym, 01152 SUMA_SurfContHelp_Shw0); 01153 01154 SS = SUMA_StringAppend_va(SS, 01155 "++ Data Range Table:\n%s\n" 01156 "\n" 01157 "+++ Col Min\n%s\n" 01158 "+++ Col Node\n%s\n" 01159 "+++ Col Max\n%s\n" 01160 "+++ Col Node\n%s\n" 01161 "+++ Row I\n%s\n" 01162 "+++ Row T\n%s\n" 01163 "+++ Row B\n%s\n", 01164 SUMA_SurfContHelp_RangeTbl_c0, 01165 SUMA_SurfContHelp_RangeTbl_c1, SUMA_SurfContHelp_RangeTbl_c2, 01166 SUMA_SurfContHelp_RangeTbl_c3, SUMA_SurfContHelp_RangeTbl_c4, 01167 SUMA_SurfContHelp_RangeTbl_r1, SUMA_SurfContHelp_RangeTbl_r2, 01168 SUMA_SurfContHelp_RangeTbl_r3); 01169 01170 01171 SUMA_SS2S(SS, s); 01172 01173 SUMA_RETURN(s); 01174 } |
|
function called when help window is destroyed
Definition at line 308 of file SUMA_help.c. References SUMA_X_AllView::Help_Cmap_TextShell, p, SUMA_ENTRY, SUMA_RETURNe, and SUMA_CommonFields::X.
00309 { 00310 static char FuncName[]={"SUMA_Help_Cmap_destroyed"}; 00311 00312 SUMA_ENTRY; 00313 00314 SUMAg_CF->X->Help_Cmap_TextShell = NULL; 00315 00316 SUMA_RETURNe; 00317 } |
|
Definition at line 518 of file SUMA_help.c. References SUMA_STRING::s, SUMA_ColorMapVec_Info(), SUMA_ENTRY, SUMA_free, SUMA_Help_AllSurfCont(), SUMA_New_Additions(), SUMA_RETURN, and SUMA_StringAppend(). Referenced by SUMA_Engine().
00519 { 00520 static char FuncName[]={"SUMA_help_message_Info"}; 00521 char stmp[1000], *s = NULL; 00522 SUMA_STRING *SS = NULL; 00523 00524 SUMA_ENTRY; 00525 00526 SS = SUMA_StringAppend (NULL, NULL); 00527 00528 s = SUMA_New_Additions (0, 1); 00529 SS = SUMA_StringAppend (SS, s); SUMA_free(s); s = NULL; 00530 00531 SS = SUMA_StringAppend (SS, 00532 "\nKeyboard Controls\n" 00533 " r: record image of colormap.\n" 00534 "\n" 00535 " Ctrl+h: this help message\n" 00536 "\n" 00537 " Z: Zoom in.\n" 00538 " Maximum zoom in shows 2 colors in the map\n" 00539 " z: Zoom out.\n" 00540 " Minimum zoom in shows all colors in the map\n" 00541 "\n" 00542 " Up/Down arrows: move colormap up/down.\n" 00543 "\n" 00544 " Home: Reset zoom and translation parameters\n" 00545 "\n"); 00546 00547 SS = SUMA_StringAppend (SS, 00548 "\nCmap properties\n"); 00549 s = SUMA_ColorMapVec_Info(&ColMap, 1, 1); 00550 SS = SUMA_StringAppend (SS, s); SUMA_free(s); s = NULL; 00551 00552 /* Add help for all controller options */ 00553 s = SUMA_Help_AllSurfCont(); 00554 SS = SUMA_StringAppend (SS, s); SUMA_free(s); s = NULL; 00555 00556 /* clean SS */ 00557 SS = SUMA_StringAppend (SS, NULL); 00558 /* copy s pointer and free SS */ 00559 s = SS->s; 00560 SUMA_free(SS); 00561 00562 SUMA_RETURN (s); 00563 00564 } |
|
function called when help window is open
Definition at line 295 of file SUMA_help.c. References p, SUMA_ENTRY, and SUMA_RETURNe.
00296 { 00297 static char FuncName[]={"SUMA_Help_Cmap_open"}; 00298 00299 SUMA_ENTRY; 00300 /* nothing to do here */ 00301 00302 SUMA_RETURNe; 00303 } |
|
function called when help window is destroyed
Definition at line 282 of file SUMA_help.c. References SUMA_X_AllView::Help_TextShell, p, SUMA_ENTRY, SUMA_RETURNe, and SUMA_CommonFields::X.
00283 { 00284 static char FuncName[]={"SUMA_Help_destroyed"}; 00285 00286 SUMA_ENTRY; 00287 00288 SUMAg_CF->X->Help_TextShell = NULL; 00289 00290 SUMA_RETURNe; 00291 } |
|
Controls help message Definition at line 870 of file SUMA_help.c. References SUMA_ENTRY, SUMA_free, SUMA_help_message_Info(), and SUMA_RETURNe.
00871 { 00872 char *s=NULL; 00873 static char FuncName[]={"SUMA_help_message"}; 00874 00875 SUMA_ENTRY; 00876 00877 if (Out == NULL) { 00878 Out = stdout; 00879 } 00880 00881 s = SUMA_help_message_Info(); 00882 if (!s) { 00883 fprintf (SUMA_STDERR, "Error %s: Failed in SUMA_help_message_Info.\n", FuncName); 00884 }else { 00885 fprintf (Out, "%s\n", s); 00886 SUMA_free(s); 00887 } 00888 00889 SUMA_RETURNe; 00890 } |
|
Definition at line 566 of file SUMA_help.c. References SUMA_CommonFields::Dev, SUMA_STRING::s, SUMA_ENTRY, SUMA_free, SUMA_New_Additions(), SUMA_RETURN, and SUMA_StringAppend(). Referenced by SUMA_Engine(), and SUMA_help_message().
00567 { 00568 static char FuncName[]={"SUMA_help_message_Info"}; 00569 char stmp[1000], *s = NULL; 00570 SUMA_STRING *SS = NULL; 00571 00572 SUMA_ENTRY; 00573 00574 SS = SUMA_StringAppend (NULL, NULL); 00575 00576 s = SUMA_New_Additions (0, 1); 00577 SS = SUMA_StringAppend (SS, s); SUMA_free(s); s = NULL; 00578 00579 SS = SUMA_StringAppend (SS, 00580 "\nKeyboard Controls (substitute Alt with Apple key on MACs)\n"); 00581 SS = SUMA_StringAppend (SS, 00582 " a: attenuation by background, toggle.\n\n"); 00583 SS = SUMA_StringAppend (SS, 00584 " B: Backface culling, toggle.\n"); 00585 SS = SUMA_StringAppend (SS, 00586 " b: background color, toggle.\n\n"); 00587 SS = SUMA_StringAppend (SS, 00588 " c: load a node color file.\n\n"); 00589 SS = SUMA_StringAppend (SS, 00590 " Ctrl+d: draw ROI controller.\n\n"); 00591 if (SUMAg_CF->Dev) SS = SUMA_StringAppend (SS, 00592 " d: Show all DO objects in DOv.\n\n"); 00593 if (SUMAg_CF->Dev) SS = SUMA_StringAppend (SS, 00594 " Ctrl+e: Look for OpenGL errors.\n\n"); 00595 SS = SUMA_StringAppend (SS, 00596 " F: Flip light position between +z and -z.\n"); 00597 SS = SUMA_StringAppend (SS, 00598 " f: functional overlay, toggle.\n\n"); 00599 SS = SUMA_StringAppend (SS, 00600 " H: Highlight nodes inside a specified box.\n" 00601 " Does not update other viewers\n" 00602 " Paints into existing colors\n" 00603 " Highlight is wiped out with new\n" 00604 " colors.\n\n"); 00605 SS = SUMA_StringAppend (SS, 00606 " h: NO LONGER USED.\n" 00607 " Please use Ctrl+h instead.\n"); 00608 SS = SUMA_StringAppend (SS, 00609 " Ctrl+h: help message\n\n"); 00610 SS = SUMA_StringAppend (SS, 00611 " J: Set the selected FaceSet on Surface Object\n" 00612 " in Focus. Does not update in other viewers\n" 00613 " or in AFNI.\n"); 00614 SS = SUMA_StringAppend (SS, 00615 " j: Set the cross hair to a certain node on \n" 00616 " SO in Focus.\n" 00617 " Does update in other viewers\n" 00618 " if linked by index" 00619 " and AFNI if connected\n"); 00620 SS = SUMA_StringAppend (SS, 00621 " Ctrl+j: Set the cross hair's XYZ location. \n" 00622 " Does update in other viewers\n" 00623 " if linked by XYZ" 00624 " and AFNI if connected\n"); 00625 SS = SUMA_StringAppend (SS, 00626 " Alt+j: Set the Focus node. \n" 00627 " Cross hair's XYZ remain unchanged.\n" 00628 " Does not update in other viewers\n" 00629 " or in AFNI\n\n"); 00630 SS = SUMA_StringAppend (SS, 00631 " L: Light's XYZ coordinates\n"); 00632 SS = SUMA_StringAppend (SS, 00633 " l: look at point\n"); 00634 SS = SUMA_StringAppend (SS, 00635 " Alt+l: look at cross hair\n"); 00636 SS = SUMA_StringAppend (SS, 00637 " Ctrl+l: Switch locking mode for all viewers \n" 00638 " between: No Lock, Index Lock and \n" 00639 " XYZ Lock. The switching is order is \n" 00640 " based on the lock of the first viewer.\n\n"); 00641 SS = SUMA_StringAppend (SS, 00642 " Alt+Ctrl+M: Dumps memory trace to file \n" 00643 " called malldump.NNN where NNN\n" 00644 " is the smallest number between\n" 00645 " 001 and 999 that has not been used.\n"); 00646 SS = SUMA_StringAppend (SS, 00647 " m: momentum, toggle\n\n"); 00648 if (SUMAg_CF->Dev) SS = SUMA_StringAppend (SS, 00649 " n: bring a node to direct view (does not work AT ALL)\n"); 00650 SS = SUMA_StringAppend (SS, 00651 " Ctrl+n: Open a new surface viewer window.\n\n"); 00652 SS = SUMA_StringAppend (SS, 00653 " p: Viewer rendering mode \n" 00654 " (Fill, Line, Points), switch.\n\n"); 00655 SS = SUMA_StringAppend (SS, 00656 " r: record current image\n" 00657 " in an a la AFNI image viewer.\n" 00658 " Identical images are rejected.\n\n"); 00659 SS = SUMA_StringAppend (SS, 00660 " R: Toggle continuous recording \n" 00661 " to an a la AFNI image viewer.\n" 00662 " Identical images are rejected.\n\n"); 00663 SS = SUMA_StringAppend (SS, 00664 " s: NO LONGER IN USE. \n" 00665 " View the surface's structure contents.\n" 00666 " Use:View->Surface Controller->More.\n"); 00667 SS = SUMA_StringAppend (SS, 00668 " Ctrl+s: Open controller for \n" 00669 " surface in Focus.\n"); 00670 if (SUMAg_CF->Dev) SS = SUMA_StringAppend (SS, 00671 " Ctrl+Alt+s: Input filename with coordinates\n" 00672 " forming a segment (6 values) on \n" 00673 " each line.\n"); 00674 SS = SUMA_StringAppend (SS, 00675 " Alt+s: Switch mouse buttons 1 and 3.\n\n"); 00676 if (SUMAg_CF->Dev) SS = SUMA_StringAppend (SS, 00677 " S: Show all surface objects registered in DOv.\n\n"); 00678 SS = SUMA_StringAppend (SS, 00679 " t: talk to AFNI, toggle.\n"); 00680 SS = SUMA_StringAppend (SS, 00681 " Ctrl+t: Force a resend of \n" 00682 " surfaces to AFNI.\n\n"); 00683 SS = SUMA_StringAppend (SS, 00684 " T: Start listening for niml connections\n\n"); 00685 SS = SUMA_StringAppend (SS, 00686 " Ctrl+u: Open SUMA controller.\n\n"); 00687 SS = SUMA_StringAppend (SS, 00688 " v: NO LONGER IN USE. \n" 00689 " View the viewer's structure contents.\n" 00690 " Use: View->Viewer Controller->More.\n" 00691 "\n"); 00692 SS = SUMA_StringAppend (SS, 00693 " w: This option has been dropped.\n" 00694 " Instead, use 'r' or 'R' recording options\n" 00695 " or use a screen grab instead. \n" 00696 " (like xv on unix systems, and grab on Macs.)\n"); 00697 SS = SUMA_StringAppend (SS, 00698 " W: Write ascii files containing the NodeList,\n" 00699 " the FaceSetList and the nodecolors of the \n" 00700 " surface in focus.\n\n"); 00701 SS = SUMA_StringAppend (SS, 00702 " Z/z: Zoom in/out\n\n"); 00703 SS = SUMA_StringAppend (SS, 00704 " [: Show/Hide left hemisphere.\n" 00705 " ]: Show/Hide right hemisphere.\n" 00706 " Window title shows which \n" 00707 " hemispheres are shown :LR:\n" 00708 " :-R: :L-: or :--:\n\n"); 00709 SS = SUMA_StringAppend (SS, 00710 " 8: Set the number of smoothing iterations\n" 00711 " to be applied to the foreground colors.\n" 00712 " This setting will be applied to all subsequent\n" 00713 " color sets.\n"); 00714 SS = SUMA_StringAppend (SS, 00715 " *: Smooth node colors by averaging with neighbors.\n" 00716 " The smoothing is only applied to the current colors,\n" 00717 " and will be not be applied to new color sets.\n\n"); 00718 if (SUMAg_CF->Dev) SS = SUMA_StringAppend (SS, 00719 " @: Compute curvatures along principal directions \n" 00720 " on the surface, results written to disk.\n\n"); 00721 if (SUMAg_CF->Dev) SS = SUMA_StringAppend (SS, 00722 " (: Compute convexity of surface, \n" 00723 " results written to disk.\n\n"); 00724 SS = SUMA_StringAppend (SS, 00725 " ,/. (think </>): Switch to next/previous view state.\n\n"); 00726 SS = SUMA_StringAppend (SS, 00727 " SPACE: Toggle between Mapping Reference and\n" 00728 " Current view state.\n\n"); 00729 00730 SS = SUMA_StringAppend (SS, 00731 " L-R arrows: rotate about screen's Y axis\n"); 00732 SS = SUMA_StringAppend (SS, 00733 " U-D arrows: rotate about screen's X axis\n"); 00734 SS = SUMA_StringAppend (SS, 00735 " Shift+L-R arrows: translate about screen's \n" 00736 " Y axis\n"); 00737 SS = SUMA_StringAppend (SS, 00738 " Shift+U-D arrows: translate about screen's \n" 00739 " X axis\n"); 00740 SS = SUMA_StringAppend (SS, 00741 " Ctrl+L-R arrows: LR cardinal views\n"); 00742 SS = SUMA_StringAppend (SS, 00743 " Ctrl+U-D arrows: IS cardinal views\n"); 00744 SS = SUMA_StringAppend (SS, 00745 " Ctrl+Shift+U-D arrows: AP cardinal views\n\n"); 00746 00747 SS = SUMA_StringAppend (SS, 00748 " F1: screen axis (X-Red, Y-Green), toggle. \n"); 00749 SS = SUMA_StringAppend (SS, 00750 " F2: surface axis (X-Red, Y-Green, Z-Blue), \n" 00751 " switch. \n"); 00752 SS = SUMA_StringAppend (SS, 00753 " F3: cross hair, toggle. \n"); 00754 SS = SUMA_StringAppend (SS, 00755 " F4: node selection highlight, toggle. \n"); 00756 SS = SUMA_StringAppend (SS, 00757 " F5: FaceSet selection highlight, toggle.\n"); 00758 SS = SUMA_StringAppend (SS, 00759 " F6: Viewer background color, toggle.\n"); 00760 SS = SUMA_StringAppend (SS, 00761 " F7: Switch between color mixing modes.\n" 00762 " ORIG: Col = ( 1 - opacity ) * OldCol + opacity * NewCol \n" 00763 " MOD1: Col = ( 1 - opacity ) * OldCol + NewCol \n"); 00764 SS = SUMA_StringAppend (SS, 00765 " F8: Viewing mode (Perspective or Orthographic Projection), toggle.\n" 00766 ); 00767 SS = SUMA_StringAppend (SS, 00768 " F12: Time 20 scene renderings.\n\n"); 00769 SS = SUMA_StringAppend (SS, 00770 " HOME: reset view to startup\n\n"); 00771 SS = SUMA_StringAppend (SS, 00772 " ESCAPE: close the surface viewer window.\n"); 00773 SS = SUMA_StringAppend (SS, 00774 " Shft+ESCAPE: close all surface viewer windows.\n\n"); 00775 SS = SUMA_StringAppend (SS, 00776 " Mouse Controls:\n"); 00777 SS = SUMA_StringAppend (SS, 00778 " Button 1-Motion: rotation as if you were using\n" 00779 " a trackball.\n"); 00780 SS = SUMA_StringAppend (SS, 00781 " Pure vertical motion is equivalent to using \n" 00782 " the up/down arrow keys.\n"); 00783 SS = SUMA_StringAppend (SS, 00784 " Pure horizontal motion is equivalent to using \n" 00785 " the left/right arrow keys.\n"); 00786 SS = SUMA_StringAppend (SS, 00787 " Of course, the advantage to using the mouse is \n" 00788 " a continuous range of rotation angles and \n"); 00789 SS = SUMA_StringAppend (SS, 00790 " simultaneous rotations about the screen's \n" 00791 " X & Y axis.\n"); 00792 SS = SUMA_StringAppend (SS, 00793 " This mode of rotation is similar to SGI's \n" 00794 " ivview interface.\n"); 00795 SS = SUMA_StringAppend (SS, 00796 " Button 2-Motion: translation\n"); 00797 SS = SUMA_StringAppend (SS, 00798 " Button 1+2-Motion OR \n" 00799 " Shift+Button2-Motion: \n" 00800 " Zoom in/out\n"); 00801 SS = SUMA_StringAppend (SS, 00802 " Button 3-Press: picking \n"); 00803 SS = SUMA_StringAppend (SS, 00804 " shft+Button 3-Press: ROI drawing \n" 00805 " (when in DrawROI mode)\n"); 00806 SS = SUMA_StringAppend (SS, 00807 " \n"); 00808 SS = SUMA_StringAppend (SS, 00809 " File Menu:\n" 00810 " ->Save View: Save viewer's display settings.\n" 00811 " ->Load View: Load and apply display settings.\n" 00812 " ->Close: Close this viewer.\n" 00813 " Exit SUMA if this is the only viewer.\n"); 00814 SS = SUMA_StringAppend (SS, 00815 " View Menu:\n" 00816 " ->SUMA Controller: Open SUMA controller interface.\n" 00817 " ->Surface Controller: Open selected surface's \n" 00818 " controller interface.\n" 00819 " ->Viewer Controller: Open viewer's controller interface.\n" 00820 " --------\n" 00821 " ->Cross Hair: Toggle cross hair display.\n" 00822 " ->Node in Focus: Toggle highlight of selected node.\n" 00823 " ->Selected Faceset: Toggle highlight of selected faceset.\n"); 00824 SS = SUMA_StringAppend (SS, 00825 " Tools Menu:\n" 00826 " ->Draw ROI: Open Draw ROI controller.\n"); 00827 SS = SUMA_StringAppend (SS, 00828 " Help Menu:\n" 00829 " ->Usage: Opens window with this message.\n" 00830 " ->Message Log: Opens window that will \n" 00831 " contain errors and warnings\n" 00832 " typically output to screen.\n" 00833 " -------\n" 00834 " ->SUMA Global: Output debugging information\n" 00835 " about some of SUMA's global \n" 00836 " structure's variables.\n" 00837 " ->Viewer Struct: Output debugging info on \n" 00838 " a viewer's structure.\n" 00839 " ->Surface Struct: Output debugging info on\n" 00840 " the selected surface's struct.\n" 00841 " -------\n" 00842 " ->InOut Notify: Turn on/off function in/out tracing.\n" 00843 " ->MemTrace: Turn on memory tracing.\n" 00844 " Once turned on, this can't be turned off.\n" 00845 "\n"); 00846 SS = SUMA_StringAppend (SS, 00847 " More help at \n" 00848 " http://afni.nimh.nih.gov/ssc/ziad/SUMA/SUMA_doc.htm\n"); 00849 SS = SUMA_StringAppend (SS, 00850 "\n"); 00851 00852 /* add latest additions */ 00853 SS = SUMA_StringAppend (SS, "Current Version Info:\n"); 00854 s = SUMA_New_Additions (0, 0); 00855 SS = SUMA_StringAppend (SS, s); SUMA_free(s); s = NULL; 00856 00857 /* clean SS */ 00858 SS = SUMA_StringAppend (SS, NULL); 00859 /* copy s pointer and free SS */ 00860 s = SS->s; 00861 SUMA_free(SS); 00862 00863 SUMA_RETURN (s); 00864 00865 } |
|
function called when help window is open
Definition at line 269 of file SUMA_help.c. References p, SUMA_ENTRY, and SUMA_RETURNe.
00270 { 00271 static char FuncName[]={"SUMA_Help_open"}; 00272 00273 SUMA_ENTRY; 00274 /* nothing to do here */ 00275 00276 SUMA_RETURNe; 00277 } |
|
Definition at line 929 of file SUMA_display.c. References SUMA_X_AllView::App, event, SUMA_SurfaceViewer::GVS, SUMA_SurfaceViewer::isShaded, LocalHead, SUMA_X::MOMENTUMID, SUMA_SurfaceViewer::rdc, SUMA_SurfaceViewer::ResetGLStateVariables, SUMA_SurfaceViewer::StdView, SUMA_ANY_WIDGET2SV, SUMA_Boolean, SUMA_ENTRY, SUMA_LH, SUMA_postRedisplay(), SUMA_RDC_X_MAPSTATE, SUMA_RETURNe, SUMA_CommonFields::X, and SUMA_SurfaceViewer::X. Referenced by SUMA_X_SurfaceViewer_Create().
00931 { 00932 00933 static char FuncName[]={"SUMA_mapStateChanged"}; 00934 int isv; 00935 SUMA_SurfaceViewer *sv; 00936 SUMA_Boolean LocalHead = NOPE; 00937 00938 SUMA_ENTRY; 00939 00940 SUMA_LH("Called"); 00941 00942 /* determine the surface viewer that the widget belongs to */ 00943 SUMA_ANY_WIDGET2SV(w, sv, isv); 00944 if (isv < 0) { 00945 fprintf (SUMA_STDERR, "Error %s: Failed in macro SUMA_ANY_WIDGET2SV.\n", FuncName); 00946 SUMA_RETURNe; 00947 } 00948 00949 sv->rdc = SUMA_RDC_X_MAPSTATE; 00950 00951 /* When using multiple viewers, you must reset the OpenGL state variables or risk having abrupt changes with the first click */ 00952 sv->ResetGLStateVariables = YUP; 00953 00954 /*fprintf(stdout, "widget window being mapped/unmapped\n");*/ 00955 switch (event->type) { 00956 case MapNotify: 00957 sv->isShaded = NOPE; 00958 if (sv->GVS[sv->StdView].ApplyMomentum) 00959 sv->X->MOMENTUMID = XtAppAddTimeOut(SUMAg_CF->X->App, 1, SUMA_momentum, (XtPointer)w); 00960 break; 00961 case UnmapNotify: 00962 sv->isShaded = YUP; 00963 if (sv->GVS[sv->StdView].ApplyMomentum) { 00964 if (sv->X->MOMENTUMID) XtRemoveTimeOut(sv->X->MOMENTUMID); 00965 sv->X->MOMENTUMID = 0; 00966 } 00967 break; 00968 } 00969 00970 SUMA_postRedisplay(w, clientData, NULL); 00971 00972 SUMA_RETURNe; 00973 } |
|
function called when Message window is destroyed
Definition at line 335 of file SUMA_help.c. References SUMA_X_AllView::Log_TextShell, p, SUMA_ENTRY, SUMA_RETURNe, and SUMA_CommonFields::X.
00336 { 00337 static char FuncName[]={"SUMA_Message_destroyed"}; 00338 00339 SUMA_ENTRY; 00340 00341 SUMAg_CF->X->Log_TextShell = NULL; 00342 00343 SUMA_RETURNe; 00344 } |
|
function called when Message window is open
Definition at line 322 of file SUMA_help.c. References p, SUMA_ENTRY, and SUMA_RETURNe.
00323 { 00324 static char FuncName[]={"SUMA_Message_open"}; 00325 00326 SUMA_ENTRY; 00327 /* nothing to do here */ 00328 00329 SUMA_RETURNe; 00330 } |
|
Definition at line 34 of file SUMA_help.c. References i, SUMA_STRING::s, SUMA_Boolean, SUMA_ENTRY, SUMA_free, SUMA_New_Additions_perver(), SUMA_RETURN, SUMA_StringAppend(), SUMA_StringAppend_va(), SUMA_VERSION_LABEL, and verv. Referenced by cmp_surf_usage(), main(), SUMA_help_Cmap_message_Info(), SUMA_help_message_Info(), SUMA_Version(), usage_3dBRAIN_VOYAGERtoAFNI(), usage_3dCRUISEtoAFNI(), usage_3dSurfMask(), usage_PROGRAM_NAME(), usage_SUMA_coarsen(), usage_SUMA_SampBias(), and usage_SurfToSurf().
00035 { 00036 static char FuncName[]={"SUMA_New_Additions"}; 00037 char *s = NULL; 00038 int i; 00039 SUMA_STRING *SS = NULL; 00040 00041 SUMA_ENTRY; 00042 00043 SS = SUMA_StringAppend (NULL, NULL); 00044 00045 if (ver == 0) { /* just the latest */ 00046 s = SUMA_New_Additions_perver( verv[0], StampOnly); 00047 if (s) { 00048 SS = SUMA_StringAppend (SS, s); SUMA_free(s); s = NULL; 00049 } 00050 } else if (ver < 0) { 00051 /* all history */ 00052 SS = SUMA_StringAppend (SS, "All Version Info:\n"); 00053 i = 0; 00054 while (verv[i] > 0) { 00055 s = SUMA_New_Additions_perver( verv[i], StampOnly); 00056 if (s) { 00057 SS = SUMA_StringAppend (SS, s); SUMA_free(s); s = NULL; 00058 SS = SUMA_StringAppend (SS, "\n"); 00059 } 00060 ++i; 00061 } 00062 00063 } else { 00064 /* just for ver */ 00065 s = SUMA_New_Additions_perver( ver, StampOnly); 00066 if (s) { 00067 SS = SUMA_StringAppend (SS, s); SUMA_free(s); s = NULL; 00068 } 00069 } 00070 00071 /* add the CVS tag */ 00072 SS = SUMA_StringAppend_va (SS, "\nCVS tag:\n %s\n", SUMA_VERSION_LABEL); 00073 00074 /* add the compile date */ 00075 SS = SUMA_StringAppend_va (SS, "\nCompile Date:\n %s\n",__DATE__); 00076 00077 /* clean SS */ 00078 SS = SUMA_StringAppend (SS, NULL); 00079 /* copy s pointer and free SS */ 00080 s = SS->s; 00081 SUMA_free(SS); 00082 00083 SUMA_RETURN(s); 00084 00085 } |
|
Returns a string with version information.
Definition at line 99 of file SUMA_help.c. References SUMA_STRING::s, SUMA_Boolean, SUMA_ENTRY, SUMA_free, SUMA_RETURN, SUMA_StringAppend(), SUMA_StringAppend_va(), and SUMA_ver2date(). Referenced by SUMA_New_Additions().
00100 { 00101 static char FuncName[]={"SUMA_New_Additions_perver"}; 00102 char *s = NULL; 00103 SUMA_STRING *SS = NULL; 00104 00105 SUMA_ENTRY; 00106 00107 SS = SUMA_StringAppend (NULL, NULL); 00108 00109 00110 switch (ver) { 00111 /* Must modify verv in SUMA_New_Additions when you touch this block */ 00112 /* 00113 case XX: 00114 SS = SUMA_StringAppend_va(SS, 00115 "++ SUMA version %s\n", SUMA_ver2date(ver)); if (StampOnly) break; 00116 SS = SUMA_StringAppend(SS, 00117 "New Programs:\n" 00118 " + \n" 00119 "Modifications:\n" 00120 " + \n"); 00121 break; 00122 */ 00123 00124 case 20041229: 00125 SS = SUMA_StringAppend_va(SS, 00126 "++ SUMA version %s\n", SUMA_ver2date(ver)); if (StampOnly) break; 00127 SS = SUMA_StringAppend(SS, 00128 "New Programs:\n" 00129 " + SurfClust: Program to find clusters of activation\n" 00130 " on the surface.\n" 00131 " + IsoSurface: Program to create isosurfaces from AFNI volumes.\n" 00132 " + ConvexHull: Program to create the convex hull of a set of\n" 00133 " points.\n" 00134 " + 3dSkullStrip: Program to remove the skull from anatomical \n" 00135 " volumes.\n" 00136 " + 3dCRUISEtoAFNI: Program to convert CRUISE volumes to AFNI\n" 00137 " + 3dBRAIN_VOYAGERtoAFNI: Program to convert BrainVoyager .vmr\n" 00138 " volumes to AFNI\n" 00139 " + SurfMesh: Program to increase or decrease a mesh's density.\n" 00140 " + SurfMask: Program to find the volume enclosed by a surface.\n" 00141 " + SurfToSurf: Program to interpolate between non-isotopic surfaces.\n" 00142 "Modifications:\n" 00143 " + SUMA:\n" 00144 " o Slight modification to threshold scale.\n" 00145 " o Added environment variable SUMA_ThresholdScalePower.\n" 00146 " o Fixed a few kinks in the surface controller.\n" 00147 " o Fixed ROI drawing trace on OSX.\n" 00148 " o Added geodesic distance measurements in ROI drawing\n" 00149 " controller.\n" 00150 " o Suma can read surfaces specified on command line.\n" 00151 " o Fixed bug reading AFNI generated niml files.\n" 00152 " o Useful axis displayed with F2 key.\n" 00153 " o Fixed bug with recursive function used to fill ROIs.\n" 00154 " o Support for reading CRUISE surfaces in OpenDX format\n" 00155 " o Support for reading BrainVoyager surfaces (.srf) format\n" 00156 " o Mouse motion effect is modulated with Zoom level\n" 00157 " o F8 toggles between orthographic and perspective viewing\n" 00158 " + ConvertSurface:\n" 00159 " o Option -make_consistent added to make the winding\n" 00160 " of the mesh consistent. \n" 00161 " + SurfQual:\n" 00162 " o Checks and warns about mesh's winding inconsistency.\n" 00163 " + SurfSmooth:\n" 00164 " o Added NN_geom, nearest neighbor interpolation option.\n" 00165 " o Combined with -match_vol or -match_area, this geometry\n" 00166 " smoothing mode can be used to inflate surfaces.\n" 00167 " + SurfaceMetrics:\n" 00168 " o Option -vol calculates the volume of the closed surface.\n" 00169 " + SurfPatch:\n" 00170 " o Option -vol to calculate the volume between two isotopic\n" 00171 " surface patches.\n" 00172 " + ROI2dataset:\n" 00173 " o Option -pad_to_node and -pad_label to output datasets\n" 00174 " containing full node listings.\n" 00175 " + ConvertDset:\n" 00176 " o Option -o_1dp was added to write 1D file data only,\n" 00177 " without additional comments.\n" 00178 ); 00179 break; 00180 00181 case 20040610: /* used to be 25000 */ 00182 SS = SUMA_StringAppend_va(SS, 00183 "++ SUMA version %s (used to be 2.500)\n", SUMA_ver2date(ver)); if (StampOnly) break; 00184 SS = SUMA_StringAppend(SS, 00185 "Modifications:\n" 00186 " + SUMA's surface controller 'ctrl+s' has been\n" 00187 " vastly improved. \n" 00188 " Of note are the following features:\n" 00189 " - interactive color mapping\n" 00190 " - thresholding controls \n" 00191 " - brightness modulation\n" 00192 " - choice of colormaps\n" 00193 " - coordinate bias (tres tres cool)\n" 00194 " - info on current cross hair location\n" 00195 " Use Bhelp button in the controller for detailed help.\n" 00196 " + 3dVol2Surf can output NIML formatted datasets.\n" 00197 " Options -first_node and -last_node can be used\n" 00198 " to restrict the mapping to a subset of the nodes.\n" 00199 " That is useful if your output file size exceeds 2GB.\n" 00200 "Bug Fix:\n" 00201 " + Fixed bug on Mac OS-X that cause all viewers to close\n" 00202 " after pressing 'Yes' on the 'Close this viewer' prompt.\n" 00203 ); 00204 break; 00205 00206 case 20040116: /* used to be 24800 */ 00207 SS = SUMA_StringAppend_va(SS, 00208 "++ SUMA version %s (used to be 2.480)\n", SUMA_ver2date(ver)); if (StampOnly) break; 00209 SS = SUMA_StringAppend(SS, 00210 "New Programs:\n" 00211 " + FS_readannot: Program to read FreeSurfer's\n" 00212 " annotation files.\n" 00213 " + SurfPatch: Program to create surface patches\n" 00214 " from a set of nodes.\n" 00215 " + SurfQual: Program to report defects in surfaces.\n" 00216 " For the moment, works on spherical \n" 00217 " surfaces only.\n" 00218 "Modifications:\n" 00219 " + Added affine transforms to ConvertSurface.\n" 00220 " + Added datasets into SUMA's code (no interface).\n" 00221 " + Added saving/loading of viewer settings.\n" 00222 " + Beginning of multiple group support in SUMA.\n" 00223 " + Redisplays of Surface Viewers due to X events\n" 00224 " are no longer passed to the image recorder.\n" ); 00225 break; 00226 00227 case 20040106: /* used to be 24500 */ 00228 SS = SUMA_StringAppend_va(SS, 00229 "++ SUMA version %s (used to be 2.450)\n", SUMA_ver2date(ver)); if (StampOnly) break; 00230 SS = SUMA_StringAppend(SS, 00231 "New Programs:\n" 00232 " + inspec: Shows the contents of a spec file\n" 00233 " + quickspec: Creates a minimal spec file for one\n" 00234 " or a bunch of surfaces.\n" 00235 " + SurfSmooth: Smoothes surface data or geometry\n" 00236 " + SurfMeasures: Outputs various surface attributes \n" 00237 " and measurements such as:\n" 00238 " Thickness, Area, Volume, etc.\n" 00239 "Modifications:\n" 00240 " + Foreground color smoothing option (SUMA keyb. 8)\n" 00241 " + No more MappingRef field in Spec files.\n" 00242 " The field is broken up into a set of other\n" 00243 " fields for more flexibility.\n" 00244 " + Surface input to command-line programs is \n" 00245 " now done via -spec files too.\n" 00246 " + One-way communication with SUMA via niml.\n" 00247 " Only available with SurfSmooth for the moment.\n" 00248 " + Began, in good faith, to update the new version \n" 00249 " information.\n"); 00250 break; 00251 00252 default: 00253 SS = SUMA_StringAppend_va(SS, "++ %d? No such version, fool!\n", ver); 00254 break; 00255 } 00256 00257 /* clean SS */ 00258 SS = SUMA_StringAppend (SS, NULL); 00259 /* copy s pointer and free SS */ 00260 s = SS->s; 00261 SUMA_free(SS); 00262 00263 SUMA_RETURN(s); 00264 } |
|
Definition at line 1913 of file SUMA_display.c. References SUMA_X::DPY, event, LocalHead, SUMA_SurfaceViewer::rdc, SUMA_SurfaceViewer::ResetGLStateVariables, SUMA_ANY_WIDGET2SV, SUMA_Boolean, SUMA_ENTRY, SUMA_postRedisplay(), SUMA_RDC_X_ENTER_WINDOW, SUMA_RETURNe, and SUMA_SurfaceViewer::X. Referenced by SUMA_X_SurfaceViewer_Create().
01914 { 01915 static char FuncName[]={"SUMA_SetcSV"}; 01916 SUMA_SurfaceViewer *sv; 01917 int isv; 01918 SUMA_Boolean LocalHead = NOPE; 01919 01920 SUMA_ENTRY; 01921 01922 if (LocalHead) fprintf(SUMA_STDERR,"%s:\n Called, w = %p\n", FuncName, w); 01923 01924 01925 /* When using multiple viewers, you must reset the OpenGL state variables or risk having abrupt changes with the first click */ 01926 SUMA_ANY_WIDGET2SV(w, sv, isv); 01927 if (isv < 0) { 01928 fprintf (SUMA_STDERR, "Error %s: Failed in macro SUMA_ANY_WIDGET2SV.\n", FuncName); 01929 SUMA_RETURNe; 01930 } 01931 01932 #ifdef DARWIN 01933 /* Set the focus manually. 01934 If you're not using motif widgets, window focus is not managed. 01935 You can manage it yourself with XSetInputFocus when the EnterWindowEvent is captured. 01936 You don't need to do that however if you link (for some reason) to -lXm. 01937 But on the macosx10, -lXm does not help, so we manage the foucs ourselves */ 01938 /* The downside is that this call seems to be related to a crash on the mac, 01939 reported as a complaint coming from X_SetInputFocus. 01940 The crash happened when multiple viewers were open and one of them was closed 01941 AND suma was set to prompt the user with "Close this viewer?" 01942 I tried resetting the focus to a viewer that is not being closed before 01943 closing the reviewer as requested by the user but that did not help. 01944 It turns out that the problem does not occur if the prompt window does not 01945 appear on top of the viewer to be closed. More precisely, if the pointer ends 01946 up on top of the viewer just after the prompt window disapears SUMA crashes with the 01947 message: X Error of failed request: BadMatch (invalid parameter attributes) ... 01948 The solution is simple, on DARWIN, make sure prompt window appears to the right 01949 of the viewer. If the user moves it back over the viewer AND then presses YES to close 01950 the viewer then they will suffer the crash. June 15 04*/ 01951 01952 XSetInputFocus(sv->X->DPY, XtWindow(w), RevertToPointerRoot, CurrentTime); 01953 #endif 01954 01955 sv->rdc = SUMA_RDC_X_ENTER_WINDOW; 01956 01957 if (LocalHead) fprintf (SUMA_STDERR, "%s: in Surface Viewer #%d.\n", FuncName, isv); 01958 sv->ResetGLStateVariables = YUP; 01959 01960 SUMA_postRedisplay(w, clientData, NULL); 01961 01962 01963 SUMA_RETURNe; 01964 } |
|
Definition at line 346 of file SUMA_help.c. References SUMA_ENTRY, SUMA_RETURN, SUMA_SS2S, and SUMA_StringAppend(). Referenced by main().
00347 { 00348 static char FuncName[]={"SUMA_sources_Info"}; 00349 char *s = NULL; 00350 SUMA_STRING *SS = NULL; 00351 00352 SUMA_ENTRY; 00353 00354 SS = SUMA_StringAppend (NULL, NULL); 00355 00356 SS = SUMA_StringAppend(SS, 00357 "Parts of SUMA use functions from various sources.\n" 00358 "Library sources:\n" 00359 "----------------\n" 00360 "* MarchingCubes:\n" 00361 " The code for the heart of the program IsoSurface is a translation of:\n" 00362 " Thomas Lewiner's C++ implementation of the algorithm in:\n" 00363 " Efficient Implementation of Marching Cubes´ Cases with Topological Guarantees\n" 00364 " by Thomas Lewiner, Hélio Lopes, Antônio Wilson Vieira and Geovan Tavares \n" 00365 " in Journal of Graphics Tools. \n" 00366 " http://www-sop.inria.fr/prisme/personnel/Thomas.Lewiner/JGT.pdf\n" 00367 " Permission to use this translation in other programs must be obtained \n" 00368 " from Mr. Lewiner.\n" 00369 "\n" 00370 "* QHull:\n" 00371 " Qhull, Copyright (c) 1993-2001 \n" 00372 " The National Science and Technology Research Center for \n" 00373 " Computation and Visualization of Geometric Structures \n" 00374 " (The Geometry Center) \n" 00375 " University of Minnesota \n" 00376 " 400 Lind Hall \n" 00377 " 207 Church Street S.E. \n" 00378 " Minneapolis, MN 55455 USA \n" 00379 " \n" 00380 " email: qhull@geom.umn.edu \n" 00381 " \n" 00382 " This software includes Qhull from The Geometry Center. Qhull is \n" 00383 " copyrighted as noted above. Qhull is free software and may be obtained \n" 00384 " via anonymous ftp from geom.umn.edu. It may be freely copied, modified, \n" 00385 " and redistributed under the following conditions: \n" 00386 " \n" 00387 " 1. All copyright notices must remain intact in all files. \n" 00388 " \n" 00389 " 2. A copy of this text file must be distributed along with any copies \n" 00390 " of Qhull that you redistribute; this includes copies that you have \n" 00391 " modified, or copies of programs or other software products that \n" 00392 " include Qhull. \n" 00393 " \n" 00394 " 3. If you modify Qhull, you must include a notice giving the \n" 00395 " name of the person performing the modification, the date of \n" 00396 " modification, and the reason for such modification. \n" 00397 " \n" 00398 " 4. When distributing modified versions of Qhull, or other software \n" 00399 " products that include Qhull, you must provide notice that the original \n" 00400 " source code may be obtained as noted above.\n" 00401 " \n" 00402 " 5. There is no warranty or other guarantee of fitness for Qhull, it is \n" 00403 " provided solely ""as is"". Bug reports or fixes may be sent to \n" 00404 " qhull_bug@geom.umn.edu; the authors may or may not act on them as \n" 00405 " they desire.\n" 00406 " \n" 00407 "\n" 00408 "* GLUT: Mark. J. Kilgard's code from the book 'Programming OpenGL for \n" 00409 " the X Window System' (ISBN:0-201-48359-9) published by \n" 00410 " Addison-Wesley.\n" 00411 " NOTICE: This source code distribution contains source code contained\n" 00412 " in the book 'Programming OpenGL for the X Window System' (ISBN:\n" 00413 " 0-201-48359-9) published by Addison-Wesley. The programs and\n" 00414 " associated files contained in the distribution were developed by Mark\n" 00415 " J. Kilgard and are Copyright 1994, 1995, 1996 by Mark J. Kilgard\n" 00416 " (unless otherwise noted). The programs are not in the public domain,\n" 00417 " but they are freely distributable without licensing fees. These\n" 00418 " programs are provided without guarantee or warrantee expressed or\n" 00419 " implied.\n" 00420 "\n" 00421 "* PLY: A set of functions for reading/writing PLY polygon files by\n" 00422 " Greg Turk.\n" 00423 " Copyright (c) 1994 The Board of Trustees of The Leland Stanford\n" 00424 " Junior University. All rights reserved. \n" 00425 " \n" 00426 " Permission to use, copy, modify and distribute this software and its \n" 00427 " documentation for any purpose is hereby granted without fee, provided \n" 00428 " that the above copyright notice and this permission notice appear in \n" 00429 " all copies of this software and that you do not sell the software. \n" 00430 " \n" 00431 " THE SOFTWARE IS PROVIDED 'AS IS' AND WITHOUT WARRANTY OF ANY KIND, \n" 00432 " EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY \n" 00433 " WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. \n" 00434 " \n" 00435 "* SimpEnvelopes: A set of functions for simplifying triangular meshes by\n" 00436 " Jonathan Cohen (cohenj@cs.unc.edu) and Amitabh Varshney\n" 00437 " (varshney@cs.sunysb.edu).\n" 00438 " Copyright 1995 The University of North Carolina at Chapel Hill.\n" 00439 " All Rights Reserved.\n" 00440 "\n" 00441 " Permission to use, copy, modify and distribute this software and its\n" 00442 " documentation for educational, research and non-profit purposes,\n" 00443 " without fee, and without a written agreement is hereby granted,\n" 00444 " provided that the above copyright notice and the following three\n" 00445 " paragraphs appear in all copies.\n" 00446 "\n" 00447 " IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE\n" 00448 " LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR\n" 00449 " CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE\n" 00450 " USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY\n" 00451 " OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH\n" 00452 " DAMAGES.\n" 00453 "\n" 00454 "\n" 00455 " Permission to use, copy, modify and distribute this software and its\n" 00456 " documentation for educational, research and non-profit purposes,\n" 00457 " without fee, and without a written agreement is hereby granted,\n" 00458 " provided that the above copyright notice and the following three\n" 00459 " paragraphs appear in all copies.\n" 00460 "\n" 00461 " THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY\n" 00462 " WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n" 00463 " MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE\n" 00464 " PROVIDED HEREUNDER IS ON AN 'AS IS' BASIS, AND THE UNIVERSITY OF\n" 00465 " NORTH CAROLINA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,\n" 00466 " UPDATES, ENHANCEMENTS, OR MODIFICATIONS.\n" 00467 "\n" 00468 " The authors may be contacted via:\n" 00469 "\n" 00470 " US Mail: Jonathan Cohen Amitabh Varshney\n" 00471 " Department of Computer Science Department of Computer Science \n" 00472 " Sitterson Hall, CB #3175 State University of New York\n" 00473 " University of N. Carolina Stony Brook, NY 11794-4400, USA \n" 00474 " Chapel Hill, NC 27599-3175\n" 00475 " \n" 00476 " Phone: (919)962-1749 Phone: (516)632-8446 \n" 00477 " \n" 00478 " EMail: cohenj@cs.unc.edu varshney@cs.sunysb.edu\n" 00479 "\n" 00480 "Sample code sources:\n" 00481 "--------------------\n" 00482 "* 'Mastering Algorithms with C': a book by Kyle Loudon, \n" 00483 " published by O'Reilly & Associates. \n" 00484 " This code is under copyright and cannot be included in any other book, publication,\n" 00485 " or educational product without permission from O'Reilly & Associates. No\n" 00486 " warranty is attached; we cannot take responsibility for errors or fitness for\n" 00487 " use.\n" 00488 "\n" 00489 "* 'C Language Algorithms for Digital Signal Processing': a book by \n" 00490 " Bruce Kimball, Paul Embree and Bruce Kimble\n" 00491 " published by Prentice Hall, 1991.\n" 00492 "\n" 00493 "* 'Motif Programming Manual': a book by Dan Heller and Paula Ferguson\n" 00494 " published by O'Reilly & Associates, Inc. 1994\n" 00495 " * Written by Dan Heller and Paula Ferguson.\n" 00496 " * Copyright 1994, O'Reilly & Associates, Inc.\n" 00497 " * Permission to use, copy, and modify this program without\n" 00498 " * restriction is hereby granted, as long as this copyright\n" 00499 " * notice appears in each copy of the program source code.\n" 00500 " * This program is freely distributable without licensing fees and\n" 00501 " * is provided without guarantee or warrantee expressed or implied.\n" 00502 " * This program is -not- in the public domain.\n" 00503 "\n" 00504 "* 'http://astronomy.swin.edu.au/~pbourke': Paul Bourke's personal pages\n" 00505 " on geometry and rendering .\n" 00506 " Copyright notice on webpage: Copyright Paul Bourke or a third party \n" 00507 " contributer where indicated. You may view this site and its contents \n" 00508 " using your web browser. You may print or save an electronic copy of \n" 00509 " parts of this web site for your own personal use. \n" 00510 " Permission must be sought for any other use. \n" 00511 "\n" ); 00512 00513 SUMA_SS2S(SS,s); 00514 00515 SUMA_RETURN (s); 00516 } |
|
Definition at line 1966 of file SUMA_display.c. References event, SUMA_ENTRY, and SUMA_RETURNe. Referenced by SUMA_X_SurfaceViewer_Create().
01967 { 01968 static char FuncName[]={"SUMA_unSetcSV"}; 01969 01970 SUMA_ENTRY; 01971 SUMA_RETURNe; 01972 } |
|
SUMA version Definition at line 947 of file SUMA_help.c. References SUMA_free, and SUMA_New_Additions(). Referenced by cmp_surf_usage(), and SUMA_usage().
00948 { 00949 static char FuncName[]={"SUMA_Version"}; 00950 char *s = NULL; 00951 00952 if (Out == NULL) { 00953 Out = stdout; 00954 } 00955 s = SUMA_New_Additions (0, 0); 00956 if (s) { 00957 fprintf (Out, "\n %s\n", s); 00958 SUMA_free(s); 00959 } else { 00960 fprintf (Out, "\n"); 00961 } 00962 00963 return; 00964 } |
|
Surface .. Volume relationships Definition at line 969 of file SUMA_help.c.
00970 { 00971 if (Out == NULL) { 00972 Out = stdout; 00973 } 00974 fprintf (Out, "SUMA_VolSurf_help: This function is obsolete.\n"); 00975 return; 00976 fprintf (Out, "\nVolume <--> Surface jeremiad:\n"); 00977 fprintf (Out, "-----------------------------\n"); 00978 fprintf (Out, "\tTo transform surface node coordinates to voxel coordinates a few parameters are required.\n"); 00979 fprintf (Out, "\tThose paramters vary depending on the type of surfaces used. Currently, SUMA supports \n"); 00980 fprintf (Out, "\tFreeSurfer and SureFit surfaces.\n"); 00981 fprintf (Out, "\nParent Volume (VolPar):\n"); 00982 fprintf (Out, "\tThe surface model is created from a high-resolution anatomical scan\n"); 00983 fprintf (Out, "\treferred to as Parent Volume (VolPar).\n"); 00984 fprintf (Out, "\tTo align the surface with data from a particular experiment, VolPar must\n"); 00985 fprintf (Out, "\tbe brought to alignment with the experiemt's data.\n"); 00986 fprintf (Out, "\tFor example, VolPar is aligned with data from experiment Day1 using:\n"); 00987 fprintf (Out, "\t3dvolreg -clipit -twopass -twodup -zpad 8 -rotcom -verbose \n"); 00988 fprintf (Out, "\t-base SPGR_Day1 -prefix VolPar_Day1 VolMast >>& VolParAlignLog\n"); 00989 fprintf (Out, "\twhere SPGR_Day1 is the high-resolution anatomical scan obtained in\n"); 00990 fprintf (Out, "\texperiment Day1 and VolPar_Day1 is VolPar aligned to SPGR_Day1.\n"); 00991 fprintf (Out, "\nSurface segmentation programs typically require the resolution of VolPar to\n"); 00992 fprintf (Out, "\tbe 1x1x1mm. Such volumes, especially for FreeSurfer are quite large and\n"); 00993 fprintf (Out, "\t3dvolreg might run out of memory. If that happens, you could resample \n"); 00994 fprintf (Out, "\tVolPar to a lower resolution such as 1.2x1.2x1.2mm, prior to registration. \n"); 00995 fprintf (Out, "\tNote that SPGR_Day1 must have the same resolution and number of slices as VolPar.\n"); 00996 fprintf (Out, "\n\t+FreeSurfer Parent Volume:\n"); 00997 fprintf (Out, "\tConstruct VolPar from the .COR images used to create the surface using:\n"); 00998 fprintf (Out, "\tto3d -prefix CW-cSurfParent-SPGR -xSLAB 127.5L-R -ySLAB 127.5S-I -zSLAB 127.5P-A COR-???\n"); 00999 fprintf (Out, "\tExample command line for a FreeSurfer suface with VolPar aligned to experiment ARzs:\n"); 01000 fprintf (Out, "\t./suma -vp CW-cSurfParent-SPGR_Reg2_ARzsspgrax_1mm_256pad_cor_RSP_down12+orig\\\n"); 01001 fprintf (Out, "\t -spec CW-FreeSurfer.SumaSpec\n"); 01002 fprintf (Out, "\n\t+SureFit Parent Volume:\n"); 01003 fprintf (Out, "\tVolPar is the anatomical 1x1x1 mm volume in the correct orientation (LPI) \n"); 01004 fprintf (Out, "\tthat is used by SureFit to create the surface. Typically, this volume has \n"); 01005 fprintf (Out, "\tthe .Orient string in its name unless it was in LPI orientation from the \n"); 01006 fprintf (Out, "\tstart. Because SureFit crops the volume before segmentation, it is also \n"); 01007 fprintf (Out, "\tnecessary to supply the .params file along with VolPar. The .params file is \n"); 01008 fprintf (Out, "\ttypically named something like: (anything here).L.full.sMRI.params for the \n"); 01009 fprintf (Out, "\tleft full hemisphere. Example command line for a SureFit surface with VolPar:\n"); 01010 fprintf (Out, "\t./suma -vp colin_short_Orient+orig. colin_short+orig.L.full.sMRI.params\\\n"); 01011 fprintf (Out, "\t -s_s colin.fiducial.coord colin.topo"); 01012 fprintf (Out, "\nor:\n"); 01013 fprintf (Out, "\t./suma -vp CW-cSurfParent-SPGR-AX_LPI+orig. -spec CW-SureFit.SumaSpec\n"); 01014 fprintf (Out, "\t\n"); 01015 return; 01016 } |