1 static char * readme_afnigui[] = {
2    "================================================================================\n" ,
3    "                ----===|  Usage Tips for the AFNI GUI  |===----\n" ,
4    "================================================================================\n" ,
5    "Tip #1:\n" ,
6    "  When the AFNI sunrise logo is displayed in the square to right of the 'done'\n" ,
7    "  button, this means that something is happening that might take a long time\n" ,
8    "  (e.g., reading a big file).  The AFNI GUI will not respond to clicks or\n" ,
9    "  keystrokes during this time.\n" ,
10    "--------------------------------------------------------------------------------\n" ,
11    "                    ***** AFNI For Absolute Beginners *****\n" ,
12    "\n" ,
13    "(1) To use AFNI, you must have some data stored in a format that the program\n" ,
14    "    understands.\n" ,
15    "   (a) The major formats for which AFNI is programmed are:\n" ,
16    "       ++ AFNI formatted datasets, in .HEAD and .BRIK pairs of files;\n" ,
17    "       ++ NIfTI-1 formatted datasets, in .nii or .nii.gz files.\n" ,
18    "   (b) When you start AFNI, any datasets in the current directory will be ready\n" ,
19    "       for viewing.  If there are no datasets to read, AFNI will pop up a\n" ,
20    "       message.  At this point, you can do one of 2 things:\n" ,
21    "       ++ Quit AFNI, change directory ('cd') to a directory with some datasets,\n" ,
22    "          and restart the program (this is what I always do); or,\n" ,
23    "       ++ Use the 'DataDir Read' button in the second column of the main AFNI\n" ,
24    "          controller to navigate to a directory with some datasets.\n" ,
25    "       When there is no data, AFNI creates a 'dummy' dataset for you to look at,\n" ,
26    "       if you want to play with the image viewers.\n" ,
27    "   (c) To open an image viewer, click on one of the 'Image' buttons in the left\n" ,
28    "       column of the main AFNI controller.\n" ,
29    "       ++ Left-click in the image to move the crosshairs around.\n" ,
30    "       ++ Click or click-drag in the slider below the image to change slice.\n" ,
31    "       ++ The controls to the right of the image let you adjust the image\n" ,
32    "          contrast, brightness, zoom factor, etc.\n" ,
33    "       ++ The controls to the bottom of the image let you carry out various\n" ,
34    "          operations on the image, such as saving to JPEG format, and making\n" ,
35    "          a montage (array) of slice images.\n" ,
36    "   (d) If a dataset has more than one 3D volume in it (usually that means it\n" ,
37    "       has a time axis, like an FMRI EPI dataset), then you can use the 'Graph'\n" ,
38    "       buttons to view an array of graphs of the voxel data time series.\n" ,
39    "       ++ The crosshairs in the image viewer that corresponds to the graph\n" ,
40    "          viewer change to a small box to indicate which voxels are the source\n" ,
41    "          of the data in the graph array.\n" ,
42    "   (e) The viewpoint of multiple image and graph viewers (the focus voxel at the\n" ,
43    "       crosshairs) is always locked together -- Left-click in one image to move\n" ,
44    "       the crosshairs, and all other open image and graph viewers will jump, too.\n" ,
45    "       ++ Moving the time index in a graph viewer (by clicking in the central\n" ,
46    "          sub-graph, or by using the 'Index' control in the main AFNI window)\n" ,
47    "          will cause all the image and graph viewers to display at the new\n" ,
48    "          time index.\n" ,
49    "   (f) At any moment, you can have one underlay dataset (grayscale) and one\n" ,
50    "       overlay dataset (color).  To choose which datasets are visible, use\n" ,
51    "       the 'UnderLay' and 'OverLay' button in the second column of the AFNI\n" ,
52    "       controller.\n" ,
53    "       ++ To control whether the color overlay is visible, click on the \n" ,
54    "          'See OverLay' toggle button.\n" ,
55    "       ++ To manage how the numbers in the overlay dataset are converted into\n" ,
56    "          colors, click on 'Define OverLay' to open up a new control panel.\n" ,
57    "       ++ The active underlay and overlay dataset names are shown in the title\n" ,
58    "          bar of the AFNI controller window.\n" ,
59    "   (g) Don't be afraid of the software!  The popup hints will help.  The button\n" ,
60    "       'BHelp' will give you longer help about individual buttons -- click on\n" ,
61    "       the BHelp button, then click on any AFNI button to get a small text box\n" ,
62    "       with more help than the simple popup hints.\n" ,
63    "   (h) Sample datasets and all the AFNI course materials are in the big file\n" ,
64    "       CD.tgz (more than 1 Gbyte) at\n" ,
65    "          https://afni.nimh.nih.gov/pub/dist/edu/data\n" ,
66    "       And don't forget the AFNI message board at\n" ,
67    "          https://afni.nimh.nih.gov/afni/community/board\n" ,
68    "--------------------------------------------------------------------------------\n" ,
69    "             ***** Cursor Shapes and Right-Click Popup Menus *****\n" ,
70    "\n" ,
71    "(2) On most systems, the X11 cursor used in AFNI is an orange arrow pointing\n" ,
72    "    at about '10:30' on the clock face.  However, the arrow becomes yellow\n" ,
73    "    and points more steeply, to about '11:00', when it is over a location that\n" ,
74    "    has a hidden Right-Click popup menu.  Some of these are:\n" ,
75    "   (a) Over the logo square just to the right of the 'done' button in an\n" ,
76    "       AFNI controller.\n" ,
77    "   (b) Over the labels at the top of the threshold slider and color bar in\n" ,
78    "       the 'Define Overlay' control panel.\n" ,
79    "   (c) On the label to the left of a drop-down 'option menu'; e.g., 'Xhairs'\n" ,
80    "       or 'ULay' (for these menus, the cursor will not change shape).\n" ,
81    "   (d) Over the color bar itself, when it is in continuous 'colorscale' mode\n" ,
82    "       ('**') -- but not when it is in discrete color panel mode.\n" ,
83    "   (e) Over the image viewer main sub-window, which holds the image itself.\n" ,
84    "   (f) Over the image viewer intensity bar, just to the right of the image.\n" ,
85    "   (g) Over the 'Save' button in the image viewer.\n" ,
86    "   (h) Over the 'crop' button in the image viewer.\n" ,
87    "   (i) Over the sub-graphs in the time series dataset graph viewer\n" ,
88    "       (pops up some statistics about the data in the sub-graph).\n" ,
89    "   (j) Over the coordinate display in the upper left corner of an AFNI\n" ,
90    "       controller.\n" ,
91    "   (k) In the 'Render Dataset' plugin, over the 'See Xhairs' and 'Accumulate'\n" ,
92    "       toggle buttons.  The 'Accumulate' popup lets you enter a text label\n" ,
93    "       to be drawn in the rendered image viewer -- the actual display of labels\n" ,
94    "       (size and location) is controlled from the image viewer intensity bar\n" ,
95    "       popup menu -- item (e) above.  Right-Click lets you change the label\n" ,
96    "       for newly rendered images, whereas Shift+Right-Click lets you change\n" ,
97    "       the label for all previously rendered images as well as new images.\n" ,
98    "   (l) In the 'Clusters' report panel, right-clicking in the upper part of\n" ,
99    "       the window (where the textual summary is), will let you choose how\n" ,
100    "       the 'Histog' option will plot the histogram from the 'Aux.Dset'.\n" ,
101    "       ('Histog' is selected from the menu whose initial choice is 'Mean'.)\n" ,
102    "--------------------------------------------------------------------------------\n" ,
103    "              ***** Hidden Clicks to Activate AFNI Features *****\n" ,
104    "\n" ,
105    "(3) Other 'special' clicks that aren't obvious:\n" ,
106    "   (a) Left-clicking on the 'Image' or 'Graph' button for an already open\n" ,
107    "       AFNI viewer will bring that viewer's window back up to the top of\n" ,
108    "       the X11 window stacking order.\n" ,
109    "   (b) Right-clicking on the 'Image' or 'Graph' button for an already open\n" ,
110    "       AFNI viewer will bring that viewer's window over to the place where\n" ,
111    "       you just clicked -- this is useful for finding lost viewers.\n" ,
112    "   (c) Right-clicking on the 'DataDir' button in the AFNI controller will\n" ,
113    "       un-hide (or re-hide) the obsolescent 'Define Markers' button.\n" ,
114    "   (d) Left-clicking on the logo at the lower left of a graph viewer will\n" ,
115    "       make the logo and menu buttons disappear -- this is intended to help\n" ,
116    "       you make a clean-looking snapshot of the window.  Left-click again\n" ,
117    "       in the same region at the lower left to un-hide the logo and buttons.\n" ,
118    "   (e) Right-clicking on the graph viewer logo or on the image viewer 'Disp'\n" ,
119    "       button (i.e., the things at the lower left of each viewer window) will\n" ,
120    "       bring the parent AFNI controller back to the top of the X11 window\n" ,
121    "       stacking order.\n" ,
122    "   (f) In an image viewer window, if you press-and-hold-down the Left mouse\n" ,
123    "       button, then drag the cursor vertically and horizontally (while still\n" ,
124    "       holding the Left button down), the contrast and brightness of the\n" ,
125    "       grayscale underlay changes as you move the mouse.\n" ,
126    "   (g) To exit AFNI quickly when multiple controllers are open, hold down the\n" ,
127    "       Shift key when you press the 'done' button (in any AFNI controller).\n" ,
128    "       The usual requirement of pressing 'done' twice within 5 second is\n" ,
129    "       skipped, and all AFNI controllers exit immediately.\n" ,
130    "   (h) Left-clicking in the logo square to the right of the AFNI controller\n" ,
131    "       'done' button will cause the AFNI splash screen to popup.  You can\n" ,
132    "       close the splash screen window again via the usual X11 controls on\n" ,
133    "       the window border, or by left-clicking again in the logo square.\n" ,
134    "--------------------------------------------------------------------------------\n" ,
135    "               ***** Keyboard Shortcuts: Image Viewer Window *****\n" ,
136    "\n" ,
137    "(4) The AFNI image viewer has many keyboard shortcuts.  Help for these can be\n" ,
138    "    found by using 'BHelp' and then clicking on the image sub-window itself.\n" ,
139    "    The shortcuts are used by putting the mouse cursor over the image sub-window\n" ,
140    "    and pressing the keyboard key.\n" ,
141    "      a = fix window aspect ratio        (= Left-click in intensity bar)\n" ,
142    "      c = enter cropping mode            (= clicking the 'crop' button)\n" ,
143    "      D = open Disp control panel        (= clicking the 'Disp' button)\n" ,
144    "      i = make the image sub-window smaller inside the overall viewer\n" ,
145    "      I = make the image sub-window larger\n" ,
146    "      l = left-right mirror image        (= '+LR Mirror' on Disp panel)\n" ,
147    "      m = toggle 'Min-to-Max' on/off     (= 'Min-to-Max' or '2%-to-98%' on Disp)\n" ,
148    "      M = open Montage control panel     (= clicking the 'Mont' button)\n" ,
149    "      o = color Overlay on/off           (= 'See Overlay' in AFNI controller)\n" ,
150    "      p = toggle panning mode            (= clicking the 'pan' button)\n" ,
151    "      q = close window                   (= clicking the 'done' button)\n" ,
152    "      r = like 'v', but image 'rebounds' when it reaches end of count\n" ,
153    "      R = like 'r', but backwards order\n" ,
154    "      s = sharpen underlay image         (= 'Sharpen' on the Disp control panel)\n" ,
155    "      S = save image                     (= clicking the 'Save' button)\n" ,
156    "      u = toggle background to be from Underlay or Overlay dataset\n" ,
157    "      v = automatically change images to make a 'video' (forwards order)\n" ,
158    "      V = same as 'v' but backwards order\n" ,
159    "      z = zoom out                       (= zoom down-arrow button)\n" ,
160    "      Z = zoom in                        (= zoom up-arrow button)\n" ,
161    "      [ = time index down by 1\n" ,
162    "      ] = time index up by 1\n" ,
163    "      { = lower AFNI statistical threshold slider\n" ,
164    "      } = raise AFNI statistical threshold slider\n" ,
165    "      > = PageUp = move forward one slice in image viewer\n" ,
166    "      < = PageDown = move backward one slice in image viewer\n" ,
167    "      # = toggle checkerboard pattern from underlay and overlay datasets\n" ,
168    "      3 = turn checkerboard pattern off\n" ,
169    "    Keyboard arrow keys = move crosshairs (normal operation)\n" ,
170    "                        = pan zoomed window (when 'pan' is on)\n" ,
171    "    Shift+arrow keys    = pan cropped region around\n" ,
172    "    Ctrl+arrow keys     = expand/shrink cropped region\n" ,
173    "    Home key            = center zoomed window on current crosshair location\n" ,
174    "    Shift+Home          = center cropped region on current crosshair location\n" ,
175    "    Del = undo in the Drawing plugin\n" ,
176    "     F2 = turn the Drawing pencil on\n" ,
177    "     F3 = subtract 1 from the Drawing plugin value\n" ,
178    "     F4 = add 1 to the Drawing plugin value\n" ,
179    "     F5 = Meltdown!\n" ,
180    "     F6 and higher are not (yet) defined.\n" ,
181    "--------------------------------------------------------------------------------\n" ,
182    "               ***** Keyboard Shortcuts: Graph Viewer Window *****\n" ,
183    "\n" ,
184    "(5) The AFNI graph viewer also has many keyboard shortcuts.\n" ,
185    "      a = autoscale the graphs (this one time)\n" ,
186    "      A = autoscale the graphs (every time they are redrawn)\n" ,
187    "      b = switch graph baseline mode (between Separate, Common, and Global)\n" ,
188    "      B = switch on/off Boxes graphs instead of line graphs\n" ,
189    "      g = decrease vertical grid spacing in graphs\n" ,
190    "      G = increase vertical grid spacing in graphs\n" ,
191    "      h = draw dotted horizontal line at zero level in graphs\n" ,
192    "      i = decrease graph 'ignore' level by 1\n" ,
193    "      I = increase graph 'ignore' level by 1\n" ,
194    "      l = move to last time point\n" ,
195    "      L = turn AFNI logo on or off (but why would you want it OFF?!)\n" ,
196    "      m = reduce matrix size of sub-graphs by 1\n" ,
197    "      M = increase matrix size of sub-graphs by 1\n" ,
198    "      q = quit = Opt->Done\n" ,
199    "    r/R = 'rebound' up or down in time\n" ,
200    "      S = save an image of the graph window to a file\n" ,
201    "      t = show text (numbers) instead of graphs\n" ,
202    "    v/V = 'video' up or down in time\n" ,
203    "      w = write data from central sub-graph to a 1D file\n" ,
204    "      z = change slice number by 1 downwards (= keyboard Page Down key)\n" ,
205    "      Z = change slice number by 1 upwards   (= keyboard Page Up key)\n" ,
206    "      - = scale the graphs down (vertically)\n" ,
207    "      + = scale the graphs up\n" ,
208    "      1 = move to first time point\n" ,
209    " < or [ = move back in time by 1 point  (= keyboard Left arrow)\n" ,
210    " > or ] = move up in time by 1 point    (= keyboard Right arrow)\n" ,
211    "      N = after typing the 'N', type a number, then press Enter;\n" ,
212    "          the matrix of sub-graphs will change to the number given immediately\n" ,
213    "     F5 = Meltdown!\n" ,
214    "--------------------------------------------------------------------------------\n" ,
215    "            ***** Keyboard Shortcuts in the Threshold Slider *****\n" ,
216    "\n" ,
217    "(6) Fine control over the threshold slider is hard with the mouse.  You can\n" ,
218    "    move the slider with the following keystrokes, after clicking in the\n" ,
219    "    slider's 'thumb' to move the keyboard input focus to this control.\n" ,
220    "      Down arrow = reduce slider by 1 in the 4th significant place\n" ,
221    "      Up arrow   = increase slider by 1 in the 4th significant place\n" ,
222    "      Page Down  = reduce slider by 1 in the 3rd significant place\n" ,
223    "      Page Up    = increase slider by 1 in the 3rd significant place\n" ,
224    "      Home       = drop slider to 0\n" ,
225    "      End        = move slider to top\n" ,
226    "    The Left and Right arrow keys can similarly be used in the image viewer\n" ,
227    "    slice index slider to move 1 slice backward or forward at a time.\n" ,
228    "--------------------------------------------------------------------------------\n" ,
229    NULL } ;
230 #define NUM_readme_afnigui 227
231