1 
2 /** cf. afni_history.h **/
3 
4 #include "afni_history.h"
5 
6 /*  (for starting a new file, search for CHANGE)
7 
8     basic format: 3-field date, user, program_name, impact_level,
9                   short description without newline
10                   (optional) long description with intermediate newlines
11 
12     copy entire section: { ... } ,
13 
14     Notes: - months are JAN ... DEC (see afni_history.h)
15 
16            - levels are :
17                     MICRO           - users don't see
18                     MINOR           - small effect on users
19                     MAJOR           - larger effect on users
20                     SUPER           - important changes, like new programs
21                     SUPERDUPER      - we expect users to know
22 
23            - types are:
24                     TYPE_GENERAL    - unspecified update type
25                     TYPE_NEW_PROG   - new program
26                     TYPE_NEW_OPT    - new program option
27                     TYPE_NEW_ENV    - new environment variable or change
28                     TYPE_BUG_FIX    - bug fix
29                     TYPE_MODIFY     - a change (not new, not a fix)
30                     TYPE_ENHANCE    - general improvement
31                     TYPE_REMOVE     - deleted
32                     TYPE_REINSTATE  - un-deleted
33 
34            - PLEASE, stick to what fits on an 80 column terminal
35            - it may be nice to put the newest entries at the top
36            - leave the last "99, NULL" entry as it is
37 
38  -- example --
39 
40  { 26 , FEB , 2008 , ZSS , "my_program" , MAJOR ,
41    "short description of change" ,
42    "(optional) description of where to get more information\n"
43    "   - with newlines, if you babble for multiple lines\n"
44    "   (but none at the end)"
45  } ,
46 
47 */
48 
49 /* Ponderosos:
50    -----------
51    - Every bone of my body shivers with excitement at the
52    thought of adding a type variable :
53    { NA, NEW_PROG, NEW_OPT, NEW_ENV, BUG_FIX }
54    It would allow users to check for new things easily.
55    And it might help eradicate misery from this world.
56    Did I also mention that it can fit on the first line
57    beautfully, right after the short string? WOW!
58    - We should probably start building a program list. To make sure
59    that we have no typos there. We can have users add to that list
60    whenever they introduce a program for the first time. This way
61    nobody has to do it at once.
62    - Also, we need to have special 'program names' like:
63    "afni-general", "suma-general", "general"
64    or perhaps
65    "AFNI", "SUMA", "ALL"
66    these would be used to refer to package-wide changes.
67 */
68 
69 afni_history_struct ziad_history[] = {
70 /*=====BELOW THIS LINE=====*/
71  { 15, Apr, 2015, ZSS, "suma-general", MAJOR, TYPE_BUG_FIX,
72    "Turned off USE_XOR for now.",
73    "Was causing very mysterious problem with labels displaying atop each other\n"
74    "in the SUMA viewer. Possibly other problems too like crash when opening  \n"
75    "surface controller or changing threshold. No time to get to the bottom \n"
76    "of this at this time. But turning this off fixed problem on linux and osx.\n"
77    "Valgrind had nothing to complain about..."
78  },
79 
80  { 3, Apr, 2015, ZSS, "suma-general", MINOR, TYPE_MODIFY,
81    "Changes to how labeled datasets (volumes in particular) are shown in SUMA",
82    "Made atlas and labeled volumes appear in SUMA as they do in AFNI. \n"
83    "No labels show up upon clicking though. Appearance of labeled dataset \n"
84    "will change for labeled datasets created earlier, unless env.\n"
85    "SUMA_Classic_Label_Colors is set to YES"
86  },
87 
88  { 3, Apr, 2015, ZSS, "suma-general", MICRO, TYPE_NEW_ENV,
89    "SUMA_Classic_Label_Colors , see .sumarc after updating it for details",
90    NULL
91  },
92 
93  { 2, Apr, 2015, ZSS, "suma", MICRO, TYPE_NEW_OPT,
94    "Added ctrl+l and ctrl+L to globally dim/brighten lighting",
95    NULL
96  },
97 
98  { 27, Mar, 2015, ZSS, "suma", MINOR, TYPE_NEW_OPT,
99    "Selection now possible on VR rendered image in SUMA",
100    NULL
101  },
102 
103  { 27, Mar, 2015, ZSS, "suma", MINOR, TYPE_BUG_FIX,
104    "Fixed syntax for env SUMA_VO_InitSlices, space chars are bad.",
105    NULL
106  },
107 
108  { 23, Mar, 2015, ZSS, "BrainSkin", MINOR, TYPE_BUG_FIX,
109    "Fixed projection error in  SUMA_NN_GeomSmooth?_SO ",
110    NULL
111  },
112 
113  { 18, Mar, 2015, ZSS, "SurfPatch", MINOR, TYPE_NEW_OPT,
114    "Added -node_depth ",
115    NULL
116  },
117 
118  { 18, Mar, 2015, ZSS, "suma-general", MINOR, TYPE_BUG_FIX,
119    "Node depths were being computed along the principal direction closest to Z ",
120    "The proper intent is along the principal direction, regardless of \n"
121    "whether or not it is closest to the Z direction"
122  },
123 
124  { 18, Mar, 2015, ZSS, "SurfClust", MINOR, TYPE_NEW_OPT,
125    "Added options -in_range, -ex_range for thresholding and output COM and Cent",
126    "These changes resulted in numerous small changes throughout the code for \n"
127    "a more uniform handling of thresholding methods"
128  },
129 
130  { 13, Mar, 2015, ZSS, "ParseName", MINOR, TYPE_NEW_OPT,
131    "Added ExistsAs in ParseName",
132    "This can find whether or not you have datasets on disk with some \n"
133    "view (+tlrc), say given only a prefix."
134  },
135 
136  { 12, Mar, 2015, ZSS, "3dROIstats", MINOR, TYPE_NEW_OPT,
137    "Added -pc* and -key options to compute coordinate PC of clusters.",
138    "See -help for details."
139  },
140 
141  { 11, Mar, 2015, ZSS, "3dSeg", MAJOR, TYPE_NEW_OPT,
142    "Added -mixfloor to avoid getting NAN when certain classes disappear.",
143    "Also added -mixfrac IGNORE to turn off any modulation by the mixing\n"
144    "fraction during the EM routines."
145  },
146 
147  { 4, Mar, 2015, ZSS, "suma", MAJOR, TYPE_NEW_OPT,
148    "Added WHelp button to mimic BHelp but open online pages",
149    "This required a few additional modifications to the auto-help\n"
150    "generating functions. Lots of work under the hood."
151  },
152 
153  { 3, Mar, 2015, ZSS, "afni-general", MINOR, TYPE_BUG_FIX,
154    "Fixed misuse of strncat in distribution",
155    NULL
156  },
157 
158  { 26, Feb, 2015, ZSS, "BrainSkin", MINOR, TYPE_NEW_OPT,
159    "Added -no_zero_attraction",
160    "See help for details"
161  },
162 
163  { 26, Feb, 2015, ZSS, "IsoSurface", MINOR, TYPE_NEW_OPT,
164    "Added -autocrop and -mergerois+dset",
165    "See help for details"
166  },
167 
168  { 25, Feb, 2015, ZSS, "IsoSurface", MINOR, TYPE_NEW_OPT,
169    "Added -remesh option to simplify meshes",
170    NULL
171  },
172 
173  { 25, Feb, 2015, ZSS, "IsoSurface", MICRO, TYPE_NEW_OPT,
174    "Added auto dset generation along with surfaces with -isorois+dsets",
175    NULL
176  },
177 
178  { 25, Feb, 2015, ZSS, "suma", MICRO, TYPE_BUG_FIX,
179    "Patched ID collisions for input datasets",
180    NULL
181  },
182 
183  { 25, Feb, 2015, ZSS, "suma", MICRO, TYPE_NEW_ENV,
184    "Implemented dataset autoloading",
185    "See env SUMA_AutoLoad_Matching_Dset in ~/.sumarc"
186  },
187 
188  { 25, Feb, 2015, ZSS, "suma", MICRO, TYPE_NEW_ENV,
189    "Added env SUMA_AutoLoad_Matching_Dset to control transparency step",
190    NULL
191  },
192 
193  { 25, Feb, 2015, ZSS, "suma", MICRO, TYPE_NEW_ENV,
194    "Added env SUMA_Transparency_Step to control transparency step",
195    NULL
196  },
197 
198  { 23, Feb, 2015, ZSS, "suma-general", MAJOR, TYPE_MODIFY,
199    "Allow SUMA to break a surface into multiple drawing patches",
200    "This makes it possible to show certain parts of a mesh based on \n"
201    "a nodemask. The nodemask can be generated on the fly and updated with \n"
202   "mouse clicks. This is only available in -dev mode. See SUMA_DrawMesh_mask()\n"
203    "and temporary env SUMA_TEMP_NODE_CMASK_EXPR"
204  },
205 
206  { 23, Feb, 2015, ZSS, "suma-general", MINOR, TYPE_NEW_OPT,
207    "Set transparency and rendering modes per object",
208    "See ctrl+o, ctrl+p"
209  },
210 
211  { 23, Feb, 2015, ZSS, "suma-general", MICRO, TYPE_BUG_FIX,
212    "Patched source for hash collisions on file names",
213    NULL
214  },
215 
216  { 23, Feb, 2015, ZSS, "suma-general", MICRO, TYPE_NEW_OPT,
217    "Added support for STL I/O format. It is handy for 3D printing.",
218    NULL
219  },
220 
221  { 23, Feb, 2015, ZSS, "IsoSurface", MAJOR, TYPE_NEW_OPT,
222    "Made IsoSurface handle ROI volumes better",
223    "See options -mergerois, -isorois for details"
224  },
225 
226  { 23, Feb, 2015, ZSS, "afni-general", MICRO, TYPE_MODIFY,
227    "Made SUMA_Swap_String handle increased string length.",
228    NULL
229  },
230 
231  { 6, Feb, 2015, ZSS, "3dSurfMask", MICRO, TYPE_NEW_OPT,
232    "Added -meth peri to return intersection with surface only.",
233    NULL
234  },
235 
236  { 5, Feb, 2015, ZSS, "3dinfill", MICRO, TYPE_NEW_OPT,
237    "Added -mask option to restrict filling to holes within mask",
238    NULL
239  },
240 
241  { 5, Feb, 2015, ZSS, "@Test_disk_IO", MICRO, TYPE_NEW_PROG,
242    "Script to test disk I/O speeds",
243    NULL
244  },
245 
246  { 5, Feb, 2015, ZSS, "3danisosmooth.c", MICRO, TYPE_MODIFY,
247    "More smoothing feature output.",
248    "Output cosine of principal gradient eigen vector with radial "
249    "direction in debugging output."
250  },
251 
252  { 5, Feb, 2015, ZSS, "3dBrickStat.c", MICRO, TYPE_NEW_OPT,
253    "added -stdev",
254    NULL
255  },
256 
257  { 2, Feb, 2015, ZSS, "DriveSuma", MINOR, TYPE_NEW_OPT,
258    "Take coords from a surface rather than just a file for -com node_xyz",
259    NULL
260  },
261 
262  { 30, Jan, 2015, ZSS, "3dinfill", MINOR, TYPE_NEW_OPT,
263    "Improvements to SOLID fill method and addition of option -ed",
264    NULL
265  },
266 
267  { 30, Jan, 2015, ZSS, "BrainSkin", MINOR, TYPE_NEW_OPT,
268    "Added -vol_skin and -vol_hull to create smooth contours of mask volume.",
269    NULL
270  },
271 
272  { 23, Jan, 2015, ZSS, "3dLocalstat", MINOR, TYPE_NEW_OPT,
273    "Added -stat list and -stat hist* .",
274    NULL
275  },
276 
277  { 21, Jan, 2015, ZSS, "3dGenPriors", MICRO, TYPE_NEW_OPT,
278    "Made program output centrality measures with -do o .",
279    "Documentaiton hidden until option is ready for mass usage."
280  },
281 
282  { 21, Jan, 2015, ZSS, "3dGenPriors", MICRO, TYPE_MODIFY,
283    "Made it use labeltable from -cset if needed & check for empty init classes.",
284    NULL
285  },
286 
287  { 21, Jan, 2015, ZSS, "3dSkullStrip", MICRO, TYPE_BUG_FIX,
288    "Made program take sub-brick selectors at input.",
289    "Involved bringing SUMA_AfniExists() and SUMA_AfniPrefix() from stone age."
290  },
291 
292  { 16, Jan, 2015, ZSS, "3dHist", MICRO, TYPE_NEW_OPT,
293    "Added -get outl",
294    "Included fixing returned values in SUMA_hist_value() when out of bounds."
295  },
296 
297  { 15, Jan, 2015, ZSS, "imcat", MICRO, TYPE_NEW_OPT,
298    "-zero_wrap, and -gray_wrap for padding with black, white, or gray levels.",
299    NULL
300  },
301 
302  { 15, Jan, 2015, ZSS, "@ExamineGenFeatDists", MICRO, TYPE_NEW_OPT,
303    "Added option -nx, padding with white, fixed couple of small glitches too.",
304    NULL
305  },
306 
307  { 13, Jan, 2015, ZSS, "afni-general", MICRO, TYPE_MODIFY,
308    "Made R_io.so loading error a little more helpful.",
309    NULL
310  },
311 
312  { 9, Jan, 2015, ZSS, "afni-general", MINOR, TYPE_MODIFY,
313    "Made sure neighborhoods containing central voxel return its value 1st.",
314    NULL
315  },
316 
317  { 9, Jan, 2015, ZSS, "suma-general", MINOR, TYPE_MODIFY,
318    "Released new documentation to the wild.",
319    NULL
320  },
321 
322  { 9, Jan, 2015, ZSS, "3dLocalstat", MINOR, TYPE_MODIFY,
323    "Added -*diffs options for computing local differences",
324    NULL
325  },
326 
327  { 29, Dec, 2014, ZSS, "suma-general", MINOR, TYPE_MODIFY,
328    "Lot of additions to SphinxDocs/SUMA, plus auto-doc for SUMA controller",
329    NULL
330  },
331 
332  { 29, Dec, 2014, ZSS, "afni_open", MICRO, TYPE_MODIFY,
333    "Made it open local .html files",
334    NULL
335  },
336 
337  { 22, Dec, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
338    "Added All Objs button to initialize controllers for all objects if desired",
339    NULL
340  },
341 
342  { 10, Dec, 2014, ZSS, "imcat", MINOR, TYPE_NEW_OPT,
343    "Added -autocrop* options",
344    NULL
345  },
346 
347  { 4, Dec, 2014, ZSS, "suma", MICRO, TYPE_BUG_FIX,
348    "Default coloring of directions was using negative values.",
349    "No so good for openGL colors. Negative values get clamped at 0.\n"
350    "Default coloring is now ABS(X|Y|Z) now."
351  },
352 
353  { 4, Dec, 2014, ZSS, "3dinfo", MINOR, TYPE_NEW_OPT,
354    "Added -handedness option.",
355    NULL
356  },
357 
358  { 26, Nov, 2014, ZSS, "3danisosmooth", MINOR, TYPE_NEW_OPT,
359    "Output of diffusion measures, along with adjustment of debug volumes",
360    "For details, see tersely named option  -save_temp_with_diff_measures, \n"
361    "along with modified help for -savetempdata"
362  },
363 
364  { 24, Nov, 2014, ZSS, "3dRetinoPhase", MINOR, TYPE_BUG_FIX,
365    "Fixed floating point precision error that resulted in error message",
366    NULL
367  },
368 
369  { 24, Nov, 2014, ZSS, "afni-general", MINOR, TYPE_MODIFY,
370    "Fixed clash between matrix.h and matrix_f.h",
371    "Clash was my own doing, I had introduced it by including matrix.h\n"
372    "via suma_string_utils.h into 3ddata.h. The conflict has been resolved\n"
373    "now. Care must be taken to include matrix_f.h early in a .c file and\n"
374    "that would stop the inclusion of matrix.h from suma_*.h files."
375  },
376 
377  { 21, Nov, 2014, ZSS, "afni-general", MAJOR, TYPE_MODIFY,
378    "More and more and more changes to the -help",
379    "Devised system to simplify, so to speak, the generation of \n"
380    "sphinxized help. Changes span multiple functions, most visible \n"
381    "are the sphinx_printf() and its siblings, and new options in apsearch.\n"
382   "See program 3dToyProg.c for an example on how to write help for C programs.\n"
383    "See also Writing_Help.rst for more details."
384  },
385 
386  { 11, Nov, 2014, ZSS, "suma", MINOR, TYPE_MODIFY,
387    "GraphCont->CN->Col now abide by the 'u' selection for unconnected nodes",
388    NULL
389  },
390 
391  { 11, Nov, 2014, ZSS, "suma", MINOR, TYPE_MODIFY,
392    "Made matrix display labels track selection",
393    NULL
394  },
395 
396  { 4, Nov, 2014, ZSS, "suma", MINOR, TYPE_MODIFY,
397    "Continued modifications for help generating functions, now with selfies",
398    "Now SUMA can take selfies of the varied widget frames, making the  \n"
399    "documentation easier to generate. This involved adding a new version\n"
400    "of ISQ_snapfile() called ISQ_snapfile2() and a rendering of a colormap\n"
401    "in X11. Search for Fake_Cmap for relevant locations in C code."
402  },
403 
404  { 17, Oct, 2014, ZSS, "suma", MAJOR, TYPE_GENERAL,
405    "Modifications for help generating functions",
406    "New tools allow for automatic Sphinx formatted documentation straight \n"
407    "from BHelp buttons. Added scrolling to arrow fields."
408  },
409 
410  { 17, Oct, 2014, ZSS, "DriveSuma", MINOR, TYPE_NEW_OPT,
411    "Added -load_masks, -save_masks, and -masks for driving tract controller",
412    "Options help in creating all GUI help and herald the automation of the \n"
413    "tract and tract masking controller."
414  },
415 
416  { 17, Oct, 2014, ZSS, "afni-general", MAJOR, TYPE_GENERAL,
417    "Checked in first pass of SUMA sphinx documentation",
418    "GUI documentaiton is automatically generated from BHelp text."
419  },
420 
421  { 15, Oct, 2014, ZSS, "imcat", MINOR, TYPE_NEW_OPT,
422    "Added -respad_in, -gscale, and -pad_val options",
423    "Proces involved modifications to mri_read_resamp_many_files(),\n"
424    "mri_zeropad_2D(), and a new mri_valpad_2D(). See imcat -help for details."
425  },
426 
427  { 10, Oct, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
428    "Added directions and point clouds as DOs",
429    "See interactive help for #directions, #points"
430  },
431 
432  { 7, Oct, 2014, ZSS, "AFNIio.R", MINOR, TYPE_NEW_OPT,
433    "Allowed specification and inheritance of TR in write functions",
434    NULL
435  },
436 
437  { 30, Sep, 2014, ZSS, "suma", MAJOR, TYPE_BUG_FIX,
438    "Fixed bug with NUMLOCK keeping surfaces from rotating on linux!",
439    NULL
440  },
441 
442  { 30, Sep, 2014, ZSS, "suma", MICRO, TYPE_NEW_OPT,
443    "Now show bundles labels recently added to FATCAT",
444    NULL
445  },
446 
447  { 24, Sep, 2014, ZSS, "ConvertSurface", MICRO, TYPE_BUG_FIX,
448    "Fixed bug with line projection of coordinates.",
449    NULL
450  },
451 
452  { 23, Sep, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
453    "Allowed interactive cluster thresholding by node number (-ve Area value)",
454    "Previously this was possible only via command line's -n option.\n"
455    "Command line now also supports negative -amm2 values if -n is not set.\n"
456  },
457 
458  { 22, Sep, 2014, ZSS, "3dGenFeatureDist", MINOR, TYPE_NEW_OPT,
459    "Added -hspec to explicitly set histogram generation parameters",
460    NULL
461  },
462 
463  { 17, Sep, 2014, ZSS, "ConvertSurface", MINOR, TYPE_NEW_OPT,
464    "Added -pc_proj and -node_depth options.",
465    "These options are meant to help localizing seeds along DBS electrodes.\n"
466    "Relevant C code functions: SUMA_NodeDepth(), SUMA_Project_Coords_PCA()\n"
467    "and SUMA_*_PC_XYZ_Proj()\n"
468  },
469 
470  { 17, Sep, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
471    "A few miscellaneous errors here and there",
472    "One was caused by extra space in driver command\n"
473    "Another was caused by loading multiple surfs on the command line\n"
474    "followed by a command line drive command.\n"
475    "Intersection parameters were not fully initialized under some conditions.\n"
476  },
477 
478  { 16, Sep, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
479    "Use of percentiles in range settings was broken. That is no more.",
480    "Problem was caused by reliance on colp->V without resetting it\n"
481    "when a new range was set. That is because colp->V gets clamped\n"
482    "by the range of values being set."
483  },
484 
485  { 12, Sep, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
486    "Crosshair mismatch when prying surfs in multiple linked viewers",
487    NULL
488  },
489 
490  { 12, Sep, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
491    "Fixed crash caused by toggling off 'I' selection for volumes",
492    NULL
493  },
494 
495  { 03, Sep, 2014, ZSS, "3dSetupGroupInCorr", MINOR, TYPE_BUG_FIX,
496    "Made -labels option work well with -LRpairs",
497    NULL
498  },
499 
500  { 29, Aug, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
501    "Added -drive_com to allow the driving of SUMA by its command line",
502    NULL
503  },
504 
505  { 28, Aug, 2014, ZSS, "3dHist", MINOR, TYPE_NEW_OPT,
506    "Added -equalized to do histogram equalization on the whole volume",
507    NULL
508  },
509 
510  { 25, Aug, 2014, ZSS, "ParseName", MINOR, TYPE_NEW_OPT,
511    "Added -*PrefixView, and improved -out to multi-components",
512    NULL
513  },
514 
515  { 25, Aug, 2014, ZSS, "@Align_Centers", MINOR, TYPE_BUG_FIX,
516    "Made program handle NIFTI input. Irrrrgh.",
517    NULL
518  },
519 
520  { 5, Aug, 2014, ZSS, "@SUMA_Make_Spec_FS", MINOR, TYPE_NEW_OPT,
521    "Made program handle FreeSurfer's -contrasurfreg output",
522    NULL
523  },
524 
525  { 1, Aug, 2014, ZSS, "3dGenFeatureDist", MINOR, TYPE_NEW_PROG,
526    "Program written a while ago, placed in the distribution now",
527    NULL
528  },
529 
530  { 31, Jul, 2014, ZSS, "3dpc", MICRO, TYPE_NEW_OPT,
531    "Added option -nscale to scale covariance matrix by number of samples",
532    "This would make output consistent with R and matlab decompositions\n"
533    "Also changed output files names for 1D files to make program not clobber\n"
534    "results in .1D mode"
535  },
536 
537  { 18, Jul, 2014, ZSS, "3dTstat", MICRO, TYPE_NEW_OPT,
538    "Added option -nscale to avoid scaling with byte/short output",
539    NULL
540  },
541 
542  { 17, Jul, 2014, ZSS, "suma", MICRO, TYPE_NEW_OPT,
543    "Made ROIgrow work with single node ROIs, see help for -node_labels PER_NODE",
544    NULL
545  },
546 
547  { 16, Jul, 2014, ZSS, "suma", MICRO, TYPE_NEW_OPT,
548    "Fixed bug with computation of tract_P0_offset_private values",
549    NULL
550  },
551 
552  { 15, Jul, 2014, ZSS, "suma", MICRO, TYPE_NEW_OPT,
553    "Added different ways to highlight masked tracts",
554    NULL
555  },
556 
557  { 11, Jul, 2014, ZSS, "suma", MICRO, TYPE_MODIFY,
558    "Changes to help functions to create Sphinx friendly keypress docs ",
559    "See hidden options suma -help_interactive and -help_sphinx_interactive\n"
560    "for sample output."
561  },
562 
563  { 7, Jun, 2014, ZSS, "auto_warp", MINOR, TYPE_NEW_OPT,
564    "Made -dataTable options take text file instead of command line opts ",
565    "This makes it possible to have very large tables without exceeding\n"
566    "limit on command line length. File name has to begin with '@'\n"
567    "in keeping with some C-language 3d progs."
568  },
569 
570  { 2, Jun, 2014, ZSS, "auto_warp", MINOR, TYPE_NEW_OPT,
571    "Added -qworkhard and -qw_opts for finer control of 3dQwarp step ",
572    NULL
573  },
574 
575 
576  { 21, May, 2014, ZSS, "3dinfo", MINOR, TYPE_NEW_OPT,
577    "Option -iname to give filename as appearing on the command line",
578    NULL
579  },
580 
581  { 05, May, 2014, ZSS, "suma", MINOR, TYPE_NEW_ENV,
582    "SUMA_HomeAfterPrying to avoid a 'home' reset with prying",
583    NULL
584  },
585 
586  { 24, Apr, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
587    "Reading of OBJ file format for triangular meshes.",
588    NULL
589  },
590 
591  { 24, Apr, 2014, ZSS, "AFNIio.R", MICRO, TYPE_MODIFY,
592    "Improvements for write.AFNI & read.AFNI to handle 1D files more smoothly",
593    "Also added 'TR' to dset.attr() function."
594  },
595 
596  { 18, Apr, 2014, ZSS, "suma", MINOR, TYPE_MODIFY,
597    "Allow graph dataset bundle references to be located based on gdset's path",
598    "This way if a graph dataset named GDSET refers to a tract file TRACT \n"
599    "using a relative path (./TRACT) and you use suma -gdset SOMEPATH/GDSET\n"
600    "to load the graph, then the search for TRACT will also consider SOMEPATH/\n"
601    "as an option"
602  },
603 
604  { 18, Apr, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
605    "Color map changes/thresholding changes now working with multi-viewers",
606    "This was not the case before. Problem was that Texture had to be reloaded\n"
607    "for all viewers displaying the volume, once the viewer's rendering context\n"
608    "is current. That's all handled via per_sv_extra[]"
609  },
610 
611  { 17, Apr, 2014, ZSS, "DriveSuma", MINOR, TYPE_NEW_OPT,
612    "Added -controller_position to position object controller window",
613    NULL
614  },
615 
616  { 17, Apr, 2014, ZSS, "suma", MICRO, TYPE_MODIFY,
617    "Distinguishing  window size and glxarea size in SUMA_SurfaceViewer struct",
618    "The two are slightly different in size because of window decorations.\n"
619    "This correct a silly resizing of the SUMA window when a new view state is\n"
620    "loaded."
621  },
622 
623  { 16, Apr, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
624    "Fixed problem with opening new controllers when cont. window is closed",
625    "See Apr. 16 2014 note in function SUMA_viewSurfaceCont()\n"
626  },
627 
628  { 16, Apr, 2014, ZSS, "3dTcorr1D", MINOR, TYPE_MODIFY,
629    "Turned heart of main() into a standalone function in thd_Tcorr1D.c",
630    "This way we can run the equivalent of 3dTcorr1D from other C programs\n"
631    "such as 3dNetCorr"
632  },
633 
634  { 16, Apr, 2014, ZSS, "3dRprogDemo", MINOR, TYPE_NEW_PROG,
635    "A toy program to show how to write a command line R program with AFNI",
636    "Created to help Cesar Caballero and Natalia Petridou implement their\n"
637    "Paradigm Free Mapping method."
638  },
639 
640  { 8, Apr, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
641    "Added 'F10' to toggle prying axis between Z and Y",
642    NULL
643  },
644 
645  { 8, Apr, 2014, ZSS, "afni", MICRO, TYPE_NEW_ENV,
646    "AFNI_ICORR_UBER_USER allows access to special InstaCorr distance measures",
647    "Set variable to YES to have access to special distance measures in\n"
648    "the plugin"
649  },
650 
651  { 8, Apr, 2014, ZSS, "suma", MINOR, TYPE_NEW_ENV,
652    "SUMA_VO_InitSlices controls how volumes slices are shown at startup",
653    "See ~/.sumarc for details, run suma -update_env if variable is missing."
654  },
655 
656  { 4, Apr, 2014, ZSS, "suma", MICRO, TYPE_MODIFY,
657    "Improved autopositioning of surf. controller. Better with dual displays.",
658    "Also canceled repositioning after very first opening of controllers"
659  },
660 
661  { 4, Apr, 2014, ZSS, "suma", MINOR, TYPE_MODIFY,
662    "Made prying do both hinge rotation and translation",
663    "Difference is in the direction of mouse motion.\n"
664    "Also made vertical prying cause rotation about screen x axis for spheres"
665  },
666 
667  { 4, Apr, 2014, ZSS, "suma", MINOR, TYPE_NEW_ENV,
668    "SUMA_Dset_NodeConnections controls how connections to a node are displayed",
669    "See ~/.sumarc for details, run suma -update_env if variable is missing."
670  },
671 
672  { 4, Apr, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
673    "Added three modes for controlling how connections to a node are shown.",
674    "This makes it possible to greatly reduce the clutter of the display.\n"
675    "See menu 'CN' that controls this"
676  },
677 
678  { 4, Apr, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
679    "A double select click makes all graph edges appear.",
680    "This only has an effect if the current object in focus is a\n"
681    "graph object"
682  },
683 
684  { 3, Apr, 2014, ZSS, "suma", MINOR, TYPE_NEW_ENV,
685    "SUMA_Dset_Font to initialize text in graph datasets",
686    "See ~/.sumarc for details, run suma -update_env if variable is missing."
687  },
688 
689  { 2, Apr, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
690    "Made AFNI's crosshair changes move tract mask in SUMA",
691    "This happens when the viewer is in Mask Manipulation Mode."
692  },
693 
694  { 2, Apr, 2014, ZSS, "suma", MINOR, TYPE_MODIFY,
695    "Made SUMA_crosshair_xyz carry information on overlay dataset",
696    "This is in response to a request by Nick Oosterhoff"
697  },
698 
699  { 28, Mar, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
700    "Added 'F11' to allow users to set the object rendering order",
701    "This is an interactive version of env: SUMA_ObjectDisplayOrder"
702  },
703 
704  { 28, Mar, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
705    "Implemented doppleganger for masks on pried surfaces",
706    NULL
707  },
708 
709  { 28, Mar, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
710    "Added prying along the horizontal direction too",
711    "This is most handy when you want to travel along the \n"
712    "lateral surface and still see what gives in tracts or on\n"
713    "slices."
714  },
715 
716  { 27, Mar, 2014, ZSS, "suma-general", MICRO, TYPE_NEW_ENV,
717    "Added SUMA_ObjectDisplayOrder to control object display sequence",
718    "This only affects the rendering in the few instances where alpha\n"
719    "blending is used. Run suma -update_env then search for env in \n"
720    "~/.sumarc for details."
721  },
722 
723  { 27, Mar, 2014, ZSS, "@auto_tlrc", MICRO, TYPE_NEW_OPT,
724    "Added -overwrite for Stephen Robinson",
725    NULL
726  },
727 
728  { 26, Mar, 2014, ZSS, "afni-general", MINOR, TYPE_NEW_OPT,
729    "Shift+Control+right click in SUMA will trigger Instacorr refresh in AFNI",
730    "This way you can click on an object in SUMA and still get AFNI to \n"
731    "so a volumetric ICOR computation, with all accompnaying talk back to SUMA.\n"
732    "etc.\n"
733  },
734 
735  { 26, Mar, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
736    "Made double-click right click outside of objects turn off mask movement",
737    NULL
738  },
739 
740  { 26, Mar, 2014, ZSS, "suma-general", MINOR, TYPE_NEW_OPT,
741    "Wrote a new function to handle input events",
742    "New function SUMA_RecordEvent() records X events into a structure\n"
743    "that I can clone and attach into the Pick Results struct. Without\n"
744    "this, I can't tell down the line if a pick was with shift+control\n"
745    "or without it. A problem when deciding what to tell AFNI, for example\n"
746    "The new functions (see also SUMA_ShftCont_Event() and other functions\n"
747    "around it should replace all queries in SUMA_input() about event\n"
748    "qualifiers. Still need to check about handling of button swap, or \n"
749    "conditions when drawing, etc."
750  },
751 
752  { 18, Mar, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
753    "Improved selection logic on slices and for graphs.",
754    "Graph selection was changed so that what is rendered is selectable.\n"
755    "The alternate was too confusing.\n"
756    "Fixed bug with selctions on matrix where selections at times were \n"
757    "going to the volume, even though it is not displayed with the matrix.\n"
758    "Fixed slice highlighting when in montage mode.\n"
759    "Added alpha value threshold condition to slice picking. This slows the\n"
760    "selection process a little, but it keeps one from selecting 'air' when\n"
761    "when clicking on voxels that meet the threshold but are alpha masked.\n"
762  },
763 
764  { 17, Mar, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
765    "Fixed residual surface shading after volume is selected.",
766    "Problem was caused by residual emissivitiy colored left over \n"
767    "from the highlighting of the selected slice. Also wrote functions\n"
768    "SUMA_DiffEnablingState*() to help identify such problems."
769  },
770 
771  { 13, Mar, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
772    "More improvements to multiple object transparency.",
773    "There's lots more than meets the eye. See comment in functions \n"
774    "SUMA_DrawVolumeDO_3D() and SUMA_StippleMask_shift()"
775  },
776 
777  { 13, Mar, 2014, ZSS, "afni_open", MINOR, TYPE_NEW_OPT,
778    "A few more tweaks, like -aw and -d",
779    "See afni_open -help for details"
780  },
781 
782  { 12, Mar, 2014, ZSS, "afni_open", MINOR, TYPE_NEW_PROG,
783    "A simple program to help us open certain files on typical machines",
784    "There is no help for the program yet, it is also not part of the\n"
785    "compiled binaries yet. New functions such as GetAfniWebDownloader(),\n"
786    "GetAfniPDFViewer(), and GetAfniImageViewer() were added to machdep.c"
787  },
788 
789  { 12, Mar, 2014, ZSS, "afni-general", MICRO, TYPE_NEW_ENV,
790    "AFNI_IMAGE_VIEWER and AFNI_PDF_VIEWER for you know what.",
791  },
792 
793  { 12, Mar, 2014, ZSS, "suma", MICRO, TYPE_BUG_FIX,
794    "SUMA crashed if you deleted a tract mask that was being moved.",
795    "This is now a thing of the past."
796  },
797 
798  { 6, Mar, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
799    "Added option to make rendered slices jump to new cross hair location",
800    "See new function SUMA_VO_set_slices_XYZ() for details"
801  },
802 
803  { 5, Mar, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
804    "Fixed initial setting of masks to be relative to center of tracts object",
805    "This required creation of SUMA_ADO_Center() and SUMA_ADO_Range() functions."
806  },
807 
808  { 5, Mar, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
809    "Opening surf controller after selecting voxel on slice caused crash in demo",
810    "This happened in FATCAT_DEMO's Do_09* script, example 1 (SET1). While I am\n"
811    "still unsure what caused the Bad Window error, I now trap for it and keep\n"
812    "the program from getting shutdown. Some day I'll track the source of the\n"
813    "message, for now, recovery seems complete."
814  },
815 
816  { 4, Mar, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
817    "Surface-based InstaCorr stopped refreshing with new click.",
818    "The problem was caused by the failure to update the copies of I and \n"
819    "T columns in the overlay structure when a new dataset replaced an older\n"
820    "version. For the fix, search for 'ResetOverlay_Vecs' string, and see \n"
821    "function SUMA_DSET_ClearOverlay_Vecs()"
822  },
823 
824  { 25, Feb, 2014, ZSS, "suma", MICRO, TYPE_NEW_OPT,
825    "Secret option for Javier to make graph dsets display on top of everything",
826    "The option is hidden for now, requiring the use of both -dev and \n"
827    "a temporary env. The two can be combined on the command line with:\n"
828    "  suma -dev -setenv \"'JAVIER_DEPTH_SPECIAL = YES'\" ... "
829  },
830 
831  { 25, Feb, 2014, ZSS, "ConvertDset", MINOR, TYPE_NEW_OPT,
832    "Added -dset_labels option to label dset sub-bricks.",
833    "Normally 3drefit would handle that, but not for graph dsets, not yet \n"
834    "at least"
835  },
836 
837  { 25, Feb, 2014, ZSS, "afni-general", MICRO, TYPE_BUG_FIX,
838    "Modified Makefile.macosx* to start building SurfMesh again.",
839    NULL
840  },
841 
842  { 25, Feb, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
843    "Added loading/saving of masks and evaluation expressions to GUI.",
844    NULL
845  },
846 
847  { 25, Feb, 2014, ZSS, "suma", MINOR, TYPE_NEW_OPT,
848    "Added tract length masking in Masks GUI.",
849    NULL
850  },
851 
852  { 19, Feb, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
853    "Fixed crash during crazy matrix rotations.",
854    "The problem was caused by divisions by very small sizes under certain\n"
855    "projection (viewing) angles\n"
856  },
857 
858  { 19, Feb, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
859    "Fixed indexing errors in sparse matrices with certain node (point) lists.",
860    "The problem occurred when point lists were supersets of the points used to\n"
861    "define the edges."
862  },
863 
864  { 19, Feb, 2014, ZSS, "DriveSuma", MINOR, TYPE_NEW_OPT,
865    "Added -Clst and -UseClst options to DriveSuma",
866    NULL
867  },
868 
869  { 19, Feb, 2014, ZSS, "ConvertDset", MICRO, TYPE_BUG_FIX,
870    "Removed stringent test on number of points in edge list",
871    "The program insisted on having the same number or points (nodes)\n"
872    "in the node list as there are unique points making up the graph.\n"
873  },
874 
875  { 18, Feb, 2014, ZSS, "suma", MAJOR, TYPE_MODIFY,
876    "Added tract masking with boolean expressions",
877    "This allows users to specify the masking function\n"
878    "using the various masks as variables in a boolean expression.\n"
879    "The interface also allows for the coloring of various tracts based\n"
880    "on which masks they travel through. This addition is only available\n"
881    "with the -dev option, though the restriction will soon be lifted."
882  },
883 
884  { 10, Feb, 2014, ZSS, "suma", MINOR, TYPE_MODIFY,
885    "Changed ordering of objects displayed to prevent graph text masking",
886    NULL,
887  },
888 
889  { 6, Feb, 2014, ZSS, "suma", MINOR, TYPE_MODIFY,
890    "Increased Maximum number of viewers to 10 for Javier's desire",
891    "To allow the increase without needlessly waisting memory,\n"
892    "the color lists now only created if a viewer is open.\n"
893    "That still means as many color lists for almost each type of data\n"
894    "carrying object. But the allocation is only done if the viewer is\n"
895    "open. Volume objects share the same color list and perhaps tracts\n"
896    "should do the same, in the future. \n"
897    "The downside of sharing is that coloration will\n"
898    "be the same across all viewers for the same object.\n"
899  },
900 
901  { 31, Jan, 2014, ZSS, "afni-general", MINOR, TYPE_MODIFY,
902    "Lessened dependency on new libgsl to allow FATCAT build on xorg7",
903    "This necessitated creating a double version of thd_correlate()\n"
904    "and adding -DXORG7 to the xorg7 makefiles"
905  },
906 
907  { 31, Jan, 2014, ZSS, "suma", MINOR, TYPE_BUG_FIX,
908    "Fixed problem with graph where segments were turning black.",
909    "Problem was caused by a stale pointer copy stored in SDO->colv\n"
910    "bad bad bad!"
911  },
912 
913  { 23, Jan, 2014, ZSS, "suma", MINOR, TYPE_GENERAL,
914    "Added transparency for slice displays",
915    NULL
916  },
917 
918  { 23, Jan, 2014, ZSS, "suma", MINOR, TYPE_GENERAL,
919    "Added GUI for tract mask editing",
920    NULL
921  },
922 
923  { 23, Jan, 2014, ZSS, "suma", MINOR, TYPE_GENERAL,
924    "Added volume rendering in addition to slice rendering ",
925    "No clipping planes yet."
926  },
927 
928  { 10, Jan, 2014, ZSS, "DriveSuma", MICRO, TYPE_NEW_ENV,
929    "Added SUMA_DriveSumaMaxCloseWait env ",
930    "This controls how long DriveSuma waits before it considers\n"
931    "a currently open stream lost forever. Consider also\n"
932    "env SUMA_DriveSumaMaxWait."
933  },
934 
935  { 8, Jan, 2014, ZSS, "ConvertDset", MINOR, TYPE_NEW_OPT,
936    "Added -graph_XYZ_LPI to flip coords to RAI for the user.",
937    NULL
938  },
939 
940  { 8, Jan, 2014, ZSS, "ConvertDset", MINOR, TYPE_BUG_FIX,
941    "Fixed problem introduced by earlier -graph_named_nodelist_txt change",
942    "Problem was one of parsing and made the program fail to read in all\n"
943    "entries in labels file.\n"
944  },
945 
946  { 6, Jan, 2014, ZSS, "suma", MINOR, TYPE_MODIFY,
947    "Set proper voxel identification in interface. No more resampling.",
948    "RAI resampling is no longer needed, but stil available by setting\n"
949    "SUMA_VO_Reorient.\n"
950  },
951 
952  { 3, Jan, 2014, ZSS, "suma", MAJOR, TYPE_MODIFY,
953    "Big improvements to slice rendering",
954    "Improvements include proper alpha masking and auto thresholding\n"
955    "Montage-like capability.\n"
956    "Percentile thresholding and intensity range setting\n"
957    "Fixed intersection bug with multi-slice rendering\n"
958  },
959 
960  { 3, Jan, 2014, ZSS, "suma", MINOR, TYPE_MODIFY,
961    "Modernized some driver handling functions to use ADO instead of SO",
962    "Improvements will allow easier driving of SUMA for non-surface\n"
963    "objects. For now we're not quite there yet. Soon one hopes.\n"
964  },
965 
966 
967  { 31, Dec, 2013, ZSS, "suma", MAJOR, TYPE_MODIFY,
968    "Improvements to tract rendering",
969    "Added stenciling to allow for rendering of masked tracts without\n"
970    "interfering with unmasked tracts\n"
971  },
972 
973  { 24, Dec , 2013 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
974    "Fixed SUMA's erroneous switch of colplanes for tracts",
975    "Problem was in thoughtless use of SUMA_ADO_Overlay0() insead\n"
976    "of available curColPlane pointer in SUMA_cb_createSurfaceCont_TDO().\n"
977    "Similar changes were made to other SUMA_cb_createSurfaceCont_*() functions\n"
978    "where curColPlane must be non null at the time of controller creation.\n"
979  },
980 
981  { 24, Dec , 2013 , ZSS , "InstaTract" , MINOR , TYPE_NEW_PROG,
982    "Wrote the outlines of InstaTract to eventually perform miniprob tracking",
983    "The program now talks to SUMA and receives queries from it.\n"
984    "The queries return a dummy network for now. PT will make it interface\n"
985    "with FATCAT to compute the actual tracts."
986  },
987 
988  { 23, Dec , 2013 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT,
989    "Added support for F12 key from DriveSuma",
990    NULL
991  },
992 
993  { 23, Dec , 2013 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
994    "Added option to hide graph nodes when nothing is connected to them",
995    NULL
996  },
997 
998  { 22, Dec , 2013 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
999    "Fixed problem with graph edge selection when viewing connections from node",
1000    "Problem is mismatch between colid and what gets rendered when it is not\n"
1001    "the whole object being displayed. For now, everything BUT thresholded \n"
1002    "edges will get rendered during selection, regardless of what is being\n"
1003    "displayed"
1004  },
1005 
1006  { 20, Dec , 2013 , ZSS , "3dProbTrackID" , MICRO , TYPE_MODIFY,
1007    "Fixed confusion with -algopts parsing",
1008    "Program will stop if it gets confused about parameters.\n"
1009    "Made annotations in options file match those in the help\n"
1010  },
1011 
1012  { 17, Dec , 2013 , ZSS , "suma-general" , MINOR , TYPE_BUG_FIX,
1013    "SUMA stopped building on systems lacking glCheckFramebufferStatus()",
1014    "That was basically all linux_* systems since they are quite a few\n"
1015    "versions behind. The patch is activated with a define at make time.\n"
1016    "Set SUMA_MDEFS = -DSUMA_GL_NO_CHECK_FRAME_BUFFER in Makefile.* if\n"
1017    "the OpenGL installed does not support  glCheckFramebufferStatus().\n"
1018    "Note that -DSUMA_GL_NO_CHECK_FRAME_BUFFER is not really needed for\n"
1019    "most build machines because the code uses other ways to check for\n"
1020    "glCheckFramebufferStatus(). However these auto checks failed on \n"
1021    "hurin so SUMA_GL_NO_CHECK_FRAME_BUFFER is still necessary for the moment"
1022  },
1023 
1024  { 17, Dec , 2013 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
1025    "Allowed graph node coloring based on a graph point's group ID",
1026    "To use such a coloring scheme, set Cl --> Grp in the surface controller\n"
1027    "for a graph dataset. To set group IDs and color, see ConvertDset's\n"
1028    "option -graph_named_nodelist_txt\n"
1029  },
1030 
1031  { 17, Dec , 2013 , ZSS , "ConvertDset" , MINOR , TYPE_NEW_OPT,
1032    "ConvertDset's -graph_named_nodelist_txt now takes node grouping and color",
1033    "See -graph_named_nodelist_txt's help section for details"
1034  },
1035 
1036  { 17, Dec , 2013 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
1037    "Fixed SUMA's opacity cycling with 'o'",
1038    "NULL"
1039  },
1040 
1041 
1042  { 11, Dec , 2013 , ZSS , "apsearch" , MINOR , TYPE_NEW_OPT,
1043    "Wildcard file expansion with extension and view trimming and sorting",
1044    "See apsearch's -help output with all the -wild_* options for detail.\n"
1045    "Functions at the heart of all this are unique_str() and MCW_wildcards().\n"
1046  },
1047 
1048  { 11, Dec , 2013 , ZSS , "apsearch" , MINOR , TYPE_NEW_OPT,
1049    "Added -afni_web_downloader",
1050    "Done via GetAfniWebDownloader()\n"
1051  },
1052 
1053  { 10, Dec , 2013 , ZSS , "suma" , MINOR , TYPE_MODIFY,
1054    "Reduced memory load by about a factor of 5 when dealing with volumes",
1055    "This was done by sharing color lists across viewers. This would be\n"
1056    "appropriate when volumes are colored the same way across viewers, a \n"
1057    "likely scenario. Further reductions can be made by going from \n"
1058    "GLfloat * to GLbyte *, sometime in the future perhaps.\n"
1059  },
1060 
1061  { 10, Dec , 2013 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
1062    "Fixed source of undefined buffer and problem with glXMakeCurrent on OS X",
1063    "Problem seems caused by attempting to create an X graphics context when\n"
1064    "creating a new suma viewer. XCreateGC is no longer needed - its context\n"
1065    "has not been used for a long while anyway.\n"
1066  },
1067 
1068  { 9, Dec , 2013 , ZSS , "suma-general" , MINOR , TYPE_BUG_FIX,
1069    "Fixed broken demo script run_stdmesh_demo from std_meshes.tgz",
1070    "Failure was in glXMakeCurrent which crashed rather than return in error.\n"
1071    "Not sure what was causing this, but it was the rapid succession of \n"
1072    "controllers being open and repositioned that was causing this. Simply\n"
1073    "splitting the two operations into separate loops was enough to remedy\n"
1074    "this. Adding calls to glFinish() and XSync() did nothing to fix the\n"
1075    "problem reliably"
1076  },
1077 
1078  { 6, Dec , 2013 , ZSS , "suma" , MINOR , TYPE_MODIFY,
1079    "Automated decision for calling glXMakeCurrent with SUMA_glXMakeCurrent()",
1080    "This fixes instances where surfaces were being rendered in the colorbar!"
1081    "Eventually any use of SUMA_Si_Si_I_Insist() should be obsolete."
1082  },
1083 
1084  { 27, Nov , 2013 , ZSS , "3dCM" , MINOR , TYPE_NEW_OPT,
1085    "Added -roi_vals to get COM for multiple ROIs",
1086    "Workhorse is THD_roi_cmass() in thd_center.c"
1087  },
1088 
1089  { 4, Nov , 2013 , ZSS , "afni-general" , MINOR , TYPE_MODIFY,
1090    "Made functions transforming afni volumes to suma dsets preserve types",
1091    "Formerly much was changed into floats. Affected functions include:\n"
1092    "nsd_add_colms_type(), SUMA_afnidset2sumadset(), and nsd_add_sparse_data()"
1093  },
1094 
1095  { 1, Oct , 2013 , ZSS , "suma" , MINOR , TYPE_MODIFY,
1096    "Made suma send filename of surface volume to AFNI",
1097    "In this manner a -sv volume that is not in AFNI's\n"
1098    "current session will still be loaded into the current session\n"
1099    "See afni function AFNI_append_dset_to_session() and wherever it\n"
1100    "is used for details"
1101  },
1102 
1103  { 1, Oct , 2013 , ZSS , "afni" , MINOR , TYPE_MODIFY,
1104    "Made AFNI seek and add to session a missing SUMA surface volume",
1105    "See afni function AFNI_append_dset_to_session() and wherever it\n"
1106    "is used for details. That function is under afni_plugin.c which is one\n"
1107    "of the few .c files with access to the GLOBAL_library structure."
1108  },
1109 
1110  { 1, Oct , 2013 , ZSS , "afni" , MINOR , TYPE_MODIFY,
1111    "Reduced AFNI complaints of missing surface volumes and extra triangles.",
1112    "These messages come up for each surface component 'nel' and are highly\n"
1113    "redundant. Now messages are choked to about once every 2 seconds for \n"
1114    "each message id. See whine_about_idcode() for details."
1115  },
1116 
1117  { 23, Sep , 2013 , ZSS , "suma" , MINOR , TYPE_MODIFY,
1118    "Numerous updates/bug fixes for graph dset handling",
1119    "Pick buffer update now synced with what viewer shows. \n"
1120    "See SUMA_ADO_Flush_Pick_Buffer(). Text, whenever displayed,\n"
1121    "is turned into a solid rectangle in the pick buffer to facilitate\n"
1122    "selection.\n"
1123    "Point radius based on value was improperly scaled, same for stippling\n"
1124    "Gain arrows had a min of 1.0, now min is 0 and max 200\n"
1125    "Background of text now updates along with text color when color of viewer\n"
1126    "background is changed.\n"
1127    "Help message for picking updated.\n"
1128    "Shift+Alt+Button-3 press will now take a snapshot of the pick buffer\n"
1129    "to help with debugging."
1130  },
1131 
1132  { 16, Sep , 2013 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
1133    "Switched functions of mouse buttons 1 and 2 when viewing GRAPH MATRIX",
1134    "This means matrix spatial rotation would be done with button 2 and\n"
1135    "shifting with button 1. Selection can also be done with button 3 whenever\n"
1136    "there is no selectable surface in sight."
1137  },
1138 
1139  { 13, Sep , 2013 , ZSS , "3dToyProg" , MICRO , TYPE_NEW_PROG,
1140    "A sample program to illustrate I/O API for intrepid C programmers",
1141    NULL
1142  },
1143 
1144  { 13, Sep , 2013 , ZSS , "afni-general" , MICRO , TYPE_MODIFY,
1145    "Added way to specify DICOM origin in function EDIT_geometry_constructor()",
1146    NULL
1147  },
1148 
1149  { 12, Sep , 2013 , ZSS , "suma-general" , MINOR , TYPE_MODIFY,
1150    "Added possibilty to store network tracts in external file for graph dsets",
1151    "See 3dProbTrackID's -gdset_toy for an illustration.\n"
1152    "Some small changes were made to ptaylor/ files to allow for this.\n"
1153  },
1154 
1155  { 11, Sep , 2013 , ZSS , "suma-general" , MINOR , TYPE_MODIFY,
1156    "Small changes to make Yaroslav's Debian tests work better",
1157    "Changes to @DO.examples to fit Debian installations\n"
1158    "Changed SUMA_search_file to avoid searching entire path and\n"
1159    "focus on AFNI specific regions instead.\n"
1160    "Made DriveSuma's kill_suma command less onerous.\n"
1161  },
1162 
1163  { 11, Sep , 2013 , ZSS , "suma-general" , MINOR , TYPE_NEW_OPT,
1164    "Allow for surface specification with symbolic notation",
1165    "Option -i now can parse strings like: ld60:MNI_N27:l:smoothwm\n"
1166    "to load surfaces from template volumes that would be stored \n"
1167    "in the afni data directory (see THD_datadir()).\n"
1168    "Also the -spec option can now take such symbolic notation\n"
1169  },
1170 
1171  { 11, Sep , 2013 , ZSS , "apsearch" , MICRO , TYPE_NEW_OPT,
1172    "Added -afni_data_dir to get the location of the data directory",
1173    NULL
1174  },
1175 
1176  { 5, Sep , 2013 , ZSS , "3dSeg" , MICRO , TYPE_BUG_FIX,
1177    "Fixed crash happening after write operation in 3dSeg",
1178    "The problem happened when a dataset is written with a byte\n"
1179    "order that differs from the original one. Under this scenario\n"
1180    "the dataset gets purged from memory by the writing function.\n"
1181    "Kudos to Isaac Schwabacher for doggedly pursuing the bug.\n"
1182  },
1183 
1184  { 3, Sep , 2013 , ZSS , "suma" , MICRO , TYPE_NEW_OPT,
1185    "Text annotation of graph dset representation with shadows.",
1186    NULL
1187  },
1188 
1189  { 3, Sep , 2013 , ZSS , "MapIcosahedron" , MICRO , TYPE_BUG_FIX,
1190    "Program was crashing with message about binSearch failing.",
1191    "Problem was caused by recent changes to binSearch that forced\n"
1192    "exact matching.\n"
1193  },
1194 
1195  { 19, Aug , 2013 , ZSS , "@DO.examples" , MICRO , TYPE_MODIFY,
1196    "Changes to help with builds and tests on NeuroDebian",
1197    "Minor tweaks, cleanup and new option -timeout for prompt_user program.\n"
1198  },
1199 
1200  { 19, Aug , 2013 , ZSS , "afni-general" , MINOR , TYPE_MODIFY,
1201    "Dreaded __builtin_object_size came up for 3dTproject",
1202    "Replace memcpy with AAmemcpy in cs_symeig.c . Separated OMP\n"
1203    "macros from mrilib.h by putting them in Aomp.h\n"
1204  },
1205 
1206  { 16, Aug , 2013 , ZSS , "suma-general" , MAJOR , TYPE_MODIFY,
1207    "Yet another still hidden expansion of graph dsets",
1208    "Modifications to many data structures and handling functions\n"
1209    "to allow for the storage and display of graph datasets (such as\n"
1210    "correlation matrices, and the like.\n"
1211  },
1212 
1213  { 16, Aug , 2013 , ZSS , "afni-general" , MAJOR , TYPE_MODIFY,
1214    "Changes to tractography I/O API to allow for graph dataset handling",
1215    "Effort in concert with Paul Taylor\n"
1216  },
1217 
1218 
1219  { 6, Aug , 2013 , ZSS , "suma-general" , MINOR , TYPE_MODIFY,
1220    "Recreated suma_MNI_N27.tgz and suma_TT_N27.tgz with LPI GIFTI",
1221    "The surfaces had to be recreated to fit LPI assumption.\n"
1222    "Old suma will not work with new archives and vice versa.\n"
1223    "SUMA will warn when using old archive to help users with transition\n"
1224    "See @SUMA_Make_Spec_FS -nocor and -GNIFTI options for more info.\n"
1225  },
1226 
1227  { 6, Aug , 2013 , ZSS , "MapIcosahedron" , MINOR , TYPE_MODIFY,
1228    "Hard coded skipping of outer-pial-smoothed surfaces",
1229    "Those brain envelopes are not isotopic with the rest of \n"
1230    "the surfaces so there is no point standardizing them."
1231  },
1232 
1233  { 5, Aug , 2013 , ZSS , "@SUMA_Make_Spec_FS" , MINOR , TYPE_MODIFY,
1234    "Option -nocor is now obsolte. -GNIFTI replaces it",
1235    "This was necessary to alert whoever was using -nocor that\n"
1236    "resultant GIFTI surfaces were being written in RAI and that now\n"
1237    "they are in LPI in keeping with the standard.\n"
1238    "See @SUMA_Make_Spec_FS -nocor and -GNIFTI options for more info.\n"
1239  },
1240 
1241  { 5, Aug , 2013 , ZSS , "inspec" , MINOR , TYPE_NEW_OPT,
1242    "Added -remove_state to remove surfaces of specific state from spec file",
1243    NULL
1244  },
1245 
1246  { 31, Jul , 2013 , ZSS , "ConvertSurface" , MINOR , TYPE_NEW_OPT,
1247    "Added -xmat_1D NegXY to flip X Y coordinate sign of surfaces.",
1248    "This should make it easy to turn GIFTI files with RAI units to\n"
1249    "LPI with something like: \n"
1250    "ConvertSurface -i toy.gii -o_gii toy -overwrite -xmat_1D NegXY\n"
1251  },
1252 
1253  { 31, Jul , 2013 , ZSS , "ConvertSurface" , MINOR , TYPE_NEW_OPT,
1254    "Added -merge_surfs to facilitate ECOG strip merging.",
1255    NULL
1256  },
1257 
1258  { 29, Jul , 2013 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
1259    "Coordinates xform of GIFTI surfaces was applied too late",
1260    NULL
1261  },
1262 
1263  { 26, Jul , 2013 , ZSS , "@RetinoProc" , MICRO , TYPE_MODIFY,
1264    "Fixed bad option name in -help and clarified -delay option",
1265    NULL
1266  },
1267 
1268  { 14, Jun , 2013 , ZSS , "1dmatcalc" , MICRO , TYPE_MODIFY,
1269    "Set status to 1 on failure",
1270    NULL
1271  },
1272 
1273  { 4, Jun , 2013 , ZSS , "SurfToSurf" , MINOR , TYPE_NEW_OPT,
1274    "Added nearest neighbor search option",
1275    "There is no need to search along a certain direction when\n"
1276    "mapping between two speres of identical radius and size.\n"
1277  },
1278 
1279  { 9, May , 2013 , ZSS , "R_io" , MINOR , TYPE_BUG_FIX,
1280    "Temporary fix of segfault happening in R from R_io.so",
1281    "Source of problem is a call to COMPRESS_setup_programs()\n"
1282    "Not sure why the following crash was happening:\n"
1283    "*** caught segfault ***\n"
1284    "address 0x3800000100, cause 'memory not mapped'\n"
1285    "However a temporary env. SKIP_COMPRESS_SETUP will get around it."
1286  },
1287 
1288  { 22, Apr , 2013 , ZSS , "3dAutoTcorrelate" , MINOR , TYPE_NEW_OPT,
1289    "Added -out1D option to output correlations in text format.",
1290    NULL
1291  },
1292 
1293  { 9, Apr , 2013 , ZSS , "@RetinoProc" , MINOR , TYPE_NEW_OPT,
1294    "Added options for providing orts for each input time series",
1295    "See options -*_orts in the help output."
1296  },
1297 
1298  { 1, Apr , 2013 , ZSS , "afni-general" , MICRO , TYPE_BUG_FIX,
1299    "AFNIio.R's newid.AFNI() was duplicated and the more compact one was broken",
1300    NULL
1301  },
1302 
1303  { 1, Apr , 2013 , ZSS , "3dAutoTcorrelate" , MICRO , TYPE_NEW_OPT,
1304    "Added option -mask_source",
1305    NULL
1306  },
1307 
1308  { 28, Mar , 2013 , ZSS , "@RetinoProc" , MICRO , TYPE_BUG_FIX,
1309    "Parsing of -on* and -off* options failed for non-integral values",
1310    NULL
1311  },
1312 
1313  { 26, Mar , 2013 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
1314    "Loop variable error in 3DEdge/src/convert.c variable s32buf",
1315    "Affected regions in some locations under: case UCHAR and case SSHORT\n"
1316  },
1317 
1318  { 26, Mar , 2013 , ZSS , "suma" , MICRO , TYPE_MODIFY,
1319    "AlignToExperiment transforms no longer applied to spherical surfaces ",
1320    "This makes spheres show up better by default in SUMA for prying.\n"
1321  },
1322 
1323  { 26, Mar , 2013 , ZSS , "SurfSmooth" , MICRO , TYPE_NEW_OPT,
1324    "Added -match_center to force recentering of smoothed surfaces.",
1325    "SurfSmooth -help for details\n"
1326  },
1327 
1328  { 26, Mar , 2013 , ZSS , "@SUMA_Make_Spec_FS" , MINOR , TYPE_NEW_OPT,
1329    "Added option -inflate for automatic creation of semi-inflated surfaces",
1330    "See @SUMA_Make_Spec_FS -help for details\n"
1331  },
1332 
1333  { 25, Mar , 2013 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
1334    "Merged handling of CoordBias with Prying, all in VisX",
1335    "Lots of annoying little details there. See functions like:\n"
1336    "  SUMA_*CoordBias*, SUMA_ApplyVisXform(), and SUMA_Apply_VisX_Chain()\n"
1337  },
1338 
1339  { 22, Mar , 2013 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
1340    "Added stippling for line segments DOs, see SUMA's ctrl+h for details.",
1341    NULL
1342  },
1343 
1344  { 20, Mar , 2013 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
1345    "Texture demos in DriveSuma were failing.",
1346    "Problem was a combination of coordinate clipping when frame coords\n"
1347    "were at 0 or 1. That is now fixed. Also, demo.*do files needed changing\n"
1348    "to move texture on surface into mobile.niml.do\n"
1349    "Depth test is no longer disabled with textures.\n"
1350  },
1351 
1352  { 20, Mar , 2013 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
1353    "Text was not appearing at times. Bug was in SUMA_SO_NIDO_Node_Texture()",
1354    NULL
1355  },
1356 
1357  { 19, Mar , 2013 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
1358    "Prying was off for new GIFTI standard-mesh surfaces.",
1359    "Bug was caused by a failure to identify LR sides of GIFTI\n"
1360    "surfaces. SUMA was not preserving the side of a GIFTI surface\n"
1361    "at write time in SUMA_GIFTI_Write(). Code was also modified\n"
1362    "to guess the side of pre-existing GIFTI surfaces.\n"
1363    "Prying was also off when a transform was found in the header\n"
1364    "of the surface volume because dimensions were not being recomputed\n"
1365    "after applying the VolPar transform. That is now fixed.\n"
1366  },
1367 
1368  { 14, Mar , 2013 , ZSS , "SurfToSurf" , MINOR , TYPE_NEW_OPT,
1369    "NearestNodeCoords was added to -output_params",
1370    NULL
1371  },
1372 
1373  { 14, Mar , 2013 , ZSS , "@auto_tlrc" , MICRO , TYPE_NEW_OPT,
1374    "-init_xform now takes AUTO_CENTER_CM and CENTER_CM",
1375    NULL
1376  },
1377 
1378  { 22, Feb , 2013 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
1379    "Option -anatomical labels all -i_* -t_* surfs anatomically correct",
1380    NULL
1381  },
1382 
1383  { 22, Feb , 2013 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
1384    "Option -onestate put all -i_* surfs on command line in the same state",
1385    NULL
1386  },
1387 
1388  { 22, Feb , 2013 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
1389    "Fixed FOV problems for auto setting and fixing zoom level across states",
1390    NULL
1391  },
1392 
1393  { 22, Feb , 2013 , ZSS , "suma" , MAJOR , TYPE_NEW_OPT,
1394    "Prying hemispheres apart to see medial or lateral sides simultaneously",
1395    "This is controlled via the ctrl+Button 1-Motion. See SUMA's ctrl+h output\n"
1396    "for details. The prying behaviour is different for spheres and flat maps\n"
1397    "Just try it and see. ctrl+double click to get back to initial view.\n"
1398    "See also env: SUMA_LHunify"
1399  },
1400 
1401  { 22, Feb , 2013 , ZSS , "suma" , MINOR , TYPE_NEW_ENV,
1402    "SUMA_LHunify to automatically merge LR hemispheres in all views",
1403    "This is done by discarding the _lh _rh to state names that are \n"
1404    "created by @SUMA_Make_Spec_FS"
1405  },
1406 
1407  { 22, Feb , 2013 , ZSS , "suma" , MAJOR , TYPE_NEW_OPT,
1408    "Automatically adjust position of LR surfaces so that they don't overlap",
1409    "This is only done for anatomically incorrect surfaces, the others should\n"
1410    "not overlap of course. This allows for simultaneous viewing of inflated\n"
1411    "surfaces and flattened ones side by side."
1412  },
1413 
1414  { 15, Feb , 2013 , ZSS , "@SUMA_AlignToExperiment" , MINOR , TYPE_NEW_OPT,
1415    "Allowed script to work with NIFTI input for both -surf_anat and -exp_anat",
1416    NULL
1417  },
1418 
1419  { 15, Feb , 2013 , ZSS , "ParseName" , MINOR , TYPE_NEW_OPT,
1420    "Added -FNameNoAfniExt to -out option",
1421    NULL
1422  },
1423 
1424  { 14, Feb , 2013 , ZSS , "apsearch" , MINOR , TYPE_MODIFY,
1425    "Improved parsing for options to avoid getting options from sample commands",
1426    "Previously, if you used an example in the help that called\n"
1427    "a different program and you used options on clean lines as part of that\n"
1428    "example command, those options would get attributed to the program\n"
1429    "whose help you're reading. Pfew. Not anymore."
1430  },
1431 
1432  { 14, Feb , 2013 , ZSS , "@SUMA_Make_Spec_FS" , MAJOR , TYPE_NEW_OPT,
1433    "Option -nocor to improve data import from FreeSurfer",
1434    "Option avoid COR images, produces NIFTI and GIFTI output that\n"
1435    "aligns with the initial volume passed to FreeSurfer. This required\n"
1436    "considerable changes to the script and will not be the default for\n"
1437    "a while longer."
1438  },
1439 
1440  { 14, Feb , 2013 , ZSS , "@SUMA_Make_Spec_FS" , MICRO , TYPE_NEW_OPT,
1441    "Option -set_space set space of output volumes",
1442    NULL
1443  },
1444 
1445  { 14, Feb , 2013 , ZSS , "suma" , MAJOR , TYPE_NEW_OPT,
1446    "Added stippling-based transparency to surface viewing.",
1447    "Fancier blending-based transparency will have to wait."
1448  },
1449 
1450  { 14, Feb , 2013 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT,
1451    "Added -TransMode to control surface transparency.",
1452    NULL
1453  },
1454 
1455  { 6, Feb , 2013 , ZSS , "afni-general" , MINOR , TYPE_MODIFY,
1456    "Merged Paul Taylor's recent code changes",
1457    "Also created afni_history_ptaylor.c\n"
1458    "see afni_history -author ptaylor for details on the changes\n"
1459  },
1460 
1461  { 6, Feb , 2013 , ZSS , "afni-general" , MICRO , TYPE_NEW_OPT,
1462    "Added special filename '1D:stdin' to make mri_read get 1D from stdin",
1463    "In this manner, most 3d programs can now accept stdin input in 1D format\n"
1464    "This change was suggested by Isaac Schwabacher.\n"
1465  },
1466 
1467  { 6, Feb , 2013 , ZSS , "ConvertDset" , MINOR , TYPE_NEW_OPT,
1468    "-labelize for assigning a SUMA colormap to an integral valued dset",
1469    NULL
1470  },
1471 
1472  { 6, Feb , 2013 , ZSS , "MakeColorMap" , MINOR , TYPE_NEW_OPT,
1473    "-suma_cmap, -usercolutfile, and -sdset* options for SUMA colormaps",
1474    "The new options allow users to create SUMA's colormaps with labels\n"
1475    "and turn datasets into labeled datasets with the user's colormap\n"
1476  },
1477 
1478  { 4, Feb , 2013 , ZSS , "R" , MICRO , TYPE_BUG_FIX,
1479    "Properly set IDCODE of new dsets, read .1D.dset as dset not matrix",
1480    NULL
1481  },
1482 
1483  { 1, Feb , 2013 , ZSS , "suma" , MICRO , TYPE_NEW_ENV,
1484    "SUMA_ContourThickness to control the tickness of dset contour lines",
1485    "Addition made in response to Valentinos' feedback.\n"
1486    "Documentation is in .sumarc file.\n"
1487  },
1488 
1489  { 22, Jan , 2013 , ZSS , "HalloSuma" , MINOR , TYPE_NEW_PROG,
1490    "A sample light-weight program to illustrate 2-way communication with AFNI",
1491    "The program can be compiled in C or C++ along with the NIML library\n"
1492    "without having to link to AFNI/SUMA libraries.\n"
1493    "Documentation is the code.\n"
1494  },
1495 
1496  { 22, Jan , 2013 , ZSS , "apsearch" , MINOR , TYPE_NEW_OPT,
1497    "Added -bash option for bash filename completion, & -recreate_all_afni_help",
1498    "Thanks be to Isaac Schwabacher."
1499  },
1500 
1501  { 22, Jan , 2013 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT,
1502    "Added -echo_nel(*) option to show NIML communication elements",
1503    NULL
1504  },
1505 
1506  { 22, Jan , 2013 , ZSS , "3dinfo" , MINOR , TYPE_NEW_OPT,
1507    "Added -hand for handeness of orientation",
1508    NULL
1509  },
1510 
1511  { 22, Jan , 2013 , ZSS , "3dLocalstat" , MICRO , TYPE_MODIFY,
1512    "THD_localstat() was not applying mask to output under resam. mode",
1513    NULL
1514  },
1515 
1516  { 11, Jan , 2013 , ZSS , "ConvertSurface" , MINOR , TYPE_NEW_OPT,
1517    "Added -flip_orient option to change orientation of triangles.",
1518    NULL
1519  },
1520 
1521  { 7, Jan , 2013 , ZSS , "3dinfill" , MINOR , TYPE_NEW_OPT,
1522    "Added -radial_* options to test SUMA_Volume_RadFill() function.",
1523    NULL
1524  },
1525 
1526  { 27, Dec , 2012 , ZSS , "afni-general" , MICRO , TYPE_BUG_FIX,
1527    "Increased buffer size for reading one line.",
1528    "See LBUF in mri_read.c, also added error message when\n"
1529    "line is too long for LBUF in afni_fgets()\n"
1530  },
1531 
1532  { 21, Dec , 2012 , ZSS , "@clip_volume" , MICRO , TYPE_NEW_OPT,
1533    "Added options -crop_allzero and -crop_greedy.",
1534    NULL
1535  },
1536 
1537  { 18, Dec , 2012 , ZSS , "cat_matvec" , MICRO , TYPE_NEW_OPT,
1538    "option -4x4 to output augmented matrix.",
1539    NULL
1540  },
1541 
1542  { 3, Dec , 2012 , ZSS , "3dSkullStrip" , MICRO , TYPE_MODIFY,
1543    "More modifications for head extraction",
1544    "Approach now uses 'Radial Stats' for head/non-head separation.\n"
1545    "See functions SUMA_THD_Radial_HeadBoundary(), SUMA_ShrinkSkullHull_RS()\n"
1546    "and SUMA_ExtractHead_RS()\n"
1547  },
1548 
1549  { 3, Dec , 2012 , ZSS , "afni-general" , MICRO , TYPE_MODIFY,
1550    "Added temporary overwriting without upsetting initial setting",
1551    "See THD_get_ok_overwrite()\n"
1552  },
1553 
1554 
1555 
1556  { 15, Nov , 2012 , ZSS , "afni-general" , MICRO , TYPE_BUG_FIX,
1557    "Guarded against NULL strings in THD_dblkatr_from_niml()",
1558    "These strings came via R_io.c, but could come from elsewhere."
1559  },
1560 
1561  { 15, Nov , 2012 , ZSS , "AFNIio.R" , MINOR , TYPE_MODIFY,
1562    "Made read.AFNI and write.AFNI more clever",
1563    "Changes included: AUTO method selection, dset.attr() improvements\n"
1564    "to handle dset structures or their headers from either clib or Rlib\n"
1565    "functions. Micro change to THD_dblkatr_from_niml which crashed for\n"
1566    "null strings."
1567  },
1568 
1569  { 12, Nov , 2012 , ZSS , "3dHist" , MINOR , TYPE_NEW_OPT,
1570    "Added -cmask and -quiet to 3dHist",
1571    NULL,
1572  },
1573 
1574  { 12, Nov , 2012 , ZSS , "@T1scale" , MINOR , TYPE_NEW_OPT,
1575    "Straight and weighted divisions of T1 by PD, and initial alignment",
1576    "The weighted volume allows one to keep the high-res. aspect of\n"
1577    "PD division, while considerably reducing the extreme enhancement.\n"
1578  },
1579 
1580  { 9, Nov , 2012 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
1581    "Fixed crash on OSX 10.7_64 apparently caused by gcc's optimization",
1582    "The fix entailed adding -O1 to target SUMA_xColBar.o in SUMA's\n"
1583    "SUMA_Makefile_NoDev. I also changed the way SurfaceControllers\n"
1584    "are put away. They are now minimized thus keeping the widgets\n"
1585    "realized."
1586  },
1587 
1588  { 6, Nov , 2012 , ZSS , "3dkmeans" , MINOR , TYPE_NEW_OPT,
1589    "Added -write_dists to only output ascii files when users want them",
1590    "The changes were made to also cleanup the output of 3dSeg. \n"
1591  },
1592 
1593  { 6, Nov , 2012 , ZSS , "3dSkullStrip" , MINOR , TYPE_NEW_OPT,
1594    "Added -head*, and -cut_below options to generate whole head masks",
1595    "This was needed because 3dAutomask or 3dSkullStrip would fail at"
1596    "creating whole head masks for cases with coil-array shading problems\n"
1597    "and/or lots of noise."
1598  },
1599 
1600  { 1, Nov , 2012 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
1601    "Fixed problem with very large threshold ranges",
1602    "X11 scale cannot range more than MAX_INT/2. SUMA now"
1603    "checks for that and warns the user.\n"
1604  },
1605 
1606  { 1, Nov , 2012 , ZSS , "suma-general" , MICRO , TYPE_NEW_ENV,
1607    "Abide by AFNI's AFNI_FLOATSCAN variable and look for bad values",
1608    "SUMA will now scan for bad floats (NAN, and INF) and sets them\n"
1609    "to 0, when the dataset is loaded. You can turn this feature off\n"
1610    "with AFNI_FLOATSCAN set to NO.\n"
1611  },
1612 
1613  { 16, Oct , 2012 , ZSS , "3dSurfMask" , MICRO , TYPE_NEW_OPT,
1614    "Option -no_dist to avoid length distance computations.",
1615    "Also, the fast method was improved per the comment below."
1616  },
1617 
1618  { 16, Oct , 2012 , ZSS , "suma-general" , MINOR , TYPE_BUG_FIX,
1619    "Fixed functions that generate volume masks from surfaces",
1620    "There was a bug in SUMA_FindVoxelsInSurface() and SUMA_SurfGridIntersect()\n"
1621    "which made for ugly masks in the fast mode. This is no longer the case,\n"
1622    "SUMA_FindVoxelsInSurface() is about as good as its sister function\n"
1623    "SUMA_FindVoxelsInSurface_SLOW(), but considerably faster.\n"
1624    "This bug fix might affect some 3dSkullStrip and 3dSurfMask results. The \n"
1625    "more voxel sizes differ from 1x1x1, the more noticeable the difference \n"
1626    "might be."
1627  },
1628 
1629  { 15, Oct , 2012 , ZSS , "@T1scale" , MINOR , TYPE_NEW_OPT,
1630    "A better masking option using -brainhull",
1631    "The option seems pretty good at creating brain mask from pretty \n"
1632    "lousy data.\n"
1633  },
1634 
1635  { 13, Oct , 2012 , ZSS , "3dHist" , MINOR , TYPE_NEW_PROG,
1636    "Computes histograms using functions from the segmentation routines",
1637    "The program uses heuristics to automatically select histogram \n"
1638    "parameters, and it allows histogram queries.\n"
1639    "It had to be separate from 3dhistog because it uses libSUMA.a and because\n"
1640    "the latter's interface was getting too complicated."
1641  },
1642 
1643  { 13, Oct , 2012 , ZSS , "3dinfo" , MICRO , TYPE_NEW_OPT,
1644    "-voxvol returns a voxel's volume in mm cubed",
1645    NULL
1646  },
1647 
1648  { 12, Oct , 2012 , ZSS , "3dedge3" , MINOR , TYPE_BUG_FIX,
1649    "Fixed scaling problem for short/byte data.",
1650    NULL
1651  },
1652 
1653  { 10, Oct , 2012 , ZSS , "DriveSuma" , MICRO , TYPE_NEW_OPT,
1654    "Added -Opa to control opacity",
1655    NULL
1656  },
1657 
1658  { 10, Oct , 2012 , ZSS , "suma" , MICRO , TYPE_NEW_OPT,
1659    "Added yoking of 1_only, Dim, and Opacity controls",
1660    NULL
1661  },
1662 
1663  { 10, Oct , 2012 , ZSS , "@RetinoProc" , MICRO , TYPE_NEW_OPT,
1664    "Option -AEA_opts for passing arguments to align_epi_anat.py",
1665    NULL
1666  },
1667 
1668  { 9, Oct , 2012 , ZSS , "3dttest++" , MICRO , TYPE_MODIFY,
1669    "Micro modification of verbose output to flag paired from unpaired tests",
1670    NULL
1671  },
1672 
1673  { 9, Oct , 2012 , ZSS , "3dcalc" , MICRO , TYPE_MODIFY,
1674    "Clarify help for -cx2r, and allowing -help in mid command.",
1675    NULL
1676  },
1677 
1678  { 9, Oct , 2012 , ZSS , "3dDFT" , MINOR , TYPE_NEW_OPT,
1679    "Allow handling of complex surface-based data",
1680    "Earlier versions could not output complex data for surface-based datasets.\n"
1681    "Minor changes to the help output to fix order of -cx2r option and\n"
1682    "allow option suggesting."
1683  },
1684 
1685  { 9, Oct , 2012 , ZSS , "suma-general" , MINOR , TYPE_NEW_OPT,
1686    "Allow input of surface-based complex time series.",
1687    "SUMA will report and graph the magnitude of complex data\n"
1688    "Other transformations can be added when needed.\n"
1689    "Surface data I/O were modified to allow handling\n"
1690    "of complex-typed data including functions in thd_niml.c, and thd_gifti.c\n"
1691    "Programs like 3dDFT and 3dcalc can read/write complex surface-\n"
1692    "based datasets."
1693  },
1694 
1695  { 4, Oct , 2012 , ZSS , "MapIcosahedron" , MICRO , TYPE_BUG_FIX,
1696    "Dset Mapping failed on sparse datasets, at times. ",
1697    NULL
1698  },
1699 
1700  { 4, Oct , 2012 , ZSS , "3dedge3" , MICRO , TYPE_MODIFY,
1701    "Updated 3DEdge library to GPL version: 2012-02-22",
1702    NULL
1703  },
1704 
1705  { 4, Oct , 2012 , ZSS , "afni-matlab" , MINOR , TYPE_NEW_OPT,
1706    "Minor tweaks to WriteBrik and BrikInfo",
1707    "WriteBrik can automatically set some header fields (AdjustHeader option)\n"
1708    "BrikInfo now loads IJK_TO_DICOM_REAL"
1709  },
1710 
1711  { 28, Sep , 2012 , ZSS , "@T1scale" , MINOR , TYPE_NEW_PROG,
1712    "A mini script to scale T1s by PD volumes",
1713    "Script uses method borrowed from @CalculateSignatures\n"
1714    "to reduce bias field in T1 using a PD volume. Script also\n"
1715    "works well without PD."
1716  },
1717 
1718  { 28, Sep , 2012 , ZSS , "@auto_tlrc" , MINOR , TYPE_NEW_OPT,
1719    "Enabled automatic centering via -init_xform",
1720    "You can use -init_xform AUTO_CENTER or -init_xform CENTER\n"
1721    "to perform center alignment during registration."
1722  },
1723 
1724  { 28, Sep , 2012 , ZSS , "afni-general" , MINOR , TYPE_NEW_PROG,
1725    "Added Paul Taylor's map_TrackID to warp tracks by an affine transform",
1726    NULL
1727  },
1728 
1729  { 28, Sep , 2012 , ZSS , "3dTrackID" , MICRO , TYPE_NEW_OPT,
1730    "Option -rec_orig to record dataset origin in tractography output",
1731    NULL
1732  },
1733 
1734  { 22, Sep , 2012 , ZSS , "@SUMA_Make_Spec_Caret" , MICRO , TYPE_MODIFY,
1735    "Updated script to work with current Caret release",
1736    NULL
1737  },
1738 
1739  { 22, Sep , 2012 , ZSS , "3dkmeans" , MICRO , TYPE_BUG_FIX,
1740    "Fixed default prefix which was overwriting input.",
1741    "Also added default selection when input has single value"
1742  },
1743 
1744  { 21, Sep , 2012 , ZSS , "afni-general" , MICRO , TYPE_MODIFY,
1745    "pkundu update",
1746    NULL
1747  },
1748 
1749 
1750  { 18, Sep , 2012 , ZSS , "afni-general" , MINOR , TYPE_NEW_PROG,
1751    "Checked in Prantik Kundu's MEICA tools.",
1752    "Try meica.py -help, also try @Install_MEICA_Demo"
1753  },
1754 
1755  { 13, Sep , 2012 , ZSS , "3dhistog" , MINOR , TYPE_NEW_OPT,
1756    "Added -pdf to 3dhistog to make area = 1",
1757    NULL
1758  },
1759 
1760  { 12, Sep , 2012 , ZSS , "3dttest++" , MICRO , TYPE_BUG_FIX,
1761    "Fixed incorrect warning in 3dttest++ about labels and filenames",
1762    "The warning is intented to be sure users don't mess up the\n"
1763    "-setA option when using the long form. The warning message\n"
1764    "was being triggered incorrectly, this should no longer be the case.\n"
1765    "Warning did not affect results."
1766  },
1767 
1768  { 12, Sep , 2012 , ZSS , "afni-general" , MICRO , TYPE_BUG_FIX,
1769    "Stupid null character termination missing in THD_filepath()",
1770    NULL
1771  },
1772 
1773  { 11, Sep , 2012 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
1774    "Fixed potential corruption in macro SUMA_NEL_REPLACE_STRING",
1775    "Not sure to make of this problem, but bad reads/writes\n"
1776    "are happening in m_rc[(row)] in the macro, and to cs[n0++]\n"
1777    "in cs[n0++] = lbl[i]; of SUMA_AddColAtt_CompString(). In fact\n"
1778    "the first problem happens in cs[n0++], so the problem might\n"
1779    "start there. In any case, the fix was to increase the length\n"
1780    "of allocated segment by +10 instead of +1 in SUMA_NEL_REPLACE_STRING\n"
1781    "That seems to do the trick.\n"
1782  },
1783 
1784  { 11, Sep , 2012 , ZSS , "suma" , MINOR , TYPE_MODIFY,
1785    "Began merger of surface controllers",
1786    "The idea is to have all surface controllers in one window\n"
1787    "in order to save on screen space. Looks promising but must be\n"
1788    "rolled out carefully because surface controllers permeate everything."
1789    "Use environment variable SUMA_SameSurfCont to turn feature on.\n"
1790    "Make sure it is debugged with valgrind too.\n"
1791  },
1792 
1793  { 11, Sep , 2012 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
1794    "Fixed 'potential' crash in SUMA_SetScaleThr_one()",
1795    NULL
1796  },
1797 
1798  { 10, Sep , 2012 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
1799    "Typing in sub-brick arrow fields was ignored on linux",
1800    "Problem due to incorrect error checking from strtod()"
1801  },
1802 
1803  { 7, Sep , 2012 , ZSS , "suma" , MICRO , TYPE_NEW_OPT,
1804    "SUMA now highlights cluster |max|, rather than max",
1805    NULL
1806  },
1807 
1808  { 6, Sep , 2012 , ZSS , "@RetinoProc" , MINOR , TYPE_NEW_OPT,
1809    "Added -no_volreg for time series already registered",
1810    NULL
1811  },
1812 
1813  { 6, Sep , 2012 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
1814    "SUMA's sub-brick arrowfields were not updating properly",
1815    NULL
1816  },
1817 
1818  { 5, Sep , 2012 , ZSS , "@CalculateSignatures" , MINOR , TYPE_NEW_OPT,
1819    "Added possiblity to scale by top percentiles with -FATscl",
1820    "This would produce .sc9 outputs. It looks like the scaling is\n"
1821    "more promising than by MEDIAN(20) or MAD(20)."
1822  },
1823 
1824  { 5, Sep , 2012 , ZSS , "1dRplot" , MINOR , TYPE_NEW_OPT,
1825    "Made program take in histograms produced by 3dGenFeatureDist",
1826    "This required changes to AFNIio.R so that NIML groups are not\n"
1827    "automatically sent to the distbin. Instead, the first element\n"
1828    "in the ni_group is returned."
1829  },
1830 
1831  { 5, Sep , 2012 , ZSS , "3dGenFeatureDist" , MICRO , TYPE_NEW_OPT,
1832    "Program now creates the feature correlation matrix per class.",
1833    "Both histograms and correlation matrices are stored in NIML\n"
1834    "format under a directory named by the user."
1835  },
1836 
1837  { 4, Sep , 2012 , ZSS , "3ddot" , MINOR , TYPE_NEW_OPT,
1838    "Made program output niml 1D format, makes it easy to plot with 1dRplot",
1839    NULL
1840  },
1841 
1842  { 30, Aug , 2012 , ZSS , "3ddot" , MINOR , TYPE_NEW_OPT,
1843    "Made program create corr. matrix as opposed to just one pair of sub-bricks",
1844    "Output is also beautified with option -show_labels\n"
1845  },
1846 
1847  { 29, Aug , 2012 , ZSS , "afni-general" , MINOR , TYPE_BUG_FIX,
1848    "AFNI build was failing on machines where DONT_USE_MCW_MALLOC was defined",
1849    "The cause of failure was a missing #define NI_calloc() when \n"
1850    " DONT_USE_MCW_MALLOC is defined. The one line needed is now in niml.h.\n"
1851    "Builds likely affected are solaris and macosx_10.7_Intel_64\n"
1852    "Affected build dates from about Aug. 24th  to Aug. 29th.\n"
1853  },
1854 
1855  { 29, Aug , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
1856    "Allowing yoking of intensity to node selection.",
1857    "Ctrl+Button-3 would select a node and switch intensity sub-brick\n"
1858    "to that node's index * K. This is only done if the dataset currently\n"
1859    "viewed has as K times as many sub-bricks as the surface has nodes.\n"
1860    "K being an integer, naturally.\n Nick Oosterhoff instigated this business\n"
1861  },
1862 
1863  { 28, Aug , 2012 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
1864    "Fixed interaction with L/R yoking asynchrony.",
1865    "Problems included interaction with clustering setting and with\n"
1866    "Intensity/Threshold/Brightness selectors."
1867  },
1868 
1869  { 28, Aug , 2012 , ZSS , "suma" , MICRO , TYPE_NEW_OPT,
1870    "Preserved controller settings for newly loaded or reloaded dsets",
1871    "The preserved settings include clustering options."
1872  },
1873 
1874  { 28, Aug , 2012 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
1875    "Fixed some L/R yoking problems and a crash source in drive mode.",
1876    "The crash was caused when calling SUMA_Set_Menu_Widget() on a controller\n"
1877    "not fully realized.\n"
1878  },
1879 
1880  { 27, Aug , 2012 , ZSS , "afni-general" , MICRO , TYPE_MODIFY,
1881    "Modifed THD_load_tcat() to include subbrick labels in auto catenation",
1882    "Also, started checking for datatype mixing and issuing warning when needed."
1883  },
1884 
1885  { 24, Aug , 2012 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
1886    "Fixed SUMA<-->AFNI cross hair linkage with multiple anat. correct surfaces",
1887    "It used to be that a coordinate always got attached to the Local Domain\n"
1888    "Parent surface. Even if you clicked closest to a node on the Pial surface\n"
1889    "SUMA would jump to the correspoding node on the smoothwm surface. This was\n"
1890    "way uncool."
1891  },
1892 
1893  { 24, Aug , 2012 , ZSS , "@ScaleVolume" , MICRO , TYPE_BUG_FIX,
1894    "step(a) was used instead of bool(a) for masking operations",
1895    "This caused zeros in the output where input values were negative.\n"
1896    "Also added a modifier to the labels to highlight that features were\n"
1897    "scaled."
1898  },
1899 
1900  { 24, Aug , 2012 , ZSS , "@CalculateSignatures" , MINOR , TYPE_NEW_OPT,
1901    "Added coordinate feature generation, if TLRC xform is provided",
1902    "Note that the TLRC xform need not be too precise. The coordinate\n"
1903    "features are not intended to make sure of segmentation templates."
1904  },
1905 
1906  { 24, Aug , 2012 , ZSS , "suma" , MAJOR , TYPE_NEW_OPT,
1907    "Added interactive clustering to surface controller",
1908    "The state of affairs:\n"
1909    "  -Clustering tables are only output to the terminal \n"
1910    "     and the log window.\n"
1911    "  -Clustering is yoked between hemispheres\n"
1912    "  -Can control connectivity radius and min area or min nodes\n"
1913    "  -When you click on a node inside a cluster, the node in that\n"
1914    "     cluster with the highest value is highlighted with a black\n"
1915    "     sphere."
1916  },
1917 
1918  { 24, Aug , 2012 , ZSS , "niprobe" , MICRO , TYPE_NEW_PROG,
1919    "A variant on niccc to handle certain NIML file probing operations",
1920    NULL
1921  },
1922 
1923  { 24, Aug , 2012 , ZSS , "@SUMA_Make_Spec_FS" , MICRO , TYPE_MODIFY,
1924    "Made script port more datasets from FreeSurfer (depth, curvature)",
1925    NULL
1926  },
1927 
1928  { 24, Aug , 2012 , ZSS , "SurfClust" , MICRO , TYPE_NEW_OPT,
1929    "Allow -i* form of surface input",
1930    NULL
1931  },
1932 
1933  { 24, Aug , 2012 , ZSS , "afni-general" , MINOR , TYPE_NEW_PROG,
1934    "Added Paul Taylor's 3dRSFC to the distribution",
1935    NULL
1936  },
1937 
1938  { 20, Aug , 2012 , ZSS , "SurfExtrema" , MICRO , TYPE_NEW_OPT,
1939    "Made default input the convexity of the surface",
1940    NULL
1941  },
1942 
1943  { 15, Aug , 2012 , ZSS , "3drefit" , MINOR , TYPE_NEW_OPT,
1944    "Added -sublabel_prefix and -sublabel_suffix",
1945    NULL
1946  },
1947 
1948  { 8, Aug , 2012 , ZSS , "suma" , MINOR , TYPE_MODIFY,
1949    "Improved handling of coords in 'cm' units and better axis text layout",
1950    "Surfaces with coords in cm were poorly displayed and without warning.\n"
1951    "Now you are urged to make use of the SUMA_NodeCoordsUnits env . \n"
1952    "Axis text labels were also improved to reduce clobbering."
1953  },
1954 
1955  { 19, Jul , 2012 , ZSS , "suma" , MAJOR , TYPE_NEW_OPT,
1956    "Allow for L/R hemi yoking for many operations",
1957    "These include:"
1958    "Threshold setting. I,T,B sub-brick selection. Range \n"
1959    "setting. Dset loading. Cmap changing. Dset switching.\n"
1960    "Order changing."
1961  },
1962 
1963  { 19, Jul , 2012 , ZSS , "suma" , MICRO , TYPE_NEW_ENV,
1964    "New variables to initialize range setting and symmetric range",
1965    "See SUMA_Auto_I_Range, SUMA_Auto_B_Range, and SUMA_Sym_I_Range\n"
1966    "in ~/.sumarc . If you don't see them, time to run: suma -update_env\n"
1967  },
1968 
1969  { 18, Jul , 2012 , ZSS , "afni-general" , MINOR , TYPE_NEW_PROG,
1970    "Added Paul Taylor's 3dReHo to the distribution",
1971    NULL
1972  },
1973 
1974  { 10, Jul , 2012 , ZSS , "afni-general" , MINOR , TYPE_BUG_FIX,
1975    "Made default prefix path be ./ instead of path of input",
1976    "The change was done to function EDIT_empty_copy() which assigned\n"
1977    "to a pathless prefix the path of the input dataset if the latter\n"
1978    "was specified. The problem was that something like:\n"
1979    "3dMean -prefix mmm P1/joe+orig P2/jane+orig \n"
1980    "would have written mmm+orig under P1/\n"
1981    "To make matters less palatable other programs like 3dcalc behaved \n"
1982    "differently: 3dcalc -prefix ccc -a P1/joe+orig -expr 'a' \n"
1983    "would produce ./ccc+orig \n"
1984  },
1985 
1986  { 6, Jul , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
1987    "Use ArrowFields when datasets have large numbers of sub-bricks",
1988    "The switch is done automatically and is controlled with env:\n"
1989    "SUMA_ArrowFieldSelectorTrigger"
1990  },
1991 
1992  { 6, Jul , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_ENV,
1993    "SUMA_ArrowFieldSelectorTrigger set threshold for using ArrowFields",
1994    "For datasets with sub-bricks >= SUMA_ArrowFieldSelectorTrigger\n"
1995    "and arrow field is used to switch between sub-bricks"
1996  },
1997 
1998  { 28, Jun , 2012 , ZSS , "ROIgrow" , MINOR , TYPE_NEW_OPT,
1999    "Added -insphere and -inbox options",
2000    "These options grow ROIs by finding nodes that fall inside a box or sphere\n"
2001    "of preset size around nodes in the original ROIs."
2002  },
2003 
2004  { 19, Jun , 2012 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT,
2005    "Added -switch_cmode to allow switching how values map to colors",
2006    "This controls the 'Col' menu in SUMA's surface controller.\n"
2007  },
2008 
2009  { 19, Jun , 2012 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
2010    "Ctrl+W was not saving datasets when filenames contained a path",
2011    "Problem had to do with clumsy prefix forming.\n"
2012  },
2013 
2014  { 4, Jun , 2012 , ZSS , "@Install_AfniRetinoDemo" , MICRO , TYPE_NEW_PROG,
2015    "Demo script to download and run Retinotopy pipeline demo",
2016    NULL
2017  },
2018 
2019  { 4, Jun , 2012 , ZSS , "@Install_TSrestMovieDemo" , MICRO , TYPE_NEW_PROG,
2020    "Demo script to make a resting state movie a la Daniel Margulies'",
2021    NULL
2022  },
2023 
2024  { 1, Jun , 2012 , ZSS , "3dROIstats" , MICRO , TYPE_BUG_FIX,
2025    "3dROIstats crashed on float dsets with scaling. Not anymore",
2026    "Problem was scaling brick pointer without mallocizing first."
2027  },
2028 
2029  { 31, May , 2012 , ZSS , "afni-general" , MINOR , TYPE_MODIFY,
2030    "Merged ptaylor's code changes into the distribution",
2031    NULL
2032  },
2033 
2034  { 25, May , 2012 , ZSS , "SurfToSurf" , MICRO , TYPE_BUG_FIX,
2035    "Improve auto-name generation and enabled output format specification",
2036    NULL
2037  },
2038 
2039  { 24, May , 2012 , ZSS , "afni-general" , MINOR , TYPE_MODIFY,
2040    "Merger of changes in P. Taylor's code",
2041    NULL
2042  },
2043 
2044  { 23, May , 2012 , ZSS , "afni-general" , MICRO , TYPE_NEW_OPT,
2045    "Allow label-based selection for annotation files",
2046    "See function: process_NSD_labeltable(), now you can do something like:\n"
2047    "3dcalc -a std.60.lh.aparc.a2009s.annot.niml.dset'<wm_lh_G_precentral>' \\\n"
2048    "       -expr 'step(a)' -prefix wm_lh_G_precentral.niml.dset \n"
2049  },
2050 
2051  { 21, May , 2012 , ZSS , "ROIgrow" , MICRO , TYPE_BUG_FIX,
2052    "ROIgrow was not taking -spec surface definition",
2053    NULL
2054  },
2055 
2056  { 21, May , 2012 , ZSS , "@SUMA_Make_Spec_FS" , MINOR , TYPE_NEW_OPT,
2057    "Made the script also port thickness data and take them to std. space",
2058    NULL
2059  },
2060 
2061  { 21, May , 2012 , ZSS , "3dTcorrelate" , MINOR , TYPE_NEW_OPT,
2062    "Added -covariance option, turned off DOF setting for anything but pearson.",
2063    "See function THD_covariance()\n"
2064  },
2065 
2066  { 21, May , 2012 , ZSS , "MapIcosahedron" , MINOR , TYPE_NEW_OPT,
2067    "Made program output mapping info file for use with SurfToSurf",
2068    "Also made microscopic improvement to automatic dset name generation for"
2069    " -dset_map"
2070  },
2071 
2072  { 21, May , 2012 , ZSS , "SurfToSurf" , MICRO , TYPE_BUG_FIX,
2073    "Microscopic improvement to automatic dset name generation for output dsets",
2074    NULL
2075  },
2076 
2077  { 15, May , 2012 , ZSS , "1dRplot" , MICRO , TYPE_NEW_OPT,
2078    "Added -load.Rdat to regenerate previous plot on command line",
2079    NULL
2080  },
2081 
2082  { 15, May , 2012 , ZSS , "afni-general" , MINOR , TYPE_NEW_OPT,
2083    "Added '[1dcat FF.1D]' syntax for sub-brick selections in 1D file",
2084    "This was added for the same reason '[count ...]' was added, and \n"
2085    "that is to allow for lengthy selection values. Dealing with selections\n"
2086    "of 100+ sub-bricks virtually guarantees some string limit is reached,\n"
2087    "somewhere. See 3dTcat -help for details"
2088  },
2089 
2090  { 8, May , 2012 , ZSS , "afni-general" , MINOR , TYPE_MODIFY,
2091    "Code updates for P. Taylor's tractography",
2092    NULL
2093  },
2094 
2095  { 8, May , 2012 , ZSS , "3dSeg" , MINOR , TYPE_BUG_FIX,
2096    "Fixed memory leak problem",
2097    NULL
2098  },
2099 
2100  { 8, May , 2012 , ZSS , "count" , MINOR , TYPE_NEW_OPT,
2101    "Added -form to count: count -form %c 49 130",
2102    NULL
2103  },
2104 
2105  { 4, May , 2012 , ZSS , "afni" , MINOR , TYPE_NEW_OPT,
2106    "Added inverse distance measures to InstaCorr",
2107    "For the moment, those options are only accessible to usernames \n"
2108    " rwcox and ziad. Relevant functions are:\n"
2109    "  THD_vectim_distance(), and THD_distance(). THD_distance() is not\n"
2110    "used at the moment, it would be from 3dLocalBistat once I get around\n"
2111    "to testing it. For now, its access from 3dLocalBistat is #if-ed out.\n"
2112  },
2113 
2114  { 27, APR , 2012 , ZSS , "afni" , MINOR , TYPE_NEW_OPT,
2115    "Added percentile thresholding to AFNI's interface",
2116    "Relevant functions:\n"
2117    "  flush_vinfo_sort();\n"
2118    "  flush_3Dview_sort();\n"
2119    "  get_3Dview_sort();\n"
2120    "  AFNI_thresh_from_percentile()\n"
2121    "Relevant structure variables:\n"
2122    "  cont_perc_thr in Three_D_View;\n"
2123    "  th_sort, N_th_sort, th_sortid in AFNI_view_info;\n"
2124    "Feature also accessible from plugout_drive with: SET_FUNC_PERCENTILE +/-\n"
2125  },
2126 
2127  { 26, APR , 2012 , ZSS , "afni-general" , MINOR , TYPE_BUG_FIX,
2128    "Made header_name be same as brik_name for NIFTI dsets",
2129    "Changes were in EDIT_dset_items(), search for April 26"
2130  },
2131 
2132  { 24, APR , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2133    "Can read .niml.tract files as DOs. Nothing too fancy yet",
2134    "Tractography files are loaded and handled like any DO.\n"
2135    "See function SUMA_DrawTractDO().\n"
2136  },
2137 
2138  { 24, APR , 2012 , ZSS , "3dTrackID" , MINOR , TYPE_MODIFY,
2139    "Modified 3dTrackID to make use of new track I/O functions.",
2140    NULL
2141  },
2142 
2143  { 24, APR , 2012 , ZSS , "afni-general" , MINOR , TYPE_MODIFY,
2144    "Wrote TrackIO.[ch] to handle tractography data I/O.",
2145    "All changes are under ptaylor/ . New tract format is in NIML.\n"
2146    "See functions in TrackIO.h for details.\n"
2147  },
2148 
2149 
2150 #if 0 /* not yet */
2151  { 16, APR , 2012 , ZSS , "BrainSkin" , MINOR , TYPE_NEW_PROG,
2152    "Early version to create a brain envelope surface isotopic with pial surf",
2153    "Many functions added/modified for surface/volume intersections\n"
2154    "See SUMA_SurfaceInterectionVolume(), SUMA_Push_Nodes_To_Hull(),\n"
2155    "SUMA_VoxelToSurfDistances(), SUMA_GetOffset2bytemask(),\n"
2156    "SUMA_NodeNeighborMask(), SUMA_NN_GeomSmooth[23],\n"
2157    "SUMA_SmoothAttr_Neighb_wght(), SUMA_CurvatureToDset(), \n"
2158    "SUMA_mri_volume_infill_solid(), etc.\n"
2159    "New convenience functions: SUMA_*_Smooth_SO, SUMA_OrientSOTriangles(),\n"
2160    "SUMA_THD_IsoSurface(), and SUMA_Mesh_Resample_nodes(). \n"
2161    "Macros SUMA_RECOMPUTE*, SUMA_CLOSEST_NODE_VEC.\n"
2162    "New triangle intersection function: SUMA_MT_count_intersect_triangle().\n"
2163  },
2164 
2165  { 16, APR , 2012 , ZSS , "SurfSmooth" , MINOR , TYPE_NEW_OPT,
2166    "Added -NN_geom[23] for controlled inflation.",
2167    NULL
2168  },
2169 
2170 #endif
2171 
2172  { 16, APR , 2012 , ZSS , "SurfaceMetrics" , MINOR , TYPE_MODIFY,
2173    "Improved output format and added Displayable Objects to output.",
2174    NULL
2175  },
2176 
2177  { 16, APR , 2012 , ZSS , "SampBias" , MINOR , TYPE_MODIFY,
2178    "Improved I/O",
2179    NULL
2180  },
2181 
2182  { 16, APR , 2012 , ZSS , "SurfToSurf" , MINOR , TYPE_NEW_OPT,
2183    "Added -closest_possible\n",
2184    "For allowing the substitution of the projection result with \n"
2185    "the closest node that could be found along any direction.\n"
2186    "See changes to SUMA_GetM2M_NN()"
2187  },
2188 
2189  { 16, APR , 2012 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT,
2190    "Added -do_draw_mask to restrict where node-based DOs are shown",
2191    NULL
2192  },
2193 
2194  { 16, APR , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2195    "More I/T selector linkage modes.",
2196    NULL
2197  },
2198 
2199  { 16, APR , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2200    "Show data value at crosshair directly in display",
2201    "See SUMA_UpdateCrossHairNodeLabelFieldForSO(),\n"
2202    "SUMA_FormNodeValFieldStrings(), and SUMA_UpdateNodeValField()\n"
2203  },
2204 
2205  { 16, APR , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2206    "Better handling on multiline centering for display in viewer window.",
2207    NULL
2208  },
2209 
2210  { 16, APR , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2211    "New option to control which node-based DOs are displayed.",
2212    "See SUMA's interactive help on 'Ctrl+p' for details.\n"
2213  },
2214 
2215  { 16, APR , 2012 , ZSS , "suma-general" , MINOR , TYPE_MODIFY,
2216    "New convenience functions for I/O",
2217    "SUMA_AddDsetIndexCol(), SUMA_CreateFullDsetPointer, and\n"
2218    "macro SUMA_DSET_NAME_CHECK "
2219    "Improved name parsing and format guessing.\n"
2220  },
2221 
2222  { 16, APR , 2012 , ZSS , "afni-general" , MINOR , TYPE_MODIFY,
2223    "Created ptaylor/ under src/ to include Paul Taylor's code contributions",
2224    "To compile all of Paul's programs: cd src/ptaylor; make all \n"
2225    "or from src/ make ptaylor_all\n"
2226    "Added macros AFNI_3D_to_1D_index and AFNI_1D_to_3D_index in 3ddata.h"
2227  },
2228 
2229  { 16, APR , 2012 , ZSS , "plugout_drive" , MICRO , TYPE_MODIFY,
2230    "Cosmetic error message handling to help debugging SLaconte problems",
2231    NULL
2232  },
2233 
2234  { 16, APR , 2012 , ZSS , "afni-general" , MICRO , TYPE_MODIFY,
2235    "Added new help features to bunch of programs",
2236    "1dCorrelate, 1dTsort, 1ddot, 3dANOVA*, 1dplot, 3dAutobox, cat_matvec,\n"
2237    "waver\n"
2238  },
2239 
2240  { 16, APR , 2012 , ZSS , "afni" , MICRO , TYPE_BUG_FIX,
2241    "Increased allocated space for bigmap variables in display.c",
2242    "This is to stop a a MCW_malloc post-corruption which happens\n"
2243    "under certain compiler/OS combinations. No big deal.\n"
2244  },
2245 
2246  { 16, APR , 2012 , ZSS , "1dTsort" , MICRO , TYPE_NEW_OPT,
2247    "Added -imode to return the mode of 1D file content.",
2248    NULL
2249  },
2250 
2251  { 22, MAR , 2012 , ZSS , "@Spharm.examples" , MINOR , TYPE_MODIFY,
2252    "Improvements to the script to make it work with new programe versions.",
2253    "It will now download its own data for demo purporses.\n"
2254  },
2255 
2256  { 22, MAR , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2257    "Add values at node to the display.",
2258    "This involved an improvement to the centering of text so that\n"
2259    "one can center each line in a paragraph",
2260  },
2261 
2262  { 22, MAR , 2012 , ZSS , "SurfaceMetrics" , MICRO , TYPE_NEW_OPT,
2263    "Now outputs NIML dsets and Displayable objects for certain metrics",
2264    NULL,
2265  },
2266 
2267  { 22, MAR , 2012 , ZSS , "suma-general" , MINOR , TYPE_NEW_OPT,
2268    "Improve display of node-based DOs. ctrl+p for showing subset of objects.",
2269    "Node-based DOs overwhelm the display. Ctrl+p allows one to show DOs\n"
2270    "only around the selected node, or just at it. \n"
2271    "See also DriveSuma's -do_mask_mode option.",
2272  },
2273 
2274  { 6, MAR , 2012 , ZSS , "afni-general" , MICRO , TYPE_BUG_FIX,
2275    "Option completion killed filename completion. Not anymore.",
2276    NULL,
2277  },
2278 
2279  { 5, MAR , 2012 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
2280    "Recorder saving was crashing for very long filenames. Not anymore.",
2281    "The shell however will not like very long names and will complain."
2282  },
2283 
2284  { 5, MAR , 2012 , ZSS , "afni-general" , MINOR , TYPE_NEW_OPT,
2285    "Added option auto-completion for AFNI's programs for csh users",
2286    "The implementation of this feature is via apsearch. In particular,\n"
2287    "apsearch -update_all_afni_help now creates the necessary commands\n"
2288    "for csh's complete program to know about available options.\n"
2289    "See apsearch -help for details.\n"
2290    "This was done in conjunction with Brian Pittman.\n"
2291  },
2292 
2293  { 1, MAR , 2012 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
2294    "Fixed suma crash after a plot a certain plot freeze sequence",
2295    "The sequence was: create plot, freeze it, get another open\n"
2296    "then close the frozen one. At this point, suma lost control\n"
2297    "of the still unfrozen one, so it is practically frozen.\n"
2298    "Pressing Freeze twice on that remaining plot cause suma to crash.\n"
2299    "None of that occurs anymore.\n"
2300  },
2301 
2302  { 1, MAR , 2012 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
2303    "Fixed cutting plane motion while volume rendering under linux",
2304    "On Macs, the scroll wheel gives out button 6 and 7, on linux\n"
2305    "it is Buttons 4 and 5.\n"
2306  },
2307 
2308  { 1, MAR , 2012 , ZSS , "afni" , MINOR , TYPE_BUG_FIX,
2309    "Some cleanups and tweaks of XmHTML library.",
2310    "Refresh was not working well when scrolling so I ended up adding a mini\n"
2311    "refresh routine that seems to do the trick. XmHTMLRefresh(Widget w)\n"
2312    "It is called each time there is a repositioning. Perhaps that is overkill,\n"
2313    "but no need to sweat this for now.\n"
2314  },
2315 
2316  { 29, FEB , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2317    "Added option to use html viewer for WAMI results.",
2318    "This is to allow users to click on a URL if one is available for a certain\n"
2319    "atlas result. For now the display is very crude and only accessible with\n"
2320    "-DWEBBY_WAMI=YES.\n"
2321  },
2322 
2323  { 29, FEB , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2324    "Added 'ctrl+W' that allows saving results from interactive correlations.",
2325    "This allows for convenient saving of interactively created datasets\n"
2326    "such as those from single-subject, or group correlation maps in resting\n"
2327    "state.\n"
2328  },
2329 
2330  { 27, FEB , 2012 , ZSS , "afni-general" , MINOR , TYPE_BUG_FIX,
2331    "Fixed bug in read_niml_file() that incorrectly set a read_header_only flag",
2332    NULL
2333  },
2334 
2335  { 27, FEB , 2012 , ZSS , "suma-general" , MINOR , TYPE_NEW_OPT,
2336    "Allow on the fly definition of standard meshes with -i ld120, for example.",
2337    NULL
2338  },
2339 
2340  { 24, FEB , 2012 , ZSS , "@RetinoProc" , MINOR , TYPE_BUG_FIX,
2341    "Added number of volume registration regressors to -ort_adjust",
2342    NULL
2343  },
2344 
2345  { 24, FEB , 2012 , ZSS , "general" , MAJOR , TYPE_MODIFY,
2346    "I/O library for R now can use AFNI's c library.",
2347    "This new functionality allows the use a variety of formats\n"
2348    "both surface and volume-based for reading to and writing from R.\n"
2349    "3dMEMA can use this new functionality with option -cio\n"
2350  },
2351 
2352  { 24, FEB , 2012 , ZSS , "3dMEMA" , MINOR , TYPE_NEW_OPT,
2353    "3dMEMA can now handle surface-based data",
2354    "It makes use of the new I/O functions that use AFNI's\n"
2355    "C-library.\n"
2356  },
2357 
2358  { 24, FEB , 2012 , ZSS , "3dinfo" , MINOR , TYPE_NEW_OPT,
2359    "Options -val_diff and -sval_diff to compare values in 2 dsets.",
2360    NULL
2361  },
2362 
2363  { 22, FEB , 2012 , ZSS , "3dROIstats" , MINOR , TYPE_NEW_OPT,
2364    "Compute the mode of ROI voxels, see -mode and -nzmode",
2365    NULL
2366  },
2367 
2368  { 13, FEB , 2012 , ZSS , "3dSkullStrip" , MINOR , TYPE_BUG_FIX,
2369    "-orig_vol now forces datum type to be same as that of input.",
2370    "This fixed a problem with anatomicals ranging in the million(!) to\n"
2371    "come up the equivalent of a binary mask with -orig_vol.\n"
2372  },
2373 
2374  { 10, FEB , 2012 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
2375    "Improved snapshot making. Previous bugs were caused by buffer swap problems",
2376    "This fixed (I hope for good), problems of recording ('r'), continuous \n"
2377    "recording (OS X and Linux), and the oversampling.\n"
2378  },
2379 
2380  { 9, FEB , 2012 , ZSS , "3dSurf2Vol" , MINOR , TYPE_NEW_OPT,
2381    "Added -sdata, making 3dSurf2Vol compatible with multitude of surface dsets",
2382    NULL
2383  },
2384 
2385  { 7, FEB , 2012 , ZSS , "3dcopy" , MINOR , TYPE_BUG_FIX,
2386    "Fixed problem with 3dcopy HHH.nii TTT+orig not producing output",
2387    "Problem was caused by new change to EDIT_empty_copy() which\n"
2388    "assigned storage mode to that of input dset instead of STORAGE_BY_BRICK\n"
2389    "Fix involved setting storage mode per the prefix or view in \n"
2390    "EDIT_dset_items()\n"
2391  },
2392 
2393  { 7, FEB , 2012 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT,
2394    "Added -bkg_col and -autorecord options",
2395    NULL
2396  },
2397 
2398  { 7, FEB , 2012 , ZSS , "SurfMeasures" , MINOR , TYPE_NEW_OPT,
2399    "Added -out option to handle output in various formats.",
2400    "Also added -func ALL option.\n"
2401  },
2402 
2403  { 6, FEB , 2012 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2404    "Added automatic sub-brick selection matching IxT in interface",
2405    "Also see corresponding env var: SUMA_IxT_LinkMode\n"
2406  },
2407 
2408  { 6, FEB , 2012 , ZSS , "3dANOVA3" , MINOR , TYPE_BUG_FIX,
2409    "Improved (I hope) sub-brick labels. Added FDR too.",
2410    "Same improvements to all 3dANOVA programs.\n"
2411  },
2412 
2413  { 6, FEB , 2012 , ZSS , "3dANOVA3" , MINOR , TYPE_BUG_FIX,
2414    "Fixed comaptibility with .niml.dset data",
2415    "This required more improvements (I hope) to THD_init_diskptr_names() and\n"
2416    "EDIT_empty_copy() for surface-based datasets.\n"
2417  },
2418 
2419  { 6, FEB , 2012 , ZSS , "3drefit" , MINOR , TYPE_BUG_FIX,
2420    "3drefit was failing on the view change when target dset is under a path.",
2421    "Prolem was with default catenation of path to DSET_BRIKNAME and \n"
2422    "DSET_HEADNAME. Those now contain the path automatically.\n"
2423  },
2424 
2425  { 26, JAN , 2012 , ZSS , "3dinfill" , MINOR , TYPE_NEW_PROG,
2426    "Fills holes in a volume based on neighboring values",
2427    "This program is a wrapper to function SUMA_VolumeInFill.\n"
2428    "Written in response to a query by Mike Beauchamp.\n"
2429  },
2430 
2431  { 24, JAN , 2012 , ZSS , "SurfExtrema" , MINOR , TYPE_NEW_PROG,
2432    "Finds nodes that are local extrema on the surface.",
2433    "Program in response to request by Daniel Margulies\n"
2434  },
2435 
2436  { 23, JAN , 2012 , ZSS , "@SUMA_Make_Spec_FS" , MINOR , TYPE_NEW_OPT,
2437    "Added -ld and -no_ld options",
2438    "@SUMA_Make_Spec_FS by default now runs MapIcosahedron at two ld values.\n"
2439  },
2440 
2441  { 23, JAN , 2012 , ZSS , "@SUMA_AlignToExperiment" , MINOR , TYPE_NEW_OPT,
2442    "Added -atlas_followers",
2443    "Automatically bring along atlas datasets under -surf_anat's directory.\n"
2444  },
2445 
2446  { 23, JAN , 2012 , ZSS , "suma-general" , MINOR , TYPE_NEW_OPT,
2447    "Allowed addition of 'R' or 'L' when jumping to a node.",
2448    "This make DriveSuma work well with node indices that are specified\n"
2449    "for two hemispheres as is done in the batch mode of 3dGroupInCorr.\n"
2450    "This applies to both suma and DriveSuma",
2451  },
2452 
2453  { 23, JAN , 2012 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
2454    "Improved logic for assigning ROIs when parent is not present",
2455    "ROI parent assignment now takes into account last visited surface"
2456    "in any of the open viewer, and hemisphere side when appropriate.",
2457  },
2458 
2459  { 23, JAN , 2012 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
2460    "Fixed bug in display of FRAME bound textures.",
2461    "Looks like it had to do with depth testing.",
2462  },
2463 
2464  { 20, JAN , 2012 , ZSS , "afni" , MICRO , TYPE_MODIFY,
2465    "Trim dset names to keep them readable in plugin dataset selector buttons",
2466    "See function TrimString() and how it is used in PLUG_finalize_dataset_CB()",
2467  },
2468 
2469  { 20, JAN , 2012 , ZSS , "afni-general" , MICRO , TYPE_NEW_OPT,
2470    "Added -h_web, and -Vname= to all C command-line programs.",
2471    "See also apsearch -web_prog_help option",
2472  },
2473 
2474  { 19, JAN , 2012 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT,
2475    "Allow definition of DO on the fly with -fixed_do, -mobile_do.",
2476    "See DriveAfni -help and suma -help_nido",
2477  },
2478 
2479  { 18, JAN , 2012 , ZSS , "suma-general" , MICRO , TYPE_NEW_ENV,
2480    "SUMA_Position_Original for controlling initial window position.",
2481    "Use suma -update_env ; to update env file, then look for\n"
2482    " env SUMA_Position_Original for help and default value.",
2483  },
2484 
2485  { 18, JAN , 2012 , ZSS , "niccc" , MINOR , TYPE_NEW_OPT,
2486    "-s option to test string NI elements",
2487    NULL,
2488  },
2489 
2490  { 18, JAN , 2012 , ZSS , "Surf2VolCoord" , MINOR , TYPE_NEW_OPT,
2491    "-closest_* options to create find nodes that fall closest to XYZ locations",
2492    NULL,
2493  },
2494 
2495  { 17, JAN , 2012 , ZSS , "3dGroupInCorr" , MINOR , TYPE_NEW_OPT,
2496    "Allowed BATCH mode to work on surfaces.",
2497    NULL,
2498  },
2499 
2500  { 13, JAN , 2012 , ZSS , "ParseName" , MINOR , TYPE_NEW_OPT,
2501    "Options -pre and -app help in creating filenames regarding of type",
2502    NULL,
2503  },
2504 
2505  { 11, JAN , 2012 , ZSS , "3dROIstats" , MICRO , TYPE_MODIFY,
2506    "Use ROI labels in output if label tables or atlas point lists are present",
2507    NULL,
2508  },
2509 
2510  { 11, JAN , 2012 , ZSS , "3drefit" , MICRO , TYPE_NEW_OPT,
2511    "Added -copytables to copy label tables and atlas point lists",
2512    NULL,
2513  },
2514 
2515  { 11, JAN , 2012 , ZSS , "afni-general" , MICRO , TYPE_MODIFY,
2516    "Added copying of label table and atlas point lists to aux copying function",
2517    "See functions THD_copy_labeltable_atr and THD_copy_datablock_auxdata\n"
2518    "for details."
2519  },
2520 
2521  { 10, JAN , 2012 , ZSS , "3dTagalign" , MICRO , TYPE_NEW_OPT,
2522    "Added interpolation options.",
2523    NULL,
2524  },
2525 
2526  { 9, JAN , 2012 , ZSS , "DriveSuma" , MICRO , TYPE_NEW_OPT,
2527    "Added -setSUMAenv,-N_fore_smooth, and -N_final_smooth",
2528    NULL,
2529  },
2530 
2531  { 9, JAN , 2012 , ZSS , "suma-general" , MICRO , TYPE_NEW_OPT,
2532    "Added -setenv to all SUMA programs",
2533    NULL,
2534  },
2535 
2536  { 6, JAN , 2012 , ZSS , "ROI2dataset" , MICRO , TYPE_NEW_OPT,
2537    "Added -keep_separate to allow for another way to split ROIs",
2538    NULL,
2539  },
2540 
2541  { 4, JAN , 2012 , ZSS , "ROI2dataset" , MICRO , TYPE_NEW_OPT,
2542    "Added -nodelist_with_ROIval to facilitate splitting ROIs",
2543    NULL,
2544  },
2545 
2546  { 4, JAN , 2012 , ZSS , "@Atlasize" , MICRO , TYPE_NEW_OPT,
2547    "Allow for delimiters in keys file and handle names with spaces",
2548    "Similar additions are made to @MakeLabelTable",
2549  },
2550 
2551  { 4, JAN , 2012 , ZSS , "afni" , MINOR , TYPE_NEW_OPT,
2552    "Automatically add an Atlas to whereami list if encountered in the session",
2553    NULL,
2554  },
2555 
2556  { 30, DEC , 2011 , ZSS , "afni" , MINOR , TYPE_NEW_OPT,
2557    "Simplified how afni handles custom group or single-subject atlases",
2558    "By default, SessionAtlases and AFNI_SUPP_ATLAS_DIR/CustomAtlases.niml\n"
2559    "are added to the atlas list for whereami queries.",
2560  },
2561 
2562  { 30, DEC , 2011 , ZSS , "@AfniEnv" , MINOR , TYPE_NEW_PROG,
2563    "A convenience script to automatically edit .afnirc",
2564    NULL,
2565  },
2566 
2567  { 30, DEC , 2011 , ZSS , "@Atlasize" , MINOR , TYPE_NEW_PROG,
2568    "A convenience script to turn a dataset to an atlas",
2569    "The script makes it easy to create a group atlas or a single-subject\n"
2570    "atlas and place them automatically in a location that AFNI\n"
2571    "recognizes making them available to the user without bothering with\n"
2572    "too many environment variable settings.\n",
2573  },
2574 
2575  { 30, DEC , 2011 , ZSS , "@MakeLabelTable" , MINOR , TYPE_NEW_OPT,
2576    "Improved @MakeLabelTable's creation of ATLAS niml files",
2577    NULL,
2578  },
2579 
2580  { 30, DEC , 2011 , ZSS , "3dinfo" , MINOR , TYPE_NEW_OPT,
2581    "Numerous new options to 3dinfo, including checks for dset presence on disk",
2582    NULL,
2583  },
2584 
2585  { 30, DEC , 2011 , ZSS , "afni-general" , MINOR , TYPE_BUG_FIX,
2586    "NIFTI datasets used to loose their path information upon loading.",
2587    "This is problematic for a few reasons. For instance, afni ~/tmp/joe.niml\n"
2588    "will display the dataset as ./joe.niml. Some internal functions for\n"
2589    "conveniently dealing with atlases fail when the path is messed up in this\n"
2590    "way. Also, this problem occurred for NIFTI but NOT AFNI native formats \n"
2591    "wich resulted in different behaviour for programs like 3drefit.\n"
2592    "For example: 3drefit -space MNI ~/tmp/joe.nii is not comparable to\n"
2593    "3drefit -space MNI ~/tmp/joe+tlrc. (Actually, that behaviour was patched\n"
2594    "on Dec 27 but explicitly setting the path at output. But the fix needed\n"
2595    "to happen for other programs so that is now done at the io level.)\n",
2596  },
2597 
2598  { 27, DEC , 2011 , ZSS , "3drefit" , MINOR , TYPE_BUG_FIX,
2599    "3drefit failed when refitting a NIFTI dset in another directory.",
2600    "If you did something like 3drefit -space MNI joe/jim/dset.nii\n"
2601    "you ended up with a new dataset ./dset.nii as opposed to modifying\n"
2602    "the one under joe/jim/ directory",
2603  },
2604 
2605  { 20, DEC , 2011 , ZSS , "3dclust" , MINOR , TYPE_BUG_FIX,
2606    "-prefix failed when input dset was mastered.",
2607    "Better use macro PREP_LOADED_DSET_4_REWRITE whenever modifying\n"
2608    "a dataset loaded from disk for the purporse of rewriting it.",
2609  },
2610 
2611  { 20, DEC , 2011 , ZSS , "3dUpsample" , MINOR , TYPE_NEW_OPT,
2612    "Allow for upsampling to go to 11 (actually 320) and control output datum",
2613    NULL,
2614  },
2615 
2616  { 20, DEC , 2011 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2617    "SUMA now allows for direct recording to disk.",
2618    "See SUMA's ctrl+h for key ctrl+R for details.\n"
2619    "Related environment variable is SUMA_AutoRecordPrefix.",
2620  },
2621 
2622  { 20, DEC , 2011 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
2623    "SUMA now displays area labels in the viewer, F9 key toggles it",
2624    "See SUMA's ctrl+h output in the section for F9\n"
2625    "Related environment variable is SUMA_ShowLabelsAtCrossHair.",
2626  },
2627 
2628  { 13, DEC , 2011 , ZSS , "3dinfo" , MINOR , TYPE_NEW_OPT,
2629    "-same_* options return information about dset pairs",
2630    NULL,
2631  },
2632 
2633  { 13, DEC , 2011 , ZSS , "@SUMA_AlignToExperiment" , MINOR , TYPE_NEW_OPT,
2634    "-init_xform to allow for an initial transformation of -surf_anat",
2635    NULL,
2636  },
2637 
2638  { 13, DEC , 2011 , ZSS , "plugout_drive" , MICRO , TYPE_BUG_FIX,
2639    "AFNI_drive_switch_* functions discriminated against short prefixes.",
2640    NULL,
2641  },
2642 
2643  { 12, DEC , 2011 , ZSS , "apsearch" , MINOR , TYPE_NEW_OPT,
2644    "Small improvements and addition of logging option of search results",
2645    "See -apsearch_log_file option for details. Logging is only enabled\n"
2646    "if AFNI_LOG_BEST_PROG_OPTION is set to YES.",
2647  },
2648 
2649  { 12, DEC , 2011 , ZSS , "@global_parse" , MINOR , TYPE_NEW_PROG,
2650    "Script to simplify support of global options such as h_find from scripts",
2651    NULL ,
2652  },
2653 
2654  { 12, DEC , 2011 , ZSS , "afni" , MINOR , TYPE_NEW_OPT,
2655    "Slice displays can now show atlas labels in addition to slice location ",
2656    "The displays are turned on by right-clicking on the slice viewer's color\n"
2657    "bar and then setting the 'Label' to something other than 'OFF'\n"
2658    "See isqCR_getlabel, ISQ_getlabel, and AFNI_get_dset_val_label in code\n",
2659  },
2660 
2661  { 9, DEC , 2011 , ZSS , "suma" , MICRO , TYPE_NEW_ENV,
2662    "SUMA_DoNotSendStates restricts certain surfaces from getting sent to suma.",
2663    NULL,
2664  },
2665 
2666  { 7, DEC , 2011 , ZSS , "@SUMA_Make_Spec_FS" , MINOR , TYPE_NEW_OPT,
2667    "Added atlas creation of aseg, aparc+aseg, in addition to aparc.a200*",
2668    "See whereami's example 3 for how to extract ROIs from FreeSurfer atlases.",
2669  },
2670 
2671  { 7, DEC , 2011 , ZSS , "@FS_roi_label" , MICRO , TYPE_BUG_FIX,
2672    "Fixed bug caused by not cleaning tmp files under /tmp/ with -rankmap",
2673    "This bug should not have affected anyone. It showed up as I\n"
2674    "was making @SUMA_Make_Spec_FS process more than one type of\n"
2675    "parcellation volume.\n",
2676  },
2677 
2678  { 6, DEC , 2011 , ZSS , "apsearch" , MICRO , TYPE_NEW_OPT,
2679    "-stdin for input",
2680    "More tweaking of search distances and a battery of tests\n"
2681    "to help decide if tweak is in the right direction.\n",
2682  },
2683 
2684  { 5, DEC , 2011 , ZSS , "afni-general" , MICRO , TYPE_NEW_OPT,
2685    "Added -h_view to all C command-line programs.",
2686    "See also apsearch -view_prog_help option",
2687  },
2688 
2689  { 5, DEC , 2011 , ZSS , "afni-general" , MICRO , TYPE_NEW_ENV,
2690    "AFNI_GUI_EDITOR controls user's preferred text editor.",
2691    "See apsearch -afni_text_editor.",
2692  },
2693 
2694  { 2, DEC , 2011 , ZSS , "suma" , MICRO , TYPE_NEW_OPT,
2695    "Added 'Save' button to suma text info windows",
2696    NULL,
2697  },
2698 
2699  { 2, DEC , 2011 , ZSS , "suma" , MICRO , TYPE_NEW_ENV,
2700    "SUMA_NodeCoordsUnits allows the specification of node coord. units",
2701    NULL,
2702  },
2703 
2704  { 2, DEC , 2011 , ZSS , "afni-general" , MICRO , TYPE_BUG_FIX,
2705    "Wrote SOLARIS_strcasestr to replace missing strcasestr on SOLARIS",
2706    NULL,
2707  },
2708 
2709  { 2, DEC , 2011 , ZSS , "ConvertSurface" , MINOR , TYPE_NEW_OPT,
2710    "-XYZscale is added to scale the coordinates of a surface",
2711    "Surface that are not in mm coordinates can look pretty bad in SUMA.\n"
2712    "This scaling option can be used to easily change coordinates from cm to mm\n"
2713    "for example.",
2714  },
2715 
2716  { 30, NOV , 2011 , ZSS , "ConvertDset" , MICRO , TYPE_NEW_OPT,
2717    "-pad_to_node 0 now padds output dset to max node in input dset",
2718    NULL,
2719  },
2720 
2721  { 29, NOV , 2011 , ZSS , "@clean_help_dir" , MICRO , TYPE_NEW_PROG,
2722    "Removes redundant help files from the afni help directory.",
2723    NULL,
2724  },
2725 
2726  { 29, NOV , 2011 , ZSS , "@DeblankFileNames" , MICRO , TYPE_NEW_PROG,
2727    "Replaces spaces in filenames with_something_less_annoying.",
2728    NULL,
2729  },
2730 
2731  { 28, NOV , 2011 , ZSS , "afni-general" , MICRO , TYPE_BUG_FIX,
2732    "Fixed function THD_deplus_prefix to improve prefix cleanup",
2733    "Previous version cleaned +orig but not +orig.HEAD or +orig. for example.\n"
2734    "Current one removes +orig +orig. +orig.HEAD +orig.BRIK +orig.BRIK.gz and\n"
2735    "corresponding +acpc and +tlrc brethren.\n"
2736  },
2737 
2738  { 25, NOV , 2011 , ZSS , "Dimon" , MICRO , TYPE_NEW_OPT,
2739    "Added -gert_quit_on_err",
2740    "Passes -quit_on_err option to to3d."
2741  },
2742 
2743  { 25, NOV , 2011 , ZSS , "to3d" , MICRO , TYPE_NEW_OPT,
2744    "Added -quit_on_err",
2745    "Keeps to3d from going in interactive mode in case of error."
2746  },
2747 
2748  { 22, NOV , 2011 , ZSS , "afni" , MICRO , TYPE_NEW_OPT,
2749    "Added -h_find as a global option",
2750    "afni -help now outputs information about 'Global options'"
2751  },
2752 
2753  { 21, NOV , 2011 , ZSS , "afni" , MICRO , TYPE_NEW_OPT,
2754    "Added -all_opts as a global option",
2755    "The option is the equivalent of running apsearch -all_opts \n"
2756    "for a certain program."
2757  },
2758 
2759  { 21, NOV , 2011 , ZSS , "apsearch" , MICRO , TYPE_NEW_OPT,
2760    "Added -all_opts to show all options for a program",
2761    NULL
2762  },
2763 
2764 
2765  { 17, NOV , 2011 , ZSS , "apsearch" , MINOR , TYPE_NEW_PROG,
2766    "This is a program to test approximate string matching functions",
2767    "The program is best described by its help output.\n"
2768    "It is meant to quickly test the behavior of the approx* functions\n"
2769    "in thd_ttatlas_query.c where approximate string matching will\n"
2770    "be useful is easily specifying an atlas areas by name.\n"
2771    "Another useful offshoot is the function: suggest_best_prog_option\n"
2772    "which can easily be called right after a command-line parsing error\n"
2773    "message is displayed. For example, in apsearch I have the following:\n"
2774    "\n"
2775    "   { /* bad news in tennis shoes */\n"
2776 "      fprintf(stderr,\"** Error %s: bad option %s\\n\", argv[0], argv[iarg]);\n"
2777    "      suggest_best_prog_option(argv[0], argv[iarg]);\n"
2778    "      return 1;\n"
2779    "   }\n"
2780    "So all is needed to retrofit an old program is the suggest function.\n"
2781    "That function will do nothing if environment variable AFNI_NO_OPTION_HINT\n"
2782    "is set.\n"
2783    "To use suggest_best_prog_option from a script, use:\n"
2784    "     apsearch -popt `basnemane $0` -word ARG\n"
2785    "\n"
2786  },
2787 
2788  { 17, NOV , 2011 , ZSS , "afni" , MICRO , TYPE_NEW_ENV,
2789    "Added threshold locking capability under the 'Lock' menu",
2790    NULL
2791  },
2792 
2793  { 17, NOV , 2011 , ZSS , "afni" , MINOR , TYPE_NEW_OPT,
2794    "If AFNI_NO_OPTION_HINT, don't bother with helpful suggestions",
2795    NULL
2796  },
2797 
2798  { 15, NOV , 2011 , ZSS , "afni_general" , MINOR , TYPE_BUG_FIX,
2799    "Fixed bug introduced by cleaning up header_name and brick_name",
2800    NULL
2801  },
2802 
2803  { 15, NOV , 2011 , ZSS , "afni_general" , MINOR , TYPE_BUG_FIX,
2804    "More changes regarding obliquity warnings.",
2805    "   AFNI:\n"
2806    "   Popups only appear when user is viewing dsets of different obliquity.\n"
2807    "     See dset_obliquity_angle_diff()\n"
2808    "      and THD_report_obliquity()\n"
2809    "   \n"
2810    "   The warnings only appear ONCE per pair of misfits, per afni process. \n"
2811    "      See AFNI_check_obliquity() for implementation details.\n"
2812    "   \n"
2813    "   Oblique notices no longer appear on the command line each time you \n"
2814    "   read a session or switch dsets. To tell you that you are viewing an \n"
2815    "   oblique dset and that the coords are not quite what they should be,\n"
2816    "   I added a '*' next to the 'order:' descriptor in the top left corner. \n"
2817    "\n"
2818    "Command Line programs:\n"
2819    "   In most programs that should not care about obliquity, I add\n"
2820    "   early under main():   \n"
2821    "      set_obliquity_report(0); /* silence obliquity */ \n"
2822    "   \n"
2823    "  Also, 3dcalc, 3dTcat, 3dbucket, and function THD_open_tcat() \n"
2824    "   Only complain when obliquity between dset pair differs. \n"
2825    "   The check is done right after checking for grid matching with\n"
2826    "   EQUIV_DATAXES\n"
2827    "   \n"
2828   } ,
2829 
2830 
2831  { 10, NOV , 2011 , ZSS , "afni" , MINOR , TYPE_BUG_FIX,
2832    "Turned off obliquity popup warning when Ulay and Olay angles are similar",
2833    "AFNI issues warning when obliquity differs for a pair of viewed sets.\n"
2834    "It does not repeat warnings for a certain pair. It only output one set\n"
2835    "of warnings per dataset when 'switch ulay' is set, although I'd love to\n"
2836    "get rid of that habit as soon as possible.\n"
2837   } ,
2838 
2839  { 10, NOV , 2011 , ZSS , "3dinfo" , MICRO , TYPE_BUG_FIX,
2840    "Many new options for selective information.",
2841    NULL
2842   } ,
2843 
2844  { 2, NOV , 2011 , ZSS , "3dfim+" , MICRO , TYPE_BUG_FIX,
2845    "Turned off scaling for Best Index in output dset",
2846    NULL
2847   } ,
2848 
2849  { 26, OCT , 2011 , ZSS , "suma" , MICRO , TYPE_NEW_OPT,
2850    "Made SUMA hide overlay from SUMA whenever 'See Overlay' is off in AFNI",
2851    NULL
2852   } ,
2853 
2854  { 26, OCT , 2011 , ZSS , "afni" , MICRO , TYPE_BUG_FIX,
2855    "Fixed bug where AFNI sent the max voxel to suma despite threshold",
2856    "In BYTE and SHORT datasets the maximum voxel always got sent to\n"
2857    "suma, even if the threshold was higher than the maximum value in\n"
2858    "the dataset.\n"
2859   } ,
2860 
2861  { 18, OCT , 2011 , ZSS , "afni" , MICRO , TYPE_NEW_OPT,
2862    "Added -available_npb* options to suggest available port blocks",
2863    NULL
2864   } ,
2865 
2866  { 14, OCT , 2011 , ZSS , "afni-general" , MINOR , TYPE_GENERAL,
2867    "Improvements of atlas handling in whereami and afni",
2868    "1- In addition to loading atlas specs from environment variable\n"
2869    "AFNI_SUPP_ATLAS, AFNI will automatically search for a file\n"
2870    "named  SessionAtlases.niml which is created with @MakeLabelTable.\n"
2871    "2- AFNI will check if a viewed dataset is an atlas and will\n"
2872    "automatically add it to the atlas list. It will also show the label at \n"
2873    "the cross-hair location.\n"
2874    "New functions of interest:\n"
2875    "  get_Atlas_ByDsetID, is_Dset_Atlasy, \n"
2876    "  label_table_to_atlas_point_list, is_identity_xform_chain\n"
2877   } ,
2878 
2879  { 13, OCT , 2011 , ZSS , "whereami" , MINOR , TYPE_BUG_FIX,
2880    "-omask failed if atlas was stored in float type.",
2881    NULL
2882   } ,
2883 
2884  { 13, OCT , 2011 , ZSS , "3drefit" , MINOR , TYPE_BUG_FIX,
2885    "Added support for -atrstring operation on NIFTI datasets ",
2886    "This required making changes to THD_init_diskptr_names functions\n"
2887    "and a few more of its colleagues."
2888   } ,
2889 
2890  { 11, OCT , 2011 , ZSS , "@auto_tlrc" , MINOR , TYPE_NEW_OPT,
2891    "Added support for NIFTI datasets",
2892    NULL
2893   } ,
2894 
2895  { 11, OCT , 2011 , ZSS , "3dinfo" , MINOR , TYPE_NEW_OPT,
2896    "Added new options for extracting field values in scripts",
2897    NULL
2898   } ,
2899 
2900  { 4, OCT , 2011 , ZSS , "CreateIcosahedron" , MICRO , TYPE_NEW_OPT,
2901    "Added -min_nodes option",
2902    NULL
2903   } ,
2904 
2905  { 4, OCT , 2011 , ZSS , "GroupAna" , MINOR , TYPE_NEW_OPT,
2906    "Added support for writing NIML files as output",
2907    "This also required writing a few new matlab functions such as\n"
2908    " BrikInfo_2_niml_writesimple."
2909  } ,
2910 
2911  { 1, AUG , 2011 , ZSS , "Draw Dataset" , MINOR , TYPE_MODIFY,
2912    "Changed the gap selection to arrows to allow for much larger gaps",
2913    NULL
2914   } ,
2915 
2916  { 1, AUG , 2011 , ZSS , "whereami" , MINOR , TYPE_BUG_FIX,
2917    "Whereami's symbolic notation failed with float valued atlases",
2918    "This is now fixed. Code also checks for scale factors.\n"
2919    "There was another bug waiting to happen with:\n"
2920    "!is_Atlas_Named(atlas, \"CA_N27_PM\"), which is now:\n"
2921    "!is_probabilistic_atlas(atlas)\n"
2922   } ,
2923 
2924  { 22, JUL , 2011 , ZSS , "afni" , MICRO , TYPE_NEW_ENV,
2925    "Added AFNI_TIME_LOCK to turn on AFNI's Time Lock by default",
2926    NULL
2927   } ,
2928 
2929  { 20, JUL , 2011 , ZSS , "1dcat" , MICRO , TYPE_NEW_OPT,
2930    "added -sel option to 1dcat",
2931    "with -sel one can apply the same selection of columns and rows\n"
2932    "to all files on the command line, allowing the use of wildcards\n"
2933    "when specifying input 1D files.\n"
2934   } ,
2935 
2936  { 24, JUN , 2011 , ZSS , "afni-general" , MICRO , TYPE_NEW_OPT,
2937    "added global option -pif which is used to flag certain commands.",
2938    "-pif PROCESS_ID_FLAG is used to flag a particular AFNI command\n"
2939    "so that you can identify from the shell that command's process id\n"
2940    "by grepping for PROCESS_ID_FLAG on the output of 'ps -a'.\n"
2941   } ,
2942 
2943  { 20, JUN , 2011 , ZSS , "@ROI_Corr_Mat" , MICRO , TYPE_BUG_FIX,
2944    "added support for +tlrc input, more debugging messages, -echo option.",
2945    NULL
2946   } ,
2947 
2948  { 20, JUN , 2011 , ZSS , "3drename" , MICRO , TYPE_NEW_OPT,
2949    "added support for -overwrite",
2950    NULL
2951   } ,
2952 
2953  { 16, JUN , 2011 , ZSS , "3dSurfMask" , MAJOR , TYPE_NEW_OPT,
2954    "Major improvements for mask creation and voxel distance computations",
2955    "Option -fill_method SLOW produces more accurate masks for voxels\n"
2956    "inside the closed surface. In addition, the program outputs a dataset\n"
2957    "with the shortest distance of each voxel to the surface.\n"
2958    "See examples under 3dSurfMask -help."
2959   } ,
2960 
2961  { 16, JUN , 2011 , ZSS , "SurfPatch" , MINOR , TYPE_NEW_OPT,
2962    "-flip_orientation allows for reversing triangle orientation.",
2963    "See new examples under SurfPatch -help"
2964  } ,
2965 
2966  { 16, JUN , 2011 , ZSS , "SurfPatch" , MINOR , TYPE_BUG_FIX,
2967    "No longer complains about not finding seed in cases where it should.",
2968    NULL
2969   } ,
2970 
2971  { 8, JUN , 2011 , ZSS , "@FSlabel2dset" , MINOR , TYPE_NEW_PROG,
2972    "Script to change FreeSurfer ascii label file to SUMA dset",
2973    NULL
2974   } ,
2975 
2976  { 8, JUN , 2011 , ZSS , "afni-general" , MAJOR , TYPE_NEW_OPT,
2977    "Added -npb and modified title bar to reflect bloc of ports",
2978    "You can have multiple instances of programs talking to each other.\n"
2979    "See afni's help for details on the -npb option."
2980   } ,
2981 
2982  { 7, JUN , 2011 , ZSS , "afni" , MINOR , TYPE_NEW_OPT,
2983    "Added 'w' key for writing out colormap to disk.",
2984    "See suma's help for the colormap.\n"
2985    "(press ctrl+h with cursor over the colormap in the surface controller)"
2986   } ,
2987 
2988  { 7, JUN , 2011 , ZSS , "afni-general" , MAJOR , TYPE_NEW_OPT,
2989    "Allow multiple instances of communicating programs per machine.",
2990    "This was done by generalizing option -np PORT_OFFSET which \n"
2991    "allows users to use a different set of ports for different AFNI/SUMA/etc.\n"
2992    "sessions."
2993    "Port numbers should no longer be hard coded anywhere. New dedicated\n"
2994    "ports should be added to then new init_ports_list() function."
2995   } ,
2996 
2997  { 7, JUN , 2011 , ZSS , "afni" , MICRO , TYPE_NEW_OPT,
2998    "-list_ports, -port_number* give port assignment information",
2999    "See afni -help for details."
3000   } ,
3001 
3002  { 7, JUN , 2011 , ZSS , "suma" , MICRO , TYPE_NEW_OPT,
3003    "-np, -list_ports, -port_number* control and report port assignments",
3004    "See suma -help for details."
3005   } ,
3006 
3007  { 19, MAY , 2011 , ZSS , "@RetinoProc" , MINOR , TYPE_NEW_OPT,
3008    "Added support for multiple reference time series.",
3009    "Search for -var* options in @RetinoProc -help.\n"
3010   } ,
3011 
3012  { 19, MAY , 2011 , ZSS , "3dRetinoPhase" , MINOR , TYPE_NEW_OPT,
3013    "Added option to use best of multiple reference time series.",
3014    "Search for -multi_ref_ts in 3dRetinoPhase -help\n"
3015  } ,
3016 
3017  { 18, MAY , 2011 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
3018    "Node value now updates when switching dsets while viewing surf patches.\n",
3019    NULL,
3020   } ,
3021 
3022  { 18, MAY , 2011 , ZSS , "@RetinoProc" , MAJOR , TYPE_NEW_OPT,
3023    "Added options for mapping to specific layers, and the use of delay",
3024    "The options -wm, -pial, etc. allow for tight control of mapping\n"
3025    "onto specific layers in the cortex.\n"
3026    "Option -delay improves latency estimation compare to using the phase\n"
3027    "of the fundamental frequency.\n"
3028   } ,
3029 
3030   { 18, MAY , 2011 , ZSS , "SurfRetinoMap" , MINOR , TYPE_MODIFY,
3031    "Added a correlation coefficient with VFR output. \n",
3032    NULL,
3033   } ,
3034 
3035  { 18, MAY , 2011 , ZSS , "3dRetinoPhase" , MAJOR , TYPE_NEW_OPT,
3036    "Added options to 3dRetinoPhase to estimate latency as in 3ddelay \n",
3037    "The two options for computing delays, instead of phase, are \n"
3038    "-phase_estimate DELAY, and -ref_ts REF_TS . See program's -help for \n"
3039    "details.\n"
3040    "Also added -ort_adjust which is needed to account for lost DOF in \n"
3041    "external detrending when estimating the significance of correlation \n"
3042    "coefficients with delay estimation.\n"
3043    "The program now output a correlation coefficient with the visual field\n"
3044    "angles datasets. \n"
3045    "And speaking of correlation coefficients, the significance levels should\n"
3046    "be taken with a grain of salt, especially in derived datasets such as \n"
3047    "field angle, and VFR in SurfRetinoMap.\n"
3048   } ,
3049 
3050  { 18, MAY , 2011 , ZSS , "3ddelay" , MINOR , TYPE_NEW_OPT,
3051    "Added options to 3ddelay to improve its utility for retinotopy analysis",
3052    "The new options are -phzreverse and -phzscale. Though useful, you are\n"
3053    "better off using 3dRetinoPhase -phase_estimate DELAY option. It is much\n"
3054    "more convenient for retinotopy analysis and fits better in @RetinoProc\n"
3055   } ,
3056 
3057  { 25, APR , 2011 , ZSS , "afni-general" , MAJOR , TYPE_MODIFY,
3058    "Major reorganization of 'whereami' functionality.",
3059    "The code changes affect anything related to atlas datasets and whereami\n"
3060    "functionality. The changes were made take advantage of Daniel Glen's new\n"
3061    "API to handle atlas, space, and template definitions.\n"
3062    "There is now very little reliance on hard coded atlas information in the\n"
3063    "source code. Whatever is left is needed to ensure backward compatibility.\n"
3064   } ,
3065 
3066  { 8, APR , 2011 , ZSS , "3dLocalstat" , MINOR , TYPE_NEW_OPT,
3067    "Added options -reduce* to compute results on reduced grid",
3068    "This would help in speeding up the computing of stats over large regions\n"
3069    "without paying too high a premium on processor time. \n"
3070    "Changes were made in 3dLocalstat.c and mri_nstats.c. \n"
3071    "Micro modification in r_new_resam.c's r_new_resam_dset."
3072   } ,
3073 
3074  { 29, MAR , 2011 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
3075    "Fixed bug in default view of flat surfaces.",
3076    "The problem manifested itself when large rotations were present\n"
3077    "in the transform of the sv volume, resulting in flat meshes\n"
3078    "being incorrectly labeled as spherical."
3079  } ,
3080 
3081  { 29, MAR , 2011 , ZSS , "ConvexHull" , MINOR , TYPE_BUG_FIX,
3082    "Fixed error with proj_xy option.",
3083    NULL
3084  } ,
3085 
3086  { 29, MAR , 2011 , ZSS , "afni-general" , MINOR , TYPE_MODIFY,
3087    "Basic support for HTTP/1.1",
3088    "See functions read_URL_http11, and page_* in thd_http.c."
3089  } ,
3090 
3091  { 22, MAR , 2011 , ZSS , "afni-general" , MICRO , TYPE_NEW_ENV,
3092    "AFNI_NIFTI_TYPE_WARN controls frequency of NIFTI type conversion warnings",
3093    "Default is to warn once per session. \n"
3094    "Search for AFNI_NIFTI_TYPE_WARN in README.environment for details."
3095  } ,
3096 
3097  { 22, MAR , 2011 , ZSS , "3dhistog" , MINOR , TYPE_NEW_OPT,
3098    "-roi_mask allows creation of separate histogram for each ROI in mask.",
3099    NULL
3100  } ,
3101 
3102  { 27, JAN , 2011 , ZSS , "afni" , MICRO , TYPE_BUG_FIX,
3103    "Fixed problem in THD_add_bricks when dset in AFNI is not malloc-ed.",
3104    NULL
3105  } ,
3106 
3107  { 26, JAN , 2011 , ZSS , "afni" , MICRO , TYPE_MODIFY,
3108    "Made THD_add_bricks add labels to new bricks ",
3109    NULL
3110  } ,
3111 
3112  { 25, JAN , 2011 , ZSS , "suma" , MICRO , TYPE_MODIFY,
3113    "Improved logic for assigning ROI parent.",
3114    NULL
3115  } ,
3116 
3117  { 4, JAN , 2011 , ZSS , "SurfFWHM" , MINOR , TYPE_BUG_FIX,
3118    "Fixed SurfFWHM which had the same masking problem as SurfSmooth.",
3119    NULL
3120  } ,
3121 
3122  { 4, JAN , 2011 , ZSS , "SurfSmooth" , MINOR , TYPE_BUG_FIX,
3123    "Fixed SurfSmooth to work with the combination HEAT07+Sparse Dsets+cmask ",
3124    "The problem was caused by a bad masking operation at the detrending\n"
3125    "function when sparse datasets with cmask option are used. The detrending\n"
3126    "is used to estimate the FWHM in the blurmaster. As a result, SurfSmooth \n"
3127    "would not converge under such circumstances.\n"
3128    "In addition there was an optimizer related bug in the macro SUMA_COL_FILL\n"
3129    "Thanks to Christopher Ackerman from JHMI for reporting the bug."
3130  } ,
3131 
3132  { 3, JAN , 2011 , ZSS , "afni-general" , MICRO , TYPE_BUG_FIX,
3133    "Modified decode_*linebuf to better treat the 'i' character in 1D files",
3134    NULL
3135  } ,
3136 
3137  { 3, JAN , 2011 , ZSS , "3dUniformize" , MINOR , TYPE_NEW_OPT,
3138    "Changed 3dUniformize to accept byte, short, or float input.",
3139    "These changes also avoid data clipping that was necessary\n"
3140    "when output data was handled as shorts.\n"
3141    "The output format is similar to that of the input.\n"
3142    "-auto_clip is now the default.\n"
3143  } ,
3144 
3145  { 21, DEC , 2010 , ZSS , "@help.AFNI" , MINOR , TYPE_NEW_PROG,
3146    "A simple script to look at AFNI's all help page",
3147    NULL
3148  } ,
3149 
3150  { 10, DEC , 2010 , ZSS , "3BrickStat" , MINOR , TYPE_NEW_OPT,
3151    "Added -mrange and -mvalue options to 3dBrickStat",
3152    NULL
3153  } ,
3154 
3155  { 9, DEC , 2010 , ZSS , "3dhistog" , MINOR , TYPE_NEW_OPT,
3156    "Made 3dhistog output NIML 1D format with -prefix option",
3157    "With -prefix's output users can get properly labeled \n"
3158    "output with a simple command like 1dRplot -input hist.1D"
3159  } ,
3160 
3161  { 2, DEC , 2010 , ZSS , "afni" , MICRO , TYPE_MODIFY,
3162    "Made afni startup with two windows when no layout is present",
3163    NULL
3164  } ,
3165 
3166  { 24, NOV , 2010 , ZSS , "3dTcat" , MICRO , TYPE_BUG_FIX,
3167    "3dTcat was forcing sub-brick selection at times",
3168    "Say each of dset1 and dset2 has 10 subbricks. \n"
3169    "A command like this:\n"
3170    " 3dTcat dset1+orig[0..8] dset2+orig \n"
3171    "used to produce a dataset that is 18 sub-bricks, not\n"
3172    "19. That is because the [0..8] selection was applied\n"
3173    "to dset1 and all subsequent dsets on the command that\n"
3174    "did not explicitly have selectors in their name."
3175  } ,
3176 
3177  { 22, NOV , 2010 , ZSS , "3dRowFillin" , MINOR , TYPE_NEW_OPT,
3178    "Added XYZ.OR, and XYZ.AND to 3dRowFillin",
3179    NULL
3180  } ,
3181 
3182  { 16, NOV , 2010 , ZSS , "ExamineXmat" , MINOR , TYPE_NEW_OPT,
3183    "A major rewrite of ExamineXmat",
3184    "see ExamineXmat -help for details"
3185  } ,
3186 
3187  { 5, NOV , 2010 , ZSS , "niccc" , MINOR , TYPE_NEW_OPT,
3188    "Added -attribute, -match, and -f options to niccc",
3189    "See niccc -help for details."
3190  } ,
3191 
3192  { 5, NOV , 2010 , ZSS , "3dkmeans" , MAJOR , TYPE_NEW_PROG,
3193    "3dkmeans is a program for performing kmeans clustering",
3194    "Program was written by A. Vovk and Z. Saad, based on \n"
3195    "  The C clustering library.\n"
3196    "Copyright (C) 2002 Michiel Jan Laurens de Hoon.\n"
3197    "See suma -sources for copyright details\n"
3198    "\n"
3199    "See 3dkmeans -help for usage details.\n"
3200  } ,
3201 
3202  { 1, NOV , 2010 , ZSS , "3dBrickStat" , MINOR , TYPE_BUG_FIX,
3203    "3dBrickStat's precentile option did not work with byte datasets",
3204    NULL
3205  } ,
3206 
3207  { 29, OCT , 2010 , ZSS , "@ElectroGrid" , MINOR , TYPE_NEW_PROG,
3208    "A script for facilitating ECOG grid creation",
3209    NULL
3210  } ,
3211 
3212  { 28, OCT , 2010 , ZSS , "@RegroupLabels" , MINOR , TYPE_NEW_PROG,
3213    "A script for regrouping label datasets",
3214    NULL
3215  } ,
3216 
3217  { 28, OCT , 2010 , ZSS , "3dcopy" , MICRO , TYPE_NEW_OPT,
3218    "Support for -overwrite",
3219    NULL
3220  } ,
3221 
3222  { 22, OCT , 2010 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
3223    "Fixed rendering of spheres, which were affected by ambient light.",
3224    "Thanks to MSB for the complaint."
3225  } ,
3226 
3227  { 22, OCT , 2010 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT,
3228    "Added -RenderMode option to control how a surface is rendered",
3229    "This option is the same as Surface Controller-->RenderMode menu"
3230  } ,
3231 
3232  { 22, OCT , 2010 , ZSS , "ConvexHull" , MINOR , TYPE_NEW_OPT,
3233    "Added -q_opt option to allow for delaunay triangulation of 2D coordinates",
3234    "This new option makes it easy to create a surface from a set\n"
3235    "of ECOG electrodes.\n"
3236  } ,
3237 
3238  { 22, OCT , 2010 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
3239    "Added NodeMarker field to the spec file",
3240    "The NodeMarker is a NIDO object that gets replicated at all nodes.\n"
3241    "Replicated markers inherit the color of the nodes IF the NodeMarker\n"
3242    "has no color attribute.\n"
3243  } ,
3244 
3245  { 20, OCT , 2010 , ZSS , "niccc" , MICRO , TYPE_NEW_PROG,
3246    "Started making niccc as part of the default compilation",
3247    "The program, originally written by Bob, \n"
3248    "is useful for testing NIML functions"
3249  } ,
3250 
3251  { 20, OCT , 2010 , ZSS , "afni-general" , MINOR , TYPE_MODIFY,
3252    "Added NI_duplicate* functions to niml",
3253    NULL
3254  } ,
3255 
3256  { 19, OCT , 2010 , ZSS , "3dcopy" , MINOR , TYPE_MODIFY,
3257    "Allowed 3dcopy to take . or ./ as output options",
3258    "Other changes make the error message a little more\n"
3259    "informative\n"
3260  } ,
3261 
3262  { 27, SEP , 2010 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
3263    "Began code changes to allow for volume rendering",
3264    "Changes mostly involve SUMA_volume_render.c and were\n"
3265    "made with Joachim Bottger's help. Of note is the addition"
3266    "of the Volume Object structure SUMA_VolumeObject.\n"
3267  } ,
3268 
3269  { 18, SEP , 2010 , ZSS , "DriveSuma" , MICRO , TYPE_NEW_OPT,
3270    "Added -Dsp option to allow control of Dset display mode",
3271    NULL
3272  } ,
3273 
3274  { 7, SEP , 2010 , ZSS , "3dRetinoPhase" , MINOR , TYPE_BUG_FIX,
3275    "Fixed crash caused by bad function prototype.",
3276    "Crash only occurred on linux. Thanks to P. J. Kohler for \n"
3277    "tests and bug report.\n"
3278  } ,
3279 
3280  { 3, SEP , 2010 , ZSS , "@SUMA_Make_Spec_FS" , MINOR , TYPE_NEW_OPT,
3281    "Script now process v1.label files from FreeSurfer",
3282    "The output is two datasets per hemisphere, one for the ??.v1.prob.label\n"
3283    "and one for the ??.v1.predict.label.\n"
3284  } ,
3285 
3286  { 3, SEP , 2010 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
3287    "Fixed inappropriate read in SUMA_Draw_SO_Dset_Contours",
3288    "This bug had caused a crash on one machine, but had the potential\n"
3289    "for bad surprises in the future.\n"
3290  } ,
3291 
3292  { 26, AUG , 2010 , ZSS , "@auto_tlrc" , MAJOR , TYPE_BUG_FIX,
3293    "Fixed bug in @auto_tlrc in usage 2 mode AND with no suffix",
3294 "There was a bug in @auto_tlrc  for the last 2 months: \n"
3295 "   from June 30, 2010 until  August 26, 2010. \n"
3296 "\n"
3297 "It occurs only when using auto_tlrc in: \n"
3298 "  usage 2 mode \n"
3299 "        AND \n"
3300 "  with -suffix omitted, or set to NONE.\n"
3301 "\n"
3302 "This bug does not affect your data if you had used adwarp -apar, \n"
3303 "  or if you put your data in TLRC space via afni_proc.py, \n"
3304 "  or align_epi_anat.py.\n"
3305 "\n"
3306 "The bug essentially results in a renaming of your follower dataset, \n"
3307 " without the spatial transformation. So, if you were applying the \n"
3308 " transform to epi+orig, it practically got renamed to epi+tlrc. \n"
3309 " Despite the +tlrc in the name, epi+tlrc would still be in +orig \n"
3310 " view and you no longer have epi+orig on disk. \n"
3311 "   \n"
3312 "Examples of affected commands would be:\n"
3313 "	@auto_tlrc  -apar anat+tlrc 	               -input epi+orig \n"
3314 "or\n"
3315 "	@auto_tlrc  -apar anat+tlrc 	-suffix NONE   -input epi+orig  \n"
3316 "\n"
3317 "The script did produce Error messages but it failed to stop.\n"
3318 "\n"
3319 "If you think you ran the buggy command (a clear symptom would be \n"
3320 "missing +orig datasets AND bad alignment in TLRC of course), you \n"
3321 "must download the latest binaries and rerun @auto_tlrc after you \n"
3322 "have recreated the +orig files. You can also just get @auto_tlrc \n"
3323 "at the link below.\n"
3324 "\n"
3325 "Sorry for this, I had tested complicated option combinations on \n"
3326 "the last release, but all tests had used the -suffix option.\n"
3327 "(<https://afni.nimh.nih.gov/afni/community/board/read.php?f=1&i=34139&t=34139>)"
3328 "\n"
3329 "\n"
3330 "Binaries postdating this message will contain the new script. \n"
3331 "You can also get a corrected version of @auto_tlrc at this link:\n"
3332 "<https://afni.nimh.nih.gov/sscc/staff/ziad/Misc_Download/tmp/@auto_tlrc>\n"
3333 "\n"
3334 "Thanks To James Blair for finding the bug.\n"
3335  } ,
3336 
3337  { 25, AUG , 2010 , ZSS , "ConvertDset" , MICRO , TYPE_NEW_OPT,
3338    "Added -no_history option",
3339    NULL
3340  } ,
3341 
3342  { 24, AUG , 2010 , ZSS , "suma" , MINOR , TYPE_MODIFY,
3343    "Improved SUMA's DotXform (InstaCorr) and GroupInCorr interface",
3344    "Changed interface so that shft+ctrl+right click is needed to initiate \n"
3345    "callback. This makes it consistent with AFNI's interface.\n"
3346    "shft+ctrl+right click and drag now a little faster.\n"
3347  } ,
3348 
3349  { 23, AUG , 2010 , ZSS , "suma" , MINOR , TYPE_MODIFY,
3350    "Fixed bug in sub-brick selection lists",
3351    "Before the bug fix, once a sub-brick selection list was open\n"
3352    "(right-click on 'I', 'T', or 'B') for one dataset, it never got\n"
3353    "updated after switching to another dataset, rendering it quite useless.\n"
3354    "Thanks to Adam Greenberg for reporting the error.\n"
3355  } ,
3356 
3357  { 23, AUG , 2010 , ZSS , "suma" , MINOR , TYPE_MODIFY,
3358    "SUMA now detects retinotopy results and displays them appropriately",
3359    NULL
3360  } ,
3361 
3362  { 23, AUG , 2010 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
3363    "Shift+Ctrl left, right rotates surface about Z axis",
3364    "Useful for rotating flat surfaces"
3365  } ,
3366 
3367   { 23, AUG , 2010 , ZSS , "suma" , MINOR , TYPE_NEW_ENV,
3368    "Allow users to specify colormaps for retinotopy results",
3369    "See help section for variables:\n"
3370    "  SUMA_RetinoAngle_DsetColorMap and SUMA_VFR_DsetColorMap\n"
3371    "in your ~/.sumarc, after running suma -update_env.\n"
3372  } ,
3373 
3374   { 23, AUG , 2010 , ZSS , "@RetinoProc" , MAJOR , TYPE_NEW_PROG,
3375    "Packages processing step for phase-based retinotopic mapping.",
3376    "See @RetinoProc -help for details\n"
3377  } ,
3378 
3379   { 23, AUG , 2010 , ZSS , "3dRetinoPhase" , MAJOR , TYPE_NEW_PROG,
3380    "Calculate visual field angle from phase-based retinotopy data.",
3381    NULL
3382  } ,
3383 
3384   { 23, AUG , 2010 , ZSS , "SurfRetinoMap" , MAJOR , TYPE_NEW_PROG,
3385    "Calculates Visual Field Signs from visual field angle data",
3386    NULL
3387   } ,
3388 
3389   { 23, AUG , 2010 , ZSS , "@SUMA_Make_Spec_FS" , MICRO , TYPE_MODIFY,
3390    "Script now looks for brain envelope surface from FreeSurfer",
3391    "Thanks to Mike Beauchamp for the modification."
3392   } ,
3393 
3394  { 18, AUG , 2010 , ZSS , "@DriveSuma" , MINOR , TYPE_MODIFY,
3395    "Improvements to @DriveSuma to make it more didactic",
3396    NULL
3397  } ,
3398 
3399  { 18, AUG , 2010 , ZSS , "DriveSuma" , MICRO , TYPE_MODIFY,
3400    "Added -echo_edu option for edification purposes",
3401    NULL
3402  } ,
3403 
3404  { 9, AUG , 2010 , ZSS , "suma-general" , MICRO , TYPE_NEW_OPT,
3405    "Allows reading 5-column colormaps",
3406    NULL
3407  } ,
3408 
3409  { 9, AUG , 2010 , ZSS , "MapIcosahedron" , MICRO , TYPE_BUG_FIX,
3410    "Changed 2 sprintf lines writing and reading from same address.",
3411    NULL
3412  } ,
3413 
3414  { 6, AUG , 2010 , ZSS , "3dSetupGroupInCorr" , MINOR , TYPE_BUG_FIX,
3415    "Fixed bug with LRpairs when time series had different lengths.",
3416    "Also fixed minor bug with error message about data size"
3417  } ,
3418 
3419  { 6, AUG , 2010 , ZSS , "afni" , MICRO , TYPE_BUG_FIX,
3420    "Tiny changes to functions prettyfying numeric output"
3421    "Particularly functions approximate_number_string, and \n"
3422    "commaized_integer_string, and macro MEMORY_CHECK in 3dREMLfit"
3423  } ,
3424 
3425  { 5, AUG , 2010 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
3426    "Fixed crash when using group instant correlation on 1 surface.",
3427    NULL
3428  } ,
3429 
3430  { 2, AUG , 2010 , ZSS , "suma" , MICRO , TYPE_BUG_FIX,
3431    "Fixed default naming for interactive dsets.",
3432    "The older naming, based on label, rather than filename\n"
3433    "created some conflicts under certain cases.\n"
3434    "Repair job in SUMA_dot_product."
3435  } ,
3436 
3437  { 28, JUL , 2010 , ZSS , "plugout_drive" , MINOR , TYPE_NEW_OPT,
3438    "Added SET_INDEX to plugout_drive",
3439    NULL
3440  } ,
3441 
3442  { 26, JUL , 2010 , ZSS , "3dclust" , MINOR , TYPE_BUG_FIX,
3443    "Mean calculations were off for large clusters with large values.",
3444    NULL
3445  } ,
3446 
3447  { 8, JUL , 2010 , ZSS , "suma" , MINOR , TYPE_BUG_FIX,
3448    "Fixed striping with contour objects",
3449    NULL
3450  } ,
3451 
3452  { 6, JUL , 2010 , ZSS , "suma" , MINOR , TYPE_NEW_ENV,
3453    "Added SUMA_Cmaps_Dir to point to directory with colormaps",
3454    "With this environment variable, users can point to a \n"
3455    "directory containing SUMA colormaps (*.cmap) that should\n"
3456    "be made available to SUMA. For help on colormap file formats,\n"
3457    "open a surface controller ('View'-->'Surface Controller'), \n"
3458    "click on BHelp (bottom left) and then click on 'New' button\n"
3459    "which is to the right of the colormap selector."
3460  } ,
3461 
3462  { 1, JUL , 2010 , ZSS , "SurfToSurf" , MINOR , TYPE_NEW_OPT,
3463    "Added -mapfile option, allowing SurfToSurf to reuse an existing mapping.",
3464    NULL
3465  } ,
3466 
3467  { 30 , JUN , 2010 , ZSS , "@auto_tlrc" , MINOR , TYPE_MODIFY,
3468    "Added -onewarp, and -init_xform to @auto_tlrc",
3469 "I have made some small improvements to @auto_tlrc, but avoided changing \n"
3470 "its default operation, except in one case.\n"
3471 "\n"
3472 "In 'Usage 2', the old version performed two resampling operations. One in \n" "3dWarp with the default quintic kernel, the other in 3dresample with the \n"
3473 "Bk kernel. The new version can perform only one resampling thereby  \n"
3474 "reducing the smoothness of the final result. To change from the default\n"
3475 "behavior,use the new option -onewarp. "
3476 "\n"
3477 "The help output of the old version stated that -rmode controlled the \n"
3478 "interpolation kernel in 'Usage 1'. That was not the case. In Usage 1,\n"
3479 "interpolation was always linear. It remains so in the current version,\n"
3480 "but the -rmode option can now be used to change the kernel.\n"
3481 "\n"
3482 "The change in default operation between this version and the previous \n"
3483 "concerns 'Usage 1'. In the old version, the brain was skull stripped, AND\n"
3484 "its intensities adjusted by 3dSkullStrip. It was this adjusted brain that\n"
3485 "was then output in TLRC space. In other terms, the output was with \n"
3486 "no skull, but its values differed from those of the input.\n"
3487 "This is no longer the case. In the current version, you will \n"
3488 "get a skull-stripped version of the input in TLRC space \n"
3489 "(no intensity adjustment).\n"
3490 "Behavior of the -warp_orig_vol is unchanged.\n"
3491 "This change in 'Usage 1' does not affect the registration transform, \n"
3492 "nor 'Usage 2'.\n"
3493 "If you insist on the old mode of operation, then contact me and I will \n"
3494 "send you an older version of @auto_tlrc."
3495  } ,
3496 
3497  { 25 , MAY , 2010 , ZSS , "suma" , MINOR , TYPE_NEW_OPT,
3498    "Added click and drag for third mouse button",
3499    NULL
3500  } ,
3501 
3502  { 21 , MAY , 2010 , ZSS , "SurfToSurf" , MINOR , TYPE_NEW_OPT,
3503    "Added -dset option to take in niml dsets",
3504    NULL
3505  } ,
3506 
3507  { 4 , MAY , 2010 , ZSS , "3dROIstats" , MINOR , TYPE_NEW_OPT,
3508    "Added -nzsigma to 3dROIstats",
3509    NULL
3510  } ,
3511 
3512  { 4 , MAY , 2010 , ZSS , "1dtranspose" , MICRO , TYPE_NEW_OPT,
3513    "Allowed 1dtranspose to accept -overwrite",
3514    "The main reason for this is to allow such a command:\n"
3515    "  1dtranspose -overwrite FILE.1D FILE.1D\n"
3516    "without having to create temporary files."
3517  } ,
3518 
3519  { 2 , MAY , 2010 , ZSS , "afni" , MICRO , TYPE_BUG_FIX,
3520    "Fixed Instacorr update failure when A_ICOR dset is present on disk.",
3521    NULL
3522  } ,
3523 
3524  { 29 , APR , 2010 , ZSS , "3dMean" , MICRO , TYPE_MODIFY,
3525    "Allowed program to work with only one dset for input.",
3526    NULL
3527  } ,
3528 
3529  { 21 , APR , 2010 , ZSS , "3ddelay" , MINOR , TYPE_BUG_FIX,
3530    "-nodtrnd option was setting polort to 1, as opposed to 0.",
3531    NULL
3532  } ,
3533 
3534  { 16 , APR , 2010 , ZSS , "3dbucket" , MINOR , TYPE_NEW_OPT,
3535    "-agluto option = amalgamated -prefix and -glueto",
3536    NULL
3537  } ,
3538 
3539  { 12 , APR , 2010 , ZSS , "afni" , MINOR , TYPE_BUG_FIX,
3540    "Added AFNI_GUI_WRITE_AS_DECONFLICT to modify interactive 'Write' overwrite.",
3541    "The default is to have the interactive 'Write' buttons overwrite exisiting\n"
3542    "volumes. If this env variable is set to YES, the 'Write' behaviour follows\n"
3543    "env AFNI_DECONFLICT\n"
3544  } ,
3545 
3546  { 12 , APR , 2010 , ZSS , "afni" , MINOR , TYPE_BUG_FIX,
3547    "Made InstaCorr SeedJump work with GroupInCorr",
3548    NULL
3549  } ,
3550 
3551  { 23 , MAR , 2010 , ZSS , "1dplot" , MINOR , TYPE_NEW_OPT,
3552    "Added -jpgs, and -pngs to allow easier size setup.",
3553    NULL
3554  } ,
3555 
3556  { 23 , MAR , 2010 , ZSS , "1dplot" , MICRO , TYPE_BUG_FIX,
3557    "Fixed unreported bug related to wintitle variable.",
3558    NULL
3559  } ,
3560 
3561  { 19 , MAR , 2010 , ZSS , "SurfDist" , MINOR , TYPE_NEW_OPT,
3562    "Added option to calculate Euclidian distance",
3563    NULL
3564  } ,
3565 
3566  { 18 , MAR , 2010 , ZSS , "RetroTS" , MINOR , TYPE_BUG_FIX ,
3567    "Fixed crash in function remove_PNduplicates",
3568    NULL
3569  } ,
3570 
3571  { 16 , MAR , 2010 , ZSS , "3dcalc" , MINOR , TYPE_NEW_OPT ,
3572    "-within option to test Min <= X <= Max",
3573    NULL
3574  } ,
3575 
3576  { 9 , MAR , 2010 , ZSS , "3dROIstats" , MINOR , TYPE_NEW_OPT ,
3577    "-nomeanout to get rid of mean in output",
3578    NULL
3579  } ,
3580 
3581  { 9 , MAR , 2010 , ZSS , "3dclust" , MINOR , TYPE_BUG_FIX ,
3582    "-isomerge and -isovalue options were being ignored",
3583    NULL
3584  } ,
3585 
3586  { 8 , MAR , 2010 , ZSS , "3dTcat" , MINOR , TYPE_BUG_FIX ,
3587    "Program was not working with string label sub-brick selection",
3588    NULL
3589  } ,
3590 
3591  { 5 , MAR , 2010 , ZSS , "3dLocalstat" , MINOR , TYPE_NEW_OPT ,
3592    "Added -stat P2skew to calculate Pearson's second skewness coefficient",
3593    NULL
3594  } ,
3595 
3596  { 3 , MAR , 2010 , ZSS , "3dAutomask" , MINOR , TYPE_NEW_OPT ,
3597    "-depth option to determine how deep voxel is in mask",
3598    NULL
3599  } ,
3600 
3601  { 3 , MAR , 2010 , ZSS , "3dmerge" , MINOR , TYPE_NEW_OPT ,
3602    "-isomerge and -isovalue options that mimick 3dclust's options",
3603    NULL
3604  } ,
3605 
3606  { 3 , MAR , 2010 , ZSS , "3dmerge" , MINOR , TYPE_NEW_OPT ,
3607    "-1clust_depth option to determine how deep voxel is in cluster",
3608    NULL
3609  } ,
3610 
3611  { 1 , MAR , 2010 , ZSS , "@SUMA_Make_Spec_FS" , MINOR , TYPE_MODIFY ,
3612    "Script now deals with 2009, and 2005 parcellations.",
3613    NULL
3614  } ,
3615 
3616  { 1 , MAR , 2010 , ZSS , "FSread_annot" , MINOR , TYPE_MODIFY ,
3617    "Allow FSread_annot to work with 2009 parcellation results.",
3618    NULL
3619  } ,
3620 
3621  { 1 , MAR , 2010 , ZSS , "FSread_annot" , MINOR , TYPE_NEW_OPT ,
3622    "Added -FSversoin, -hemi, and -FScmap* options for 2009 parcellations",
3623    NULL
3624  } ,
3625 
3626  { 1 , MAR , 2010 , ZSS , "@FS_roi_label" , MINOR , TYPE_NEW_OPT ,
3627    "Modified -name to accept 'ALL' ",
3628    NULL
3629  } ,
3630 
3631  { 26 , FEB , 2010 , ZSS , "afni" , MINOR , TYPE_MODIFY ,
3632    "Insert Dtable structure (Label_Dtable) in dset",
3633    "Inserted Dtable structure (dset->Label_Dtable) in THD_3dim_dataset.\n"
3634    "The hash table is used to report on the label corresponding to a voxel's\n"
3635    "integer value. Inserting a label table into the header can be done\n"
3636    "with 3drefit.\n"
3637    "Labels are reported in the ULay and OLay value fields in the bottom right\n"
3638    "corner of AFNI's Define Overlay panel. The hint at that location also \n"
3639    "shows the labels, which could be quite long."
3640  } ,
3641 
3642  { 26 , FEB , 2010 , ZSS , "3drefit" , MINOR , TYPE_NEW_OPT ,
3643    "-labeltable option to add a label table to a dataset",
3644    NULL
3645  } ,
3646 
3647  { 15 , FEB , 2010 , ZSS , "afni" , MINOR , TYPE_MODIFY ,
3648    "Automatically setup range and sign for ROI colorbars",
3649    NULL
3650  } ,
3651 
3652  { 15 , FEB , 2010 , ZSS , "3dTstat" , MINOR , TYPE_NEW_OPT ,
3653    "-arg*1 options to keep from getting 0 in arg* output",
3654    NULL
3655  } ,
3656 
3657  { 15 , FEB , 2010 , ZSS , "3dTstat" , MINOR , TYPE_NEW_OPT ,
3658    "-*mask options to allow masking",
3659    NULL
3660  } ,
3661 
3662  { 12 , FEB , 2010 , ZSS , "MapIcosahedron" , MINOR , TYPE_NEW_OPT ,
3663    "-*_cut_surfaces to deal with bad triangles on standard flat surfaces",
3664    NULL
3665  } ,
3666 
3667  { 12 , FEB , 2010 , ZSS , "3dTstat" , MINOR , TYPE_NEW_OPT ,
3668    "Added -argmin1, -argmax1, -argabsmax1 options to increment argument by 1",
3669    NULL
3670  } ,
3671 
3672  { 12 , FEB , 2010 , ZSS , "suma" , MINOR , TYPE_MODIFY ,
3673    "Better setup of left and right flat surfaces.",
3674    NULL
3675  } ,
3676 
3677  { 14 , JAN , 2010 , ZSS , "3dLocalstat" , MINOR , TYPE_NEW_OPT ,
3678    "Added -rank and -frank options to 3dLocalstat",
3679    NULL
3680  } ,
3681 
3682  { 15 , DEC , 2009 , ZSS , "afni" , MINOR , TYPE_NEW_OPT ,
3683    "Allow label based sub-brick selection in AFNI and SUMA",
3684    NULL
3685  } ,
3686 
3687  { 1 , DEC , 2009 , ZSS , "suma-general" , MINOR , TYPE_BUG_FIX ,
3688    "Ignore triangles from Caret with nodes that have all zero coords",
3689    "Not doing so results in bad display of some flat meshes because\n"
3690    "the .topo file contains triangles with nodes that appear masked by\n"
3691    "0.0 0.0 0.0 in the .coord file"
3692  } ,
3693 
3694  { 1 , DEC , 2009 , ZSS , "@SUMA_Make_Spec_Caret" , MINOR , TYPE_BUG_FIX ,
3695    "Improved script to make it pick up new naming convention.",
3696    NULL
3697  } ,
3698 
3699  { 25 , NOV , 2009 , ZSS , "MapIcosahedron" , MAJOR , TYPE_NEW_OPT ,
3700    "Added -NN_dset_map and -dset_map options to map dsets onto new meshes",
3701    "The program now automatically warps LabelDsets specified in the spec\n"
3702    "file, or any dataset specified on the command line."
3703  } ,
3704 
3705  { 24 , NOV , 2009 , ZSS , "1dmatcalc" , MINOR , TYPE_NEW_OPT ,
3706    "Added &read4x4Xform to read in spatial affine transformations.",
3707    "1dmatcalc can now take in spatial affine transforms in vector\n"
3708    "or matrix form"
3709  } ,
3710 
3711  { 24 , NOV , 2009 , ZSS , "afni-matlab" , MINOR , TYPE_BUG_FIX ,
3712    "Stopped writing empty attributes which caused trouble in AFNI.",
3713    "Empty attributes make AFNI halt the parsing of the header."
3714  } ,
3715 
3716  { 23 , NOV , 2009 , ZSS , "afni" , MICRO , TYPE_BUG_FIX ,
3717    "A couple of small fixes to drive_switch functions.",
3718    "The problem with with sscanf reading past string end\n"
3719    "in certain cases."
3720  } ,
3721 
3722  { 23 , NOV , 2009 , ZSS , "suma" , MINOR , TYPE_BUG_FIX ,
3723    "Workaround for connection drop between AFNI and SUMA in Shared Memory Mode.",
3724    "Env SUMA_AttemptTalkRecover allows SUMA to recover from drop.\n"
3725    "This ENV is set by default to No."
3726  } ,
3727 
3728  { 19 , NOV , 2009 , ZSS , "suma" , MINOR , TYPE_BUG_FIX ,
3729    "Fixed recorder lag on OS X machines.",
3730    "On OS X platforms, the 'r' or 'R' recording modes\n"
3731    "used to record the previous image it seems. "
3732  } ,
3733 
3734  { 17 , NOV , 2009 , ZSS , "@SUMA_Make_Spec_FS" , MINOR , TYPE_NEW_OPT ,
3735    "Script now automatically sets up the spec file with labeled datasets",
3736    "Labeled datasets are created from annotation files,\n"
3737    "and are now rendered in a special manner in SUMA"
3738  } ,
3739 
3740  { 17 , NOV , 2009 , ZSS , "suma_general" , MINOR , TYPE_NEW_ENV ,
3741    "SUMA_AlwaysAssignSurface (see suma -environment for details)",
3742    NULL
3743  } ,
3744 
3745  { 17 , NOV , 2009 , ZSS , "suma_general" , MINOR , TYPE_NEW_ENV ,
3746    "SUMA_LabelDsetOpacity (see suma -environment for details)",
3747    NULL
3748  } ,
3749 
3750  { 17 , NOV , 2009 , ZSS , "suma_general" , MINOR , TYPE_NEW_ENV ,
3751    "SUMA_ConvexityDsetOpacity (see suma -environment for details)",
3752    NULL
3753  } ,
3754 
3755  { 17 , NOV , 2009 , ZSS , "suma_general" , MINOR , TYPE_NEW_ENV ,
3756    "SUMA_ShowLabelDsetAtStartup (see suma -environment for details)",
3757    NULL
3758  } ,
3759 
3760  { 17 , NOV , 2009 , ZSS , "ROI2dataset" , MINOR , TYPE_NEW_OPT ,
3761    "Option -label_dset creates a labeled dataset from ROIs.",
3762    "Labeled datasets are now rendered in a special manner in SUMA"
3763  } ,
3764 
3765  { 17 , NOV , 2009 , ZSS , "FSread_annot" , MINOR , TYPE_NEW_OPT ,
3766    "Option -dset creates a labeled dataset from annotation file.",
3767    "Labeled datasets are now rendered in a special manner in SUMA"
3768  } ,
3769 
3770  { 17 , NOV , 2009 , ZSS , "suma" , MAJOR , TYPE_NEW_OPT ,
3771    "SUMA now handles labeled datatets in a special manner",
3772    "An example of a labeled dataset would be FreeSurfer's annotation files.\n"
3773    "If an annotation file is present in the spec file (@SUMA_Make_Spec_FS),\n"
3774    "SUMA will display it as part of the background.\n"
3775    "You can chose to display the labeled dataset in color, contours, or both.\n"
3776    "Data from labeled datasets is now shown under the 'Lbl' field in the\n"
3777    "surface controller's Xhair block.\n"
3778  } ,
3779 
3780 
3781  { 9 , NOV , 2009 , ZSS , "SurfMeasures" , MINOR , TYPE_NEW_OPT ,
3782    "Added option for improved node volume estimation.",
3783    "The new measure, called node_volg, uses Gauss' Theorem to estimate\n"
3784    "the volume associated with a node in two isotopic surfaces. This option\n"
3785    "is more robust to surface curvature variations.\n"
3786  } ,
3787 
3788  { 9 , NOV , 2009 , ZSS , "SurfPatch" , MINOR , TYPE_NEW_OPT ,
3789    "Added options to check for, and correct 'bowties' in pathches.",
3790    "Bowties in patches result in non 2-manifold stiched surfaces whose\n"
3791    "volume cannot be caluclated. The *bowtie option deal with such cases.\n"
3792  } ,
3793 
3794  { 9 , NOV , 2009 , ZSS , "SurfPatch" , MINOR , TYPE_NEW_OPT ,
3795    "Added options to shrink patch contours at nodes not in selected nodes.",
3796    "See options -adjust_contour for details."
3797  } ,
3798 
3799  { 3 , NOV , 2009 , ZSS , "MapIcosahedron" , MICRO , TYPE_MODIFY ,
3800    "Minor code change, EdgeList was computed twice for no reason.",
3801    NULL
3802  } ,
3803 
3804  { 16 , OCT , 2009 , ZSS , "afni" , MICRO , TYPE_MODIFY ,
3805    "Turned off zeroing of uncommented text in .1D files",
3806    "You can turn this behaviour back on by setting env\n"
3807    "AFNI_1D_ZERO_TEXT to YES"
3808  } ,
3809 
3810  { 16 , OCT , 2009 , ZSS , "1dSEM" , MICRO , TYPE_MODIFY ,
3811    "Setenv AFNI_1D_ZERO_TEXT to YES  ",
3812    NULL
3813  } ,
3814 
3815  { 15 , OCT , 2009 , ZSS , "afni" , MICRO , TYPE_MODIFY ,
3816    "Manual graph scaling forces AUTOSCALE [A] off",
3817    NULL
3818  } ,
3819 
3820  { 14 , OCT , 2009 , ZSS , "suma" , MINOR , TYPE_MODIFY ,
3821    "Direct viewing of pre-processed datasets in Dot xform",
3822    NULL
3823  } ,
3824 
3825  { 14 , OCT , 2009 , ZSS , "suma" , MINOR , TYPE_MODIFY ,
3826    "New help window for Dot xform",
3827    NULL
3828  } ,
3829 
3830  { 13 , OCT , 2009 , ZSS , "ConvertSurface" , MICRO , TYPE_NEW_OPT ,
3831    "-xmat_1D allows for single row transform definition",
3832    NULL
3833  } ,
3834 
3835  { 13 , OCT , 2009 , ZSS , "quickspec" , MICRO , TYPE_NEW_OPT ,
3836    "-tsnad to allow for setting anatomical flag and local domain parent",
3837    NULL
3838  } ,
3839 
3840  { 7 , OCT , 2009 , ZSS , "1dplot" , MICRO , TYPE_NEW_OPT ,
3841    "1dplot's window frame now shows a title. See 1dplot -wintitle for details.",
3842    NULL
3843  } ,
3844 
3845  { 6 , OCT , 2009 , ZSS , "suma" , MAJOR , TYPE_BUG_FIX ,
3846    "More bug fixes related to ROI loading, and OSX's GLX problem",
3847    NULL
3848  } ,
3849 
3850  { 24 , SEP , 2009 , ZSS , "suma" , MINOR , TYPE_NEW_OPT ,
3851    "Improved the 'star' blurring interface.",
3852    NULL
3853  } ,
3854 
3855  { 24 , SEP , 2009 , ZSS , "suma" , MINOR , TYPE_NEW_ENV ,
3856    "Setup final color blurring level.",
3857    NULL
3858  } ,
3859 
3860  { 24 , SEP , 2009 , ZSS , "suma" , MAJOR , TYPE_BUG_FIX ,
3861    "Fixed crashes on OS X 10.5 caused by OS X's buggy GLX implementation",
3862    NULL
3863  } ,
3864 
3865  { 18 , SEP , 2009 , ZSS , "FSread_annot" , MINOR , TYPE_NEW_OPT ,
3866    "Allow specifying external FreeSurfer color table.",
3867    NULL
3868  } ,
3869 
3870  { 18 , SEP , 2009 , ZSS , "SurfClust" , MINOR , TYPE_NEW_OPT ,
3871    "Added option -n minnodes",
3872    NULL
3873  } ,
3874 
3875  { 14 , SEP , 2009 , ZSS , "SurfClust" , MINOR , TYPE_NEW_OPT ,
3876    "Allow specifying rmm in number of edges connecting nodes.",
3877    NULL
3878  } ,
3879 
3880  { 9 , SEP , 2009 , ZSS , "@fast_roi" , MINOR , TYPE_NEW_OPT ,
3881    "Allow @fast_roi to accept existing TLRC transformed anatomy",
3882    NULL
3883  } ,
3884 
3885  { 16 , JUL , 2009 , ZSS , "afni" , MINOR , TYPE_NEW_OPT ,
3886    "Added option to force autoscale on the graphing window",
3887    "The option is accessible by pressing 'A' in the graph window\n"
3888    "or under 'Graph->Opt->Scale->AUTO'. "
3889  } ,
3890 
3891  { 22 , MAY , 2009 , ZSS , "@FS_roi_label" , MINOR , TYPE_NEW_PROG ,
3892    "A script to get FreeSurfer parcellation and annotation labels",
3893    "The script is used to return a label associated with a FreeSurfer\n"
3894    "annotation or parcellation integer label."
3895  } ,
3896 
3897  { 21 , MAY , 2009 , ZSS , "suma" , MINOR , TYPE_BUG_FIX ,
3898    "Additional check for caret-version string",
3899    "It seems that the syntax for caret-version has changed\n"
3900    "slightly and was being missed by SUMA. As a result, Caret\n"
3901    "surfaces were not being properly aligned with the volumes."
3902  } ,
3903 
3904  { 21 , MAY , 2009 , ZSS , "imcat" , MICRO , TYPE_NEW_OPT ,
3905    "Now output a grayscale 1D version of an image",
3906    "That is done by adding a .1D to the -prefix parameter."
3907  } ,
3908 
3909  { 19 , MAY , 2009 , ZSS , "prompt_user" , MINOR , TYPE_NEW_PROG ,
3910    "Prompts user for input with an X window",
3911    NULL
3912  } ,
3913 
3914  { 19 , MAY , 2009 , ZSS , "DriveSuma" , MICRO , TYPE_NEW_OPT ,
3915    "Modified time out for DriveSuma to 5 minutes",
3916    "Time out can be controlled by environment variable SUMA_DriveSumaMaxWait"
3917  } ,
3918 
3919  { 19 , MAY , 2009 , ZSS , "@ROI_Corr_Mat" , MAJOR , TYPE_NEW_PROG ,
3920    "A script to calculate correlation matrices between ROI time series",
3921    "Calculates the correlation matrices between average time series from ROIs\n"
3922    "defined in a mask volume. Script was written with Hang Joon Jo."
3923  } ,
3924 
3925  { 19 , MAY , 2009 , ZSS , "3dROIstats" , MINOR , TYPE_NEW_OPT ,
3926    "Added -zerofill and -roisel options",
3927    "Added options to force output for empty ROIs."
3928  } ,
3929 
3930  { 19 , MAY , 2009 , ZSS , "1ddot" , MINOR , TYPE_NEW_OPT ,
3931    "Added -okzero to keep program from exiting with all zero input",
3932    "Added options to force output for empty ROIs."
3933  } ,
3934 
3935  { 8 , MAY , 2009 , ZSS , "@SUMA_Make_Spec_FS" , MINOR , TYPE_NEW_OPT ,
3936    "The script now automatically turns FS annot files to SUMA ROI files",
3937    NULL
3938  } ,
3939 
3940  { 8 , MAY , 2009 , ZSS , "suma" , MINOR , TYPE_BUG_FIX ,
3941    "Better display of ROI contours on patches",
3942    "Suma now correctly handles ROI display when the ROIs\n"
3943    "contain nodes that are not in the patch. Also, on flat surfaces,\n"
3944    "ROI contours are drawn raised so that they float over flat surfaces."
3945  } ,
3946 
3947  { 5 , MAY , 2009 , ZSS , "DriveSuma" , MINOR , TYPE_BUG_FIX ,
3948    "Added 'd' and 'j' keys",
3949    NULL
3950  } ,
3951 
3952  { 5 , MAY , 2009 , ZSS , "3dRank" , MINOR , TYPE_NEW_PROG ,
3953    "A program that substitutes a voxel's value by that value's rank",
3954    NULL
3955  } ,
3956 
3957  { 29 , APR , 2009 , ZSS , "SurfSmooth" , MINOR , TYPE_BUG_FIX ,
3958    "-detprefix_* options now do something!",
3959    NULL
3960  } ,
3961 
3962  { 29 , APR , 2009 , ZSS , "3dTcorrMap" , MINOR , TYPE_NEW_OPT ,
3963    "-VarThresh* options for obtaining counts at different thresholds",
3964    NULL
3965  } ,
3966 
3967  { 29 , APR , 2009 , ZSS , "ConvertDset" , MINOR , TYPE_NEW_OPT ,
3968    "-node_select_1D now respects node ordering",
3969    NULL
3970  } ,
3971 
3972  { 29 , APR , 2009 , ZSS , "ROI2dataset" , MINOR , TYPE_NEW_OPT ,
3973    "-nodelist* options to output node sequence forming ROI",
3974    NULL
3975  } ,
3976 
3977  { 29 , APR , 2009 , ZSS , "MapIcosahedron" , MINOR , TYPE_BUG_FIX ,
3978    "Fixed crash when using -it option for geometry smoothing",
3979    NULL
3980  } ,
3981 
3982  { 14 , APR , 2009 , ZSS , "suma-general" , MINOR , TYPE_BUG_FIX ,
3983    "niml ROI files with empty ROI no longer crash suma/ROI2dataset",
3984    NULL
3985  } ,
3986 
3987  { 6 , APR , 2009 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT ,
3988    "Added support for '.', ',', and space keys, and 'shw_0'",
3989    NULL
3990  } ,
3991 
3992  { 1 , APR , 2009 , ZSS , "suma" , MINOR , TYPE_NEW_OPT ,
3993    "Arrow keys based navigation along surface.",
3994    "See 'Alt+U-D' section in SUMA's interactive usage help.\n"
3995  } ,
3996 
3997  { 1 , APR , 2009 , ZSS , "suma" , MICRO , TYPE_NEW_ENV ,
3998    "Added SUMA_KeyNodeJump variable \n",
3999    "This variable controls number of nodes to jump with arrow keys navigation."
4000    "See suma -environment for complete list and defaults.\n"
4001  } ,
4002 
4003  { 31 , MAR , 2009 , ZSS , "suma" , MINOR , TYPE_NEW_OPT ,
4004    "Added 'on the fly' dot product computation",
4005    "This feature is only available with SUMA's -dev\n"
4006    "option. It is still in testing mode and its \n"
4007    "interface may change. If intrigued, see 'D' key's\n"
4008    "help in SUMA's interactive usage help.\n"
4009  } ,
4010 
4011  { 31 , MAR , 2009 , ZSS , "suma-general" , MINOR , TYPE_MODIFY ,
4012    "Handling of double precision datatypes.",
4013    NULL
4014  } ,
4015 
4016  { 31 , MAR , 2009 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT ,
4017    "Added support for '[' and ']' keys and -view_surf",
4018    NULL
4019  } ,
4020 
4021  { 26 , MAR , 2009 , ZSS , "suma-general" , MINOR , TYPE_NEW_OPT ,
4022    "Support for reading/writing MNI .obj surfaces",
4023    NULL
4024  } ,
4025 
4026  { 12 , MAR , 2009 , ZSS , "suma-general" , MINOR , TYPE_NEW_OPT ,
4027    "SUMA talks to matlab.",
4028    NULL
4029  } ,
4030 
4031 
4032  { 10 , FEB , 2009 , ZSS , "DriveSuma" , MICRO , TYPE_NEW_OPT ,
4033    "Added -anim_dup to slow down movies",
4034    NULL
4035  } ,
4036 
4037  { 3 , FEB , 2009 , ZSS , "suma" , MICRO , TYPE_BUG_FIX ,
4038    "No longer crashes with old format ROIs",
4039    NULL
4040  } ,
4041 
4042  { 3 , FEB , 2009 , ZSS , "suma" , MICRO , TYPE_BUG_FIX ,
4043    "Fixed free-related error messages on OS X",
4044    "These errors were generated because some pointers\n"
4045    "were allocated with MCW_MALLOC and freed without it.\n"
4046    "solution was to include mcw_malloc.h in coxplot and\n"
4047    "gifti_choice.c"
4048  } ,
4049 
4050  { 2 , FEB , 2009 , ZSS , "DriveSuma" , MINOR , TYPE_NEW_OPT ,
4051    "Added load_col option to DriveSuma",
4052    NULL
4053  } ,
4054 
4055  { 2 , FEB , 2009 , ZSS , "SurfDist" , MINOR , TYPE_NEW_OPT ,
4056    "SurfDist now outputs distances from one node to a set of other nodes",
4057    NULL
4058  } ,
4059 
4060  { 13 , JAN , 2009 , ZSS , "afni-matlab" , MINOR , TYPE_NEW_PROG ,
4061    "Added GS_orth_1D.m to perform Gram-Schmidt orthogonalization",
4062    NULL
4063  } ,
4064 
4065  { 13, JAN , 2009 , ZSS , "afni-general" , MINOR ,  TYPE_BUG_FIX,
4066    "AFNI should now be Lesstif compliant",
4067    "Made numerous changes with Rick Reynolds. The biggest modification\n"
4068    "regards buttons inside popup menus. Those buttons are no longer\n"
4069    "inside rowcolumn widgets and had to be directly managed by afni."
4070  },
4071 
4072  { 5, JAN , 2009 , ZSS , "MapIcosahedron" , MINOR ,  TYPE_NEW_OPT,
4073    "Program no longer confined to FreeSurfer surfaces",
4074    "The program now allows the user to specify any morph sphere,\n"
4075    "not just sphere.reg or sphere. This required rewriting much of\n"
4076    "of the program's main section but the algorithm for the mapping\n"
4077    "remains unchanged."
4078  },
4079 
4080  { 5, JAN , 2009 , ZSS , "CreateIcosahedron" , MICRO ,  TYPE_NEW_OPT,
4081    "Program uses new Spec writing function and writes different surface formats",
4082    NULL
4083  },
4084 
4085  { 13 , DEC , 2008 , ZSS , "afni-matlab" , MAJOR , TYPE_NEW_PROG ,
4086    "RetroTS creates regressors for cardiac, respiratory, and RVT filtering",
4087    "RetroTS.m and accompanying functions create slice-based regressors\n"
4088    "for regressing out the effects of cardiac, respiratory, and RVT effects\n"
4089    "from FMRI time series. The regressors generated are meant to be used \n"
4090    "with 3dREMLfit."
4091  } ,
4092 
4093  { 9, DEC , 2008 , ZSS , "@Align_Centers" , MINOR ,  TYPE_NEW_OPT,
4094    "Added -cm option to allow centering based on the center of mass",
4095    NULL
4096  },
4097 
4098  { 9, DEC , 2008 , ZSS , "suma" , MINOR ,  TYPE_BUG_FIX,
4099    "Fixed (potential) SUMA crash when Draw ROI interface is first opened",
4100    NULL
4101  },
4102 
4103  { 9, DEC , 2008 , ZSS , "3dCM" , MICRO ,  TYPE_MODIFY,
4104    "Added history note to 3dCM",
4105    NULL
4106  },
4107 
4108  { 8, DEC , 2008 , ZSS , "suma" , MICRO ,  TYPE_BUG_FIX,
4109    "SUMA works now with LESSTIF, interface is almost the same as in MOTIF",
4110    NULL
4111  },
4112 
4113  { 2, DEC , 2008 , ZSS , "general" , MICRO ,  TYPE_BUG_FIX,
4114    "Environment vars. set in the shell override those in .afnirc or .sumarc",
4115    NULL
4116  },
4117 
4118  { 2, DEC , 2008 , ZSS , "@NoisySkullStrip" , MAJOR ,  TYPE_NEW_PROG,
4119    "A script to improve skull stripping in noisy of heavily shaded data",
4120    NULL
4121  },
4122 
4123  { 2, DEC , 2008 , ZSS , "@Spharm.examples" , MAJOR ,  TYPE_NEW_PROG,
4124    "A script to demonstrate the usage of SpharmDeco and SpharmReco",
4125    NULL
4126  },
4127 
4128  { 2, DEC , 2008 , ZSS , "SpharmReco" , MAJOR ,  TYPE_NEW_PROG,
4129    "Reconstructs data from spherical harmonics decomposition.",
4130    "See SpharmDeco -help and the demo script @Spharm.examples\n"
4131    "for details."
4132  },
4133 
4134  { 2, DEC , 2008 , ZSS , "SpharmDeco" , MAJOR ,  TYPE_NEW_PROG,
4135    "Performs spherical harmonics decomposition.",
4136    "This program performs spherical harmonics decomposition\n"
4137    "for surfaces' geometry and/or surface-based data\n"
4138    "See SpharmReco -help and the demo script @Spharm.examples\n"
4139    "for details."
4140  },
4141 
4142  { 21 , NOV , 2008 , ZSS , "@fast_roi" , MAJOR ,  TYPE_NEW_PROG,
4143    "Creates Atlas-based ROIs in original space for real-time experiments ",
4144    NULL
4145  },
4146 
4147  { 13 , NOV , 2008 , ZSS , "suma" , MINOR ,  TYPE_NEW_OPT,
4148    "Added a NIDO sphere as Displayable Object ",
4149    "See suma -help_nido for details."
4150  },
4151 
4152  { 13 , NOV , 2008 , ZSS , "@SUMA_AlignToExperiment" , MINOR ,  TYPE_NEW_OPT,
4153    "Added -al option to use 3dAllineate -lpa ",
4154    NULL
4155  },
4156 
4157  { 03 , NOV , 2008 , ZSS , "3dNLfim" , MICRO ,  TYPE_NEW_OPT,
4158    "Added Exp (single exponential) model ",
4159    NULL
4160  },
4161 
4162  { 17 , OCT , 2008 , ZSS , "imcat" , MICRO ,  TYPE_NEW_OPT,
4163    "-crop is a new option for cropping an image ",
4164    NULL
4165  },
4166 
4167  { 03 , OCT , 2008 , ZSS , "suma" , MICRO ,  TYPE_NEW_ENV,
4168    "SUMA_StartUpLocation to control initial window placement ",
4169    "See output for suma -environment for details."
4170  },
4171 
4172  { 03 , OCT , 2008 , ZSS , "@DO.examples" , MINOR ,  TYPE_NEW_PROG,
4173    "A script that demonstrates the use of Displayable Objects",
4174    "See SUMA's interactive help for ctrl+alt+s for more information\n"
4175    "on Displayable Objects (DOs). "
4176  },
4177 
4178  { 03 , OCT , 2008 , ZSS , "suma" , MINOR ,  TYPE_NEW_OPT,
4179    "SUMA accepts text, images, and textures as Displayable Objects",
4180    "See SUMA's interactive help for ctrl+alt+s for more information\n"
4181    "on Displayable Objects (DOs). The new DOs are in a simple \n"
4182    "NIML format. It is simplest to look at the script @DO.examples\n"
4183    "for illustrations of the various forms of DOs that SUMA supports.\n"
4184    "Sample NIML DOs (called NIDOs) are now provided with the distribution\n"
4185    "They are called demo.*.niml.do."
4186  },
4187 
4188  { 03 , OCT , 2008 , ZSS , "DriveSuma" , MINOR ,  TYPE_NEW_OPT,
4189    "-viewer_position/_width/_height/_size to control window placement",
4190    "See DriveSuma -help for details."
4191  },
4192 
4193 
4194  { 16 , SEP , 2008 , ZSS , "DriveSuma" , MINOR ,  TYPE_NEW_OPT,
4195    "-load_do sends SUMA Displayable Objects to be rendered",
4196    "See SUMA's interactive help for ctrl+alt+s for more information\n"
4197    "on Displayable Objects.\n"
4198  },
4199 
4200  { 16 , SEP , 2008 , ZSS , "SurfDist" , MINOR ,  TYPE_NEW_OPT,
4201    "-node_path_do outputs the shortest path between two nodes",
4202    "The shortest path(s) are stored as a SUMA Displayable Object\n"
4203    "which can be loaded into SUMA with ctrl+alt+s or using DriveSuma.\n"
4204  },
4205 
4206  { 2 , SEP , 2008 , ZSS , "3dSkullStrip" , MINOR ,  TYPE_BUG_FIX,
4207    "Starting sphere center was incorrectly initialized",
4208    NULL
4209  },
4210 
4211  { 29 , AUG , 2008 , ZSS , "afni-general" , MICRO,  TYPE_GENERAL,
4212    "Added toy programs 3dTsmoothR.c and toyR.c to test C<-->R interface",
4213    "The programs demonstrate how to call R functions from C.\n"
4214    "To build them one needs to run tcsh ./@RmakeOpts\n"
4215    "Add 'include Makefile.R.INCLUDE' to Makefile\n"
4216    "Then make 3dTsmoothR toyR\n"
4217    "The programs demonstrate time series processing and plotting in R."
4218  },
4219 
4220  { 29 , AUG , 2008 , ZSS , "ExamineXmat" , MAJOR,  TYPE_NEW_PROG,
4221    "An interactive tool to examine a design matrix",
4222    NULL
4223  },
4224 
4225  { 29 , AUG , 2008 , ZSS , "3ddelay" , MINOR ,  TYPE_BUG_FIX,
4226    "Unitialized pointer in 3ddelay",
4227    NULL
4228  },
4229 
4230  { 29 , JUL , 2008 , ZSS , "afni" , MINOR , TYPE_MODIFY ,
4231    "Changed transform used to crete mni coord. in interactive whereami",
4232    "The transform from TLRC to MNI used to be via the manually TLRCed\n"
4233    "N27 brain. However this created inconsistency in the second line of the \n"
4234    "Focus point output (MNI Brain) on the order of a couple of mm\n"
4235    "with the command-line whereami program. \n"
4236    "Now both interactive and command-line whereami produce the same \n"
4237    "Focus Point output. Note that the rest of the whereami\n"
4238    "output remains unchanged."
4239  },
4240 
4241  { 29 , MAY , 2008 , ZSS , "3dfim+" , MINOR , TYPE_MODIFY ,
4242    "allowed for -polort -1 and for sub-brick selection with dataset names",
4243    NULL
4244  } ,
4245 
4246  { 15 , MAY , 2008 , ZSS , "3dmaskdump" , MINOR , TYPE_NEW_OPT ,
4247    "added -n_rand and -n_randseed",
4248    NULL
4249  } ,
4250 
4251  { 15 , MAY , 2008 , ZSS , "3dfim+" , MINOR , TYPE_BUG_FIX ,
4252    "Fixed memory corruption when using more than 20 regressors",
4253    NULL
4254  } ,
4255 
4256  { 9 , MAY , 2008 , ZSS , "3dROIstats" , MAJOR , TYPE_NEW_OPT ,
4257    "Added option -1Dformat to output results in 1D format",
4258    NULL
4259  } ,
4260 
4261  { 8 , MAY , 2008 , ZSS , "3dsvm" , MAJOR , TYPE_BUG_FIX ,
4262    "Fixed memory corruption caused by improper declaration of combName",
4263    NULL
4264  } ,
4265 
4266  { 24 , APR , 2008 , ZSS , "SurfSmooth" , MICRO , TYPE_BUG_FIX ,
4267    "Fixed leaky SurfSmooth.",
4268    "Leak was from one of fin_float pointers in Head07\n"
4269    "Also found leak in THD_extract_detrended_array and a few\n"
4270    "more small leaks in other SUMA function. Valgrind is good."
4271  } ,
4272 
4273  { 23 , APR , 2008 , ZSS , "afni-python" , MICRO , TYPE_MODIFY ,
4274    "Changed methods in afni_name class",
4275    ".path is now absolute\n"
4276    ".inp() and .out() should be used to specify input and output volumes\n"
4277    "Updated lpc_align.py and align_epi_anat.py to reflect changes."
4278  } ,
4279 
4280  { 2 , APR , 2008 , ZSS , "suma" , MINOR , TYPE_MODIFY ,
4281    "Changed suma -environment's output to reflect user's current environment.",
4282    "With this change, users can always replace their .sumarc with\n"
4283    "the one output by suma -environment without worrying about loosing\n"
4284    "their preferred settings."
4285  } ,
4286 
4287  { 27 , MAR , 2008 , ZSS , "suma-general" , MICRO , TYPE_MODIFY ,
4288    "Changed internal handling of various MATVEC sources.",
4289    "Simplified handling of different sources of MATVECs from\n"
4290    "AFNI's headers. Added handling of ALLINEATE_MATVEC to the\n"
4291    "mix."
4292  } ,
4293 
4294  { 27 , MAR , 2008 , ZSS , "afni-matlab" , MINOR , TYPE_MODIFY ,
4295    "Added other return options for Read_1D.m and BrikLoad.m",
4296    NULL
4297  } ,
4298 
4299  { 26 , MAR , 2008 , ZSS , "3dvolreg" , MINOR , TYPE_BUG_FIX ,
4300    "3dvolreg's -1Dmatrix_save was not always accounting for centers of rotation"
4301    ,"Now the output of -1Dmatrix_save always matches what one would get for\n"
4302    "the first sub-brick from\n"
4303    "   cat_matvec FRED+orig::VOLREG_MATVEC_000000 -I "
4304  } ,
4305 
4306  { 26 , MAR , 2008 , ZSS , "cat_matvec" , MINOR , TYPE_MODIFY ,
4307    "cat_matvec can now output IJK_TO_CARD_DICOM and IJK_TO_DICOM_REAL" ,
4308    NULL
4309  } ,
4310 
4311  { 26 , MAR , 2008 , ZSS , "@Align_Centers" , MINOR , TYPE_MODIFY ,
4312    "Script now outputs a matrix that represents the shift" ,
4313    "This matrix can be used with 3dAllineate to perform the shift."
4314  } ,
4315 
4316  { 26 , MAR , 2008 , ZSS , "@SUMA_AlignToExperiment" , MINOR , TYPE_NEW_OPT ,
4317    "Added -align_centers as an option to deal with very large moves" ,
4318    "It used to be that users had to run @Align_Centers on all their\n"
4319    "data when big moves were needed to align the surface's antaomy\n"
4320    "to that of the experiment. This is no longer needed."
4321  } ,
4322 
4323  { 25 , MAR , 2008 , ZSS , "suma" , MINOR , TYPE_BUG_FIX ,
4324    "ROIs drawn on different surfaces now handled properly" ,
4325    NULL
4326  } ,
4327 
4328  { 25 , MAR , 2008 , ZSS , "suma-general" , MINOR , TYPE_MODIFY ,
4329    "Instead of SAME, one can use surface's name as LocalDomainParent" ,
4330    NULL
4331  } ,
4332 
4333  { 25 , MAR , 2008 , ZSS , "ConvertSurface" , MICRO , TYPE_NEW_OPT ,
4334    "Added option -ixmat_1D to apply inverse of affine transform" ,
4335    NULL
4336  } ,
4337 
4338  { 25 , MAR , 2008 , ZSS , "@auto_tlrc" , MICRO , TYPE_MODIFY ,
4339    "Improvements on -rigid_equiv output and .1D transform output" ,
4340    NULL
4341  } ,
4342 
4343  { 25 , MAR , 2008 , ZSS , "@SUMA_AlignToExperiment" , MICRO , TYPE_MODIFY ,
4344    "View is now changed even if rigid-body registration is used." ,
4345    NULL
4346  } ,
4347 
4348  { 21 , MAR , 2008 , ZSS , "3dnvals" , MICRO , TYPE_NEW_OPT ,
4349    "Added -all to 3dnvals to output all 4 dimensions. " ,
4350    NULL
4351  } ,
4352 
4353  { 17 , MAR , 2008 , ZSS , "lpc_align.py" , MICRO , TYPE_NEW_OPT ,
4354    "Added -big_move and -partial_coverage." ,
4355    "-big_move is for when large displacements are needed for alignment.\n"
4356    "-partial_coverage is for when EPI covers a portion of the brain."
4357  } ,
4358 
4359  { 12 , MAR , 2008 , ZSS , "suma" , MICRO , TYPE_BUG_FIX ,
4360    "Changed crash in SurfaceMetrics when -spec and -i options are mixed. " ,
4361    NULL
4362  } ,
4363 
4364  { 12 , MAR , 2008 , ZSS , "suma" , MINOR , TYPE_MODIFY ,
4365    "Changed surface controller font to 8. " ,
4366    "You can get the old font size with environment\n"
4367    "variable SUMA_SurfContFontSize BIG.\n"
4368    "The default is now SMALL.\n"
4369  } ,
4370 
4371  { 7 , MAR , 2008 , ZSS , "suma" , MINOR , TYPE_NEW_OPT ,
4372    "Color map in surface controller can be flipped and rotated" ,
4373    "* f key for flipping colormap\n"
4374    "* Up/Down keys for rotating color map\n"
4375    "* Home for home\n"
4376    "Hit ctrl+h on Surface Controller's colormap for more help."
4377  } ,
4378 
4379  { 6 , MAR , 2008 , ZSS , "suma" , MINOR , TYPE_NEW_ENV ,
4380    "Added three variables affecting the surface controller" ,
4381    "* SUMA_ShowOneOnly: Sets '1 Only' on or off. On by default\n"
4382    "* SUMA_GraphHidden: Update open graphs even if corresponding dset\n"
4383    "                    is hidden."
4384    "* SUMA_ColorMapRotationFraction: Fraction of colormap to rotate\n"
4385    "                    up or down with arrow keys.\n"
4386    "See suma -environment for a complete list."
4387  } ,
4388 
4389  { 5 , MAR , 2008 , ZSS , "suma-general" , MAJOR , TYPE_GENERAL ,
4390    "Support for GIFTI surface format writing" ,
4391    "GIFTI writing can now be done with SUMA programs.\n"
4392    "For example, see options -o_gii and -xml* in ConvertSurface program."
4393  } ,
4394 
4395  { 28 , FEB , 2008 , ZSS , "suma-general" , MAJOR , TYPE_NEW_ENV ,
4396    "Support for GIFTI surface format reading" ,
4397    NULL
4398  } ,
4399 
4400  { 27 , FEB , 2008 , ZSS , "suma" , MAJOR , TYPE_GENERAL ,
4401    "Addition of p and q values under threshold bar" ,
4402    "Use BHelp on p and q text in suma to get more info."
4403  } ,
4404 
4405  { 27 , FEB , 2008 , ZSS , "suma-general" , MICRO , TYPE_BUG_FIX ,
4406    "Another bout of initialization and leak fixes based on valgrind's output" ,
4407    "The hope is that some weird X behavior is caused by uninitialized\n"
4408    "variables."
4409  } ,
4410 
4411  { 14 , FEB , 2008 , ZSS , "suma" , MAJOR , TYPE_GENERAL ,
4412    "Graphing of dset content with 'g'" ,
4413    "A graph of the column content at a node can be plotted\n"
4414    "This would be the surface equivalent to AFNI's graphing function.\n"
4415    "See suma's interactive help 'ctrl+h' for more info."
4416  } ,
4417 
4418  { 12 , FEB , 2008 , ZSS , "suma" , MINOR , TYPE_NEW_OPT ,
4419    "An option to show all of suma's environment variables" ,
4420    "See help for -environment in suma -help."
4421  } ,
4422 
4423  { 6 , FEB , 2008 , ZSS , "SurfDist" , MAJOR , TYPE_NEW_PROG ,
4424    "Program to calculate geodesic internodal distances" ,
4425    NULL
4426  } ,
4427 
4428  { 12 , JAN , 2008 , ZSS , "suma" , MAJOR , TYPE_GENERAL ,
4429    "Scroll lists for I T and B selectors in suma" ,
4430    "Right click on pulldown menu titles to get\n"
4431    "a scroll list instead. This makes selecting from\n"
4432    "a long list of options, or columns, much easier.\n"
4433    "Right click on 'I' to the left of suma's Intensity Selection\n"
4434    "button for an illustration."
4435  } ,
4436 
4437  { 19 , DEC , 2007 , ZSS , "suma-general" , MAJOR , TYPE_GENERAL ,
4438    "Use of '[i]' to select node index from surface dset" ,
4439    "Square bracket '[]' selection works for surface-based\n"
4440    "datasets much like it does for volume-based ones.\n"
4441    "In addition, one can use '[i]' to select the indices\n"
4442    "of nodes for which data are defined in a particular \n"
4443    "surface-based dataset.\n"
4444    "For more information, see 'SUMA dataset input options:' \n"
4445    "section in the output of ConvertDset -help ."
4446  } ,
4447 
4448  { 18 , DEC , 2007 , ZSS , "ROIgrow" , MINOR , TYPE_NEW_PROG ,
4449    "Grows regions separately, depending on labels" ,
4450    NULL
4451  } ,
4452 
4453  { 18 , DEC , 2007 , ZSS , "ROI2dataset" , MINOR , TYPE_GENERAL ,
4454    "Output full datasets if needed" ,
4455    NULL
4456  } ,
4457 
4458  { 17 , DEC , 2007 , ZSS , "ConvertDset" , MINOR , TYPE_GENERAL ,
4459    "Output of full dsets if needed" ,
4460    "This can be used to force a dataset with data\n"
4461    "defined on a few nodes to be written out with a\n"
4462    "complete list of nodes, using 0 where no data are defined."
4463  } ,
4464 
4465  { 19 , NOV , 2007 , ZSS , "Surf2VolCoord" , MINOR , TYPE_NEW_PROG ,
4466    "Program to show surface-node to voxel correspondence" ,
4467    "This can be used to understand how surface coordinates\n"
4468    "relate to voxel coordinates."
4469  } ,
4470 
4471  { 26 , SEP , 2007 , ZSS , "SurfSmooth" , MAJOR , TYPE_MODIFY ,
4472    "Big changes to data smoothing functions" ,
4473    "* HEAT_07 method does controlled blurring, with options\n"
4474    "to blur 'to' a particular FWHM. No guessing needed for\n"
4475    "iterative kernel bandwidth or number of iterations.\n"
4476    "* HEAT_05 method improved to reduce numerical precision\n"
4477    "problems."
4478  } ,
4479 
4480  { 26 , SEP , 2007 , ZSS , "SurfFWHM" , SUPER , TYPE_NEW_PROG ,
4481    "Program to estimate FWHM of data on surface" ,
4482    NULL
4483  } ,
4484 
4485  { 10 , MAR , 2007 , ZSS , "MapIcosahedron" , MINOR , TYPE_MODIFY ,
4486    "Better handling of surface centers" ,
4487    NULL
4488  } ,
4489 
4490  { 15 , FEB , 2007 , ZSS , "suma" , MINOR , TYPE_NEW_OPT ,
4491    "High resolution image saving with ctrl+r" ,
4492    "Very high resolution images can be created.\n"
4493    "See suma's interactive help 'ctrl+h' for more info."
4494  } ,
4495 
4496  { 5 , FEB , 2007 , ZSS , "SurfDsetInfo" , MINOR , TYPE_NEW_PROG ,
4497    "Program to display surface dataset information" ,
4498    "Output is crude at the moment."
4499  } ,
4500 
4501  { 15 , JAN , 2007 , ZSS , "suma" , MAJOR , TYPE_GENERAL ,
4502    "Allow replacement of pre-loaded DO and Dsets" ,
4503    "When a dataset is reloaded, it replaces the one\n"
4504    "already loaded in suma."
4505  } ,
4506 
4507  { 5 , JAN , 2007 , ZSS , "imcat" , MINOR , TYPE_NEW_PROG ,
4508    "Program to stitch images." ,
4509    NULL
4510  } ,
4511 
4512  { 30 , NOV , 2006 , ZSS , "suma" , MINOR , TYPE_GENERAL ,
4513    "Addition of new Displayable Objects (DO)(ctrl+Alt+s)" ,
4514    "Allows display of segments, spheres and other markers\n"
4515    "See suma's interactive help 'ctrl+h' for more info."
4516  } ,
4517 
4518  { 20 , SEP , 2006 , ZSS , "DriveSuma" , MAJOR , TYPE_NEW_PROG ,
4519    "Program to control SUMA from the command line" ,
4520    NULL
4521  } ,
4522 
4523  { 31 , AUG , 2006 , ZSS , "AnalyzeTrace" , MICRO , TYPE_NEW_PROG ,
4524    "Program to analyze the output of -trace option." ,
4525    NULL
4526  } ,
4527 
4528 
4529  { 99,99,99, NULL,NULL, 99,99, NULL,NULL}  /** the end (do not delete) **/
4530 } ;
4531