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 descrption 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  -- examples --
39 
40  { 26 , FEB , 2008 , RCR , "my_program" , MAJOR , TYPE_GENERAL ,
41    "short description of change" ,
42    "(optional) detailed description, or 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 afni_history_struct rwcox_history[] = {
50 /*=====BELOW THIS LINE=====*/
51 
52  { 15 , DEC , 2021 , RWC , "3dttest++ and 3dClustSim" , MINOR , TYPE_NEW_ENV ,
53    "AFNI_CLUSTSIM_MEGA" ,
54    "If AFNI_CLUSTSIM_MEGA is set to 'YES', then 3dttest++ will run 3dClustSim\n"
55    "using the '-MEGA' option, which gives a finer grained output table of\n"
56    "cluster size thresholds. Also, a few changes to 3dttest++ help to clarify\n"
57    "that the 12 character limit for set labels is not the same as the 256\n"
58    "character limit for dataset labels." } ,
59 
60  { 15 , DEC , 2021 , RWC , "prefiltered args" , MINOR , TYPE_NEW_OPT ,
61    "Bulk input arguments" ,
62    "These '<<XY' arguments are expanded in the prefilter-ing of command\n"
63    "line arguments, to (potentially) add multiple new arguments to the\n"
64    "program. The expansion can either be from filename globbing (X='G')\n"
65    "or by input from a file (X='I'). The purpose of these options is to\n"
66    "provide a way to circumvent the command line length limitations that\n"
67    "Unix imposes, and also to allow internal filename globbing in programs\n"
68    "that do not otherwise support that ability." } ,
69 
70  { 27 , SEP , 2021 , RWC , "AFNI GUI" , MINOR , TYPE_NEW_ENV ,
71    "AFNI_INSTACORR_JUMP" ,
72    "If YES (default), Shift+Ctrl+click sets the instacorr seed and jumps the\n"
73    "crosshairs to that location. If NO, sets the instacorr seed but there is\n"
74    "no crosshair jump. (For Phil Kohn)" } ,
75 
76  { 31 , AUG , 2021 , RWC , "3dTcorr1D/3dTcorrelate" , MINOR , TYPE_BUG_FIX ,
77    "Change labels and statcode for -Fisher option" ,
78    "Sir Paul pointed out that these programs didn't have the correct\n"
79    "statcode when the Fisher transform was ordered, and also that the labels\n"
80    "were confusing. Fixed it so if -Fisher was used, the statcode is FIZT vs\n"
81    "FICO, and the labels have 'atanh()'" } ,
82 
83  { 19 , AUG , 2021 , RWC , "AFNI GUI" , MICRO , TYPE_MODIFY ,
84    "Change top-of-image drawn label to resize font if drawn too large" ,
85    NULL } ,
86 
87  { 17 , AUG , 2021 , RWC , "3dTfitter" , MINOR , TYPE_ENHANCE ,
88    "Modified to use OpenMP" ,
89    "3dTfitter.c, thd_fitter.c, and thd_lasso.c" } ,
90 
91  { 10 , AUG , 2021 , RWC , "3dTfitter" , MINOR , TYPE_NEW_PROG ,
92    "Add -LCB option for block-wise LASSO penalties" ,
93    "LCB = LASSO Centro Block\n"
94    "The penalty in a block is\n"
95    "  sum{ ABS[ beta[i] - centromean(beta[i],...) ] }\n"
96    "which is intendend to make all the beta[i] in a block shrink towards a\n"
97    "common value, rather than towards 0. The intent is to use this with IM\n"
98    "regression models from 3dDeconvolve, to reduce outliers in the\n"
99    "stimulus-wise beta estimates." } ,
100 
101  { 20 , JUL , 2021 , RWC , "NIML library" , MAJOR , TYPE_BUG_FIX ,
102    "NIML file: input failed if file over 2BG in size" ,
103    "Due to storing filesize in int/long. Fix was to make it stored in\n"
104    "int64_t, and fixing a few other places." } ,
105 
106  { 16 , JUL , 2021 , RWC , "AFNI driver and GUI" , MICRO , TYPE_BUG_FIX ,
107    "Fix bug in overlay_label='xxx' driver" ,
108    "Someone put the terminating NUL byte in wrong place. (Whoever did that\n"
109    "should be beaten.)\n"
110    "Also added the '\\newline' escape as a way to add a line break to the\n"
111    "overlay label string from the driver -- since control characters aren't\n"
112    "really allowed." } ,
113 
114  { 15 , JUL , 2021 , RWC , "AFNI GUI" , MICRO , TYPE_MODIFY ,
115    "Change image overlay label plotting to allow for multiline strings" ,
116    "Per DRG: multiline strings, being centered along the y-axis about their\n"
117    "point of origin, would be pushed off the top of the image. Fixed by\n"
118    "setting the y-coord of the origin point to include a factor for the\n"
119    "number of lines." } ,
120 
121  { 12 , JUL , 2021 , RWC , "Clusterize" , MICRO , TYPE_ENHANCE ,
122    "Make min cluster size = 1 (from 2) for DR Glen." ,
123    NULL } ,
124 
125  { 29 , JUN , 2021 , RWC , "3dPval" , MINOR , TYPE_NEW_OPT ,
126    "-log2 and -log10 options" ,
127    "To convert statistics to minus the logarithm of p-value." } ,
128 
129  { 28 , JUN , 2021 , RWC , "NIML" , MINOR , TYPE_BUG_FIX ,
130    "Change byte count output for NI_write_element to int64_t" ,
131    "And a few other functions as well. Reason: someone tried to create a 2.8\n"
132    "GB .niml.dset file, which caused a problem when counting up the bytes\n"
133    "output using a 32 bit int. Users -- what can you do with them?" } ,
134 
135  { 28 , JUN , 2021 , RWC , "afni GUI" , MICRO , TYPE_ENHANCE ,
136    "Add Linear back to Alpha fading, as well as default Quadratic" ,
137    "Drive-able. Menu item under 'Thr' popup." } ,
138 
139  { 24 , JUN , 2021 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
140    "Add tracking thru optimization of original points" ,
141    "That is, with -verb, print out the original index [o=X] as the stages of\n"
142    "optimization proceed. This helps determine if the larger number of\n"
143    "initial coarse trial candidates parameter sets actually produces viable\n"
144    "contenders for the championship." } ,
145 
146  { 23 , JUN , 2021 , RWC , "3dQwarp" , MICRO , TYPE_MODIFY ,
147    "Add the setjmp/longjmp escape mechanism to plusminus warping" ,
148    "To gracefully end the program if the OpenMP race condition arises." } ,
149 
150  { 21 , JUN , 2021 , RWC , "3dAllineate" , MINOR , TYPE_MODIFY ,
151    "Change default blok type and radius for the lpc/lpa methods" ,
152    "Old default was -blok 'RHDD(6.54321)'.\n"
153    "New default is  -blok 'TOHD(0)' where the 0 radius means to compute the\n"
154    "blok radius so as to give the blok a volume of 555 times the volume of a\n"
155    "base dataset voxel. For 1x1x1 voxels, such as the MNI template, this\n"
156    "results in 'TOHD(5.18)'. If users want the old setup, they'll have to\n"
157    "use the old blok definition explicitly." } ,
158 
159  { 9 , JUN , 2021 , RWC , "3dUndump" , MICRO , TYPE_NEW_OPT ,
160    "Add -allow_NaN option" ,
161    "To allow some DERANGED AFNI user whose name will not be mentioned to\n"
162    "create a dataset containing NaN (Not A Number) floating point values." } ,
163 
164  { 9 , JUN , 2021 , RWC , "3dAllineate" , MINOR , TYPE_ENHANCE ,
165    "Changes to make T1-T1 alignment with lpa+ZZ more reliable" ,
166    "Problem - aligning whole head volume to MNI template (top of head only)\n"
167    "- alignment sometimes fails badly. This problem is much less common if\n"
168    "source and base image coverage are compatible. If users will not zero\n"
169    "out or chop off the sub-brainstem part of the head, then the following\n"
170    "changes made to 3dAllineate will help:\n"
171    "  a) carry out a larger search in the coarse pass (more trials)\n"
172    "  b) eliminate 'ov' and 'mi' from lpa+ as these caused problems\n"
173    "     NOTE: 'ov' and 'mi' are still in lpc+\n"
174    "Also investigated why linux and macos results differ. Tracking optimizer\n"
175    "leads to hypothesis that differences in roundoff error slowly\n"
176    "accumulate, and then at some point powell_newuoa makes a step decision\n"
177    "that can alter the optimizing trajectory significantly. There doesn't\n"
178    "seem to be a good way to avoid this. However, with the chanes above,\n"
179    "both macos and linux versions work reasonably well, and differ at most\n"
180    "in about 2 mm (and that only in one case out of 38 whole head tests)." } ,
181 
182  { 8 , JUN , 2021 , RWC , "3dQwarp" , MICRO , TYPE_BUG_FIX ,
183    "Modify to make it work with 2D images again" ,
184    "Had to fix THD_fillin_once to allow for special case of nz==1" } ,
185 
186  { 6 , MAY , 2021 , RWC , "3dttest++" , MINOR , TYPE_ENHANCE ,
187    "Make -zskip work with -paired" ,
188    "Rejecting any value pairs where either setA or setB is 0." } ,
189 
190  { 24 , MAR , 2021 , RWC , "3dBlurInMask" , MINOR , TYPE_NEW_OPT ,
191    "-FWHMxyz allows different blurring amounts in different directions" ,
192    NULL } ,
193 
194  { 15 , MAR , 2021 , RWC , "3dAllineate" , MICRO , TYPE_MODIFY ,
195    "Move help from main() to function Allin_Help()" ,
196    NULL } ,
197 
198  { 15 , MAR , 2021 , RWC , "3dNwarpApply" , MICRO , TYPE_NEW_OPT ,
199    "Add -wprefix option" ,
200    "This option will write out the computed warp for each sub-brick. Mostly\n"
201    "for Zhark's curiousity." } ,
202 
203  { 13 , MAR , 2021 , RWC , "parser.f" , MICRO , TYPE_BUG_FIX ,
204    "non-NUL terminated FORMAT string" ,
205    "In Fortran-77, character strings are fixed length and filled out with\n"
206    "blanks -- they are not NUL terminated as in C. In one place in parser.f,\n"
207    "a variable FORMAT string is used (about line 709, string C_VAL) -- but\n"
208    "that gets passed to an f2c library function that assumes NUL terminated\n"
209    "string, and so a buffer overrun error can happen. This has never caused\n"
210    "a crash or error, as far as I know, but was detected using the gcc\n"
211    "-fsanitize=address option by Chris Rorden. To avoid possible error, the\n"
212    "Fortran line above the use of this string FORMAT sets the last character\n"
213    "of C_VAL to NUL.\n"
214    "\n"
215    "At the same time, changes were made to the f2c library headers to\n"
216    "properly adapt to either 32 or 64 bit pointers. Formerly, the pointer\n"
217    "size was fixed to 4 bytes.\n"
218    "\n"
219    "A long commentary here for a very small issue." } ,
220 
221  { 23 , FEB , 2021 , RWC , "lots of them" , MICRO , TYPE_GENERAL ,
222    "Changes to avoid compile warnings with -Wall option" ,
223    "Mostly cosmetic fixes, but a few minor errors discovered and patched.\n"
224    "About 50 .c files affected." } ,
225 
226  { 8 , FEB , 2021 , RWC , "AFNI gui" , MICRO , TYPE_ENHANCE ,
227    "Add Mean/Sigma statistic to Button 3 popup in graph viewer" ,
228    "Kind of a cheap TSNR check for raw data." } ,
229 
230  { 27 , JAN , 2021 , RWC , "3dAllineate" , MICRO , TYPE_ENHANCE ,
231    "Enhance -PearSave option" ,
232    "Now it works with -allcostX to give the LPC values at the start of the\n"
233    "run, instead of only at the end.\n"
234    "Now it works with any cost functional, say '-hel', instead of '-lpc' and\n"
235    "'-lpa'. That is, you can get the local Pearson stuff even if it isn't\n"
236    "actually used in the optimization." } ,
237 
238  { 26 , JAN , 2021 , RWC , "3dAllineate" , MINOR , TYPE_NEW_OPT ,
239    "New -PearSave option" ,
240    "Saves the local Pearson correlations into a dataset at the end of an\n"
241    "alignment. Mostly for visualization fun." } ,
242 
243  { 11 , JAN , 2021 , RWC , "AFNI GUI" , MINOR , TYPE_ENHANCE ,
244    "AFNI graph viewer box labels now selectable from menu" ,
245    "In the Colors, Etc. menu, new items were added to enable and control the\n"
246    "labels used in Box mode. Keystroke ctrl-B cycles between all Data modes.\n"
247    "In addition, labels can now be drawn for graph matrix size up to 9x9." } ,
248 
249  { 23 , JUN , 2020 , RWC , "AFNI GUI" , MINOR , TYPE_ENHANCE ,
250    "Add support for *.tsv and *.csv files" ,
251    "Tab and Comma separated value files will be read in, like 1D files, and\n"
252    "can be selected by a chooser, including in a plugin." } ,
253 
254  { 11 , JUN , 2020 , RWC , "afni GUI" , MINOR , TYPE_ENHANCE ,
255    "Add Stride to graphing (every n-th time point, n=1..9)" ,
256    NULL } ,
257 
258  { 2 , JUN , 2020 , RWC , "afni GUI" , MINOR , TYPE_ENHANCE ,
259    "Add PM (plus/minus) curve plotting options" ,
260    "Added to the 'Colors Etc' menu. Curves, Bars, and Fill." } ,
261 
262  { 28 , MAY , 2020 , RWC , "afni GUI" , MINOR , TYPE_ENHANCE ,
263    "Add curve smoothing plot to graph viewer" ,
264    "Invoked from 'Colors Etc' menu, or by pressing the 's' key. [For GC]" } ,
265 
266  { 12 , MAY , 2020 , RWC , "3dAllineate" , MICRO , TYPE_ENHANCE ,
267    "Allow output of .jpg files for 2D images" ,
268    "Actually, any AFNI program that writes a 2D 'dataset' will now do so in\n"
269    "JPEG format if the prefix ends in '.jpg'. Similarly for '.png' and PNG\n"
270    "format. However, note that most programs produce scalar (non-RGB)\n"
271    "images, which will thus be monochrome - even if the input is color." } ,
272 
273  { 5 , May , 2020 , RWC , "afni GUI" , MICRO , TYPE_BUG_FIX ,
274    "Fix problem with Lock menu toggle switches" ,
275    "Only one controller could be clicked on at a time!\n"
276    "Which was caused a long time ago by the LessTif patrol,\n"
277    "enforcing radio behavior even if it wasn't a radio box.\n"
278    "Also: rearranged buttons on menu so that main stuff\n"
279    "      is now at top, where it's more convenient."
280  } ,
281 
282  { 4 , MAY , 2020 , RWC , "3dUnifize" , MICRO , TYPE_NEW_OPT ,
283    "-nosquash, to avoid soft cap on large intensities" ,
284    "In other words, to skip the change of 30 Jan 2019, which\n"
285    "was causing trouble for someone doing oinker imaging!"
286  } ,
287 
288  { 28 , APR , 2020 , RWC , "3dAllineate" , MICRO , TYPE_BUG_FIX ,
289    "Patch failure to register 2D images (I hope)" ,
290    "Turns out the cluster-izing step added to the weight production\n"
291    "zeroed out the 2D images. Cheap fix = just remove isolas instead."
292  } ,
293 
294  { 10 , APR , 2020 , RWC , "AFNI gui" , MINOR , TYPE_NEW_OPT ,
295    "Add -norm option for normal font sizes" , NULL } ,
296 
297  { 8 , APR , 2020 , RWC , "1dplot" , MINOR , TYPE_ENHANCE ,
298    "Add '0' to the -dashed option" ,
299    "-dashed codes are now\n"
300    " 1 = solid           2 = longer dashes\n"
301    " 3 = shorter dashes  0 = no line, use boxes\n"
302    "Code 0 is new, to allow a graph with some data plotted\n"
303    "with lines and some without."
304  } ,
305 
306  { 17 , MAR , 2020 , RWC , "afni GUI" , MINOR , TYPE_NEW_OPT ,
307    "Modify font size options - hopefully easier now" ,
308    "1) Change meaning of 'plus' fonts to be bigger than before.\n"
309    "2) Change so that 'plus' twice on command line equals 'big'.\n"
310    "3) Add simpler options '-big' and '-plus' and '-minus'.\n"
311    "Combined, these should make it easier to do font size changes."
312  } ,
313 
314  { 11 , MAR , 2020 , RWC , "afni GUI" , MICRO , TYPE_ENHANCE ,
315    "Add Card or Obliq notice to image viewers" ,
316    NULL } ,
317 
318  { 10 , MAR , 2020 , RWC , "3dttest++" , MAJOR , TYPE_ENHANCE ,
319    "Add dataset-level weights to 3dttest++" ,
320    "Per the request of users in Tulsa.\n"
321    "New options -setweight[AB] allow user to provide weights\n"
322    "for the importance of a user in the calculations." } ,
323 
324  { 26 , FEB , 2020 , RWC , "machdep" , MINOR , TYPE_ENHANCE ,
325    "First step for allowing floating round randomization" ,
326    "Code in machdep.c, enabled by environment variable\n"
327    "AFNI_RANDOMIZE_ROUNDING, lets a program invoke macro RAND_ROUND to\n"
328    "randomize the IEEE rounding mode. This requires compiling with the flag\n"
329    "-DUSE_FENV to enable use of the C99 function fesetround() to set the\n"
330    "rounding mode -- see machdep.h. So far, only 3dAllineate has any parts\n"
331    "that use RAND_ROUND -- that is, if you set AFNI_RANDOMIZE_ROUNDING to\n"
332    "YES and run 3dAllineate, the results will change from a 'normal' run.\n"
333    "How much? That's the point of this update, to see how sensitive the\n"
334    "output is to the accumulation of tiny changes." } ,
335 
336  { 26 , FEB , 2020 , RWC , "3dAllineate" , MICRO , TYPE_ENHANCE ,
337    "Always check cmass shifts, and provide warnings if not enabled" ,
338    "That is, if -cmass is NOT on, but the cmass shifts would be large, put\n"
339    "out a WARNING message at the start and at the end." } ,
340 
341  { 24 , FEB , 2020 , RWC , "3dQwarp" , MINOR , TYPE_NEW_OPT ,
342    "Add -warpscale option" ,
343    "To scale the warp displacments down at each level, for experimentation." } ,
344 
345  { 14 , FEB , 2020 , RWC , "afni GUI" , MINOR , TYPE_BUG_FIX ,
346    "Get Atlas Colors working again" ,
347    "Problem: 2 generations of overlay colorization changes.\n"
348    "a) Overlay went from indexes to RGB\n"
349    "b) Overlay went from indexes or RGB to RGBA\n"
350    "The atlas overlaying function didn't allow for these very well,\n"
351    "especially the latter. Obviously, this can't be my fault since I'm the\n"
352    "boss - even though I wrote the offending code. Someone must have joggled\n"
353    "my brain." } ,
354 
355  { 10 , FEB , 2020 , RWC , "afni GUI" , MICRO , TYPE_ENHANCE ,
356    "Add reading Apple .heic images (via magick tool)" ,
357    NULL } ,
358 
359  { 5 , FEB , 2020 , RWC , "3dGrayplot" , MINOR , TYPE_NEW_OPT ,
360    "Add -LJorder option" ,
361    "To order voxels by their Ljung-Box statistics." } ,
362 
363  { 02 , FEB , 2020 , RWC , "3dPval" , MINOR , TYPE_NEW_OPT ,
364    "Add -qval option to 3dPVAL [for GC]." ,
365    "Merry Groundhog Day!" } ,
366 
367  { 22 , JAN , 2020 , RWC , "3dREMLfit" , MAJOR , TYPE_ENHANCE ,
368    "Compute Ljung-Box statistic for -Rvar dataset." ,
369    "Provides a measure of how temporally correlated each voxel's\n"
370    "pre-whitened residuals are. Small LB value = good fit by the ARMA(1,1)\n"
371    "model. Sub-brick is coded as a chi-squared statistic for use in\n"
372    "thresholding in the AFNI GUI." } ,
373 
374  { 12 , DEC , 2019 , RWC , "3dTcorrelate" , MINOR , TYPE_NEW_OPT ,
375    "Add -zcensor option" ,
376    "Remove from consideration any time point t where xset(t) OR yset(t) is\n"
377    "identically zero (in the mask). For Peter Molfese and Emily Finn.\n"
378    "Merry X!" } ,
379 
380  { 10 , DEC , 2019 , RWC , "AFNI GUI" , MINOR , TYPE_NEW_ENV ,
381    "Add 'Zoom lock' to the locking capability" ,
382    "Also a new environment variable AFNI_ZOOM_LOCK to turn this on at\n"
383    "startup, vs interactively later." } ,
384 
385  { 10 , DEC , 2019 , RWC , "afni GUI" , MICRO , TYPE_ENHANCE ,
386    "add zoom= to SET_WINDOW driver command" ,
387    NULL } ,
388 
389  { 9 , DEC , 2019 , RWC , "AFNI GUI" , MICRO , TYPE_MODIFY ,
390    "Replace mpeg_encode with ffmpeg in imseq.c" ,
391    "From Michael Hanke. He gets the credit and/or blame, as needed.\n"
392    "Submitted via github (pull request #39, from 2016). At last!" } ,
393 
394  { 26 , NOV , 2019 , RWC , "@afni_refacer_run" , MAJOR , TYPE_ENHANCE ,
395    "Modify shell dataset to avoid some brain clipping" ,
396    "Mostly by eroding the inside of the brain shell.\n"
397    "Also a couple little tweaks to the script." } ,
398 
399  { 26 , NOV , 2019 , RWC , "3dQwarp" , MICRO , TYPE_ENHANCE ,
400    "Allow user to supply an affine matrix with -resample" ,
401    "To re-use a matrix from a previous 3dAllineate run, for speedup" } ,
402 
403  { 26 , NOV , 2019 , RWC , "3dQwarp" , MICRO , TYPE_NEW_OPT ,
404    "Add hidden -sincc option for speedup" ,
405    "Doesn't seem to help much - faster at large patches but not at smaller\n"
406    "patches." } ,
407 
408  { 25 , OCT , 2019 , RWC , "afni GUI driver" , MINOR , TYPE_ENHANCE ,
409    "butpress commands to image viewer" ,
410    "butpress=Colr or Swap or Norm to simulate button presses\n"
411    "For Paul." } ,
412 
413  { 24 , OCT , 2019 , RWC , "AFNI gui" , MINOR , TYPE_NEW_ENV ,
414    "AFNI_IMAGE_COLORSCALE defines colorbar for image viewer window" ,
415    "Formerly fixed, now user can specify the color scale to use here from\n"
416    "one of these: magma viridis plasma googleturbo\n"
417    "Also, I restored the 'g' (gamma) button affect on this color scale." } ,
418 
419  { 23 , OCT , 2019 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
420    "Change dummy dataset creation" ,
421    "If NO data is read into afni, then it creates a dummy dataset, since\n"
422    "there must be at least one dataset available for the GUI to function.\n"
423    "This change makes afni search for some canonical datasets to use in\n"
424    "place of the dummy dataset, which will now only be created when one of\n"
425    "these datasets is not found. The search is done in the path directory\n"
426    "where the afni binary is found (often the user's abin)." } ,
427 
428  { 15 , OCT , 2019 , RWC , "afni GUI" , MICRO , TYPE_BUG_FIX ,
429    "-bysub fix" ,
430    "Methods 1 and 2 can conflict, and the choice is arbitrarily made to\n"
431    "favor Method 1 when the input matches both situations." } ,
432 
433  { 27 , AUG , 2019 , RWC , "3dREMLfit" , MICRO , TYPE_ENHANCE ,
434    "Allow reading -matim matrix from a FIFO instead of a file" ,
435    "For some reason, NIML doesn't like treating a FIFO as a file: stream." } ,
436 
437  { 26 , AUG , 2019 , RWC , "mri_read_1D" , MICRO , TYPE_ENHANCE ,
438    "Modify to allow reading from a named pipe (FIFO)" ,
439    "You can't seek/rewind on a FIFO, so have to use special code - adapted\n"
440    "from the mri_read_1D_stdin function." } ,
441 
442  { 22 , AUG , 2019 , RWC , "AFNI GUI" , MICRO , TYPE_MODIFY ,
443    "After 25 years, replace image false color with Google Turbo!" ,
444    "Instead of AJJ's old color spectrum from FD, which had way too much\n"
445    "green." } ,
446 
447  { 21 , AUG , 2019 , RWC , "AFNI GUI" , MICRO , TYPE_ENHANCE ,
448    "Add Google Turbo colormap" ,
449    NULL } ,
450 
451  { 20 , AUG , 2019 , RWC , "3dPval" , MICRO , TYPE_NEW_OPT ,
452    "Add -zscore option" ,
453    NULL } ,
454 
455  { 20 , AUG , 2019 , RWC , "3dREMLfit" , MICRO , TYPE_ENHANCE ,
456    "Make attribute names in matrix file be insensitive to case" ,
457    NULL } ,
458 
459  { 19 , AUG , 2019 , RWC , "3dTshift" , MICRO , TYPE_NEW_OPT ,
460    "-wsinc5 and -wsinc9 options" ,
461    "Interpolation in time introduces autocorrelation. This effect is not\n"
462    "appreciable for Fourier (FFT) interpolation, but is noticeable for the\n"
463    "polynomial methods. Plus/minus 5 and 9 weighted sinc interpolation\n"
464    "options were added to test if these would reduce this artifact. The\n"
465    "answer is that wsinc5 is better than heptic, but it is still visible;\n"
466    "wsinc9 pretty much eliminates it inside the brain, but it is visible in\n"
467    "the low-signal region outside the brain." } ,
468 
469  { 29 , JUL , 2019 , RWC , "AFNI GUI" , MICRO , TYPE_BUG_FIX ,
470    "Reduce colorization interpolation problem" ,
471    "When using discrete panes, conversion to 'continuous' colorscale causes\n"
472    "a problem right at the boundary. This change reduces this problem." } ,
473 
474  { 17 , JUL , 2019 , RWC , "AFNI gui" , MINOR , TYPE_ENHANCE ,
475    "changes to make alpha and boxed (A and B) work with color panes" ,
476    "People from Wisconsin are trouble." } ,
477 
478  { 11 , JUL , 2019 , RWC , "3dDeconvolve 3dREMLfit" , MICRO , TYPE_NEW_ENV ,
479    "AFNI_INDEX_PREFIX changes '#' in sub-brick labels" ,
480    NULL } ,
481 
482  { 19 , JUN , 2019 , RWC , "afni GUI" , MICRO , TYPE_BUG_FIX ,
483    "AFNI_PBAR_THREE mode didn't allow proper change of the panes" ,
484    "Problem: code to put labels on the panes being invoked when it shouldn't\n"
485    "be. Ugh. Who wrote this code, anyway? They should be SHOT!!" } ,
486 
487  { 18 , JUN , 2019 , RWC , "@SSwarper" , MICRO , TYPE_ENHANCE ,
488    "Add 3dAutomask step for an extra cleanup" ,
489    NULL } ,
490 
491  { 17 , JUN , 2019 , RWC , "3dmerge" , MICRO , TYPE_NEW_OPT ,
492    "-1blur3D_fwhm" ,
493    "Restores the ability to order differential amounts of blurring along the\n"
494    "3D axes of the dataset." } ,
495 
496  { 06 , JUN , 2019 , RWC , "AFNI GUI" , MICRO , TYPE_NEW_ENV ,
497    "AFNI_OPACITY_LOCK" ,
498    "YES = Locks the opacity (1-9) arrows between all image viewers.\n"
499    "This is set to YES by default, and can be set to NO to get the\n"
500    "old (unlocked) behavior." } ,
501 
502  { 06 , JUN , 2019 , RWC , "AFNI GUI" , MICRO , TYPE_MODIFY ,
503    "Change threshold scale upper limit selector from '**' to '10^'" ,
504    "For DRG, and he owes me now." } ,
505 
506  { 06 , JUN , 2019 , RWC , "3dTproject" , MICRO , TYPE_ENHANCE ,
507    "Make sure time series mean is removed after projection" ,
508    "To keep unruly users quiet(er)." } ,
509 
510  { 06 , JUN , 2019 , RWC , "AFNI GUI" , MICRO , TYPE_BUG_FIX ,
511    "Different fix for the threshold scale size problem :(" ,
512    NULL } ,
513 
514  { 24 , MAY , 2019 , RWC , "afni GUI" , MINOR , TYPE_ENHANCE ,
515    "4+1 new features" ,
516    "1) Default threshold is now 0\n"
517    "2) Default threshold scale is now 0-10 instead of 0-1\n"
518    "3) Default max threshold scale exponent is now 5 instead of 4\n"
519    "4) Default colorscale is now Reds_and_Blues_Inv\n"
520    "PLUS\n"
521    "5) User can set AFNI_AUTORANGE_PERC to have the autoRange computed as\n"
522    "percentile point (from 2-99) of the nonzero absolute values in the OLay\n"
523    "brick. However, this doesn't work with warp-on-demand datasets now, so\n"
524    "it is confusing. Therefore, the default setting of this is 0, which\n"
525    "leaves the autoRange to be the maximum absolute value." } ,
526 
527  { 17 , MAY , 2019 , RWC , "AFNI GUI" , MICRO , TYPE_ENHANCE ,
528    "Also add 'AFNI Forum' and 'Prog Helps' buttons" ,
529    NULL } ,
530 
531  { 17 , MAY , 2019 , RWC , "AFNI GUI" , MICRO , TYPE_ENHANCE ,
532    "Add 'AFNI News' button, above 'AFNI Tips'" ,
533    NULL } ,
534 
535  { 8 , MAY , 2019 , RWC , "3dQwarp" , MICRO , TYPE_MODIFY ,
536    "Expand (somewhat) max displacement of component warps" ,
537    NULL } ,
538 
539  { 6 , MAY , 2019 , RWC , "Clusterize" , MICRO , TYPE_ENHANCE ,
540    "Add 'ICent' (Internal Center) to coordinate option" ,
541    "In addition to Peak and Cmass. The problem with Peak is that it can be\n"
542    "way off on an edge. The problem with Cmass is that it can be outside the\n"
543    "actual cluster. ICent is sort of like Cmass but will be inside the\n"
544    "cluster." } ,
545 
546  { 29 , APR , 2019 , RWC , "afni GUI" , MINOR , TYPE_ENHANCE ,
547    "Keystrokes for cluster jumping"
548    "n jumps to the next cluster's peak/cmass\n"
549    "N jumps to the previous cluster's peak/cmass\n"
550    "If focus is NOT in a cluster, then goes to the nearest\n"
551    "cluster in space instead. [For John Butman, NIH/CC - happy NOW?]"
552  } ,
553 
554  { 24 , APR , 2019 , RWC , "3dPVmap" , MICRO , TYPE_ENHANCE ,
555    "Two changes" ,
556    "1) Add singular value fractional variance-explained output\n"
557    "2) Change fixed cubic detrending to polort=N/50 detrending" } ,
558 
559  { 22 , APR , 2019 , RWC , "1dApar2mat" , MICRO , TYPE_NEW_PROG ,
560    "Compute the affine matrix from the parameters from 3dAllineate" ,
561    NULL } ,
562 
563  { 16 , APR , 2019 , RWC , "afni GUI" , MICRO , TYPE_ENHANCE ,
564    "C keystroke shortcut in graph viewer - switches color scheme" ,
565    NULL } ,
566 
567  { 15 , APR , 2019 , RWC , "afni GUI" , MINOR , TYPE_ENHANCE ,
568    "Make -bysub option work with directory names" ,
569    "A command like\n"
570    "   afni -bysub ~/data/UCLA_pamenc20\n"
571    "will find all 'sub-*' subdirectories in the given directory, and process\n"
572    "those individually via the older '-bysub' operation. This makes it\n"
573    "simple to read in an entire BIDS hierarchy. Note that the recursive\n"
574    "descent for each 'sub-XXX' name will include derivatives (if found)." } ,
575 
576  { 15 , APR , 2019 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
577    "Turn AFNI_PBAR_FULLRANGE on by default" ,
578    NULL } ,
579 
580  { 29 , MAR , 2019 , RWC , "afni_check_omp" , MICRO , TYPE_NEW_PROG ,
581    "Prints to stdout the number of OpenMP threads it detects" ,
582    "For use in scripts, such as @SSwarper. This is a very short program." } ,
583 
584  { 29 , MAR , 2019 , RWC , "@SSwarper" , MICRO , TYPE_BUG_FIX ,
585    "Strip dataset suffixes from -subid input" ,
586    "Otherwise, using '-subid Fred+orig' will cause trouble, for example. Or\n"
587    "'-subid Fred.nii' will work, but produce output files with names ending\n"
588    "in '.nii.nii' which is confusing." } ,
589 
590  { 27 , MAR , 2019 , RWC , "@SSwarper" , MICRO , TYPE_NEW_OPT ,
591    "-SSopt to add options to 3dSkullStrip" ,
592    "For example:\n"
593    "   -SSopt '-o_ply Zhark.rules'\n"
594    "to produce a brain surface in .ply format.\n"
595    "[Per the request of Allison Nugent]" } ,
596 
597  { 14 , MAR , 2019 , RWC , "3dQwarp" , MICRO , TYPE_ENHANCE ,
598    "Propagate -weight from 3dQwarp to 3dAllineate" ,
599    "Don't know why I didn't do this before. Probably a sign of incipient\n"
600    "dementia." } ,
601 
602  { 10, MAR , 2019 , RWC , "3dXClustSim (ETAC)" , MINOR , TYPE_GENERAL ,
603    "Sort FOM results to cast out duplicates from same iteration" ,
604    "Should make Global ETAC slightly less conservative." } ,
605 
606  { 8 , MAR , 2019 , RWC , "InstaCorr" , MINOR , TYPE_BUG_FIX ,
607    "Bandpass error found by the wandering Spaniard" ,
608    "Problem: very long time series (over 2000) analyzed *without* Bandpass\n"
609    "would give error message and then give useless results.\n"
610    "Solution: if Bandpass is turned off, that is signaled by setting the\n"
611    "upper freq cutoff to a large value. Then the FFT cutoff index is\n"
612    "computed from that as jtop = ftop/df where df = 1/N*dt, so we have\n"
613    "jtop = ftop*N/dt. For large N and large ftop, this is integer overflow.\n"
614    "Therefore, compute jtop in float, not int, then check it first. D'oh." } ,
615 
616  { 7 , MAR , 2019 , RWC , "3dttest++" , MICRO , TYPE_GENERAL ,
617    "Change ETAC default pthr list" ,
618    "From 5 values to 10.\n"
619    "Also, fix naming of output ETACmask files when user doesn't specify\n"
620    "sideness with the ETAC_opt option." } ,
621 
622  { 6 , MAR , 2019 , RWC , "3dttest++" , MICRO , TYPE_ENHANCE ,
623    "Simpler specification of pthr=RANGE" ,
624    "pthr=0.01/0.001/10 is the same as\n"
625    "pthr=0.01,0.009,0.008,0.007,0.006,0.005,0.004,0.003,0.002,0.001\n"
626    "Implemented via NIML's NI_decode_float_list(), so also availble in some\n"
627    "other places -- which I can't be bothered to look for at this moment." } ,
628 
629  { 4 , MAR , 2019 , RWC , "3dQwarp" , MICRO , TYPE_BUG_FIX ,
630    "-superhard did not imply -workhard :( -- now it does :)" ,
631    NULL } ,
632 
633  { 26 , FEB , 2019 , RWC , "3dPolyfit" , MICRO , TYPE_NEW_OPT ,
634    "Option to save spatial fit coefficients" ,
635    "Plus a little general cleanup of the code and help" } ,
636 
637  { 22 , FEB , 2019 , RWC , "3dXClustSim" , MICRO , TYPE_MODIFY ,
638    "Allow FPR of 1 percent" ,
639    NULL } ,
640 
641  { 8 , FEB , 2019 , RWC , "@afni_refacer_run" , MICRO , TYPE_NEW_OPT ,
642    "Add -deface option -- to remove face rather than replace it" ,
643    NULL } ,
644 
645  { 7 , FEB , 2019 , RWC , "@afni_refacer" , MICRO , TYPE_ENHANCE ,
646    "Replace the substitute face with a better one." ,
647    "Made by 3dQwarp-ing the 10 MSB faces together, to make the result more\n"
648    "face-like." } ,
649 
650  { 30 , JAN , 2019 , RWC , "3dUnifize" , MICRO , TYPE_MODIFY ,
651    "Soft cap on large intensities" ,
652    NULL } ,
653 
654  { 17 , JAN , 2019 , RWC , "@SSwarper" , MICRO , TYPE_ENHANCE ,
655    "Add DRG's erode-dilate trick to clip off some little stuff." ,
656    NULL } ,
657 
658  { 8 , JAN , 2019 , RWC , "@SSwarper" , MINOR , TYPE_NEW_OPT ,
659    "Add '-nolite' option" , "For backwards compatibility and testing." } ,
660 
661  { 8 , JAN , 2019 , RWC , "3dQwarp" , MINOR , TYPE_MODIFY ,
662    "-lite is now the default -- for speed" ,
663    "Based on using @SSwarper with and without -nolite on 31 datasets.\n"
664    "Results are very similar, and no systematic differences between\n"
665    "the -lite and -nolite groups observed in mean or stdev." } ,
666 
667  { 7 , JAN , 2019 , RWC , "3dNwarpApply" , MICRO , TYPE_MODIFY ,
668    "Hopefully uses somewhat less memory now :)" ,
669    NULL } ,
670 
671  { 4 , JAN , 2019 , RWC , "3dQwarp" , MICRO , TYPE_MODIFY ,
672    "Change way patch sizes are initialized for lev > 0" ,
673    "Old way: based on full grid size\n"
674    "New way: based on lev=0 patch size, from autobox\n"
675    "Advantage of new way: with lots of zero padding, first few levs may have\n"
676    "such large patches that they do nothing of value, but burn CPU time.\n"
677    "Stupidity: I don't know why I didn't think of this before - probably\n"
678    "because I never before ran a case with lots of zero padding (100+ voxels\n"
679    "on each face) and watched its snail-like progress with -verb." } ,
680 
681  { 3 , JAN , 2019 , RWC , "@afni_refacer_XXX" , MINOR , TYPE_NEW_PROG ,
682    "Scripts to re-face a T1-weighted dataset" ,
683    "@afni_refacer_make_master = makes the 'shell' dataset used to replace\n"
684    "the face\n"
685    "@afni_refacer_run = runs re-facing on one input dataset" } ,
686 
687  { 13 , DEC , 2018 , RWC , "3dQwarp" , MICRO , TYPE_GENERAL ,
688    "Make -lite work with -plusminus" ,
689    "Also, remove the HLOADER code permanently and with extreme prejudice.\n"
690    "Ditto for DUPLO." } ,
691 
692  { 11 , DEC , 2018 , RWC , "3dQwarp" , MICRO , TYPE_NEW_OPT ,
693    "Also add -Quint30 and -lite options" ,
694    "To run with reduced order polynomials, which are faster and appear to be\n"
695    "about as accurate (as they should be, in asymptotic approximation\n"
696    "theory)." } ,
697 
698  { 10 , DEC , 2018 , RWC , "3dQwarp" , MINOR , TYPE_NEW_OPT ,
699    "-cubic12 = use 12 parameter cubics instead of 24" ,
700    "Faster, and probably just as accurate." } ,
701 
702  { 28 , NOV , 2018 , RWC , "3dAllineate" , MINOR , TYPE_ENHANCE ,
703    "Add lpa+ cost functional" ,
704    "Like lpc+, with extra stuff added in for robustness. Per the suggestion\n"
705    "of Daniel Glen, the master of allineation and punulation." } ,
706 
707  { 16 , NOV , 2018 , RWC , "AFNI GUI" , MICRO , TYPE_ENHANCE ,
708    "Add menu button to set func range = 1" ,
709    NULL } ,
710 
711  { 13 , NOV , 2018 , RWC , "All" , MICRO , TYPE_MODIFY ,
712    "Baby steps towards removing use of XtMalloc etc" ,
713    "Replace XtPointer, XtMalloc, etc, with RwcPointer, RwcMalloc, etc,\n"
714    "everywhere in the code, using new header file replaceXt.h. Eventually\n"
715    "will try to eliminate the use of these functions entirely, in\n"
716    "mcw_malloc." } ,
717 
718  { 6 , NOV , 2018 , RWC , "AFNI WhereAmI" , MICRO , TYPE_ENHANCE ,
719    "Make HTML window use bigger font if requested" ,
720    "If AFNI_TTATLAS_FONTSIZE is 'BIG'; if it isn't set, then if\n"
721    "AFNI_FONTSIZE is 'BIG'. Implemented by changing which header-style tags\n"
722    "are used." } ,
723 
724  { 6 , NOV , 2018 , RWC , "AFNI GUI" , MICRO , TYPE_NEW_ENV ,
725    "new environment variable AFNI_FONTSIZE" ,
726    "Can be 'MINUS' for small, 'PLUS' for bigger, and 'BIG' for\n"
727    "super-embiggened." } ,
728 
729  { 5 , NOV , 2018 , RWC , "AFNI GUI" , MINOR , TYPE_ENHANCE ,
730    "Alpha and Boxed now work with Clusterize" ,
731    NULL } ,
732 
733  { 3 , NOV , 2018 , RWC , "AFNI GUI" , MICRO , TYPE_ENHANCE ,
734    "Boxed now works with Clusterize" ,
735    "Next step: Alpha :) But that's harder :(" } ,
736 
737  { 2 , NOV , 2018 , RWC , "AFNI GUI" , MINOR , TYPE_ENHANCE ,
738    "Add 'A' and 'B' buttons on top of threshold slider" ,
739    "To control Alpha and Boxed." } ,
740 
741  { 2 , NOV , 2018 , RWC , "AFNI GUI" , MICRO , TYPE_ENHANCE ,
742    "Clusterize menu now remembers previous settings" ,
743    "Part of the forthcoming changes for func overlay display et cetera." } ,
744 
745  { 30 , OCT , 2018 , RWC , "AFNI" , MICRO , TYPE_NEW_OPT ,
746    "-julian to print out the Julian date (who doesn't want this?)" ,
747    NULL } ,
748 
749  { 29 , OCT , 2018 , RWC , "AFNI GUI Clusterize" , MICRO , TYPE_MODIFY ,
750    "Switch to use 3dClusterize as external prog, instead of 3dclust" ,
751    NULL } ,
752 
753  { 25 , OCT , 2018 , RWC , "3dFWHMx" , MICRO , TYPE_MODIFY ,
754    "Small changes to improve processing of 2D images." ,
755    NULL } ,
756 
757  { 19 , OCT , 2018 , RWC , "AFNI driver" , MINOR , TYPE_ENHANCE ,
758    "Add PBAR_SAVEIM command to the driver repertoire" ,
759    NULL } ,
760 
761  { 18 , OCT , 2018 , RWC , "1dplot" , MICRO , TYPE_MODIFY ,
762    "Add help explaining how to include TSV labels in plot" ,
763    "Also, change the -ynames plot label sizes to better fit on the default\n"
764    "page." } ,
765 
766  { 17 , OCT , 2018 , RWC , "TSV files" , MINOR , TYPE_MODIFY ,
767    "Replace 'N/A' 'NaN' and 'Inf' with mean of other column values" ,
768    "These strings will no longer stop a column from being marked as 'string'\n"
769    "vs. 'number'." } ,
770 
771  { 17 , OCT , 2018 , RWC , "3dmerge blur" , MICRO , TYPE_MODIFY ,
772    "Make largest FIR filter have half-width of 35, up from 15" ,
773    "It's faster than FFT (at least on my computer)." } ,
774 
775  { 20 , SEP , 2018 , RWC , "3dttest++ etc." , MAJOR , TYPE_ENHANCE ,
776    "ETAC now output global thresholds as well as local" ,
777    "Global thresholds are text tables of cluster-size (or cluster-FOM)\n"
778    "thresholds that apply to the whole volume in the multi-threshold way,\n"
779    "rather than dataset tables that apply voxelwise. Moderately extensive\n"
780    "hanges to programs\n"
781    "  3dMultiThresh  3dXClustSim  3dttest++\n"
782    "and to support files\n"
783    "  mri_threshX.c  thd_Xdataset.c\n"
784    "3dttest++ now has options to turn on/off global and local ETAC threshold\n"
785    "calculations." } ,
786 
787  { 31 , AUG , 2018 , RWC , "1D file input" , MICRO , TYPE_ENHANCE ,
788    "mri_read_1D() now reads 3D: format files" ,
789    "This allows input of 'raw' data files into 1dplot, 1dcat, etc. Mostly\n"
790    "useful for converting raw binary data files to text via 1dcat." } ,
791 
792  { 30 , AUG , 2018 , RWC , "1dsound" , MICRO , TYPE_ENHANCE ,
793    "Default sound output is now 16-bit (less hiss than 8-bit)" ,
794    NULL } ,
795 
796  { 27 , AUG , 2018 , RWC , "1dsound and AFNI GUI" , MINOR , TYPE_MODIFY ,
797    "modify sound output" ,
798    "1dsound now can make sound from up to 4 columns from input file.\n"
799    "AFNI graph viewer GUI keypresses:\n"
800    " p = play sound from central sub-graph\n"
801    " P = play sound from central and average sub-graph (2 toned)\n"
802    " K = kill running sound player\n"
803    "Note that killing AFNI while sound is playing, or using K to kill sound,\n"
804    "will leave a file whose name is like AFNI_SOUND_TEMP.something.au on the\n"
805    "disk, and the user will have to clean it up." } ,
806 
807  { 24 , AUG , 2018 , RWC , "1dsound" , MICRO , TYPE_NEW_OPT ,
808    "-notes option makes notes" ,
809    "This is the default. Pentatonic notes with triangle waveforms." } ,
810 
811  { 23 , AUG , 2018 , RWC , "1dsound" , MINOR , TYPE_NEW_PROG ,
812    "program to generate .au sound file from a 1D file" ,
813    "Very primitive at this moment." } ,
814 
815  { 20 , AUG , 2018 , RWC , "AFNI GUI" , MINOR , TYPE_ENHANCE ,
816    "Play sound with 'p' or 'P' keypresses" ,
817    "p = sound from central graph.\n"
818    "P = sound from average of visible graphs.\n"
819    "Sound is played via sox program (not part of AFNI).\n"
820    "Environment variables:\n"
821    "  AFNI_SOUND_NOTE_TYPE sets type of note played\n"
822    "  AFNI_SOUND_GAIN sets loudness" } ,
823 
824  { 15 , AUG , 2018 , RWC , "3dGrayplot" , MAJOR , TYPE_ENHANCE ,
825    "Total rewrite of resampling from time+space to X+Y grid" ,
826    "Grid refinement (time-X) is now cubic interpolation rather than linear\n"
827    "Grid coarsening (space-Y) is now minimum sidelobe taper averaging rather\n"
828    "than linear tapering" } ,
829 
830  { 7 , AUG , 2018 , RWC , "3dQwarp" , MICRO , TYPE_ENHANCE ,
831    "-allsave now works with -plusminus" ,
832    "Plus tweaked the help to explain some things more better." } ,
833 
834  { 30 , JUL , 2018 , RWC , "3dGrayplot" , MINOR , TYPE_NEW_OPT ,
835    "-percent and -range options" ,
836    "For Cesar C-G.\n"
837    "'-range X' sets the values to be plotted over the range -X..X\n"
838    "(black..white).\n"
839    "'-percent' is for plotting non-zero mean files, by converting them to\n"
840    "percent of baseline (mean). Should be combined with '-range 4' (say)." } ,
841 
842  { 26 , JUL , 2018 , RWC , "3dQwarp" , MICRO , TYPE_MODIFY ,
843    "Remove -duplo option (doesn't work that well)" ,
844    NULL } ,
845 
846  { 23 , JUL , 2018 , RWC , "AFNI driver" , MINOR , TYPE_ENHANCE ,
847    "New command: SET_ULAY_RANGE" ,
848    "For example: SET_ULAY_RANGE A.axialimage 0 200" } ,
849 
850  { 16 , JUL , 2018 , RWC , "@snapshot_volreg" , MICRO , TYPE_MODIFY ,
851    "Turn ALPHA on, and median smooth EPI dataset to improve edges" ,
852    NULL } ,
853 
854  { 29 , MAY , 2018 , RWC , "3dTcorrelate" , MICRO , TYPE_MODIFY ,
855    "Replace DSET_NUM_TIMES with DSET_NVALS" ,
856    "To allow datasets that are not marked with a time axis to be used. Also\n"
857    "in a couple other programs (e.g., 3dDespike)." } ,
858 
859  { 29 , MAY , 2018 , RWC , "AFNI GUI" , MICRO , TYPE_NEW_ENV ,
860    "AFNI_GRAPH_ALLOW_SHIFTN" ,
861    "Needs to be set to YES to enable the old FD-style N<digits><Enter>\n"
862    "method of changing the graph matrix. Some people just can't handle the\n"
863    "freedumb." } ,
864 
865  { 25 , MAY , 2018 , RWC , "various" , MICRO , TYPE_MODIFY ,
866    "Replace DC_find_overlay_color with DC_find_closest_overlay_color" ,
867    "So that incorrect color names can get some sort of love." } ,
868 
869  { 24 , MAY , 2018 , RWC , "AFNI driver" , MINOR , TYPE_ENHANCE ,
870    "Add SNAP_VIEWER command, for the Neon man." ,
871    NULL } ,
872 
873  { 23 , MAY , 2018 , RWC , "3dTfilter" , MICRO , TYPE_NEW_OPT ,
874    "Updates to add capability" ,
875    "Now can set half-width for despike as well as adaptive filter.\n"
876    "Now can use adaptive detrending with new filter 'adetrend'." } ,
877 
878  { 10 , MAY , 2018 , RWC , "AFNI GUI" , MICRO , TYPE_NEW_ENV ,
879    "remove AFNI_ENFORCE_ASPECT from having any effect" ,
880    "This never did very much good, so it is now OFF." } ,
881 
882  { 9 , MAY , 2018 , RWC , "AFNI GUI" , MICRO , TYPE_BUG_FIX ,
883    "Fix 'too many redraws' problem in imseq.c" ,
884    "For some reason, could get many ConfigureNotify events for one image\n"
885    "resize, each event causing a redraw. Now if the redraw ordered by a\n"
886    "ConfigureNotify is exactly the same size as the previous one, it will be\n"
887    "skipped." } ,
888 
889  { 7 , MAY , 2018 , RWC , "@grayplot" , MINOR , TYPE_NEW_PROG ,
890    "Script to drive 3dGrayplot in afni_proc.py output directory" ,
891    "Will grayplot errts* and all_runs datasets, with motion indicator graph\n"
892    "and (if available) sum_ideal.1D graph." } ,
893 
894  { 9 , APR , 2018 , RWC , "3dGrayplot" , MINOR , TYPE_NEW_PROG ,
895    "A plot, a la JD Power, of time series intensities in a brain mask" ,
896    "For Cesar Caballero-Gaudes, and anyone else who actually cares about\n"
897    "data quality." } ,
898 
899  { 28 , MAR , 2018 , RWC , "3dNwarpApply" , MAJOR , TYPE_ENHANCE ,
900    "Program now warps complex-valued datasets." ,
901    "Real and imaginary parts are extracted, warped, and combined.\n"
902    "No special option is needed." } ,
903 
904  { 23 , MAR , 2018 , RWC , "afni GUI" , MINOR , TYPE_ENHANCE ,
905    "Add 3dTstat pseudo-plugin on the Insta-stuff menu" ,
906    "Calculate voxelwise statistics of 3D+time datasets. Works by running\n"
907    "3dTstat. A few changes to 3dTstat to make this easier, as well." } ,
908 
909  { 19 , MAR , 2018 , RWC , "3dTstat" , MINOR , TYPE_NEW_OPT ,
910    "Add -MSSD and -MASD option" ,
911    "MSSD = mean successive squared differences (Von Neumann)\n"
912    "MASD = median absolute successive differences" } ,
913 
914  { 13 , MAR , 2018 , RWC , "3dQwarp" , MICRO , TYPE_ENHANCE ,
915    "-saveall option now writes out as it progresses, not at end" ,
916    "So if 3dQwarp crashes or stalls, the latest saved warp could be used to\n"
917    "re-start the damn thing." } ,
918 
919  { 16 , FEB , 2018 , RWC , "3dTcorr1D" , MICRO , TYPE_NEW_OPT ,
920    "New -dot option (dot product)" ,
921    NULL } ,
922 
923  { 2 , FEB , 2018 , RWC , "AFNI GUI" , MINOR , TYPE_MODIFY ,
924    "Read .jpg and .png 'datasets' by default into sessions" ,
925    NULL } ,
926 
927  { 1 , FEB , 2018 , RWC , "AFNI GUI" , MAJOR , TYPE_NEW_OPT ,
928    "-bysub option for reading from BIDS hierarchy" ,
929    "-bysub 10506 (for example) means to find all sub-directories with names\n"
930    "'sub-10506', and read all datasets find in them and in THEIR\n"
931    "sub-directories into a single session. The idea is to make it easy to\n"
932    "read all datasets corresponding to a single subject from a BID hierarchy\n"
933    "into a single session, for easy of viewing." } ,
934 
935  { 6 , JAN , 2018 , RWC , "3dDeconvolve" , MINOR , TYPE_ENHANCE ,
936    "Add TWOGAM basis function" ,
937    "Arbitrary difference of two GAM functions." } ,
938 
939  { 3 , JAN , 2018 , RWC , "AFNI GUI" , MICRO , TYPE_ENHANCE ,
940    "Add startup tips (to stderr) to AFNI" ,
941    "Source is in afni.c. Search for TIP string." } ,
942 
943  { 20 , DEC , 2017 , RWC , "afni GUI" , MINOR , TYPE_ENHANCE ,
944    "Add driver command DATASET#N" ,
945    "To let the user drive the graph viewer plugin from outside. A little\n"
946    "trickier than I thought, since to do this well requires mucking with the\n"
947    "menu settings inside afni_graph.c as well as registering a new driver\n"
948    "function in plug_nth_dataset.c." } ,
949 
950  { 20 , DEC , 2017 , RWC , "afni GUI" , MINOR , TYPE_ENHANCE ,
951    "Increase the maximum dimension of an image Montage (for PT)" ,
952    NULL } ,
953 
954  { 20 , DEC , 2017 , RWC , "3drefit" , MINOR , TYPE_NEW_OPT ,
955    "-Tslices lets user replace slice time offsets" ,
956    "I don't know why this didn't exist before. So now the user can attach\n"
957    "slice time offsets to a dataset if they weren't correct before (e.g., in\n"
958    "NIFTI files)." } ,
959 
960  { 20 , DEC , 2017 , RWC , "3drefit" , MINOR , TYPE_BUG_FIX ,
961    "Make -substatpar option work better" ,
962    "It didn't work on some datasets, as they weren't labeled as 'bucket'.\n"
963    "That oversight was fixed." } ,
964 
965  { 2 , NOV , 2017 , RWC , "aiv" , MICRO , TYPE_NEW_OPT ,
966    "-pad option makes all images the same size for viewing" ,
967    NULL } ,
968 
969  { 01 , NOV , 2017 , RWC , "afni GUI" , MICRO , TYPE_ENHANCE ,
970    "Add 'Gimp it?' option to image save popup chooser" ,
971    "If gimp is present on the system, then user can save and edit image easily" } ,
972 
973  { 31 , OCT , 2017 , RWC , "3dMultiThresh" , MINOR , TYPE_NEW_OPT ,
974    "Add -allmask option, to see which case(s) caused a positive" ,
975    "Add then used in 3dttest++ to produce the ETACmaskALL output dataset" } ,
976 
977  { 12 , OCT , 2017 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
978    "Slight relocation of UnderLay/OverLay popups -- for the PirATe" ,
979    NULL } ,
980 
981  { 12 , OCT , 2017 , RWC , "afni" , MICRO , TYPE_BUG_FIX ,
982    "Fixed color def problem in pbars (etc) with new find_color_name func" ,
983    NULL } ,
984 
985  { 10 , OCT , 2017 , RWC , "csfft.c" , MICRO , TYPE_ENHANCE ,
986    "Add use of fftn.c for general length DFTs" ,
987    "csfft_cox() still uses my own method for 'reasonable' values, as it\n"
988    "seems to be faster than the general fftn function. Here, reasonable is\n"
989    "defined as having only factors of 3 and 5 up to at most 3^3 * 5^3." } ,
990 
991  { 5 , OCT , 2017 , RWC , "3dTsort" , MICRO , TYPE_NEW_OPT ,
992    "add -ranFFT option, for Cesar" ,
993    NULL } ,
994 
995  { 4 , OCT , 2017 , RWC , "3dTsort" , MICRO , TYPE_NEW_OPT ,
996    "add -random option = shuffle each time series independently" ,
997    NULL } ,
998 
999  { 3 , OCT , 2017 , RWC , "afni GUI" , MICRO , TYPE_ENHANCE ,
1000    "Add bot/top selection to pbar in THREE mode" ,
1001    NULL } ,
1002 
1003  { 27 , SEP , 2017 , RWC , "3dXClustSim" , MICRO , TYPE_BUG_FIX ,
1004    "Ooops: modify to have different min thresholds for each FPR goal" ,
1005    NULL } ,
1006 
1007  { 26 , SEP , 2017 , RWC , "3dttest++" , MINOR , TYPE_ENHANCE ,
1008    "Make -zskip work nicely with -resid" ,
1009    NULL } ,
1010 
1011  { 21 , SEP , 2017 , RWC , "3dXClustSim" , MICRO , TYPE_NEW_OPT ,
1012    "Allow user to set -minclust (instead of fixed at 5)" ,
1013    NULL } ,
1014 
1015  { 19 , SEP , 2017 , RWC , "1dplot" , MICRO , TYPE_NEW_OPT ,
1016    "add -line option for drawing arbitrary line segments" ,
1017    NULL } ,
1018 
1019  { 15 , SEP , 2017 , RWC , "1dplot" , MINOR , TYPE_ENHANCE ,
1020    "Allow -xaxis to have bot > top, so x decreases from left to right" ,
1021    NULL } ,
1022 
1023  { 12 , SEP , 2017 , RWC , "sorting functions" , MICRO , TYPE_MODIFY ,
1024    "Increase stack size in qsort funcs, for very large arrays" ,
1025    NULL } ,
1026 
1027  { 23 , AUG , 2017 , RWC , "3dttest++" , MINOR , TYPE_ENHANCE ,
1028    "All 'fpr=ALL' in -ETAC_opt" ,
1029    "To let user get results for FPR goals from 2-9 percent." } ,
1030 
1031  { 22 , AUG , 2017 , RWC , "3dttest++" , MICRO , TYPE_ENHANCE ,
1032    "Small changes in running ETAC" ,
1033    "1) Option -ETAC_mem prints out ETAC memory usage (and stops) to help\n"
1034    "user setup\n"
1035    "2) If usage is high, runs 3dXClustSim with -unmap option to unmap/remap\n"
1036    "datasets to economize memory usage" } ,
1037 
1038  { 4 , AUG , 2017 , RWC , "3dttest++" , MINOR , TYPE_BUG_FIX ,
1039    "-ETAC failed without multiple blur cases" ,
1040    "Addition of -ETAC_blur broke the non-blur runs, due to lack of the\n"
1041    "correct 'label' for dealing with the results from 3dXClustSim.\n"
1042    "Obviously, this was the work of saboteurs." } ,
1043 
1044  { 2 , AUG , 2017 , RWC , "3dBrainSync" , MAJOR , TYPE_NEW_PROG ,
1045    "BrainSync algorithm of Joshi, from OHBM 2017" ,
1046    "Also, my own permutation method (to avoid linear combination of\n"
1047    "disparate time points)." } ,
1048 
1049  { 25 , JUL , 2017 , RWC , "3dttest++" , MICRO , TYPE_ENHANCE ,
1050    "Extend '5percent' outputs to cover 1-9 percent range." ,
1051    "Just for fun fun fun in the sun sun sun.  Also, the whole replicability\n"
1052    "thing that's going down these days." } ,
1053 
1054  { 20 , JUL , 2017 , RWC , "3dFWHMx" , MAJOR , TYPE_NEW_OPT ,
1055    "Require -ShowMeClassicFWHM to get the Forman FWHM estimates" ,
1056    "Otherwise, these results are shown only as zeros.  The intention is to\n"
1057    "make it harder to use an archaic model for the noise spatial\n"
1058    "correlation.  But not to break afni_proc.py, which expects 4 values to\n"
1059    "be output there." } ,
1060 
1061  { 13 , JUL , 2017 , RWC , "3dclust" , MINOR , TYPE_NEW_OPT ,
1062    "Add '-NNx' options to specify clustering method" ,
1063    "-NN1 or -NN2 or -NN3\n"
1064    "These can replace the use of 'rmm' and 'vmul', and are meant\n"
1065    "to make using this program simpler and more compatible with\n"
1066    "Clusterize in the AFNI GUI." } ,
1067 
1068  { 17 , MAY , 2017 , RWC , "3dttest++" , MICRO , TYPE_MODIFY ,
1069    "Make -ETAC and -Clustsim work together" ,
1070    "Makes it easier to test these two methods at the same time." } ,
1071 
1072  { 3 , MAY , 2017 , RWC , "Historical Records" , MINOR , TYPE_ENHANCE ,
1073    "Add the AFNI version to the History Note for new datasets" ,
1074    "So the user can see (via 3dinfo) exactly what version created a dataset." } ,
1075 
1076  { 26 , APR , 2017 , RWC , "3dMultiThresh" , MICRO , TYPE_NEW_OPT ,
1077    "Add option to choose sign for 1-sided thresholding" ,
1078    NULL } ,
1079 
1080  { 26 , APR , 2017 , RWC , "3dXClustSim" , MICRO , TYPE_BUG_FIX ,
1081    "Bug in looping index in STEP 2 caused malloc() problems.  Oog" ,
1082    NULL } ,
1083 
1084  { 21 , APR , 2017 , RWC , "3dttest++" , MAJOR , TYPE_ENHANCE ,
1085    "Extensive modifications to ETAC" ,
1086    "Adding the ability to due multiple amounts of blurring.  Some changes to\n"
1087    "3dttest++ and 3dMultiThresh, big changes to 3dXClustSim." } ,
1088 
1089  { 27 , MAR , 2017 , RWC , "afni GUI" , MICRO , TYPE_NEW_ENV ,
1090    "AFNI_LEFT_IS_POSTERIOR" ,
1091    "To show posterior of brain on the left (instead of right) in sagittal\n"
1092    "image and graph viewers. A complement to AFNI_LEFT_IS_LEFT." } ,
1093 
1094  { 21 , MAR , 2017 , RWC , "AFNI GUI" , MICRO , TYPE_BUG_FIX ,
1095    "Improper fading of overlay plots in Montage" ,
1096    "function scale_memplot() was scaling the opacity factor as well as the\n"
1097    "xy coordinates - D'oh!" } ,
1098 
1099  { 16 , MAR , 2017 , RWC , "3dttest++" , MINOR , TYPE_ENHANCE ,
1100    "-Clustsim option now also output 5 percent points for global z-stat" ,
1101    "Takes the global min/max of the randomized z-stat results for each\n"
1102    "iteration (10000) and then computes the 5 percent points for the\n"
1103    "1-sided and 2-sided cases.  Is this useful?  Maybe for somebody." } ,
1104 
1105  { 13 , MAR , 2017 , RWC , "mri_lsqfit" , MICRO , TYPE_GENERAL ,
1106    "explicitly check for all zero input ref vectors" ,
1107    NULL } ,
1108 
1109  { 1 , MAR , 2017 , RWC , "3dUnifize" , MAJOR , TYPE_NEW_OPT ,
1110    "Add -EPI option, to unifize time series datasets." ,
1111    NULL } ,
1112 
1113  { 28 , FEB , 2017 , RWC , "3dExtractGroupInCorr" , MICRO , TYPE_NEW_PROG ,
1114    "Program to reconstruct individual dataset from a .niml/.data pair." ,
1115    "This program is for any unfortunate person who has lost the datasets\n"
1116    "that were used to create the 3dGroupInCorr inputs.  It is not really\n"
1117    "'NEW', since it has been around for my personal use for a while, but now\n"
1118    "it is being included in the AFNI distribution for the masses to enjoy." } ,
1119 
1120  { 28 , FEB , 2017 , RWC , "3dEmpty" , MICRO , TYPE_NEW_OPT ,
1121    "Add -geom option = define dataset by a 'MATRIX(...)' string" ,
1122    NULL } ,
1123 
1124  { 27 , FEB , 2017 , RWC , "afni GUI" , MICRO , TYPE_NEW_ENV ,
1125    "AFNI_IMAGE_LABEL_IJK" ,
1126    "If this variable is set to YES, then the image label overlay (chosen\n"
1127    "from the intensity bar popup menu) will show the slice index instead of\n"
1128    "the slice coordinate. (for PT)" } ,
1129 
1130  { 24 , FEB , 2017 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
1131    "Turn off crosshairs and left-is-left if all inputs are image files." ,
1132    "Also, hide the help for 'afni -im' since AFNI can now read images\n"
1133    "directly as 'datasets'." } ,
1134 
1135  { 22 , FEB , 2017 , RWC , "AFNI gui" , MICRO , TYPE_MODIFY ,
1136    "Add VG painting effect to AFNI image viewer" ,
1137    "Just for fun, please!" } ,
1138 
1139  { 20 , FEB , 2017 , RWC , "3dDespike" , MINOR , TYPE_BUG_FIX ,
1140    "Scale factor bug" ,
1141    "The program ignored the scale factors attached to short datasets.\n"
1142    "If they were all the same, that was not a problem.\n"
1143    "But if they differed, then that was a big problem.\n"
1144    "That was fixed.  Also, the output now is always in float format." } ,
1145 
1146  { 13 , FEB , 2017 , RWC , "3dSharpen" , MICRO , TYPE_NEW_PROG ,
1147    "Sharpening filter in 3D" ,
1148    NULL } ,
1149 
1150  { 9 , FEB , 2017 , RWC , "thresholding" , MINOR , TYPE_NEW_ENV ,
1151    "Fix inconsistency in thresholding with short-valued bricks" ,
1152    "In the AFNI GUI, thresholding is done with floats.\n"
1153    "But in 3dmerge and in Clusterize, if the thresh brick is a short,\n"
1154    "thresholding was done with shorts.  And the user-supplied threshold was\n"
1155    "ROUNDED -- so that a threshold of 2.2 would become 2, which means that a\n"
1156    "value of 2 was OK -- which it shouldn't be.  Solution: change those\n"
1157    "places to threshold with floats. However, if someone wants to keep the\n"
1158    "old way for compatibility, then they can set AFNI_OLD_SHORT_THRESH to\n"
1159    "YES." } ,
1160 
1161  { 31 , JAN , 2017 , RWC , "minimize_in_1D func" , MICRO , TYPE_GENERAL ,
1162    "Modify to be more robust (I hope)." ,
1163    "Used in solving for inverse to mixed model ACF (e.g., to get FWHM)." } ,
1164 
1165  { 30 , JAN , 2017 , RWC , "ccalc etc" , MICRO , TYPE_ENHANCE ,
1166    "Add acfwxm function to parser programs" ,
1167    "To compute the Full Width at X Maximum for the mixed ACF model, for\n"
1168    "input parameters a,b,c at level x (0 < x < 1) = acfwxm(a,b,c,x)" } ,
1169 
1170  { 23 , JAN , 2017 , RWC , "3dAllineate" , MICRO , TYPE_MODIFY ,
1171    "for ls, lpc, lpa: use -autoweight by default unless user changes it" ,
1172    "The default weighting scheme was -autobox for all schemes.  For ls, lpc,\n"
1173    "lpa, the default is not -autoweight -- if the user changes the weight,\n"
1174    "this won't be enforced." } ,
1175 
1176  { 19 , JAN , 2017 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
1177    "Give warning when -lpa or -lpc is used without -autoweight" ,
1178    "At beginning and at end. Thanks to PT." } ,
1179 
1180  { 18 , JAN , 2017 , RWC , "3dmerge" , MICRO , TYPE_NEW_OPT ,
1181    "option -nozero will prevent output of an all zero dataset" ,
1182    NULL } ,
1183 
1184  { 12 , JAN , 2017 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1185    "First view of OLay: set sub-bricks to reasonable values" ,
1186    "Where 'reasonable' is in the eye of RWCox." } ,
1187 
1188  { 12 , JAN , 2017 , RWC , "@snapshot_volreg" , MICRO , TYPE_MODIFY ,
1189    "Crop the volume before snapshot-ing" ,
1190    "Cropping helps remove lots of blank space in the output.\n"
1191    "Also, compute the slice spacing in the montages adaptively from\n"
1192    "the dataset dimensions." } ,
1193 
1194  { 11 , JAN , 2017 , RWC , "@snapshot_volreg" , MICRO , TYPE_MODIFY ,
1195    "@snapshot_volreg has been replaced by the former @snapshot_volreg3" ,
1196    "Also, replaced the use of the 'pam' functions with similar 'pnm'\n"
1197    "functions, to help in portability to demented Linux systems." } ,
1198 
1199  { 10 , JAN , 2017 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1200    "Change x,y signs in 'Go to atlas location' menu for SPM coords" ,
1201    "Per the request of Todd Braver" } ,
1202 
1203  { 30 , DEC , 2016 , RWC , "3dttest++" , MICRO , TYPE_NEW_OPT ,
1204    "Add -ACF option -- to compute ACF parameters from residuals" ,
1205    NULL } ,
1206 
1207  { 29 , DEC , 2016 , RWC , "@SSwarper" , MINOR , TYPE_NEW_PROG ,
1208    "New script to combine skull stripping and nonlinear warping" ,
1209    "Uses partial warping to improve skull stripping, and then finishes the\n"
1210    "warping, producing outputs compatible for use with afni_proc.py\n"
1211    "-tlrc_NL_warped_dsets" } ,
1212 
1213  { 21 , DEC , 2016 , RWC , "3dQwarp" , MICRO , TYPE_GENERAL ,
1214    "Add -awarp option, to save Allineate-to-Nonlinear warp only" ,
1215    "If -allineate is used, the output WARP dataset is the catenated affine\n"
1216    "transform from 3dAllineate and the nonlinear warp from Warpomatic.  If\n"
1217    "the user wants to keep the 'pure' nonlinear warp from Warpomatic, then\n"
1218    "'-awarp' will do so, with a dataset containing the AWARP moniker." } ,
1219 
1220  { 21 , DEC , 2016 , RWC , "3dQwarp" , MINOR , TYPE_NEW_OPT ,
1221    "Add '-wmask' option" ,
1222    "Like '-wball', enhances the auto-generated weight in a region, but this\n"
1223    "region is selected by a mask dataset." } ,
1224 
1225  { 20 , DEC , 2016 , RWC , "3dUnifize" , MICRO , TYPE_MODIFY ,
1226    "Tweak to make sure tiny values aren't amplified much by -GM" ,
1227    "Tiny positive values way outside the brain could get super-amplified by\n"
1228    "the -GM switch, producing a 3D halo.  This fix clips those off." } ,
1229 
1230  { 20 , DEC , 2016 , RWC , "AFNI GUI" , MICRO , TYPE_ENHANCE ,
1231    "Allow blowups for saved montage images" ,
1232    "For @snapshot_volreg3 script, but of course anyone can use it now." } ,
1233 
1234  { 18 , NOV , 2016 , RWC , "afni GUI" , MICRO , TYPE_ENHANCE ,
1235    "Add 'QUITT' command to the driver" ,
1236    "Exits AFNI immediately, rather than calling the usual leisurely rundown.\n"
1237    "For use in scripts, to save a little time." } ,
1238 
1239  { 17 , NOV , 2016 , RWC , "afni GUI" , MICRO , TYPE_ENHANCE ,
1240    "Four new colorscales" ,
1241    NULL } ,
1242 
1243  { 7 , NOV , 2016 , RWC , "3dTfilter" , MINOR , TYPE_NEW_PROG ,
1244    "Platform for generic filtering of time series" ,
1245    "Right now, just for adaptive local mean filtering (generalized smoothing\n"
1246    "plus despiking)." } ,
1247 
1248  { 4 , NOV , 2016 , RWC , "afni InstaCorr" , MINOR , TYPE_ENHANCE ,
1249    "Two small changes" ,
1250    "(1) Extend the range of the bandpass to allow up to 10Hz (formerly only\n"
1251    "up to 1Hz).  10Hz = Nyquist frequency for TR=0.05s, which is pretty fast\n"
1252    "for MRI -- but doable for single slice imaging.\n"
1253    "(2) Add a #PC option, to compute principal components to use as global\n"
1254    "orts." } ,
1255 
1256  { 3 , NOV , 2016 , RWC , "afni GUI" , MICRO , TYPE_ENHANCE ,
1257    "Experiment with logging duration of use (only for me for now)" ,
1258    NULL } ,
1259 
1260  { 3 , NOV , 2016 , RWC , "afni GUI" , MICRO , TYPE_BUG_FIX ,
1261    "Single slice dataset InstaCorr failed" ,
1262    "Due to the 'roundtrip' index calculation giving a value outside the\n"
1263    "dataset.  This is now prevented." } ,
1264 
1265  { 2 , NOV , 2016 , RWC , "3dTproject" , MICRO , TYPE_MODIFY ,
1266    "Add warning message if DOF is less than 20" ,
1267    NULL } ,
1268 
1269  { 20 , OCT , 2016 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1270    "Don't get 'vedit' volume for threshold slice when OLay==Thr brick" ,
1271    "When Clusterize is on, the steps are\n"
1272    "1) create a new overlay volume that is 'edited' -- set to zero where Thr\n"
1273    "is too small or cluster was too small -- this is on the OLay grid\n"
1274    "2) colorization fetches 2D slices from OLay and Thr sub-bricks for\n"
1275    "viewing, interpolated to the ULay grid, then processes them for display\n"
1276    "(threshold+coloring)\n"
1277    "But when OLay==Thr, and anything but NN interpolation is used at step 2,\n"
1278    "then the visible shape of the clusters can change due to the\n"
1279    "interpolation of the Thr slice after its volume was edited.  To avoid\n"
1280    "this, volume editing is now skipped when extracting the threshold slice\n"
1281    "in step 2.\n"
1282    "This artifact occurs because of the 'warp-on-demand' feature in AFNI,\n"
1283    "which allows the display of overlays whose grid does not match the\n"
1284    "underlay grid, combined with the nonlinear operations of thresholding\n"
1285    "and clusterizing.  Since DRG brought this to my attention, he has to\n"
1286    "bring the cookies to the next group meeting." } ,
1287 
1288  { 13 , OCT , 2016 , RWC , "3dttest++" , MINOR , TYPE_BUG_FIX ,
1289    "Fix -BminusA bug" ,
1290    "double sign reversal == no sign reversal == not good for anyone" } ,
1291 
1292  { 30 , SEP , 2016 , RWC , "AFNI plugins" , MAJOR , TYPE_GENERAL ,
1293    "A long list of little-used plugins has been disabled." ,
1294    "They can all be re-enabled by setting environment variable\n"
1295    "AFNI_ALLOW_ALL_PLUGINS to YES.\n"
1296    "Or each one can be individually re-enabled by setting environment\n"
1297    "variable AFNI_ALLOW_somename_PLUGIN to YES, where the list of such\n"
1298    "plugins can be found in file README.environment." } ,
1299 
1300  { 30 , SEP , 2016 , RWC , "AFNI GUI" , MICRO , TYPE_ENHANCE ,
1301    "Let user specify length of adaptive mean Tran 1D function" ,
1302    "Through environment variable AFNI_AdptMeanWidth" } ,
1303 
1304  { 29 , SEP , 2016 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1305    "New 1D transform = AdptMean19 = 19 point adaptive local mean" ,
1306    NULL } ,
1307 
1308  { 29 , SEP , 2016 , RWC , "3dDespike" , MINOR , TYPE_NEW_OPT ,
1309    "-NEW25 is a slightly more agressive approach" ,
1310    "(a) uses 25 point running median instead of 9 for pre-filtering\n"
1311    "(b) sets cut2=3.2 (4 MADs) instead of 4.0 (5 MADs)" } ,
1312 
1313  { 30 , AUG , 2016 , RWC , "3dtoXdataset" , MINOR , TYPE_NEW_PROG ,
1314    "Convert 3D datasets to a list of in-mask shorts" ,
1315    "Purpose = compression for use in 3dClustSimX simulations.  The '.sdat'\n"
1316    "format is now directly write-able from 3dttest++, so this program is\n"
1317    "probably not generally useful." } ,
1318 
1319  { 30 , AUG , 2016 , RWC , "3dClustSimX" , SUPER , TYPE_NEW_PROG ,
1320    "Generalized cluster simulation" ,
1321    "Hopefully, the new way forward.  Not ready for general users yet, but\n"
1322    "getting there." } ,
1323 
1324  { 9 , AUG , 2016 , RWC , "3dAllineate" , MICRO , TYPE_ENHANCE ,
1325    "Allow IDENTITY to specify the identity matrix for transformations" ,
1326    "In options -1Dparam_apply and -1Dmatrix_apply -- to make resampling\n"
1327    "simpler for the hopeless users out there" } ,
1328 
1329  { 9 , AUG , 2016 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1330    "If A controller pops up with a negative x or y, move it" ,
1331    "This is an attempt to overcome some peculiar bug in XQuartz on El\n"
1332    "Capitan, where the A controller pops up, then disappears to a negative x\n"
1333    "location (off screen)." } ,
1334 
1335  { 4 , AUG , 2016 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
1336    "Changes to keep controller height from expanding on Linux" ,
1337    "Of course, being on a Mac, I can't actually test this change." } ,
1338 
1339  { 4 , AUG , 2016 , RWC , "1dsum" , MICRO , TYPE_ENHANCE ,
1340    "Save # header lines from mri_read_1D; echo back in 1dsum output" ,
1341    "For use in combining 3dClustSim outputs, for example." } ,
1342 
1343  { 22 , JUL , 2016 , RWC , "3dttest++" , MICRO , TYPE_MODIFY ,
1344    "New -nocov option for used with -Clustsim" ,
1345    "To avoid writing out the -covariates sub-bricks in the -Clustsim\n"
1346    "operation.  Not clear that it is useful otherwise." } ,
1347 
1348  { 21 , JUL , 2016 , RWC , "3dttest++" , MICRO , TYPE_MODIFY ,
1349    "if -clustsim, check for non-3D datasets (e.g., surfaces)" ,
1350    NULL } ,
1351 
1352  { 20 , JUL , 2016 , RWC , "3dttest++" , MICRO , TYPE_NEW_OPT ,
1353    "-tempdir for -Clustsim" ,
1354    NULL } ,
1355 
1356  { 14 , JUL , 2016 , RWC , "3dttest++" , MICRO , TYPE_BUG_FIX ,
1357    "Fix problem with -resid combined with -clustsim" ,
1358    "Program assumed prefix_resid was NIFTI format,"
1359    "so just add '.nii' if it does have that already." } ,
1360 
1361  { 8 , JUL , 2016 , RWC , "3dttest++" , MAJOR , TYPE_ENHANCE ,
1362    "Extend -clustsim option" ,
1363    "Covariates and centering\n"
1364    "1- and 2-sided\n"
1365    "unpooled and paired\n"
1366    "1 sample as well as 2 sample" } ,
1367 
1368  { 6 , JUL , 2016 , RWC , "3dQwarp" , MICRO , TYPE_ENHANCE ,
1369    "Allow .jpg or .png file as source/base 'dataset' for 2D warping" ,
1370    NULL } ,
1371 
1372  { 21 , JUN , 2016 , RWC , "3dmaskave" , MICRO , TYPE_NEW_OPT ,
1373    "Add -perc option for percentile" ,
1374    NULL } ,
1375 
1376  { 14 , JUN , 2016 , RWC , "3dREMLfit" , MICRO , TYPE_BUG_FIX ,
1377    "Conversion to vector image fails for LARGE datasets" ,
1378    "The final step in the conversion to vectim is scanning the data for\n"
1379    "floating point errors (NaN, infinity).  If there are more than 2^31-1\n"
1380    "voxels, integer overflow caused problems.  Fixed by making the loop\n"
1381    "variables in the floatscan functions be size_t, not int.  This problem\n"
1382    "certainly lurks elsewhere in AFNI, waiting to pounce on Spaniards." } ,
1383 
1384  { 14 , JUN , 2016 , RWC , "3dBlurInMask" , MINOR , TYPE_NEW_OPT ,
1385    "Option -FWHMdset allows specifying per-voxel blurring parameter" ,
1386    "For use with 3dLocalACF and scripting.  EXPERIMENTAL!" } ,
1387 
1388  { 9 , JUN , 2016 , RWC , "3dLocalACF" , MINOR , TYPE_NEW_PROG ,
1389    "Estimate ACF parameters locally.  Slow and experimental." ,
1390    NULL } ,
1391 
1392  { 3 , JUN , 2016 , RWC , "3dQwarp" , MICRO , TYPE_NEW_OPT ,
1393    "-wtprefix to save computed weight to dataset" ,
1394    NULL } ,
1395 
1396  { 2 , JUN , 2016 , RWC , "afni GUI" , MINOR , TYPE_ENHANCE ,
1397    "Creation of All_Datasets session" ,
1398    "If more than one session is input or created, then the All_Datasets\n"
1399    "session is created as the catenation of all of them.  This will help\n"
1400    "people who want to look at data in multiple directories without moving\n"
1401    "them together." } ,
1402 
1403  { 24 , MAY , 2016 , RWC , "3dQwarp" , MICRO , TYPE_MODIFY ,
1404    "Remove second cubic and quintic iterations at lev=0" ,
1405    "Repeating these iterations almost never does any good, and takes up a\n"
1406    "fair amount of time." } ,
1407 
1408  { 24 , MAY , 2016 , RWC , "3dUnifize" , MINOR , TYPE_MODIFY ,
1409    "Alter default -clfrac value to 0.2" ,
1410    "Because old 0.1 default would often have too much noise outside the head\n"
1411    "when used with non-skull-stripped datasets.  User can still set '-clfrac\n"
1412    "0.1' if needed." } ,
1413 
1414  { 20, MAY , 2016 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1415    "alter 'Jumpto OLay Max/Min @Thr' menu button backgrounds to black" ,
1416    "Because I find them hard to find; from Hangzhou China - Ni Hao!" } ,
1417 
1418  { 19, MAY , 2016 , RWC , "3dQwarp" , MINOR , TYPE_NEW_OPT ,
1419    "-wball = emphasize some (spherical) region in the weighting" ,
1420    "Written in Hangzhou China -- for Peng" } ,
1421 
1422  { 17, MAY , 2016 , RWC , "3dUnifize" , MICRO , TYPE_BUG_FIX ,
1423    "-ssave option caused a crash :-(" ,
1424    "fixed in Hangzhou China" } ,
1425 
1426  { 17, MAY , 2016 , RWC , "3dTshift" , MICRO , TYPE_MODIFY ,
1427    "Update error messages to be more informative" ,
1428    "To find problem in unWarpEPI.py script - from Hangzhou China" } ,
1429 
1430  { 15, MAY, 2016 , RWC , "3dNwarpApply" , MICRO , TYPE_MODIFY ,
1431    "Update error messages yet again (a little)" , NULL } ,
1432 
1433  { 6 , MAY , 2016 , RWC , "afni GUI" , MICRO , TYPE_NEW_OPT ,
1434    "-XXXnpane to set number of panes in pbar" ,
1435    "For the elusive ZXu, man of many nations." } ,
1436 
1437  { 5 , MAY , 2016 , RWC , "3dTstat" , MICRO , TYPE_NEW_OPT ,
1438    "Option -percentile P" ,
1439    "Computes the Pth percentile 0 <= P <= 100 of the data in each voxel. \n"
1440    "Can only be used once per run!" } ,
1441 
1442  { 4 , MAY , 2016 , RWC , "3dREMLfit" , MICRO , TYPE_BUG_FIX ,
1443    "-dsort always produced the _nods dataset; now, only if -nods is used" ,
1444    NULL } ,
1445 
1446  { 27 , APR , 2016 , RWC , "afni + 3dGroupInCorr" , MICRO , TYPE_GENERAL ,
1447    "Remind user of what to do after 3dGIC connects to afni GUI" ,
1448    "This is the Caballero-Rossi popup reminder." } ,
1449 
1450  { 20 , APR , 2016 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1451    "new Jumpto IJK for Overlay button" ,
1452    "For someone in the Tulsa class :)" } ,
1453 
1454  { 18 , APR , 2016 , RWC , "afni GUI" , MICRO , TYPE_NEW_ENV ,
1455    "Open all 3 image viewers by default" ,
1456    "New variables AFNI_OPEN_AXIAL (etc.) will turn off axial"
1457    "image viwer (etc.) if set to NO -- for LIBR and Tulsa." } ,
1458 
1459  { 14 , APR , 2016 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1460    "Make AFNI_FLASH_VIEWSWITCH turn off all obnoxious stuff" ,
1461    "For Mr Neon (or is that Dr Neon?)" } ,
1462 
1463  { 8 , APR , 2016 , RWC , "afni GUI" , MICRO , TYPE_NEW_OPT ,
1464    "Add '-XXX defaults'" ,
1465    NULL } ,
1466 
1467  { 7 , APR , 2016 , RWC , "3dGroupInCorr" , MICRO , TYPE_NEW_ENV ,
1468    "AFNI_GIC_DEBUG=YES will cause lots of debugging printouts" ,
1469    "For Sharyn and Cesar." } ,
1470 
1471  { 5 , APR , 2016 , RWC , "3dQwarp" , MINOR , TYPE_NEW_OPT ,
1472    "fix bug with -5final -- but still hide from user" ,
1473    NULL } ,
1474 
1475  { 25 , MAR , 2016 , RWC , "afni GUI" , MINOR , TYPE_NEW_OPT ,
1476    "A bunch of '-XXX' options to control colors and fonts" ,
1477    NULL } ,
1478 
1479  { 24 , MAR , 2016 , RWC , "afni GUI" , MICRO , TYPE_NEW_OPT ,
1480    "Add -XXX option" ,
1481    "Moving towards letting user set X11 things (fonts, colors) on the\n"
1482    "command line.  Still needs work, but has some functionality now for the\n"
1483    "true Jedi AFNI Master." } ,
1484 
1485  { 17 , MAR , 2016 , RWC , "dataset input" , MICRO , TYPE_ENHANCE ,
1486    "Input random dataset or 1D file on command line" ,
1487    "jRandomDataset:64,64,32,22 creates a random dataset with nx=64, ny=64,\n"
1488    "nz=32, and 22 time points.\n"
1489    "jRandom1D:128,16 creates a random 1D file with 128 rows and 16 columns.\n"
1490    "These are shortcuts for testing programs, which avoid having to create\n"
1491    "temporary files via 3dcalc (say).  In other words, these 'inputs' are\n"
1492    "testaments to my preference to write C code than do actual work." } ,
1493 
1494  { 17 , MAR , 2016 , RWC , "3dTproject" , MINOR , TYPE_BUG_FIX ,
1495    "Fix problem in setting count of bandpass regressors" ,
1496    "Typo meant that Nyquist frequency might not be counted properly,\n"
1497    "resulting in bad stuff (memory corruption)." } ,
1498 
1499  { 10 , MAR , 2016 , RWC , "debugtrace.h" , MICRO , TYPE_MODIFY ,
1500    "Output command line, if available, in crash report" , NULL } ,
1501 
1502  { 8 , MAR , 2016 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1503    "Turn Auto-scaling on in graph windows by default" , NULL } ,
1504 
1505  { 8 , MAR , 2016 , RWC , "3dTproject" , MICRO , TYPE_MODIFY ,
1506    "Add STATUS calls to 3dTproject for debugging" , NULL } ,
1507 
1508  { 8 , MAR , 2016 , RWC , "3dvolreg" , MICRO , TYPE_MODIFY ,
1509    "Default resampling now heptic, not Fourier." , NULL } ,
1510 
1511  { 7 , MAR , 2016 , RWC , "3dDeconvolve" , MICRO , TYPE_MODIFY ,
1512    "Double default size of Xmat JPEG file" ,
1513    "To avoid losing resolution when looking at TENT designs." } ,
1514 
1515  { 22 , FEB , 2016 , RWC , "debugtrace.c" , MICRO , TYPE_NEW_OPT ,
1516    "Colorize WARNING and ERROR message prefixes." ,
1517    "Can turn off by setting AFNI_MESSAGE_COLORIZE to NO. For Javier." } ,
1518 
1519  { 11 , FEB , 2016 , RWC , "3dGroupInCorr" , MICRO , TYPE_NEW_OPT ,
1520    "Add -ztest option == test inputs if they are all zero" ,
1521    "For Cesar." } ,
1522 
1523  { 11 , FEB , 2016 , RWC , "afni version check" , MICRO , TYPE_GENERAL ,
1524    "add https support to thd_http.c" ,
1525    "Via wget or curl, plus popen+fread+pclose.  Cheap, but works." } ,
1526 
1527  { 11 , FEB , 2016 , RWC , "3dttest++" , MAJOR , TYPE_NEW_OPT ,
1528    "-clustsim option" ,
1529    "This option runs 3dttest++ with -randomize and then 3dClustSim with\n"
1530    "-inset, to produce cluster-threshold tables for inclusion in the output.\n"
1531    " It is my intention that this method will replace the use of 3dFWHMx and\n"
1532    "3dClustSim.  Knock wood, and help Make AFNI Great Again!" } ,
1533 
1534  { 9 , FEB , 2016 , RWC , "3dQwarp" , MICRO , TYPE_GENERAL ,
1535    "Tested on 2D images (single-slice datasets)" ,
1536    "It actually worked.  Added a comment to that effect in the help output." } ,
1537 
1538  { 9 , FEB , 2016 , RWC , "3dGroupInCorr" , MICRO , TYPE_NEW_OPT ,
1539    "-read option" ,
1540    "To 'read()' data in, instead of 'mmap()' -- for network mounted data\n"
1541    "where 'mmap()' fails to work.  For Cesar Caballero." } ,
1542 
1543  { 5 , FEB , 2016 , RWC , "3dClustSim" , MAJOR , TYPE_NEW_OPT ,
1544    "New -inset option" ,
1545    "Directly give the simulations, rather than generate them internally. \n"
1546    "Intended for use with '3dttest++ -randomsign N -toz' and '3dttest++\n"
1547    "-resid' to get the cluster thresholds directly from the data rather than\n"
1548    "assumptions of Gaussianity." } ,
1549 
1550  { 5 , FEB , 2016 , RWC , "3dttest++" , MICRO , TYPE_MODIFY ,
1551    "Add number of iterations to -randomsign option" ,
1552    "For use with 3dClustSim -inset" } ,
1553 
1554  { 26, JAN , 2016 , RWC , "1dNLfit" , MINOR , TYPE_NEW_PROG ,
1555    "1D file nonlinear fitting" ,
1556    "Uses the 'calc' parser to define the function to fit.\n"
1557    "Mostly for the convenience of The Bob." } ,
1558 
1559   { 22 , JAN , 2016 , RWC , "1deval" , MICRO , TYPE_NEW_OPT ,
1560    "Fixed value assignments, as in '-a=3.7'" ,
1561    "For my convenience" } ,
1562 
1563  { 6 , JAN , 2016 , RWC , "1dplot" , MICRO , TYPE_NEW_OPT ,
1564    "new -pnm option, to save to PNM image format" ,
1565    "To make it easier to manipulate results in scripts (e.g., pnmcat)." } ,
1566 
1567  { 5 , JAN , 2016 , RWC , "@get.afni.version" , MICRO , TYPE_NEW_PROG ,
1568    "Script to fetch source for a particular AFNI version tag" ,
1569    NULL } ,
1570 
1571  { 31 , DEC , 2015 , RWC , "3dttest++" , MICRO , TYPE_BUG_FIX ,
1572    "Don't allow -resid and -zskip at the same time" ,
1573    "Because sorting out the residuals back to their proper places would\n"
1574    "be hard, if some inputs were skipped." } ,
1575 
1576  { 30 , DEC , 2015 , RWC , "3dBlurToFWHM" , MINOR , TYPE_NEW_OPT ,
1577    "add -acf option, to estimate FWHM via the ACF method" ,
1578    NULL } ,
1579 
1580  { 22 , DEC , 2015 , RWC , "3dvolreg" , MICRO , TYPE_MODIFY ,
1581    "Make '-final linear' work, and put it in the help output." ,
1582    "For Daniel Handwerker.  Don't say I never gave you a Christmas present!" } ,
1583 
1584  { 17 , DEC , 2015 , RWC , "stimband" , MICRO , TYPE_NEW_PROG ,
1585    "Computes freq band for stimuli extracted from .xmat.1D files" ,
1586    "For use in scripting bandwidths for pre- and post-processing." } ,
1587 
1588  { 10 , DEC , 2015 , RWC , "afni Clusterize" , MICRO , TYPE_ENHANCE ,
1589    "Add 'large FDR q' warning to Clusterize report" ,
1590    NULL } ,
1591 
1592  { 9 , DEC , 2015 , RWC , "3dFWHMx" , MICRO , TYPE_ENHANCE ,
1593    "Add the 'classic' Gaussian ACF to the '-acf' plot, for comparison." ,
1594    NULL } ,
1595 
1596  { 8 , DEC , 2015 , RWC , "afni Clusterize" , MINOR , TYPE_MODIFY ,
1597    "Add Write button to save just one cluster to a dataset" ,
1598    NULL } ,
1599 
1600  { 8 , DEC , 2015 , RWC , "3dttest++" , MICRO , TYPE_MODIFY ,
1601    "Allow constant value with -singletonA instead of a dataset" ,
1602    "Allows user to test -setB against a nonzero constant." } ,
1603 
1604  { 7 , DEC , 2015 , RWC , "3dttest++" , MINOR , TYPE_NEW_OPT ,
1605    "Add -resid option, to save residuals." ,
1606    NULL } ,
1607 
1608  { 1 , DEC , 2015 , RWC , "3dClustSim" , MAJOR , TYPE_NEW_OPT ,
1609    "Added -acf option!" ,
1610    "Non-Gaussian spherically symmetric AutoCorrelation Function (ACF) for\n"
1611    "the noise.  Uses FFTs to create the noise fields, via #include-d file\n"
1612    "mri_radial_random_field.c and #include-d csfft_OMP.c (thread-safe FFTs).\n"
1613    "This method in 3dFWHMx and 3dClustSim will be the favored cluster\n"
1614    "thresholding analysis going forward." } ,
1615 
1616  { 30 , NOV , 2015 , RWC , "csfft_OMP" , MICRO , TYPE_GENERAL ,
1617    "Thread-safe version of csfft function, for use with OpenMP" ,
1618    "Meant to be #include-d into the main source file." } ,
1619 
1620  { 27 , NOV , 2015 , RWC , "3dFHWMx" , MICRO , TYPE_MODIFY ,
1621    "OpenMP-ize the FWHM and ACF calculations (across sub-bricks)" ,
1622    "Also, working on spherical non-Gaussian convolution by FFTs in\n"
1623    "mri_radial_random_field.c" } ,
1624 
1625  { 23 , NOV , 2015 , RWC , "many" , MICRO , TYPE_GENERAL ,
1626    "Tiny edits to eliminate compiler warnings from icc" ,
1627    "For example, change format '%ld' to '%lld' for numerous int64_t\n"
1628    "printouts in nifti/cifti codes.  Change 'finite()' to 'isfinite()'." } ,
1629 
1630  { 10 , NOV , 2015 , RWC , "3dFWHMx" , MAJOR , TYPE_NEW_OPT ,
1631    "-ACF option to compute spatial autocorrelation function" ,
1632    "For enhancing 3dClustSim, et cetera." } ,
1633 
1634  { 30 , OCT , 2015 , RWC , "images_equal" , MICRO , TYPE_NEW_PROG ,
1635    "Tests if 2 input 2D image files are equal." ,
1636    NULL } ,
1637 
1638  { 28 , OCT , 2015 , RWC , "3dQwarp" , MICRO , TYPE_MODIFY ,
1639    "Allow minpatch to go as low as 5." ,
1640    "Of course, such a small patch will be VERY slow indeed.  Also, bring out\n"
1641    "of hiding the '-ballopt' option, which changes the optimization strategy\n"
1642    "somewhat -- allowing for larger displacments in the incremental warps." } ,
1643 
1644  { 26 , OCT , 2015 , RWC , "afni Clusterize" , MAJOR , TYPE_ENHANCE ,
1645    "Allow user to use multiple (up to 4) Aux datasets for Plot/Save" ,
1646    NULL } ,
1647 
1648  { 15 , OCT , 2015 , RWC , "afni Clusterize" , MICRO , TYPE_MODIFY ,
1649    "Switch F-stat from using 1-sided to 2-sided tables." ,
1650    "To keep Chen Gang happy." } ,
1651 
1652  { 15 , OCT , 2015 , RWC , "afni Clusterize" , MICRO , TYPE_MODIFY ,
1653    "Modify linkRbrain stuff to NOT use unseen clusters" ,
1654    NULL } ,
1655 
1656  { 14 , OCT , 2015 , RWC , "afni Clusterize" , MICRO , TYPE_GENERAL ,
1657    "Add toggle button to turn individual clusters on/off" ,
1658    "Hope it doesn't interfere with something else!  It's tricky modifying\n"
1659    "the functional overlay." } ,
1660 
1661  { 13 , OCT , 2015 , RWC , "3dGroupInCorr" , MICRO , TYPE_MODIFY ,
1662    "Finally fixed -clust option to correspond to new 3dClustSim output" ,
1663    "That is, 9 NIML files instead of 3." } ,
1664 
1665  { 7 , OCT , 2015 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
1666    "Attempt to fix 'crash on re-open controller' problem" ,
1667    "Happened when Clusterize was used in A, then B opened, B closed, B\n"
1668    "re-opened -- boom.  Set deleted FD_bricks to NULL seems to help. \n"
1669    "Fingers crossed." } ,
1670 
1671  { 1 , OCT , 2015 , RWC , "AFNI clusterize" , MICRO , TYPE_MODIFY ,
1672    "Made showing linkRbrain button default now" ,
1673    "setenv AFNI_LINKRBRAIN NO to turn this button off" } ,
1674 
1675  { 22 , SEP , 2015 , RWC , "3dDeconvolve" , MICRO , TYPE_NEW_ENV ,
1676    "AFNI_USE_ERROR_FILE = NO turns off creation of 3dDeconvolve.err" ,
1677    NULL } ,
1678 
1679  { 9 , SEP , 2015 , RWC , "afni clusterize" , MICRO , TYPE_ENHANCE ,
1680    "Add popup chooser for max number linkRbrain clusters" ,
1681    NULL } ,
1682 
1683  { 9 , SEP , 2015 , RWC , "whereami (etc)" , MICRO , TYPE_BUG_FIX ,
1684    "Fix bug in parsing LinkRbrain output XML file" ,
1685    "Problem: fread() of file does not NUL terminate the string -- causes\n"
1686    "problems!  Simply solved.\n"
1687    "Also fixed problem in afni_cluster.c, where peak coords and cmass coords\n"
1688    "passed to LinkRbrain were being interchanged." } ,
1689 
1690  { 28 , AUG , 2015 , RWC , "3dDeconvolve" , MICRO , TYPE_BUG_FIX ,
1691    "Hack to allow -stim_times_IM to work with times > TMAX" ,
1692    "Times > TMAX are ignored.  In usual cases, this isn't a problem.  But\n"
1693    "with IM regression, each time gets a regressor, and times > TMAX produce\n"
1694    "all zero regressors -- which is a problem.  This hack will cut them off\n"
1695    "(at least in some cases)." } ,
1696 
1697  { 11 , AUG , 2015 , RWC , "3dFWHMx" , MICRO , TYPE_MODIFY ,
1698    "Modify -2difMAD option calculations" ,
1699    "If smoothness calculation fails using Median Absolute Deviation, retry\n"
1700    "with Mean Absolute Deviation." } ,
1701 
1702  { 11 , AUG , 2015 , RWC , "3dFWHMx" , MINOR , TYPE_NEW_OPT ,
1703    "-1difMOD option" ,
1704    "Computes the moments of the 1st differences, then estimates the mean and\n"
1705    "standard deviation of the smoothness factors, then reports the mean\n"
1706    "smoothness adjusted upwards to allow for the fact that 3dClustSim\n"
1707    "depends more strongly on bigger smoothness than on smaller smoothness. \n"
1708    "For use with single subject tests; probably too conservative for group\n"
1709    "analyses." } ,
1710 
1711  { 29 , JUL , 2015 , RWC , "3dTstat" , MICRO , TYPE_NEW_OPT ,
1712    "add -nzstdev option" ,
1713    "Given a voxel, extract all the values.  Throw out those values that are\n"
1714    "nonzero.  Compute the stdev of the remaining set (assuming at least 2),\n"
1715    "with no further processing (no detrending)." } ,
1716 
1717  { 27 , JUL , 2015 , RWC , "3dREMLfit" , MINOR , TYPE_NEW_OPT ,
1718    "-dsort_nods option" ,
1719    "When used with -dsort, this option will make 3dREMLfit calculate the\n"
1720    "results with the -dsort regressors(s) omitted as well as the results\n"
1721    "with the -dsort regressor(s) included -- so the user can compare the\n"
1722    "dsort and non-dsort results easily with 1 run of the program.  'nods' ==\n"
1723    "'no dsort'.  Each nods dataset will have the string '_nods' appended to\n"
1724    "the prefix." } ,
1725 
1726  { 23 , JUL , 2015 , RWC , "3dREMLfit" , MINOR , TYPE_NEW_OPT ,
1727    "Add -dsort option" ,
1728    "Allows the addition of voxel-wise baseline regressors.  To test out\n"
1729    "ANATICOR applied to task-based FMRI data, for example." } ,
1730 
1731  { 17 , JUL , 2015 , RWC , "mri_write.c" , MICRO , TYPE_BUG_FIX ,
1732    "Make mri_write_1D(\"stdout:\") work correctly" ,
1733    "Before you could get filename \"stdout:.1D\" which is not very useful." } ,
1734 
1735  { 26 , JUN , 2015 , RWC , "3dPval" , MICRO , TYPE_NEW_PROG ,
1736    "3dPval converts statistics bricks to p-values" ,
1737    "For Isaac.  Non-statistic bricks are converted to float and passed\n"
1738    "through unchanged." } ,
1739 
1740  { 22 , JUN , 2015 , RWC , "3dvolreg" , MICRO , TYPE_MODIFY ,
1741    "Add output of max inter-TR displacement" ,
1742    "In addition to the max total displacement (as of old)." } ,
1743 
1744  { 12 , JUN , 2015 , RWC , "plug_L1fit" , MICRO , TYPE_MODIFY ,
1745    "Modify Timeseries input to use all columns of file, not just 1st" ,
1746    NULL } ,
1747 
1748  { 5 , JUN , 2015 , RWC , "3dSimARMA11" , MICRO , TYPE_NEW_OPT ,
1749    "Add hidden -tdof option" ,
1750    NULL } ,
1751 
1752  { 26 , MAY , 2015 , RWC , "3dClustSim" , MICRO , TYPE_NEW_OPT ,
1753    "Add secret -tdof option" ,
1754    NULL } ,
1755 
1756  { 14 , MAY , 2015 , RWC , "1dplot" , MICRO , TYPE_NEW_OPT ,
1757    "Add -demean option == remove mean from time series before plotting" ,
1758    "Multiple -demean options implies higher order polynomials!" } ,
1759 
1760  { 14 , MAY , 2015 , RWC , "afni Clusterize" , MICRO , TYPE_MODIFY ,
1761    "Add ' Detrend?? ' button to hidden popup" ,
1762    "Allows user (me) to detrend the aux data before plotting it." } ,
1763 
1764  { 12 , MAY , 2015 , RWC , "3dClustSim" , MINOR , TYPE_MODIFY ,
1765    "Eliminate edge effects of smoothing by padding and unpadding" ,
1766    "Simulate extra-size volumes then smooth, then cut back to the desired\n"
1767    "volume size.  Can use new '-nopad' option to try the old-fashioned\n"
1768    "method. (H/T to Anders Eklund and Tom Nichols.)" } ,
1769 
1770 { 8 , MAY , 2015 , RWC , "InstaCorr" , MICRO , TYPE_BUG_FIX ,
1771    "Change way index in 3D+time dataset is chosen from xyz" ,
1772    "Instead of just converting from xyz (eg, crosshair) coordinates via the\n"
1773    "standard grid transformation functions in thd_coords.c, what we want is\n"
1774    "the voxel in the 3D+time dataset that is closest in 3D to the xyz\n"
1775    "location AFTER it is transformed back to the underlay for display.  In\n"
1776    "this way, the center of correlation will map to the clicked voxel.  This\n"
1777    "selection is done in new function THD_find_closest_roundtrip() which\n"
1778    "searches the 27 points in a cube around the thd_coords.c derived point,\n"
1779    "in order to find the voxel in the 3D+time dataset that, when transformed\n"
1780    "back to the underlay dataset, is closest.  Brute force, but that's what\n"
1781    "you have to do when dealing with the Spanish Inquisition." } ,
1782 
1783   { 7 , MAY , 2015 , RWC , "AFNI GUI" , MICRO , TYPE_MODIFY ,
1784    "Change 'List of AFNI papers' to be in HTML, not plain text" ,
1785    "So it appears in an htmlwin rather than a textwin, and there are links\n"
1786    "to the papers.  Works by a new convert_text_to_html() function." } ,
1787 
1788  { 4 , MAY , 2015 , RWC , "GLTsymtest" , MINOR , TYPE_NEW_PROG ,
1789    "For testing symbolic GLTs in a script" ,
1790    "So that the big boy (3dDeconvolve) doesn't have to be run just for this\n"
1791    "purpose.  To help out with afni_proc.py" } ,
1792 
1793  { 27 , APR , 2015 , RWC , "debug tracing" , MICRO , TYPE_GENERAL ,
1794    "Added 'recent internal history' to .afni.crashlog" ,
1795    "The last few ENTRY/EXIT/STATUS updates are saved, to help pinpoint the\n"
1796    "sequence of events before the demise of the patient." } ,
1797 
1798  { 23 , Apr , 2015 , RWC , "AFNI GUI"     , MICRO , TYPE_BUG_FIX ,
1799     "Fix Aux.Dset button crash in Clusterize" ,
1800     "Because Ziad Saad is trouble, that's why.\n"
1801     "(Either that, or 'free(x)' should imply 'x=NULL'.)\n"
1802     "Also, catch SIGABRT signal, so Mac malloc() errors are tracebacked." } ,
1803 
1804   { 14 , Apr , 2015 , RWC , "AFNI GUI"     , MICRO , TYPE_BUG_FIX ,
1805     "Fix index text overlay clash in graph window" ,
1806     "Because Daniel Glen is trouble, that's why." } ,
1807 
1808   { 13 , APR , 2015 , RWC , "all programs" , MICRO , TYPE_GENERAL ,
1809     "AFNI programs now write crash logs to file ~/.afni.crashlog" ,
1810     NULL } ,
1811 
1812   { 13 , APR , 2015 , RWC , "AFNI itself" , MICRO , TYPE_BUG_FIX ,
1813     "Fix crash when ClustSim info in dataset header is incomplete" ,
1814     "Problem was if mask string was missing, it tried to read the\n"
1815     "mask idcode from a now-deleleted NIML element -- bad news." } ,
1816 
1817   { 27 , MAR , 2015 , RWC , "3dttest++" , MICRO , TYPE_BUG_FIX ,
1818    "linux_xorg7_64 distribution gets argv[nopt] wrong?!" ,
1819    "Fixed by putting in a debug printout statement for argv[nopt] at start\n"
1820    "of loop over options.  Even when not used, this fixes the problem --\n"
1821    "probably caused by the gcc optimizer." } ,
1822 
1823  { 23 , MAR , 2015 , RWC , "3dttest++" , MAJOR , TYPE_NEW_OPT ,
1824    "Add -singletonA option" ,
1825    "For testing one subject vs a collection of 'normals'.  Works with\n"
1826    "covariates." } ,
1827 
1828  { 11 , MAR , 2015 , RWC , "afni GUI" , MICRO , TYPE_NEW_ENV ,
1829    "AFNI_CROSSHAIR_THICKNESS" ,
1830    "Lets user set thickness of image crosshair lines.  For someone named\n"
1831    "Corianne, if that is a real name." } ,
1832 
1833  { 12 , FEB , 2015 , RWC , "afni GUI graphs" , MICRO , TYPE_GENERAL ,
1834    "Labels for x-axis range" ,
1835    NULL } ,
1836 
1837  { 10 , FEB , 2015 , RWC , "afni GUI" , MINOR , TYPE_GENERAL ,
1838    "Ability to graph time series with x-axis from another dataset" ,
1839    "Voxel-by-voxel x-axis selection.  Previously (Jan 1998) could only do\n"
1840    "x-axis as a 1D file == fixed for all sub-graphs.  Now each voxel can get\n"
1841    "its own x-axis.  God help you." } ,
1842 
1843  { 5 , FEB , 2015 , RWC , "AFNI InstaCorr" , MINOR , TYPE_GENERAL ,
1844    "Add Iterate option" ,
1845    NULL } ,
1846 
1847   { 2 , FEB , 2015 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
1848    "Add \"_once\" popup messages to AFNI GUI" ,
1849    "So the message only pops up once for each user -- function\n"
1850    "MCW_popup_message_once() in xutil.c -- first use is a popup message for\n"
1851    "Clusterize alpha values, mentioning the new tables." } ,
1852 
1853  { 30 , JAN , 2015 , RWC , "Clusterize" , MINOR , TYPE_GENERAL ,
1854    "Add Bi-sided clustering" ,
1855    "Goes along with the new 3dClustSim, which now generates tables for that\n"
1856    "case as well. 'Bi-sided' means positive above-threshold voxels are\n"
1857    "clustered separately from negative below-minus-threshold voxels.  Note\n"
1858    "that bi-sided is turned off for 1-sided thresholding and/or Pos func,\n"
1859    "even if the user turns bi-sided on in the Clusterize chooser." } ,
1860 
1861  { 29 , JAN , 2015 , RWC , "afni GUI" , MAJOR , TYPE_GENERAL ,
1862    "Use new 3dClustSim tables" ,
1863    "Now Clusterize chooses the table to use based on the threshold type (t-\n"
1864    "or F-stat, say), and if 1-sided thresholding was chosen by the user. \n"
1865    "Also, the p-value below the slider now adjusts if the user chose to do\n"
1866    "1-sided thresholding on a 2-sided statistic (t-stat, correlation,\n"
1867    "z-score)." } ,
1868 
1869  { 29 , JAN , 2015 , RWC , "3dClustSim" , MAJOR , TYPE_GENERAL ,
1870    "Compute NN=1,2,3 and 1-sided, 2-sided, bi-sided tables" ,
1871    "In sum, all 9 tables are ALWAYS computed now." } ,
1872 
1873  { 13 , JAN , 2015 , RWC , "3dQwarp" , MICRO , TYPE_NEW_OPT ,
1874    "Secret option '-ballopt'" ,
1875    "A step towards using more complex basis functions, by allowing\n"
1876    "optimization only over an L2-ball in parameter space, rather than a\n"
1877    "hypercube." } ,
1878 
1879  { 7 , JAN , 2015 , RWC , "3dQwarp" , MINOR , TYPE_NEW_OPT ,
1880    "Add -gridlist and -allsave options" ,
1881    "Allows specifying the exact list of patch/grid sizes to use, and also to\n"
1882    "save the output warp at each level." } ,
1883 
1884  { 18 , DEC , 2014 , RWC , "3dUnifize" , MICRO , TYPE_NEW_OPT ,
1885    "Add -T2 option" ,
1886    NULL } ,
1887 
1888  { 17 , DEC , 2014 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1889    "Modify colorscale to fade horizontally when Alpha is on" ,
1890    "And in the Saved colorscale image (which was also changed in default\n"
1891    "size)." } ,
1892 
1893  { 11 , DEC , 2014 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1894    "Change way opacity fades down to Floor value" ,
1895    NULL } ,
1896 
1897  { 10 , DEC , 2014 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
1898    "Driver for Alpha settings; fix outline of supra-threshold regions" ,
1899    "driver command SET_FUNC_ALPHA now works.\n"
1900    "Outline of supra-threshold regions is now the next set of pixels outside\n"
1901    "each region, rather than the border pixels inside the region (as\n"
1902    "before)." } ,
1903 
1904  { 9 , DEC , 2014 , RWC , "afni GUI" , MICRO , TYPE_BUG_FIX ,
1905    "Make 'Alpha' mode work with Montages -- oops" ,
1906    "There's probably other stuff that doesn't work with RGBA overlays, but\n"
1907    "we'll have to see what happens." } ,
1908 
1909  { 9 , DEC , 2014 , RWC , "afni GUI" , MINOR , TYPE_MODIFY ,
1910    "Add 'Alpha' fading to overlay" ,
1911    "In this mode, the outlines of the supra-threshold regions are outlined\n"
1912    "(unless AFNI_EDGIZE_OVERLAY is NO).  Alpha fading is turned off in\n"
1913    "Clusterize at this time, since it would be complicated to make the 2\n"
1914    "things work together." } ,
1915 
1916  { 5 , DEC , 2014 , RWC , "3dNwarpApply" , MAJOR , TYPE_BUG_FIX ,
1917    "Forgot to index-ize the matrix warps before applying them!" ,
1918    "In the revised way of catenating time-dependent warps, the matrix warps\n"
1919    "are kept in xyz coords until they are actually used, when they should be\n"
1920    "transformed to ijk coords.  In the 'old' way, they were transformed\n"
1921    "directly on input.  But in the 'new' way, I forgot to transform them\n"
1922    "before applying them in the catenation loop, and the results were not\n"
1923    "pretty.  I'm still searching for someone to blame for this, since it\n"
1924    "clearly can't be MY fault.  Any volunteers?" } ,
1925 
1926  { 1 , DEC , 2014 , RWC , "3dNwarpApply" , MAJOR , TYPE_GENERAL ,
1927    "Extensive changes to make operations more general" ,
1928    "(1) Allow catenation of warps with different grid spacings -- the new\n"
1929    "Nwarp_catlist struct and functions will re-grid to make them match.\n"
1930    "(2) Allow input of affine warps with multiple time points, so that\n"
1931    "3D+time datasets can be warped with a time dependent Nwarp_catlist.\n"
1932    "(3) Allow input of multiple source datasets, so that several datasets\n"
1933    "can be warped the same way at once.  This is more efficient, since the\n"
1934    "auto-catenation in the Nwarp_catlist will only have to be done once.\n"
1935    "(3a) Specification of the output dataset names can be done via multiple\n"
1936    "arguments to the '-prefix' option, or via the new '-suffix' option." } ,
1937 
1938  { 18 , NOV , 2014 , RWC , "3dTRfix" , MINOR , TYPE_NEW_PROG ,
1939    "Interpolate from a variable TR grid to a fixed TR grid" ,
1940    "For Javier et alii.  No T1 artifact correction, just interpolation." } ,
1941 
1942  { 28 , OCT , 2014 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
1943    "Add 2D Sharpness function to transformations.  For fun." ,
1944    NULL } ,
1945 
1946  { 23 , OCT , 2014 , RWC , "3dNwarpCat" , MICRO , TYPE_BUG_FIX ,
1947    "Fix bug introduced with changes made for 3dNwarpApply" ,
1948    NULL } ,
1949 
1950  { 23 , OCT , 2014 , RWC , "3dNwarpApply" , MICRO , TYPE_MODIFY ,
1951    "Make the -interp option work properly for the warp input" ,
1952    NULL } ,
1953 
1954  { 22 , OCT , 2014 , RWC , "3dNwarpApply" , MAJOR , TYPE_MODIFY ,
1955    "Alter -nwarp option a lot" ,
1956    "Specifically, allow time-dependent matrix inputs in any position in the\n"
1957    "-nwarp catenation stream (only for this program, not the fixed-warp\n"
1958    "programs 3dNwarpCat, 3dNwarpXYZ, 3dNwarpFuncs).  Removes the -affter\n"
1959    "option, which is now absorbed into the -nwarp processing." } ,
1960 
1961  { 10 , OCT , 2014 , RWC , "3dAllineate" , MICRO , TYPE_NEW_OPT ,
1962    "-realaxes ==> use ijk_to_dicom_real vs. ijk_to_dicom" ,
1963    NULL } ,
1964 
1965  { 9 , OCT , 2014 , RWC , "AFNI GUI" , MICRO , TYPE_MODIFY ,
1966    "'U' key does overlay/underlay switch on all controllers" ,
1967    "whereas 'u' does just one controller" } ,
1968 
1969  { 7 , OCT , 2014 , RWC , "InstaCorr in AFNI GUI" , MINOR , TYPE_MODIFY ,
1970    "Multiple sections to be correlated" ,
1971    "Input 'Start,End' in the format 'Start@Length,Number,Delta' to get\n"
1972    "sections of the given 'Length'." } ,
1973 
1974  { 3 , OCT , 2014 , RWC , "3dTsmooth" , MICRO , TYPE_NEW_OPT ,
1975    "Add adaptive mean filtering as an option" ,
1976    NULL } ,
1977 
1978  { 25 , SEP , 2014 , RWC , "3dQwarp" , MICRO , TYPE_GENERAL ,
1979    "sending QUIT signal (kill -s QUIT) will cause a graceful death" ,
1980    "'Live fast, Die young, Leave a pretty corpse'.  That is, break out of\n"
1981    "the optimization loops and write the current result out before exiting." } ,
1982 
1983  { 24 , SEP , 2014 , RWC , "3dUnifize" , MICRO , TYPE_GENERAL ,
1984    "Add method description to -help" ,
1985    "There are some disgruntled users out there.  I hope this keeps them\n"
1986    "happy.  Otherwise ..." } ,
1987 
1988  { 22 , SEP , 2014 , RWC , "prefix handling" , MICRO , TYPE_MODIFY ,
1989    "Modify EDIT_dset_items to edit prefixes with +orig etc." ,
1990    "So you don't end with a dataset like Fred+tlrc.HEAD+tlrc.HEAD" } ,
1991 
1992  { 17 , SEP , 2014 , RWC , "3dQwarp" , MICRO , TYPE_GENERAL ,
1993    "Add 'secret' workhard variant" ,
1994    "Use in the form '-Workhard' and it will using cubic for the first pass\n"
1995    "at each level, and quintic for the second pass (vs. cubic for both)." } ,
1996 
1997  { 3 , SEP , 2014 , RWC , "r_idisp.c" , MICRO , TYPE_BUG_FIX ,
1998    "Fixed formatting bugs (%ld changed to %lld) in 2 places" ,
1999    NULL } ,
2000 
2001  { 3 , SEP , 2014 , RWC , "sorting" , MICRO , TYPE_BUG_FIX ,
2002    "Fixed bug in special qsort7_* code -- had wrong indexes!" ,
2003    "Affects any program calling qsort_float() for array of length 7" } ,
2004 
2005  { 2 , SEP , 2014 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
2006    "Don't apply 0D and 2D transformations to overlay image in wiper mode" ,
2007    NULL } ,
2008 
2009  { 2 , SEP , 2014 , RWC , "3dNwarpAdjust" , MICRO , TYPE_BUG_FIX ,
2010    "Tried to write out average dataset when it didn't exist -- Oops." ,
2011    "Also fixed bug in mri_nwarp.c where extended warp dataset didn't get the\n"
2012    "same 'view' as the input dataset." } ,
2013 
2014  { 29 , AUG , 2014 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
2015    "Modify wiper scale to be attached to image window form" ,
2016    NULL } ,
2017 
2018  { 26 , AUG , 2014 , RWC , "3dNwarpApply and 3dNwarpCat" , MICRO , TYPE_NEW_OPT ,
2019    "Add '-expad' option for extra padding, if needed for some reason" ,
2020    NULL } ,
2021 
2022  { 26 , AUG , 2014 , RWC , "mri_nwarp.c" , MICRO , TYPE_GENERAL ,
2023    "Alter IW3D_read_catenated_warp() to do warp extension" ,
2024    "The amount of extension is based on the shifts in the affine components\n"
2025    "in the warp chain.  This change is to fix a problem with long distance\n"
2026    "shifts catenated with 3dQwarp output, where the input warp grid no\n"
2027    "longer encompasses all the requisite domain for the output warp." } ,
2028 
2029  { 22 , AUG , 2014 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
2030     "Add wiping and mixing between OLay and ULay images" ,
2031     "By pressing the '4', '5', or '6' key, user gets a slider for\n"
2032     "horizontal wiper, vertical wiper, or intensity mixing between\n"
2033     "the images (respectively).  This is Ziad's fault." } ,
2034 
2035   { 11 , AUG , 2014 , RWC , "3dQwarp" , MICRO , TYPE_GENERAL ,
2036    "Modify -duplo to only go to lev=3" ,
2037    NULL } ,
2038 
2039  { 11 , AUG , 2014 , RWC , "3dQwarp" , MICRO , TYPE_BUG_FIX ,
2040    "Fix bug with -pblur" ,
2041    "Problem: warped source image Haasrcim was created from source image\n"
2042    "blurred at lev=0, which means (with -pblur) it was blurred a lot.  Then\n"
2043    "at later levels, it is being slowly replaced with warped patches from a\n"
2044    "less-blurred source image.  This produces strange effects, as part of\n"
2045    "Haasrcim is now heavily blurred and part is less blurred.  Solution:\n"
2046    "re-create Haasrcim from the current warp and from the current amount of\n"
2047    "blurring at the start of each level." } ,
2048 
2049  { 7 , AUG , 2014 , RWC , "3dQwarp" , MICRO , TYPE_GENERAL ,
2050    "Add customized median filter to mri_nwarp.c" ,
2051    "To parallelize with OpenMP, since it might be used a lot with the new\n"
2052    "-pblur option." } ,
2053 
2054  { 7 , AUG , 2014 , RWC , "3dQwarp" , MICRO , TYPE_NEW_OPT ,
2055    "Add -pblur option, for progressive blurring" ,
2056    "That is, more blurring at coarse levels and less blurring at fine\n"
2057    "levels.  May become the default after some more experience." } ,
2058 
2059  { 5 , AUG , 2014 , RWC , "3dQwarp" , MICRO , TYPE_GENERAL ,
2060    "Move basim blur from 3dQwarp.c to mri_nwarp.c" ,
2061    "Preparatory to adding the -pblur option" } ,
2062 
2063  { 5 , AUG , 2014 , RWC , "afni" , MICRO , TYPE_GENERAL ,
2064    "Modify -ver output to mollify Chen Gang" ,
2065    NULL } ,
2066 
2067  { 24 , JUL , 2014 , RWC , "afni" , MICRO , TYPE_GENERAL ,
2068    "Print/Popup warning message if same OLay is Clusterize-d twice" ,
2069    NULL } ,
2070 
2071  { 23 , JUL , 2014 , RWC , "various" , MICRO , TYPE_MODIFY ,
2072    "Change format '%d' to '%lld' for a few MRI_IMAGE structs" ,
2073    "In various files, to eliminate compiler warnings about printing 64-bit\n"
2074    "integers with a 32-bit format." } ,
2075 
2076  { 21 , JUL , 2014 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
2077    "Add 'Jumpto OLay Min' and 'Max' buttons to OLay popup menu" ,
2078    "Lets the user jump crosshairs to locations of (thresholded) min and max\n"
2079    "values. (May be inaccurate for non-NN resampling of overlay or threshold.)" } ,
2080 
2081  { 18 , JUL , 2014 , RWC , "3dNwarpApply" , MICRO , TYPE_NEW_OPT ,
2082    "Add -iwarp option, to invert the result from -nwarp" ,
2083    NULL } ,
2084 
2085  { 16 , JUL , 2014 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
2086    "Modify labels of shear parameters when '-EPI' is used" ,
2087    "Per user Mingbo on the message board" } ,
2088 
2089  { 14 , JUL , 2014 , RWC , "mri_nwarp.c" , MICRO , TYPE_GENERAL ,
2090    "Add a boatload of comments to explain how warping works" ,
2091    NULL } ,
2092 
2093  { 10 , JUL , 2014 , RWC , "1dplot" , MICRO , TYPE_NEW_OPT ,
2094    "-hist option for plotting histogram style" ,
2095    NULL } ,
2096 
2097  { 9 , JUL , 2014 , RWC , "3dNwarpXYZ" , MICRO , TYPE_MODIFY ,
2098    "Modify the way -iwarp works" ,
2099    "Use backwards stream tracing only to initialize a search via Powell's\n"
2100    "NEWUOA.  Also, use quintic interpolation for the forward warp, instead\n"
2101    "of linear." } ,
2102 
2103  { 7 , JUL , 2014 , RWC , "3dNwarpXYZ" , MICRO , TYPE_NEW_OPT ,
2104    "Add -iwarp option to allow for warp inversion" ,
2105    "For a few points, should be MUCH faster than using 'INV(warp)' for the\n"
2106    "-nwarp option." } ,
2107 
2108  { 7 , JUL , 2014 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
2109    "Check if 2 pbars are equivalent before locking them" ,
2110    "Prevents unneeded flicker and redisplay" } ,
2111 
2112  { 3 , JUL , 2014 , RWC , "afni GUI" , MICRO , TYPE_BUG_FIX ,
2113    "pbar locks didn't work right all the time" ,
2114    "Needed to force things to happen more violently, and also to force\n"
2115    "overlay redraws.  Also, make a new controller be locked at startup\n"
2116    "instead of when the user does something." } ,
2117 
2118  { 3 , JUL , 2014 , RWC , "afni GUI" , MICRO , TYPE_BUG_FIX ,
2119    "'u' keypress failed when OLay and ULay datasets were the same" ,
2120    "Toggling between overlay and underlay as grayscale with 'u' failed when\n"
2121    "the 2 datasets were the same.  Problem devolved to a function Ziad put\n"
2122    "in to make the selection of sub-brick index to use -- which always\n"
2123    "favored the anat_index if the 2 datasets were the same, regardless of\n"
2124    "the image type requested.  Now it should work properly -- when the 2\n"
2125    "datasets are the same (fim and anat), then the sub-brick index will be\n"
2126    "chosen based on the type of image requested." } ,
2127 
2128  { 2 , JUL , 2014 , RWC , "3dNwarpXYZ" , MINOR , TYPE_NEW_PROG ,
2129    "Nonlinear transform of xyz coordinate triples -- for Ziad" ,
2130    NULL } ,
2131 
2132  { 30 , JUN , 2014 , RWC , "3dQwarp" , MINOR , TYPE_NEW_OPT ,
2133    "Add -lpc and -lpa options" ,
2134    "Sounds simple, but was really a lot of work to make these reasonably\n"
2135    "efficient.  And to work at all, for that matter.  Ugh." } ,
2136 
2137  { 27 , JUN , 2014 , RWC , "3drefti" , MICRO , TYPE_NEW_OPT ,
2138    "Add -checkaxes option" ,
2139    NULL } ,
2140 
2141  { 19 , JUN , 2014 , RWC , "@Install_ClustScat_Demo" , MINOR , TYPE_NEW_PROG ,
2142    "Installs demo for Clusterize scatter plotting" ,
2143    NULL } ,
2144 
2145  { 19 , JUN , 2014 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
2146    "Modify shft+ctrl+drag InstaCorr slightly" ,
2147    "So that Clusterize report table is NOT updated until the user releases\n"
2148    "the mouse button -- otherwise, the constant table updating slows things\n"
2149    "down too much (per Ziad)." } ,
2150 
2151  { 18 , JUN , 2014 , RWC , "afni GUI" , MINOR , TYPE_MODIFY ,
2152    "Move Clusterize outside of Instastuff menu" ,
2153    "So Clusterize is now available for InstaCorr, etc.  The bkgd:xxxx box is\n"
2154    "gone, its functionality living on only in the 'u' image keypress." } ,
2155 
2156  { 16 , JUN , 2014 , RWC , "afni Clusterize GUI" , MICRO , TYPE_MODIFY ,
2157    "Save->Mask??" ,
2158    "Toggle switch added to hidden popup on top part of report window.  If\n"
2159    "switched on, the cluster-wise 'Save' buttons become 'Mask' buttons,\n"
2160    "which lets the user save a single-cluster mask dataset (instead of the\n"
2161    "multi-cluster dataset of 'SaveMsk')." } ,
2162 
2163  { 16 , JUN , 2014 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
2164    "Add SAVE_OVERLAY and SAVE_UNDERLAY commands to afni_driver.c" ,
2165    NULL } ,
2166 
2167  { 12 , JUN , 2014 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
2168    "Add OLay thresholded range hint" ,
2169    NULL } ,
2170 
2171  { 10 , JUN , 2014 , RWC , "afni GUI" , MICRO , TYPE_BUG_FIX ,
2172    "Fix crashing bug with PBAR_FULLRANGE" ,
2173    "b..._ulay pointers could become deranged via AFNI_setup_viewing() call\n"
2174    "to AFNI_reset_func_range() -- patched this, and also check for this type\n"
2175    "of derangement in various other places -- ERROR_message should appear if\n"
2176    "it raises its ugly head again." } ,
2177 
2178  { 4 , JUN , 2014 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
2179    "AFNI_PBAR_FULLRANGE fixes" ,
2180    "Made it work better with Range and Pbar locks.  Also added buttons for\n"
2181    "these types of locks to the Datamode->Lock menu for ease of use (instead\n"
2182    "of having to set environment variables in EditEnv)." } ,
2183 
2184  { 3 , JUN , 2014 , RWC , "afni GUI" , MINOR , TYPE_NEW_ENV ,
2185    "AFNI_PBAR_FULLRANGE" ,
2186    "If this variable is set to YES, then the color pbar in Define Overlay\n"
2187    "will reflect the range set by the user for the colorization process.  At\n"
2188    "some point, this feature will become the default, and then you'll have\n"
2189    "to set this variable to NO to get the old behavior -- where the range\n"
2190    "set by the user is shown only at the bottom right of the Define Overlay\n"
2191    "panel, and it then multiplies the independently set top value of the\n"
2192    "pbar to get the colorization scale.  In the new method, the top value of\n"
2193    "the pbar cannot be set by the user independently of the range (or\n"
2194    "autorange) parameter.  The intention of this change is to make the\n"
2195    "number -> colors process somewhat more blatant." } ,
2196 
2197  { 02 , MAY , 2014 , RWC , "afni" , MICRO , TYPE_NEW_OPT ,
2198    "add -papers option, to list AFNI papers" ,
2199    "The list of papers is maintained in file afni_papers.txt\n"
2200    "which is turned into afni_papers.h via program quotize." } ,
2201 
2202   { 24 , APR , 2014 , RWC , "3dClustSim" , MICRO , TYPE_NEW_OPT ,
2203    "add -ssave:TYPE option for saving the volumes as dataset" ,
2204    NULL } ,
2205 
2206  { 16 , APR , 2014 , RWC , "afni GUI" , MICRO , TYPE_NEW_ENV ,
2207    "AFNI_SLAVE_THROLAY sets up Thr=OLay or Thr=OLay+1, for Paul Taylor" ,
2208    NULL } ,
2209 
2210  { 16 , APR , 2014 , RWC , "3dNwarpAdjust" , MINOR , TYPE_GENERAL ,
2211    "Changes for grid size requirements" ,
2212    "Now the warps don't all have to be on the same grid (just conformant\n"
2213    "grids), and they will be extended to match each other.  And the source\n"
2214    "datasets (if present) don't have to be on the same grid as the warps,\n"
2215    "but DO have to be on the same grid as each other -- as before." } ,
2216 
2217  { 15 , APR , 2014 , RWC , "3dQwarp" , MINOR , TYPE_GENERAL ,
2218    "and other warping functions" ,
2219    "Changes to index warps, to extend them past their defining box by linear\n"
2220    "extrapolation from the last 5 layers on each face (vs. the previous\n"
2221    "method of just constant extrapolation).  Also use this in 3dNwarpApply\n"
2222    "to extend the warp before using it, so as to deal with peculiar results\n"
2223    "with non-padded inverse warps from 3dQwarp when there was a big\n"
2224    "displacement via '-allin'.  Speaking of which, I also extended the\n"
2225    "zero-padding in 3dQwarp to allow for the large displacments.  By\n"
2226    "default, WARP outputs from 3dQwarp are not truncated any more, but can\n"
2227    "be with the new '-nopadWARP' option.  Next up -- changes to\n"
2228    "@toMNI_Qwarpar to allow for collections of warps that may be on\n"
2229    "different grids." } ,
2230 
2231  { 8 , APR , 2014 , RWC , "coxplot" , MICRO , TYPE_GENERAL ,
2232    "Change to X11 line drawing for thick lines" ,
2233    "Use 'CAP_ROUND' style of drawing for thicker lines, so that drawn\n"
2234    "figures (like SUMA surfaces) look better in AFNI interface -- the weird\n"
2235    "disjunction between short thick lines is mostly gone now." } ,
2236 
2237  { 8 , APR , 2014 , RWC , "afni" , MINOR , TYPE_GENERAL ,
2238    "Draw mask surface sent from SUMA, for delectation." ,
2239    "Add a SUMA_mask struct type to afni_suma.h, and then process its\n"
2240    "corresponding NIML element in afni_niml.c.  Masks are stored in the\n"
2241    "THD_session struct, and are re-drawn when their center is altered by a\n"
2242    "simple command (unlike normal surfaces).  Also changed -- always send\n"
2243    "change of crosshairs to SUMA even if no surfaces are present -- let SUMA\n"
2244    "figure out what to do with it (e.g., move the mask)." } ,
2245 
2246  { 2 , APR , 2014 , RWC , "3dQwarp" , MICRO , TYPE_GENERAL ,
2247    "Changes to way warps are combined" ,
2248    "In particular, outside their domain, warp displacements are now linearly\n"
2249    "extrapolated rather than set to zero.  Also, a number of smaller tweaks\n"
2250    "to the zero padding and iterative process." } ,
2251 
2252  { 31 , MAR , 2014 , RWC , "messages" , MICRO , TYPE_NEW_ENV ,
2253    "AFNI_MESSAGE_PREFIX will go before program messages to stderr" ,
2254    "The purpose of this is to allow the user to distinguish between messages\n"
2255    "from various instances of programs running in parallel, as in\n"
2256    "  foreach fred ( 1 2 3 )\n"
2257    "    setenv AFNI_MESSAGE_PREFIX case$fred\n"
2258    "    run_some_program -option $fred &\n"
2259    "  end" } ,
2260 
2261  { 24 , MAR , 2014 , RWC , "3dQwarp" , MICRO , TYPE_NEW_OPT ,
2262    "-useweight is now the default; -noweight turns it off" ,
2263    NULL } ,
2264 
2265  { 21 , MAR , 2014 , RWC , "3dQwarp" , MICRO , TYPE_BUG_FIX ,
2266    "problem with zeropadding plus -iniwarp" ,
2267    "Zeropad produces a warp that is bigger than the dataset.  That's OK\n"
2268    "(even in 3dNwarpApply), but 3dQwarp would cut it off when writing it\n"
2269    "out.  That's still OK for 3dNwarpApply, but NOT OK for re-start with\n"
2270    "-iniwarp -- the zeropadded initial warp will have a discontinuity at the\n"
2271    "edge of the volume, and that's bad.  The fix is to allow input of the\n"
2272    "initial warp to be either at the dataset size OR at the zeropadded size.\n"
2273    "\n"
2274    "Also add the -pencut option, to give finer control over the penalty. \n"
2275    "This needs some experimentation." } ,
2276 
2277  { 13 , MAR , 2014 , RWC , "AFNI" , MICRO , TYPE_BUG_FIX ,
2278    "Didn't properly turn off dplot in Boxed graphing mode" ,
2279    NULL } ,
2280 
2281  { 13 , MAR , 2014 , RWC , "fdrval" , MICRO , TYPE_BUG_FIX ,
2282    "two changes" ,
2283    "(a) bug fix in interp_inverse_floatvec(), where the last interval wasn't\n"
2284    "used -- in the context of fdrval, tiny qval (big zval at end of range)\n"
2285    "would be missed, giving bogus output\n"
2286    "(b) alteration in THD_fdrcurve_zqtot(), where if the input zval is past\n"
2287    "the end of the range, then the largest value in the threshold sub-brick\n"
2288    "is returned if it is bigger than the value returned by\n"
2289    "interp_inverse_floatvec()" } ,
2290 
2291  { 11 , MAR , 2014 , RWC , "3dttest++" , MICRO , TYPE_GENERAL ,
2292    "Modify way copy of data into vectim works for -brickwise" ,
2293    "Makes it run much faster -- change is actually in thd_dset_to_vectim.c" } ,
2294 
2295  { 10 , MAR , 2014 , RWC , "3dttest++" , MICRO , TYPE_BUG_FIX ,
2296    "Fix memory handling errors" ,
2297    "(1) when loading a NIfTI dataset, it should be unloaded first to avoid\n"
2298    "memory leakage\n"
2299    "(2) when creating a vectim from a censored list, the correct check is if\n"
2300    "the subset is NOT loaded -- the test was backwards :-(" } ,
2301 
2302  { 4 , MAR , 2014 , RWC , "3dClustSim" , MICRO , TYPE_GENERAL ,
2303    "Change format of pthr and athr to allow for tiny values - for Gang" ,
2304    NULL } ,
2305 
2306  { 27 , FEB , 2014 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
2307    "Add control to set (and fix) q-value" ,
2308    NULL } ,
2309 
2310  { 26 , FEB , 2014 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
2311    "Add ability to set q-value (in addition to p-value)" ,
2312    "From threshold slider popup menu (top or bottom labels)." } ,
2313 
2314  { 26 , FEB , 2014 , RWC , "afni GUI" , MICRO , TYPE_NEW_ENV ,
2315    "Remove AFNI_SLAVE_THRTIME and AFNI_SLAVE_BUCKETS_TOO variables" ,
2316    "The functionality of AFNI_SLAVE_THRTIME is improved via the newer\n"
2317    "'Thr=OLay?' controls.\n"
2318    "The functionality of AFNI_SLAVE_BUCKETS_TOO is simply now subsumed by\n"
2319    "AFNI_SLAVE_FUNCTIME." } ,
2320 
2321  { 24 , FEB , 2014 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
2322    "Add index step size popup to 'Index' arrowval" ,
2323    "For Stephen Robinson" } ,
2324 
2325  { 19 , FEB , 2014 , RWC , "afni GUI" , MICRO , TYPE_BUG_FIX ,
2326    "Some of the pbar 'flip' controls didn't redraw the overlay" ,
2327    "Also, scroll wheel in the pbar label (atop the color bar) will now do\n"
2328    "the flipping as well." } ,
2329 
2330  { 18 , FEB , 2014 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
2331    "Threshold slider popup menu now pops up on p-value label" ,
2332    "AND -- using the scrollwheel on the p-value label immediately pops up\n"
2333    "the 'Set p-value' chooser." } ,
2334 
2335  { 7 , FEB , 2014 , RWC , "3dQwarp" , MICRO , TYPE_BUG_FIX ,
2336    "Fix problem with -allineate option" ,
2337    "3dAllineate might choose to write out a .nii.gz file instead of the .nii\n"
2338    "file ordered.  In that case, 3dQwarp fails to read it in.  The fix -- if\n"
2339    "the .nii file doesn't exist, then add '.gz' to the end of the filename\n"
2340    "and try again, before giving up and going home to mother." } ,
2341 
2342  { 6 , FEB , 2014 , RWC , "3dttest++" , MICRO , TYPE_NEW_OPT ,
2343    "-nomeans AND -notests to shut off more of the output" ,
2344    NULL } ,
2345 
2346  { 31 , JAN , 2014 , RWC , "3dttest++" , MICRO , TYPE_GENERAL ,
2347    "Make I/O more efficient and streamlined for -brickwise" ,
2348    NULL } ,
2349 
2350  { 29 , JAN , 2014 , RWC , "3dttest++" , MINOR , TYPE_NEW_OPT ,
2351    "-brickwise allows time-dependent t-test results" ,
2352    "For Stephen Robinson" } ,
2353 
2354  { 15 , JAN , 2014 , RWC , "3dQwarp" , MICRO , TYPE_GENERAL ,
2355    "Modified help to be more clear about -allineate" ,
2356    "In particular, that the output nonlinear warp also contains the affine\n"
2357    "warp, so you do NOT want to catenate the affine warp again when using\n"
2358    "3dNwarpApply!" } ,
2359 
2360  { 15 , JAN , 2014 , RWC , "afni image viewer" , MINOR , TYPE_NEW_ENV ,
2361    "AFNI_CROP_AUTOCENTER - automatically re-center crop sub-window" ,
2362    "If set to YES, then the crop sub-window (if cropping is active) will\n"
2363    "automatically re-center about the crosshair location -- as far as\n"
2364    "possible.  This feature can also be set for each image viewer window\n"
2365    "separately from the intensity bar right-click popup menu.  (NOW will\n"
2366    "John Butman be happy?)" } ,
2367 
2368  { 6 , DEC , 2013 , RWC , "3dTproject" , MICRO , TYPE_NEW_OPT ,
2369    "Add new NTRP censor mode, just for the Spaniard." ,
2370    "Where are my cookies?" } ,
2371 
2372  { 4 , DEC , 2013 , RWC , "3dTproject" , MICRO , TYPE_GENERAL ,
2373    "Output count of the various regressors" ,
2374    NULL } ,
2375 
2376  { 4 , DEC , 2013 , RWC , "3dDespike" , MICRO , TYPE_NEW_OPT ,
2377    "Add -dilate option" ,
2378    NULL } ,
2379 
2380  { 3 , DEC , 2013 , RWC , "afni GUI" , MICRO , TYPE_MODIFY ,
2381    "Add Set p-value button to Threshold slider popup menu" ,
2382    NULL } ,
2383 
2384  { 29 , NOV , 2013 , RWC , "3dDespike" , MINOR , TYPE_NEW_OPT ,
2385    "add -NEW option" ,
2386    "Different fitting method than L1 -- much faster, results not identical,\n"
2387    "but does that matter for an ad hoc algorithm?" } ,
2388 
2389  { 26 , NOV , 2013 , RWC , "afni" , MICRO , TYPE_GENERAL ,
2390    "Modify imseq.c Image Save function" ,
2391    "(a) Make 'Enter' on prefix field activate saving\n"
2392    "(b) Put all widgets for multiple image save in one window -- 19 years\n"
2393    "after first thinking about it!\n"
2394    "\n"
2395    "'Need brooks no delay, but late is better than never'" } ,
2396 
2397  { 22 , NOV , 2013 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
2398    "Modify dmUBLOCK to allow peak=1 to occur at duration X" ,
2399    "By choosing Rmodel as 'dmUBLOCK(-X') -- per the request of Chen Gang." } ,
2400 
2401  { 15 , NOV , 2013 , RWC , "3dDeconvolve" , MICRO , TYPE_NEW_OPT ,
2402    "Add -stim_times_FSL option" ,
2403    "Allows scripting from FSL-style timing files, as distributed by the\n"
2404    "Human Connectome Project.  God Save the Queen." } ,
2405 
2406  { 30 , OCT , 2013 , RWC , "afni" , MINOR , TYPE_MODIFY ,
2407    "Add 'blowup' to image viewer saver" ,
2408    "From interactive dialog AND from SAVE_xxx driver commands." } ,
2409 
2410  { 23 , OCT , 2013 , RWC , "1dplot" , MICRO , TYPE_NEW_OPT ,
2411    "Add -xtran option (to complement -ytran)" ,
2412    NULL } ,
2413 
2414  { 22 , OCT , 2013 , RWC , "1dplot" , MICRO , TYPE_BUG_FIX ,
2415    "Found that -noline didn't work right with 2 or more time series!" ,
2416    NULL } ,
2417 
2418  { 21 , OCT , 2013 , RWC , "1dplot" , MICRO , TYPE_NEW_OPT ,
2419    "And the -dashed option" ,
2420    NULL } ,
2421 
2422  { 21 , OCT , 2013 , RWC , "1dplot" , MINOR , TYPE_NEW_OPT ,
2423    "Add -xmulti option" ,
2424    "For graphing with different x-values for different y-value 1D files." } ,
2425 
2426  { 18 , OCT , 2013 , RWC , "3dQwarp" , MICRO , TYPE_NEW_OPT ,
2427    "added -weight option" ,
2428    NULL } ,
2429 
2430  { 20 , SEP , 2013 , RWC , "3dQwarp" , MICRO , TYPE_MODIFY ,
2431    "Make the penalty factor get bigger with level." ,
2432    NULL } ,
2433 
2434  { 20 , SEP , 2013 , RWC , "ccalc" , MICRO , TYPE_BUG_FIX ,
2435    "Fixed Ziad's stupid sprintf(buf, ... , buf) bug" ,
2436    NULL } ,
2437 
2438  { 17 , SEP , 2013 , RWC , "afni_driver.c" , MICRO , TYPE_BUG_FIX ,
2439    "Fix problem with SET_PBAR_ALL +99" ,
2440    "Didn't properly enforce the positivity." } ,
2441 
2442  { 16 , SEP , 2013 , RWC , "3dQwarp" , MINOR , TYPE_MODIFY ,
2443    "Add zero-padding" ,
2444    "To allow for images that run right up to the edge of the volume, where\n"
2445    "displacements are defined to be zero, so those parts of the volume won't\n"
2446    "be warped.  Zero-padding extends the volume, which will avoid such\n"
2447    "issues.  It is turned on by default, and can be turned off by '-nopad'\n"
2448    "(as in 3dAllineate)." } ,
2449 
2450  { 28 , AUG , 2013 , RWC , "3dQwarp" , MICRO , TYPE_NEW_OPT ,
2451    "-allinkeep option ==> keep -allineate files around" ,
2452    NULL } ,
2453 
2454  { 27 , AUG , 2013 , RWC , "Continuing vectim saga" , MICRO , TYPE_MODIFY ,
2455    "More 64 bit fixes" ,
2456    "A few more 64 bit fixes in various MRI_vectim using codes.  Also, change\n"
2457    "the nvox field in MRI_IMAGE to int64_t.  However, generally allowing for\n"
2458    "more than 2G voxels in a 3D volume will be a very grueling change to\n"
2459    "make in thousands of places!" } ,
2460 
2461  { 26 , AUG , 2013 , RWC , "3dREMLfit" , MINOR , TYPE_BUG_FIX ,
2462    "Program crashes or gets bad answers on very large datasets" ,
2463    "Problem: with a vectim, the pointer to the k-th voxel time series array\n"
2464    "(of length nvals) is calculated as\n"
2465    "  ptr = base + k * nvals\n"
2466    "where k and nvals are ints.  But with gcc, the k*nvals value is then\n"
2467    "computed in 32 bit arithmetic before being added to the 64 bit pointer\n"
2468    "'base'.  Not good when you pass the 2,147,483,647-th voxel -- that is,\n"
2469    "if the vectim is over 8 Gbytes.  With the Intel icc, it apparently works\n"
2470    "OK -- bravo for Intel.  Anyhoo, by casting k and nvals to size_t, this\n"
2471    "problem goes away.  For now." } ,
2472 
2473  { 23 , AUG , 2013 , RWC , "3dTproject" , MINOR , TYPE_MODIFY ,
2474    "Add catenation, for RCR" ,
2475    NULL } ,
2476 
2477  { 15 , AUG , 2013 , RWC , "cs_symeig" , MICRO , TYPE_BUG_FIX ,
2478    "Modify backup for svd_double failure" ,
2479    "gcc-compiled source for eispack SVD function sometimes gives wrong\n"
2480    "results.  The backup code for this also sometimes fails.  So I modified\n"
2481    "the backup in 2 ways -- perturb the matrix by a factor of 1e-13, and if\n"
2482    "that fails, call a second backup SVD function.  Sheesh." } ,
2483 
2484  { 9 , AUG , 2013 , RWC , "3dTproject" , MINOR , TYPE_NEW_PROG ,
2485    "Rapid orthogonal projection to remove unwanted time series" ,
2486    "To replace 3dBandpass when necessary" } ,
2487 
2488  { 26 , JUL , 2013 , RWC , "3dNwarpFuncs" , MINOR , TYPE_NEW_PROG ,
2489    "Calculate various functions of a warp (e.g., Jacobian)" ,
2490    NULL } ,
2491 
2492  { 23 , JUL , 2013 , RWC , "afni" , MICRO , TYPE_NEW_ENV ,
2493    "Make AFNI_RECENTER_VIEWING an editable (in the GUI) variable" ,
2494    NULL } ,
2495 
2496  { 19 , JUL , 2013 , RWC , "3dDeconvolve" , MICRO , TYPE_MODIFY ,
2497    "Added warning if censor array is too long" ,
2498    NULL } ,
2499 
2500  { 19 , JUL , 2013 , RWC , "3dQwarp" , MINOR , TYPE_NEW_OPT ,
2501    "-resample and -allinfast options" ,
2502    "For resampling (without registering) and fast affine registering -- both\n"
2503    "done via 3dAllineate." } ,
2504 
2505  { 18 , JUL , 2013 , RWC , "@toMNI_Awarp _Qwarpar" , MICRO , TYPE_MODIFY ,
2506    "Modified to gzip output BRIKs" ,
2507    NULL } ,
2508 
2509  { 18 , JUL , 2013 , RWC , "3dQwarp" , MICRO , TYPE_BUG_FIX ,
2510    "Yet another indexing error (in argv[], no less)" ,
2511    NULL } ,
2512 
2513  { 17 , JUL , 2013 , RWC , "3dAllineate" , MICRO , TYPE_BUG_FIX ,
2514    "fixed problem with -zclip in the source volume - indexing error" ,
2515    NULL } ,
2516 
2517  { 17 , JUL , 2013 , RWC , "3dQwarp" , MICRO , TYPE_MODIFY ,
2518    "clip output image to range of input image when interpolating" ,
2519    NULL } ,
2520 
2521  { 17 , JUL , 2013 , RWC , "3dQwarp" , MICRO , TYPE_BUG_FIX ,
2522    "fixed indexing error in duplo_up for odd-sized grids" ,
2523    NULL } ,
2524 
2525  { 16 , JUL , 2013 , RWC , "3dQwarp" , MAJOR , TYPE_NEW_OPT ,
2526    "-allineate = run 3dAllineate first" ,
2527    "With this option, 3dQwarp can align datasets that are not so close, and\n"
2528    "are not on the same 3D grid (since the substitute source dataset output\n"
2529    "by 3dAllineate will be on the base grid)." } ,
2530 
2531  { 26 , JUN , 2013 , RWC , "various files" , MINOR , TYPE_GENERAL ,
2532    "Allow individual sub-bricks over 2 GB in size" ,
2533    "By changing the brick_bytes[] array to int64_t from int, and then\n"
2534    "modifying all places that use it." } ,
2535 
2536  { 25 , JUN , 2013 , RWC , "3dUnifize" , MICRO , TYPE_NEW_OPT ,
2537    "Add -ssave option, to save scaling dataset for perusal" ,
2538    NULL } ,
2539 
2540  { 25 , JUN , 2013 , RWC , "AFNI_PBAR_TICK" , MICRO , TYPE_NEW_ENV ,
2541    "Ability to disable new tick marks for colorscales and image bars." ,
2542    "Can set this to NO, or to the number of tick marks desired." } ,
2543 
2544  { 24 , JUN , 2013 , RWC , "afni" , MICRO , TYPE_MODIFY ,
2545    "Add 'Thr=OLay?' to 'Thr=OLay+1?' repertoire" ,
2546    "Mostly because I wanted to do this a lot.  This is on the popup menu\n"
2547    "over the threshold slider bar in the 'Define OverLay' control panel." } ,
2548 
2549  { 24 , JUN , 2013 , RWC , "AFNI_HISTORY_NAME" , MICRO , TYPE_NEW_ENV ,
2550    "Lets user change username@machine in History notes" ,
2551    "Because super-heroes need to have a secret identity, right?" } ,
2552 
2553  { 24 , JUN , 2013 , RWC , "distsend (script)" , MICRO , TYPE_GENERAL ,
2554    "Modify to recursively mv contents of subdirectories properly" ,
2555    NULL } ,
2556 
2557  { 24 , JUN , 2013 , RWC , "all OpenMP progs" , MICRO , TYPE_GENERAL ,
2558    "Add AFNI_SETUP_OMP(0) macro at startup" ,
2559    "To limit number of threads to 12 if the system has more CPUs.  Will be\n"
2560    "over-ridden by OMP_NUM_THREADS, if it is set." } ,
2561 
2562  { 13 , JUN , 2013 , RWC , "3dLocalHistog" , MICRO , TYPE_BUG_FIX ,
2563    "Fixed bug that caused first value from label table to be lost" ,
2564    "Or actually, subsumed into the 0=Other histogram.  stupid stupid stupid" } ,
2565 
2566  { 7 , JUN , 2013 , RWC , "3dhistog" , MICRO , TYPE_NEW_OPT ,
2567    "Add -igfac option" ,
2568    "To ignore scale factors -- to histogram-ize the underlying shorts or\n"
2569    "bytes in a dataset." } ,
2570 
2571  { 4 , JUN , 2013 , RWC , "Nwarp programs" , MICRO , TYPE_MODIFY ,
2572    "Added 'FAC:x,y,z:dataset' input format for warps" ,
2573    "To allow separate scaling of each direction of a warp." } ,
2574 
2575  { 30 , MAY , 2013 , RWC , "afni" , MICRO , TYPE_MODIFY ,
2576    "AFNI_OVERRIDE_VIEW lets you force all datasets into one view" ,
2577    "Should be set to TLRC or ORIG" } ,
2578 
2579  { 24 , MAY , 2013 , RWC , "3dQwarp" , MICRO , TYPE_NEW_OPT ,
2580    "Add -noneg option, to crush negative values in input datasets." ,
2581    NULL } ,
2582 
2583  { 22 , MAY , 2013 , RWC , "3dUnifize" , MICRO , TYPE_MODIFY ,
2584    "Change default clip fraction for automask to 0.1 from 0.5" ,
2585    "For Juen -- to deal with heavily faded images." } ,
2586 
2587  { 14 , MAY , 2013 , RWC , "3dQwarp" , MINOR , TYPE_NEW_OPT ,
2588    "New -plusminus option" ,
2589    "'Meet-in-the-middle' matching: base(x-dis(x)) = source(x+dis(x)).\n"
2590    "For application to unwarping blip-up and blip-down EPI datasets.\n"
2591    "\n"
2592    "Also, fix bug when -no?dis options are used -- when the code for\n"
2593    "parameter sub-vector mapping was moved around, the 'free' call to get\n"
2594    "rid of any old mapping wasn't moved with it -- bad Bob, bad bad bad." } ,
2595 
2596  { 7 , MAY , 2013 , RWC , "3dQwarp" , MICRO , TYPE_NEW_OPT ,
2597    "Add -Qfinal option (experimental)" ,
2598    NULL } ,
2599 
2600  { 6 , MAY , 2013 , RWC , "3dNwarpApply" , MICRO , TYPE_NEW_OPT ,
2601    "Add -short option == save results as shorts" ,
2602    "For use in warping label datasets." } ,
2603 
2604  { 3 , MAY , 2013 , RWC , "thd_compress.c" , MICRO , TYPE_MODIFY ,
2605    "Substitute pigz for gzip and pbzip2 for bzip2 if present in path" ,
2606    NULL } ,
2607 
2608  { 1 , MAY , 2013 , RWC , "3dQwarp" , MINOR , TYPE_MODIFY ,
2609    "Minor updates" ,
2610    "Make -emask work with -duplo.\n"
2611    "Add SAMPLE USAGE section to help to show how to combine 3dAllineate with\n"
2612    "3dQwarp, and/or align_epi_anat.py also.\n"
2613    "Add -base and -source options, to make program look more like 3dAllineate." } ,
2614 
2615  { 26 , APR , 2013 , RWC , "3dQwarp" , MICRO , TYPE_MODIFY ,
2616    "Make -emask option work correctly with -duplo" ,
2617    NULL } ,
2618 
2619  { 25 , APR , 2013 , RWC , "afni" , MICRO , TYPE_MODIFY ,
2620    "strlist chooser stays in same place if re-opened - for Allison" ,
2621    NULL } ,
2622 
2623  { 22 , APR , 2013 , RWC , "3dNwarpAdjust" , MINOR , TYPE_NEW_PROG ,
2624    "For template-building via @toMNI_Qwarp" ,
2625    "Computes the mean warp, and adjusts the individual warps to get rid of\n"
2626    "this mean warp (under the presumption that it is some kind of bias)." } ,
2627 
2628  { 18 , APR , 2013 , RWC , "3dQwarp" , MICRO , TYPE_BUG_FIX ,
2629    "-useweight didn't actually do anything inside OpenMP" ,
2630    "Obviously, this can't be my fault.  I blame evil spirits." } ,
2631 
2632  { 12 , APR , 2013 , RWC , "afni" , MICRO , TYPE_MODIFY ,
2633    "detach from terminal and graph fading are now the defaults" ,
2634    NULL } ,
2635 
2636  { 12 , APR , 2013 , RWC , "3dLocalHistog" , MINOR , TYPE_NEW_PROG ,
2637    "Collecting counts of labels in nbhd of each voxel" ,
2638    "For building atlases that allow for uncertainty in position" } ,
2639 
2640  { 4 , APR , 2013 , RWC , "3dGroupInCorr" , MINOR , TYPE_NEW_OPT ,
2641    "Add -Apair option" ,
2642    "For testing differences in correlations in 1 group from 2 different\n"
2643    "seeds -- the regular seed minus the 'Apair' seed.  Also changes to AFNI\n"
2644    "to set the Apair seed, etc." } ,
2645 
2646  { 2 , APR , 2013 , RWC , "Nwarp" , MICRO , TYPE_GENERAL ,
2647    "Replace sqrt(nwarp) algorithm" ,
2648    "Schulz method gives unpleasant ringing artifacts in the square root. \n"
2649    "Use the Denman-Beavers methods instead, which is slower and maybe a\n"
2650    "little less accurate, but doesn't do the ringing weirdness." } ,
2651 
2652  { 26 , MAR , 2013 , RWC , "3dttest++" , MINOR , TYPE_NEW_OPT ,
2653    "Add option -cmeth (MEAN or MEDIAN) for Steve Gotts" ,
2654    NULL } ,
2655 
2656  { 26 , MAR , 2013 , RWC , "afni" , MICRO , TYPE_MODIFY ,
2657    "Minor changes to Fade feature in graph viewer" ,
2658    "Toggle button in Opt menu.\n"
2659    "AFNI_GRAPH_FADE environment variable.\n"
2660    "Make sure it works with Clusterize and InstaCorr updates." } ,
2661 
2662  { 22 , MAR , 2013 , RWC , "afni" , MICRO , TYPE_MODIFY ,
2663    "Fading of graph sub-windows with the 'F' key" ,
2664    NULL } ,
2665 
2666  { 12 , MAR , 2013 , RWC , "3dNwarpApply" , MINOR , TYPE_NEW_OPT ,
2667    "Various fixes" ,
2668    "-ainterp = lets you interpolate data differently from warp\n"
2669    "-affter  = lets you use a different affine warp for each sub-brick\n"
2670    "-nwarp   = allow catenation and inversion directly on the command line\n"
2671    "\n"
2672    "These last 2 options make the program 3dNwarpCat pleonastically\n"
2673    "redundant." } ,
2674 
2675  { 27 , FEB , 2013 , RWC , "3dUnifize" , MICRO , TYPE_NEW_OPT ,
2676    "Added -GM option to stretch gray matter to a consistent-ish place" ,
2677    NULL } ,
2678 
2679  { 20 , FEB , 2013 , RWC , "3dUnifize" , MINOR , TYPE_NEW_PROG ,
2680    "Quick and dirty approximate spatial uniformization of T1 anats" ,
2681    "Mostly for use with 3dQwarp" } ,
2682 
2683  { 19 , FEB , 2013 , RWC , "afni" , MINOR , TYPE_NEW_ENV ,
2684    "Histogram plugins can now do cumulative distributions" ,
2685    "set AFNI_HISTOG_CUMULATIVE to YES" } ,
2686 
2687  { 14 , FEB , 2013 , RWC , "3dAllineate" , MICRO , TYPE_NEW_OPT ,
2688    "Add -emask option (exclude certain voxels)" ,
2689    "For use in registering pre- and post-surgery volumes (e.g.)." } ,
2690 
2691  { 7 , FEB , 2013 , RWC , "afni" , MICRO , TYPE_MODIFY ,
2692    "Add MASK= to driver for INSTACORR INIT" ,
2693    "Per the request of the esteemed Daniel Handwerker, scientist\n"
2694    "extraordinaire." } ,
2695 
2696  { 2 , JAN , 2013 , RWC , "afni Clusterize" , MINOR , TYPE_MODIFY ,
2697    "Allow use of Spearman rather than Pearson for scatterplot correlation" ,
2698    "Set via environment variable AFNI_CLUSTER_SPEARMAN, or by popup menu\n"
2699    "attached to top of clusterize report form.  This is for PK." } ,
2700 
2701  { 27 , DEC , 2012 , RWC , "3dPolyfit" , MICRO , TYPE_NEW_OPT ,
2702    "Add '-base' option" ,
2703    "To allow fitting (in space) arbitrary input images, as well as (spatial)\n"
2704    "polynomials." } ,
2705 
2706  { 26 , DEC , 2012 , RWC , "3dDeconvolve" , MICRO , TYPE_NEW_OPT ,
2707    "-virtvec option for Javier" ,
2708    NULL } ,
2709 
2710  { 5 , DEC , 2012 , RWC , "afni" , MINOR , TYPE_MODIFY ,
2711    "add Detrend button to Opt menu" ,
2712    "Detrends each time series before plotting.  For Javier." } ,
2713 
2714  { 28 , NOV , 2012 , RWC , "3dGroupInCorr" , MINOR , TYPE_NEW_OPT ,
2715    "-dospcov" ,
2716    "Compute Spearman correlation of subject results with covariate.  Output\n"
2717    "sub-bricks are labeled with '_SP' at the end, as in 'LLL_cov_SP' to\n"
2718    "indicate the group with label 'LLL' correlated with the covariate with\n"
2719    "label 'cov'.  This is for the IMom (PK)." } ,
2720 
2721  { 23 , NOV , 2012 , RWC , "afni instacorr" , MINOR , TYPE_MODIFY ,
2722    "Allow Start and End indexes, rather than Ignore (=Start)" ,
2723    "To allow Instacorr-ing a subset of a time series.  Per the request of\n"
2724    "the Exceptional Javier Gonzalez-Castillo" } ,
2725 
2726  { 18 , OCT , 2012 , RWC , "afni" , MICRO , TYPE_NEW_ENV ,
2727    "AFNI_CREEPTO modifies 'jumpto xyz' behavior" ,
2728    NULL } ,
2729 
2730  { 17 , OCT , 2012 , RWC , "afni" , MICRO , TYPE_GENERAL ,
2731    "Add 'j' and 'f' keystrokes for image viewers" ,
2732    "Like 'Jump' and 'Flash' in the Clusterize Rpt windows, for the cluster\n"
2733    "in which the crosshairs currently reside." } ,
2734 
2735  { 15 , OCT , 2012 , RWC , "1dplot" , MICRO , TYPE_BUG_FIX ,
2736    "Fixed bug with -CENSORTR run wildcards and coloring" ,
2737    NULL } ,
2738 
2739  { 15 , OCT , 2012 , RWC , "1dplot" , MICRO , TYPE_BUG_FIX ,
2740    "Fixed bug with 'push' and '-yaxis' interacting badly." ,
2741    NULL } ,
2742 
2743  { 15 , OCT , 2012 , RWC , "afni" , MICRO , TYPE_MODIFY ,
2744    "Add 'range=a,b' option to ALTER_WINDOW command in AFNI driver" ,
2745    NULL } ,
2746 
2747  { 19 , SEP , 2012 , RWC , "3dGroupInCorr" , MINOR , TYPE_NEW_OPT ,
2748    "Add -scale option for the Person from Kolkata" ,
2749    NULL } ,
2750 
2751  { 3 , AUG , 2012 , RWC , "2perm" , MICRO , TYPE_NEW_PROG ,
2752    "For generating 2 random subsets of a sequence of integers" ,
2753    NULL } ,
2754 
2755  { 26 , JUL , 2012 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
2756    "Modify wsinc5 (again) to be more flexible" ,
2757    NULL } ,
2758 
2759  { 23 , JUL , 2012 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
2760    "Also, change wsinc5 taper from Hanning to Hamming" ,
2761    NULL } ,
2762 
2763  { 23 , JUL , 2012 , RWC , "3dAllineate" , MICRO , TYPE_NEW_ENV ,
2764    "Allow 7x7x7 interpolation in wsinc5 + spherical mask" ,
2765    "via environment variables" } ,
2766 
2767  { 12 , JUL , 2012 , RWC , "3dDeconvolve" , MICRO , TYPE_NEW_OPT ,
2768    "added ':a:b:c' appendage to -stim_times_AM2" ,
2769    "To allow user to specify what values to subtract from modulation\n"
2770    "parameters (over-riding the default subtraction of the average)." } ,
2771 
2772  { 19 , JUN , 2012 , RWC , "3dttest++" , MINOR , TYPE_GENERAL ,
2773    "Internal wildcard expansion with SHORT FORM '-set' options." ,
2774    NULL } ,
2775 
2776   { 23 , MAY , 2012 , RWC , "3dGroupInCorr" , MINOR , TYPE_NEW_OPT ,
2777    "Add -clust option, to allow 3dClustSim stuff to be used" ,
2778    NULL } ,
2779 
2780  { 21 , MAY , 2012 , RWC , "FDR calculations" , MICRO , TYPE_NEW_ENV ,
2781    "AFNI_NON_INDEPENDENT_FDR == YES --> like '-cdep' in 3dFDR." ,
2782    NULL } ,
2783 
2784  { 17 , MAY , 2012 , RWC , "3dGroupInCorr" , MINOR , TYPE_NEW_OPT ,
2785    "Add -donocov option" ,
2786    "When -covariates is used, -donocov says to also do the NO covariates\n"
2787    "analyses and tack them onto the end of the results -- for comparison fun" } ,
2788 
2789  { 8 , MAY , 2012 , RWC , "1ddot" , MICRO , TYPE_NEW_OPT ,
2790    "Add -rank option to do Spearman correlations" ,
2791    NULL } ,
2792 
2793  { 7 , MAY , 2012 , RWC , "FIRdesign" , MICRO , TYPE_NEW_PROG ,
2794    "Finite Impulse Design filter design program -- for bandpass" ,
2795    NULL } ,
2796 
2797  { 7 , MAY , 2012 , RWC , "AFNI instacorr" , MICRO , TYPE_MODIFY ,
2798    "Modify treatment of Global Ort file" ,
2799    "If too short to allow for Ignore, then doesn't do Ignore on the Global\n"
2800    "Ort time series.  Otherwise, does the initial Ignore on that input.  The\n"
2801    "Help also reflects this change.  In the past, it always did the Ignore\n"
2802    "on the Global Ort data, and if it couldn't, then it skipped them\n"
2803    "entirely." } ,
2804 
2805  { 4 , MAY , 2012 , RWC , "1dBport" , MICRO , TYPE_NEW_OPT ,
2806    "Add -quad option = linear and quadratic trend regressors" ,
2807    NULL } ,
2808 
2809  { 2 , MAY , 2012 , RWC , "coxplot" , MICRO , TYPE_GENERAL ,
2810    "More minor changes to timeseries plotting" ,
2811    "Rounded joins for lines drawn in 'new' mode.  Use new mode for final\n"
2812    "rendering in plug_realtime.c (but not for realtime graphing).  Etc." } ,
2813 
2814  { 1 , MAY , 2012 , RWC , "mri_stats" , MICRO , TYPE_BUG_FIX ,
2815    "Fixed student_t2z problem with very tiny p values (roundoff error)" ,
2816    NULL } ,
2817 
2818  { 30 , APR , 2012 , RWC , "1dplot" , MICRO , TYPE_GENERAL ,
2819    "Add anti-aliasing rendering to X11 drawing as well." ,
2820    "Set AFNI_1DPLOT_RENDEROLD to YES to turn this feature off (but why?)." } ,
2821 
2822  { 27 , APR , 2012 , RWC , "1dplot" , MICRO , TYPE_GENERAL ,
2823    "Modify rendering of images (jpeg, png) to look nicer" ,
2824    NULL } ,
2825 
2826  { 27 , APR , 2012 , RWC , "3dANOVA and 3dRegANA" , MICRO , TYPE_GENERAL ,
2827    "Modified to use a random SUFFIX for temp filenames" ,
2828    "To avoid conflict when running 2+ copies in the same directory.  Per the\n"
2829    "request of Tom Holroyd." } ,
2830 
2831  { 26 , APR , 2012 , RWC , "3dLocalBistat" , MINOR , TYPE_NEW_OPT ,
2832    "Allow 1 volume vs. multi-volume; Add slope options" ,
2833    NULL } ,
2834 
2835  { 25 , APR , 2012 , RWC , "3dNormalityTest" , MICRO , TYPE_NEW_OPT ,
2836    "Add -pval option, to get a 'pure' p-value out" ,
2837    NULL } ,
2838 
2839  { 24 , APR , 2012 , RWC , "1dplot" , MINOR , TYPE_NEW_OPT ,
2840    "Add censor stuff to 1dplot, for Colm" ,
2841    NULL } ,
2842 
2843  { 18 , APR , 2012 , RWC , "3dDeconvolve" , MINOR , TYPE_BUG_FIX ,
2844    "Patch BLOCK and dmBLOCK to have their old non-unit-peak behavior" ,
2845    "New functions UBLOCK and dmUBLOCK now have the unit-peak behavior." } ,
2846 
2847  { 5 , APR , 2012 , RWC , "3dTstat" , MICRO , TYPE_NEW_OPT ,
2848    "Add -zcount option: count number of zero values in a voxel" ,
2849    NULL } ,
2850 
2851  { 5 , APR , 2012 , RWC , "3dTnorm" , MINOR , TYPE_NEW_PROG ,
2852    "Normalize each time series in a dataset" ,
2853    "Like 1dnorm for 3D+time datasets" } ,
2854 
2855  { 3 , APR , 2012 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
2856    "dmBLOCK now defaults to peak=0 ==> variable amplitude" ,
2857    "Former behavior is now achieved with dmBLOCK(1) ==> fixed amplitude.\n"
2858    "Also, the peak variable amplitude is now 1, rather than some annoying\n"
2859    "value that means nothin to nobody nohow." } ,
2860 
2861  { 2 , APR , 2012 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
2862    "Add MIONN() function to repertoire (negative MION)" ,
2863    NULL } ,
2864 
2865  { 2 , APR , 2012 , RWC , "Lion build" , MICRO , TYPE_GENERAL ,
2866    "Modify install process to include useful netpbm program binaries" ,
2867    "The stuff that imseq.c uses to write images out (GIF, TIFF, PNG, BMP),\n"
2868    "so that fink is not required.  Done via Makefile macro\n"
2869    "EXTRA_INSTALL_COMMANDS and copying all files in directory EXTRAPROGS to\n"
2870    "the output binaries." } ,
2871 
2872  { 19 , MAR , 2012 , RWC , "Makefiles" , MICRO , TYPE_GENERAL ,
2873    "Remove -O3 and -ffast-math and -ftree-vectorize from all gcc cases" ,
2874    "Too many problems on Lion with -O3 make me suspicious of aggressive\n"
2875    "optimization in general." } ,
2876 
2877  { 14 , MAR , 2012 , RWC , "AFNI package" , MICRO , TYPE_GENERAL ,
2878    "Add Makefile for Mac OS X 10.7 == Lion" ,
2879    "No thanks to Apple, by the way -- breaking OpenMP -- what a bunch of\n"
2880    "maroons." } ,
2881 
2882  { 8 , MAR , 2012 , RWC , "OpenMP program" , MICRO , TYPE_BUG_FIX ,
2883    "Replace memcpy/memset with AAmemcpy/AAmemset" ,
2884    "OpenMP has trouble with these, particularly on Mac Lion.  Files affected\n"
2885    "include:\n"
2886    "\n"
2887    "3dAutoTcorrelate.c  3dDespike.c  3dREMLfit.c\n"
2888    "3ddata.h            cs_qmed.c    mri_blur3d_variable.c\n"
2889    "mri_nwarp.c         mrilib.h     rcmat.c\n"
2890    "thd_incorrelate.c\n"
2891    "\n"
2892    "AAmemcpy and AAmemset are defined in mrilib.h.  In particular, this gets\n"
2893    "rid of the vastly annoying ___builtin_object_size undefined symbol error\n"
2894    "message when linking an OpenMP program with llvm-gcc-4.2 on Lion." } ,
2895 
2896  { 7 , MAR , 2012 , RWC , "many" , MICRO , TYPE_GENERAL ,
2897    "Many small changes to fix problems caught with the llvm compiler." ,
2898    NULL } ,
2899 
2900  { 6 , MAR , 2012 , RWC , "3dNormalityTest" , MINOR , TYPE_NEW_PROG ,
2901    "Test voxel values for normality (Gaussianity)." ,
2902    "Uses the Anderson-Darling test." } ,
2903 
2904  { 1 , MAR , 2012 , RWC , "1dBport" , MINOR , TYPE_NEW_OPT ,
2905    "Several things to keep Rick happy" ,
2906    "Option '-band fbot ftop' can now be used more than once.\n"
2907    "\n"
2908    "New option '-nozero' means to NOT include the 0 frequency.\n"
2909    "\n"
2910    "New option '-invert' means to calculate the frequency indexes to remove\n"
2911    "from the various '-band' options, then invert them to KEEP only those\n"
2912    "frequencies instead.  That is, only the frequencies NOT specified via\n"
2913    "'-band' will be output in the resultant 1D file." } ,
2914 
2915  { 23 , FEB , 2012 , RWC , "afni" , MINOR , TYPE_MODIFY ,
2916    "Enable 'bigthree' mode for color pbar" ,
2917    "If AFNI_PBAR_THREE is YES, the color pbar in the AFNI GUI (but not the\n"
2918    "renderer) will start in 'bigthree' mode, with 3 panes -- the colorscale\n"
2919    "in the middle one, and the upper and lower panes adjustable to allow for\n"
2920    "scaling that is not symmetrical." } ,
2921 
2922  { 21 , FEB , 2012 , RWC , "3dAutobox" , MICRO , TYPE_NEW_OPT ,
2923    "Add -npad option, for Larry Frank" ,
2924    NULL } ,
2925 
2926  { 17 , FEB , 2012 , RWC , "debugtrace.h" , MICRO , TYPE_MODIFY ,
2927    "Add printout of 'from' and 'to' information on ENTRY/RETURN macros" ,
2928    "Also patched up a missing ENTRY macro in new_MCW_optmenu() in bbox.c,\n"
2929    "that SOMEONE (who shall go un-named) criminally forgot when patching the\n"
2930    "code for LessTif compatibility." } ,
2931 
2932  { 13 , FEB , 2012 , RWC , "3dPeriodogram" , MICRO , TYPE_BUG_FIX ,
2933    "pfact was not static" ,
2934    "But apparently worked OK until Ziad initialized it to zero." } ,
2935 
2936  { 8 , FEB , 2012 , RWC , "afni" , MICRO , TYPE_GENERAL ,
2937    "Add ability to flip colors in a discrete paned pbar" ,
2938    "And a 'Flip Colors' button to do so." } ,
2939 
2940  { 11 , JAN , 2012 , RWC , "3dhistog" , MICRO , TYPE_BUG_FIX ,
2941    "Fix bugs" ,
2942    "(a) fbin storing the counts was not always allocated the right length\n"
2943    "(b) changed it from int to int64_t to allow for really large datasets\n"
2944    "(c) there is no 3rd item" } ,
2945 
2946  { 11 , JAN , 2012 , RWC , "many programs" , MICRO , TYPE_GENERAL ,
2947    "Print WARNING message if '-polort A' is used where not allowed" ,
2948    "This is the Inati's fault." } ,
2949 
2950  { 10 , JAN , 2012 , RWC , "1dBport" , MINOR , TYPE_NEW_PROG ,
2951    "Generates sin/cos waveforms for bandpass-via-regression" ,
2952    NULL } ,
2953 
2954  { 4 , JAN , 2012 , RWC , "1dsvd" , MICRO , TYPE_MODIFY ,
2955    "Add percent ability to -nev option" ,
2956    "That is, the ability to output (via -1Dleft) the set of vectors that\n"
2957    "make up the first 'n' percent of the column space." } ,
2958 
2959  { 3 , JAN , 2012 , RWC , "THD_dset_in_session" , MICRO , TYPE_MODIFY ,
2960    "Alter FIND_PREFIX to strip off '+view' if present." ,
2961    NULL } ,
2962 
2963  { 23 , DEC , 2011 , RWC , "afni" , MICRO , TYPE_MODIFY ,
2964    "Allow user to append a string to the overlay label" ,
2965    "Via environment AFNI_IMAGE_LABEL_STRING or by a new item on the\n"
2966    "intensity bar popup menu in the GUI -- the latter takes precendence. \n"
2967    "This is Ziad's Xmas present." } ,
2968 
2969  { 22 , DEC , 2011 , RWC , "afni realtime plugin" , MICRO , TYPE_NEW_ENV ,
2970    "AFNI_REALTIME_External_Dataset environment variable" ,
2971    "Lets the realtime user (let's call her/him 'CC') specify an external\n"
2972    "dataset to be used as the registation base.  CC doesn't have to use a\n"
2973    "dataset that is in the cwd, unlike the plugin's GUI selector.  Nor does\n"
2974    "the setting of this environment variable affect the plugin's GUI." } ,
2975 
2976  { 22 , DEC , 2011 , RWC , "mycat" , MICRO , TYPE_NEW_PROG ,
2977    "Minor program to be sort of like 'cat' but un-Microsofts files." ,
2978    NULL } ,
2979 
2980  { 22 , DEC , 2011 , RWC , "afni_fgets" , MICRO , TYPE_MODIFY ,
2981    "Modified to use system fgets if file pointer is a ttty" ,
2982    NULL } ,
2983 
2984  { 21 , DEC , 2011 , RWC , "afni_fgets" , MICRO , TYPE_MODIFY ,
2985    "Modify to use system fgets for stdin" ,
2986    NULL } ,
2987 
2988  { 20 , DEC , 2011 , RWC , "fgets" , MICRO , TYPE_GENERAL ,
2989    "Replace (mostly) fgets with afni_fgets" ,
2990    "Recognizes CR and CR+LF and LF+CR as line enders, not just LF like the\n"
2991    "standard Unix library function -- these Microsofties are killing me." } ,
2992 
2993  { 20 , DEC , 2011 , RWC , "3dttest++" , MICRO , TYPE_MODIFY ,
2994    "Add debug output to thd_table.c" ,
2995    "To help me (and users) figure out what might be wrong with a covariates\n"
2996    "table.  Also applies to 3dGroupInCorr" } ,
2997 
2998  { 20 , DEC , 2011 , RWC , "fdrval" , MICRO , TYPE_MODIFY ,
2999    "Add -inverse (AKA -qinput) option" ,
3000    "Allows user to compute the threshold, given the q-value." } ,
3001 
3002  { 19 , DEC , 2011 , RWC , "THD_patch_brickim" , MICRO , TYPE_MODIFY ,
3003    "Modify to set zero dataset grids spacings to a nonzero value" ,
3004    "In the dataset struct itself, that is, not just the brick image structs." } ,
3005 
3006  { 16 , DEC , 2011 , RWC , "3dLSS" , MICRO , TYPE_GENERAL ,
3007    "Added -nodata option, and fleshed out the help with an example." ,
3008    NULL } ,
3009 
3010  { 15 , DEC , 2011 , RWC , "3dLSS" , MICRO , TYPE_NEW_PROG ,
3011    "3dLSS implement LS-S regression" ,
3012    "As described in Mumford, Turner, Asby, and Poldrack, NeuroImage 2011. \n"
3013    "See 3dLSS -help for more info." } ,
3014 
3015  { 9 , DEC , 2011 , RWC , "afni (imseq.c)" , MICRO , TYPE_BUG_FIX ,
3016    "Patch weird bug" ,
3017    "When the intensity bar popup menu is up, then the user clicks on an\n"
3018    "optmenu, then the next time the user button1 clicks in the image viewer\n"
3019    "(say to move the crosshairs), the values of last_bx and last_by are lost\n"
3020    "(reset to 0) so the move wrong.  Solution -- check if button release is\n"
3021    "in the same location (or close) as the button press, and only then allow\n"
3022    "a move." } ,
3023 
3024  { 9 , DEC , 2011 , RWC , "3dttest" , MICRO , TYPE_BUG_FIX ,
3025    "Fix sub-brick selection bug" ,
3026    "in THD_multiplex_dataset(), the '$' was not treated right -- just set to\n"
3027    "999998.  Fix is to use MCW_get_thd_intlist() for proper expansion, which\n"
3028    "also will add sub-brick label selection capability." } ,
3029 
3030  { 6 , DEC , 2011 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
3031    "Allow runs with -polort ONLY (no other regression model)" ,
3032    NULL } ,
3033 
3034  { 2 , DEC , 2011 , RWC , "3dDeconvolve" , MICRO , TYPE_NEW_OPT ,
3035    "Add -ortvec option (to appease the Inati)" ,
3036    "Lets the pitiful user add multiple baseline (i.e., ort) vectors from a\n"
3037    "single file." } ,
3038 
3039  { 1 , DEC , 2011 , RWC , "p2t" , MICRO , TYPE_GENERAL ,
3040    "Remove this program from AFNI binary distributions" ,
3041    NULL } ,
3042 
3043  { 18 , NOV , 2011 , RWC , "3dUndump" , MICRO , TYPE_BUG_FIX ,
3044    "Fix bug introduced with -ROImask" ,
3045    NULL } ,
3046 
3047  { 16 , NOV , 2011 , RWC , "3dDeconvolve" , MICRO , TYPE_BUG_FIX ,
3048    "Condition numbers were checked with SQUARES of singular values!" ,
3049    "Fixed by changing function matrix_singvals().  Also make clear in 1dsvd\n"
3050    "help that -vnorm option is needed to compare singular values with\n"
3051    "3dDeconvolve." } ,
3052 
3053  { 16 , NOV , 2011 , RWC , "dicom_hinfo" , MICRO , TYPE_GENERAL ,
3054    "Minor edits, mostly to the help." ,
3055    NULL } ,
3056 
3057  { 15 , NOV , 2011 , RWC , "dicom_hinfo" , MINOR , TYPE_NEW_PROG ,
3058    "For printing out info from lots of DICOM files" ,
3059    "For each file input, prints 1 line with the values of only the desired\n"
3060    "tags.  The goal is to be helpful in figuring out which files go\n"
3061    "together.  See Example #2 in the help output for such a case." } ,
3062 
3063  { 10 , NOV , 2011 , RWC , "afni InstaCorr" , MINOR , TYPE_NEW_OPT ,
3064    "Add ExtraSet option" ,
3065    "That is, to correlate seeds from the TimeSeries dataset with voxel data\n"
3066    "from the ExtraSet dataset.  Ziad asked for something like this, so here\n"
3067    "it is." } ,
3068 
3069  { 9 , NOV , 2011 , RWC , "3dUndump" , MINOR , TYPE_NEW_OPT ,
3070    "Add -ROImask option" ,
3071    "To put values into locations defined by a mask dataset." } ,
3072 
3073  { 8 , NOV , 2011 , RWC , "afni" , MICRO , TYPE_NEW_ENV ,
3074    "AFNI_IMAGE_COLORANGLE" ,
3075    "Set this to 360 to get the 'Colr' image to be a full circle colormap." } ,
3076 
3077  { 7 , NOV , 2011 , RWC , "3dDeconvolve" , MINOR , TYPE_MODIFY ,
3078    "No -iresp or -sresp for dmBLOCK" ,
3079    "Also, change defintion of 'near-duplicate' times from 0.05*TR to 0.50*TR" } ,
3080 
3081  { 17 , OCT , 2011 , RWC , "3dhistog" , MICRO , TYPE_MODIFY ,
3082    "removed DOS ctrl-M's in file, they screwed things up for compiling" ,
3083    NULL } ,
3084 
3085  { 13 , OCT , 2011 , RWC , "3dttest++" , MINOR , TYPE_BUG_FIX ,
3086    "Fixed error in computing with un-centered covariates" ,
3087    "inv[Xt*X] matrix not computed correctly in mri_matrix_psinv_pair()\n"
3088    "function." } ,
3089 
3090  { 12 , OCT , 2011 , RWC , "NIML library" , MICRO , TYPE_GENERAL ,
3091    "Extend printout of floats to higher precision" ,
3092    NULL } ,
3093 
3094  { 7 , OCT , 2011 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3095    "Move splashes, faces, and poems to funstuff/ subdirectory" ,
3096    "funstuff/ is now a sub-directory of the binary install directory." } ,
3097 
3098  { 7 , OCT , 2011 , RWC , "1dTsort" , MICRO , TYPE_GENERAL ,
3099    "Add -col option, to sort on just one column." ,
3100    NULL } ,
3101 
3102  { 21 , SEP , 2011 , RWC , "3dTshift" , MICRO , TYPE_NEW_OPT ,
3103    "Add -voxshift option" ,
3104    NULL } ,
3105 
3106  { 21 , SEP , 2011 , RWC , "3dClustSim" , MICRO , TYPE_NEW_OPT ,
3107    "Add -2sided option" ,
3108    NULL } ,
3109 
3110  { 26 , AUG , 2011 , RWC , "3dclust" , MICRO , TYPE_NEW_OPT ,
3111    "add -savemask option" ,
3112    NULL } ,
3113 
3114  { 26 , AUG , 2011 , RWC , "afni Clusterize" , MICRO , TYPE_GENERAL ,
3115    "Modify to print out 3dclust and whereami commands when used" ,
3116    "Per the suggestion of Andy Connolly of Dartmouth College." } ,
3117 
3118  { 19 , AUG , 2011 , RWC , "3dNwarpCalc" , MINOR , TYPE_MODIFY ,
3119    "Fix &readpoly() and implement &read4x4()" ,
3120    "Modify 3dNwarpApply to use same function as &apply() so that the 2\n"
3121    "programs are in sync.\n"
3122    "Release 3dNwarpCalc into the wild:\n"
3123    "\n"
3124    "Born free, and code is worth running, but only worth running, because\n"
3125    "you're born freeware!" } ,
3126 
3127  { 18 , AUG , 2011 , RWC , "3dNwarpCalc" , MICRO , TYPE_GENERAL ,
3128    "Add '&apply' function" ,
3129    "To apply a calculated 3D warp to a dataset, without having to use\n"
3130    "3dNwarpApply" } ,
3131 
3132  { 18 , AUG , 2011 , RWC , "3dttest++" , MICRO , TYPE_GENERAL ,
3133    "Add some clarify text about covariates to the -help output" ,
3134    "Also add an addition check to see if dataset name covariates are all the\n"
3135    "same, and print out some info about the covariates." } ,
3136 
3137  { 11 , AUG , 2011 , RWC , "3dNwarpCalc" , MICRO , TYPE_GENERAL ,
3138    "Added sqrt of a nonlinear warp to the repertoire." ,
3139    NULL } ,
3140 
3141  { 9 , AUG , 2011 , RWC , "3dNwarpCalc" , MINOR , TYPE_NEW_PROG ,
3142    "Implemented about 80% of it" ,
3143    "Seems to work, but needs a fair amount of fine tuning and testing." } ,
3144 
3145  { 9 , AUG , 2011 , RWC , "3dTstat" , MICRO , TYPE_NEW_OPT ,
3146    "Add '-cvarinv' option for Vinai" ,
3147    NULL } ,
3148 
3149  { 2 , AUG , 2011 , RWC , "3dclust" , MINOR , TYPE_NEW_OPT ,
3150    "Add '-inmask' option, to use internal mask" ,
3151    "To be compatible with AFNI's Clusterize GUI, which was also modified to\n"
3152    "output this option when appropriate." } ,
3153 
3154  { 1 , AUG , 2011 , RWC , "afni" , MICRO , TYPE_MODIFY ,
3155    "Clusterize minor changes" ,
3156    "* Shift+3clust button = actually run the 3dclust command, in addition\n"
3157    "printing it out\n"
3158    "* Add a warning message if an internal 3dClustSim mask is present, since\n"
3159    "3dclust results will vary from Clusterize\n"
3160    "* Add Jumpto buttons to AFNI crosshair label popup menu" } ,
3161 
3162  { 21 , JUL , 2011 , RWC , "3dttest++" , MICRO , TYPE_MODIFY ,
3163    "Add column selection to -covariates for this, also" ,
3164    NULL } ,
3165 
3166  { 20 , JUL , 2011 , RWC , "3dGroupInCorr" , MICRO , TYPE_MODIFY ,
3167    "Allow sub-brick selectors on the -covariates table" ,
3168    NULL } ,
3169 
3170  { 15 , JUL , 2011 , RWC , "3dGroupInCorr" , MICRO , TYPE_NEW_OPT ,
3171    "Add -center option for covariates (cf. Chen Gang)" ,
3172    NULL } ,
3173 
3174  { 13 , JUL , 2011 , RWC , "3dTcorrMap" , MINOR , TYPE_BUG_FIX ,
3175    "Bug in computation of indx" ,
3176    "The mask is turned into an index table of active voxel indx[].  However,\n"
3177    "constant voxels were removed from the mask AFTER indx[] was created,\n"
3178    "which is stupid.  This is fixed now, and Zhark will be chastised." } ,
3179 
3180  { 8 , JUL , 2011 , RWC , "AFNI" , MICRO , TYPE_BUG_FIX ,
3181    "Tips HTML window crashes on kampos (Solaris)" ,
3182    "Debugging shows XmHTML crashed when rendering different-than-normal\n"
3183    "fonts.  Solution = strip font-changing HTML tags out of file before\n"
3184    "display -- only on systems marked as evil in this way." } ,
3185 
3186  { 5 , JUL , 2011 , RWC , "1dplot" , MICRO , TYPE_NEW_OPT ,
3187    "add -NOLINE to include clipping of points outside the box" ,
3188    NULL } ,
3189 
3190  { 1 , JUL , 2011 , RWC , "afni" , MINOR , TYPE_GENERAL ,
3191    "Replace text-only AFNI Tips with HTML-based" ,
3192    "Allows incorporation of images and better formatting.\n"
3193    "Uses XmHTML widget set, whose source code is also added to AFNI." } ,
3194 
3195  { 28 , JUN , 2011 , RWC , "3dDeconvolve" , MICRO , TYPE_NEW_ENV ,
3196    "Ability to skip the 'centering' done in AM2 regression" ,
3197    "By setting environment variable AFNI_3dDeconvolve_rawAM2 to YES, as in\n"
3198    "the command\n"
3199    " 3dDeconvolve -DAFNI_3dDeconvolve_rawAM2=YES ..." } ,
3200 
3201  { 27 , JUN , 2011 , RWC , "afni" , MICRO , TYPE_MODIFY ,
3202    "Add README.afnigui and AFNI Tips button" ,
3203    NULL } ,
3204 
3205  { 23 , JUN , 2011 , RWC , "afni InstaCorr" , MINOR , TYPE_MODIFY ,
3206    "Ability to INIT-ialize InstaCorr from a plugout" ,
3207    "Details are in README.driver, under the INSTACORR command section." } ,
3208 
3209  { 17 , JUN , 2011 , RWC , "afni" , MICRO , TYPE_MODIFY ,
3210    "Button3 (right) click image viewer 'Disp' to raise AFNI controller" ,
3211    NULL } ,
3212 
3213  { 15 , JUN , 2011 , RWC , "3dmaskave" , MICRO , TYPE_NEW_OPT ,
3214    "Add -sum option; rearrange -help output a little." ,
3215    NULL } ,
3216 
3217  { 7 , JUN , 2011 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
3218    "modify number of points used for optimization" ,
3219    "Powell's NEWUOA algorithm requires specifying number of points kept at\n"
3220    "each stage for approximating the objective function.  Modification here\n"
3221    "is to change this number as the various steps of registration happen,\n"
3222    "using fewer points at the start and more at the final steps.  Speeds\n"
3223    "things up a little." } ,
3224 
3225  { 6 , JUN , 2011 , RWC , "powell_newuoa.c" , MICRO , TYPE_GENERAL ,
3226    "Remove 'static' and initialize all variables to 0." ,
3227    "Makes tiny differences in 3dAllineate results.  Hmmm." } ,
3228 
3229  { 31 , MAY , 2011 , RWC , "data loading" , MICRO , TYPE_GENERAL ,
3230    "Allow mmap for supra-2GB .BRIK files" ,
3231    "Change DBLK_mmapfix macro (3ddata.h) to work for larger files on 64-bit\n"
3232    "systems -- with sizeof(size_t) == 8.  Also print an informative message\n"
3233    "in thd_loaddblk.c when mmap-ing more than 1GB." } ,
3234 
3235  { 26 , MAY , 2011 , RWC , "All" , MICRO , TYPE_GENERAL ,
3236    "new AFNI version as of today" ,
3237    "Just because -- it's been 7 months." } ,
3238 
3239  { 26 , MAY , 2011 , RWC , "mri_read" , MICRO , TYPE_MODIFY ,
3240    "Add warning message for ANALYZE scale factors too big or too small" ,
3241    NULL } ,
3242 
3243  { 26 , MAY , 2011 , RWC , "thd_cliplevel" , MICRO , TYPE_BUG_FIX ,
3244    "Problem with overflow when image has tiny float values" ,
3245    "This affects a bunch of programs, including any program that has\n"
3246    "automasking.  In the computation of the cliplevel of a float dataset,\n"
3247    "the dataset is scaled to shorts for histogram-ization, and that scaling\n"
3248    "is computed as 10000/maxval -- but if maxval is very tiny (say 1e-35),\n"
3249    "then the scale factor is float overflow -- which doesn't work so well\n"
3250    "farther on.  The solution is to compute the scale factor in double\n"
3251    "precision.  Or to have less silly users." } ,
3252 
3253  { 25 , MAY , 2011 , RWC , "@1dDiffMag" , MICRO , TYPE_NEW_PROG ,
3254    "Computes magnitude of 1st differences of 1D file" ,
3255    NULL } ,
3256 
3257  { 25 , MAY , 2011 , RWC , "3dTstat" , MICRO , TYPE_NEW_OPT ,
3258    "Add -tdiff option == statistics on first differences of data" ,
3259    NULL } ,
3260 
3261  { 25 , MAY , 2011 , RWC , "3dDeconvolve" , MINOR , TYPE_BUG_FIX ,
3262    "Fix problem with TENT and CSPLIN" ,
3263    "For non-integer TR, could miss evaluating the last function in a TENT or\n"
3264    "CSPLIN series because of roundoff error pushing the evaluation time\n"
3265    "slightly past the 'top' value.  This is bad if the function is 1 at\n"
3266    "exactly this value, as the last functions are here.  Solution was to\n"
3267    "change the test to allow evaluation at values slightly larger than\n"
3268    "'top'." } ,
3269 
3270  { 25 , MAY , 2011 , RWC , "thd_zzprintf" , MICRO , TYPE_BUG_FIX ,
3271    "Patched to avoid string overruns for crazy users" ,
3272    NULL } ,
3273 
3274  { 24 , MAY , 2011 , RWC , "1dplot" , MICRO , TYPE_NEW_OPT ,
3275    "Add -noline and -box options" ,
3276    "To plot markers at each point, without or with lines connecting them." } ,
3277 
3278  { 20 , MAY , 2011 , RWC , "1dCorrelate" , MINOR , TYPE_NEW_OPT ,
3279    "Add normal theory CI for Pearson; Add -block option" ,
3280    "Pearson correlation (the default) now gets the normal theory confidence\n"
3281    "interval printed at no extra charge.\n"
3282    "To allow for serial correlation, the -block option enables random length\n"
3283    "block resampling bootstrap.\n"
3284    "Add some more help text to explicate things a little better." } ,
3285 
3286  { 19 , MAY , 2011 , RWC , "1dCorrelate" , MINOR , TYPE_NEW_PROG ,
3287    "Compute correlation coefficients of 1D columns" ,
3288    "Pearson, Spearman, Quadrant, or Kendall tau_b.\n"
3289    "Main goal is to provide the bias-corrected bootstrap estimate of the 95%\n"
3290    "confidence interval." } ,
3291 
3292  { 16 , MAY , 2011 , RWC , "afni" , MICRO , TYPE_MODIFY ,
3293    "Make 'Points' display in grapher get bigger with thicker lines" ,
3294    "Otherwise, thick lines hide the points.  Done via XFillArc function." } ,
3295 
3296  { 27 , APR , 2011 , RWC , "3dClustSim" , MICRO , TYPE_BUG_FIX ,
3297    "Fixed nx!=ny error in NN2 and NN3 clusterization" ,
3298    NULL } ,
3299 
3300  { 20 , APR , 2011 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3301    "Boxed graphs: displace upwards by 9 pixels" ,
3302    "So that smallest graph box doesn't have zero height, which looks goofy.\n"
3303    "Also, change 'current time point' indicator to be a little bigger." } ,
3304 
3305  { 19 , APR , 2011 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3306    "Let user select grid spacing=1 from menu" ,
3307    "Helpful for Boxes graphs" } ,
3308 
3309  { 19 , APR , 2011 , RWC , "afni" , MICRO , TYPE_NEW_ENV ,
3310    "AFNI_GRAPH_FONT lets user choose font for graph viewer text" ,
3311    "9x15bold looks solid on a 100dpi screen, for example." } ,
3312 
3313  { 18 , APR , 2011 , RWC , "afni_graph" , MICRO , TYPE_GENERAL ,
3314    "Box graphs get sub-brick labels" ,
3315    "If matrix=1 and user sets AFNI_GRAPH_BOXLAB to 'ATOP', 'MAX', or 'ZERO'.\n"
3316    "For Shane." } ,
3317 
3318  { 18 , APR , 2011 , RWC , "afni" , MICRO , TYPE_NEW_ENV ,
3319    "Add AFNI_GRAPH_CX2R to allow for graphing complex time series" ,
3320    NULL } ,
3321 
3322  { 18 , APR , 2011 , RWC , "3dDFT" , MICRO , TYPE_GENERAL ,
3323    "Small changes to help; -inverse option" ,
3324    NULL } ,
3325 
3326  { 6 , APR , 2011 , RWC , "3dTfitter" , MICRO , TYPE_MODIFY ,
3327    "Minor patches to the LASSO stuff, plus expand the help output." ,
3328    "LASSO-ing during deconvolution now un-penalizes all baseline (-LHS)\n"
3329    "parameters." } ,
3330 
3331  { 29 , MAR , 2011 , RWC , "3dClustSim" , MICRO , TYPE_NEW_OPT ,
3332    "Add -OKsmallmask option" ,
3333    "To let deranged users take their statistical fortunes into their own\n"
3334    "hands." } ,
3335 
3336  { 22 , MAR , 2011 , RWC , "3dTfitter" , MICRO , TYPE_NEW_OPT ,
3337    "Add -l2sqrtlasso option" ,
3338    "Yet another solution method, this time with SQRT(LASSO) penalty." } ,
3339 
3340  { 22 , MAR , 2011 , RWC , "3dAllineate" , MINOR , TYPE_BUG_FIX ,
3341    "nwarp_pass != nwarp_type :-(" ,
3342    "Causing bug in application of nonlinear warps from external files." } ,
3343 
3344  { 17 , MAR , 2011 , RWC , "afni" , MICRO , TYPE_MODIFY ,
3345    "modify mri_read() to fully read datasets as images (not just #0)" ,
3346    NULL } ,
3347 
3348  { 11 , MAR , 2011 , RWC , "3dTfitter" , MICRO , TYPE_NEW_OPT ,
3349    "Add L2+LASSO regression option" ,
3350    "Mostly for experimentation at this moment in time." } ,
3351 
3352  { 9 , MAR , 2011 , RWC , "3dTcat" , MICRO , TYPE_MODIFY ,
3353    "2 small changes" ,
3354    "(1) Bug fix -- change output type from FIM to FBUC -- to allow sub-brick\n"
3355    "statistics codes to properly used.\n"
3356    "(2) Add sub-bricks selector preservation to wildcard expansion\n"
3357    "(mcw_glob.c) and then add this internal globbing to 3dTcat.c" } ,
3358 
3359  { 4 , MAR , 2011 , RWC , "afni Clusterize" , MICRO , TYPE_MODIFY ,
3360    "Replace S:mean correlation confidence intervals" ,
3361    "From simple bootstrap to bias-corrected (BC, not BCa) bootstrap." } ,
3362 
3363  { 4 , MAR , 2011 , RWC , "3dttest++" , MINOR , TYPE_BUG_FIX ,
3364    "Fixed bug with 1-sample results in -paired run" ,
3365    "Forgot to turn off the 'paired' opcode for the 1-sample (no covariates)\n"
3366    "analyses, so results were all zero!" } ,
3367 
3368  { 3 , MAR , 2011 , RWC , "mri_nstats.c" , MICRO , TYPE_BUG_FIX ,
3369    "Fix bug in correl_xxx functions" ,
3370    "Didn't allow nort == 0, which is a mistake; the real constraint is\n"
3371    "nfit+nort >= 1.  Fixed for Yisheng Xu of NIDCD." } ,
3372 
3373  { 2 , MAR , 2011 , RWC , "afni" , MICRO , TYPE_BUG_FIX ,
3374    "Clusterize: attempt to fix Flash bug" ,
3375    "If 2 controllers are open (and crosshairs are locked together), then\n"
3376    "Clusterize Flash doesn't work right.  This problem is rooted in an\n"
3377    "interaction of the way the clusterized dataset is stored and the way the\n"
3378    "locks are carried out.  This change is an attempt to fix this -- let me\n"
3379    "know if it introduces problems -- the code for these things is\n"
3380    "complicated and hard to figure out (and I wrote it!).\n"
3381    "\n"
3382    "I know that there is a clusterize display bug with 2 controllers open to\n"
3383    "the same overlay -- that is, the clusterized overlay may suddenly become\n"
3384    "un-clusterized and then go back to the clusterized state.  This is also\n"
3385    "related to the above interaction, but I don't see how to avoid this\n"
3386    "without a major restructuring of the clusterization mechanics in AFNI,\n"
3387    "and I just don't think this issue is worth the effort." } ,
3388 
3389  { 1 , MAR , 2011 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3390    "Add correlation and its 5%..95%  interval to Clusterize S:mean" ,
3391    "Via new bootstrapping THD_pearson_boot() function in thd_correlate.c" } ,
3392 
3393  { 28 , FEB , 2011 , RWC , "afni" , MINOR , TYPE_MODIFY ,
3394    "Clusterize: add scatterplot ('S:') options" ,
3395    "For Rasmus" } ,
3396 
3397  { 25 , FEB , 2011 , RWC , "3dTcorrMap" , MICRO , TYPE_MODIFY ,
3398    "Changes to -CorrMap output" ,
3399    "1) Make output dataset 3D+time rather than a bucket\n"
3400    "2) Add -CorrMask option to eliminate all-zero sub-bricks from output\n"
3401    "Per the request of Jonathan O'Muircheartaigh" } ,
3402 
3403  { 25 , FEB , 2011 , RWC , "afni" , MICRO , TYPE_MODIFY ,
3404    "add sub-brick label to graph window subtext" ,
3405    NULL } ,
3406 
3407  { 23 , FEB , 2011 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3408    "Adjust default grayscale values (ncol and gamma)" ,
3409    NULL } ,
3410 
3411  { 18 , FEB , 2011 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3412    "Whatever you do, don't press F5 in an image or graph viewer!" ,
3413    NULL } ,
3414 
3415  { 16 , FEB , 2011 , RWC , "3dTcorrMap" , MICRO , TYPE_GENERAL ,
3416    "Minor change to increase speed by 5% or so, with OpenMP." ,
3417    NULL } ,
3418 
3419  { 14 , FEB , 2011 , RWC , "3dUndump" , MICRO , TYPE_BUG_FIX ,
3420    "Fix comma -> blank conversion" ,
3421    "Also make semicolons and colons into blanks.\n"
3422    "Skip any line starting with an alphabetic character." } ,
3423 
3424  { 8 , FEB , 2011 , RWC , "3dGroupInCorr" , MICRO , TYPE_NEW_ENV ,
3425    "Add AFNI_INSTACORR_XYZ_LPI environment variable" ,
3426    NULL } ,
3427 
3428  { 7 , FEB , 2011 , RWC , "3dGroupInCorr" , MINOR , TYPE_NEW_OPT ,
3429    "Added -batch mode of operation" ,
3430    "To appease the Lebanese and Italian masses." } ,
3431 
3432  { 1 , FEB , 2011 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
3433    "Adjust ceil and floor functions slightly" ,
3434    "myceil(x)  =  ceil( x - 0.000005 )\n"
3435    "myfloor(x) = floor( x + 0.000005 )\n"
3436    "\n"
3437    "The changes are in order to avoid very close situations from roundoff\n"
3438    "error -- that is, don't want 6.0000001 being ceil-inged up to 7, or\n"
3439    "5.9999999 being floor-ed down to 5." } ,
3440 
3441 { 28 , JAN , 2011 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3442    "Make descendants for read-in sessions" , NULL } ,
3443 
3444  { 28 , JAN , 2011 , RWC , "plug_aslA3D3" , MICRO , TYPE_GENERAL ,
3445    "Remove CR (ctrl-M) characters from source code" ,
3446    "For reasons known only to Satan, the Sun C compiler doesn't like\n"
3447    "multiline macros with a CR character at the end of the line (after the\n"
3448    "backslash)." } ,
3449 
3450  { 27 , JAN , 2011 , RWC , "3dGroupInCorr" , MINOR , TYPE_NEW_OPT ,
3451    "Add -sendall option, to palliate the Texan hordes." ,
3452    NULL } ,
3453 
3454  { 24 , JAN , 2011 , RWC , "afni_setup.c" , MICRO , TYPE_BUG_FIX ,
3455    "Re-definition of pre-defined colors" ,
3456    "Before this fix, when a user re-defined a pre-defined color in a\n"
3457    "***COLORS section, this would go into a new entry for later setup in\n"
3458    "MCW_new_DC.  But later, the duplicate labels (e.g., 'yellow') would\n"
3459    "cause only 1 entry to actually be created -- which would screw up the\n"
3460    "indexing of later new colors that were actually created de novo.  This\n"
3461    "was fixed by re-defining the re-used color entries immediately." } ,
3462 
3463  { 21 , JAN , 2011 , RWC , "afni" , MICRO , TYPE_NEW_ENV ,
3464    "AFNI_ENVIRON_RESET allows .afnirc to re-set existing variables" ,
3465    "Per the suggestion of Alex Waite of MCW." } ,
3466 
3467  { 20 , JAN , 2011 , RWC , "3dClustSim" , MINOR , TYPE_BUG_FIX ,
3468    "Small ROI masks could give weird and wrong results" ,
3469    "Problem was when a desired alpha level (say 0.10) simply couldn't be\n"
3470    "found -- e.g., only 6% of simulations had ANY above-threshold voxels in\n"
3471    "the mask.  Bad-ositiness ensued since the program didn't check for this\n"
3472    "case.  Now it checks, uses N=1 as the result in such cases, and\n"
3473    "stderr-ifies a warning message also.\n"
3474    "\n"
3475    "The problem with developing software is users.  If we didn't have them,\n"
3476    "life would be much easier." } ,
3477 
3478  { 19 , JAN , 2011 , RWC , "3dClustSim" , MICRO , TYPE_MODIFY ,
3479    "-niml now implies -NN 123 as well" ,
3480    "Plus explain in the help output that afni_proc.py will automatically do\n"
3481    "the ClustSim-ization of statistics datasets for you." } ,
3482 
3483  { 18 , JAN , 2011 , RWC , "3dClustSim" , MICRO , TYPE_BUG_FIX ,
3484    "Fix NN buglets identified by Nick Oosterhof." ,
3485    NULL } ,
3486 
3487  { 6 , JAN , 2011 , RWC , "3dDeconvolve" , MICRO , TYPE_BUG_FIX ,
3488    "Fix problem with auto-catenation of datasets with length 1" ,
3489    "Bug is that each dataset is a separate run, so you have lots of baseline\n"
3490    "models!  Patch is to find shortest length of the component datasets --\n"
3491    "if this is 1, then treat them as one big happy run.  Also, the new\n"
3492    "-noblock option will do the same regardless of the structure of the\n"
3493    "inputs." } ,
3494 
3495  { 6 , JAN , 2011 , RWC , "afni" , MICRO , TYPE_BUG_FIX ,
3496    "Fix crash when using '-img' with dataset files (.HEAD or .nii)" ,
3497    "Problem was mri_imcount didn't give a correct count, but mri_read_file\n"
3498    "did.  Easily patched up in time for tiffin.  And we take tiffin mighty\n"
3499    "durn early in these parts, buckaroo." } ,
3500 
3501  { 3 , JAN , 2011 , RWC , "3dNwarpApply" , MICRO , TYPE_GENERAL ,
3502    "change name from 3dApplyNwarp" ,
3503    "Will be the first in a series of 3dNwarp* programs." } ,
3504 
3505  { 30 , DEC , 2010 , RWC , "3dApplyNwarp" , MINOR , TYPE_NEW_PROG ,
3506    "Applies -nwarp_save output from 3dAllineate" ,
3507    "Lets you apply a 3D nonlinear deformation to another file.  Works OK,\n"
3508    "but changes will come." } ,
3509 
3510  { 27 , DEC , 2010 , RWC , "plugout_drive" , MICRO , TYPE_NEW_OPT ,
3511    "-maxwait option limits amount of time waiting for AFNI" ,
3512    "Instead of old fixed value of 9 s.\n"
3513    "Also, if program can't connect to AFNI at all, exit status will be 1. \n"
3514    "This feature can be used in a script to check if AFNI is running with\n"
3515    "plugouts enabled, and if not, then start a copy." } ,
3516 
3517  { 23 , DEC , 2010 , RWC , "3dPolyfit" , MINOR , TYPE_NEW_PROG ,
3518    "Fits a polynomial (spatially) to a dataset" ,
3519    NULL } ,
3520 
3521  { 16 , DEC , 2010 , RWC , "mri_read" , MICRO , TYPE_GENERAL ,
3522    "Modify ragged read to allow for empty vectors" ,
3523    "That is, a string like '**8' means '8 filler values'.  This is for the\n"
3524    "case where someone needs to provide a -stim_times_AM2 file with all '*'\n"
3525    "times (and with -allzero_OK), but with no actual stimulus times." } ,
3526 
3527  { 13 , DEC , 2010 , RWC , "many" , MICRO , TYPE_NEW_ENV ,
3528    "Add AFNI_ECHO_COMMANDLINE environment variable" ,
3529    "Runs inside afni_logger, for Daniel Handwerker" } ,
3530 
3531  { 13 , DEC , 2010 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
3532    "Add hexahedron volume warp to output of 3D warp displacments" ,
3533    NULL } ,
3534 
3535  { 9 , DEC , 2010 , RWC , "@2dwarper.Allin" , MICRO , TYPE_GENERAL ,
3536    "Added saved of warping parameters (slice-wise) to 1D files" ,
3537    "Modified 3dAllineate to give meaningful-ish symbolic names to polynomial\n"
3538    "warp parameters.  Modified 1dcat to use and preserve these with the\n"
3539    "-nonfixed option." } ,
3540 
3541  { 8 , DEC , 2010 , RWC , "3dXYZcat" , MINOR , TYPE_NEW_PROG ,
3542    "Generalized 3dZcat." ,
3543    "No generalized 3dZcutup yet, though." } ,
3544 
3545  { 7 , DEC , 2010 , RWC , "@2dwarper" , MICRO , TYPE_GENERAL ,
3546    "Various mods for David Leopold" ,
3547    "(a) Modify to allow general (non-axial) orientation of slices\n"
3548    "(b) new script @2dwarper.Allin that uses polynomial warping via\n"
3549    "3dAllineate to try and do a better job\n"
3550    "(c) modify 3drefit to allow -TR option to take a dataset name to provide\n"
3551    "the new TR (rather than require a numeric value on the command line)" } ,
3552 
3553  { 6 , DEC , 2010 , RWC , "@2dwarper" , MINOR , TYPE_GENERAL ,
3554    "Modify script to deal with non-axial slices" ,
3555    NULL } ,
3556 
3557  { 18 , NOV , 2010 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
3558    "Add 9th order (nonic) polynomial warp." ,
3559    "And fixed a couple of annoying bugs in the other polynomial warp codes:\n"
3560    "* Memory overrun because MAXPAR was exceeded.\n"
3561    "* Indexing error because I used kk++ instead of ++kk." } ,
3562 
3563  { 17 , NOV , 2010 , RWC , "many programs" , MICRO , TYPE_BUG_FIX ,
3564    "Move AFNI_OMP_START / _END macros outside of OpenMP sections" ,
3565    "Otherwise tracing control on/off doesn't work - D'oh!" } ,
3566 
3567  { 16 , NOV , 2010 , RWC , "3dAllineate" , MICRO , TYPE_NEW_OPT ,
3568    "Add cubic, quintic, and heptic polynomial warps." ,
3569    NULL } ,
3570 
3571  { 10 , NOV , 2010 , RWC , "3dttest++" , MINOR , TYPE_NEW_OPT ,
3572    "Add -rankize and -no1sam options" ,
3573    NULL } ,
3574 
3575  { 8 , NOV , 2010 , RWC , "3dttest++" , MICRO , TYPE_GENERAL ,
3576    "Allow -zskip option to take a fraction (or %-age)." ,
3577    "Per the request of the esteemed and estimable Rick Reynolds." } ,
3578 
3579  { 5 , NOV , 2010 , RWC , "3dttest++" , MINOR , TYPE_NEW_OPT ,
3580    "New -BminusA option" ,
3581    "This is Ziad's fault (again)." } ,
3582 
3583  { 5 , NOV , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3584    "Make colorscale switching go to AFNI_COLORSCALE_DEFAULT" ,
3585    "Rather than Ziad's pitiful fixed choice that screws up the user's setup\n"
3586    "for no good reason at all." } ,
3587 
3588  { 4 , NOV , 2010 , RWC , "afni" , MICRO , TYPE_NEW_ENV ,
3589    "Re-invoked AFNI_PBAR_AUTO / AFNI_CMAP_AUTO" ,
3590    "Which Ziad had commented out for reasons he won't explain." } ,
3591 
3592  { 4 , NOV , 2010 , RWC , "afni" , MICRO , TYPE_NEW_ENV ,
3593    "Add AFNI_THRESH_TOP_EXPON to allow larger range of thresholds." ,
3594    "For Phil Kohn." } ,
3595 
3596  { 1 , NOV , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3597    "Remove the large notice about 'Define Markers' being gone" ,
3598    NULL } ,
3599 
3600  { 1 , NOV , 2010 , RWC , "3dTstat" , MICRO , TYPE_NEW_OPT ,
3601    "Add -centromean statistic to the mix" ,
3602    NULL } ,
3603 
3604  { 1 , NOV , 2010 , RWC , "3dClipLevel" , MICRO , TYPE_NEW_OPT ,
3605    "Add -doall option" ,
3606    NULL } ,
3607 
3608  { 27 , OCT , 2010 , RWC , "cs_symeig" , MICRO , TYPE_BUG_FIX ,
3609    "Patch failure on Mac gcc in svd_double" ,
3610    "Mac OS X gcc compilation of svd function can produce bad results -- NaN\n"
3611    "values -- when there are too many all zero columns.  Solution: check for\n"
3612    "NaNs in the result, then switch to 'slow' mode AND fill all zero columns\n"
3613    "with tiny random values." } ,
3614 
3615  { 20 , OCT , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3616    "Add 'INSTACORR SET' to the drive command list" ,
3617    NULL } ,
3618 
3619  { 20 , OCT , 2010 , RWC , "afni and 3dGroupInCorr" , MICRO , TYPE_GENERAL ,
3620    "Clusterize and GrpInCorr together are tricky :-(" ,
3621    "(1) remove the Cluster option from the GrpInCorr setup panel, since this\n"
3622    "only causes trouble (clustering was not re-done when changing thresholds\n"
3623    "or sub-bricks).\n"
3624    "(2) explain in the 3dGroupInCorr help text how to combine Clusterize\n"
3625    "with GrpInCorr in two tricky (and slightly clumsy) ways." } ,
3626 
3627  { 19 , OCT , 2010 , RWC , "3dttest++" , MICRO , TYPE_GENERAL ,
3628    "Do t-test of covariates between groups (2-sample case)" ,
3629    "Only for fixed covariates (not those from datasets, which would be a\n"
3630    "per-voxel test).  Intended to help guide understanding when two groups\n"
3631    "of subjects differ markedly in some input factor." } ,
3632 
3633  { 18 , OCT , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3634    "Add SaveAs buttons to Datamode panel" ,
3635    NULL } ,
3636 
3637  { 15 , OCT , 2010 , RWC , "afni InstaCald" , MICRO , TYPE_GENERAL ,
3638    "Save expression info to dataset header attributes -- for Jill" ,
3639    NULL } ,
3640 
3641  { 14 , OCT , 2010 , RWC , "afni InstaCorr" , MICRO , TYPE_NEW_OPT ,
3642    "Add Despike option" ,
3643    NULL } ,
3644 
3645  { 8 , OCT , 2010 , RWC , "3dBandpass", MICRO , TYPE_NEW_OPT ,
3646    "Add -despike option to program." , NULL } ,
3647 
3648  { 7 , OCT , 2010 , RWC , "afni"      , MICRO , TYPE_GENERAL ,
3649    "Add Despike 1D Transformation function, just for fun." ,
3650    NULL } ,
3651 
3652  { 6 , OCT , 2010 , RWC , "afni"      , MICRO , TYPE_GENERAL ,
3653    "Add AFNI_IDEAL_COLORS and AFNI_ORT_COLORS environment vars" ,
3654    "For controlling the colors in the graph window overlays.\n"
3655    "Per the request of Giuseppe Pagnoni." } ,
3656 
3657  { 6 , OCT , 2010 , RWC , "3dttest++" , MINOR , TYPE_NEW_OPT ,
3658    "Add -zskip option" ,
3659    "Lets users skip the processing of voxel values that are\n"
3660    "exactly zero -- to allow for non-overlap between subjects." } ,
3661 
3662  { 4 , OCT , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3663    "Add 'Voxel Indexes' button to crosshair popup menu" ,
3664    NULL } ,
3665 
3666  { 27 , SEP , 2010 , RWC , "small fixes" , MICRO , TYPE_GENERAL ,
3667    "To patch minor problems pointed out by icc" ,
3668    NULL } ,
3669 
3670  { 24 , SEP , 2010 , RWC , "afni" , MICRO , TYPE_BUG_FIX ,
3671    "Fix bug in afni_receive.c" ,
3672    "When a receiver shuts down its own reception, then the pointer to the\n"
3673    "receive structure is freed.  In AFNI_process_alteration(), this caused\n"
3674    "the time STAMPER macro to de-ref the NULL pointer.  STAMPER was modified\n"
3675    "to avoid this problem, which would cause afni to crash if the user\n"
3676    "switched to +tlrc during drawing in +orig.  This, of course, is Daniel\n"
3677    "Glen's fault (because surely I am guiltless)." } ,
3678 
3679  { 24 , SEP , 2010 , RWC , "afni" , MICRO , TYPE_NEW_ENV ,
3680    "AFNI_SQRT_AUTORANGE is no more" ,
3681    "Instead, AFNI_AUTORANGE_POWER is born." } ,
3682 
3683  { 23 , SEP , 2010 , RWC , "3dUndump" , MICRO , TYPE_GENERAL ,
3684    "Clarify help a little with some examples." ,
3685    NULL } ,
3686 
3687  { 22 , SEP , 2010 , RWC , "3dttest++" , MICRO , TYPE_BUG_FIX ,
3688    "Ensure no division by zero if covariates matrix has all zero column" ,
3689    NULL } ,
3690 
3691  { 22 , SEP , 2010 , RWC , "3dttest++" , MICRO , TYPE_MODIFY ,
3692    "Skip voxels whose data is constant" ,
3693    NULL } ,
3694 
3695  { 21 , SEP , 2010 , RWC , "3dttest++" , MINOR , TYPE_BUG_FIX ,
3696    "Fix memory leak and paired t-test bug." ,
3697    NULL } ,
3698 
3699  { 15 , SEP , 2010 , RWC , "3dROIstats" , MICRO , TYPE_GENERAL ,
3700    "Force float-to-short conversion of mask if mask is really integers" ,
3701    NULL } ,
3702 
3703  { 13 , SEP , 2010 , RWC , "3dGroupInCorr" , MICRO , TYPE_BUG_FIX ,
3704    "Add missing free(xar) to 1-sample t-test loop [oops]" ,
3705    NULL } ,
3706 
3707  { 13 , AUG , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3708    "Add 'Thr=OLay+1' button to threshold slider popup" ,
3709    "Enforces threshold sub-brick index = overlay sub-brick index + 1.\n"
3710    "For David Perlman at UW Madison, who wants to lock the statistical\n"
3711    "threshold to the effect of interest to which it is yoked." } ,
3712 
3713  { 13 , AUG , 2010 , RWC , "3dFWHMx" , MICRO , TYPE_GENERAL ,
3714    "Check if -detrend option is needed, if not given" ,
3715    "Compare each voxel's median to its MAD -- if the median is too big, then\n"
3716    "print a warning if there a lots of such voxels." } ,
3717 
3718  { 9 , AUG , 2010 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
3719    "Add duration 'd' parameter to GAM basis function." ,
3720    "Also add some various comments to the help; in particular, advertising\n"
3721    "afni_proc.py" } ,
3722 
3723  { 4 , AUG , 2010 , RWC , "afni" , MICRO , TYPE_BUG_FIX ,
3724    "Restore 'jump to' capability when selecting a marker" ,
3725    "Removed accidentally when disabling the popup marker toggles." } ,
3726 
3727  { 4 , AUG , 2010 , RWC , "afni" , MINOR , TYPE_GENERAL ,
3728    "Add 'WamI' button to Clusterize GUI" ,
3729    "Runs 'whereami -omask' and displays the output in a text window, to show\n"
3730    "the user where the atlases think each cluster is located." } ,
3731 
3732  { 3 , AUG , 2010 , RWC , "afni Clusterize" , MICRO , TYPE_GENERAL ,
3733    "put limits on range of choosers in the popup control" ,
3734    "NN = 1..3   Voxels = 2..99999" } ,
3735 
3736  { 2 , AUG , 2010 , RWC , "3dGroupInCorr" , MICRO , TYPE_NEW_OPT ,
3737    "Add -np option to change NIML port used to talk to AFNI" ,
3738    "Per the request of Andreas Hahn." } ,
3739 
3740  { 30 , JUL , 2010 , RWC , "3dttest++" , MINOR , TYPE_GENERAL ,
3741    "Renamed from 3dttest_new" ,
3742    "Because the others in the group were whining, not wining.\n"
3743    "Also added '-center' option to allow user a little more control over the\n"
3744    "de-meaning of the covariates." } ,
3745 
3746  { 29 , JUL , 2010 , RWC , "3dcalc" , MICRO , TYPE_GENERAL ,
3747    "Add '-n' predefined value [for Ziad].  n = voxel 1D index." ,
3748    NULL } ,
3749 
3750  { 29 , JUL , 2010 , RWC , "3dPeriodogram" , MICRO , TYPE_GENERAL ,
3751    "Expand the help (again)" ,
3752    NULL } ,
3753 
3754  { 29 , JUL , 2010 , RWC , "3dttest_new" , MAJOR , TYPE_NEW_PROG ,
3755    "New and improved version of 3dttest!" ,
3756    "With covariates, including per-voxel covariates! It slices, it dices! \n"
3757    "But wait, there's more!  For no extra charge, it masks!" } ,
3758 
3759  { 23 , JUL , 2010 , RWC , "3dDeconvolve" , MINOR , TYPE_NEW_OPT ,
3760    "Add TENTzero and CSPLINzero response models" ,
3761    "To allow the HRF to be required to be zero at the start and stop times\n"
3762    "(i.e., it will be continuous, not suddenly drop off to zero)." } ,
3763 
3764  { 23 , JUL , 2010 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
3765    "print out list of offending times for the PSFB syndrome" ,
3766    NULL } ,
3767 
3768  { 22 , JUL , 2010 , RWC , "3dPeriodogram" , MICRO , TYPE_GENERAL ,
3769    "Add more details about what it does to -help" ,
3770    NULL } ,
3771 
3772  { 22 , JUL , 2010 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
3773    "move -x1D_stop exit to AFTER the condition number stuff is output" ,
3774    "Per the request of Christy Wilson" } ,
3775 
3776  { 22 , JUL , 2010 , RWC , "afni GUI" , MICRO , TYPE_GENERAL ,
3777    "Set 'autoRange' to sqrt(largest value) rather than largest value." ,
3778    "To make the color scaling a little nicer, usually.\n"
3779    "Can be turned off by setting environment variable AFNI_SQRT_AUTORANGE to\n"
3780    "NO (this is interactively editable)." } ,
3781 
3782  { 22 , JUL , 2010 , RWC , "3dClustSim" , MICRO , TYPE_NEW_OPT ,
3783    "Add -both option (get NIML and 1D output in one run)" ,
3784    NULL } ,
3785 
3786  { 21 , JUL , 2010 , RWC , "afni Clusterize" , MICRO , TYPE_GENERAL ,
3787    "Allow user to choose from NN1 or NN2 or NN3 cluster methods" ,
3788    "And selects the corresponding ClustSim table, if present.  Also, modify\n"
3789    "3dClustSim to output 3drefit command fragment if appropriate.  For\n"
3790    "Shruti, who we all love." } ,
3791 
3792  { 20 , JUL , 2010 , RWC , "3dAutoTcorrelate" , MICRO , TYPE_NEW_OPT ,
3793    "-mmap option -- output large .BRIK file in a faster way" ,
3794    NULL } ,
3795 
3796  { 20 , JUL , 2010 , RWC , "3dFourier" , MICRO , TYPE_GENERAL ,
3797    "Propagate history unto the next generation." ,
3798    NULL } ,
3799 
3800  { 16 , JUL , 2010 , RWC , "3dAutoTcorrelate" , MICRO , TYPE_GENERAL ,
3801    "OpenMP-ized for HJJ" ,
3802    "Required inverting dataset to MRI_vectim struct to solve memory\n"
3803    "thrashing problem.  Otherwise, speedup was marginal at best." } ,
3804 
3805  { 16 , JUL , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3806    "Add C(p,alpha) threshold label for alpha=0.10,0.05,0.01" ,
3807    "Plus fix bug that caused crash when switching to overlay of different\n"
3808    "spatial dimensions when Clusterize was on." } ,
3809 
3810  { 15 , JUL , 2010 , RWC , "3dREMLfit+3dDeconvolve" , MICRO , TYPE_NEW_OPT ,
3811    "Add -STATmask option" ,
3812    "Allows user to specify mask for FDR calculations, when no -mask is used." } ,
3813 
3814  { 15 , JUL , 2010 , RWC , "3dClustSim" , MICRO , TYPE_GENERAL ,
3815    "-niml now implies -LOTS as well" ,
3816    NULL } ,
3817 
3818  { 14 , JUL , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3819    "Clusterize now uses the mask from 3dClustSim, if available" ,
3820    NULL } ,
3821 
3822  { 14 , JUL , 2010 , RWC , "3dClustSim" , MICRO , TYPE_GENERAL ,
3823    "Changes to write mask info to output, to use in Clusterize" ,
3824    NULL } ,
3825 
3826  { 12 , JUL , 2010 , RWC , "3dDeconvolve" , MICRO , TYPE_NEW_OPT ,
3827    "add MION to the -stim_times HRF repertoire" ,
3828    "Now will they stop bugging me?!  (of course not)" } ,
3829 
3830  { 12 , JUL , 2010 , RWC , "afni" , MINOR , TYPE_MODIFY ,
3831    "Clusterize features modifed and enhanced" ,
3832    "1) Only NN clustering is now allowed in the AFNI Clusterize GUI, and so\n"
3833    "the only parameter left is the 'Voxels' count for the smallest cluster\n"
3834    "to retain.\n"
3835    "\n"
3836    "2) If attribute AFNI_CLUSTSIM_NN1 is attached (via 3dClustSim), then the\n"
3837    "Clusterize GUI will use this to show the approximate alpha level for\n"
3838    "each cluster -- provided the threshold has a p-value associated with it,\n"
3839    "et cetera, et cetera, et cetera." } ,
3840 
3841  { 9 , JUL , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3842    "Remove marker controls from image viewer popup menu." ,
3843    NULL } ,
3844 
3845  { 9 , JUL , 2010 , RWC , "3dDeconvolve" , MICRO , TYPE_BUG_FIX ,
3846    "Skip FDR masking if dataset isn't really 3D" ,
3847    NULL } ,
3848 
3849  { 9 , JUL , 2010 , RWC , "3drefit" , MICRO , TYPE_GENERAL ,
3850    "add 'file:' input to -atrstring option" ,
3851    "The ability to read the attribute value from a file, rather than from\n"
3852    "the command line." } ,
3853 
3854  { 8 , JUL , 2010 , RWC , "3dClustSim" , MICRO , TYPE_NEW_OPT ,
3855    "Add -NN option (clustering method) and -prefix (output filename)" ,
3856    NULL } ,
3857 
3858  { 8 , JUL , 2010 , RWC , "3dClustSim" , MICRO , TYPE_GENERAL ,
3859    "'LOTS' for more output; malloc tweaks for OpenMP speedup" ,
3860    NULL } ,
3861 
3862  { 7 , JUL , 2010 , RWC , "3dClustSim" , MICRO , TYPE_NEW_OPT ,
3863    "Added info to output header; also, added -niml option" ,
3864    NULL } ,
3865 
3866  { 7 , JUL , 2010 , RWC , "3dClustSim" , MAJOR , TYPE_NEW_PROG ,
3867    "Like AlphaSim, but faster and terser output" ,
3868    "Computes C(p,a) = cluster size threshold for a range of p and a values:\n"
3869    " p = per-voxel (uncorrected) threshold p-value\n"
3870    " a = corrected probability level desired = probability of at least one\n"
3871    "noise-only cluster happening when the cluster size threshold is C(p,a)\n"
3872    "Optimized to use OpenMP for speed." } ,
3873 
3874  { 28 , JUN , 2010 , RWC , "3dTcorr1D" , MINOR , TYPE_GENERAL ,
3875    "1 output brick per column of input 1D file" ,
3876    "Before: only used 1st column of 1D file.\n"
3877    "Now: also uses OpenMP to parallelize across columns.\n"
3878    "Also: -short and -mask options." } ,
3879 
3880  { 18 , JUN , 2010 , RWC , "3dSimARMA11" , MICRO , TYPE_NEW_PROG ,
3881    "Simulating ARMA(1,1) time series for testing 3dREMLfit + 3dMEMA" ,
3882    NULL } ,
3883 
3884  { 16 , JUN , 2010 , RWC , "mri_read_1D" , MICRO , TYPE_MODIFY ,
3885    "If filename is of form xxx'[...]', quotes will be ignored." ,
3886    NULL } ,
3887 
3888  { 14 , JUN , 2010 , RWC , "AFNI GUI" , MINOR , TYPE_MODIFY ,
3889    "Added 'Automask' toggle button to image viewer bar popup menu" ,
3890    "In combination with 'Zero Color', provides an easy way to fill\n"
3891    "the background with a solid color, such as white, as requested\n"
3892    "by Adriana di Martino (among others).\n"
3893    "ALSO: modified 'Zero Color' to fill zero values with that color,\n"
3894    "      rather than fill pixels assigned the bottom-most color\n"
3895    "      (so images with negative values can be treated properly).\n"
3896    "N.B.: Automasking in the image viewer is done with a special 2D\n"
3897    "      function in thd_automask.c, different than 3D Automasking.\n" } ,
3898 
3899  { 14 , JUN , 2010 , RWC , "3dDeconvolve" , MICRO , TYPE_MODIFY ,
3900    "Changed error message when user tries '1D:' with -stim_times_AM2" ,
3901    NULL } ,
3902 
3903  { 27 , MAY , 2010 , RWC , "3dGroupInCorr" , MINOR , TYPE_BUG_FIX ,
3904    "Fix bug in paired t-test for covariates regression" ,
3905    NULL } ,
3906 
3907  { 26 , MAY , 2010 , RWC , "3dGroupInCorr" , MAJOR , TYPE_MODIFY ,
3908    "Add -covariates option" ,
3909    "With coordinated changes to AFNI to deal with the possibly more\n"
3910    "complicated dataset that will arrive.  And some minor changes to\n"
3911    "3dSetupGroupInCorr to match." } ,
3912 
3913  { 19 , MAY , 2010 , RWC , "3dDeconvolve" , MICRO , TYPE_BUG_FIX ,
3914    "Bug: 'filename' copy from argv[] can be too long for 1D: input" ,
3915    "Especially if the user is named Handwerker.  Solution: compute length of\n"
3916    "'filname' before malloc-izing, vs. fixed length THD_MAX_NAME." } ,
3917 
3918  { 18 , MAY , 2010 , RWC , "3dTfitter" , MINOR , TYPE_NEW_OPT ,
3919    "New option -vthr, to set threshold for ignoring regression vectors" ,
3920    "In the olden version, vectors whose L1 norm was less than 0.000333 times\n"
3921    "the largest vector's L1 norm were cast out before the analysis -- this\n"
3922    "was to fix a problem of Rasmus Birn's.  However, some people whose\n"
3923    "initials are HJJ want to use LHS vectors whose magnitude varies a lot. \n"
3924    "So now the user has to specify the 'cast out' vector threshold with the\n"
3925    "-vthr option, whose default is NOT 0.000333 but is 0.0 -- that is, only\n"
3926    "exactly zero vectors will be unused by default." } ,
3927 
3928  { 17 , MAY , 2010 , RWC , "3dREMLfit" , MINOR , TYPE_BUG_FIX ,
3929    "Program would crash when only -Obuck given, no -Rstuff" ,
3930    "Problem was that GLT data structure setup was done in the Rstuff loop,\n"
3931    "and if no Rstuff datasets are computed, then doing GLT stuff in the\n"
3932    "Ostuff loop would crash.  Fix: test if GLTs are added to the REML setup\n"
3933    "structures in the Ostuff loop, and add them if they aren't already\n"
3934    "there." } ,
3935 
3936  { 14 , MAY , 2010 , RWC , "3dcalc" , MICRO , TYPE_GENERAL ,
3937    "Remove '-b3' style of input from -help output." ,
3938    "It's be obsolete for over 10 years -- time to be hidden from view!" } ,
3939 
3940  { 14 , MAY , 2010 , RWC , "3dMean" , MICRO , TYPE_BUG_FIX ,
3941    "Fix scaling problem" ,
3942    "As in 3dcalc: if scaling is not forced (no -fscale or -gscale) but is\n"
3943    "optional (no -nscale, either), then check if the values in a sub-brick\n"
3944    "are non-integral -- if so, do scaling anyway to minimize truncation\n"
3945    "problems." } ,
3946 
3947  { 7 , MAY , 2010 , RWC , "afni" , MICRO , TYPE_NEW_ENV ,
3948    "AFNI_FILE_COORDS_x" ,
3949    "If this environment variable is set (for x=A,B,C,...), then AFNI\n"
3950    "controller 'x' will write each viewpoint change xyz coordinates to the\n"
3951    "file whose name is given by the variable value.  For example\n"
3952    "  afni -DAFNI_FILE_COORDS_A=stdout\n"
3953    "will write each new (x,y,z) triple to standard output.  Coords are\n"
3954    "written in DICOM order (natch).  This feature is called the Jennifer\n"
3955    "Evans special." } ,
3956 
3957  { 7 , MAY , 2010 , RWC , "bilinear_warp3D.c" , MICRO , TYPE_MODIFY ,
3958    "Minor changes and additions" ,
3959    NULL } ,
3960 
3961  { 6 , MAY , 2010 , RWC , "bilinear_warp3D" , MICRO , TYPE_GENERAL ,
3962    "Add functions for manipulating bilinear warps" ,
3963    "bilinear_warp3d.[ch] -- for Daniel" } ,
3964 
3965  { 6 , MAY , 2010 , RWC , "afni" , MICRO , TYPE_BUG_FIX ,
3966    "Fix NULL pointer de-reference from renderer" ,
3967    "When colorscale is changed to one of the ROI colormaps, Ziad the Wise\n"
3968    "added a 'feature' to automatically change the im3d viewer data range for\n"
3969    "the user's convenience.  However, this doesn't work when the colorscale\n"
3970    "isn't in an im3d -- such as in the renderer." } ,
3971 
3972  { 30 , APR , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
3973    "Right-click in DataDir label turns markers controls on/off." ,
3974    NULL } ,
3975 
3976  { 30 , APR , 2010 , RWC , "3dTcorr1D" , MINOR , TYPE_NEW_PROG ,
3977    "Like 3dTcorrelate, but between a 1D file and a 3D+time dataset" ,
3978    "Really a very simple program, with 4 options for the 'correlation'\n"
3979    "coefficient computation: Pearson, Spearman, Quadrant, and Kendall tau_b." } ,
3980 
3981  { 29 , APR , 2010 , RWC , "3dTcorrelate" , MICRO , TYPE_NEW_OPT ,
3982    "add -ktaub option" ,
3983    NULL } ,
3984 
3985  { 29 , APR , 2010 , RWC , "InstaCorr" , MICRO , TYPE_NEW_OPT ,
3986    "Add Kendall Tau_b to the correlation menu" ,
3987    "For fun, and as a start towards something else." } ,
3988 
3989  { 28 , APR , 2010 , RWC , "afni" , MINOR , TYPE_MODIFY ,
3990    "Hide markers stuff from the user" ,
3991    "Unless AFNI_ENABLE_MARKERS is set to YES" } ,
3992 
3993  { 8 , APR , 2010 , RWC , "3dBandpass" , MINOR , TYPE_BUG_FIX ,
3994    "Fix -localPV implementation" ,
3995    NULL } ,
3996 
3997  { 30 , MAR , 2010 , RWC , "3drefit" , MICRO , TYPE_GENERAL ,
3998    "Keeps track of if it actual does something" ,
3999    "And then will only re-write dataset header if a change was made.\n"
4000    "Also, prints a message if it has to re-write entire dataset (e.g., .nii)" } ,
4001 
4002  { 30 , MAR , 2010 , RWC , "3dGroupInCorr" , MICRO , TYPE_MODIFY ,
4003    "Munge input filenames if user just gives prefix" ,
4004    NULL } ,
4005 
4006  { 29 , MAR , 2010 , RWC , "3dAllineate" , MICRO , TYPE_BUG_FIX ,
4007    "Make sure auto_tstring is set to something reasonable" ,
4008    NULL } ,
4009 
4010  { 29 , MAR , 2010 , RWC , "afni_history" , MICRO , TYPE_MODIFY ,
4011    "Add -dline option, alternative to -html option" ,
4012    NULL } ,
4013 
4014  { 25 , MAR , 2010 , RWC , "help_format" , MINOR , TYPE_MODIFY ,
4015    "Hyperlink refs to other program names in -help Web pages" ,
4016    NULL } ,
4017 
4018  { 24 , MAR , 2010 , RWC , "3dFWHMx" , MICRO , TYPE_NEW_OPT ,
4019    "Add -2difMAD option, for dealing with PET data, maybe." ,
4020    NULL } ,
4021 
4022  { 19 , MAR , 2010 , RWC , "3dGroupInCorr" , MICRO , TYPE_MODIFY ,
4023    "Unroll correlation inner loop by 2 == speedup of 30% for this part" ,
4024    NULL } ,
4025 
4026  { 18 , MAR , 2010 , RWC , "cs_misc.c" , MICRO , TYPE_GENERAL ,
4027    "Comma-ize function, and used in various places, for pretty print" ,
4028    NULL } ,
4029 
4030  { 18 , MAR , 2010 , RWC , "afni" , MINOR , TYPE_MODIFY ,
4031    "Added Shft+Ctrl+click/drag to dynamic Group InstaCorr as well" ,
4032    NULL } ,
4033 
4034  { 17 , MAR , 2010 , RWC , "afni" , MINOR , TYPE_MODIFY ,
4035    "Add Shift+Ctrl+Button1 seed dragging in individual InstaCorr" ,
4036    NULL } ,
4037 
4038  { 16 , MAR , 2010 , RWC , "3dbucket" , MICRO , TYPE_GENERAL ,
4039    "Make -glueto keep compressed form of the first dataset" ,
4040    "Same change made for 3dTcat" } ,
4041 
4042  { 16 , MAR , 2010 , RWC , "3dREMLfit" , MINOR , TYPE_MODIFY ,
4043    "Allow all zero columns in regression matrix, with -GOFORIT option" ,
4044    "* Use SVD to desingularize matrix when QR factorizing (not elsewhere)\n"
4045    "* Remove coefficients for all zero columns from GLT matrices\n"
4046    "* Adjust DOF to compensate\n"
4047    "* This is Thalia Wheatley's fault -- blame her for any problems" } ,
4048 
4049  { 5 , MAR , 2010 , RWC , "mri_read" , MICRO , TYPE_MODIFY ,
4050    "Modify to allow row and col selectors on stdin" ,
4051    NULL } ,
4052 
4053  { 4 , MAR , 2010 , RWC , "3dGroupInCorr" , MINOR , TYPE_BUG_FIX ,
4054    "Fixed crash with paired t-test opcode" ,
4055    "Didn't switch to 1-sample mode when opcode was for paired, but no second\n"
4056    "data vector was passed in.  This, of course, is Mike Beauchamp's fault." } ,
4057 
4058  { 3 , MAR , 2010 , RWC , "afni" , MICRO , TYPE_GENERAL ,
4059    "GroupInstaCorr dataset now can be +orig" ,
4060    "If user sets environment variable AFNI_GROUPINCORR_ORIG to YES, as in\n"
4061    "\n"
4062    "  afni -niml -DAFNI_GROUPINCORR_ORIG=YES" } ,
4063 
4064  { 2 , MAR , 2010 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
4065    "moved weight sum in LPC" ,
4066    "* Old way: count a BLOK even if it doesn't contribute to correlation sum\n"
4067    "* New way: don't count it\n"
4068    "* If'n you want the old way, setenv AFNI_LPC_OLDWSUM YES\n"
4069    "* Also: used OpenMP to speedup coordinate transformations" } ,
4070 
4071  { 2 , MAR , 2010 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
4072    "add overlap 'ov' to lpc+ functional" ,
4073    "Kind of slow -- OpenMP mabye?" } ,
4074 
4075  { 1 , MAR , 2010 , RWC , "InstaCorr" , MICRO , TYPE_NEW_OPT ,
4076    "Add Spearman and Quadrant correlation options" ,
4077    NULL } ,
4078 
4079  { 26 , FEB , 2010 , RWC , "afni InstaCorr" , MICRO , TYPE_GENERAL ,
4080    "Add polort option to InstaCorr setup" ,
4081    "Beware the frumious Bandersnatch, Ziad." } ,
4082 
4083  { 24 , FEB , 2010 , RWC , "3dAllineate" , MINOR , TYPE_NEW_OPT ,
4084    "New cost functional -lpc+" ,
4085    "Combination of lpc + hel + crA + nmi + mi.\n"
4086    "Also some micro changes to allow more -twobest starting points and the\n"
4087    "like." } ,
4088 
4089  { 19 , FEB , 2010 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
4090    "Turn up -twoblur limit from 7 to 11." ,
4091    NULL } ,
4092 
4093  { 18 , FEB , 2010 , RWC , "3dDespike" , MICRO , TYPE_MODIFY ,
4094    "Add printout of Laplace distribution percentages" ,
4095    "And fix normal CDF calculation" } ,
4096 
4097  { 8 , FEB , 2010 , RWC , "3dSatCheck" , MICRO , TYPE_NEW_PROG ,
4098    "Program to check for initial transients" ,
4099    "i.e., if the FMRI time series has non-saturated time points at the\n"
4100    "beginning (on average) -- uses the code thd_satcheck.c for the real work\n"
4101    "-- the same as used in 3dBandpass.  At this time, 3dSatCheck is not\n"
4102    "compiled in the binary distributions of AFNI." } ,
4103 
4104  { 8 , FEB , 2010 , RWC , "3dBandpass" , MICRO , TYPE_MODIFY ,
4105    "Check for initial transients" ,
4106    "i.e., non-saturated MRI signal in the first few time points" } ,
4107 
4108  { 8 , FEB , 2010 , RWC , "3dBandpass" , MICRO , TYPE_MODIFY ,
4109    "OpenMP-ize the -blur option" ,
4110    NULL } ,
4111 
4112  { 8 , FEB , 2010 , RWC , "3dSetupGroupInCorr" , MICRO , TYPE_MODIFY ,
4113    "Change default storage to -byte from -short" ,
4114    NULL } ,
4115 
4116  { 4 , FEB , 2010 , RWC , "Group InstaCorr" , MICRO , TYPE_GENERAL ,
4117    "Set more informative labels for results sub-brick" ,
4118    "With the addition of the -label[AB] options to 3dGroupInCorr.c, the\n"
4119    "sending of labels to AFNI, and the setting of labels in\n"
4120    "afni_pplug_instacorr.c" } ,
4121 
4122  { 3 , FEB , 2010 , RWC , "Group InstaCorr" , MINOR , TYPE_GENERAL ,
4123    "2-sample case now also sends back 1-sample results" ,
4124    "With this, you can look at the 2-sample difference in controller A, and\n"
4125    "the 2 1-sample results in controllers B and C.  This lets you see the\n"
4126    "difference AND similarities at the same time." } ,
4127 
4128  { 3 , FEB , 2010 , RWC , "Group InstaCorr" , MICRO , TYPE_GENERAL ,
4129    "-byte option to save memory" ,
4130    "3dSetupGroupInCorr and 3dGroupInCorr can now use bytes to store the huge\n"
4131    "datasets, which will save disk space and memory.  Results are virtually\n"
4132    "identical." } ,
4133 
4134  { 31 , DEC , 2009 , RWC , "many" , MICRO , TYPE_GENERAL ,
4135    "Remove 'cast ... different size' warnings" ,
4136    "Macros: ITOP and PTOI to cast without warnings.  For Z." } ,
4137 
4138  { 31 , DEC , 2009 , RWC , "3dGroupInCorr" , MAJOR , TYPE_NEW_PROG ,
4139    "Group InstaCorr" ,
4140    "With changes to afni and also new program 3dSetupGroupInCorr" } ,
4141 
4142  { 23 , DEC , 2009 , RWC , "afni" , MICRO , TYPE_MODIFY ,
4143    "Minor changes to 'DataDir' to appease DRG" ,
4144    NULL } ,
4145 
4146  { 18 , DEC , 2009 , RWC , "3dBandpass" , MICRO , TYPE_NEW_PROG ,
4147    "Finally finished this!" ,
4148    NULL } ,
4149 
4150  { 15 , DEC , 2009 , RWC , "3dmaskSVD" , MINOR , TYPE_BUG_FIX ,
4151    "Fixed 2 problems with -ort option" ,
4152    "1) It didn't work, since the wrong array name was used :-(\n"
4153    "2) It could fail, since the detrend routine didn't like collinear orts\n"
4154    "-- replaced it with one that is happier with such things." } ,
4155 
4156  { 14 , DEC , 2009 , RWC , "afni" , MICRO , TYPE_MODIFY ,
4157    "New environment variable AFNI_RECENTER_VIEWING" ,
4158    NULL } ,
4159 
4160  { 4 , DEC , 2009 , RWC , "3dLocalPV" , MICRO , TYPE_MODIFY ,
4161    "OpenMP changes.  Speedup about factor of 3 using 6 CPUs." ,
4162    NULL } ,
4163 
4164  { 3 , DEC , 2009 , RWC , "3dLocalPV" , MINOR , TYPE_NEW_PROG ,
4165    "Speeded up version of 3dLocalSVD" ,
4166    "Speed comes with some small limitations.  About 30% faster." } ,
4167 
4168  { 3 , DEC , 2009 , RWC , "afni" , MICRO , TYPE_GENERAL ,
4169    "Modify GUI to add a Read session button next to the Switch button" ,
4170    "Because of complaints that it's hard to figure out what to do if AFNI\n"
4171    "doesn't start in the right directory." } ,
4172 
4173  { 30 , NOV , 2009 , RWC , "afni" , MICRO , TYPE_GENERAL ,
4174    "Modify license to specify GPL v2 OR ANY LATER VERSION" ,
4175    NULL } ,
4176 
4177  { 24 , NOV , 2009 , RWC , "thd_atr.c" , MICRO , TYPE_BUG_FIX ,
4178    "Allow 'count = 0' in attributes" ,
4179    "Formerly was a fatal error.  Now just skips to next attribute.  For\n"
4180    "Ziad." } ,
4181 
4182  { 23 , NOV , 2009 , RWC , "3dTcorrMap" , MICRO , TYPE_NEW_OPT ,
4183    "Add various options in the last few days" ,
4184    "* -seed = a different dataset for the seed time series\n"
4185    "* -bpass = instead of -polort\n"
4186    "* -Gblur = blurring\n"
4187    "* -Mseed = extra smoothing around the seed\n"
4188    "* -Hist = output the histogram of the correlations" } ,
4189 
4190  { 23 , NOV , 2009 , RWC , "3dmaskSVD" , MICRO , TYPE_NEW_OPT ,
4191    "Add -bpass option" ,
4192    NULL } ,
4193 
4194  { 18 , NOV , 2009 , RWC , "mri_read.c" , MICRO , TYPE_GENERAL ,
4195    "Fix Ziad's stupid error printout in reading .1D files" ,
4196    "To indicate which file is causing the trouble.\n"
4197    "To limit the number of such Failure messages to a reasonable level.\n"
4198    "Sheesh." } ,
4199 
4200  { 17 , NOV , 2009 , RWC , "3dTfitter" , MICRO , TYPE_GENERAL ,
4201    "Let FALTUNG kernel be longer that N/2" ,
4202    "Also add synonyms '-L2' and '-L1'" } ,
4203 
4204  { 3 , NOV , 2009 , RWC , "3dREMLfit" , MICRO , TYPE_GENERAL ,
4205    "Modify default -CORcut value from 0.0025 to 0.0011" ,
4206    "To reduce likelihood of Choleski failure." } ,
4207 
4208  { 21 , OCT , 2009 , RWC , "1dAstrip" , MICRO , TYPE_NEW_PROG ,
4209    "To remove Alpha characters from 1D-like files." ,
4210    "For my own ill-conceived plans for global domination.  Cheap and not\n"
4211    "perfect." } ,
4212 
4213  { 19 , OCT , 2009 , RWC , "3dBlurInMask" , MICRO , TYPE_NEW_OPT ,
4214    "add -preserve option, to keep Rick Reynolds from defecting to SPM" ,
4215    NULL } ,
4216 
4217  { 16 , OCT , 2009 , RWC , "cs_qmed.c" , MICRO , TYPE_GENERAL ,
4218    "added function to compute biweight midvariance" ,
4219    NULL } ,
4220 
4221  { 8 , OCT , 2009 , RWC , "3dPeriodogram" , MICRO , TYPE_NEW_PROG ,
4222    "Does what it sound like, more or less, I hope." ,
4223    NULL } ,
4224 
4225  { 7 , OCT , 2009 , RWC , "various" , MICRO , TYPE_MODIFY ,
4226    "Modify srand48() init to use time()+getpid()" ,
4227    "To make close-in-time runs have independent seeds." } ,
4228 
4229  { 7 , OCT , 2009 , RWC , "3dBlurInMask" , MINOR , TYPE_NEW_OPT ,
4230    "Add -Mmask option to allow multiple mask values" ,
4231    "For independent blurring (e.g., blur WM and GM separately)." } ,
4232 
4233  { 2 , OCT , 2009 , RWC , "calc" , MICRO , TYPE_MODIFY ,
4234    "Add mod(a,b) function to please RCR" ,
4235    NULL } ,
4236 
4237  { 2 , OCT , 2009 , RWC , "1dgenARMA11" , MICRO , TYPE_NEW_PROG ,
4238    "Generates ARMA(1,1) correlated noise time series" ,
4239    "For simulation purposes." } ,
4240 
4241  { 30 , SEP , 2009 , RWC , "3dDeconvolve" , MICRO , TYPE_MODIFY ,
4242    "Let user modulate amplitude of dmBLOCK" ,
4243    "In particular, dmBLOCK(0) means the program modulates the amplitude\n"
4244    "based on duration." } ,
4245 
4246  { 30 , SEP , 2009 , RWC , "3dDeconvolve" , MICRO , TYPE_MODIFY ,
4247    "Transpose row-wise 1D file on input when user screws up" ,
4248    "1D files input to 3dDeconvolve are expected to have 1 column and many\n"
4249    "rows.  If the user gets this backwards, the program now transposes the\n"
4250    "file internally, with an INFO message." } ,
4251 
4252  { 29 , SEP , 2009 , RWC , "afni InstaCorr" , MICRO , TYPE_GENERAL ,
4253    "Modify SeedBlur to SeedRad" ,
4254    "Flat average over a sphere of given radius, instead of a Gaussian blur. \n"
4255    "For Steve and Alex." } ,
4256 
4257  { 29 , SEP , 2009 , RWC , "afni" , MAJOR , TYPE_MODIFY ,
4258    "InstaCalc is more-or-less ready" ,
4259    "At least, I let Mike Beauchamp test it for his cunning plans." } ,
4260 
4261  { 25 , SEP , 2009 , RWC , "afni" , MICRO , TYPE_GENERAL ,
4262    "InstaCalc is starting to work! Sort of. Crudely." ,
4263    NULL } ,
4264 
4265  { 24 , SEP , 2009 , RWC , "thd_1Ddset.c" , MICRO , TYPE_GENERAL ,
4266    "Allow writing of 1D complex datasets instead of convert to float" ,
4267    "For Larry Frank, who I love like a brother.  Or a second cousin once\n"
4268    "removed." } ,
4269 
4270  { 17 , SEP , 2009 , RWC , "afni" , MICRO , TYPE_MODIFY ,
4271    "Started writing InstaCalc" ,
4272    NULL } ,
4273 
4274  { 16 , SEP , 2009 , RWC , "All" , MICRO , TYPE_GENERAL ,
4275    "Oh, and did I mention that Ziad Saad is Trouble?" ,
4276    "Rasmus Birn isn't far behind, either." } ,
4277 
4278  { 16 , SEP , 2009 , RWC , "afni" , MICRO , TYPE_GENERAL ,
4279    "FIx recursive calls to AFNI_set_viewpoint()" ,
4280    "Caused by the UNCLUSTERIZE macro, which now checks to see if the\n"
4281    "function redisplay is really needed." } ,
4282 
4283  { 16 , SEP , 2009 , RWC , "afni" , MICRO , TYPE_MODIFY ,
4284    "Make the AFNI_FLASH_VIEWSWITCH variable default to NO, not YES" ,
4285    "Sorry, Adam, but Ziad matters more to me than you do." } ,
4286 
4287  { 16 , SEP , 2009 , RWC , "parser,f" , MICRO , TYPE_MODIFY ,
4288    "Add 'NOT' function as a synonym for 'ISZERO'" ,
4289    NULL } ,
4290 
4291  { 9 , SEP , 2009 , RWC , "3dmaskave" , MICRO , TYPE_NEW_OPT ,
4292    "Add box and ball options to this program, per Kyle Simmons" ,
4293    NULL } ,
4294 
4295  { 9 , SEP , 2009 , RWC , "3dmaskdump" , MINOR , TYPE_NEW_OPT ,
4296    "Add 'ball' options for mask generation" ,
4297    NULL } ,
4298 
4299  { 2 , SEP , 2009 , RWC , "afni" , MICRO , TYPE_MODIFY ,
4300    "Add ZeroToOne 1D transform function" ,
4301    NULL } ,
4302 
4303  { 27 , AUG , 2009 , RWC , "AFNI image viewer" , MICRO , TYPE_GENERAL ,
4304    "Keyboard Home key centers zoom window at crosshairs" ,
4305    "Doesn't work if cropping and zooming are mixed.  (The logistics are too\n"
4306    "hard for my feeble brain.)" } ,
4307 
4308  { 27 , AUG , 2009 , RWC , "AFNI image viewer" , MICRO , TYPE_MODIFY ,
4309    "More crop region features" ,
4310    "* Shift+Home centers crop region on the crosshairs\n"
4311    "* Shift/Ctrl+arrow now respect image flip status\n"
4312    "* Environment variable AFNI_IMAGE_CROPSTEP sets sign and size of crop\n"
4313    "region shifting with Shift+arrow keys\n"
4314    "* If this doesn't make John Butman happy, I don't know what will." } ,
4315 
4316  { 26 , AUG , 2009 , RWC , "3dFFT" , MINOR , TYPE_NEW_PROG ,
4317    "Compute spatial 3D FFT of a dataset" ,
4318    "* This is for John Butman\n"
4319    "* Was started a long time ago, but only finished today\n"
4320    "* Probably useless" } ,
4321 
4322  { 25 , AUG , 2009 , RWC , "afni" , MINOR , TYPE_MODIFY ,
4323    "Provide keystroke fine control over cropping in image viewer" ,
4324    "Shift+arrowkey = scroll crop window\n"
4325    "Ctrl+arrowkey  = resize crop window\n"
4326    "Right-click on crop button = menu to set size exactly\n"
4327    "Hint on crop button = shows crop parameters" } ,
4328 
4329  { 24 , AUG , 2009 , RWC , "mrilib.h" , MICRO , TYPE_BUG_FIX ,
4330    "CABS macro fails if complex number has huge components" ,
4331    "This is Larry Frank's fault, of course." } ,
4332 
4333  { 24 , AUG , 2009 , RWC , "3dAFNItoNIML" , MICRO , TYPE_NEW_OPT ,
4334    "Add -ascii option == way to dump dataset in plain text" ,
4335    NULL } ,
4336 
4337  { 11 , AUG , 2009 , RWC , "cs_symeig.c" , MICRO , TYPE_GENERAL ,
4338    "Speedup first_principal_vectors() -- for 3dmaskSVD and 3dLocalSVD" ,
4339    "By hand tweaking the normal matrix calculation loops" } ,
4340 
4341  { 11 , AUG , 2009 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
4342    "Make handedness warning more explicit" ,
4343    NULL } ,
4344 
4345  { 10 , AUG , 2009 , RWC , "afni" , MICRO , TYPE_GENERAL ,
4346    "Fix crash reported by Ziad and Rick" ,
4347    "In afni_setup_viewing(), fim_now might not be valid -- so allow for\n"
4348    "that." } ,
4349 
4350  { 10 , AUG , 2009 , RWC , "3dABoverlap" , MICRO , TYPE_MODIFY ,
4351    "Modified to skip automask if dataset is byte-valued with 1 volume" ,
4352    NULL } ,
4353 
4354  { 27 , JUL , 2009 , RWC , "libmri" , MICRO , TYPE_MODIFY ,
4355    "Add function mri_get_tempfilename() to mri_purger.c" ,
4356    "To return a unique filename in a temp directory.  Sort of like a fancy\n"
4357    "version of the C library function tmpnam()." } ,
4358 
4359  { 24 , JUL , 2009 , RWC , "THD_open_3dcalc()" , MICRO , TYPE_GENERAL ,
4360    "Modify to use globally unique filename every time, fer shur." ,
4361    "cf. code in file thd_mastery.c, using the UNIQ_idcode() function in\n"
4362    "niml_uuid.c to create a unique filename" } ,
4363 
4364  { 24 , JUL , 2009 , RWC , "afni.h" , MICRO , TYPE_GENERAL ,
4365    "Replaced VERSION with AVERZHN to avoid conflicts with SVMlight" ,
4366    "So AFNI doesn't have a VERSION any more, it has an AVERZHN." } ,
4367 
4368  { 23 , JUL , 2009 , RWC , "3dTfitter" , MICRO , TYPE_NEW_OPT ,
4369    "Added -errsum option, to save error sums per voxel." ,
4370    "And a -help example showing how the error sum of squares can be used to\n"
4371    "compute partial correlation coefficients of a fit." } ,
4372 
4373  { 23 , JUL , 2009 , RWC , "3dLocalSVD" , MICRO , TYPE_BUG_FIX ,
4374    "Fix bug when all vectors are zero." ,
4375    NULL } ,
4376 
4377  { 21 , JUL , 2009 , RWC , "niml_feedme" , MINOR , TYPE_NEW_PROG ,
4378    "Test and demo program showing how to set datasets to AFNI via NIML" ,
4379    "An analog to rtfeedme.  Sends volumes to AFNI using VOLUME_DATA\n"
4380    "elements.  Pretty rudimentary." } ,
4381 
4382  { 21 , JUL , 2009 , RWC , "afni" , MINOR , TYPE_MODIFY ,
4383    "Update widgets and viewing when VOLUME_DATA is added to a dataset" ,
4384    "* Fix AFNI_setup_viewing() to update widgets properly when dataset nvals\n"
4385    "changes\n"
4386    "* Add function AFNI_update_dataset_viewing() to deal with viewing\n"
4387    "changes that might be needed if a dataset is altered" } ,
4388 
4389  { 17 , JUL , 2009 , RWC , "3dLocalstat" , MICRO , TYPE_MODIFY ,
4390    "speedup for OpenMP" ,
4391    "Modify mri_nstats.c to use pre-malloc-ed workspaces, instead of a new\n"
4392    "one for each calculation, which makes a big difference in OpenMP." } ,
4393 
4394  { 16 , JUL , 2009 , RWC , "3dmaskSVD" , MICRO , TYPE_MODIFY ,
4395    "Speedup (a lot for large masks) by using new SVD routine." ,
4396    NULL } ,
4397 
4398  { 15 , JUL , 2009 , RWC , "3dLocalSVD" , MICRO , TYPE_GENERAL ,
4399    "Modify to use more efficient SVD routine" ,
4400    NULL } ,
4401 
4402  { 13 , JUL , 2009 , RWC , "3dLocalstat" , MINOR , TYPE_MODIFY ,
4403    "OpenMP" ,
4404    "Also added option '-use_nonmask' to allow statistics to be computed for\n"
4405    "voxels not in the mask (but presumably whose neighbors are in the mask)." } ,
4406 
4407  { 1 , JUL , 2009 , RWC , "afni" , MICRO , TYPE_MODIFY ,
4408    "Modify AFNI_START_SMALL to pick smallest dataset of all." ,
4409    "Rather than the smallest 'anat' and smallest 'func', separately." } ,
4410 
4411  { 30 , JUN , 2009 , RWC , "various 3D programs" , MICRO , TYPE_BUG_FIX ,
4412    "Remove keywords propagation stuff" ,
4413    "e.g., 3dTcat and 3dbucket\n"
4414    "Also, fix keywords printout buffer overflow in thd_info.c" } ,
4415 
4416  { 29 , JUN , 2009 , RWC , "3dREMLfit" , MICRO , TYPE_BUG_FIX ,
4417    "Fix memcpy bug in data extraction when using OpenMP.  Ugghh." ,
4418    NULL } ,
4419 
4420  { 26 , JUN , 2009 , RWC , "afni" , MICRO , TYPE_MODIFY ,
4421    "Add 1D index jumping to \"Jump to (ijk)\"" ,
4422    NULL } ,
4423 
4424  { 25 , JUN , 2009 , RWC , "3dREMLfit" , MICRO , TYPE_MODIFY ,
4425    "More tweaks to the OpenMP-ization.  Only slightly better." ,
4426    NULL } ,
4427 
4428  { 24 , JUN , 2009 , RWC , "3dREMLfit" , MINOR , TYPE_GENERAL ,
4429    "Modify to use OpenMP more effectively." ,
4430    "Have to avoid use of Doug's matrix.c functions in the main loops, since\n"
4431    "they do so much malloc/free, which blocks other threads from running. \n"
4432    "Instead, rewrote versions of the needed functions that use pre-allocated\n"
4433    "workspace arrays.  Speedup is very good now for the REML setup and REML\n"
4434    "voxel loops.  Haven't decided whether to OpenMP-ize the GLSQ or OLSQ\n"
4435    "loops, since these usually take much less time." } ,
4436 
4437  { 23 , JUN , 2009 , RWC , "3dTcorrMap" , MICRO , TYPE_NEW_OPT ,
4438    "Add -Pmean option, based on poster I saw at HBM." ,
4439    NULL } ,
4440 
4441  { 17 , JUN , 2009 , RWC , "3dREMLfit" , MICRO , TYPE_GENERAL ,
4442    "OpenMP-ization" ,
4443    "Some speedup, but need to work on not doing malloc/free so much in the\n"
4444    "REML_func function!" } ,
4445 
4446  { 16 , JUN , 2009 , RWC , "1dplot" , MICRO , TYPE_NEW_OPT ,
4447    "Add '-ytran' option" ,
4448    "Apply an expression to the time series, to transform it prior to\n"
4449    "plotting.  To elide the use of 1deval." } ,
4450 
4451  { 15 , JUN , 2009 , RWC , "AlphaSim" , MICRO , TYPE_BUG_FIX ,
4452    "OpenMP: cdfnor() and other functions are not thread-safe" ,
4453    "Make use of cdfnor() 'critical'.  Longer term: should patch the nifti\n"
4454    "CDF functions to avoid static variables where possible." } ,
4455 
4456  { 11 , JUN , 2009 , RWC , "zgaussian" , MICRO , TYPE_BUG_FIX ,
4457    "'long' should be 'int' on 64 bit systems, when doing bit twiddling" ,
4458    NULL } ,
4459 
4460  { 11 , JUN , 2009 , RWC , "parser" , MICRO , TYPE_MODIFY ,
4461    "Added posval() function, and treat '[]' as '()' for clarity." ,
4462    NULL } ,
4463 
4464  { 11 , JUN , 2009 , RWC , "AlphaSim" , MINOR , TYPE_MODIFY ,
4465    "Added computation of analytic approximation of Alpha(i) for large i" ,
4466    "Uses a modified extreme value distribution, which looks pretty good." } ,
4467 
4468  { 9 , JUN , 2009 , RWC , "AlphaSim" , MICRO , TYPE_GENERAL ,
4469    "Modify to use OpenMP (parallelize across iterations)" ,
4470    NULL } ,
4471 
4472  { 3 , JUN , 2009 , RWC , "bbox.c" , MICRO , TYPE_MODIFY ,
4473    "Modify string list chooser to do Browse select callback via arrows" ,
4474    "To make consistent the ways of browsing thru the dataset choosers in\n"
4475    "AFNI." } ,
4476 
4477  { 1 , JUN , 2009 , RWC , "debugtrace.h" , MICRO , TYPE_MODIFY ,
4478    "Add ability to suspend/restore function traceback stack" ,
4479    "Disable stack when OpenMP parallel section is engaged." } ,
4480 
4481  { 26 , MAY , 2009 , RWC , "thd_1Ddset.c" , MICRO , TYPE_MODIFY ,
4482    "Change way names are used in output of .1D 'datasets'" ,
4483    "(a) If prefix starts with '-' or 'stdout', write results to stdout as a\n"
4484    "'pure' 1D formatted file (no NIML header),\n"
4485    "(b) Otherwise, if -prefix option had a directory name attached, use that\n"
4486    "instead of always using the current working directory." } ,
4487 
4488  { 22 , MAY , 2009 , RWC , "afni" , MICRO , TYPE_BUG_FIX ,
4489    "Check if im3d->fim_now is NULL in AFNI_func_overlay()" ,
4490    NULL } ,
4491 
4492  { 20 , MAY , 2009 , RWC , "realtime plugin" , MICRO , TYPE_NEW_ENV ,
4493    "Also modify it to limit the number of open controllers." ,
4494    "cf. AFNI_REALTIME_MAX_CONTROLLERS" } ,
4495 
4496  { 20 , MAY , 2009 , RWC , "realtime plugin" , MINOR , TYPE_MODIFY ,
4497    "Modified to allow realtime 3D registration on complex inputs" ,
4498    "Mostly a change in mri_3dalign.c, to take the movement estimation done\n"
4499    "on the magnitude image and apply it to the 2 component images." } ,
4500 
4501  { 18 , MAY , 2009 , RWC , "3dDespike" , MICRO , TYPE_GENERAL ,
4502    "Speedup by OpenMP" ,
4503    "Also required changes to mcw_malloc.c to mark various sections as\n"
4504    "'critical' and to cl1.c to remove 'static' from all variables generated\n"
4505    "from Fortran." } ,
4506 
4507  { 15 , MAY , 2009 , RWC , "afni InstaCorr" , MICRO , TYPE_GENERAL ,
4508    "SeedBlur + locked InstaCorr-ology" ,
4509    NULL } ,
4510 
4511  { 15 , MAY , 2009 , RWC , "afni InstaCorr" , MINOR , TYPE_GENERAL ,
4512    "Remove OpenMP; carry out setref on all locked controllers" ,
4513    NULL } ,
4514 
4515  { 13 , MAY , 2009 , RWC , "InstaCorr+3dBlurInMask" , MINOR , TYPE_GENERAL ,
4516    "Added OpenMP support for blurring to these programs" ,
4517    "Parallelization occurs across sub-bricks -- speedup is significant." } ,
4518 
4519  { 11 , MAY , 2009 , RWC , "afni" , MINOR , TYPE_MODIFY ,
4520    "InstaCorr changes" ,
4521    "* Save seed time series into the 1D timeseries library for graphicking\n"
4522    "* Modify progress printouts slightly" } ,
4523 
4524  { 8 , MAY , 2009 , RWC , "afni" , MINOR , TYPE_MODIFY ,
4525    "Instacorr updates" ,
4526    "* Can Write A_ICOR datasets using new allow_directwrite variable\n"
4527    "* Disable InstaCorr when switching sessions and views\n"
4528    "* Notify renderer (DRAWNOTICE) when changes made\n"
4529    "* Shift-Ctrl-Left-Click does crosshair shift + InstaCorr Set" } ,
4530 
4531  { 7 , MAY , 2009 , RWC , "afni" , MINOR , TYPE_GENERAL ,
4532    "FIxes/upgrades for InstaCorr" ,
4533    "* memory problem fixed by malloc-ing sizeof(float *)\n"
4534    "  -- not sizeof(float) -- for a float ** variable!\n"
4535    "* add dataset labels\n"
4536    "* add statistical parameters (including FDR)\n"
4537    "* add help" } ,
4538 
4539  { 6 , MAY , 2009 , RWC , "afni" , MAJOR , TYPE_NEW_OPT ,
4540    "First edition of InstaCorr!" ,
4541    "Rough around the edges, but gnarly-ific to the level of the first\n"
4542    "inaccessible cardinal!" } ,
4543 
4544  { 1 , MAY , 2009 , RWC , "3dBlurInMask" , MINOR , TYPE_NEW_PROG ,
4545    "Like 3dBlurToFWHM, but simpler." ,
4546    NULL } ,
4547 
4548  { 1 , MAY , 2009 , RWC , "thd_bandpass.c" , MICRO , TYPE_BUG_FIX ,
4549    "modified to make it actually work, including lowpass and highpass" ,
4550    NULL } ,
4551 
4552  { 30 , APR , 2009 , RWC , "1dBandpass" , MICRO , TYPE_NEW_PROG ,
4553    "for .. Bandpassing!" ,
4554    "Really just to test the new bandpassing functions for inclusion into\n"
4555    "AFNI's InstaCorr feature." } ,
4556 
4557  { 29 , APR , 2009 , RWC , "3dTcorrMap" , MICRO , TYPE_GENERAL ,
4558    "Add OpenMP support" ,
4559    NULL } ,
4560 
4561  { 29 , APR , 2009 , RWC , "3dTcorrMap" , MICRO , TYPE_GENERAL ,
4562    "unroll innermost loop -- makes little difference :-(" ,
4563    NULL } ,
4564 
4565  { 29 , APR , 2009 , RWC , "afni" , MINOR , TYPE_NEW_ENV ,
4566    "Make 'Where am I?' font size user controllable." ,
4567    "via AFNI_TTATLAS_FONTSIZE environment variable (editable)." } ,
4568 
4569  { 28 , APR , 2009 , RWC , "3dDeconvolve" , MINOR , TYPE_NEW_OPT ,
4570    "Add duration argument to SPMGx basis functions for deconvolution." ,
4571    "For Tracy Doty, apparently." } ,
4572 
4573  { 16 , APR , 2009 , RWC , "All" , MINOR , TYPE_BUG_FIX ,
4574    "Inadvertent recursion in afni_environ.c now blocked." ,
4575    NULL } ,
4576 
4577  { 15 , APR , 2009 , RWC , "1dplot" , MICRO , TYPE_NEW_OPT ,
4578    "Add -thick option" ,
4579    "Plus: modify plot_ts.c to thicken the lines used for plotting the labels\n"
4580    "(so the fancy characters are filled in a little)." } ,
4581 
4582  { 13 , APR , 2009 , RWC , "3dREMLfit" , MICRO , TYPE_BUG_FIX ,
4583    "fixed bug in printing censor message for -addbase and -slibase" ,
4584    NULL } ,
4585 
4586  { 10 , APR , 2009 , RWC , "3dREMLfit" , MINOR , TYPE_BUG_FIX ,
4587    "Error in processing -slibase file with censoring" ,
4588    "Typo in replacing input image with censored image caused the end of the\n"
4589    "world (SEGV crash)." } ,
4590 
4591  { 8 , APR , 2009 , RWC , "AFNI image viewer" , MINOR , TYPE_MODIFY ,
4592    "Set MPEG 'pattern' for frames to reflect the Anim_dup setting." ,
4593    "This small change will make MPEG-1 (.mpg) files that are slowed down by\n"
4594    "setting Anim_dup > 1 not significantly larger than full speed files, by\n"
4595    "setting the frame pattern to 'IPPPP' where the number of Ps is the\n"
4596    "number of duplicate frames (Anim_dup-1)." } ,
4597 
4598  { 8 , APR , 2009 , RWC , "thd_filestuff.c" , MINOR , TYPE_NEW_ENV ,
4599    "AFNI_ALLOW_ARBITRARY_FILENAMES" ,
4600    "Set this environment variable to YES to allow 'strange' characters into\n"
4601    "AFNI created filenames.  You should know what you are doing if you use\n"
4602    "this variable!" } ,
4603 
4604  { 6 , APR , 2009 , RWC , "3dLocalSVD" , MICRO , TYPE_NEW_OPT ,
4605    "Add -vproj option" ,
4606    "To project central voxel onto low-dimensional local SVD space." } ,
4607 
4608  { 6 , APR , 2009 , RWC , "3dmaskSVD" , MICRO , TYPE_NEW_OPT ,
4609    "Modify to allow output of more than 1 singular vector." ,
4610    "Also, make the help more helpful." } ,
4611 
4612  { 4 , APR , 2009 , RWC , "3dmaskSVD" , MINOR , TYPE_NEW_PROG ,
4613    "Like 3dmaskave, but does SVD principal vector instead of average" ,
4614    NULL } ,
4615 
4616  { 2 , APR , 2009 , RWC , "3dLocalSVD" , MICRO , TYPE_BUG_FIX ,
4617    "Fixed a little bug in 3dLocalSVD." ,
4618    NULL } ,
4619 
4620  { 2 , APR , 2009 , RWC , "3dTcorrMap" , MINOR , TYPE_NEW_OPT ,
4621    "Add -Thresh option" ,
4622    "To save a count of how many other voxels are above threshold correlated\n"
4623    "with each seed voxel." } ,
4624 
4625  { 1 , APR , 2009 , RWC , "realtime plugin" , MICRO , TYPE_GENERAL ,
4626    "Enhanced a few error messages." ,
4627    "I wish people would READ the damn things, instead of calling me to\n"
4628    "complain." } ,
4629 
4630  { 30 , MAR , 2009 , RWC , "3dABoverlap" , MINOR , TYPE_NEW_PROG ,
4631    "Computes various overlap and non-overlap statistics for 2 datasets." ,
4632    "Will resample dataset #B to match dataset #A, if needed.  This program\n"
4633    "is intended to check if two datasets are grossly not aligned, and has\n"
4634    "little other purpose." } ,
4635 
4636  { 27 , MAR , 2009 , RWC , "FDR calculations" , MINOR , TYPE_MODIFY ,
4637    "Changes/additions to mask operations for FDR curves." ,
4638    "3dREMLfit and 3dDeconvolve now generate an automask for the FDR curving\n"
4639    "purposes, if no other mask is used.  3drefit has a new -FDRmask option\n"
4640    "for computing the FDR curves correctly if no mask was used before." } ,
4641 
4642  { 26 , MAR , 2009 , RWC , "FDR" , MICRO , TYPE_MODIFY ,
4643    "Change the way m1 is estimated for MDF 'hint'." ,
4644    NULL } ,
4645 
4646  { 25 , MAR , 2009 , RWC , "3dREMLfit" , MINOR , TYPE_NEW_OPT ,
4647    "Add -nobout option, to suppress baseline betas from -Rbeta/-Obeta." ,
4648    "Per the request of Michael S Beauchamp, University of Texas." } ,
4649 
4650  { 24 , MAR , 2009 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
4651    "Added -stim_times_subtract option" ,
4652    "To allow adjustment of stimulus times due to removal of some images at\n"
4653    "the start of each run.\n"
4654    "ALSO: added -stim_time_millisec option, to allow -stim_times inputs to\n"
4655    "be in milliseconds rather than seconds." } ,
4656 
4657  { 24 , MAR , 2009 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
4658    "Expand the -help output somewhat." ,
4659    "Based on feedback and confusion from the Dartmouth bootcamp." } ,
4660 
4661  { 11 , MAR , 2009 , RWC , "3dANOVA" , MINOR , TYPE_NEW_OPT ,
4662    "Add -mask option to 3dANOVA, 3dANOVA2, 3dANOVA3" ,
4663    NULL } ,
4664 
4665  { 9 , MAR , 2009 , RWC , "3dDeconvolve" , MICRO , TYPE_NEW_OPT ,
4666    "Add SPMG1 to -stim_times repertoire, and update help." ,
4667    NULL } ,
4668 
4669  { 6 , MAR , 2009 , RWC , "3dDeconvolve" , MINOR , TYPE_NEW_OPT ,
4670    "Add 'WAV' function (from waver) to -stim_times repertoire." ,
4671    NULL } ,
4672 
4673  { 4 , MAR , 2009 , RWC , "3ddata.h" , MICRO , TYPE_BUG_FIX ,
4674    "Fix usage of realpath() array dimension with RPMAX macro" ,
4675    NULL } ,
4676 
4677  { 2 , MAR , 2009 , RWC , "zfun" , MINOR , TYPE_GENERAL ,
4678    "add compression functions (using zlib) to libmri in zfun.c" ,
4679    NULL } ,
4680 
4681  { 13 , FEB , 2009 , RWC , "3dRBFdset" , MICRO , TYPE_GENERAL ,
4682    "Test program to make a dataset defined by RBF." ,
4683    "Mostly built to test the Radial Basis Function expansion functions in\n"
4684    "mri_rbfinterp.c." } ,
4685 
4686  { 11 , FEB , 2009 , RWC , "3dvolreg" , MINOR , TYPE_BUG_FIX ,
4687    "replace DMAT_svdrot_old with DMAT_svdrot_newer" ,
4688    "Old function fails sometimes, making the output rotation be garbage and\n"
4689    "producing junk image results; the newer one seems more robust." } ,
4690 
4691  { 10 , FEB , 2009 , RWC , "3dDeconvolve" , MICRO , TYPE_BUG_FIX ,
4692    "fixed premature mask free-ing bug" ,
4693    NULL } ,
4694 
4695  { 9 , FEB , 2009 , RWC , "imseq.c" , MINOR , TYPE_NEW_ENV ,
4696    "Add AFNI_ANIM_DUP environment variable." ,
4697    "Allows user to duplicate images when writting an animation (AGIF or\n"
4698    "MPEG) file.  A simple and stoopid way to slow down an MPEG." } ,
4699 
4700  { 5 , FEB , 2009 , RWC , "3dREMLfit" , MICRO , TYPE_BUG_FIX ,
4701    "typo ==> DOF params for Full_Fstat weren't in output dataset" ,
4702    NULL } ,
4703 
4704  { 2 , FEB , 2009 , RWC , "parser (calc programs)" , MINOR , TYPE_MODIFY ,
4705    "Add hrfbk4 and hrfbk5(t,T) functions to parser" ,
4706    "To imitate the BLOCK4 and BLOCK5 response functions in 3dDeconvolve." } ,
4707 
4708  { 8 , JAN , 2009 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
4709    "Added OpenMP directives as a test of multi-threading speedup." ,
4710    NULL } ,
4711 
4712  { 7 , JAN , 2009 , RWC , "afni" , MICRO , TYPE_GENERAL ,
4713    "Added more references to the help page." ,
4714    NULL } ,
4715 
4716  { 5 , JAN , 2009 , RWC , "3dAllineate" , MICRO , TYPE_MODIFY ,
4717    "Change wsinc5 interpolation from radial to tensor product weight." ,
4718    "Speedup is about a factor of 6, which is worth the effort." } ,
4719 
4720  { 2 , JAN , 2009 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
4721    "Add '-final wsinc5' interpolation mode." ,
4722    "Slow but accurate.  Weight function is 'designed' to reduce the variance\n"
4723    "smoothing artifact." } ,
4724 
4725  { 31 , DEC , 2008 , RWC , "3dUndump" , MICRO , TYPE_MODIFY ,
4726    "Make sure NaN values don't get into the dataset!" ,
4727    NULL } ,
4728 
4729  { 30 , DEC , 2008 , RWC , "3dTfitter" , MINOR , TYPE_MODIFY ,
4730    "For FALTUNG, use sparse matrix operations for pure least squares." ,
4731    "Deconvolution + penalty matrix is sparse.  Uses the 'rcmat' functions\n"
4732    "originally developed for 3dREMLfit.  Speeds things up a lot when the\n"
4733    "time series is long." } ,
4734 
4735  { 29 , DEC , 2008 , RWC , "3dTfitter" , MICRO , TYPE_GENERAL ,
4736    "Added better error messages if program runs out of memory." ,
4737    NULL } ,
4738 
4739  { 23 , DEC , 2008 , RWC , "3dDeconvolve" , MICRO , TYPE_BUG_FIX ,
4740    "Program wouldn't read a -stim_times file that was all '*'" ,
4741    "Actual change was in mri_read.c." } ,
4742 
4743  { 19 , DEC , 2008 , RWC , "3dREMLfit" , MICRO , TYPE_MODIFY ,
4744    "Added condition number checking and -GOFORIT" ,
4745    "Also added floatscan checking for all output datasets, to be careful." } ,
4746 
4747  { 16 , DEC , 2008 , RWC , "3dREMLfit" , MICRO , TYPE_GENERAL ,
4748    "Fixed bug in linear solution when #columns%4==3 (unrolling)." ,
4749    "Actually in matrix.c, in function vector_multiply_transpose(), which is\n"
4750    "only  used in remla.c,  which is only used in 3dREMLfit.c." } ,
4751 
4752  { 11 , DEC , 2008 , RWC , "3dREMLfit" , MICRO , TYPE_MODIFY ,
4753    "Should behave better with ocllinear regression matrix." ,
4754    "Modified the QR decomposition to adjust 'tiny' diagonal elements of R,\n"
4755    "to avoid division by zero (or near-zero).  Prints a warning message when\n"
4756    "this adjustment is made." } ,
4757 
4758  { 11 , DEC , 2008 , RWC , "3dREMLfit" , MINOR , TYPE_BUG_FIX ,
4759    "Fixed -slibase bug." ,
4760    "Oopsie.  -slibase didn't work properly with more than 1 added column per\n"
4761    "slice.  Also, per the request of ZSS, you can now input more than 1\n"
4762    "column set per image file, in repetitive slice order:\n"
4763    "  0 1 2 3 0 1 2 3 0 1 2 3\n"
4764    "if there are 4 slices in the dataset, for example." } ,
4765 
4766  { 9 , DEC , 2008 , RWC , "3dDeconvolve" , MINOR , TYPE_MODIFY ,
4767    "Added 'dmBLOCK' to the '-stim_times_IM' repertoire." ,
4768    NULL } ,
4769 
4770  { 8 , DEC , 2008 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
4771    "Expand -stim_times_AM modulation abilities even more." ,
4772    "Now allow 'duration modulation' via the 'dmBLOCK' response model.  A\n"
4773    "general facility for allowing up to 3 nonlinear function parameters has\n"
4774    "been built into the code, for future expansion.  'dmBLOCK' can also be\n"
4775    "amplitude modulated." } ,
4776 
4777  { 4 , DEC , 2008 , RWC , "1dMarry" , MINOR , TYPE_MODIFY ,
4778    "Allow multiple marriages, to go with 3dDeconvolve changes" ,
4779    NULL } ,
4780 
4781  { 4 , DEC , 2008 , RWC , "3dDeconvolve" , MINOR , TYPE_NEW_OPT ,
4782    "Extend -stim_times_AM2 option to allow multiple amplitudes" ,
4783    NULL } ,
4784 
4785  { 18 , NOV , 2008 , RWC , "3dANOVA programs" , MINOR , TYPE_NEW_OPT ,
4786    "Add option to output float-valued datasets." ,
4787    "Set the AFNI_FLOATIZE environment variable to YES, and the output of\n"
4788    "3dANOVA, 3dANOVA2, and 3dANOVA3 will be stored in float format instead\n"
4789    "of in scaled short format.  [Per the request of Paul Hamilton]" } ,
4790 
4791  { 14 , NOV , 2008 , RWC , "help_format" , MICRO , TYPE_NEW_PROG ,
4792    "For formatting -help output into Web pages with hyperlinks." ,
4793    "To be used with the dist_help script for making the help Web pages from\n"
4794    "the -help outputs of all AFNI programs." } ,
4795 
4796  { 11 , NOV , 2008 , RWC , "3dREMLfit" , MICRO , TYPE_GENERAL ,
4797    "-usetemp now also saves output dataset stuff to TMPDIR." ,
4798    NULL } ,
4799 
4800  { 10 , NOV , 2008 , RWC , "3dUndump" , MICRO , TYPE_MODIFY ,
4801    "Add warning if non-integer values are being saved to shorts/bytes." ,
4802    NULL } ,
4803 
4804  { 7 , NOV , 2008 , RWC , "afni" , MICRO , TYPE_MODIFY ,
4805    "Write Clust_table.1D into dataset directory, not startup directory." ,
4806    NULL } ,
4807 
4808  { 6 , NOV , 2008 , RWC , "3dDeconvolve" , MINOR , TYPE_GENERAL ,
4809    "Add 'scale to shorts misfit' warning messages." ,
4810    "Also added to 3dcalc and some other programs." } ,
4811 
4812  { 5 , NOV , 2008 , RWC , "model_expr2.c" , MICRO , TYPE_GENERAL ,
4813    "Modified to allow up to 9 parameters -- see code for details." ,
4814    NULL } ,
4815 
4816  { 5 , NOV , 2008 , RWC , "3dREMLfit" , MICRO , TYPE_GENERAL ,
4817    "If it saves memory, convert dataset to new MRI_vectim format." ,
4818    "That is, an array of time series vectors, of voxels in the mask.  Will\n"
4819    "save memory if the number of voxels in the mask is less than 1/2 the\n"
4820    "volume." } ,
4821 
4822  { 4 , NOV , 2008 , RWC , "3dBlurToFWHM" , MINOR , TYPE_BUG_FIX ,
4823    "skip all zero sub-bricks in the blurmaster - for Tomski Rosski" ,
4824    NULL } ,
4825 
4826  { 4 , NOV , 2008 , RWC , "3dNLfim" , MINOR , TYPE_GENERAL ,
4827    "Added model_expr2.c" ,
4828    "Model that uses an arbitrary 3dcalc-like expression with 2 free\n"
4829    "parameters (any letters but 't', which is used for the time axis)." } ,
4830 
4831  { 3 , NOV , 2008 , RWC , "3dREMLfit" , MINOR , TYPE_NEW_OPT ,
4832    "Several changes" ,
4833    "Finished -gltsym, -Rglt, and -Oglt options = add GLTs on the 3dREMLfit\n"
4834    "command line and output those exclusively to new files.\n"
4835    "\n"
4836    "Modified -addbase and -slibase to do censoring if input 1D files are the\n"
4837    "same length as the uncensored matrix.\n"
4838    "\n"
4839    "Also fixed bugs in -ABfile.  Oopsie." } ,
4840 
4841  { 28 , OCT , 2008 , RWC , "afni" , MICRO , TYPE_MODIFY ,
4842    "add '3' checkerboard (inverse stippling to '#' key)" ,
4843    NULL } ,
4844 
4845  { 27 , OCT , 2008 , RWC , "afni" , MICRO , TYPE_GENERAL ,
4846    "Checkerboard underlay and overlay images" ,
4847    "For Ziad -- to help judge image alignment.  Use the # key to turn\n"
4848    "checkerboarding on and off.  The grayscale intensity bar popup menu has\n"
4849    "a new sub-menu to select the check size in units of underlay pixels.  At\n"
4850    "this time, checkerboarding does NOT work with image Save, RowGraphs, or\n"
4851    "SurfGraph, or just about any other feature.  If you want a picture of a\n"
4852    "checkerboarded image, you'll have to use a snapshot utility to grab the\n"
4853    "window." } ,
4854 
4855  { 23 , OCT , 2008 , RWC , "3dREMLfit" , MINOR , TYPE_NEW_OPT ,
4856    "Added -rout option, by popular 'demand'" ,
4857    NULL } ,
4858 
4859  { 23 , OCT , 2008 , RWC , "afni" , MICRO , TYPE_MODIFY ,
4860    "Add MDF estimate to FDR q-value" ,
4861    "MDF = Missed Detection Fraction = estimate of what fraction of true\n"
4862    "positives are below any given threshold (analogous to FDR = estimate of\n"
4863    "what fraction of above threshold voxels are true negatives).  Displays\n"
4864    "in the hint attached to the label below the threshold slider.  Purely\n"
4865    "experimental, since estimating the number of true positives in a given\n"
4866    "collection of p-values is not a well-defined concept by any means." } ,
4867 
4868  { 15 , OCT , 2008 , RWC , "fdrval" , MINOR , TYPE_NEW_PROG ,
4869    "Compute FDR value on command line, from dataset header" ,
4870    NULL } ,
4871 
4872  { 15 , OCT , 2008 , RWC , "3dREMLfit" , MINOR , TYPE_BUG_FIX ,
4873    "Fixed errts (etc) outputs: censored values not set to zero!" ,
4874    NULL } ,
4875 
4876  { 14 , OCT , 2008 , RWC , "3dAllineate" , MINOR , TYPE_BUG_FIX ,
4877    "If source=scaled shorts, then output will be scaled as well." ,
4878    NULL } ,
4879 
4880  { 6 , OCT , 2008 , RWC , "afni" , MICRO , TYPE_GENERAL ,
4881    "FDR curves can now be fetched from warp_parent" ,
4882    "If a func dataset is missing FDR curves, then the program tries to get\n"
4883    "them from the warp_parent dataset.  Also, AFNI no longer allows you to\n"
4884    "add FDR curves to a dataset without actual bricks (warp-on-demand)." } ,
4885 
4886  { 30 , SEP , 2008 , RWC , "3dREMLfit" , MINOR , TYPE_NEW_OPT ,
4887    "added -gltsym option" ,
4888    "Makes it easy for the user to add GLTs without using 3dDeconvolve." } ,
4889 
4890  { 25 , SEP , 2008 , RWC , "3dREMLfit" , MINOR , TYPE_NEW_OPT ,
4891    "added -usetemp option" ,
4892    "Saves REML setup matrices for various cases to tmp disk files.  Is\n"
4893    "necessary for -slibase and -Grid 5 combined, if anyone ever actually\n"
4894    "wants to run such a case." } ,
4895 
4896  { 24 , SEP , 2008 , RWC , "3dREMLfit" , MINOR , TYPE_NEW_OPT ,
4897    "-addbase and -slibase options to add baseline columns to matrix" ,
4898    "In particular, -slibase is intended for per-slice modeling of\n"
4899    "physiological noise effects.  Sucks up a lot of memory and CPU time." } ,
4900 
4901  { 23 , SEP , 2008 , RWC , "afni" , MINOR , TYPE_MODIFY ,
4902    "save last jumpto_xyz string, etc." ,
4903    NULL } ,
4904 
4905  { 22 , SEP , 2008 , RWC , "3dREMLfit" , MICRO , TYPE_GENERAL ,
4906    "got rid of some big memory leaks" ,
4907    NULL } ,
4908 
4909  { 19 , SEP , 2008 , RWC , "NIML library" , MICRO , TYPE_GENERAL ,
4910    "modify NI_alter_veclen to allow conversion to non-empty from empty" ,
4911    NULL } ,
4912 
4913  { 18 , SEP , 2008 , RWC , "Vecwarp" , MICRO , TYPE_BUG_FIX ,
4914    "Only require +orig dataset if user actually NEEDS it" ,
4915    "Program required the +orig version of the -apar dataset, which is needed\n"
4916    "for SureFit work, even if it wasn't actually going to be used.  Not any\n"
4917    "more." } ,
4918 
4919  { 16 , SEP , 2008 , RWC , "3dDeconvolve" , MICRO , TYPE_MODIFY ,
4920    "Made 3dREMLfit command echo more complete for user's convenience" ,
4921    NULL } ,
4922 
4923  { 15 , SEP , 2008 , RWC , "Draw Dataset plugin" , MINOR , TYPE_MODIFY ,
4924    "Keystrokes F3 and F3 now decrement/increment drawing value in plugin" ,
4925    NULL } ,
4926 
4927  { 10 , SEP , 2008 , RWC , "3dTfitter" , MICRO , TYPE_MODIFY ,
4928    "skip all zero voxels; add voxel ID to error messages" ,
4929    NULL } ,
4930 
4931  { 9 , SEP , 2008 , RWC , "3dAllineate" , MICRO , TYPE_MODIFY ,
4932    "add savehist to allcost output" ,
4933    NULL } ,
4934 
4935  { 2 , SEP , 2008 , RWC , "3dAllineate" , MICRO , TYPE_NEW_OPT ,
4936    "-allcostX1D option (for Chairman Z)" ,
4937    NULL } ,
4938 
4939  { 29 , AUG , 2008 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
4940    "More small changes, to speed the program up a little" ,
4941    "* reduce the number of function evals used in the coarse refinements\n"
4942    "* after coarse refinements, cast out parameter sets that are very close\n"
4943    "  to the best set, to avoid duplicative work at the fine pass" } ,
4944 
4945  { 28 , AUG , 2008 , RWC , "miscellaneous" , MICRO , TYPE_BUG_FIX ,
4946    "Fixed 'is used uninitialized' errors in several codes." ,
4947    "Via the new macro ZZME() in 3ddata.h, which zeros out a struct." } ,
4948 
4949  { 28 , AUG , 2008 , RWC , "3dAllineate" , MAJOR , TYPE_MODIFY ,
4950    "A number of changes to improve robustness." ,
4951    "* Don't smooth noise added to source image outside of the mask\n"
4952    "* Reduce default smoothing level for -lpc in coarse pass\n"
4953    "* Increase number of points used for matching in the coarse pass\n"
4954    "* More refinements of the twobest results in the coarse pass\n"
4955    "* Refinements (-num_rtb option) of the twobest results in the fine pass\n"
4956    "All this adds CPU time, but seems to make the program more reliably\n"
4957    "convergent.  Also:\n"
4958    "* Restored operation of the -check option, to restart the optimization\n"
4959    "  at the final solution with other methods, to see what results they\n"
4960    "  give compared to the original method." } ,
4961 
4962  { 26 , AUG , 2008 , RWC , "3dTcorrMap" , MINOR , TYPE_NEW_PROG ,
4963    "Average correlations with every other voxel time series." ,
4964    "Kind of slow.  For Kyle Simmons.  And I still don't recognize Missouri!" } ,
4965 
4966  { 25 , AUG , 2008 , RWC , "3dREMLfit" , MINOR , TYPE_NEW_OPT ,
4967    "Added residual outputs to 3dREMLfit." ,
4968    NULL } ,
4969 
4970  { 22 , AUG , 2008 , RWC , "3dREMLfit" , MINOR , TYPE_NEW_OPT ,
4971    "Add FDR curves and -?fitts options." ,
4972    NULL } ,
4973 
4974  { 21 , AUG , 2008 , RWC , "3dREMLfit" , SUPER , TYPE_NEW_PROG ,
4975    "Program to mimic 3dDeconvolve, but with serial correlations" ,
4976    "Uses ARMA(1,1) model of noise, separately for each voxel." } ,
4977 
4978  { 18 , AUG , 2008 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
4979    "add -force_TR option to override input dataset TR from header" ,
4980    "Also added a printout of the dataset TR if the PSFB warning gets\n"
4981    "printed." } ,
4982 
4983  { 15 , JUL , 2008 , RWC , "count" , MICRO , TYPE_BUG_FIX ,
4984    "Make '-suffix' work correctly for last item (per Fred Tam)." ,
4985    "Also, make '-sep' and '-suffix' work as separate items,\n"
4986    "instead of as synonyms for the same thing, which is stoopid." } ,
4987 
4988  { 14 , JUL , 2008 , RWC , "3dDeconvolve" , MICRO , TYPE_MODIFY ,
4989    "Add 'RunStart' field to xmat.1D output, to indicate start of runs." ,
4990    NULL } ,
4991 
4992  { 3 , JUL , 2008 , RWC , "matrix.c" , MICRO , TYPE_MODIFY ,
4993    "Add QR function matrix_qrr() to matrix.c library file." ,
4994    NULL } ,
4995 
4996  { 24 , JUN , 2008 , RWC , "afni" , MINOR , TYPE_MODIFY ,
4997    "Extend max number of clusters reportable, for Shruti." ,
4998    NULL } ,
4999 
5000  { 10 , JUN , 2008 , RWC , "3dLocalCormat" , MINOR , TYPE_NEW_OPT ,
5001    "Add -ARMA option to estimate ARMA(1,1) parameters" ,
5002    NULL } ,
5003 
5004  { 6 , JUN , 2008 , RWC , "3dErrtsCormat" , MINOR , TYPE_NEW_PROG ,
5005    "Compute correlation matrix of a time series, globally." ,
5006    NULL } ,
5007 
5008  { 6 , JUN , 2008 , RWC , "3dLocalCormat" , MINOR , TYPE_NEW_PROG ,
5009    "Compute correlation matrix of a time series, averaged locally." ,
5010    NULL } ,
5011 
5012  { 3 , JUN , 2008 , RWC , "afni" , MICRO , TYPE_GENERAL ,
5013    "Made AFNI_IMAGE_TICK_DIV_IN_MM editable (in 'Edit Environment')" ,
5014    "This is Rick's method for putting a physical scale around the edge of an\n"
5015    "image.  Of course, you have to use the grayscale intensity bar popup\n"
5016    "menu to actually put the tick marks on.  This just converts the\n"
5017    "'division' count to mm." } ,
5018 
5019  { 21 , MAY , 2008 , RWC , "afni" , MICRO , TYPE_BUG_FIX ,
5020    "Put -1dindex into '3dclust' output from Clusterize report.  Oops." ,
5021    NULL } ,
5022 
5023  { 20 , MAY , 2008 , RWC , "plugout_drive" , MICRO , TYPE_NEW_OPT ,
5024    "Make TCP/IP to 'localhost' the default.  Add option '-shm' if needed." ,
5025    NULL } ,
5026 
5027  { 20 , MAY , 2008 , RWC , "afni_cluster.c" , MICRO , TYPE_GENERAL ,
5028    "Added BHelp to a bunch of buttons." ,
5029    NULL } ,
5030 
5031  { 20 , MAY , 2008 , RWC , "afni" , MINOR , TYPE_GENERAL ,
5032    "Clusterize: '-' as the filename means write to stdout." ,
5033    NULL } ,
5034 
5035  { 15 , MAY , 2008 , RWC , "thd_initdblk.c" , MICRO , TYPE_NEW_ENV ,
5036    "AFNI_IGNORE_BRICK_FLTFAC = YES means ignore brick factors on input" ,
5037    "This is a quick hack for Ziad, and must be used with care!  Example:\n"
5038    "  3dBrickStat -DAFNI_IGNORE_BRICK_FLTFAC=YES -max -slow fred+orig" } ,
5039 
5040  { 9 , MAY , 2008 , RWC , "afni" , MICRO , TYPE_GENERAL ,
5041    "Modify PUTENV macro to malloc new string for each variable" ,
5042    "Previously used an array str[256] that would go away, and that's\n"
5043    "actually not legal in Linux -- the array must be permanent, since its\n"
5044    "pointer is what gets put in the environment, not a copy of the string. \n"
5045    "That's why the PUTENV didn't work on Linux (but worked for some reason\n"
5046    "on Mac OS X)!  Sheesh." } ,
5047 
5048  { 8 , MAY , 2008 , RWC , "ROI drawing plugin" , MICRO , TYPE_GENERAL ,
5049    "Change info label to show BRIK filename rather than dataset prefix" ,
5050    NULL } ,
5051 
5052  { 8 , MAY , 2008 , RWC , "edt_dsetitems.c" , MICRO , TYPE_GENERAL ,
5053    "new prefix *.hdr gets a 2-file NIfTI format output" ,
5054    NULL } ,
5055 
5056  { 8 , MAY , 2008 , RWC , "3dAllineate" , MICRO , TYPE_GENERAL ,
5057    "small changes to bilinear optimization parameters" ,
5058    NULL } ,
5059 
5060  { 8 , MAY , 2008 , RWC , "afni" , MICRO , TYPE_GENERAL ,
5061    "Add 'u' or 'o' marker in titlebar to indicate what's the grayscale" ,
5062    NULL } ,
5063 
5064  { 2 , MAY , 2008 , RWC , "mcw_glob.c" , MICRO , TYPE_GENERAL ,
5065    "added message from Graham Wideman when readdir() fails" ,
5066    NULL } ,
5067 
5068  { 1 , MAY , 2008 , RWC , "afni_cluster.c" , MICRO , TYPE_GENERAL ,
5069    "Add SaveMask button to Clusterize report window." ,
5070    "Saves the clusters as a mask dataset (cluster #1 has value=1, etc.). \n"
5071    "Uses the prefix in the text field for the dataset name -- will overwrite\n"
5072    "existing dataset if the same name is used twice.  Equivalent 3dclust\n"
5073    "command is saved in History Note in output mask dataset (as if you had\n"
5074    "pressed the '3dclust' button)." } ,
5075 
5076  { 30 , APR , 2008 , RWC , "mcw_glob.c" , MINOR , TYPE_NEW_ENV ,
5077    "setenv AFNI_SHELL_GLOB YES == wildcard expansion via the shell" ,
5078    "For Graham Wideman and Mac OS X Server 10.5 problems." } ,
5079 
5080  { 8 , APR , 2008 , RWC , "3dTfitter" , MICRO , TYPE_BUG_FIX ,
5081    "Deal with ref (LHS) vectors that are very tiny." ,
5082    "Modify thd_fitter.c so that ref vectors that are very tiny compared to\n"
5083    "the largest one will not be included in the regression.  Per the\n"
5084    "unreasonable request of Rasmus Birn." } ,
5085 
5086  { 8 , APR , 2008 , RWC , "3dAllineate" , MICRO , TYPE_BUG_FIX ,
5087    "Weighting in LPC cost function" ,
5088    "Realized that weighting in computing the LPC was only done on the blok\n"
5089    "level computation of the PC.  All the blok PC values were averaged\n"
5090    "together without weighting.  Modified code to use sum of weights over a\n"
5091    "blok as a weight for its PC.  This can be turned off by setting\n"
5092    "environment variable AFNI_LPC_UNWTBLOK to YES (to restore the LPC\n"
5093    "function to its previous behavior)." } ,
5094 
5095  { 8 , APR , 2008 , RWC , "3dUpsample" , MINOR , TYPE_NEW_PROG ,
5096    "Upsample a 3D+time dataset (in the time direction)" ,
5097    NULL } ,
5098 
5099  { 7 , APR , 2008 , RWC , "1dUpsample" , MINOR , TYPE_NEW_PROG ,
5100    "Upsample a 1D time series" ,
5101    NULL } ,
5102 
5103  { 4 , APR , 2008 , RWC , "3dAllineate" , MINOR , TYPE_GENERAL ,
5104    "Added '-nwarp bilinear' option" ,
5105    "Experimental nonlinear warping comes to 3dAllineate at last. \n"
5106    "Preliminary test looks good, but more work is needed to be sure it's OK." } ,
5107 
5108  { 4 , APR , 2008 , RWC , "3dDeconvolve" , MICRO , TYPE_GENERAL ,
5109    "Check for ' ' option, which means a blank after a '\\' character" ,
5110    NULL } ,
5111 
5112  { 28 , MAR , 2008 , RWC , "3dcalc" , MICRO , TYPE_MODIFY ,
5113    "Treat auto-transposed .1D\\' files as datasets, not as timeseries." ,
5114    NULL } ,
5115 
5116  { 26 , MAR , 2008 , RWC , "1dplot" , MINOR , TYPE_NEW_OPT ,
5117    "Add -norm2 and -normx options: normalize time series before plotting" ,
5118    NULL } ,
5119 
5120  { 25 , MAR , 2008 , RWC , "3dDetrend" , MINOR , TYPE_BUG_FIX ,
5121    "-normalize didn't work -- what the hellll was I thinking?" ,
5122    "Also, added some help to explain how to use 3dDetrend on 1D files." } ,
5123 
5124  { 25 , MAR , 2008 , RWC , "1dnorm" , MINOR , TYPE_BUG_FIX ,
5125    "Forgot the sqrt()!  kudos to David Perlman." ,
5126    NULL } ,
5127 
5128  { 24 , MAR , 2008 , RWC , "3dTfitter" , MINOR , TYPE_MODIFY ,
5129    "deconvolution with penalty factor = 0 is modified" ,
5130    "Now the criterion for choosing the penalty factor is based on curvature\n"
5131    "rather than distance from the origin.  Seems to be more robust, but\n"
5132    "probably will require yet more tweaking." } ,
5133 
5134  { 21 , MAR , 2008 , RWC , "3dTfitter" , MICRO , TYPE_MODIFY ,
5135    "Modified operation of FALTUNG penalty=0 option" ,
5136    "Implemented the L-curve method for selecting the penalty factor, when\n"
5137    "user sets the factor to 0." } ,
5138 
5139  { 20 , MAR , 2008 , RWC , "3dTfitter" , MINOR , TYPE_NEW_OPT ,
5140    "Add -polort option, to keep Gang Chen happy." ,
5141    NULL } ,
5142 
5143  { 14 , MAR , 2008 , RWC , "3dROIstats" , MICRO , TYPE_NEW_OPT ,
5144    "Sub-brick label printing (and -nobriklab option)" ,
5145    "Per the noble Vince Hradil." } ,
5146 
5147  { 7 , MAR , 2008 , RWC , "Dataset#N" , MINOR , TYPE_NEW_ENV ,
5148    "AFNI_DATASETN_NMAX sets number of datasets allowed" ,
5149    "New environment variable AFNI_DATASETN_NMAX sets the number of datasets\n"
5150    "allowed in Dataset#N plugin, from 9..49.  This is for Shruti." } ,
5151 
5152  { 6 , MAR , 2008 , RWC , "3dcalc" , MICRO , TYPE_MODIFY ,
5153    "Add cbrt (cube root) function to parser; affects 1deval and ccalc" ,
5154    NULL } ,
5155 
5156  { 5 , MAR , 2008 , RWC , "afni-general" , MINOR , TYPE_MODIFY ,
5157    "Change the way 1D datasets are written to disk from 3D programs" ,
5158    "In programs that analyze time series files (such as 3dTfitter), you can\n"
5159    "input 1D files and make the column direction be the time axis by using\n"
5160    "suffixing the file with \\' -- but when it comes to writing the results\n"
5161    "dataset out, the standard AFNI I/O method is to write the time axis\n"
5162    "along the row direction.  With this change, if you input a 1D file in\n"
5163    "the place of a 3D dataset AND put '.1D' at the end of the output file\n"
5164    "prefix, then the output dataset will be written so that the time axis\n"
5165    "is along the column direction." } ,
5166 
5167  { 5 , MAR , 2008 , RWC , "3dTfitter" , MINOR , TYPE_NEW_OPT ,
5168    "added '-fitts' option to produce fitted time series dataset" ,
5169    NULL } ,
5170 
5171  { 5 , MAR , 2008 , RWC , "afni" , MICRO , TYPE_MODIFY ,
5172    "Added 'AFNI History' button to the Datamode->Misc menu" ,
5173    NULL } ,
5174 
5175  { 4 , MAR , 2008 , RWC , "3dDeconvolve" , MINOR , TYPE_BUG_FIX ,
5176    "couple of small changes to help the hapless users" ,
5177    "* add more informative error message if allocate_memory() fails\n"
5178    "* force '-float' if any output prefix is NIfTI-1 format (.nii)" } ,
5179 
5180  { 3 , MAR , 2008 , RWC , "++AFNI_History++ plugin" , MICRO , TYPE_NEW_OPT ,
5181    "Small changes to make onscreen wordwrap match printout wordwrap" ,
5182    NULL } ,
5183 
5184  { 1 , MAR , 2008 , RWC , "++AFNI_History++ plugin" , MICRO , TYPE_NEW_PROG ,
5185    "Provides a way to create and insert entries into afni_history_NAME.c" ,
5186    "User must set two environment variables:\n"
5187    " AFNI_HISTORY_PERSONAL_FILE = full path to your personal version of\n"
5188    "   afni_history_NAME.c\n"
5189    " AFNI_HISTORY_USERNAME = what you want for the username in your file\n"
5190    "My values of these are\n"
5191    " AFNI_HISTORY_PERSONAL_FILE = /Users/rwcox/AFNI/src/afni_history_rwcox.c\n"
5192    " AFNI_HISTORY_USERNAME      = RWC\n"
5193    "You also need to add one of two lines to your afni_history_NAME.c file:\n"
5194    "\n"
5195    "/*=====below THIS LINE=====*/\n"
5196    "or\n"
5197    "/*=====above THIS LINE=====*/\n"
5198    "\n"
5199    "as shown, with no blanks before or after on the same line (except that\n"
5200    "you must make 'BELOW' or 'ABOVE' all caps!).\n"
5201    "New history entries are placed below the 'BELOW' line (if present), or\n"
5202    "above the 'ABOVE' line.\n"
5203    "\n"
5204    "If you set AFNI_HISTORY_DONTSAVE to YES, then the afni_history_NAME.c\n"
5205    "file won't be edited, and the new entry is just written to stdout." } ,
5206 
5207  { 20 , NOV , 2007 , RWC , "3dTsort" , MAJOR , TYPE_NEW_PROG ,
5208    "new program = sorts voxel data along the time axis" ,
5209    "This might be useful for sorting the -stim_time_IM beta weights\n"
5210    "output be 3dDeconvolve.  Perhaps for something else, too?" } ,
5211 
5212  { 16 , FEB , 2008 , RWC , "3dTfitter" , SUPER , TYPE_NEW_PROG ,
5213    "new program = linear fits to voxel time series" ,
5214    "Uses L1 or L2 regression, with optional constraints to fit each voxel\n"
5215    "time series as a sum of basis time series, which can be 1D files or\n"
5216    "3D+time datasets.  Basis time series that are 1D time series are\n"
5217    "the same for all input voxels.  Basis time series that are 3D+time\n"
5218    "datasets are different for each voxel.\n"
5219    "Differences from 3dDeconvolve:\n"
5220    "* Basis time series can vary across voxels.\n"
5221    "* Fit coefficients can be found with L1 or L2 error functions, and\n"
5222    "  can be constrained to be positive or negative.\n"
5223    "* 3dTfitter does not compute goodness-of-fit statistics.\n" } ,
5224 
5225  { 20 , FEB , 2008 , RWC , "1deval" , MINOR , TYPE_NEW_OPT ,
5226    "add '-1D:' option, to write output that is usable on the command line" ,
5227    "Sample usage:\n"
5228    " 1dplot `1deval -1D: -num 71 -expr 'cos(t/2)*exp(-t/19)'`\n"
5229    "The backquotes `...` capture command's output and put this string on\n"
5230    "the command line.  The '-1D:' option formats the 1deval output so that\n"
5231    "it is ready to be used in this way.\n" } ,
5232 
5233  { 22 , FEB , 2008 , RWC , "3dpc" , MINOR , TYPE_NEW_OPT ,
5234    "add '-eigonly' and '-reduce' options; output eigenvalues to a 1D file"  ,
5235    "'-eigonly' causes 3dpc to print eigenvalues to stdout and stop there.\n"
5236    "'-reduce n pp' outputs a reduced dataset, using only the largest 'n'\n"
5237    "eigenvalues.\n" } ,
5238 
5239  { 25 , FEB , 2008 , RWC , "1dsvd" , MINOR , TYPE_NEW_OPT ,
5240    "add '-vmean' and '-vnorm' options, to mirror capabilities in 3dpc" ,
5241    NULL } ,
5242 
5243  { 27 , FEB , 2008 , RWC , "3dTfitter" , MAJOR , TYPE_NEW_OPT ,
5244    "add deconvolution via the '-FALTUNG' option" ,
5245    "Unlike 3dDeconvolve, this deconvolution is to find the input time\n"
5246    "series, given the impulse response function.\n" } ,
5247 
5248  { 28 , FEB , 2008 , RWC , "3dUndump" , MINOR , TYPE_GENERAL ,
5249    "allow input of NO text files, to produce an 'empty' dataset" ,
5250    NULL } ,
5251 
5252  { 28 , FEB , 2008 , RWC , "3dTfitter" , MINOR , TYPE_NEW_OPT ,
5253    "allow constraints on sign of deconvolved function" , NULL } ,
5254 
5255  { 28 , FEB , 2008 , RWC , "3dTfitter" , MINOR , TYPE_NEW_OPT ,
5256    "allow combination of penalty functions in deconvolution" , NULL } ,
5257 
5258  { 29 , FEB , 2008 , RWC , "afni_history" , MICRO , TYPE_GENERAL ,
5259    "with HTML output, put a rule between different dates" , NULL } ,
5260 
5261 /*=====ABOVE THIS LINE=====*/
5262  /*-------------------------------------------------------------------------*/
5263  /*---------- The stuff below was converted from AFNI.changes.cox ----------*/
5264 
5265  { 24,JUL,1996, RWC, "Miscellaneous", SUPERDUPER, TYPE_GENERAL, "Oldest History stuff" ,
5266    "AFNI was created in summer 1994 (but some parts date to the 1980s).\n"
5267    "However, no formal log was made of changes until this date in 1996.\n"
5268    "So this is the beginning of AFNI historiography.\n"
5269    "  'Lately it occurs to me: What a long, strange trip it's been.'\n"
5270    } ,
5271 
5272  { 25,JUL,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5273    "* Added Button 2 click (time_index += 1 or -= 1) to afni_graph.c\n"
5274    "   [N.B.: this change was later removed with the drawing plugin.]\n"
5275    },
5276 
5277   { 29,JUL,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5278    "* Added shadow color changing code to 'colormenu' widgets in bbox.c --\n"
5279    "   this gives a little visual feedback when a color is selected.\n"
5280    "* Used 'glob' routines from tcsh-6.05 to allow filename globbing\n"
5281    "   on non-POSIX systems without the glob routines (like SGIs).\n"
5282    },
5283 
5284   { 30,JUL,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5285    "* Modified MCW_file_expand routine to properly glob files specified\n"
5286    "   in the form 3D:a:b:c:d:e:fname, where only 'fname' will have the\n"
5287    "   wildcards.  To3d help printout now reflects this change.\n"
5288    "* Used fsync(fileno()) to ensure that writes of .BRIK files are\n"
5289    "   flushed to disk -- in afni_func.c and 3ddata.c.\n"
5290    "* Don't do shadow color changing in 'colormenus' unless the widget is\n"
5291    "   realized, since this causes BadDrawable error on Linux (Motif 2.0).\n"
5292    "* Changed most popup widgets to be of class 'menu', which means that\n"
5293    "   their background color can now be changed separately.\n"
5294    "* Changed operation of -R option in afni to limit levels of recursion.\n"
5295    "   Mostly involved changing the routine THD_get_all_subdirs in 3ddata.c.\n"
5296    },
5297 
5298   { 31,JUL,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5299    "* Changed to3d to prevent creation of 3D+time functional datasets.\n"
5300    "   Modified to3d -help to reflect this, and added 'Nz = %d' to the\n"
5301    "   3D+time information label in the to3d widget panel.\n"
5302    },
5303 
5304   { 1,AUG,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5305    "* Modified imseq.c and afni.c to allow the user to toggle between\n"
5306    "   periodic montages and 'no wrap' montages.  Added a toggle button\n"
5307    "   'Wrap' next to the crosshair 'Gap' menu.\n"
5308    "* Modified crosshairs in afni.c so that in 'Single' mode with a\n"
5309    "   grapher active, then only the frame showing the graphed voxels\n"
5310    "   is drawn.  In 'Multi' mode, both the frame and the crosshairs\n"
5311    "   will be shown.\n"
5312    },
5313 
5314   { 2,AUG,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5315    "* Modified FD2.c to show average pixel value over frame as well as time,\n"
5316    "   when 'AvIm' is being used.   Also added 'b' keypress to toggle\n"
5317    "   common baselines for graphs.\n"
5318    "* Added SEEK_ constants back to mri_read.c, since C compiler on sparky\n"
5319    "   doesn't have them in stdio.h.\n"
5320    "* Fixed 'afni -im' problem with inversion of top_form during waits --\n"
5321    "   the program didn't turn the inversion off correctly.  This error\n"
5322    "   was due to the 'dangling else' problem.  The addition of a {}\n"
5323    "   pair fixed it right up.  Moral of the story: don't be stupid.\n"
5324    },
5325 
5326   { 6,AUG,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5327    "* Fixed a bug in afni_slice.c about the new NN code.  The code\n"
5328    "   now doesn't use the 'parallel' fast mode unless both the\n"
5329    "   inner and outer axes are parallel.\n"
5330    "* Fixed a bug in 3ddata.c, where the taxis wasn't properly set on\n"
5331    "   input of a 3D+t dataset if no slice offset data was input.\n"
5332    "   This would cause a crash when trying to delete a dataset.\n"
5333    "* Added '-warp_4D' switch to afni to allow output of 3D+t datasets\n"
5334    "   in Talairach coordinate.  Consumes huge amounts of disk space\n"
5335    "   and CPU time.\n"
5336    "* Removed fsync() because of time penalty.\n"
5337    },
5338 
5339   { 7,AUG,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5340    "* Fixed another bug in afni_slice.c about the new NN code.  The\n"
5341    "   allocation macro MAKE_IBIG failed to take into account that\n"
5342    "   the array ib[] index would run from 0..'top', and it only\n"
5343    "   allocated 'top' entries, whereas it should do at least 'top+1'.\n"
5344    },
5345 
5346   { 8,AUG,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5347    "* Added '-gfisher' option to 3dmerge.c, for purpose of averaging\n"
5348    "   correlation coefficient bricks.  Fixed a bug in this program\n"
5349    "   that took the DSET_BRICK_FACTOR from the input dataset\n"
5350    "   before editing, which is a mistake, since editing might alter\n"
5351    "   this scaling factor.\n"
5352    "* Changed output format from %14.7g to %13.6g in 3dinfo.c.  This\n"
5353    "   tends to suppress the annoying roundoff error in the scaled\n"
5354    "   statistics report.\n"
5355    },
5356 
5357   { 9,AUG,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5358    "* Fixed scaling bug in editvol.c EDIT_one_dataset's clip code.\n"
5359    "   For shorts scaled to floats, clip values were computed as\n"
5360    "   integers, which gave truncation errors in some cases.  Now,\n"
5361    "   clip values are computed as floats, then converted to\n"
5362    "   integers, with appropriate min- and max-ing.\n"
5363    "* Also added -1uclip and -2uclip options to EDIT_.  See\n"
5364    "   '3dmerge -help' for information.\n"
5365    },
5366 
5367   { 13,AUG,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5368    "* Altered autoRange and userRange controls (in Define Function\n"
5369    "   control panel) in afni to\n"
5370    "     a) always allow the user to set the range, even for thresholds\n"
5371    "     b) eliminate the inversion to indicate the autoRange is on\n"
5372    "     c) compute the autoRange for thresholds as well as fims\n"
5373    "   These changes also eliminate a bug (feature?) where the user could\n"
5374    "   set 'Func=Threshold' (SHOWFUNC_THR), which would formerly disable\n"
5375    "   these controls, then switch to another dataset where they would\n"
5376    "   not properly be re-enabled.\n"
5377    "* Added function AFNI_rescan_session to afni_func.c, which will close\n"
5378    "   all the datasets in a session, then re-read the session directory\n"
5379    "   to make a new set of datasets.  At present, this is actuated from\n"
5380    "   the 'hidden' popup menu.  Tricky points are catching all pointers\n"
5381    "   to datasets that are in the rescanned session, since they will\n"
5382    "   change, and dealing with the case when the user deletes some\n"
5383    "   dataset files.\n"
5384    },
5385 
5386   { 28,AUG,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5387    "* Fixed routine T3D_fix_dataset_dimen() in to3d.c to clear the\n"
5388    "   data brick pointers of the OLD number of bricks, not the\n"
5389    "   NEW number of bricks.  This error caused to3d to crash when\n"
5390    "   going from a dataset type with large nvals to small nvals,\n"
5391    "   since some sub-brick pointers were not being properly cleared.\n"
5392    "   [This error only manifested itself on SGI machines, and\n"
5393    "    was found by Christopher Wiggins.]\n"
5394    "* Made all routines in mri_write.c return a count of the number\n"
5395    "   of files they successfully wrote out (instead of returning void,\n"
5396    "   as before).  [This change was prompted by Doug Ward.]\n"
5397    },
5398 
5399   { 29,AUG,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5400    "* If a session directory has functions but no anatomies, then\n"
5401    "   afni.c now prints out a warning message instead of just\n"
5402    "   skipping it silently.  [Prompted by Chris Wiggins.]\n"
5403    "* If a dataset has parent IDCODEs, then the corresponding\n"
5404    "   parent name will not be set in 3ddata.c.  This is to prevent\n"
5405    "   confusion.\n"
5406    },
5407 
5408   { 1,SEP,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5409    "* Moved rescan pushbutton from hidden menu to datamode control panel.\n"
5410    "* Modified 3dmerge.c to allow merger of thresholds in datasets as\n"
5411    "   well as intensities.  Uses a new '-t*' type of flag -- the only\n"
5412    "   one implemented so far is '-tfico', which requires all inputs\n"
5413    "   to be of the fico dataset type.  See the '-gfisher' merger mode\n"
5414    "   given earlier.\n"
5415    },
5416 
5417   { 7,SEP,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5418    "* Modified -tfico option in 3dmerge.c to allow some of the datasets\n"
5419    "   to be of the fith type.  If all of them are fico, then the output\n"
5420    "   will be fico (with degrees-of-freedom parameters summed), otherwise\n"
5421    "   the output will just be fith.\n"
5422    "* Added '-q' == 'be quiet' option to fim2.\n"
5423    },
5424 
5425   { 30,SEP,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5426    "* After several false starts, finally begin creation of plugin code.\n"
5427    "   This is after conversations with Mike Beauchamp and Jay Kummer.\n"
5428    "   Yesterday and today\n"
5429    "     - afni_plugin.h has interface structures defined;\n"
5430    "     - afni_plugin.c has interface definition routines and\n"
5431    "         widget creation routines;\n"
5432    "     - machdep.h has new #define's to set the type of\n"
5433    "         dynamic library loading to use.\n"
5434    "   Much more to come.\n"
5435    "* Modified MCW_widget_geom in xutil.h to properly deal with\n"
5436    "   the case of unrealized widgets -- must use XtQueryGeometry\n"
5437    "   instead of XtGetValues.\n"
5438    },
5439 
5440   { 6,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5441    "* Fixed use of '==' in assignment statement in 3ddata.h.\n"
5442    "* afni_plugin.c now has\n"
5443    "   - working widget creation and popup routines\n"
5444    "   - plugin callable routines to extract values from\n"
5445    "       user selected options from the interface\n"
5446    },
5447 
5448   { 7,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5449    "* Changed 3ddata.c to allow use of AFNI_TS_PATH as an alternate\n"
5450    "   to AFNI_TSPATH.  If neither environment variable exists,\n"
5451    "   then the path './' will be used as a last resort.\n"
5452    "* Something similar done in afni_plug.c with AFNI_PLUGIN_PATH.\n"
5453    "* Made the switchview callback in afni.c pop down the strlist\n"
5454    "   chooser.  This is because a plugin interface will only be\n"
5455    "   allowed to choose from current view datasets, and if such\n"
5456    "   a view switch is made, the list of choosable datasets must\n"
5457    "   be modified.  The simplest way to do this is to make the\n"
5458    "   user start the choice process over.\n"
5459    },
5460 
5461   { 9,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5462    "* Fixed bug in afni_plugin.c that failed to check certain\n"
5463    "   datasets for inclusion in the dataset choosers.\n"
5464    "* Modified BHelp to include color and border controls.\n"
5465    "* Incorporated Doug Ward's changed version of editvol.[hc],\n"
5466    "   which adds various cluster editing and volume filtering\n"
5467    "   options to 3dmerge.c (et al.).\n"
5468    },
5469 
5470   { 11,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5471    "* Fixed (sort of) sizing problem in afni_plugin.c creation\n"
5472    "   of plugin interface windows.\n"
5473    "* Wrote routine for plugin to load a new dataset into the\n"
5474    "   current session of a controller window.\n"
5475    },
5476 
5477   { 12,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5478    "* afni_plugin.c changes\n"
5479    "   - Modified PLUGIN_prefix_ok in afni_plugin.c to check for\n"
5480    "       duplicate prefixes, as well as for illegal characters in\n"
5481    "       the prefix string.\n"
5482    "   - Routine PLUGIN_force_redisplay will make all im3d units\n"
5483    "       redraw their windows.\n"
5484    "   - Routine PLUGIN_copy_dset will copy a dataset, including\n"
5485    "       the bricks.\n"
5486    "   - Added helpstring to the plugin interface, and a 'Help'\n"
5487    "       button to popup a plugin-supplied message.\n"
5488    "* Modified afni to allow separate control of warp-on-demand for\n"
5489    "   anatomy and functional datasets.  When a plugin directly\n"
5490    "   modifies a Talairach dataset brick, for example, then if it\n"
5491    "   is set to warp-on-demand, the display won't be affected,\n"
5492    "   since the program always warps from the +orig brick.  Under\n"
5493    "   the old scheme, if the anat were w-o-d, then the func had\n"
5494    "   to be w-o-d as well.  In the situation where the anat dataset\n"
5495    "   brick does not exist in Talairach coords, then the effect of\n"
5496    "   the plugin would be invisible if the user couldn't force\n"
5497    "   the function to be view-brick independent of the anatomy.\n"
5498    "* Fixed an old bug in THD_dset_in_sessionlist (3ddata.c) that\n"
5499    "   returned the wrong session index.\n"
5500    },
5501 
5502   { 14,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5503    "* Fixed bug in 3ddata.h macro FILECODE_TO_PREFIX so that the\n"
5504    "   last '+' in the filecode is used to find the prefix,\n"
5505    "   rather than the first '+'.  This fixes a problem with\n"
5506    "   datasets whose prefix contains a '+' character.\n"
5507    },
5508 
5509   { 18,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5510    "* Modified mri_read.c so that '# line' comments in pgm files\n"
5511    "   can be read.  This lets AFNI programs read pgm files created\n"
5512    "   from programs like 'xv'.\n"
5513    "* Changed plugin callable functions/macros in afni_plugin.[ch]\n"
5514    "   to start with PLUTO (PLugin UTility Operation).\n"
5515    },
5516 
5517   { 20,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5518    "* Fixed bugs in imseq.c\n"
5519    "   - During 'image processing' of complex images, one reference to\n"
5520    "       input image 'im' had not been changed to 'lim' (the locally\n"
5521    "       processed copy).\n"
5522    "   - If ISQ_make_image fails, the XImage 'seq->given_xim' would\n"
5523    "       be NULL.  This is now detected, and ISQ_show_image won't\n"
5524    "       try to put this NULL image to the screen (which would\n"
5525    "       cause a Segmentation error).\n"
5526    "* Minor changes to afni_plugin.c\n"
5527    "   - Added reminder of current 'view' at top of plugin dataset chooser.\n"
5528    "   - Added [c] reminder of current controller in plugin shell widget\n"
5529    "       titlebar and icon label strings.\n"
5530    "* Minor changes to afni_graph.c\n"
5531    "   - Changed time increment event from Button2 to Shift or Ctrl\n"
5532    "       with Button1.  This is to allow the eventual dedication of\n"
5533    "       Button2 events to plugins.\n"
5534    },
5535 
5536   { 21,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5537    "* Changed FD_brick_to_timeseries (in 3ddata.c) to scale each element\n"
5538    "   by the brick_fac value appropriate for that time index, rather\n"
5539    "   than by the value for time index = 0.  This is done using the\n"
5540    "   new routine mri_mult_to_float (in mri_to_float.c).\n"
5541    "* Fixed bug in EDIT_dset_items (editvol.h) that used 'float' inputs.\n"
5542    "   Default type promotion (there can be no prototype here) turns all\n"
5543    "   float inputs to doubles, so they must be retrieved this way.\n"
5544    "   Also, fixed error when 'ADN_nsl' is passed as zero -- no longer\n"
5545    "   requires a 'ADN_toff_sl' array in this special case.  Also made\n"
5546    "   EDERR macro always print a message, even if not in debug mode.\n"
5547    "* Added DSET_TIMESTEP macro (and others) to 3ddata.h.\n"
5548    "* Modified PLUTO_add_dset (afni_plugin.c) to allow for other actions\n"
5549    "   when a dataset is set back to AFNI.\n"
5550    "* Added 'progress meter' PLUTO_ functions to afni_plugin.c; also\n"
5551    "   modified the meter code in xutil.c to check if the percent\n"
5552    "   value has changed before trying to update the meter progress.\n"
5553    "* Added 'units_type' to the 3D+time dataset format.  This lets the\n"
5554    "   'time axis' be expressed in milliseconds, seconds, or Hertz.\n"
5555    "   Changes were made to 3ddata.[ch], to3d.c, 3dinfo.c, editvol.[ch].\n"
5556    "* Power spectrum plugin 'plug_power.c' was made to work today.\n"
5557    },
5558 
5559   { 22,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5560    "* Added timeseries chooser to afni_plugin.c.\n"
5561    "* Added ability to apply a function to graph data (e.g., to take the\n"
5562    "   logarithm of each point).  This affected afni.[ch], afni_graph.[ch].\n"
5563    "* Fixed a bug in afni_fimmer.c, where routine AFNI_ts_in_library could\n"
5564    "   return the wrong value if the timeseries being searched for was\n"
5565    "   not actually found.\n"
5566    "* Modified directory scan in 3ddata.c (for timeseries) and afni_plugin.c\n"
5567    "   (for plugins) to skip directories that have already be scanned.\n"
5568    "   This is to avoid the situation where the PATH variable contains\n"
5569    "   duplicate entries.\n"
5570    },
5571 
5572   { 23,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5573    "* Added Shift/Ctrl/Alt-Button3 simulation of lower tier button presses\n"
5574    "   to imseq.c.\n"
5575    },
5576 
5577   { 25,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5578    "* Fixed imseq.c routine that re-places the 'dialog' window (for Disp\n"
5579    "   and Mont) on the screen when the image is resized -- somehow\n"
5580    "   the code that fixed the problem of forcing the dialog off the\n"
5581    "   edge of the screen lost an '=', and so nothing happened.\n"
5582    "* Added 'i' button to right edge of imseq.c windows -- allows the\n"
5583    "   user to down/up the fraction of the window that the image\n"
5584    "   takes up.\n"
5585    },
5586 
5587   { 27,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5588    "* Added PLUTO_popup_image() function to afni_plugin.c.  Also used\n"
5589    "   this to provide a 'hidden menu' popup of an image of me in\n"
5590    "   afni_func.c.\n"
5591    },
5592 
5593   { 30,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5594    "* Added ability to apply function to each pixel of a displayed image\n"
5595    "   (cognate to the similar ability in graphs -- see 22 October).\n"
5596    "   This primarily affected imseq.c, but also a few other places.\n"
5597    "* Added new 'fift' dataset type, to deal with F-test sub-bricks.\n"
5598    "   - Incorporated cdflib into mrilib.  This is to use the 'cdff'\n"
5599    "       to compute the CDF for the F statistic, in mri_stats.c\n"
5600    "   - Changed the precision of the threshold scale (thr_scale)\n"
5601    "       from 0..99 to 0..999, and correspondingly changed the\n"
5602    "       scaling from the scale to func_threshold from 0.01 to\n"
5603    "       0.001.  Also changed the 'decim' factor for the scale.\n"
5604    },
5605 
5606   { 31,OCT,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5607    "* Modified EDIT_substitute_brick in editvol.c to allow the input\n"
5608    "   array 'fim' to be NULL.  In that case, the routine will create it.\n"
5609    "   This is a convenience for the user (say, a plugin author).\n"
5610    },
5611 
5612   { 1,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5613    "* Added routine PLUTO_4D_to_typed_fim to afni_plugin.c.  This takes\n"
5614    "   a user function and a 3D+time dataset, and returns fim dataset,\n"
5615    "   with the user function applied to each voxel timeseries.\n"
5616    },
5617 
5618   { 2,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5619    "* Fixed a major bug with the multiple controller window ('New'\n"
5620    "   button) extension.  The problem is that the information about\n"
5621    "   how to extract images from a dataset is stored in the dataset,\n"
5622    "   in the 'wod_daxes' and 'vox_warp' sub-structs.  This causes\n"
5623    "   difficulties when two controllers view the same dataset at\n"
5624    "   different resolutions (e.g., overlay the same function on\n"
5625    "   two different anatomies).  The fix is to put the originals\n"
5626    "   of 'wod_daxes', 'vox_warp', and 'wod_flag' into the controller\n"
5627    "   (im3d) struct itself.  When the dataset is going to be used,\n"
5628    "   then this information is copied into the dataset struct.\n"
5629    "   This is a clumsy fix, but breaks the least code in the\n"
5630    "   afni_warp.c routines for extracting slices from a dataset.\n"
5631    },
5632 
5633   { 3,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5634    "* Moved functional resample arrowval from the 'Define Function'\n"
5635    "   control panel to the 'Define Datamode' panel, where it will\n"
5636    "   be close to the analogous control from anatomy.\n"
5637    "* Added 1D and 2D transformation function registries.  Made up\n"
5638    "   some sample transformation functions (median filtering, etc.).\n"
5639    "* Added time units appendage to TR in to3d.c.\n"
5640    },
5641 
5642   { 4,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5643    "* Added 'Lock' menu to Datamode panel.  This allows the user to\n"
5644    "   specify that certain controllers have their coordinates locked\n"
5645    "   together, so that jumping around in one dataset can be mirrored\n"
5646    "   by jumps in another.  At this time, the AFNI_transform_vector\n"
5647    "   function does not properly transform vectors from +tlrc coordinates\n"
5648    "   to +orig coordinates (say) if the two datasets are not in the\n"
5649    "   parent/child relationship.  This can be confusing if two such\n"
5650    "   datasets are locked, and they are not in the same 'view'.\n"
5651    "* Made pressing Button1 on the AFNI logo in a grapher window also\n"
5652    "   turn off/on the menubar widgets.  This enables a screen dump\n"
5653    "   of a graph without that extraneous stuff being present.\n"
5654    },
5655 
5656   { 6,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5657    "* Added -unique option to afni.c to allow creation of unique\n"
5658    "   display contexts (MCW_DC's) for each AFNI controller window.\n"
5659    "   (This won't work on 8 bit displays.)  afni.c and afni_widg.c\n"
5660    "   were changed appropriately (and afni.h).\n"
5661    },
5662 
5663   { 10,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5664    "* Wrote 'lsqfit' plugin.  This allows computation of least squares\n"
5665    "   fits to timeseries graphs.  Modified afni_graph.c to allow\n"
5666    "   'Double Plot' to overlay least squares fit graph (or other\n"
5667    "   output of a 'Tran 1D') on the data timeseries graph.\n"
5668    },
5669 
5670   { 12,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5671    "* Fixed bug with multiple displays and the 'lock' -- when\n"
5672    "   changing the dataset in an AFNI controller, you don't want\n"
5673    "   the coordinate lock to apply.\n"
5674    "* Started adding 'orts' to AFNI's interactive fimmery.\n"
5675    },
5676 
5677   { 19,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5678    "* Made afni.c (AFNI_setup_viewing routine) set the FIM-able dataset\n"
5679    "   to the newly activated anatomical, if possible.  In the old\n"
5680    "   version, if you switched anatomies, the FIM-able dataset didn't\n"
5681    "   switch with you.  This was confusing to the uninitiated masses\n"
5682    "   (that is to say, Mike Beauchamp).\n"
5683    },
5684 
5685   { 21,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5686    "* Incorporated the f2c (Fortran-to-C) convertor into the AFNI96\n"
5687    "   distribution, in a separate directory (f2cdir).  This allows\n"
5688    "   the use of the old 'parser.f' routines to compile and execute\n"
5689    "   user created expressions.\n"
5690    "* Added macro AVOPT_columnize to bbox.h, which allows the setup\n"
5691    "   of an optmenu in a multicolumn layout.  Also setup the 'Plugins'\n"
5692    "   button to allow this (when the number of plugins grows past 20).\n"
5693    },
5694 
5695   { 22,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5696    "* Adapted MCW_choose_strlist (in bbox.c) to allow selection of\n"
5697    "   multiple items from the list.\n"
5698    },
5699 
5700   { 23,NOV,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5701    "* Rearranged Write buttons on Datamode control panel in AFNI.  Added\n"
5702    "   a write 'Many' button which lets the user pick lots of datasets\n"
5703    "   to write out, so he can go get a cup of coffee.  Put all 3 Write\n"
5704    "   buttons in a single row.\n"
5705    "* Added a Rescan All button to allow rescanning of all sessions.  Put\n"
5706    "   both Rescan buttons in a single row.  Also added a '*.1D' rescan\n"
5707    "   button to allow for re-reading of timeseries files.\n"
5708    "* Attached data type descriptors like [fim] and [epan:3D+t] to the\n"
5709    "   listings in the dataset choosers.\n"
5710    },
5711 
5712   { 10,DEC,1996 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5713    "* Fixed small bugs in parser_int.c, in the utility routines where\n"
5714    "   a pointer to a doublereal wasn't dereferenced before comparing\n"
5715    "   it to zero.\n"
5716    },
5717 
5718   { 1,JAN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5719    "* Added routines to libmri.a to allow reading in a 3D: image file\n"
5720    "   in 'delay' mode -- only the filename and offset into it are\n"
5721    "   stored in the image.  When access to the image is desired,\n"
5722    "   then it will be read from disk.\n"
5723    "* Added -delay switch to to3d.c to take advantage of this procedure.\n"
5724    "   This prevents duplicate malloc required for huge 3D: file\n"
5725    "   (once for the 3D: input and once for the dataset brick).  People\n"
5726    "   who do all 3D+time input data in one big file have run out of\n"
5727    "   memory otherwise.\n"
5728    "* Added '++' toggle to allow display of crosshairs in all slices of\n"
5729    "   an AFNI montage.  This is specifically for Jeff Binder.\n"
5730    "* Added RESET_AFNI_QUIT() calls to a bunch of routines in afni.c.\n"
5731    },
5732 
5733   { 2,JAN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5734    "* Added mcw_glob.c usage to FD2.c, to allow internal expansion of\n"
5735    "   wildcarded filename.  This overcomes the SGI limit on the\n"
5736    "   number of arguments on the command line.\n"
5737    },
5738 
5739   { 3,JAN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5740    "* Got program waver.c to work -- generation of an ideal waveform\n"
5741    "   with tunable parameters.\n"
5742    },
5743 
5744   { 13,JAN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5745    "* Added -subort option to fim2.c -- subtraction of orts from\n"
5746    "   an image time series.\n"
5747    },
5748 
5749   { 20,JAN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5750    "* Included '#include <string.h>' in mcw_glob.h, to prevent complaints\n"
5751    "   from stupid compilers.\n"
5752    "* Added Makefile.osf1, from a system at U Maryland.\n"
5753    "* Added gmovie, script to create a GIF movie from a bunch of PNM files.\n"
5754    },
5755 
5756   { 21,JAN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5757    "* Made the 'fscale' element in a grapher (afni_graph.[hc]) be a float,\n"
5758    "   so that finer control over graph scaling is possible.\n"
5759    "* Changed 'Scale', 'Ignore', and 'Matrix' controls in graph window\n"
5760    "   to be optmenus.  Added a routine to allow optmenus to be refitted.\n"
5761    },
5762 
5763   { 22,JAN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5764    "* Made the control buttons on image viewers (imseq.c) a little smaller.\n"
5765    },
5766 
5767   { 30,JAN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5768    "* Added program 3dcalc.c.\n"
5769    "* Changed STEP function in parser.f to be 1 only for x > 0.\n"
5770    },
5771 
5772   { 14,FEB,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5773    "* Incorporated GNU malloc into afni.c, which will be enabled with\n"
5774    "   the #define-ition of USE_GNU_MALLOC (e.g., in machdep.h).\n"
5775    "* #define-ing NO_FRIVOLITIES in machdep.h will no disable the\n"
5776    "   picture and sonnets.\n"
5777    },
5778 
5779   { 16,FEB,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5780    "* Incorporated GNU malloc checking into 'dafni'.  Now checks the\n"
5781    "   status of all malloc-ed blocks on entry and exit to every\n"
5782    "   routine using 'ENTRY' and 'RETURN' macros.  (Nevertheless,\n"
5783    "   this still doesn't find the bug I'm looking for.)\n"
5784    "* When a grapher window is being destroyed, its corresponding\n"
5785    "   image window needs to redraw the crosshairs.  This redraw\n"
5786    "   command could cause a crash (for reasons unknown) when\n"
5787    "   the dataset is being changed (that is, the grapher is being\n"
5788    "   trashed because the new dataset does not support graphs).\n"
5789    "   This is fixed in afni.c and afni_func.c so that when a\n"
5790    "   grapher is destroyed due to underlay switching, then the\n"
5791    "   corresponding image redraw commands will be ignored.\n"
5792    },
5793 
5794   { 18,FEB,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5795    "* Added some logical functions (and, or, mofn) to parser.f, and\n"
5796    "   so to 3dcalc.  Also added the -session option, and made the\n"
5797    "   default session = './'.\n"
5798    },
5799 
5800   { 20,FEB,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5801    "* Moved a couple routines in afni_plugin.c outside the\n"
5802    "   '#ifdef ALLOW_PLUGINS ... #endif' code block since they\n"
5803    "   are used in non-plugin-specific parts of AFNI.\n"
5804    },
5805 
5806   { 23,FEB,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5807    "* Wrote plug_imreg.c to do 2D registration on 3D+time datasets.\n"
5808    "* Modified mri_align.c, imreg.c, and fim2.c to recognize macro\n"
5809    "   ALLOW_DFTIME, if the user wants to compile the ability to\n"
5810    "   do -dftime or -dfspacetime registration.\n"
5811    },
5812 
5813   { 3,MAR,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5814    "* Allow to3d to create 3D+time FIM datasets.  Allow afni to display\n"
5815    "   them as functional overlays.\n"
5816    "* Add -noplugins option to afni, so that it is possible to skip\n"
5817    "   plugins initialization (also can setenv AFNI_NOPLUGINS).\n"
5818    "* In to3d.c, if any -[xyz]SLAB or -[xyz]FOV options are used, then\n"
5819    "   require that all 3 axes be given if the dataset is to be\n"
5820    "   written out correctly without opening the interactive window.\n"
5821    },
5822 
5823   { 4,MAR,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5824    "* Added a 'Read Sess' button to allow input of a new session into\n"
5825    "   afni.  Also added a function THD_equiv_files to 3ddata.c to\n"
5826    "   allow for checking if 2 filenames are equivalent (point to\n"
5827    "   the same inode on the same disk).\n"
5828    },
5829 
5830   { 5,MAR,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5831    "* Added a dummy dataset to afni.c, so that if there are none when\n"
5832    "   the user starts, he can read them in with the 'Read Sess' button.\n"
5833    "* Added a 'Read 1D' button to allow input of timeseries files.\n"
5834    },
5835 
5836   { 10,MAR,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5837    "* Made the 'Selection' box in the new file selectors have the\n"
5838    "   'HOTCOLOR' as the background.  This is because of the importance\n"
5839    "   of the contents of this box.\n"
5840    },
5841 
5842   { 20,MAR,1997, RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5843    "* Created script files to compile and distribute AFNI binaries\n"
5844    "   on and to various computers.\n"
5845    },
5846 
5847   { 2,APR,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5848    "* Incorporated the CLAMS library into the internal (MCW only) version\n"
5849    "   of AFNI.\n"
5850    },
5851 
5852   { 3,APR,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5853    "* Created the 'imcalc' program, analogous to 3dcalc, but for 2D images.\n"
5854    },
5855 
5856   { 21,APR,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5857    "* Started work on 'plug_realtime.c', including the '3T_toafni.c'\n"
5858    "   program to extract data from ParaVision and send it into AFNI.\n"
5859    },
5860 
5861   { 22,APR,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5862    "* Modified registered functions to each have an int flag.  The only\n"
5863    "   flag value used now is bit 0 = RETURNS_STRING.  This can be used\n"
5864    "   in a 1D function (via PLUTO_register_1D_funcstr) to return an\n"
5865    "   extra string that will be displayed in graph's button 3 popup.\n"
5866    "* Modified the LSQfit plugin to return the fit parameters in the\n"
5867    "   extra string, so that the user can display them.\n"
5868    },
5869 
5870   { 17,JUN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5871    "* Lots of changes in the last 2 months to make plug_realtime.c work.\n"
5872    "* Added a menu item to afni_graph.c to allow user to control graph\n"
5873    "   colors and line thicknesses.  The colors can also be initialized\n"
5874    "   from the .Xdefaults file.\n"
5875    "* Added a menu item to afni_graph.c to allow the graph window to\n"
5876    "   be dumped to an image file.  Had to fix xim.c to allow for\n"
5877    "   the XImage format returned by XGetImage on the graph Pixmap.\n"
5878    "* Modified imseq.c so that if the user types '.pnm' as the end\n"
5879    "   of the 'Save:one' filename, the program won't add another\n"
5880    "   '.pnm' to the end.\n"
5881    },
5882 
5883   { 18,JUN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5884    "* Had to fix the xim.c routine XImage_to_mri to work correctly\n"
5885    "   with 12 bit Visuals.\n"
5886    "* Added stuff so that .Xdefaults can initialize the line thicknesses\n"
5887    "   as well as the colors.\n"
5888    },
5889 
5890   { 25,JUN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5891    "* Made afni_plugout.c and plugout_tt.c -- initial implementations\n"
5892    "   of the 'plugout' concept: programs that talk to AFNI using\n"
5893    "   IOCHANs to get T-T coordinates, etc.\n"
5894    "* Modified iochan.c to allow a socket connection to cutoff\n"
5895    "   abruptly when closed.  This was needed because I found that\n"
5896    "   a socket connection might hang around a while after close,\n"
5897    "   and this would prevent new connections on the same port #.\n"
5898    "   At present, this capability is only used when afni exits.\n"
5899    "* The plugout code (afni_plugout.c) is an Xt work process.\n"
5900    "   To prevent it soaking up too much CPU time, if nothing\n"
5901    "   happens, it will sleep for 10 msec.  This work process\n"
5902    "   is disabled if the realtime plugin is active.\n"
5903    },
5904 
5905   { 30,JUN,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5906    "* Added routine THD_extract_series and macros PLUTO_extract_series*\n"
5907    "   to get time series from 3D+time datasets.  [per Ziad Saad]\n"
5908    "* Modified 3ddup.c to allow conversion of 3D+time anatomy into\n"
5909    "   3D+time fim.  This will allow the overlay of EPI time series\n"
5910    "   as 'function' onto the corresponding anatomy.\n"
5911    },
5912 
5913   { 2,JUL,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5914    "* Modified imstat.c to work with 3D image files, at least partly.\n"
5915    },
5916 
5917   { 16,JUL,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5918    "* Made -orient option (and AFNI_ORIENT environment) work to change\n"
5919    "   the order in which coordinates are displayed in the afni.c\n"
5920    "   crosshair label.\n"
5921    },
5922 
5923   { 22,JUL,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5924    "* -orient (and AFNI_ORIENT) now work with 3dclust.c.\n"
5925    "* The 'jump to' popup in afni.c now works with the orientation\n"
5926    "   code, so that you can paste coordinates out of 3dclust\n"
5927    "   into to jumpto window.\n"
5928    },
5929 
5930   { 23,JUL,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5931    "* Added 6 new functional dataset types, with thresholds being\n"
5932    "   distributed as follows\n"
5933    "          normal    chi-square   incomplete-beta\n"
5934    "          binomial  gamma        Poisson\n"
5935    "* Gave user ability to change range of threshold slider -- before,\n"
5936    "   range was fixed by threshold functional dataset type.\n"
5937    "* Found problem on Linux (1.2.13) with 'dlopen' loading of plugins\n"
5938    "   and models -- seems to have problems at about the 20th library.\n"
5939    "   Not sure what to do about this.\n"
5940    "* Added routine PLUTO_report to allow a plugin to report status\n"
5941    "   information at startup.\n"
5942    },
5943 
5944   { 28,JUL,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5945    "* Added new utility program '3drefit.c' to allow user to change\n"
5946    "   the axes stored in a dataset header.  This is mostly to\n"
5947    "   fixup errors that may have occured at to3d time.\n"
5948    "* Added -orient option to to3d.c (not that it is much use).\n"
5949    "* Fixed bug in 3dinfo.c, for printout of sub-brick scaling\n"
5950    "   factors when no statistics are present in the header.\n"
5951    },
5952 
5953   { 30,JUL,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5954    "* Added ability to include a rotation warp when using 3ddup.\n"
5955    "* Added ability to include empty markers in 3drefit.\n"
5956    "* Fixed AFNI_init_warp (in afni.c) where it give the name\n"
5957    "   of the new dataset based on the 'adam' dataset, rather\n"
5958    "   than the 'parent'.  This causes problems when transforming\n"
5959    "   a dataset that is itself warp-on-demand from 3ddup -- the\n"
5960    "   names would be based on the ultimate warp parent, not\n"
5961    "   the derived parent from 3ddup.\n"
5962    },
5963 
5964   { 1,AUG,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5965    "* Added a label in the Define Function control panel to show\n"
5966    "   the crosshair pixel value, if all 3 image windows are\n"
5967    "   open (afni.c, afni_func.c, afni_widg.c).\n"
5968    "* Made Button3+Modifiers work even if CapsLock or NumLock\n"
5969    "   is pressed (imseq.c).\n"
5970    "* Added random Shakespearean insults.\n"
5971    "* Added AFNI_SESSTRAIL (3ddata.c) to control session 'lastname'.\n"
5972    },
5973 
5974   { 22,AUG,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5975    "* Raoqiong Tong modified parser.f to make the vector evaluation\n"
5976    "   routine work again.\n"
5977    "* Also fixed 3dcalc.c to work with 3D+time datasets.\n"
5978    },
5979 
5980   { 26,AUG,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5981    "* Oops!  Had to fix the EXP_0D plugin in plug_lsqfit.c because\n"
5982    "   the parser vector evaluation routine was changed.\n"
5983    },
5984 
5985   { 3,OCT,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5986    "* Oops!!  Fixed a bug in mri_align.c, where the fine fit weight\n"
5987    "   image wasn't computed properly.  This affected fim2, imreg,\n"
5988    "   and plug_imreg.\n"
5989    },
5990 
5991   { 22,OCT,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5992    "* Oops**2.  Fixed a bug in the bug fix above.\n"
5993    },
5994 
5995   { 27,OCT,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
5996    "* Changed csfft to csfft_cox in all places to avoid conflict\n"
5997    "   with code by AJ.\n"
5998    },
5999 
6000   { 30,OCT,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6001    "* Fixed DXY_THRESH to PHI_THRESH in one line of mri_align.c\n"
6002    "* Worked on adding popup 'hints' to AFNI.\n"
6003    },
6004 
6005   { 10,NOV,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6006    "* Added popup hints to to3d.\n"
6007    "* Added 'Clinical' disclaimer to startup message.\n"
6008    "* Remove scale hints (afni.c, imseq.c), since they are particularly\n"
6009    "   obnoxious.\n"
6010    },
6011 
6012   { 12,NOV,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6013    "* Added some SPARKY specific header declarations to fix problems\n"
6014    "   with SunOS compiling system (e.g., strtod).\n"
6015    },
6016 
6017   { 20,NOV,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6018    "* Increased buffer sizes in count.c\n"
6019    "* Added Makefile.sparc5_2.5 for Suns.\n"
6020    },
6021 
6022   { 21,NOV,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6023    "* Allowed brick dimensions to be specified as '120A' or 'A120'\n"
6024    "   in to3d.c.  This is to make it consistent with the way\n"
6025    "   scanners print on films.\n"
6026    },
6027 
6028   { 30,NOV,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6029    "* Added the 'bucket' types (anat and func) to 3ddata.h, and\n"
6030    "   then modified afni, editvol, etc., to utilize this type\n"
6031    "   of dataset.\n"
6032    "* Created program 3dbucket.c to put buckets together out of\n"
6033    "   sub-bricks from other datasets.\n"
6034    "* Modified 3drefit.c to allow changes to bucket sub-brick\n"
6035    "   information.\n"
6036    },
6037 
6038   { 9,DEC,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6039    "* Added a new chooser to let user pick interpolation method\n"
6040    "   for threshold (statistical) sub-bricks.\n"
6041    "* Fixed CUBIC_CLIP in afni_warp.c -- it was incorrectly\n"
6042    "   placed before the brick_fac scaling, not after.\n"
6043    "* Removed FIM menu from Define Function control panel.\n"
6044    },
6045 
6046   { 13,DEC,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6047    "* Added new file '3dmaker.c', for routines that make new\n"
6048    "   3D datasets from other datasets.  Moved the guts of\n"
6049    "   the PLUTO_4D_to_typed_* routines into this file.\n"
6050    "* Also fixed a 'float *' inside mallocs to be 'float'\n"
6051    "   in a couple of places in these routines.  This should\n"
6052    "   be innocuous, since most CPUs satisfy\n"
6053    "     sizeof(float) <= sizeof(float *)\n"
6054    },
6055 
6056   { 15,DEC,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6057    "* Added 'Compute FIM+' to FIM menu.  This saves the best\n"
6058    "   time series index in a new sub-brick.\n"
6059    "* Added some macros to editvol.h to make changing sub-brick\n"
6060    "   auxiliary values simpler.\n"
6061    },
6062 
6063   { 17,DEC,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6064    "* Modified AFNI_set_viewpoint to skip graph redraw unless\n"
6065    "   REDISPLAY_ALL or unless a new (x,y,z) location is set.\n"
6066    "* Added menu to the pbar label to allow modification of\n"
6067    "   the colors and spacings.\n"
6068    "* Modified display.h to allocate overlay colors from\n"
6069    "   read-write cells.  This allows the colors to be\n"
6070    "   redefined.\n"
6071    },
6072 
6073   { 18,DEC,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6074    "* Added -noqual option to AFNI to make it skip quality checks\n"
6075    "   when doing marker transformations.\n"
6076    "* Added -view option to 3drefit to let it change coordinate\n"
6077    "   systems.\n"
6078    },
6079 
6080   { 21,DEC,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6081    "* Added ability to read in palettes and colors from .afnirc file,\n"
6082    "   and interactively from a user-specified file.  Also allow\n"
6083    "   user to reset the top and spacings on the color pbar.\n"
6084    "* Modified display.[ch] to put all overlay stuff into a shared\n"
6085    "   struct for all MCW_DCs.  This means that the -unique option\n"
6086    "   will only generate new grayscale colorcells for each controller,\n"
6087    "   but they will now share overlay colors.  This is intended to\n"
6088    "   prevent a problem when users add new colors dynamically\n"
6089    "   from external palette files.  This change affected files\n"
6090    "     afni_func.c afni_graph.c afni_graph.h afni_setup.c xim.c\n"
6091    "     afni_widg.c bbox.c display.c display.h imseq.c pbar.c\n"
6092    "* Modified pbar.c to keep the input pval's exactly when calling\n"
6093    "   alter_MCW_pbar -- formerly, after resizing the panes, the\n"
6094    "   values might be altered slightly.\n"
6095    "* Discovered that 17,DEC,97 change to AFNI_set_viewpoint could\n"
6096    "   make graph not be drawn correctly on startup.  Added\n"
6097    "   'never_drawn' variable to graphs and imseqs to allow\n"
6098    "   this condition to be detected.\n"
6099    },
6100 
6101   { 22,DEC,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6102    "* Removed auto-change of threshold scale for bucket datasets\n"
6103    "   from afni.c.  Also unmanages/remanages this scale when\n"
6104    "   the pbar is being changed, due to horrible visual effects\n"
6105    "   on the SGI machine nimloth (if FIX_SCALE_SIZE_PROBLEM\n"
6106    "   is defined).\n"
6107    "* Modified pbar.c to store the summed pane heights, and then\n"
6108    "   recompute the value/label only when such a summed height\n"
6109    "   changes.  This prevents the modification of the value/label\n"
6110    "   pairs at other panes when resizing only one pane.\n"
6111    "* Modified AFNI_bucket_label_CB (afni_func.c) to put the\n"
6112    "   sub-brick index at the left of the option menu label.\n"
6113    },
6114 
6115   { 26,DEC,1997 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6116    "* Fixed bug in palette write-out (afni_setup.c).\n"
6117    "* Added a scrollable text output utility (xutil.c).  Made\n"
6118    "   the plugin help use it if the help string has many\n"
6119    "   lines (afni_plugin.c).  Added a line counting routine\n"
6120    "   to 3ddata.c\n"
6121    },
6122 
6123   { 2,JAN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6124    "* Added ability to read compressed .BRIK files to 3ddata.c\n"
6125    "   (gzip -d, bzip2 -d, and uncompress are supported).\n"
6126    "* Added program '3dnoise' to zero out noise-like regions\n"
6127    "   of nonnegative short datasets.\n"
6128    "* Modified display of dataset names to include number of\n"
6129    "   points in a 3D+t dataset, and to include a 'z' flag\n"
6130    "   to indicate compression of dataset.\n"
6131    },
6132 
6133   { 5,JAN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6134    "* Added 'New Stuff' entry to Misc menu, which just pops up\n"
6135    "   the README.changes file into a readonly text window.\n"
6136    "* Program 'quotize.c' will take a text file and make it\n"
6137    "   into a C array of strings, one line per element.  This\n"
6138    "   is used in afni_func.c to popup the README.changes file,\n"
6139    "   which is put into the file 'newstuff.hhh' by quotize and\n"
6140    "   in the Makefile.INCLUDE.\n"
6141    },
6142 
6143   { 7,JAN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6144    "* Added a routine to editvol.c to do local averaging of a\n"
6145    "   dataset faster than -1filter_mean -- it seems to run\n"
6146    "   about 6 times faster.  This is implemented as\n"
6147    "   -1filter_aver in 3dmerge, so that the older one is\n"
6148    "   still available.  Also modified plug_edit.c to add\n"
6149    "   this option to the Filter menu.\n"
6150    },
6151 
6152   { 8,JAN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6153    "* Modified scaling for output of 3dmerge.c so that the program\n"
6154    "   detects if all the inputs are integer types (byte or short,\n"
6155    "   unscaled).  If they are, and the merger type is consistent\n"
6156    "   with integer type, then the output will be unscaled, otherwise\n"
6157    "   it will be scaled by a float.\n"
6158    },
6159 
6160   { 9,JAN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6161    "* Modified afni_graph.[ch] to allow choice of a timeseries to\n"
6162    "   be used to define the x-axis graphing.  Thus, if x(t) is\n"
6163    "   the x-axis timeseries, and yij(t) are the data timeseries,\n"
6164    "   then each graph ij now shows x(t) vs. yij(t) rather than\n"
6165    "   t vs. yij(t).\n"
6166    "* Also modified the Button 1 press in the central graph to\n"
6167    "   jump to the time index point whose graph point is closest\n"
6168    "   to the button click.\n"
6169    "* Also allowed data plots to be shown as points instead of\n"
6170    "   lines.  'Points' are drawn using the '_circle' routine\n"
6171    "   ('filled' or 'hollow', as the line is 'thick' or 'thin').\n"
6172    },
6173 
6174   { 12,JAN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6175    "* Allow a gap between the sub-graph boxes.  This is chosen\n"
6176    "   from the 'Colors etc.' menu.\n"
6177    "* Raoqiong Tong fixed a bug in the new parser.f with the\n"
6178    "   AND, OR, and MOFN functions.\n"
6179    },
6180 
6181   { 14,JAN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6182    "* Modified symbol for current time index in afni_graph.c, so\n"
6183    "   that when data is graphed with points the current point\n"
6184    "   can be distinguished from the graph points.\n"
6185    },
6186 
6187   { 16,JAN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6188    "* Added 'Percent Change' calculation to afni_fimmer.c, and\n"
6189    "   removed the 'real-time' update feature from those routines.\n"
6190    },
6191 
6192   { 1,FEB,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6193    "* Modified 3ddata.c to avoid use of 'scandir' routine, which caused\n"
6194    "   no end of trouble on Solaris.\n"
6195    "* Moved the 'mcw_glob' routines into libmri.a.  These are used to\n"
6196    "   get filenames from the directory now.\n"
6197    },
6198 
6199   { 2,FEB,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6200    "* Fixed a typo in plug_imreg.c to make the 'Fine Blur' parameter\n"
6201    "   scale to FWHM properly.\n"
6202    "* Broke 3ddata.c into 'thd_*.c' routines, and incorporated them\n"
6203    "   into libmri.a.  Also incorporated 3dmaker.c and iochan.c.\n"
6204    "   Files 3ddata.c, 3dmaker.[ch], and iochan.[ch] are no more!\n"
6205    },
6206 
6207   { 3,FEB,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6208    "* Also put editvol.c into 'edt_*.c' routines, and thence into\n"
6209    "   librmi.a\n"
6210    "* Added an 'Autoscale' button to graph Opt menu, and also execute\n"
6211    "   the autoscale code when the graph is 1st drawn.\n"
6212    },
6213 
6214   { 4,FEB,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6215    "* Modified dbtrace.h to enable tracing with usual afni run.  This\n"
6216    "   can be turned on/off using the 'Misc' menu, or the '-trace'\n"
6217    "   option (if the program is compiled with USE_TRACING).\n"
6218    },
6219 
6220   { 8,FEB,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6221    "* Modified afni_graph.c to display dataset indices in graph window,\n"
6222    "   rather than FD_brick indices.  (See the DONT_MANGLE_XYZ location.)\n"
6223    "* Modified imseq.[ch], afni_graph.[ch], afni.[ch], and the new\n"
6224    "   file afni_receive.c to allow transmission of mouse Button2\n"
6225    "   data to a calling routine.  Work is in progress -- more later.\n"
6226    },
6227 
6228   { 13,FEB,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6229    "* Released drawing plugin to MCW users.  Includes open and closed\n"
6230    "   curves, filling, and undo.\n"
6231    "* Also added .BRIK output compression to thd_compress.[ch], and to\n"
6232    "   thd_writedblk.c.\n"
6233    },
6234 
6235   { 16,MAR,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6236    "* Added internal globbing to 'afni -im'.\n"
6237    "* Modified function AFNI_follower_dataset (afni_func.c) to copy\n"
6238    "   datablock auxiliary data from the data parent, if available.\n"
6239    "* Modified 3drefit.c to allow -fbuc and -abuc to work no matter\n"
6240    "   how many sub-bricks are present.\n"
6241    "* Added program 3dmaskave.c to print out averages from dataset\n"
6242    "   sub-bricks, with ROI selected by a mask.\n"
6243    },
6244 
6245   { 18,MAR,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6246    "* Made 'ptr' a byte variable rather than char in XImage_to_mri\n"
6247    "   (xim.c) -- this seems to fix a problem on some machines.\n"
6248    },
6249 
6250   { 20,MAR,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6251    "* Fixed EDIT_add_bricklist -- the brick auxiliary data additions\n"
6252    "   would free data that hadn't been allocated.\n"
6253    "* Modified stuff so that Dummy dataset is not deleted -- this\n"
6254    "   seems to help.  (It only takes up 64K, so the loss is small.)\n"
6255    },
6256 
6257   { 21,MAR,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6258    "* Modified 3dmaskave to allow dumping of all voxels hit by the\n"
6259    "   mask, and to compute the standard deviation also.\n"
6260    },
6261 
6262   { 24,MAR,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6263    "* Modified plug_copy.c to allow creation of a 1 sub-brick zero-filled\n"
6264    "   'copy' -- useful for making mask datasets.\n"
6265    "* Modified 3dnoise.c for 3D+time datasets, so that a voxel is zeroed\n"
6266    "   only if a majority of time points at that location fall below\n"
6267    "   the cutoff.\n"
6268    "* Modified plug_drawdset.c to recompute statistics after each edit,\n"
6269    "   no matter what.  Also changed the help message a little.\n"
6270    "* Wrote plug_maskave.c to do pretty much the same thing as 3dmaskave.c.\n"
6271    },
6272 
6273   { 17,APR,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6274    "* Modified 3dcalc.c to allow input of *.1D time series\n"
6275    "   in place of datasets.\n"
6276    },
6277 
6278   { 25,APR,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6279    "* Modified thd_*.c to store byte order (for short and int dsets) in the\n"
6280    "   .HEAD file.  Then when the file is read in, it will be byte swapped\n"
6281    "   if necessary (which will force it to be malloc-ed, not mmap-ed).\n"
6282    "* Also modified 3drefit to allow a byte order to be written to .HEAD\n"
6283    "   files.  Note that this does not affect the .BRIK file.\n"
6284    "* Added new environment variable AFNI_BYTEORDER to control byte order\n"
6285    "   of output datasets.  This can be 'LSB_FIRST' or 'MSB_FIRST'.  If not\n"
6286    "   present, this means to use the native order of the CPU.\n"
6287    "* Added enviroment variable 'AFNI_NOMMAP' to allow suppression of mmap.\n"
6288    "   If the value is 'YES', then all datasets will be malloc-ed.\n"
6289    "* Modified the 'Purge Memory' button to purge ALL datasets from memory.\n"
6290    "   Formerly, it only purged the unused ones.\n"
6291    },
6292 
6293   { 29,APR,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6294    "* At the behest of Ted DeYoe, modified 3dcalc.c to allow operations\n"
6295    "   on bucket and other multi-brick datasets that aren't 3D+time.\n"
6296    "* Also modified 3drefit.c to allow conversion of 3D+time into a bucket.\n"
6297    "* This also required the ability to erase datablock attributes, since\n"
6298    "   they are persistent -- even if the data in the dataset is voided,\n"
6299    "   the attribute will remain to be written to disk.  So a routine\n"
6300    "   THD_erase_one_atr was added.  In files thd_writedset.c and\n"
6301    "   thd_writdblk.c, every attribute that DOESN'T get written now gets\n"
6302    "   erased.  This will still leave extra attributes (perhaps added by\n"
6303    "   a plugin) being persistent, but avoids attribute 'hangover' problem.\n"
6304    },
6305 
6306   { 30,APR,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6307    "* Modified 3dcalc.c to purge dset sub-bricks when finished with them,\n"
6308    "   and to allocate output buffer sub-bricks only when needed.  This is\n"
6309    "   to keep memory usage down when using compressed 3D+time datasets.\n"
6310    "* Also added the -verbose option to 3dcalc.c.\n"
6311    },
6312 
6313   { 1,MAY,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6314    "* Fixed plug_rename.c to work with compressed datasets.  Added a\n"
6315    "   routine COMPRESS_add_suffix to thd_compress.c to facilitate this.\n"
6316    },
6317 
6318   { 4,MAY,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6319    "* Added routine THD_purge_one_brick to thd_purgedblk.c, to allow\n"
6320    "   freeing of one sub-brick from a malloc-ed dataset.  Also\n"
6321    "   defined macro DSET_unload_one(dset,iv).\n"
6322    },
6323 
6324   { 3,JUN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6325    "* Modified AFNI_make_descendants to allow descendancy to flow\n"
6326    "   from +acpc datasets, not just from +orig datasets.\n"
6327    "   However, this doesn't work just yet, due to warping issues.\n"
6328    },
6329 
6330   { 5,JUN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6331    "* Modified 3dnoise.c to have option to set noise level on command\n"
6332    "   line, rather than compute it.\n"
6333    },
6334 
6335   { 9,JUN,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6336    "* Modified edt_clust*.c routines to implement -1clust_order option.\n"
6337    "* Modified 3drefit.c to have -nowarp option.\n"
6338    },
6339 
6340   { 13,JUL,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6341    "* Incorporated Doug Ward's erosion+dilation routines into the\n"
6342    "   clustering modules.\n"
6343    },
6344 
6345   { 14,JUL,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6346    "* Added option -skip_afnirc to allow .afnirc file to be skipped.\n"
6347    "* Fixed bug in afni_setup.c that didn't manage the palette chooser\n"
6348    "   menu when starting with 0 palettes and then later reading in some.\n"
6349    "* Fixed bug in plug_copy.c that put the anat type off by 1.  Also\n"
6350    "   made the 'Zero [One]' option not make the anat type always be omri.\n"
6351    "* Fixed bug in parser.f, whereby the vector versions of the boolean\n"
6352    "   functions (or, and, mofn) were evaluated incorrectly.\n"
6353    },
6354 
6355   { 15,JUL,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6356    "* Change afni_pcor.c to remove use of DENEPS test for division\n"
6357    "   in computation of correlation coefficient.\n"
6358    },
6359 
6360   { 17,JUL,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6361    "* Added program imstack.c to stack up a bunch of 2D images into\n"
6362    "   the stupid MGH format.  [For Kathleen Marie Donahue.]\n"
6363    },
6364 
6365   { 21,JUL,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6366    "* Added model_convgamma.c to represent a gamma variate convolved\n"
6367    "   with a reference time series.  The 'k' parameter of Doug Ward's\n"
6368    "   model_gammaver.c was modified to be called 'amp' here, since the\n"
6369    "   impulse response is reparameterized to have peak value = 'amp',\n"
6370    "   rather than 'k * (rb/e)**r', which is clumsy.\n"
6371    "* Modified Doug Ward's NLfit_model.h to ensure that certain routines\n"
6372    "   needed by model functions can be forced to be loaded.\n"
6373    "* Modified 3dTSgen.c to make the '-ncnstr' and '-scnstr' options\n"
6374    "   recognized, since there is a typo in the manual.\n"
6375    "* Modified Makefile.INCLUDE for 3dTSgen and 3dNLfim to use the\n"
6376    "   proper dynamic linking load flags $(PLFLAGS), and also to include\n"
6377    "   the proper dependencies.\n"
6378    },
6379 
6380   { 22,JUL,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6381    "* Added routine THD_timeof_vox to thd_timeof.c.  This allows\n"
6382    "   computation of voxel time from voxel index, rather than voxel\n"
6383    "   coordinate.\n"
6384    "* Removed some redundant code from 3dTSgen.c -- it opened the\n"
6385    "   input dataset twice in a row, and loaded the datablock when\n"
6386    "   there was no need.\n"
6387    "* Modified 3dTSgen.c, 3dNLfim.c, and plug_nlfit.c to have new '-inTR'\n"
6388    "   option to allow computation of model functions with TR set from\n"
6389    "   the input dataset rather than fixed at TR=1.  Note that if the\n"
6390    "   units of the dataset time axis are msec, they will be converted\n"
6391    "   to sec instead (allowing msec to be used as a unit was a mistake).\n"
6392    },
6393 
6394   { 27,JUL,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6395    "* Fixed a bug in routine suck_file in afni_setup.c, which put the\n"
6396    "   terminating NUL character 1 place too far in the output array.\n"
6397    "* Wrote program uncomment.c, to remove comments from C files.\n"
6398    "* Added model_convgamma2a.c.\n"
6399    "* Modified NLfit.c to generate a fixed set of random samples instead\n"
6400    "   of starting over for each voxel.  Also fixed the algorithm that\n"
6401    "   keeps the best random samples -- it was not always keeping the\n"
6402    "   best one, just some of them.\n"
6403    },
6404 
6405   { 1,AUG,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6406    "* Added copyright information to some .c and .h files.\n"
6407    "* Modified mri_to_short.c to allow for special case of scale!=1.0.\n"
6408    "* Modified plug_realtime.c to allow for 2D image alignment.\n"
6409    "   (Continuation of work from,APR,that was unfinished then.)\n"
6410    "   First cut is to do all registration at end of acquisition.\n"
6411    "* Turned off 'frivolities' during a real-time run.\n"
6412    "* Added the ability to graph points+lines together in afni_graph.c\n"
6413    "   (also see changes of 09,JAN,1998).\n"
6414    },
6415 
6416   { 6,AUG,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6417    "* Added changes to thd_compress.[ch] made by Craig Stark/Paul Reber\n"
6418    "   of UCSD, to allow them to use their custom decompression\n"
6419    "   program 'brikcomp'.\n"
6420    "* Added realtime 2D registration to plug_realtime.c.\n"
6421    "* Modified 3dmaskave.c and plug_maskave.c to allow user to choose\n"
6422    "   a sub-brick of the mask dataset.  plug_maskave.c also now lets\n"
6423    "   the user save the mask average of a 3D+time dataset into the\n"
6424    "   timeseries library (for use as a FIM, for example).  Also\n"
6425    "   fixed an overflow bug in both programs when the mask range\n"
6426    "   is too big for a short or byte dataset.\n"
6427    },
6428 
6429   { 7,AUG,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6430    "* Modified display.[ch] to store extra information about the X11\n"
6431    "   visual.  This isn't used yet, but is preparatory to allowing\n"
6432    "   support for using TrueColor visuals and installed colormaps.\n"
6433    },
6434 
6435   { 17,AUG,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6436    "* Adapted old Fortran PLOTPAK to in-memory plotting, with routines\n"
6437    "   to graph to screen and to PostScript.\n"
6438    "* Used this to implement the 'Plot' button in the timeseries chooser,\n"
6439    "   and to do graphing of the realtime 2D motion parameters.\n"
6440    },
6441 
6442   { 22,AUG,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6443    "* Modified display.c to support TrueColor visuals, and xim.c to\n"
6444    "   support arbitrary byte ordering, plus 3 and 4 bytes/pixel.\n"
6445    },
6446 
6447   { 23,AUG,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6448    "* Modified dbtrace.h and most afni_*.c files to allow not only\n"
6449    "   debug tracing of routine entry/exit, but also the printout\n"
6450    "   of other debugging information that was formerly hidden\n"
6451    "   behind '#ifdef AFNI_DEBUG'.\n"
6452    "* A few more changes to make xim.c work properly with depth=24,\n"
6453    "   which can be either 3 or 4 bytes/pixel.\n"
6454    },
6455 
6456   { 25,AUG,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6457    "* Modified afni_pcor.c change of 15,JUL,1998 to check denominator\n"
6458    "   vs. DENEPS rather than 0.0.\n"
6459    },
6460 
6461   { 9,SEP,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6462    "* Modified thd_sarr.c to add routine to 'normalize' a list of\n"
6463    "   files using the C library routine 'realpath' and to cast out\n"
6464    "   duplicate files.\n"
6465    "* Used this in afni.c and thd_get1D.c.\n"
6466    "* Also added *.1Dv files to list of allowable 1D extensions in\n"
6467    "   thd_get1D.c.\n"
6468    "* Doug Ward provided me with the new 3dDeconvolve.c program, as\n"
6469    "   well as some changes to 2dImReg and 3dRegAna.\n"
6470    },
6471 
6472   { 14,SEP,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6473    "* Added '-install' option to afni.c to allow installation of a\n"
6474    "   new X11 Colormap.  Also affected display.[ch], afni_widg.c,\n"
6475    "   imseq.c, afni_graph.c, xutil.[ch], afni_plugin.c, to3d.c,\n"
6476    "   and plug_drawdset.c.\n"
6477    "* Added '-2swap' and '-4swap' options to to3d.c, to allow data\n"
6478    "   to be byte-swapped on input.  Also added a 'Byte Swap' button\n"
6479    "   to do the same thing interactively.\n"
6480    },
6481 
6482   { 16,SEP,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6483    "* Modified 3dmaskave.c to allow selection of dataset sub-brick and\n"
6484    "   dataset value range.\n"
6485    },
6486 
6487   { 17,SEP,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6488    "* Added '-1zscore' option to 3dmerge.c (via edt_onedset.c, etc.).\n"
6489    "* Also completed the list of 'p2t' and 't2p' routines, as well\n"
6490    "   as adding 't2z' routines, in mri_stats.c and thd_statpval.c.\n"
6491    },
6492 
6493   { 18,SEP,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6494    "* Added program cdf.c to provide a command line way to get results\n"
6495    "   from the 't2p', 'p2t', and 't2z' routines.\n"
6496    "* Modified afni_setup.c so that when a .pal file is input, the\n"
6497    "   last newly defined palette becomes the active one in the\n"
6498    "   AFNI controller which read the file in.\n"
6499    },
6500 
6501   { 22,SEP,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6502    "* Added program 3dTcat.c, to catenate multiple 3D+time datasets into\n"
6503    "   one big dataset (and possibly detrend them at the same time).\n"
6504    "   This was adapted from 3dbucket.c\n"
6505    },
6506 
6507   { 28,SEP,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6508    "* Modified edt_onedset.c to correctly deal with clipping a dataset\n"
6509    "   when the clip range is larger than the dataset range, and the\n"
6510    "   datum type is short.\n"
6511    },
6512 
6513   { 29,SEP,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6514    "* Added routine mri_rota_shear() to mri_rota.c to do 2D image rotation\n"
6515    "   using the Paeth shearing method combined with FFTs.\n"
6516    },
6517 
6518   { 1,OCT,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6519    "* Modified mri_rota_shear to double up on FFTs -- speeds it up by\n"
6520    "   about 30%.\n"
6521    "* Modified mri_align.c and mri_2dalign.c to allow choice of\n"
6522    "   interpolation method at each stage of registration.\n"
6523    "* Modified imrotate.c, imreg.c, and plug_realtime.c to use the new\n"
6524    "   image alignment methods.\n"
6525    },
6526 
6527   { 9,OCT,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6528    "* Modifed afni.c and thd_fdbrick.c to allow the user to control the\n"
6529    "   image flipping -- that is, to let left be displayed on the left.\n"
6530    },
6531 
6532   { 16,OCT,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6533    "* Released 3dvolreg.c to Tom Ross for beta testing.\n"
6534    },
6535 
6536   { 21,OCT,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6537    "* Added routines to afni_plugin.c to create/manipulate PLUGIN_strval's\n"
6538    "   [= label + textfield].\n"
6539    },
6540 
6541   { 26,OCT,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6542    "* Finished plug_tag.c, and added tagset to a 3D dset.  Modified afni.c\n"
6543    "   to allow markers panel to open when there are no markers, so user can\n"
6544    "   control the color of the tags.\n"
6545    "* Modified mri_max.c to fix the initial values.\n"
6546    "* Modified 3dvolreg.c and mri_3dalign.c to add a clipping option.\n"
6547    },
6548 
6549   { 1,NOV,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6550    "* Added realtime 3D registration to plug_realtime.c.\n"
6551    "* Added quintic interpolation option to thd_rot3d.c and places that use\n"
6552    "   it (3dvolreg.c, mri_3dalign.c, 3drotate.c, and plug_realtime.c).\n"
6553    },
6554 
6555   { 3,NOV,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6556    "* Modified afni.c, afni_widg.c, and afni.h to allow user to lock time\n"
6557    "   indexes of controllers, as well as the spatial locations.\n"
6558    },
6559 
6560   { 12,NOV,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6561    "* Modified 3dmerge.c to have new -1dindex and -1tindex options.\n"
6562    },
6563 
6564   { 16,NOV,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6565    "* Modified mri_align.c, mri_2dalign.c, and mri_3dalign.c to ensure\n"
6566    "   that the weighting factors are non-negative.\n"
6567    "* Modified 3dvolreg.c to skip registration on the base volume.\n"
6568    "* Added plug_volreg.c to do the same job as 3dvolreg.c.\n"
6569    "* Fixed bug in 3drotate.c that caused -[ab]shift commands without\n"
6570    "   directional suffixes to be converted into zeros.\n"
6571    },
6572 
6573   { 18,NOV,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6574    "* Fixed a bug in plug_power.c in the untangling of FFT coefficients.\n"
6575    "* Modified afni_slice.c to properly clip short and byte interpolation\n"
6576    "   to avoid overflow.\n"
6577    },
6578 
6579   { 20,NOV,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6580    "* Modified csfft.c to use unrolled routines for FFTs of length 16,\n"
6581    "   32, and 64.  Also added special routines using the fft64 code\n"
6582    "   to do lengths 128 and 256.\n"
6583    "* Modified mri_3dalign.c and 3dvolreg.c to allow specification of\n"
6584    "   a different interpolation method to be used at the final\n"
6585    "   rotation to the output brick.\n"
6586    },
6587 
6588   { 23,NOV,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6589    "* Fixed a typo in plug_realtime.c and plug_volreg.c that made the\n"
6590    "   choice of 'Heptic' use quintic interpolation instead.\n"
6591    },
6592 
6593   { 27,NOV,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6594    "* Fixed some logical errors in 3dmerge.c with interaction of -1dindex,\n"
6595    "   -1doall, and the dataset I/O.\n"
6596    },
6597 
6598   { 3,DEC,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6599    "* Fixed a problem in 3dmerge.c with '-datum float' and the sub-brick\n"
6600    "   scaling factor, when editing one dataset only.\n"
6601    },
6602 
6603   { 4,DEC,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6604    "* Added unrolled fft8() to csfft.c.\n"
6605    "* Modified thd_rot3d.c to start the FFT size calculation at least\n"
6606    "   at 95% of the actual width rather than 90%.  This reduces the\n"
6607    "   likelihood of wraparound effects.\n"
6608    },
6609 
6610   { 10,DEC,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6611    "* Added a timeout for the child process in plug_realtime.c.\n"
6612    },
6613 
6614   { 13,DEC,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6615    "* Fixed a bug in the dataset -> time series routines that didn't\n"
6616    "   scale properly if some of the brick factors were zero and\n"
6617    "   others were not.  Files affected: mri_to_float.c, thd_dsetto1D.c,\n"
6618    "   thd_fdto1D.c, and thd_initdblk.c.\n"
6619    },
6620 
6621   { 16,DEC,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6622    "* Removed TESTER code from afni_widg.c, and added some STATUS()\n"
6623    "   printouts to trace progress.\n"
6624    },
6625 
6626   { 17,DEC,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6627    "* Modified xutil.c to use XmChangeColor to change the color\n"
6628    "   of a widget (routine MCW_set_widget_bg).\n"
6629    "* Added some changes by Doug Ward to speed up linear regression\n"
6630    "   calculations.\n"
6631    },
6632 
6633   { 22,DEC,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6634    "* Fixed a bug in plug_volreg.c, where the ax? variables were used\n"
6635    "   before they were defined, resulting in the wrong order of output\n"
6636    "   of the estimated movement parameters in the graphs and dfile.\n"
6637    },
6638 
6639   { 30,DEC,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6640    "* Added function Winsor9 to the 2D transformations, in imseq.c.\n"
6641    "* Added RowGraphs to imseq.c, also affecting plot_ts.c (in coxplot)\n"
6642    "   and afni.c.\n"
6643    },
6644 
6645   { 31,DEC,1998 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6646    "* Modified afni.c crosshairs to allow display only along certain axes.\n"
6647    },
6648 
6649   { 3,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6650    "* Added routine MCW_widget_visible to xutil.c, and used it in imseq.c\n"
6651    "   and afni_graph.c.\n"
6652    },
6653 
6654   { 4,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6655    "* Fixed the time lock feature in afni.c so that it would not operate\n"
6656    "   if toggled off.  [Oops]\n"
6657    "* Added AFNI_ALWAYS_LOCK environment feature.\n"
6658    },
6659 
6660   { 5,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6661    "* Modified the way imseq.c places the dialogs (Disp and Mont buttons),\n"
6662    "   so as to reduce the likelihood that some of the dialog will appear\n"
6663    "   offscreen.\n"
6664    "* Added HorZ ('h') selection to afni_graph.c 'Opt->Grid' submenu, which\n"
6665    "   will draw a dashed line at the y=0 level in each sub-graph.\n"
6666    },
6667 
6668   { 6,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6669    "* Modified afni_graph.c to try to avoid crashes when graphing window\n"
6670    "   is closed using 'Opt' menu 'Done' button.  Seems to be caused\n"
6671    "   by Expose events, but what exactly isn't clear -- happens on\n"
6672    "   SGI systems.  Using the 'Done' button now starts a 50 msec timeout\n"
6673    "   before the 'q' key is simulated.  Also, the Expose event count\n"
6674    "   is now checked before processing, and only if event->count == 0\n"
6675    "   is any work done.  Why these changes do the job is not obvious.\n"
6676    },
6677 
6678   { 7,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6679    "* Modified afni_graph.c to move placement on screen of the\n"
6680    "   'Opt->Colors Etc.' submenu if it ends up placed directly over\n"
6681    "   the 'Opt' menu.  This could happen on some versions of Motif\n"
6682    "   when the graph window is up against the right edge of the\n"
6683    "   screen.  A callback is executed when the submenu is mapped,\n"
6684    "   and if it is in a bad location, its XmNx value is changed.\n"
6685    },
6686 
6687   { 10,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6688    "* Modified edt_coerce.c to make EDIT_coerce_type work with doubles.\n"
6689    },
6690 
6691   { 11,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6692    "* Modified the rest of edt_coerce.c and edt_volamax.c to allow doubles.\n"
6693    "* Added thd_mastery.c, which allows a dataset to be 'mastered' on input,\n"
6694    "   so that its bricks are a selection of bricks from a master dataset.\n"
6695    "   Adds the routine THD_open_dataset().  Modified 3ddata.h and a\n"
6696    "   bunch of other functions.\n"
6697    "* Modified 3dinfo.c, 3dcalc.c, rtfeedme.c, from3d.c, 3drotate.c, and\n"
6698    "   3dvolreg.c, to use the new opening routine, to allow for subset\n"
6699    "   selection.\n"
6700    },
6701 
6702   { 15,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6703    "* Fixed the old 3dpc.c to work with the new AFNI data storage,\n"
6704    "   and to use the EISPACK routines instead of LAPACK (with help\n"
6705    "   from Vinai Roopchansingh).\n"
6706    "* Made swap4 work with float input datasets as well as int.\n"
6707    },
6708 
6709   { 19,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6710    "* Added '-1ddum' argument to 3dpc.c.\n"
6711    },
6712 
6713   { 20,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6714    "* Fixed bug in mri_stats.c, where 'p2t' conversion was done backwards\n"
6715    "   for the F statistic (p should have been q, and vice-versa).\n"
6716    },
6717 
6718   { 21,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6719    "* Added SurfGraph feature to imseq.c.\n"
6720    "* Added OSfilt9 to imseq.c and the 2D transformations menu (afni.c).\n"
6721    "* Modified coxplot/plot_topshell.c to store a handle to the form at top\n"
6722    "   of the graph window hierarchy.\n"
6723    "* Modified xutil.c to add the 'SaveUnder' property to the hints widget.\n"
6724    },
6725 
6726   { 24,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6727    "* Modified coxplot (coxplot.h, plot_motif.c, plot_x11.c) to use the\n"
6728    "   X11 Double Buffer extension, if HAVE_XDBE is defined.  This makes\n"
6729    "   the redrawing of graphs look much smoother.\n"
6730    },
6731 
6732   { 25,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6733    "* Created the 'AREN' routines (aren.[ch]) for volume rendering, on top\n"
6734    "   of VolPack.  Not sure what to do with them yet.\n"
6735    },
6736 
6737   { 26,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6738    "* Fixed bug in initialization and usage of Xdbe library, in coxplot.\n"
6739    },
6740 
6741   { 27,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6742    "* Add 'UK Flag' location marker to RowGraphs and SurfGraphs.\n"
6743    },
6744 
6745   { 29,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6746    "* Fixed afni_func.c so that if the user presses 'See Function'\n"
6747    "   when there is no function, it turns the toggle button back\n"
6748    "   off.  Formerly, it turned off the internal flag, but didn't\n"
6749    "   change the toggle button state, so that the user was fooled.\n"
6750    },
6751 
6752   { 30,JAN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6753    "* Added 'Flood->Zero' and 'Zero->Value' options to plug_drawdset.c.\n"
6754    },
6755 
6756   { 5,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6757    "* Added plug_render.c, the first version (grayscale only) of the\n"
6758    "   volume rendering code.\n"
6759    "* Changed name of AREN to MREN and put it in mri_render.[ch].\n"
6760    "* Cloned the mcw_graf.[ch] routines out of xv.\n"
6761    "* Added the coordinate stuff to 3dcalc.c.\n"
6762    },
6763 
6764   { 7,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6765    "* Added new program 3dfractionize.c (per Ziad Saad).\n"
6766    },
6767 
6768   { 9,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6769    "* Changes to imseq.c include putting the colorbar popup menu on\n"
6770    "   ctrl-Button3 if there is only 1 image in the sequence, and\n"
6771    "   changing the sharp-factor arrowval to run from 1-9 instead\n"
6772    "   of 1-99.\n"
6773    "* Added 'MCW_noactext' option to arrowvals (bbox.c), so that\n"
6774    "   the usual actions taken when the user leaves the window\n"
6775    "   are not taken.\n"
6776    "* Added many features to plug_render.c: automation, cutouts,\n"
6777    "   and accumulation.\n"
6778    "* Fixed 3drefit.c -view option.\n"
6779    },
6780 
6781   { 10,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6782    "* Added 'Expr > 0' cutout to plug_render.c\n"
6783    "* Added SIND(), COSD(), and TAND() functions to parser.f\n"
6784    },
6785 
6786   { 11,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6787    "* Modified many routines in mri_*.c to deal with MRI_rgb type\n"
6788    "   images, in preparation for modifying imseq.c to deal with such.\n"
6789    "* Modified display.[ch] to include a 'colordef' for conversion\n"
6790    "   between Pixel and RGB triples.\n"
6791    "* Added routine to xim.c to convert MRI_rgb image to an XImage.\n"
6792    "* Changed imseq.c to allow MRI_rgb images.\n"
6793    "* Created program 1dplot.c.\n"
6794    },
6795 
6796   { 15,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6797    "* Modifed mri_render.c to change the way it deals with color volumes.\n"
6798    "* Modified plug_render.c to allow for color overlays.\n"
6799    "* Modified xim.c and display.c to deal with converting a RGB image\n"
6800    "   to an XImage in a more efficient way.\n"
6801    },
6802 
6803   { 16,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6804    "* Modified bbox.[ch] to allow non-power-of-10 steps in an arrowval,\n"
6805    "   if the av->fstep structure component is modified by the user.\n"
6806    "* Some minor cosmetic changes to plug_render.c.\n"
6807    },
6808 
6809   { 18,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6810    "* In plug_render.c\n"
6811    "  + Replaced 'Remove Isolas' w/ 'Remove Small Clusters' in plug_render.c\n"
6812    "  + Added the slant cut planes.\n"
6813    "* In imseq.c, made it so that closing a rowgraph or surfgraph window\n"
6814    "   turns off the feature.\n"
6815    },
6816 
6817   { 22,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6818    "* New routine 'addto_args' (addto_args.c) used to catenate stdin\n"
6819    "   to the (argc,argv) command line of a program.  Testbed is\n"
6820    "   3dRegAna.c (for D. Emge).\n"
6821    "* Added 'LOCK_ZORDER' command to plug_realtime (for Vinai).\n"
6822    "* Fixed bugs in plug_render.c having to do with the 'Expr > 0' cutout\n"
6823    "  + Combination with AND was incorrect (counted ncdone too many times);\n"
6824    "  + Test for evaluation to a pure number was incorrect if there were\n"
6825    "    any leading blanks.\n"
6826    },
6827 
6828   { 23,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6829    "* Fixed a bug in thd_trusthost.c.\n"
6830    },
6831 
6832   { 25,FEB,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6833    "* Added the MEDIAN function to parser.f and 3dcalc.c.\n"
6834    },
6835 
6836   { 1,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6837    "* Added the *_p2t, *_t2p, and *_t2z functions to parser.f, parser_int.c,\n"
6838    "    and 3dcalc.c.\n"
6839    "* Created ASCII PPM file gmove.ppmap to use in gmovie csh script.\n"
6840    "* Removed tapering from FFT interpolation in thd_rot3d.c.\n"
6841    },
6842 
6843   { 3,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6844    "* Modified thd_sarr.c to skip the realpath() expansion if the\n"
6845    "   environment variable AFNI_NOREALPATH is set.\n"
6846    },
6847 
6848   { 6,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6849    "* Removed GNU malloc from afni.c and incorporated my own mcw_malloc.[ch]\n"
6850    "   functions/macros.\n"
6851    },
6852 
6853   { 8,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6854    "* More changes to mcw_malloc.[ch].\n"
6855    "* Added macro FREE_AV() to bbox.h, because I found out that all places\n"
6856    "   where I used XtFree() on an arrowval would leave the string values\n"
6857    "   (sval) high and dry.\n"
6858    },
6859 
6860   { 9,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6861    "* In refit_MCW_optmenu (bbox.c), found I had to free the av->sval and\n"
6862    "   ->old_sval values, since they were being abandoned.\n"
6863    "* Added AFNI_NO_MCW_MALLOC environment variable to mcw_malloc.c,\n"
6864    "   to let user turn off these routines.\n"
6865    },
6866 
6867   { 10,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6868    "* In afni_graph.c, added deletion of XImage after XGetImage\n"
6869    "   is used to save the graph window to a file.\n"
6870    },
6871 
6872   { 12,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6873    "* Fixed 2 bugs in plug_render.c\n"
6874    "   - opacity_scale changed wasn't checked if number of cutouts == 0\n"
6875    "   - didn't invalidate overlay when loading new functional dataset\n"
6876    },
6877 
6878   { 22,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6879    "* Added SOLARIS_DIRENT_PATCH code to mcw_glob.c.\n"
6880    },
6881 
6882   { 23,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6883    "* Added call to reload_DC_colordef in imseq.c so that\n"
6884    "   Save:one works properly after palette adjustment.\n"
6885    },
6886 
6887   { 26,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6888    "* Added a FREE_VOLUMES to plug_render.c after a new anatomical\n"
6889    "   sub-brick is selected.\n"
6890    },
6891 
6892   { 29,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6893    "* Modified afni_receive.c and others to allow for multiple receivers\n"
6894    "   for an IM3D.\n"
6895    "* Modified plug_render.c to auto-redraw when it receives notice of a\n"
6896    "   crosshair location move.\n"
6897    },
6898 
6899   { 31,MAR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6900    "* Modified afni_receive.c to allow for new types of transmission\n"
6901    "   DRAWNOTICE = notification that something was drawn\n"
6902    "   DSETCHANGE = notification that dataset pointers may have changed\n"
6903    "                (needed when rescanning sessions)\n"
6904    "* afni_receive.c now handles transmission to all the interested\n"
6905    "   viewers using the AFNI_process_* routines within.\n"
6906    "* Modified plug_drawdset.c to properly recover when rescan is used.\n"
6907    "* Modified plug_render.c to redraw when DRAWNOTICE is received,\n"
6908    "   and to recover when rescan is used.\n"
6909    "* Modified 3dcalc.c to scale each output sub-brick to shorts/bytes\n"
6910    "   separately, rather than globally [per request of KMD].\n"
6911    },
6912 
6913   { 1,APR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6914    "* Finally centralized the computation of the '[A]' type labels for\n"
6915    "   AFNI controllers in afni_func.c, in the new routine\n"
6916    "   AFNI_controller_label(im3d).  Then modified afni_plugin.c,\n"
6917    "   afni_widg.c, plug_render.c, plug_drawdset.c, and plug_tag.c\n"
6918    "   to use this function.\n"
6919    },
6920 
6921   { 2,APR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6922    "* Modified thd_http.c to use directory $TMPDIR if defined, rather\n"
6923    "   than always rely on /tmp.\n"
6924    "* Also added routines to this file to allow transfer of 'ftp://'\n"
6925    "   URLs -- this is done using a shell script running the\n"
6926    "   ftp program.\n"
6927    },
6928 
6929   { 3,APR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6930    "* Modified plug_render.c to have the currently active dataset\n"
6931    "   'selected' when the user popups a new dataset chooser.\n"
6932    "* Removed the non-working rotation feature from 3ddup.c.\n"
6933    },
6934 
6935   { 5,APR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6936    "* Modified thd_http.c to allow change of user ident for ftp://\n"
6937    "   access to files.\n"
6938    "* Tested AFNI with LessTif v.0.89 -- seems to work.\n"
6939    },
6940 
6941   { 13,APR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6942    "* Modified mri_read.c to allow 3D: hglobal to be < -1 as\n"
6943    "   long as hglobal+himage >= 0 [per Gary Strangman of MGH].\n"
6944    "* Added mri_cut.c, function to cut out a sub-image.\n"
6945    },
6946 
6947   { 14,APR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6948    "* Modified afni.c to fix the pbar_sgn_* initialization, since\n"
6949    "   it incorrectly checked the thresholds against the range\n"
6950    "   0..1 rather than -1..1 [per Chad Moritz of UW Madison].\n"
6951    },
6952 
6953   { 15,APR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6954    "* Modified mri_read.c to also try ppm from mri_read() function.\n"
6955    "* Modified mri_write.c to write byte files as pgm.\n"
6956    "* Modified mri_to_rgb.c to have a 1 rgb image -> 3 byte image function,\n"
6957    "   and fixed a bug in the 3 images -> 1 rgb image function.\n"
6958    "* Added mri_dup.c, to upsample a 2D image; added program imupsam.c\n"
6959    "   to do this function from the command line.\n"
6960    },
6961 
6962   { 19,APR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6963    "* Modified afni.c, afni.h, afni_widg.c to add 'Set All' button\n"
6964    "   to Lock menu.\n"
6965    },
6966 
6967   { 26,APR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6968    "* Fixed thd_info.c to report dataset axes dimensions correctly\n"
6969    "   (also fixed DAXES_NUM macro in 3ddata.h).\n"
6970    "* Put code in plug_render.c that allows non-axial datasets to\n"
6971    "   be rendered -- but disabled it for now.\n"
6972    "* New program 3daxialize.c will rewrite a dataset with BRIKs\n"
6973    "   into the RAI (axial) orientation.\n"
6974    },
6975 
6976   { 28,APR,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6977    "* In 3daxialize.c, made sure that the slice-wise time offsets\n"
6978    "   are nulled out.\n"
6979    },
6980 
6981   { 27,MAY,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6982    "* Added an X defaults initializer for the graph ggap.\n"
6983    },
6984 
6985   { 30,MAY,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6986    "* Added a variable polort order to afni.c, afni.h, afni_graph.c,\n"
6987    "   and afni_fimmer.c.\n"
6988    "* Discovered a bug in afni_pcor.c in the % Change calculation,\n"
6989    "   where the last ort wasn't being used in the baseline estimation.\n"
6990    },
6991 
6992   { 2,JUN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
6993    "* Modified plug_render.c to draw partial crosshair sets like the\n"
6994    "   image viewers.\n"
6995    "* Modified afni.c to send a 'process viewpoint' message when the\n"
6996    "   partial crosshair status changes, so that the renderer will\n"
6997    "   get a notice and be able to redraw itself promptly.\n"
6998    "* Modified plug_realtime.c to use polort.\n"
6999    "* Added ability to change FIM background threshold percent (FIM_THR)\n"
7000    "   to afni_graph.[ch], afni.c, afni_fimmer.c, and plug_realtime.c\n"
7001    },
7002 
7003   { 3,JUN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7004    "* Fixed thd_info.c where it refered to brick labels that might not\n"
7005    "   exist -- now it uses the DSET_BRICK_LAB macro, which always works.\n"
7006    "* Fixed plug_realtime.c to add brick labels to the FIM dataset.\n"
7007    },
7008 
7009   { 4,JUN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7010    "* Added ***ENVIRONMENT section to .afnirc file processing: changes to\n"
7011    "   afni_setup.c, and to afni.c to have environment variables setup\n"
7012    "   before other things.\n"
7013    "* Made AFNI_load_defaults() in afni.c look at environment variable\n"
7014    "   AFNI_name if X11 resource AFNI*name doesn't exist.\n"
7015    },
7016 
7017   { 7,JUN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7018    "* Fixed bug in edt_onedset.c that always applied zscore transformation\n"
7019    "   if possible!\n"
7020    "* Created afni_environ.[ch], which now process a ***ENVIRONMENT section\n"
7021    "   of .afnirc.  Also, in all programs, switched use of getenv() to\n"
7022    "   my_getenv(), which just makes sure that .afnirc's ***ENVIRONMENT has\n"
7023    "   been processed before using getenv().  In this way, the .afnirc setup\n"
7024    "   will be universal.\n"
7025    },
7026 
7027   { 8,JUN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7028    "* Added MCW_new_idcode() to 3drotate.c -- was producing datasets with\n"
7029    "   identical idcodes, which is terrible!\n"
7030    "* Added function THD_check_idcodes() [thd_checkidc.c] to allow AFNI to\n"
7031    "   check the idcodes in all datasets for duplicates.\n"
7032    },
7033 
7034   { 15,JUN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7035    "* Fixed afni_receive.c to return the proper 'key' value from function\n"
7036    "    AFNI_receive_init().\n"
7037    "* Modifed plug_render.c to redisplay func dataset statistics after\n"
7038    "    receiving a drawing notice.\n"
7039    "* Modified afni_plugin.[ch] to crosscheck each plugin's compilation\n"
7040    "    date with AFNI's, and print a warning if they differ.\n"
7041    },
7042 
7043   { 17,JUN,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7044    "* Added program 24swap.c.\n"
7045    },
7046 
7047   { 7,JUL,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7048    "* Added program 3dTsmooth.c.\n"
7049    "* Modified afni_plugin.c to skip date crosscheck on systems that don't\n"
7050    "    have the C function strptime().\n"
7051    "* Added -vnorm option to 3dpc.c.\n"
7052    },
7053 
7054   { 13,JUL,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7055    "* Added 'Scripts' option to plug_render.c.\n"
7056    },
7057 
7058   { 14,JUL,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7059    "* Modified 'Scripts' in plug_render.c to allow save/restore of grafs.\n"
7060    "   Also modified mcw_graf.[ch].\n"
7061    },
7062 
7063   { 19,JUL,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7064    "* Fixed bug in 3dcalc.c, where it tested CALC_type[ids] for > 0, whereas\n"
7065    "   it should have been >= 0.  The effect was that 3D+time byte valued\n"
7066    "   datasets were not loaded into the atoz array.\n"
7067    },
7068 
7069   { 29,JUL,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7070    "* Fixed afni_graph.c to not use XComposeStatus in XLookupString call,\n"
7071    "   which was causing trouble on SunOS.\n"
7072    "* Line 2707 of afni_graph.c had an '==' for assignment, instead of '='.\n"
7073    "   The effect was a possible failure of the x-axis (xax_tsim) graphing\n"
7074    "   mode.  I don't think this failure ever occured in practice.\n"
7075    },
7076 
7077   { 30,JUL,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7078    "* Added program float_scan.c and function thd_floatscan.c to check\n"
7079    "   floating point files and arrays (respectively) for illegal values\n"
7080    "   (e.g., NaN and Infinity).  Incorporated thd_floatscan() into\n"
7081    "   thd_loaddblk.c (if AFNI_FLOATSCAN is set).\n"
7082    },
7083 
7084   { 1,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7085    "* Changed 'Voxel Coords' and 'Show Hints' pushbutton on Misc menu to\n"
7086    "   toggle buttons.  Modified afni.h, afni_widg.c, and afni_func.c.\n"
7087    "* Added a 'writeownsize' option to the Misc menu, but then changed\n"
7088    "   my mind and #ifdef-ed it out.\n"
7089    },
7090 
7091   { 2,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7092    "* Added the AFNI splash screen; see afni_splash.[ch].\n"
7093    },
7094 
7095   { 6,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7096    "* Modified afni_plugin.[ch] to allow plugins to set a sequence code,\n"
7097    "   which determines the order in which the plugins appear on the menu.\n"
7098    "* Received 4 plugins (plug_hemisub, plug_maskcalc, plug_roiedit,\n"
7099    "    plug_maxima) from the estate of Rick Reynolds.\n"
7100    },
7101 
7102   { 7,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7103    "* Added a '[left is left]' or '[left is right]' label to the winfo text\n"
7104    "   in AFNI coronal and axial images displays.  Affected files\n"
7105    "   imseq.[ch], afni.c.\n"
7106    "* Removed the non-toggle code leftover from the 01,AUG,1999 changes.\n"
7107    },
7108 
7109   { 8,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7110    "* Added the radix-3 routine to csfft.c.\n"
7111    },
7112 
7113   { 9,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7114    "* Added the radix-5 routine to csfft.c.\n"
7115    "* Modified edt_blur.c, thd_rot3d.c, and plug_power.c to use new\n"
7116    "   FFT abilities.\n"
7117    },
7118 
7119   { 19,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7120    "* Added -indump option to 3dmaskave.c.\n"
7121    "* Added 'Jump to (ijk)' button to image window popup: afni.[ch], afni_widg.c.\n"
7122    },
7123 
7124   { 23,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7125    "* Added 1/N scaling option to csfft.c.  Modifed fftcheck.c accordingly.\n"
7126    },
7127 
7128   { 29,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7129    "* Modified count.c to accept a '-scale' option.\n"
7130    "* Modified Tom Ross's 3dNotes.c software to be a set of routines (thd_notes.c),\n"
7131    "   for eventual use in a plugin.\n"
7132    },
7133 
7134   { 30,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7135    "* Modified afni_fimmer.c to accept an upper limit on the computable\n"
7136    "   percent change.\n"
7137    },
7138 
7139   { 31,AUG,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7140    "* Added a History Note feature to thd_notes.c.\n"
7141    "* Added a routine to afni_plugin.c to produce a command string\n"
7142    "   summary of the inputs to a plugin.\n"
7143    "* Modified many programs and plugins to write to the History Note.\n"
7144    },
7145 
7146   { 1,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7147    "* Wrote a Notes viewing/editing plugin.\n"
7148    },
7149 
7150   { 8,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7151    "* Modified the error messages in some of the thd_*.c files to\n"
7152    "   be more verbose (Bharat Biswal couldn't understand one).\n"
7153    "* Modified afni_fimmer.c (and afni.h, afni_graph.c) to allow computation\n"
7154    "   of '% From Ave' = percent change computed from the average instead\n"
7155    "   of from the baseline [per AJ].\n"
7156    },
7157 
7158   { 11,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7159    "* Got History changes from Doug Ward.\n"
7160    },
7161 
7162   { 14,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7163    "* Added complexscan function to thd_floatscan.c.\n"
7164    "* thd_loaddblk.c now scans complex inputs for errors, if requested.\n"
7165    "* to3d.c now scans float and complex input images for errors.\n"
7166    "* to3d.c now clips out all but a few of the input image files on\n"
7167    "   the command line for the History Note.\n"
7168    },
7169 
7170   { 15,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7171    "* Added -slices option to 3dmaskave.c.\n"
7172    "* Added default values for i,j,k to 3dcalc.c.\n"
7173    "* Added thd_makemask.c.\n"
7174    "* Added -mask option to 3dpc.c.\n"
7175    },
7176 
7177   { 16,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7178    "* Changed THD_open_one_dataset() to THD_open_dataset() in programs\n"
7179    "   3dFourier.c, 3dROIstats.c, 3dmaskave.c, 3dnvals.c, 3dproject.c, 3dttest.c.\n"
7180    "* Modified 3dclust.c to use -1dindex and -1tindex, as in 3dmerge.c\n"
7181    "* Modified 3dTcat.c to have options -rlt+ and -rlt++.\n"
7182    },
7183 
7184   { 19,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7185    "* If dataset header doesn't have BYTEORDER attribute, thd_info.c now prints\n"
7186    "   '{assumed}' next to the reported byte order.\n"
7187    "* Added hostname to History Note time stamp, so you can see what on what\n"
7188    "   machine a program was run.\n"
7189    },
7190 
7191   { 20,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7192    "* thd_initdblk.c: print out a warning if byte order is unspecified when\n"
7193    "   creating a dataset.\n"
7194    "* thd_notes.c: add the username to the History Note stamp.\n"
7195    },
7196 
7197   { 21,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7198    "* added message about 3drefit to thd_initdblk.c.\n"
7199    "* modified MEDIAN function in parser.f to handle N=3 case separately.\n"
7200    },
7201 
7202   { 24,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7203    "* Fixed wcsuffix bugs in afni_graph.c\n"
7204    "   - didn't mangle output name correctly!\n"
7205    "   - overwrote the end of the wcsuffix string!\n"
7206    },
7207 
7208   { 28,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7209    "* Added environment variable AFNI_PCOR_DENEPS to afni_pcor.c,\n"
7210    "   so that user can set the DENEPS test for the correlation\n"
7211    "   coefficient calculation.\n"
7212    },
7213 
7214   { 30,SEP,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7215    "* Added plug_histog.c (histogram plugin) and a histogram\n"
7216    "   plotting routine to afni_plugin.c.\n"
7217    },
7218 
7219   { 4,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7220    "* Added histogram of correlation coefficient to plug_histog.c.\n"
7221    },
7222 
7223   { 5,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7224    "* Fixed bug in mcw_malloc.c, where it printed out the wrong\n"
7225    "   info when it found an overwrite error in a malloc()-ed\n"
7226    "   block of memory.\n"
7227    },
7228 
7229   { 6,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7230    "* Modified plug_histog.c and afni_plugin.[ch] to plot extra curves\n"
7231    "   in histograms.\n"
7232    "* Modified coxplot/plot_motif.c to look harder for the HOTCOLOR before\n"
7233    "   it gives up and uses the default.\n"
7234    },
7235 
7236   { 7,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7237    "* Modified thd_makemask.c to include a counting function.\n"
7238    "* Modified plug_histog.c to use THD_makemask() rather than create\n"
7239    "   its own mask the hard way (I just forgot about that routine).\n"
7240    "* Added program 1deval.c, to evaluate an expression at a bunch\n"
7241    "   of points and write it to disk - the goal is to simplify\n"
7242    "   creation of sample 1D files.\n"
7243    },
7244 
7245   { 8,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7246    "* Increased buffer size in mri_read.c for ASCII file line length.\n"
7247    },
7248 
7249   { 9,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7250    "* Added AFNI_ENFORCE_ASPECT environment variable, to make imseq.c\n"
7251    "   enforce the image aspect ratio - this is to be used when the\n"
7252    "   window manager doesn't do this properly.\n"
7253    },
7254 
7255   { 13,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7256    "* Added program 3dTstat.c to compute the same stuff that plug_stats.c\n"
7257    "   does, but in a batch program.\n"
7258    },
7259 
7260   { 14,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7261    "* Added option -apar to 3drefit.c, to allow (re)setting of the anat parent.\n"
7262    "* Added option -warp to 3dfractionize.c, to allow inverse warping from +tlrc\n"
7263    "   coords back to +orig coords during the fractionation process.\n"
7264    },
7265 
7266   { 18,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7267    "* Added history copy to afni_func.c's creation of follower datasets.\n"
7268    "* Added -preserve option to 3dfractionize.c, to allow the output dataset\n"
7269    "   to keep the input values, rather than create a fractional mask.\n"
7270    "* Added program 3dmaskdump.c, to dump voxel values out to ASCII.\n"
7271    "* Added qsort_int() to mri_percents.c.\n"
7272    },
7273 
7274   { 19,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7275    "* Added program 1dtranspose.c.\n"
7276    "* Added option -noijk to 3dmaskdump.c.\n"
7277    "* Added option -tim to afni.c - also modified afni.h, afni_graph.[ch], and\n"
7278    "   afni_func.c to make it work.  This option is like -im, but interprets\n"
7279    "   the images as being spread thru time rather than space.\n"
7280    },
7281 
7282   { 20,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7283    "* Modified -tim in afni.c to allow for 3D inputs (space-then-time=-zim,\n"
7284    "   or time-then-space=-tim).\n"
7285    },
7286 
7287   { 21,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7288    "* Fixed a couple of small bugs in 1deval.c.\n"
7289    },
7290 
7291   { 28,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7292    "* Removed 'experimental' message for TrueColor visuals in display.c.\n"
7293    "* Added csfft_nextup_one35() function to csfft.c.\n"
7294    "* Modified various programs to use csfft_nextup_one35() in place\n"
7295    "   of csfft_nextup(), for efficiency.\n"
7296    "* Moved shifting routines from thd_rot3d.c to thd_shift2.c, so that\n"
7297    "   they can be used in other programs.\n"
7298    },
7299 
7300   { 29,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7301    "* Added thd_1Dtodset.c - provides the inverse of thd_dsetto1D.c\n"
7302    "   (inserts a vector into a dataset time series, rather than extracts it).\n"
7303    "* Add thd_detrend.c - detrend a timeseries and provide mean, slope.\n"
7304    },
7305 
7306   { 30,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7307    "* Modified thd_detrend.c to have linear and quadratic detrending,\n"
7308    "   and an L2 normalizing function.\n"
7309    },
7310 
7311   { 31,OCT,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7312    "* Finished program 3dTshift.c - time shifting.\n"
7313    },
7314 
7315   { 1,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7316    "* Modified 3dclust.c and edt_onedset.c to have a -verbose option, so as to\n"
7317    "   print out progress report info.\n"
7318    "* Added MCW_hotcolor() to xutil.[ch], to get rid of HOTCOLOR macro usage.\n"
7319    "* Added function PLUTO_set_butcolor() to afni_plugin.[ch], to let plugin\n"
7320    "   set its menu button color.\n"
7321    },
7322 
7323   { 2,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7324    "* Modified 3dcalc.c to fix problem with using sub-brick selectors of the\n"
7325    "   form '-b3 zork+orig' -- if zork+orig was a 3D+time dataset, and it\n"
7326    "   was used as the template for the output, the output would be marked\n"
7327    "   as 3D+time even though it was not.  The solution was to mangle such\n"
7328    "   inputs to the form 'zork+orig[3]', which already worked fine.\n"
7329    },
7330 
7331   { 3,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7332    "* Fixed the -help output for 3drefit.c, in the description of '-apar'.\n"
7333    },
7334 
7335   { 9,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7336    "* Added function RWC_visibilize_widget() to xutil.[ch] - used to ensure\n"
7337    "   that popup widgets are fully onscreen.  Used this function in\n"
7338    "   afni_func.c, afni_graph.c, afni_setup.c, bbox.c.\n"
7339    "* Added missing 'void' to declaration of function setup_tmpdir() in\n"
7340    "   thd_http.c.\n"
7341    },
7342 
7343   { 16,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7344    "* Added more -help to 3dTshift.c, per MSB's comments.\n"
7345    "* Added cubic detrend routine to thd_detrend.c.\n"
7346    "* Added mri_read_1D() to mri_read.c.  This adds the ability to\n"
7347    "   do sub-vector selection, and does the transpose too.\n"
7348    "* Added mri_write_1D() to mri_write.c.  This just does the\n"
7349    "   transpose before called mri_write_ascii().\n"
7350    "* Modified 1dtranspose.c, 3dcalc.c, waver.c, afni_graph.c, and\n"
7351    "   model_convgamma*.c to use mri_read_1D().\n"
7352    "* Modified afni_graph.c to use mri_write_1D().\n"
7353    "* Added program 3dDetrend.c: remove time series trends.\n"
7354    "* Added predefined 't' and 'l' to 3dcalc.c.\n"
7355    },
7356 
7357   { 17,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7358    "* Removed some -help from imcalc.c, since 3dcalc -help has the\n"
7359    "   same info.\n"
7360    "* Added function PARSER_1deval() to parser_int.c.\n"
7361    "* Added environment variable AFNI_MARKERS_NOQUAL to afni.c.\n"
7362    "* Fixed bug in 3dDetrend when -expr string had no variable symbols.\n"
7363    "* Modified thd_iochan.c to use SO_REUSEADDR to help close down\n"
7364    "   sockets quickly.  (But later commented this code out.)\n"
7365    },
7366 
7367   { 18,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7368    "* Modified cs_addto_args.c to make the mangling of the arglist\n"
7369    "   more flexible.\n"
7370    "* Used the previous change in afni.c to add the environment variable\n"
7371    "   AFNI_OPTIONS that will always be added to the command line args.\n"
7372    "* Incorporated the OSF1 changes from Matthew Belmonte.\n"
7373    },
7374 
7375   { 22,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7376    "* Added -histpar option to 3dcalc.c.\n"
7377    "* Added differential subscripting to 3dcalc.c.\n"
7378    "* Modified thd_intlist.c to allow for negative list elements.\n"
7379    },
7380 
7381   { 23,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7382    "* Modified 3dcalc.c differential subscripting to allow abbreviations\n"
7383    "   of the form a+j, a-k, etc.\n"
7384    "* Added -quiet option to 3dmaskave.c.\n"
7385    "* Added -normalize option to 3dDetrend.c.\n"
7386    "* Fixed error in afni_func.c (and adwarp.c) when writing out a dataset\n"
7387    "   that was told to have a byte order different from the native order -\n"
7388    "   it was written in native order and the header wouldn't know about\n"
7389    "   that - the result was the file was read in incorrectly later.\n"
7390    "* Also fixed same error in 3daxialize.c.\n"
7391    "* Also fixed thd_writedblk.c and thd_loaddblk.c to handle byte swapping\n"
7392    "   on complex data correctly.\n"
7393    },
7394 
7395   { 24,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7396    "* Added program 1dfft.c - to calculate abs(FFT(timeseries)).\n"
7397    "* Modified 1deval.c to allow input of time series.\n"
7398    "* Got some 3dDeconvolve.c changes from Doug Ward.\n"
7399    },
7400 
7401   { 25,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7402    "* Added program 1dcat.c - catenate *.1D files.\n"
7403    },
7404 
7405   { 28,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7406    "* Added function ZTONE to parser.f.\n"
7407    },
7408 
7409   { 29,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7410    "* Added -tocx, -fromcx, and -nodetrend options to 1dfft.c.\n"
7411    "* Modified quadratic detrending calculation in thd_detrend.c.\n"
7412    "* Added -use option to 1dplot.c.\n"
7413    "* Added SHOWOFF macro to afni.c, distmake, and Makefile.INCLUDE.\n"
7414    "* Got some 3dDeconvolve.c fixes from Doug Ward.\n"
7415    },
7416 
7417   { 30,NOV,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7418    "* Modified 3dTshift.c to allow '-tzero 0.0' and '-slice 0' as\n"
7419    "   options (I used <= instead of < in the original code).\n"
7420    "* Modified plug_render.c to reset func_cmap_set=0 if a render\n"
7421    "   handle is destroyed - the colormap wasn't being properly\n"
7422    "   reloaded when a new underlay dataset was selected.\n"
7423    "* Modified SHOWOFF handling in afni.c to always show compilation\n"
7424    "   date no matter what.\n"
7425    },
7426 
7427   { 1,DEC,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7428    "* Modified afni.c and afni_func.c to turn on XSynchronize if -TRACE\n"
7429    "   option is used (or when DBG_trace gets set to 2).\n"
7430    "* Fixed bug in afni_func.c AFNI_force_adoption() routine: the\n"
7431    "   PRINT_TRACING output after the dataset scan would crash if no\n"
7432    "   dataset was found.\n"
7433    "* Modified imseq.[ch] and afni.c to set 'sides' strings for an image,\n"
7434    "   so that 'left=SIDE' can be displayed correctly in any orientation\n"
7435    "   of the image flipping process.\n"
7436    },
7437 
7438   { 3,DEC,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7439    "* Print a warning message in afni_func.c when a forced adoption takes\n"
7440    "   place.\n"
7441    "* Disable 'sides' labels if an environment variable is present.\n"
7442    "* Incorporate '-quiet' options in 3dclust.c and 3dROIstats.c from\n"
7443    "   Mike Beauchamp.\n"
7444    "* Incorporate sub-dataset selection for various statistical programs\n"
7445    "   from Doug Ward.\n"
7446    },
7447 
7448   { 7,DEC,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7449    "* Added program 3drename.c, to rename dataset .HEAD and .BRIK files\n"
7450    "   at the same time.\n"
7451    "* Added environment variable to control Winsor21 function in imseq.c.\n"
7452    },
7453 
7454   { 8,DEC,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7455    "* Oops.  Took out some debugging statements in 3dTstat.c that somehow\n"
7456    "   survived until now.\n"
7457    "* Modified count of forced adoption potential conflicts in afni_func.c\n"
7458    "   to avoid some warning messages.\n"
7459    "* Added 'NULL' to return in plug_tag.c, where it had been forgotten.\n"
7460    "* Added program 1dnorm.c.\n"
7461    "* Added -byslice option to 3dDetrend.c.\n"
7462    },
7463 
7464   { 9,DEC,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7465    "* Added -hilbert option to 1dfft.c, and -install option to 1dplot.c\n"
7466    "* Added 0 definition of DBG_trace to dbtrace.h in the case USE_TRACING\n"
7467    "   is not defined.\n"
7468    },
7469 
7470   { 13,DEC,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7471    "* Added mode functions to parser.f, parser.inc, and 3dcalc.c.\n"
7472    "* Added -force option to adwarp.c; otherwise, program will not now\n"
7473    "   overwrite existing dataset.\n"
7474    "* Modified function qginv() in mri_stats.c to never return a value\n"
7475    "   greater than 13, no matter how absurd the value the user enters.\n"
7476    "* Modified edt_dsetitems.c, editvol.h to have a new editing item\n"
7477    "   ADN_anatpar_idcode - to let a program attach an anat parent idcode\n"
7478    "   to a file (vs. an anat parent dataset).\n"
7479    "* Modified afni_func.c to NOT print out a forced adoption message when\n"
7480    "   a dataset is set to be its own anatomy parent.\n"
7481    "* Modified plug_maskave.c to properly initialize sum=sigma=0 for EACH\n"
7482    "   separate sub-brick calculation.\n"
7483    },
7484 
7485   { 14,DEC,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7486    "* Modified edt_emptycopy.c, editvol.h, and afni_plugin.c to have newly\n"
7487    "   created datasets get assigned the same anatomy parent as their\n"
7488    "   progenitors.\n"
7489    "* Modified afni.c so that manually warped datasets become their own\n"
7490    "   anat parents.\n"
7491    "* Modified 3drefit.c to allow SELF and NULL to be valid arguments to\n"
7492    "   the -apar option.\n"
7493    },
7494 
7495   { 20,DEC,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7496    "* Modified parser.f to remove the possibility of divison by zero in\n"
7497    "   the expression evaluation routines.\n"
7498    "* Modified display.[ch] and plug_render.c to allow 'non-mixing' of\n"
7499    "   colors displayed from rendering results.\n"
7500    },
7501 
7502   { 21,DEC,1999 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7503    "* Modified plug_render.c to put the 'non-mixing' stuff into a separate\n"
7504    "   menu on the 'Color' popup.\n"
7505    "* Took 3dROIstats.c mods from Mike Beauchamp for the -summary option.\n"
7506    },
7507 
7508   { 3,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7509    "* Modified 3ddata.h to increase maximum number of datasets per directory\n"
7510    "   to 512 anats and funcs (each), and max number of directorys to 80.\n"
7511    "* Modified afni.h, afni_fimmer.c, afni_pcor.c, and afni_graph.c to\n"
7512    "   add '% From Top' option to FIM menus.\n"
7513    },
7514 
7515   { 4,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7516    "* Added gran(m,s) function to parser.f and 3dcalc.c.\n"
7517    "* Added 'Set All' and 'Set Defaults' buttons to FIM+ menu in afni_graph.[ch].\n"
7518    "* Removed contents of file README.changes.\n"
7519    "* Abbreviated 'Cannot find ...' error messages in thd_reconpar.c.\n"
7520    "* Added total dataset count report to afni.c input routine.\n"
7521    },
7522 
7523   { 5,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7524    "* Changed default AFNI_SPLASHTIME to 1.0 seconds in afni.c.\n"
7525    "* Added 'static' to mixshade menu strings in plug_render.c.\n"
7526    "* Added MCHECK to DBG_SIGNALS in dbtrace.h.\n"
7527    "* Added routine mri_write_raw() to mri_write.c.\n"
7528    "* Modified from3d.c to have -raw and -float options.\n"
7529    },
7530 
7531   { 7,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7532    "* Modified plug_render.c to allow ShowThru color overlays: by doing two\n"
7533    "   renderings - underlay and overlay separately - and then compositing\n"
7534    "   the two images afterwards.\n"
7535    },
7536 
7537   { 10,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7538    "* Modified plug_render.c to add AFNI_RENDER_SHOWTHRU_FAC variable to\n"
7539    "   control the compositing of ShowThru images.\n"
7540    "* Added program afni_vcheck.c, to check the AFNI version against the\n"
7541    "   master copy back at the central AFNI web site.\n"
7542    },
7543 
7544   { 11,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7545    "* Replace 'New Stuff' button under the Misc menu with 'Version Check',\n"
7546    "   which just runs afni_vcheck and puts the output into a popup.\n"
7547    "* Modified plug_render.c to make Cutout Overlay work properly with\n"
7548    "   ShowThru.\n"
7549    },
7550 
7551   { 13,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7552    "* Added plug_scatplot.c - scatter plotting.  Added PLUTO_scatterplot()\n"
7553    "   function to afni_plugin.[ch].\n"
7554    "* Fixed error in setup of Range choosers in plug_histog.c - they\n"
7555    "   were initialized to incorrect values.\n"
7556    },
7557 
7558   { 19,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7559    "* Modified to3d.c to count and report number of negative voxels when\n"
7560    "   the input images are shorts - this is to provide a check for the\n"
7561    "   need for byte-swapping.\n"
7562    },
7563 
7564   { 20,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7565    "* Also added a popup error message when floating point errors are\n"
7566    "   detected in inputs to to3d.c\n"
7567    "* Added '1xN' pattern to 24swap.c to allow for nonswapped data.\n"
7568    },
7569 
7570   { 24,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7571    "* Fixed error in -mask[n] option processing in 3dROIstats.c - that\n"
7572    "   fiend Tom Ross used argv[narg] instead of argv[narg-1] to check\n"
7573    "   for the presence of the 'n' option.\n"
7574    },
7575 
7576   { 27,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7577    "* Modified thd_sarr.c and thd_get1D.c to speed up (hopefully) reading\n"
7578    "   of *.1D files.\n"
7579    "* Modified afni.[ch] to allow use of '-no1D' option to skip reading\n"
7580    "   of *.1D files from the dataset directories.\n"
7581    },
7582 
7583   { 28,JAN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7584    "* Modified coxplot/plot_x11.c to skip use of XDBE if AFNI_NO_XDBE\n"
7585    "   environment variable is set.\n"
7586    },
7587 
7588   { 1,FEB,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7589    "* Added file afni_fimfunc.c, which lets the 'user' add a function to\n"
7590    "   the FIM+ menu.  The Spearman rank correlation is included as a\n"
7591    "   sample.  Also included small changes to afni.[ch], afni_graph.[ch],\n"
7592    "   and a large-ish addition to afni_fimmer.c.\n"
7593    "* Removed useless 'break' statements in afni_graph.c that produced\n"
7594    "   some annoying 'unreachable code' compilation warnings.\n"
7595    "   Also modified bbox.c bbox and arrowval utility routines to check\n"
7596    "   if the input items are NULL before accessing them.\n"
7597    },
7598 
7599   { 2,FEB,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7600    "* Modified 3dvolreg.c to make it not print out the -help stuff when\n"
7601    "   argc==2.\n"
7602    "* Added uran() function to parser.\n"
7603    },
7604 
7605   { 3,FEB,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7606    "* Modified GRAN() random number generator in parser.f to make it be\n"
7607    "   less obviously periodic.\n"
7608    },
7609 
7610   { 4,FEB,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7611    "* Added IRAN() integer deviate, ERAN() exponential deviate, and LRAN\n"
7612    "   logistic deviate generators to parser.f\n"
7613    "* Added THD_extract_many_series() function, and used in to speed up the\n"
7614    "   fimfunc work in afni_fimmer.c.\n"
7615    "* Fixed error in 3dbuc2fim.c, where stat_aux array was not malloc()-ed\n"
7616    "   large enough for the EDIT_dset_items() routine usage.\n"
7617    },
7618 
7619   { 6,FEB,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7620    "* Added mcw_malloc_sizeof() to mcw_malloc.[ch], to return the size of\n"
7621    "   of a malloc()-ed region, if possible.\n"
7622    "* Added TRUNCATE_IMARR() macro to mrilib.h.\n"
7623    },
7624 
7625   { 10,FEB,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7626    "* Added 3A.: image formats to allow input of unstructured ASCII files\n"
7627    "   into AFNI programs.  Routines changed in mri_read.c and mcw_glob.c.\n"
7628    },
7629 
7630   { 14,FEB,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7631    "* Added -median and -MAD options to 3dTstat.c (but not to plug_stats.c).\n"
7632    },
7633 
7634   { 29,FEB,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7635    "* Revived the program 3ddot.c and added masking options.\n"
7636    },
7637 
7638   { 2,MAR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7639    "* Added plug_nudge.c to move dataset origins around.\n"
7640    "* Added -dxorigin (etc.) option to 3drefit.c.\n"
7641    },
7642 
7643   { 6,MAR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7644    "* Added -sagittal, -coronal switches to 3daxialize.c.\n"
7645    },
7646 
7647   { 7,MAR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7648    "* Modified plug_realtime.c, to reject nzz=1 datasets, print out better\n"
7649    "   error messages, etc.\n"
7650    "* Modified rtfeedme.c to have -nzfake option, for testing the above.\n"
7651    "* Modified jp_afni.c to get orientations correct for Signa realtime.\n"
7652    },
7653 
7654   { 8,MAR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7655    "* Added sync() to plug_realtime.c after writing datasets.\n"
7656    },
7657 
7658   { 15,MAR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7659    "* Added AFNI_VIEW_ANAT_BRICK and AFNI_VIEW_FUNC_BRICK environment\n"
7660    "   variables to afni.c to force switching back to 'view brick'\n"
7661    "   mode when switching datasets.\n"
7662    "* Added '{warp}' string to titlebar when 'Warp Anat on Demand' mode\n"
7663    "   is engaged.\n"
7664    },
7665 
7666   { 16,MAR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7667    "* Added -cmask option to 3dmaskdump.c (via new file edt_calcmask.c).\n"
7668    },
7669 
7670   { 4,APR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7671    "* Added thd_base64.c routines for dealing with BASE64 encodings.\n"
7672    },
7673 
7674   { 7,APR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7675    "* Included 3dWavelets code from Doug Ward.\n"
7676    },
7677 
7678   { 11,APR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7679    "* Fixed bug in 3drotate.c when input was a master-ed file.  Also added\n"
7680    "   -clipit option to 3drotate.c.\n"
7681    "* Fixed bug in parser_int.c where stdlib.h wasn't included before\n"
7682    "   drand48() was called.\n"
7683    "* Added AFNI_GRAYSCALE_BOT to display.c.\n"
7684    },
7685 
7686   { 12,APR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7687    "* Added AFNI_SYSTEM_AFNIRC environment variable, to allow introduction\n"
7688    "   of a system wide .afnirc file.\n"
7689    "* Added the ability to change datasets in the renderer from script files\n"
7690    "   (using the saved ID code string).  Also, made the threshold slider\n"
7691    "   change when the script changes the threshold value (forgot this\n"
7692    "   visual detail before).\n"
7693    },
7694 
7695   { 14,APR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7696    "* Added options -1Dfile to 3dvolreg.c and plug_volreg.c to save movement\n"
7697    "   parameters to a 1D file for later ortologizing.\n"
7698    },
7699 
7700   { 16,APR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7701    "* Oops.  Added AFNI_SYSTEM_AFNIRC stuff to afni_environ.[ch] as well.\n"
7702    },
7703 
7704   { 18,APR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7705    "* Rewrote plug_nudge.c to do rotations and shifts.\n"
7706    "* Added mri_copy.c.\n"
7707    },
7708 
7709   { 21,APR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7710    "* Fixed bug in qsort_floatfloat (cs_sort_ff.c).\n"
7711    "* First version of plug_betafit.c.\n"
7712    },
7713 
7714   { 28,APR,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7715    "* Modified plug_realtime.c (and afni_plugin.[ch]) to do 'Image Only' realtime\n"
7716    "   acquisition - just show the images, don't do anything else.\n"
7717    },
7718 
7719   { 1,MAY,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7720    "* Modified afni_widg.c to disable Datamode->Misc->Version Check if in\n"
7721    "   realtime mode (due to long hang time while master version web page\n"
7722    "   is fetched across the network).\n"
7723    "* Added program 3dfim+.c from Doug Ward.\n"
7724    },
7725 
7726   { 9,MAY,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7727    "* Added program imcutup.c and function mri_uncat2D.c to break 2D images\n"
7728    "   up into pieces.\n"
7729    },
7730 
7731   { 10,MAY,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7732    "* Modified afni_fimmer.c to print out an error message if nvox is zero.\n"
7733    "   This happens if the FIM Bkg Thresh is too high.  Also modified\n"
7734    "   afni.c to allow this value to be initialize to 0 (before, 1% was the\n"
7735    "   minimum).\n"
7736    },
7737 
7738   { 12,MAY,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7739    "* Incorporated NLfim changes from Doug Ward, to include calculation\n"
7740    "   of R**2, per my request.\n"
7741    },
7742 
7743   { 18,MAY,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7744    "* Add plug_second_dataset.c and code in afni_graph.c to use it - a\n"
7745    "   '1D function' that returns the time series from another dataset,\n"
7746    "   for example to plot the -snfit output of 3dNLfim on top of the\n"
7747    "   original dataset.\n"
7748    },
7749 
7750   { 19,MAY,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7751    "* Added changes from Doug Ward for a '-mask' option to 3dNLfim.c.\n"
7752    },
7753 
7754   { 22,MAY,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7755    "* Added AFNI_USE_THD_open_dataset environment variable to allow\n"
7756    "    THD_open_one_dataset (in thd_opendset.c) to call THD_open_dataset\n"
7757    "    instead (in thd_mastery.c), if a '[' is also present in the\n"
7758    "    dataset pathname.\n"
7759    "    !!! This feature must be used with care, since some programs    !!!\n"
7760    "    !!! (e.g., 3dbucket) will break if it is used.  A program that  !!!\n"
7761    "    !!! writes to a pre-existing dataset MUST NOT open that dataset !!!\n"
7762    "    !!! with a sub-brick selector list.                             !!!\n"
7763    },
7764 
7765   { 23,MAY,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7766    "* Modified thd_idcode.c to use lowercase in dataset IDcodes.\n"
7767    },
7768 
7769   { 8,JUN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7770    "* Added new picture to splash screen (the MCW gang).  Also, added\n"
7771    "   AFNI_IMAGE_PGMFILE environment variable to afni_splash.c\n"
7772    },
7773 
7774   { 15,JUN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7775    "* Added option '-nscale' to 3dcalc.c [that damn Tom Ross again].\n"
7776    "* Added an SCO Makefile [from Jason Bacon] and a couple of patches\n"
7777    "   to go with it.\n"
7778    "* Added 'Save to PPM' button to color pbar popup menus, to let the\n"
7779    "   user save a representation of the color overlay scheme.\n"
7780    "* Fixed check_pixmap in pbar.c to be correct in TrueColor.\n"
7781    "* Added 'Tran 0D' to color pbar popup for AFNI controllers (but not\n"
7782    "   for the rendering plugin).\n"
7783    },
7784 
7785   { 16,JUN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7786    "* Added 'Tran 2D' to color pbar popup for AFNI controllers.\n"
7787    "* Fixed 'Save to PPM' to save a check pattern for the 'none' color.\n"
7788    },
7789 
7790   { 19,JUN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7791    "* Added ability to set initial string in a 'user-typein' string field\n"
7792    "   in PLUTO_add_string().\n"
7793    "* Created plug_environ.c.\n"
7794    },
7795 
7796   { 30,JUN,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7797    "* Moved plug_environ.c into main afni, on the Misc menu.  Modified\n"
7798    "   places where environment variables are used to allow this\n"
7799    "   'Edit Environment' feature to work.\n"
7800    "* Added '|FFT()|' 1D function to afni.c.\n"
7801    "* Created program Xphace.c.\n"
7802    },
7803 
7804   { 3,JUL,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7805    "* Added 2DChain pseudoplugin.\n"
7806    },
7807 
7808   { 11,JUL,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7809    "* Added program 3dZeropad.c.\n"
7810    },
7811 
7812   { 12,JUL,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7813    "* Added Left-Right mirror option to afni_graph.[ch] and afni.c to\n"
7814    "   make graph pixel layout correspond to images if left-is-left.\n"
7815    },
7816 
7817   { 17,JUL,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7818    "* Added new program 3dTagalign.c.\n"
7819    "* Fixed a bug in the 'Write' callback in plug_tag.c.\n"
7820    },
7821 
7822   { 20,JUL,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7823    "* Modified 3dTagalign.c to write matrix+vector to a file and to\n"
7824    "   the output dataset header.\n"
7825    "* Modified 3drotate.c to read matrix+vector of transformation from\n"
7826    "   a file or from a dataset header.\n"
7827    },
7828 
7829   { 21,JUL,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7830    "* Added AFNI_ENFORCE_ASPECT to afni_pplug_env.c.\n"
7831    "* Added AFNI_IMAGE_PGMFILE_[1-9] to afni_splash.c.\n"
7832    },
7833 
7834   { 8,AUG,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7835    "* Used thd_floatscan() to check/fix possible float errors from\n"
7836    "   user functions (in the thd_make*.c functions and in afni_fimmer.c).\n"
7837    "   Was prompted by errors produced in Ziad Saad's Hilbert plugin.\n"
7838    },
7839 
7840   { 9,AUG,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7841    "* Modified thd_floatscan.c to use finitef() on Linux.\n"
7842    "* Modified 3dcalc.c to use thd_floatscan() to check results.\n"
7843    "* Modified 3dmerge.c to have -1fmask option to restrict filtering,\n"
7844    "   and -1filter_expr option to do arbitrary linear filtering.\n"
7845    "   (Also changed editvol.h, edt_checkargv.c, edt_filtervol.c, and\n"
7846    "    edt_onedset.c)\n"
7847    },
7848 
7849   { 22,AUG,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7850    "* Added 'To Disk?' option to plug_maskave.c for the 'doall' case.\n"
7851    },
7852 
7853   { 24,AUG,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7854    "* Modified most places where SESSTRAIL is used to use SESSTRAIL+1,\n"
7855    "   so that when filenames are shown, they show all the directories\n"
7856    "   that are shown in the 'Switch Session' dialog. [Per the suggestion\n"
7857    "   of Florian Hauch, Munich.]\n"
7858    "* Also modified afni_pplug_env.c to enable AFNI_SESSTRAIL to be\n"
7859    "   controlled interactively, and to have it modify the window titles\n"
7860    "   and session lastnames when AFNI_SESSTRAIL is altered.\n"
7861    },
7862 
7863   { 1,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7864    "* Incorporated changes from Ziad Saad to the Hilbert delay plugin.\n"
7865    "* Modified plug_nudge.c to output a 3drotate command line to stderr\n"
7866    "   when the feeble user presses the new 'Print' button.\n"
7867    "* Added call to AFNI_imseq_clearstat() to afni_plugin.c function\n"
7868    "   PLUTO_dset_redisplay().\n"
7869    },
7870 
7871   { 4,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7872    "* Added -rotcom output to 3dvolreg.c (and hidden -linear option).\n"
7873    "* Modified -verbose output of mri_3dalign.c.\n"
7874    },
7875 
7876   { 11,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7877    "* Added -dxyz=1 option to edt_*.c, to allow clustering and filtering\n"
7878    "   in 3dmerge.c to use fake values of dx=dy=dz=1.\n"
7879    "* Added -1filter_winsor to 3dmerge.c and edt_filtervol.c.\n"
7880    "* Added 'IJK lock' to afni.[ch] and afni_widg.c (Lock menu).\n"
7881    "* Added -twopass option to 3dvolreg.c.\n"
7882    },
7883 
7884   { 13,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7885    "* Finalized -twopass changes to 3dvolreg.c.\n"
7886    "* Add -duporigin option to 3drefit.c.\n"
7887    },
7888 
7889   { 14,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7890    "* Added check of grid spacings to 3dvolreg.c\n"
7891    },
7892 
7893   { 15,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7894    "* Added -nscale option to 3dmerge.c\n"
7895    },
7896 
7897   { 21,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7898    "* Added 32 to mri_nsize.c.\n"
7899    "* Added AFNI_SPLASH_XY to afni_splash.c.\n"
7900    },
7901 
7902   { 22,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7903    "* Added isqDR_setifrac and isqDR_setmontage to imseq.c.\n"
7904    "* Added graDR_setmatrix, graDR_setgrid, and graDR_setpinnum to afni_graph.c.\n"
7905    "* Added PLUTO_set_topshell() to afni_plugin.c, and made several\n"
7906    "   PLUGIN_CALL_IMMEDIATELY plugins use this to set the toplevel shell\n"
7907    "   for later AFNI manipulation.\n"
7908    "* Modified afni_graph.[ch] to allow a graph window to be opened for a\n"
7909    "   dataset of length 1.\n"
7910    "* Added textgraph mode to afni_graph.c, and also changed the baseline\n"
7911    "   pushbutton to a toggle.\n"
7912    },
7913 
7914   { 25,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7915    "* Added -layout option to allow user to control initial window setup.\n"
7916    "   Most changes in afni_splash.c, but also in afni.c, afni_widg.c,\n"
7917    "   afni.h, etc.\n"
7918    "* Modified imseq.c to detect Expose events that have resized the\n"
7919    "   image display window -- this happens sometimes when using -layout.\n"
7920    },
7921 
7922   { 27,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7923    "* Program xiner.c writes out Xinerama info about the display, if\n"
7924    "   it is available.  This can be used to generate an X11 resource\n"
7925    "   AFNI.xinerama.\n"
7926    "* If AFNI.xinerama is detected, then new routine RWC_xineramize (in\n"
7927    "   xutil.c) can be used to adjust location of a rectangle to be\n"
7928    "   sure it fits on a sub-screen.  Older routine RWC_visibilize_widget\n"
7929    "   now uses this.  New callback RWC_visibilize_CB can be used to make\n"
7930    "   sure menus pop up entirely on one sub-screen.\n"
7931    "* Many places now use visibilize to make sure dialogs and menus pop\n"
7932    "   up on 1 sub-screen.  See, for example, all uses of the function\n"
7933    "   RWC_visibilize_widget() and the macro VISIBILIZE_WHEN_MAPPED().\n"
7934    },
7935 
7936   { 29,SEP,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7937    "* Modified afni_graph.[ch] to move FIM and Opt menus onto private\n"
7938    "   menubars.  (Got rid of grapher->option_mbar everywhere.)\n"
7939    "* Also put a Form inbetween the afni_graph shell and the drawing\n"
7940    "   area.  The option_rowcol that holds all the menu buttons is\n"
7941    "   now a child of the Form, not the drawing area.  This makes\n"
7942    "   it possible to popup the menus with Button3 (the Button3\n"
7943    "   popup on the drawing area interfered with this).\n"
7944    },
7945 
7946   { 1,OCT,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7947    "* Wrote program 3dUndump.c (create a dataset from an ASCII list\n"
7948    "   of voxels, like an inverse to 3dmaskdump.c).\n"
7949    },
7950 
7951   { 4,OCT,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7952    "* Put most of the work of 3dZeropad.c into function thd_zeropad.c\n"
7953    "   instead.\n"
7954    "* Added plug_zeropad.c.\n"
7955    },
7956 
7957   { 9,OCT,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7958    "* Enabled startup of RT plugin, and control of all options, via\n"
7959    "   environment variables AFNI_REALTIME_Something.\n"
7960    "* Modified PLUTO_string_index() in afni_plugin.c to ignore blanks\n"
7961    "   and case.\n"
7962    },
7963 
7964   { 11,OCT,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7965    "* Replaced XtAppAddWorkProcess in afni.c with PLUTO_register_workproc,\n"
7966    "   since on Mandrake 7.01, dual P-III, XFree86 4.01 system, the\n"
7967    "   realtime plugin workprocess doesn't start properly (some\n"
7968    "   interaction with the startup workprocess, which does not occur\n"
7969    "   on other systems).\n"
7970    "* Modified afni_splash.c to change controller crosshairs to Single\n"
7971    "   mode if montage spacing is 1.\n"
7972    "* Modified afni_graph.c to change grid when program alters pin_num\n"
7973    "   (but not when user does directly).\n"
7974    "* Modifed plug_realtime.c to start work process after a timeout.\n"
7975    "* Added PLUTO_register_timeout() afni_plugin.[ch], to execute a\n"
7976    "   function after a given number of ms.\n"
7977    },
7978 
7979   { 12,OCT,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7980    "* Modified afni_graph.c to redraw with autoscale when matrix or\n"
7981    "   length is changed by an external (isqDR_) command (not by\n"
7982    "   the user directly).\n"
7983    "* Modified coxplot/plot_motif.c to get initial geometry of graph\n"
7984    "   shell from an environment variable.\n"
7985    "* Minor changes to plug_realtime.c to make various things nicer.\n"
7986    },
7987 
7988   { 13,OCT,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7989    "* Modified plug_realtime.c to insert its own Xt event loop to deal\n"
7990    "   with interface-freeze when the images are being slammed in as\n"
7991    "   fast as possible (function RT_process_xevents).\n"
7992    },
7993 
7994   { 16,OCT,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
7995    "* Modified fftest.c to allow use of FFTW; do 'make fftwest' and\n"
7996    "   run with nvec = -1.\n"
7997    },
7998 
7999   { 20,NOV,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8000    "* Fixed bug in -rlt+ option of 3dTcat.c: qmid was 0.5*ns, but\n"
8001    "   should have been 0.5*(ns-1).  This makes the baseline wrong\n"
8002    "   in each voxel.\n"
8003    },
8004 
8005   { 24,NOV,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8006    "* Modified plug_render.c to eliminate duplicate rendering of datasets\n"
8007    "   when loading a script that changes dataset index.  This was caused\n"
8008    "   by the dataset index CB routine calling draw, and then the script\n"
8009    "   controller calling draw again.  Now, the routine that loads the\n"
8010    "   widgets from the rendering state sets a variable that stops drawing\n"
8011    "   if it should occur, then unsets this variable after widgets are\n"
8012    "   loaded.\n"
8013    "* Modified 3drotate.c to have new -points option, to rotate a set of\n"
8014    "   (x,y,z) triples using the same rotation as would be used for a\n"
8015    "   dataset brick.\n"
8016    "* Modified 3dUndump.c to check (x,y,z) coordinates for validity.\n"
8017    },
8018 
8019   { 27,NOV,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8020    "* Modified plug_nudge.c to reload sub-brick statistic after moving it.\n"
8021    },
8022 
8023   { 28,NOV,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8024    "* Modified AFNI_plugin_button() in afni_plugin.c to allow user to\n"
8025    "   have plugin buttons sorted alphabetically.\n"
8026    "* Fixed bug in plug_nudge.c where the interpolation mode was\n"
8027    "   set improperly.\n"
8028    },
8029 
8030   { 1,DEC,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8031    "* Included Vinai Roopchansingh's modified plug_copy.c; this version\n"
8032    "   allows the user to change the datum type, when doing a zero fill.\n"
8033    "* Added the 'License Info' button to the Datamode->Misc menu.\n"
8034    },
8035 
8036   { 5,DEC,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8037    "* Included Vinai Roopchansingh's modified 3dhistog.c; this version\n"
8038    "   adds the '-mask' option.\n"
8039    "* Fixed a bug in the PICTURE_ON/OFF macro (afni.h) so that it is\n"
8040    "   only meaningful for dataset viewing (not for the -im case).\n"
8041    },
8042 
8043   { 6,DEC,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8044    "* Modified afni_pcor.c routine PCOR_get_perc to zero out the results\n"
8045    "   if the last reference has no range (previously, it only zeroed\n"
8046    "   out the coef[] array, not bline[]).\n"
8047    "* Added GPL/MCW Copyright notices to many many *.[ch] files.\n"
8048    },
8049 
8050   { 9,DEC,2000 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8051    "* Modified 3dNotes.c and thd_notes.c to allow user to replace the History\n"
8052    "   note, rather than just append to it.\n"
8053    "* Modified 3dvolreg.c to make the -twopass feature more robust for\n"
8054    "   registering SPGR images.  Changes included a coarse grid search for\n"
8055    "   an initial shift, and fading out the weights along the edges.\n"
8056    },
8057 
8058   { 16,JAN,2001, RWC, "AFNI-general", SUPERDUPER, TYPE_GENERAL, "Older History stuff",
8059    "  ===========================================================\n"
8060    " == This was the day I (RWC) started working at the NIH! :) ==\n"
8061    " == All changes from this date onwards were made at the NIH ==\n"
8062    "  ===========================================================\n"
8063    },
8064 
8065   { 23,JAN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8066    "* Modified afni.c MAIN_workprocess() function to exit properly when\n"
8067    "   the 'nodown' variable is set.  Before, if a layout was set, then\n"
8068    "   the layout code did the splashdown, and then the MAIN_workprocess()\n"
8069    "   never signaled that it was done.\n"
8070    "* Modified thd_trusthost.c to use '192.168.' as the prefix for Class B\n"
8071    "   subnets, rather than '192.168.0.'.\n"
8072    "* Modified mrilib.h to change my e-mail address macro.\n"
8073    },
8074 
8075   { 24,JAN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8076    "* Modified 3dclust.c to use '-dxyz=1' option.\n"
8077    "* Modified afni.c so that graphs of anat buckets interact correctly when\n"
8078    "   the anat bucket chooser is changed, or the graph 'time index' is set.\n"
8079    },
8080 
8081   { 25,JAN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8082    "* Modified mcw_malloc.c to use a hash table instead of a linear table.\n"
8083    "   This speeds things up a lot.  Also added a serial number to each\n"
8084    "   allocation, to help in identifying the order -- the dump is now\n"
8085    "   sorted by serial number.\n"
8086    "* Incorporated Matthew Belmonte's codes plug_threshold.c and\n"
8087    "   plug_permtest.c into the system.\n"
8088    },
8089 
8090   { 26,JAN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8091    "* Converted dbtrace.h to debugtrace.c and debugtrace.h.  This is the\n"
8092    "   start of an effort to incorporate traceback into all AFNI and\n"
8093    "   mrilib functions.  As part of this, removed THD_DEBUG stuff from\n"
8094    "   all library functions.\n"
8095    },
8096 
8097   { 29,JAN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8098    "* Added DEBUGTHISFILE macro to debugtrace.h, and used it in thd_shear3d.c.\n"
8099    "* Modified 3drotate.c so that input of something like\n"
8100    "    -ashift 10R 0 0\n"
8101    "   won't have the 0s clobber the 10R; 0s with no direction code suffix will\n"
8102    "   now be skipped in the computation of the dataset-coordinate shift.\n"
8103    "* Added a few words to README.copyright, and added a Q/A about it to the FAQ.\n"
8104    "* Added new program 3dMean.c.\n"
8105    },
8106 
8107   { 31,JAN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8108    "* Modified thd_zeropad.c to keep the slice-dependent time shifts (toff_sl)\n"
8109    "   when adding/removing slices in the z-direction.\n"
8110    },
8111 
8112   { 1,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8113    "* Modified thd_info.c to print dataset center (in addition to box edges).\n"
8114    "* Added thd_center.c (dataset center vector) and thd_mismatch.c (check if\n"
8115    "   2 datasets are matched for voxel-wise comparisons).\n"
8116    "* Added program 3dAttribute.c, for printing out values of attributes from\n"
8117    "   dataset header files (for use in scripts).\n"
8118    },
8119 
8120   { 2,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8121    "* Added function NIH_volpad (edt_volpad.c) to do zeropadding on 3D arrays\n"
8122    "   - adapted from thd_zeropad.c.\n"
8123    "* Added THD_rota_setpad to thd_rot3d.c to set zeropadding amount for\n"
8124    "   rotations.\n"
8125    },
8126 
8127   { 5,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8128    "* Added mayo_analyze.h to define the structure of an ANALYZE 7.5 .hdr\n"
8129    "   file, and then added mri_read_analyze75() to mri_read.c.\n"
8130    "* Modified to3d.c to use image dimensions if they are set from the\n"
8131    "   image file (as is possible with ANALYZE .hdr files, for example).\n"
8132    "* Modified mri_new.c to set dw=-666 as a flag that the d? variables\n"
8133    "   defaults of 1.0 haven't been changed.\n"
8134    "* Modified thd_rot3d.c to allow setting of zeropad amount via\n"
8135    "   environment variable AFNI_ROTA_ZPAD.\n"
8136    "* Modified 3drotate.c and 3dvolreg.c to use new command line option\n"
8137    "   '-zpad n'.\n"
8138    "* Modified to3d.c to use -zpad option to add zero slices in the z-direction.\n"
8139    "   Also added attribute to header (TO3D_ZPAD) to mark this fact.  When such\n"
8140    "   a dataset is used with -geomparent, then it's zero padding will be\n"
8141    "   subtracted off when setting the new dataset's origin.\n"
8142    "* Modified 3dAttribute.c to have '-all' and '-name' options.\n"
8143    },
8144 
8145   { 6,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8146    "* Modified vecmat.h to have separate types and macros for float and\n"
8147    "   double vectors/matrices.  Modified all places that used the old\n"
8148    "   'FLOAT_TYPE double' method to use the new types/macros (mostly\n"
8149    "   the 3D rotation codes).\n"
8150    "* Modified 3dvolreg.c to write rotation parameters, matrices, etc.\n"
8151    "   to the header of the output dataset.\n"
8152    },
8153 
8154   { 7,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8155    "* Modified 3dZeropad.c to have '-z' option to add slices (evenly) in\n"
8156    "   the dataset z-axis (slice) direction.\n"
8157    "* Modified 3drotate.c to deal with -rotparent and -gridparent options.\n"
8158    },
8159 
8160   { 8,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8161    "* Debugged several stupid errors in 3drotate.c changes of yesterday.\n"
8162    "* Implemented program cat_matvec.c to catenate matrix+vector\n"
8163    "   transformations.\n"
8164    "* File thd_read_matvec.c reads a matrix+vector (THD_dvecmat; cf.\n"
8165    "   vecmat.h) from a file, or from a dataset attribute.\n"
8166    },
8167 
8168   { 12,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8169    "* Modified edt_volpad.c to allow for unsymmetric padding.\n"
8170    "* Modified thd_zeropad.c to allow for producing an empty copy of the\n"
8171    "   zero-padded dataset (so that you have to fill it up later).\n"
8172    "* Modified 3drotate.c and 3dvolreg.c to adjust the time-offset z-origin\n"
8173    "   when the new dataset axes z-origin is adjusted.\n"
8174    "* Added a rint() function to mri_free.c (why there? why not?) if NO_RINT\n"
8175    "   is defined in machdep.h -- that way I don't have to worry about it.\n"
8176    "* Modified 3drotate.c to shift time-offsets when the dz is large enough\n"
8177    "   to warrant it.\n"
8178    "* Modified 3drefit.c to add new '-notoff' option, to reset time-offsets\n"
8179    "   to zero.\n"
8180    "* Modified to3d.c to include 'AFNI' in fallback resources, per the\n"
8181    "   suggestion of J Bacon of MCW (copying what AFNI itself does).\n"
8182    },
8183 
8184   { 13,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8185    "* Modified thd_shear3d.c function rot_to_shear_matvec() to modify the\n"
8186    "   input matrix to make sure it is orthogonal (using the transpose of\n"
8187    "   DMAT_svdrot(q) as the orthogonal matrix closest to q).  User-input\n"
8188    "   matrices may not be precisely orthogonal, which leads to problems\n"
8189    "   in the shear calculation.  Ugh. Squared.\n"
8190    "* Added function THD_rotcom_to_matvec() to thd_rotangles.c -- this computes\n"
8191    "   the matrix/vector of a transformation, given the '-rotate .. -ashift ..'\n"
8192    "   string.\n"
8193    "* Modified thd_zeropad.c (and 3dZeropad.c) so that padding can be specified\n"
8194    "   in mm instead of slices.\n"
8195    },
8196 
8197   { 14,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8198    "* Modified 3dvolreg.c to include -rotparent/-gridparent options, a la\n"
8199    "   3drotate.c.\n"
8200    "* Edited edt_volpad.c to include new function MRI_zeropad().\n"
8201    "* Modified thd_read_vecmat.c to include '-rotate ...' input option.\n"
8202    "* Added new function THD_rota3D_matvec() to thd_rot3d.c.\n"
8203    "* Added multiply and inverse macros for double vecmats to vecmat.h\n"
8204    "* Moved function DBLE_mat_to_dicomm() from 3drotate.c to thd_rotangles.c.\n"
8205    "* Replaced all copies of axcode() and handedness() with the library\n"
8206    "   calls to THD_axcode() and THD_handedness() in thd_rotangles.c\n"
8207    "   (changes to 3drotate.c, 3dvolreg.c, plug_nudge.c, plug_realtime.c,\n"
8208    "   and plug_volreg.c).\n"
8209    },
8210 
8211   { 15,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8212    "* Added thd_tshift.c, which does what 3dTshift.c does (in place).\n"
8213    "* Used this to add -tshift option to 3dvolreg.c.\n"
8214    "* Also added -ignore option to 3dTshift.c.\n"
8215    },
8216 
8217   { 16,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8218    "* Added traceback information to mcw_malloc.c.\n"
8219    "* Added program 3dOverlap.c.\n"
8220    "* Added function THD_newprefix() in thd_newprefix.c.\n"
8221    },
8222 
8223   { 20,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8224    "* Added EXIT and TRACEBACK macros to debugtrace.h.\n"
8225    },
8226 
8227   { 21,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8228    "* Modified afni.c to disable use of mmap() from malloc() on Linux\n"
8229    "   (malloc() would fail when memory was still available!).\n"
8230    "* Modified thd_mastery.c to force dset[] inputs to be relabeled\n"
8231    "   as bucket types if they are not time-dependent.  This is to\n"
8232    "   prevent interpretation as fico, etc.\n"
8233    "* Modified 3dmerge.c to allow use of sub-brick selectors on input\n"
8234    "   datasets.\n"
8235    "* Modified thd_trusthost.c to make it easier to add hosts by name\n"
8236    "   or by number, using a new function TRUST_addhost().\n"
8237    "* Added function PLUTO_turnoff_options() to afni_plugin.c; used this\n"
8238    "   in plug_realtime.c to turn off all input options after processing.\n"
8239    "* Added AFNI_TRUSTHOST to afni_pplug_env.c so that user can add trusted\n"
8240    "   hosts (for plugins/plugouts) interactively.\n"
8241    "* Modified thd_mastery.c and thd_loaddblk.c to allow for sub-ranging\n"
8242    "   on dataset input, using the <a..b> syntax on the command line.\n"
8243    },
8244 
8245   { 22,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8246    "* Added program 3dClipLevel.c to estimate the cutoff value to excise\n"
8247    "   background regions from anatomical datasets (especially EPI).\n"
8248    "* Added AFNI_CWD variable to afni_pplug_env.c, to let user change\n"
8249    "   working directory (where output files like 'Save:One' go).\n"
8250    "* Modified 3dOverlap.c to optionally save counts to a new dataset.\n"
8251    "* Fixed thd_mastery.c so that <a..a> works properly (<= vs. <).\n"
8252    },
8253 
8254   { 26,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8255    "* Modified plot_cox.c to allow copying, rescaling, and appending of\n"
8256    "   vector plots, and plot_x11.c to allow setting rendering to a\n"
8257    "   sub-box of the window (rather than the whole window).\n"
8258    "* Modified imseq.[ch] to allow fetching of a vector plot to be\n"
8259    "   rendered into the window.\n"
8260    "* Modified afni_splash.c to draw 'friends' stuff into the splash\n"
8261    "   screen (after the first popup).\n"
8262    "* Added function mri_zeropad_2D() in mri_zeropad.c.  Changed name\n"
8263    "   of MRI_zeropad() to mri_zeropad_3D() in edt_volpad.c.\n"
8264    },
8265 
8266   { 27,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8267    "* Added macro SAVEUNDERIZE() to xutil.h, and used it to make popup\n"
8268    "   menus have the SaveUnder property in imseq.c, afni_graph.c,\n"
8269    "   afni_widg.c, and plug_render.c.\n"
8270    "* Modified imseq.c to use AFNI_IMAGE_MINFRAC environment variable\n"
8271    "   to set minimum size for image windows.  Also added this to the\n"
8272    "   variables that can be controlled by afni_pplug_env.c.\n"
8273    "* Added fields does_saveunders and does_backingstore to display.[hc]\n"
8274    "   (but don't use them anywhere - yet).\n"
8275    "* Modified thd_mismatch.c to do MISMATCH_DELTA only if voxel sizes\n"
8276    "   differ by at least a factor of 0.001 (rather than perfect ==).\n"
8277    "   Also fixed a typobug where the datasets would always compare\n"
8278    "   as identical.\n"
8279    "* Modified 3dvolreg.c to fail if stupid users try to register dataset\n"
8280    "   to base that doesn't match.\n"
8281    },
8282 
8283   { 28,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8284    "* New program 3dZregrid.c is for resampling a dataset along the slice-\n"
8285    "   direction to change the grid spacing, etc.  Mostly intended to\n"
8286    "   fixup user stupidities (e.g., not acquiring data on the same subject\n"
8287    "   using the same slice thickness; d'oh!).\n"
8288    "* Modified thd_filestuff.c to remove '/' from THD_filename_ok() function.\n"
8289    "   This lets the '-prefix' option of 3d* programs put the output dataset\n"
8290    "   into a new directory.  New function THD_filename_pure() also checks\n"
8291    "   for the '/'.\n"
8292    },
8293 
8294   { 29,FEB,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8295    "* Modified thd_initdkptr.c to properly treat directory components stored\n"
8296    "   in prefixname.  [Ugh]\n"
8297    },
8298 
8299   { 1,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8300    "* Added 'Max Count' input to plug_histog.c.\n"
8301    "* Fixed incorrect error message for '-nrep' option in 3dWinsor.c.\n"
8302    "* Added -blackman and -hamming options to 3dTsmooth.c [per MSB].\n"
8303    },
8304 
8305   { 2,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8306    "* Added thd_entropy16.c to compute entropy (bits/short) of a dataset.\n"
8307    "* Used entropy to force gzip of highly redundant datasets in\n"
8308    "   thd_writedblk.c -- if AFNI_AUTOGZIP is on.\n"
8309    "* Modified afni_environ.c so that yesenv() and noenv() use my_getenv().\n"
8310    "* Modified afni_pplug_env.c to include AFNI_AUTOGZIP.\n"
8311    "* Modified afni.c to put DBG_trace= statements inside #ifdef USE_TRACING.\n"
8312    "* Modified 3dZeropad.c to not overwrite existing datasets [Oopsie squared].\n"
8313    "* Modified 3dmerge.c to print warning message for default indexes\n"
8314    "   (if -1dindex and/or -1tindex is not used).\n"
8315    "* Added 3ddelay.c from Ziad Saad.\n"
8316    },
8317 
8318   { 3,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8319    "* Modified 3dTsmooth (yet again) to allow for different options for\n"
8320    "   dealing with points past the beginning and end of time.\n"
8321    },
8322 
8323   { 4,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8324    "* New program ent16.c computes 16-bit entropy of stdin stream.  Can be\n"
8325    "   used in a script to decide when to gzip datasets.\n"
8326    },
8327 
8328   { 5,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8329    "* Modified Ziad Saad's plug_delay_V2.h to use remainder() instead of\n"
8330    "   drem() for Solaris, since Solaris doesn't have that BSD function\n"
8331    "   for some stupid SysV reason.\n"
8332    },
8333 
8334   { 6,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8335    "* Modified display.[ch] to store RGB bytes for the underlay and overlay\n"
8336    "   colors in the MCW_DC structure.  This is preparation for allowing\n"
8337    "   direct RGB overlays into imseq.c.\n"
8338    "* Modified mri_new.c (and mcw_glob.c) to allow use of the special filename\n"
8339    "   ALLZERO in 3D: input.  This will make it simple to create an empty\n"
8340    "   dataset using to3d, for example.\n"
8341    "* Added -min and -max options to 3dTstat.c.\n"
8342    "* Modified 3dClipLevel.c to use all sub-bricks instead of just the first.\n"
8343    "* Added function ISQ_overlay() into imseq.[ch], to do the overlaying of\n"
8344    "   underlay and color of MRI_short and MRI_rgb in all cases.\n"
8345    },
8346 
8347   { 7,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8348    "* Modified imseq.[ch] to add controls and functions for translucent color\n"
8349    "   overlays, if X11 Visual is TrueColor.\n"
8350    "* Modified to3d.c, afni_plugin.c, and plug_render.c to turn off the\n"
8351    "   overlay opacity arrowval for their particular image windows\n"
8352    "   (since they don't use overlays anyhoo).\n"
8353    "* Modified rwc.xbm logo bitmap to include NIH logo along with MCW logo.\n"
8354    },
8355 
8356   { 8,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8357    "* Added median+MAD function to cs_qmed.c.\n"
8358    "* Added display of median+MAD to popup stats in afni_graph.[ch].\n"
8359    "* Added thd_dsetrow.c, thd_rowfillin.c, 3dRowFillin.c to do row filling\n"
8360    "   between gaps (zeros) of like values.  Intended to complement the\n"
8361    "   drawing plugin.\n"
8362    "* Modified plug_render.c to allow user to display the xhairs in the\n"
8363    "   color overlay (meaning they can ShowThru).\n"
8364    },
8365 
8366   { 9,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8367    "* Fixed 1deval.c so that '-v' option becomes '-verb' (since '-v' had\n"
8368    "   another meaning in that program).  Also modified several other\n"
8369    "   programs so that '-verb' is accepted (instead of '-v' or '-verbose').\n"
8370    "* Modified imseq.c to de/re-sensitize overlay opacity arrowval when\n"
8371    "   'See Overlay' is turned off/on.\n"
8372    },
8373 
8374   { 12,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8375    "* Modified mri_read.c to read Siemens Vision format .ima files.\n"
8376    "* Modified mrilib.h to have global variables MRILIB_* that hold\n"
8377    "   orientation info from image files, if present.  Modified to3d.c\n"
8378    "   to use this information.\n"
8379    "* New program siemens_vision.c prints out info from the .ima format\n"
8380    "   files' header.\n"
8381    },
8382 
8383   { 15,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8384    "* Fixed bug in thd_shift2.c: when the shift was larger than the data\n"
8385    "   line size, buffer overrun could occur.  In this case, the proper\n"
8386    "   result is all zeros, so that's what I substituted.\n"
8387    },
8388 
8389   { 19,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8390    "* Fixed bug in thd_dsetrow.c, where putting a row back in for byte\n"
8391    "   or float cases didn't have break statements, so it would be\n"
8392    "   put twice, which is real bad (i.e., segment fault).\n"
8393    "* Added Linear Fillin to plug_drawdset.c.\n"
8394    },
8395 
8396   { 20,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8397    "* Added 3dDeconvolve.c update from Doug Ward.\n"
8398    "* Modified plug_histog.c to add 'Aboot' feature.\n"
8399    },
8400 
8401   { 21,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8402    "* Modified coxplot to draw filled rectangles when thickness is set\n"
8403    "   to -1.0.  Files affected are coxplot.h, plot_cox.c, plot_ps.c,\n"
8404    "   plot_ps2.c, and plot_x11.c.\n"
8405    "* Added program 1dgrayplot.c to plot timeseries files (vertically)\n"
8406    "   in grayscale, a la SPM.\n"
8407    "* Modified afni_plugin.c to remove the MCW_TIMER_KILL from the\n"
8408    "   ButtonPress frivolity in image popups.  Also, hid this stuff\n"
8409    "   behind the NO_FRIVOLITIES macro and NO_frivolities global variable.\n"
8410    "* Added program 3dToutcount.c to count outliers at each time point in\n"
8411    "   a 3D+time dataset (idea from Bill Eddy).\n"
8412    },
8413 
8414   { 22,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8415    "* Added -save option to 3dToutcount.c, to leave markers of outliers\n"
8416    "   behind.\n"
8417    "* Added script moveAFNI to install changed files from afni98.tgz into\n"
8418    "   the current directory.\n"
8419    },
8420 
8421   { 23,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8422    "* Added thd_fetchdset.c, to get a dataset from a Web link.  This is\n"
8423    "   called from THD_open_dataset() in thd_mastery.c.  Thus, you can\n"
8424    "   now do something like\n"
8425    "     afni -dset http://some.place/dir/anat+orig\n"
8426    "   and see the dataset!\n"
8427    },
8428 
8429   { 26,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8430    "* Modified afni_func.c, afni_widg.c to add a 'Read Web' button.\n"
8431    "* Modified thd_fetchdset.c to allow fetch of *.1D files as well.\n"
8432    },
8433 
8434   { 30,MAR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8435    "* Added 'Rota' buttons to afni_widg.c and plug_render.c, to rotate\n"
8436    "   the colors on the pbars.\n"
8437    "* Added range hints to the pbar in afni_func.c and plug_render.c.\n"
8438    },
8439 
8440   { 3,APR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8441    "* Modified xim.[ch] to add a 'force rgb' option to function XImage_to_mri(),\n"
8442    "   so that one can always be sure of getting a MRI_rgb image (and so be\n"
8443    "   sure of writing a PPM file with mri_write_pnm()).  Modified imseq.c and\n"
8444    "   afni_graph.c to fit the new usage.\n"
8445    },
8446 
8447   { 10,APR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8448    "* Fixed a bug in 3dvolreg.c, where the '-base dset' option used a\n"
8449    "   sub-brick index 'bb' that was no longer initialized (bug reported\n"
8450    "   by Tom Ross of MCW).\n"
8451    },
8452 
8453   { 18,APR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8454    "* Added some more printouts to 3dcalc.c and thd_loaddblk.c when malloc()\n"
8455    "   fails on dataset input.\n"
8456    "* Added '-sum' and '-sqr' options to 3dMean.c.\n"
8457    "* Added program 1dsum.c.\n"
8458    "* Added machdep.c to do machine-dependent runtime startup (supplementing\n"
8459    "   machine-dependent compiletime stuff in machdep.h).\n"
8460    },
8461 
8462   { 20,APR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8463    "* Added 'addto_args' to a bunch of programs, to let them use the '-@'\n"
8464    "   command line switch.\n"
8465    "* Added call to machdep() in a bunch of programs.\n"
8466    },
8467 
8468   { 23,APR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8469    "* Modified imseq.c to draw 'EMTPY IMAGE' string into image window if\n"
8470    "   a NULL image is returned.\n"
8471    },
8472 
8473   { 24,APR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8474    "* Added 'record' capability to imseq.[ch].\n"
8475    },
8476 
8477   { 25,APR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8478    "* Modified imseq.c recording a little.\n"
8479    "* Fixed a bug in 3dAttribute.c in which the tross_Expand_string()\n"
8480    "   result might be NULL, in which case printing it would crash\n"
8481    "   on some systems.  Also, free()-ed the data from that call.\n"
8482    },
8483 
8484   { 30,APR,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8485    "* Modified mcw_glob.c to print an message if an attempted expansion\n"
8486    "   produces no files.\n"
8487    },
8488 
8489   { 4,MAY,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8490    "* Modified thd_loaddblk.c to print a message if a mmap()-ed file isn't\n"
8491    "   big enough for the dataset byte count.\n"
8492    },
8493 
8494   { 9,MAY,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8495    "* Fixed a scale-resize bug in Solaris (why does this keep happening,\n"
8496    "   and only on Solaris?!) in afni.c, afni_func.c, and plug_render.c.\n"
8497    },
8498 
8499   { 10,MAY,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8500    "* Fixed a bug in to3d.c with the Analyze/Siemens header geometry info\n"
8501    "   it was only processed AFTER the autosave test was executed.  It was\n"
8502    "   moved before the autosave.  Also added the -zorigin option to let\n"
8503    "   the user set the slice offset (a la 3drefit).\n"
8504    },
8505 
8506   { 16,MAY,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8507    "* Modified waver.c to add new -tstim option (for specifying stimulus\n"
8508    "   times directly on command line).\n"
8509    },
8510 
8511   { 18,MAY,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8512    "* Modified afni_plugin.[ch] to STATUS() an error message if a\n"
8513    "   plugin library cannot be loaded into the system.\n"
8514    },
8515 
8516   { 22,MAY,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8517    "* Modified thd_iochan.[ch] to add function iochan_recvloop(), which\n"
8518    "   loops to receive as much data as possible without waiting.\n"
8519    },
8520 
8521   { 23,MAY,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8522    "* Modified thd_iochan.[ch] to add function iochan_fork_delay(),\n"
8523    "   which allows relays of data from a shm IOCHAN to a tcp IOCHAN\n"
8524    "   through a child process.\n"
8525    },
8526 
8527   { 24,MAY,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8528    "* Modified afni_plugin.c to fprintf(stderr) the error message if\n"
8529    "   a plugin library cannot be loaded into the system.  (This way\n"
8530    "   it always appears, even if trace is turned off.)\n"
8531    },
8532 
8533   { 4,JUN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8534    "* Modified thd_iochan.c iochan_fork_delay() to retry communications,\n"
8535    "   and to print more error messages.\n"
8536    "* Added DONT_USE_DEBUGTHISFILE to machdep.h and debugtrace.h.\n"
8537    },
8538 
8539   { 5,JUN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8540    "* Modified afni_plugin.c to move some routines into the 'always\n"
8541    "   compiled' section; and afni_plugin.h to reflect this change.\n"
8542    "   Small changes also to afni.h, afni_func.c, and afni_pplug_*.c.\n"
8543    "   (All of this is to get afni to compile again without plugins.)\n"
8544    },
8545 
8546   { 6,JUN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8547    "* Added directory qhulldir/ to contain the qhull program from UMN.\n"
8548    "* Fixed afni_vcheck.c to reflect the new webserver.\n"
8549    },
8550 
8551   { 7,JUN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8552    "* Add cs_qhull.c to drive qhull program and compute Voronoi areas\n"
8553    "   on sphere surface.\n"
8554    },
8555 
8556   { 18,JUN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8557    "* Modified mri_read_ascii() in mri_read.c to skip lines that start\n"
8558    "   with '#' character.\n"
8559    },
8560 
8561   { 19,JUN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8562    "* Modified 3drotate.c to take the new -dfile/1Dfile options, per\n"
8563    "   the request of David Glahn of UCLA.\n"
8564    },
8565 
8566   { 22,JUN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8567    "* Fixed a bug in 3dUndump.c where it checked the wrong value against\n"
8568    "   the z coordinate bounds - it would report illegal inputs when\n"
8569    "   the (x,y,z) values were in fact legal.\n"
8570    },
8571 
8572   { 26,JUN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8573    "* Added function THD_is_executable() in thd_filestuff.c.\n"
8574    "* Added thd_getpathprogs.c to get list of all executables in the path.\n"
8575    },
8576 
8577   { 27,JUN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8578    "* Added ability to save images in various formats (.jpg, .gif, etc.)\n"
8579    "   to imseq.[ch], using external programs such as ppmtogif, etc.\n"
8580    },
8581 
8582   { 29,JUN,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8583    "* Added program strblast.c to blast strings out of image files.\n"
8584    "* Modified 3dclust.c to use THD_open_dataset() instead of\n"
8585    "   THD_open_one_dataset().\n"
8586    },
8587 
8588   { 3,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8589    "* Modified imseq.c to correct usage of pnmtotiff, which is NOT the\n"
8590    "   same as ppm2tiff (first one writes to stdout, second to a file\n"
8591    "   named on the command line).\n"
8592    },
8593 
8594   { 5,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8595    "* Modified afni.[ch] to include CM's from Talairach Daemon database,\n"
8596    "   and re-enabled the long-dormant 'Talairach to' button.\n"
8597    "* Added option '-nosum' to 3dclust.c.\n"
8598    "* Modified thd_loaddblk.c to skip byte order tests if all sub-bricks\n"
8599    "   have byte datum.\n"
8600    },
8601 
8602   { 6,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8603    "* Modified 3dUndump.c to print a message if a voxel is written to\n"
8604    "   more than once.\n"
8605    "* Added Doug Ward's changes to 3dDeconvolve.c, 3dConvolve.c, etc.\n"
8606    },
8607 
8608   { 9,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8609    "* Modified AFNI_transform_vector() in afni.c to use anat_parent\n"
8610    "   transformations if the datasets aren't directly related.\n"
8611    "* Used this to modify the 'Talairach to' feature (AFNI_talto_CB() in afni.c)\n"
8612    "   to allow jumping even if the dataset is not in Talairach view, but just\n"
8613    "   has a way of transforming the vector to Talairach view.\n"
8614    },
8615 
8616   { 10,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8617    "* Added 'Where Am I?' Talairach Daemon feature to afni_widg.c, afni.[ch].\n"
8618    "   Actual calculations done in thd_ttatlas_query.c.\n"
8619    "* Modified xutil.[ch] to add function to alter contents of a textwin.\n"
8620    "* Added edt_sortmask.c to sort a MCW_cluster based on its contents.\n"
8621    },
8622 
8623   { 11,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8624    "* Modified xutil.[ch] to add function MCW_unregister_hint().\n"
8625    "* Modified afni.c to add hint/help to 'Where Am I?' textwin (and to\n"
8626    "   remove help when the window is destroyed).\n"
8627    },
8628 
8629   { 12,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8630    "* Added afni_ttren.c, to control the colors of the display of the\n"
8631    "   Talairach atlas regions (when I get around to it, that is).\n"
8632    },
8633 
8634   { 13,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8635    "* OK, made afni_ttren.c work with the volume renderer.\n"
8636    "* Modified mcw_glob.c to only print warning message if allowed to.\n"
8637    "   Modifed various codes that use MCW_file_expand() to turn such\n"
8638    "   messages on or off, depending on what I feel like.\n"
8639    },
8640 
8641   { 24,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8642    "* Modified thd_ttatlas_query.c to return up to 9 results, and to print\n"
8643    "   a cautionary tail.\n"
8644    "* Modified plug_render.c to display TT atlas regions.\n"
8645    },
8646 
8647   { 25,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8648    "* Modified plug_render.c to histogram new dataset bricks and choose\n"
8649    "   99.5% point as the default upper level for scaling.\n"
8650    "* Modified afni.c, afni_func.c, afni_widg.c, afni_warp.c to enable\n"
8651    "   rendering of TT Atlas regions as overlays in 2D image viewers.\n"
8652    },
8653 
8654   { 26,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8655    "* Modified imseq.[ch] to allow 'Save One' to be independent of the\n"
8656    "   output filter (e.g., so can save a montage into a JPEG file).\n"
8657    },
8658 
8659   { 27,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8660    "* Modified imseq.[ch] to add 'Sav:aGif' to save a sequence of images\n"
8661    "   into animated GIF format (using gifsicle or whirlgif).\n"
8662    "* Included gifsicle directory into AFNI distribution, and added to\n"
8663    "   Makefile.INCLUDE to make gifsicle (whirlgif was already there).\n"
8664    "   However, neither of these program is made by default.\n"
8665    },
8666 
8667   { 29,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8668    "* Modified imseq.[ch] to add a range hint to the intensity bar.\n"
8669    },
8670 
8671   { 30,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8672    "* Fixed color pbar hintize alterations when user changes sub-bricks,\n"
8673    "   in plug_render.c.\n"
8674    },
8675 
8676   { 31,JUL,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8677    "* Modified xutil.[ch] to add a routine to NULL out an arbitrary pointer\n"
8678    "   when a widget is destroyed.\n"
8679    "* Used the above in afni.c to NULL out the pointer to the 'Where Am I?'\n"
8680    "   text window when the text window is destroyed because the user\n"
8681    "   destroyed its parent imseq.\n"
8682    },
8683 
8684   { 1,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8685    "* Realized that the TT atlas overlay was setup for the small Talairach\n"
8686    "   box, and most people now have large Talairach box datasets.  To make\n"
8687    "   the system work, modified thd_ttatlas_query.c to allow programs to\n"
8688    "   load an atlas with 141 I-S slices (the one on disk), or an atlas\n"
8689    "   with 151 I-S slices (created via zero-padding).  Then modified places\n"
8690    "   that retrieved the atlas dataset: afni_func.c, plug_render.c.  Ugh.\n"
8691    "* Also modified afni.c so that the 'Atlas Colors' popup button is only\n"
8692    "   enabled in +tlrc view.\n"
8693    "* Modified waver.c to add to -EXPR option.\n"
8694    "* Added -stdin option to 1dplot.c.\n"
8695    },
8696 
8697   { 2,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8698    "* Fixed bug in waver.c -EXPR option, so that if waveform_EXPR(t) is\n"
8699    "   called with t < 0, it returns 0.\n"
8700    "* Included mpeg_encode directory into AFNI distribution, and added to\n"
8701    "   Makefile.INCLUDE to make mpeg_encode.\n"
8702    "   However, neither of these program is made by default.\n"
8703    "* Added Sav:mpeg to imseq.[ch].\n"
8704    },
8705 
8706   { 6,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8707    "* Modified coxplot/plot_motif.c to have plotting window close when\n"
8708    "   user presses 'Q' or 'q' keystroke in the drawing area.\n"
8709    },
8710 
8711   { 7,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8712    "* Modified afni_graph.[ch] and afni.c to extend graph baseline concept\n"
8713    "   to have a global baseline for all graphs (that doesn't change when\n"
8714    "   the user moves around).\n"
8715    "* Modified afni_graph.[ch] to add a new Double Plot mode Plus/Minus to\n"
8716    "   make the transformed function be added/subtracted from the dataset's\n"
8717    "   time series, so we can see error bars from 3dDeconvolve's\n"
8718    "   -iresp/-sresp outputs!\n"
8719    "* Added afni_pplug_1dfunc.c to make 1DChain pseudoplugin (also affected\n"
8720    "   afni_func.c and afni_widg.c).\n"
8721    },
8722 
8723   { 8,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8724    "* Modified afni_graph.c and xutil.c to use new environment variable\n"
8725    "   AFNI_DONT_MOVE_MENUS - if this is 'Yes', then the menu movement\n"
8726    "   functions will be skipped.  Also added this to afni_pplug_env.c.\n"
8727    "   (As usual, this is in response to a problem on Solaris.)\n"
8728    "* Added program 3dZcutup.c to cut slices out of a dataset.\n"
8729    "* Modified various functions to work with single-slice datasets.\n"
8730    "   Probably missing some still.\n"
8731    },
8732 
8733   { 9,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8734    "* Added program 3dZcat.c to put datasets together in the slice\n"
8735    "   direction.\n"
8736    "* (Re)modified to3d.c to allow creation of 1 slice datasets.  Hope it\n"
8737    "   works out this time.\n"
8738    },
8739 
8740   { 10,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8741    "* Added TENT() function to parser.f and parser.inc.\n"
8742    "* Added thd_dsetto3D.c, to extract/scale a float copy of a sub-brick.\n"
8743    "* New program 3dTqual.c computes a 'quality index' of each sub-brick\n"
8744    "   in a 3D+time dataset.\n"
8745    "* Modified 1dplot.c so that -stdin option can read more than 1 column.\n"
8746    },
8747 
8748   { 11,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8749    "* Modified plug_scatplot.c to print correlation coefficient.\n"
8750    },
8751 
8752   { 12,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8753    "* Fixed bug in 3dClipLevel.c that used 1 past the end of the histogram\n"
8754    "   array (bad Bob, bad).\n"
8755    "* Added functions thd_median_brick() and thd_cliplevel() in files\n"
8756    "   THD_median.c and THD_cliplevel.c to the library.\n"
8757    "* Modified 3dTqual.c to use these library functions.\n"
8758    "* Modified 3dToutcount.c to have -autoclip option.\n"
8759    },
8760 
8761   { 13,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8762    "* Added -dt option to 3dcalc.c.\n"
8763    "* Added routine AFNI_logger() in afni_logger.c.\n"
8764    },
8765 
8766   { 14,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8767    "* Modified a bunch of programs to use AFNI_logger().\n"
8768    },
8769 
8770   { 15,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8771    "* Modified 3dToutcount.c to have a -range option, a la 3dTqual.c.\n"
8772    "* Added function THD_outlier_count() to do more or less what 3dToutcount.c does.\n"
8773    "* Used this in to3d.c to automatically check new 3D+time datasets for outliers.\n"
8774    },
8775 
8776   { 16,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8777    "* Modified afni_func.c to hintize the pbar in function AFNI_underlay_CB().\n"
8778    "* Modified the outlier stuff in to3d.c some.\n"
8779    },
8780 
8781   { 20,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8782    "* Incorporated revised TD database from San Antone.  Also penciled in\n"
8783    "   the Nucleus Accumbens, since they seem to have missed it.\n"
8784    },
8785 
8786   { 22,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8787    "* Modified plug_drawdset.c to allow loading of overlay data from the\n"
8788    "   TTatlas+tlrc dataset, on a region-by-region basis.\n"
8789    },
8790 
8791   { 23,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8792    "* Added program 3dTcorrelate.c to compute correlation coefficient of\n"
8793    "   2 3D+time datasets, voxel by voxel.\n"
8794    "* New file thd_correlate.c computes various correlation coefficients\n"
8795    "   between vectors.\n"
8796    "* Added constant detrending to thd_detrend.c.\n"
8797    },
8798 
8799   { 24,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8800    "* Modified 3dTcorrelate.c to have '-polort -1' option.\n"
8801    "* Modified afni_friends.c.\n"
8802    "* Modified to3d.c, which tried to popup outlier message in batch mode.\n"
8803    "   Also, made it check for negatives again after 2swap; skip outlier\n"
8804    "   check if too many negatives (more than 1%); print percentage of\n"
8805    "   negatives in negatives report.\n"
8806    },
8807 
8808   { 26,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8809    "* Modified to3d.c to have -save_outliers option.\n"
8810    },
8811 
8812   { 28,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8813    "* Modified thd_correlate.c Pearson routine to initialize sums (oops).\n"
8814    },
8815 
8816   { 29,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8817    "* Created cs_sort_template.h, a file to generate quicksort functions from\n"
8818    "   a macro-defined type and macro-defined order.\n"
8819    "* Adapted 1st version of agni.[ch] to fit into afni, for surface display.\n"
8820    "   Changes also to afni.c (to draw the damn thing), imseq.c, and some\n"
8821    "   other minor junk.\n"
8822    },
8823 
8824   { 30,AUG,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8825    "* Modified coxplot/plot_cox.c to have a flip_memplot() function, for use\n"
8826    "   in imseq.c graphing overlay.\n"
8827    "* Modified coxplot/plot_x11.c to draw a Point rather than a Rectangle\n"
8828    "   if the rectangle has width=height=0.\n"
8829    "* Modified afni.c to draw surface nodes in correct places, rather than\n"
8830    "   in center of their voxels.  Also involved changes to thd_coords.c,\n"
8831    "   to have new functions for floating point coords in FD_bricks.\n"
8832    },
8833 
8834   { 5,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8835    "* Modified machdep.[ch] to provide some support for Mac OSX (Darwin).\n"
8836    "* Modified agni.c to do volume map (vmap) correctly, and faster.\n"
8837    },
8838 
8839   { 6,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8840    "* Modified afni_plugout.[ch] to have 'NO_ACK' option, so that plugout\n"
8841    "   messages aren't acknowledged.  This is necessary to avoid race\n"
8842    "   conditions with a plugout that both sends and receives messages.\n"
8843    "* Modified afni_plugout.[ch] to allow sending and receiving of SURFID\n"
8844    "   for surface node identifiers.\n"
8845    "* Wrote plugout_surf.c as a demo of the SURFID interchange.\n"
8846    },
8847 
8848   { 7,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8849    "* Modified agni.[ch] to put a mask into the vmap to mark the level\n"
8850    "   of expansion at which the voxel was mapped.\n"
8851    "* Modified agni.c to using ENTRY/RETURN.\n"
8852    "* Modified agni.c to check for duplicate node id's when creating a surface.\n"
8853    "* Modified afni.c and afni_plugout.c to strip off the vmap mask when\n"
8854    "   querying this array.\n"
8855    "* Modified machdep.c to get the _Xsetlocale() fixup function; added\n"
8856    "   machdep() to a lot of programs (for Mac OS X compilation).\n"
8857    },
8858 
8859   { 11,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8860    "* Modified mri_render.[ch] and plug_render.c to allow depth cueing of\n"
8861    "   ShowThru overlays (new option ST+Dcue on overlay opacity menu).\n"
8862    },
8863 
8864   { 12,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8865    "* Wrote thd_autonudge.c and 3dAnatNudge.c to try to fit EPI volume\n"
8866    "   on top of scalped SPGR volume.\n"
8867    },
8868 
8869   { 13,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8870    "* Modified afni_plugin.c and NLfit_model.c to properly load .so objects\n"
8871    "   on Mac OS X (DARWIN).\n"
8872    },
8873 
8874   { 17,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8875    "* Modified mri_read.c to add new function mri_read_ppm_header(),\n"
8876    "   and to make mri_read_ppm() scale a PPM image to maxval=255.\n"
8877    "* Modified afni_splash.c to look for .afnisplash*.ppm files for the\n"
8878    "   splash image override.\n"
8879    },
8880 
8881   { 18,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8882    "* Added mri_drawing.c to draw things into RGB images, and mri_coxplot.c,\n"
8883    "   to use that to draw coxplot stuff into RGB images.\n"
8884    },
8885 
8886   { 19,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8887    "* In imseq.c, realized that the 'Empty Image' memplot was being re-created\n"
8888    "   multiple times, and this is stupid.  Now it is only created once, and\n"
8889    "   is re-used from then on.\n"
8890    "* Also in imseq.c, realized that if last image in a Save sequence is\n"
8891    "   NULL, and we are saving to an animation, then the animation won't be\n"
8892    "   written and the saved images will never be deleted.  At least they\n"
8893    "   will be deleted now (animation still won't be written, but at least\n"
8894    "   an error message will be output).\n"
8895    "* Also in imseq.c, added montage overlay plots to function\n"
8896    "   ISQ_make_montage().\n"
8897    },
8898 
8899   { 20,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8900    "* Modified imseq.c to do the overlay plot montage more efficiently\n"
8901    "   (using less memory).\n"
8902    "* Modified imseq.c to draw labels returned by the get_image() function\n"
8903    "   for each slice, both in single and montage images.\n"
8904    "* Modified afni.c to return a label for each slice.\n"
8905    "* Modified coxplot/plot_cox.c to have new function, create_memplot_surely().\n"
8906    "   Modified a number of functions/programs to use this instead of looping\n"
8907    "   over create_memplot() a number of times.\n"
8908    },
8909 
8910   { 21,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8911    "* Modified imseq.[ch] to adjust the way labels are drawn.\n"
8912    "* Fixed ISQ_saver_CB() bug in imseq.c: when Save:one was active and images\n"
8913    "   were sent to an output filter, they needed to be forced into RGB mode\n"
8914    "   even if they were grayscale.\n"
8915    "* Changes to afni.c and imseq.c to allow label and agni overlay colors to be\n"
8916    "   controlled by environment variables.\n"
8917    "* Added function DC_parse_color() to display.[ch] to parse a color string into\n"
8918    "   a (float) RGB triple.\n"
8919    },
8920 
8921   { 23,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8922    "* Added a setback environment variable to let image label placement be\n"
8923    "   adjusted.\n"
8924    "* Modified afni_widg.c to load a color pixmap for use with the 'wait'\n"
8925    "   picture, if the visual is TrueColor.\n"
8926    },
8927 
8928   { 24,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8929    "* New program 3dcopy.c does what it sounds like: copies datasets.\n"
8930    "* Modified plug_drawdset.c to allow the user to make a copy of a\n"
8931    "   dataset on input, and to have a SaveAs button.\n"
8932    },
8933 
8934   { 25,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8935    "* Modified plug_drawdset.c to have a new drawing mode, 'Filled Curve'.\n"
8936    "* Modified mri_read.c to allow .HDR and .IMA suffixes for Analyze\n"
8937    "   and Siemens files, respectively (in addition to .hdr and .ima).\n"
8938    "* Modified mri_read_siemens() in mri_read.c so that if the environment\n"
8939    "   variable AFNI_SIEMENS_INTERLEAVE is set to 'Y' or 'y', then the\n"
8940    "   multi-images in a Siemens file are assumed to be interleaved rather\n"
8941    "   than presented in order.\n"
8942    "* Modified to3d.c to have new option -sinter: sets AFNI_SIEMENS_INTERLEAVE\n"
8943    "   to 'Yes'.\n"
8944    "* Modified plug_drawdset.c to do EVERYTHING_SHUTDOWN after Quit is pressed.\n"
8945    "   For some reason, this was blocking proper Undo-ing if the user did Quit,\n"
8946    "   then restarted the editor.\n"
8947    },
8948 
8949   { 27,SEP,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8950    "* Modified thd_md5.c to add UNIQ_idcode() function, which produces strings\n"
8951    "   like 'USA_mFs+P-tnCc1vQQM0UuL0Hg', using a modified Base64 encoding of\n"
8952    "   the MD5 sum of some system info and the current time.\n"
8953    "* Modified thd_base64.c to avoid use of mrilib.h (so it can be easily used\n"
8954    "   by non-AFNI programmers).\n"
8955    "* Modified thd_idcode.c to use UNIQ_idcode() instead of older method.\n"
8956    "* Modified 3ddata.h to extend length of MCW_idcode string to 32 (so can\n"
8957    "   use results of UNIQ_idcode()).\n"
8958    },
8959 
8960   { 1,OCT,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8961    "* Modified afni_plugin.c to make plugin alphabetization the default (that\n"
8962    "   is, the user has to 'setenv AFNI_PLUGINS_ALPHABETIZE NO' to get the\n"
8963    "   old behavior).\n"
8964    },
8965 
8966   { 16,OCT,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8967    "* Took new FD2.c from Andrzej Jesmanowicz, with changes to run with X11\n"
8968    "   TrueColor visual.\n"
8969    },
8970 
8971   { 18,OCT,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8972    "* Modified thd_loaddblk.c to make THD_load_datablock() have only 1 argument;\n"
8973    "   the 'freeup' argument is moved to a file-scope variable, and is set\n"
8974    "   by calling new function THD_set_freeup().\n"
8975    "* Modified lots of programs to use modified THD_load_datablock() correctly.\n"
8976    "* Modified DSET_load() macro in 3ddata.h.\n"
8977    "* Modified afni.c to use THD_set_freeup() with AFNI_purge_unused_dsets().\n"
8978    "* Added macro mri_zero_image() to mrilib.h.\n"
8979    "* Modified thd_fdto1D.c to zero output, then only access non-NULL bricks;\n"
8980    "   this is to prevent crashes when a user tries to graph a dataset that\n"
8981    "   didn't load correctly (cf. Sally Durgerian).\n"
8982    "* On some Solaris systems, displayed to SGI systems (cf. Mike Beauchamp),\n"
8983    "   Button 3 doesn't always seem to get passed through.  The following\n"
8984    "   changes are to let Button 1 also popup 'hidden' menus\n"
8985    "     - imseq.c for wbar menu\n"
8986    "     - imseq.c for wimage menu (if Ctrl or Shift also pressed)\n"
8987    "     - afni_setup.c for Inten menu\n"
8988    "     - afni_func.c for Hidden menu (in logo square)\n"
8989    "     - plug_render.c for Inten menu and Xhair menu (latter is Button 2)\n"
8990    "   However, these changes don't seem to work - the mouse events aren't\n"
8991    "   received.  Ugh.\n"
8992    },
8993 
8994   { 19,OCT,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
8995    "* Fixed bug in imseq.c: if pnmtops was NOT found but epstopdf WAS found,\n"
8996    "   then the program would crash (this is the Ben Xu memorial bug).\n"
8997    "* Modified thd_winsor.c and 3dWinsor.c to have new '-clip' option.\n"
8998    },
8999 
9000   { 22,OCT,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9001    "* Fixed bug in 3dvolreg.c about -twopass weight brick (noted by\n"
9002    "   William Gandler of the NIH).\n"
9003    },
9004 
9005   { 25,OCT,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9006    "* Added '-q' (quiet) option to afni.c (also affected afni.h, afni_widg.c,\n"
9007    "   and afni_plugin.c).\n"
9008    "* Fixed bug in AFNI_set_viewpoint() in afni.c, so that the AGNI node\n"
9009    "   is looked up only if we are in 'view brick' mode.\n"
9010    "* Added program Vecwarp.c, at the request of David van Essen of Wash U.\n"
9011    },
9012 
9013   { 26,OCT,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9014    "* Added THD_surefit_to_dicomm() to agni.[ch] (from Vecwarp.c).\n"
9015    "* Modified agni.c to allow SureFit coord files to be read directly\n"
9016    "   using <SureFit coord=filname IDadd=number/> in .SURF file.\n"
9017    },
9018 
9019   { 29,OCT,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9020    "* Added thd_mincread.c to read MINC format files as AFNI datasets.\n"
9021    "   Also changed 3ddata.h, afni.c, thd_initsess.c, thd_mastery.c,\n"
9022    "   thd_opendset.c, etc., and include subdirectory netcdf-3.5.0/\n"
9023    "   that hold the NetCDF library.\n"
9024    },
9025 
9026   { 30,OCT,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9027    "* Modified MINC stuff to use AFNI_MINC_FLOATIZE environment to\n"
9028    "   control conversion to internal floats, and to use\n"
9029    "   AFNI_MINC_DATASETS to control whether AFNI itself looks\n"
9030    "   at .mnc files.\n"
9031    "* Added program 3dMINCtoAFNI.c to re-write a MINC file into an AFNI\n"
9032    "   dataset; 3drefit may be useful afterwards.\n"
9033    },
9034 
9035   { 1,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9036    "* Modified thd_mincread.c to allow :step attribute of dimensions\n"
9037    "   to be missing (default=1), and even to allow the dimension\n"
9038    "   variables to be missing.\n"
9039    "* Modified mri_new.c to use calloc() instead of malloc().\n"
9040    "* Modified MCW_choose_string() in bbox.c to use length of 1st line\n"
9041    "   of label arg as size of text box, rather than strlen(label).\n"
9042    "* Modified afni_func.c to change way the 'Read Web' button presents\n"
9043    "   its chooser, and put some sample Web datasets on the server.\n"
9044    },
9045 
9046   { 2,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9047    "* Modified 3dmerge.c to protest if an input dataset (for merge)\n"
9048    "   can't be loaded.  Also changed edt_onedset.c to use DSET_LOADED()\n"
9049    "   macro.\n"
9050    },
9051 
9052   { 5,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9053    "* Modified thd_dsetto1D.c to break THD_extract_series() into two\n"
9054    "   functions.  The new function THD_extract_array() returns data\n"
9055    "   in an array supplied by the caller.  This is used in thd_median.c\n"
9056    "   and thd_outlier_count.c to avoid the malloc/free cycle on\n"
9057    "   thousands of voxel time series.\n"
9058    "* Modified thd_cliplevel.c to check bounds on hist[] array when\n"
9059    "   loading it with shorts, and to increase size of hist[] by 1.\n"
9060    "   (This last problem was causing to3d to crash.)  Also modified\n"
9061    "   3dClipLevel.c in the same way.\n"
9062    "* Modified coxplot/plot_motif.c to disable 'PS->printer' button if\n"
9063    "   environment variable AFNI_PSPRINT isn't set.\n"
9064    "* Modified machdep.c to do enable_mcw_malloc() if environment variable\n"
9065    "   AFNI_FORCE_MCW_MALLOC is yessish.  Modified mcw_malloc.c to have\n"
9066    "   enable_mcw_malloc() return immediately if it is already enabled.\n"
9067    "* Modified qmedmad_float() in cs_qmed.c to free workspace array when\n"
9068    "   done with it (oopsie).\n"
9069    },
9070 
9071   { 7,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9072    "* Modified afni_plugout.c to call AFNI_driver() function in response\n"
9073    "   to 'DRIVE_AFNI' commands.\n"
9074    "* Added afni_driver.c and AFNI_driver() function to carry out some\n"
9075    "   user interface functionality from a plugout\n"
9076    "     - open windows, close windows\n"
9077    "     - switch sessions, datasets\n"
9078    "     - rescan this\n"
9079    "     - quit\n"
9080    "* Added a button to the Datamode->Misc menu to start plugouts.\n"
9081    },
9082 
9083   { 8,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9084    "* Modified afni_driver.c to allow the OPEN_WINDOW function to have\n"
9085    "   layout parameters geom=, ifrac=, mont=, matrix=, and pinnum=.\n"
9086    },
9087 
9088   { 9,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9089    "* Replaced isblank() in afni_driver.c with isspace() - the former\n"
9090    "   is a GNU extension, the latter is standard.\n"
9091    },
9092 
9093   { 12,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9094    "* Modified imreg.c to have -cmass option for pre-alignment of\n"
9095    "   center of mass.\n"
9096    },
9097 
9098   { 13,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9099    "* Modified afni_driver.c to allow OPEN_WINDOW to open a plugin.\n"
9100    "* Modified afni_splash.c so that layout code doesn't check plugin\n"
9101    "   widgets if this is a custom plugin (which won't put widgets\n"
9102    "   into the 'plint' struct).\n"
9103    },
9104 
9105   { 14,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9106    "* Added OPEN_GRAPH_XY (etc.) to afni_driver.c, to display graphs\n"
9107    "   from plugout data.\n"
9108    },
9109 
9110   { 15,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9111    "* Added plot_strip.c to coxplot/, for doing timeseries plots with\n"
9112    "   recyling back to the left when the graph is full.\n"
9113    "* Added OPEN_GRAPH_1D (etc.) to afni_driver.c.\n"
9114    "* Added cutoff() to afni_plugout.c when it closes a socket.\n"
9115    },
9116 
9117   { 16,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9118    "* Modified coxplot/plot_strip.c to add an X at the end of each\n"
9119    "    evolving graph.\n"
9120    "* Modified afni_driver.c to have command SET_GRAPH_GEOM.\n"
9121    },
9122 
9123   { 20,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9124    "* Modified coxplot/plot_cox.c to have functions to convert between\n"
9125    "    user and memplot coordinates.\n"
9126    "* Modified afni_driver.c to remove debug print statements, and to\n"
9127    "    add some comments.\n"
9128    },
9129 
9130   { 21,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9131    "* Modified thd_iochan.[ch] to set an error string in some functions.\n"
9132    "    This can be retrieved with iochan_error_string().\n"
9133    "* Modified afni_plugout.[ch] to listen for connections on socket ports\n"
9134    "    7955..7959.\n"
9135    "* Modified afni_plugout.[ch] to break input command strings from plugouts\n"
9136    "    into substrings (separated by NULs) and execute them all.  This will\n"
9137    "    let AFNI catch up when a plugout races ahead during a dataset read\n"
9138    "    or a window resize, for example.\n"
9139    },
9140 
9141   { 27,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9142    "* Modified mri_read.c to apply the 'funused1' entry in the Analyze .hdr\n"
9143    "    file as a scale factor.\n"
9144    "* Added mri_scale_inplace() function (mri_scale.c).\n"
9145    },
9146 
9147   { 28,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9148    "* Modified mri_read.c to also allow floatizing of Analyze .img files,\n"
9149    "    and guessing at orientation via SPM.\n"
9150    },
9151 
9152   { 29,NOV,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9153    "* mri_write_analyze() function to write an MRI_IMAGE to Analyze files.\n"
9154    "* 3dAFNItoANALYZE program to write a dataset to Analyze files.\n"
9155    "* Added -prefix option to 3dclust.c.\n"
9156    },
9157 
9158   { 3,DEC,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9159    "* Changes to mri_read() in mri_read.c to understand GEMS headers.\n"
9160    "* Changes to to3d.c to understand the GEMS header stuff, including\n"
9161    "    a default TR (if user supplies TR=0).\n"
9162    },
9163 
9164   { 4,DEC,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9165    "* Cleaned up mri_read.c and to3d.c a little.\n"
9166    "* Got some small changes to 3dIntracranial.c from Doug Ward (-nosmooth).\n"
9167    "* New program ge_header.c prints out GEMS header information.\n"
9168    },
9169 
9170   { 7,DEC,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9171    "* Modified 3daxialize.c to allow arbitrary orientation of output\n"
9172    "    (-orient option).  Also changes to ORCODE() macro in thd.h\n"
9173    "    and to3d.h, and added new function to thd_fdbrick.c.\n"
9174    "* Modified imseq.c, afni_widg.c, afni.c, afni_graph.c, plug_render.c\n"
9175    "    and xutil.h to change cursor slightly when it moves over a\n"
9176    "    window that has a hidden Button-3 popup menu.\n"
9177    "* Modified 3dTstat.c to have NOD (no-detrend) versions of -stdev\n"
9178    "    and -cvar.\n"
9179    "* Modified afni_widg.c to implement AFNI_START_SMALL.\n"
9180    },
9181 
9182   { 11,DEC,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9183    "* Fixed stupid errors in the cursor stuff, and propagated the changes\n"
9184    "    to more places, so that most AFNI windows should now be properly\n"
9185    "    cursorized.\n"
9186    "* Fixed bug in to3d.c - 1 slice with TR=0 on command line would crash.\n"
9187    "* Modified bbox.[ch] to allow user to set menu column length via\n"
9188    "    environment variable AFNI_MENU_COLSIZE.\n"
9189    "* Modified bbox.c to allow user to use Button-3 to popup a list chooser\n"
9190    "    for optmenus.\n"
9191    },
9192 
9193   { 13,DEC,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9194    "* Modified bbox.c to do XUngrabPointer if user presses Button-2 to try\n"
9195    "    to popup a list chooser for optmenus.  If the optmenu is inside a\n"
9196    "    popup menu, Motif never does an XUngrabPointer, thus freezing the\n"
9197    "    X server until afni is killed from outside.  This seems to avoid\n"
9198    "    that problem.\n"
9199    },
9200 
9201   { 20,DEC,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9202    "* Modified ge_header.c to use -verb option to print out more stuff.\n"
9203    "* Modified to3d.c to set default dataset type to ANAT_EPI_TYPE (-epan)\n"
9204    "    if user is creating a 3D+time dataset.\n"
9205    "* Modified mri_read.c and to3d.c to correctly calculate and use\n"
9206    "    MRILIB_xoff and MRILIB_yoff for GEMS images.\n"
9207    "* Modified afni.h, afni.c, afni_func.c to implement AFNI_GLOBAL_SESSION\n"
9208    "    environment variable.\n"
9209    },
9210 
9211   { 21,DEC,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9212    "* Fixed up some rescan session problems with AFNI_GLOBAL_SESSION datasets.\n"
9213    "    (We don't want to let them be destroyed or descendant-ized.)\n"
9214    },
9215 
9216   { 28,DEC,2001 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9217    "* Modified matrix.[ch] and RegAna.c to speed up some of Doug Ward's\n"
9218    "    matrix-vector calculations, to make 3dDeconvolve faster.  Makes\n"
9219    "    it about 22% faster on an Athlon/Linux box.\n"
9220    },
9221 
9222   { 8,JAN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9223    "* Modifications to make AFNI work under CYGWIN (www.cygwin.com)\n"
9224    "   - Removed shm stuff from thd_iochan.c\n"
9225    "   - Compile plugins directly into afni.exe (no dlopen)\n"
9226    "   - Changing Makefile.cygwin and Makefile.INCLUDE to make\n"
9227    "     PLUGIN_init() function have different names for each\n"
9228    "     plugin compiled on CYGWIN\n"
9229    "   - At this time, 3dNLfim, 3dTSgen, plug_nlfit, and plug_wavelets\n"
9230    "     are not compiled for CYGWIN since they present difficulties.\n"
9231    },
9232 
9233   { 28,JAN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9234    "* Modified cs_qhull.c to use centroid instead of normal for midpoint.\n"
9235    },
9236 
9237   { 29,JAN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9238    "* Modified afni.c function AFNI_setup_viewing() to correct problem when\n"
9239    "   viewing the same functional bucket in two controllers - the bucket\n"
9240    "   widgets might not get set up correctly due to false memories.\n"
9241    },
9242 
9243   { 30,JAN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9244    "* New program 3dAutoTcorrelate.c for PAB.\n"
9245    },
9246 
9247   { 31,JAN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9248    "* Modified imseq.c to allow scrollbars on the Disp button dialog, if\n"
9249    "    AFNI_DISP_SCROLLBARS is yessish.\n"
9250    "* Modified imseq.[ch] and afni.[ch] to provide slice_proj projection\n"
9251    "    functionality.\n"
9252    },
9253 
9254   { 1,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9255    "* Put most transform functions from afni.c and imseq.c into new file\n"
9256    "     afni_transforms.c.\n"
9257    "* Added 3dFDR.c from Doug Ward, and some changes to 3dDeconvolve.\n"
9258    },
9259 
9260   { 2,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9261    "* Added extreme_proj() to afni_transforms.c.\n"
9262    },
9263 
9264   { 4,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9265    "* Modified thd_getpathprogs.c to correctly skip searching the same\n"
9266    "   directory twice, rather than the cheap (strstr) way done before.\n"
9267    "   The old way caused problems when /usr/bin/ was ahead of /bin/,\n"
9268    "   for example.\n"
9269    "* Similar changes to NLfit_model.c, afni_plugin.c, and thd_get1D.c.\n"
9270    "* Removed the NULLIFY_ON_DESTROY() call for the whereami textwin in\n"
9271    "   afni.c, since the kill function for this window does the same\n"
9272    "   thing.  This may be the cause of the bug that Jill Weisberg\n"
9273    "   reported (that the whereami function stops working and then\n"
9274    "   crashes AFNI when the user presses the Quit button).\n"
9275    },
9276 
9277   { 5,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9278    "* Put #undef USE_TRACING in FD2.c, since it uses STATUS() for something\n"
9279    "    else.\n"
9280    },
9281 
9282   { 6,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9283    "* Adapted modified plug_histog.c from Vinai Roopchansingh (added the\n"
9284    "   'Output' option to write results to a file).\n"
9285    },
9286 
9287   { 19,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9288    "* Modified 3dAutoTcorrelate.c to add '-time' option.\n"
9289    },
9290 
9291   { 25,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9292    "* Adapted modified 3dDeconvolve.c from Doug Ward.\n"
9293    "* Modified thd_getpathprogs.c to skip path elements that aren't directories\n"
9294    "   (some people have no clue, do they?).\n"
9295    },
9296 
9297   { 26,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9298    "* Modified afni.c to fix up the bucket widgets in AFNI_setup_viewing() again\n"
9299    "   (cf. 29,JAN,2002)\n"
9300    },
9301 
9302   { 27,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9303    "* Modified various files to replace 'AGNI' with 'SUMA' (SUrface MApper).\n"
9304    "   For example, we now have afni_suma.[ch] instead of agni.[ch].\n"
9305    },
9306 
9307   { 28,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9308    "* Fixed a small problem with thd_info.c (damn you, Jim Haxby).\n"
9309    "* Incorporated a few more 3dDeconvolve changes from Doug Ward.\n"
9310    "* First cut at putting niml.[ch] into AFNI, along with afni_niml.c.\n"
9311    },
9312 
9313   { 6,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9314    "* Many changes over the last few weeks to include NIML support for\n"
9315    "   talking to Ziad Saad's SUMA program.\n"
9316    },
9317 
9318   { 7,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9319    "* Modified afni_graph.c (and afni_pplug_env.c) to make Button3 popup\n"
9320    "   text info window be a scrollable textwin rather than a menu popup\n"
9321    "   if the number of lines is too long; 'too long' is defined by new\n"
9322    "   environment variable AFNI_GRAPH_TEXTLIMIT.\n"
9323    "* Modified mrilib.h to add field 'was_swapped' to MRI_IMAGE struct.\n"
9324    "   Then modified mri_read.c to set this field if it auto-swaps the\n"
9325    "   image on input.  Then modified to3d.c to skip doing -2swap/-4swap\n"
9326    "   on such images.\n"
9327    },
9328 
9329   { 8,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9330    "* Modified afni_graph.c and afni.c to add 2 environment variables to\n"
9331    "   let user set the initial graph baseline parameters.\n"
9332    "* Modified afni_func.c, afni.c, and afni.h to allow the Define Function\n"
9333    "   value label to be recomputed/redisplayed even if only 1 image\n"
9334    "   window is open.\n"
9335    },
9336 
9337   { 10,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9338    "* Modified coxplot/plot_cox.c, plot_x11.c, plot_ps2.c to allow circles.\n"
9339    "* Modified afni.c, afni_pplug_env.c to use environment variables to set\n"
9340    "   SUMA overlay box size and color.\n"
9341    "* Modified imseq.c so that 'q' keypress causes a window close (to make\n"
9342    "   this window like the various graph windows).\n"
9343    "* Modified afni_niml.c to receive SUMA_ijk triangles.\n"
9344    "* Modified afni.c to draw triangle/slice intersection lines.\n"
9345    "* Modified afni.c to allow specification of AFNI_FIM_IDEAL on startup.\n"
9346    "* Modified afni.c to set Dummy session directory to 1st argv directory.\n"
9347    },
9348 
9349   { 11,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9350    "* Modified afni.c to have SUMA overlay box and line color environment\n"
9351    "   strings set to 'none' mean to skip that overlay step.  (The lines\n"
9352    "   look better without the boxes.)\n"
9353    },
9354 
9355   { 12,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9356    "* Implemented 'zoom' feature in imseq.c (with a little help from bbox.h).\n"
9357    "* Modified mri_dup.c to allow linear as well as heptic upsampling.\n"
9358    "   Use this for faster zooming in imseq.c.\n"
9359    },
9360 
9361   { 13,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9362    "* Modified imseq.c to not reload the zoomed Pixmap if the image isn't new.\n"
9363    "   This speeds up scrolling the zoomed image quite a lot.\n"
9364    "* Modified coxplot/plot_x11.c to work properly if the first call to the\n"
9365    "   rendering function is into a Pixmap instead of a Window.\n"
9366    "* Fixed a bug in niml.c that created NIML_TRUSTHOST_%2d environment variable\n"
9367    "   names - should have been NIML_TRUSTHOST_%02d (D'oh).\n"
9368    "* Modified mri_dup.c to upsample byte-values images by 2/3/4 in special code.\n"
9369    "   This makes imseq.c zooming faster.\n"
9370    },
9371 
9372   { 14,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9373    "* Modified mri_dup.c to use 171/256, 85/256 as approximations to 2/3, 1/3 for\n"
9374    "   upsampling byte arrays by 3 - this avoids a division, and should be\n"
9375    "   faster.  Also a function to do upsample by 4 of 2D RGB images all at\n"
9376    "   once - this turns out to be worth the effort - speeds up nearly twice.\n"
9377    "* Modified thd_loaddblk.c to check if sub-bricks are all the same datum; if\n"
9378    "   not, always uses malloc() and also prints a warning to stderr.\n"
9379    "* Incorporated changes from Doug Ward\n"
9380    "   * The group statistical analysis programs (3dANOVA, 3dANOVA2, 3dANOVA3,\n"
9381    "     3dRegAna, 3dMannWhitney, 3dWilcoxon, 3dKruskalWallis, 3dFriedman), when\n"
9382    "     creating an AFNI 2-subbrick dataset or a bucket-type dataset, previously\n"
9383    "     used the following format for the output datum types\n"
9384    "        'intensity' sub-bricks -- same as input dataset\n"
9385    "        statistical sub-bricks -- scaled short integer\n"
9386    "     The above programs have been changed so that all output subbricks\n"
9387    "     will now have the scaled short integer format.\n"
9388    "   * Modified program 3dbucket, so that if there is more than one input\n"
9389    "   dataset, it will copy the command line history from the first input\n"
9390    "   to the output bucket dataset.\n"
9391    },
9392 
9393   { 15,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9394    "* Modified imseq.c ISQ_show_zoom() function to discard old zoomed image if\n"
9395    "   the pixmap had to be re-created.\n"
9396    "* Modified mri_dup.c to do 3x RGB upsample in special function, too.\n"
9397    "* Modified imseq.c to do panning with Button1 when the new 'pan' button\n"
9398    "   is on - the 'old' arrowpad buttons have been excised.\n"
9399    },
9400 
9401   { 16,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9402    "* Modified afni.c to not start NIML until the startup timeout is called.\n"
9403    "   Otherwise, very early data might try to popup a window before that\n"
9404    "   is possible.  Also, made NIML be turned on by default.\n"
9405    "* Modified afni_niml.c to have the popup messages include the I/O and\n"
9406    "   processing time for large data elements.\n"
9407    "* Modified imseq.c (and afni_pplug_env.c) to keep panning mode on if\n"
9408    "   AFNI_KEEP_PANNING is yessish.\n"
9409    "* Modified xim.c to speed up rgb_to_XImage(), by doing TrueColor and\n"
9410    "   PseudoColor in separate functions.\n"
9411    },
9412 
9413   { 17,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9414    "* Modified afni_niml.c to disable NIML listening if all potential sockets\n"
9415    "   are busy.  This is to prevent an endless series of error messages\n"
9416    "   when 2 AFNIs are running at once.\n"
9417    "* Modified afni.c to add option '-noniml'.\n"
9418    },
9419 
9420   { 18,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9421    "* Modified afni.c to make it necessary to use -niml or AFNI_NIML_START to\n"
9422    "   have NIML listening activated from the beginning.\n"
9423    },
9424 
9425   { 22,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9426    "* Modified mri_dup.c to correctly shift RGB images by 1/2 pixel.\n"
9427    "* Modified afni.c to correctly draw coordinates for lines shifted by 1/2 pixel.\n"
9428    "* Modified afni.c and afni_pplug_env.c to allow user to draw crosshairs with\n"
9429    "   lines instead of overlay pixels.\n"
9430    },
9431 
9432   { 23,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9433    "* Modified imseq.c to zoom and draw overlays on Save One images.\n"
9434    },
9435 
9436   { 25,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9437    "* Modified imseq.c to crop saved zoomed images if ordered by environment\n"
9438    "   variable AFNI_CROP_ZOOMSAVE.\n"
9439    },
9440 
9441   { 26,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9442    "* Modified imseq.c to save zoomed images in filtered Save many code as well\n"
9443    "   (including animations).  Also set 'Save to .ppm' as the default save mode,\n"
9444    "   if possible.\n"
9445    },
9446 
9447   { 27,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9448    "* Modified 3dinfo.c, thd_info.c to have a -short option.\n"
9449    "* Modified imseq.c to have isqDR_options save the output filter, rather than\n"
9450    "   reset it. (Otherwise, Left-is-Left loses the new default 'Save to .ppm'.)\n"
9451    "* Modified parser.f and 3dcalc.c to include a mad() function.\n"
9452    },
9453 
9454   { 28,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9455    "* Added function mri_move_guts() to mri_free.c, in preparation for multi-\n"
9456    "   plotting in afni_graph.c.\n"
9457    },
9458 
9459   { 29,MAR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9460    "* Modified afni_graph.c to accept multi-plot timeseries.\n"
9461    "* Added plug_nth_dataset.c to generate multi-plot timeseries.\n"
9462    "* Fixed bug in to3d.c that disabled -4swap option (from 07,MAR,2002).\n"
9463    },
9464 
9465   { 5,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9466    "* Added (x,y,z) coord printout to 'Where Am I' window.\n"
9467    "* Modified imseq.[ch] to remove ALLOW_ZOOM conditional, and allow zoom/pan\n"
9468    "   from 'z', 'Z', and 'p' keystrokes.\n"
9469    },
9470 
9471   { 9,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9472    "* Some minor changes to machdep.[ch] to make AFNI work on Mac OS X 10.1.3.\n"
9473    },
9474 
9475   { 10,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9476    "* Remove malloc.h include from mpeg_encode files for OS X compatibility.\n"
9477    "* Modify thd_automask.c to only keep largest connected component.\n"
9478    "* New program 3dAutomask.\n"
9479    "* Modified a few programs to use -automask as a synonym for -autoclip\n"
9480    "   3dAutoTcorrelate.c, 3dTcorrelate.c, 3dToutcount.c, and 3dTqual.c.\n"
9481    },
9482 
9483   { 11,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9484    "* New program 3dAFNItoMINC.c, and new function thd_mincwrite.c.\n"
9485    "* Fixed bug in thd_mincread.c: it formerly scaled float inputs, which\n"
9486    "   apparently is wrong.\n"
9487    },
9488 
9489   { 15,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9490    "* Changes to afni.c, afni_func.c, afni_slice.c, afni_warp.c, etc., to allow\n"
9491    "   MRI_rgb-valued datasets.  These can be created in to3d from ppm input\n"
9492    "   files.\n"
9493    },
9494 
9495   { 16,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9496    "* Modified thd_mincread.c to correctly use lower end of valid_range[].\n"
9497    "* Modified thd_mincwrite.c to use '-range -scan_range' flags with\n"
9498    "   rawtominc program.\n"
9499    "* Modified 3dvolreg.c and 3drotate.c to make -clipit the default.\n"
9500    "* New program 3dThreetoRGB.c to create RGB datasets from 3 bricks.\n"
9501    "* Modified mri_read.c to use new '3Dr:' input format for RGB files.\n"
9502    "* Modified 3dAutomask.c to add history note.\n"
9503    "* Modified afni_plugin.h and NLfit_model.h to read dlfcn.h from\n"
9504    "   dlcompat/ subdirectory on Darwin systems.\n"
9505    "* Modified afni.c to allow environment variables to set +tlrc box size.\n"
9506    },
9507 
9508   { 17,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9509    "* Modified afni_sumafunc.c to allow for MRI_rgb fim overlays.\n"
9510    },
9511 
9512   { 18,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9513    "* Modified thd_automask.c to erode/dilate the result, so as to clip off\n"
9514    "   tenuously connected blobs.\n"
9515    "* Modified edt_clust.c to make MCW_erode_clusters() return void, not\n"
9516    "   void *, since it doesn't actually return anything.\n"
9517    },
9518 
9519   { 19,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9520    "* Modified thd_automask.c to have fill in functions.\n"
9521    "* Modified 3dAutomask.c to have -fillin option.\n"
9522    "* Modified cox_render.c to remove memset() of new image to 0, since\n"
9523    "   mri_new() does this since 01,NOV,2001.\n"
9524    },
9525 
9526   { 22,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9527    "* Modified debugtrace.h to include 'last_status' variable: keeps of copy of the\n"
9528    "   last STATUS() string, and prints it when the program crashes.\n"
9529    "* Modified thd_dsetdblk.c to deal with NULL dataset at very end - the SUMA stuff\n"
9530    "   didn't check for that, which caused a crash if the dataset couldn't be\n"
9531    "   constructed.\n"
9532    },
9533 
9534   { 26,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9535    "* At last seem to have figured out how to make the orientations change\n"
9536    "   w.r.t. spatial axes - added these changes to plug_crender.c.\n"
9537    },
9538 
9539   { 28,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9540    "* Added the orientation changes to plug_render.c as well.\n"
9541    },
9542 
9543   { 29,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9544    "* New functions in thd_mnicoords.c to translate TT atlas coords to/from\n"
9545    "   MNI template coords.\n"
9546    "* Used above in thd_ttatlas_query.c.\n"
9547    "* Samia Saad was born today!\n"
9548    },
9549 
9550   { 30,APR,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9551    "* Modified 3dclust.c to add -mni option.\n"
9552    "* Modified 3dclust.c, edt_clust.c, edt_clustarr.c, edt_onedset.c to allow\n"
9553    "   cluster rmm=0 to imply 6 NN clustering, vmul=0 to mean no volume editing,\n"
9554    "   and vmul<0 to mean min volume = fabs(vmul) voxels.\n"
9555    "* Modified plug_drawdset.c to add 'Flood->Val/Zer' option.  Also to turn\n"
9556    "   'See Function' on if the edited dataset is functional type.\n"
9557    "* Added edt_clust2.c (NIH_find_clusters) to implement ISOVALUE_MODE and\n"
9558    "   ISOMERGE_MODE.\n"
9559    "* Incorporated Ziad Saad's Ifile program into AFNI distribution.\n"
9560    },
9561 
9562   { 1,MAY,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9563    "* Added 'Jump to (MNI)' button to image popup menu (afni_widg.c and afni.c).\n"
9564    },
9565 
9566   { 7,MAY,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9567    " Changes from Doug Ward\n"
9568    "* The -one_col option has been added to program RSFgen.  With this option,\n"
9569    "   the input stimulus functions are written as a single column of decimal integers\n"
9570    "   (rather than multiple columns of binary numbers).\n"
9571    "* The -stim_base option was added to Program 3dDeconvolve.  This modification\n"
9572    "   allows the user to specify which input stimulus functions are to be included\n"
9573    "   as part of the baseline model.  By default, the input stimulus functions are\n"
9574    "   not included in the baseline model.  This option will effect the output values\n"
9575    "   for the Full Model R^2 and Full Model F-stat, since these statistics indicate\n"
9576    "   the significance of the full regression model relative to the baseline model.\n"
9577    "   This option might be useful, for example, when the estimated motion parameters\n"
9578    "   are included as input stimulus functions.  In most cases, the user would want\n"
9579    "   the motion parameters to be part of the baseline model.  By indicating that\n"
9580    "   the motion parameters are part of the baseline model, they will not contribute\n"
9581    "   to the full regression model sum of squares.\n"
9582    "* The Deconvolution plugin was also modified to incorporate the above change.\n"
9583    "   On the far right of each stimulus function input line of the Deconvolution\n"
9584    "   plugin interface, there is a new option chooser labeled 'Base', which allows\n"
9585    "   the user to specify that this stimulus function is to be considered as part of\n"
9586    "   the baseline model.\n"
9587    "* The Deconvolution plugin was modified to allow a better graphical\n"
9588    "   representation of the estimated impulse response function when the user selects\n"
9589    "   option DC_IRF under Tran 1D of the graph options menu.  When using the DC_IRF\n"
9590    "   function, note that the Double Plot option should be set to 'Off'.\n"
9591    "* The 3dDeconvolve documentation was updated to reflect the above changes.\n"
9592    "   In particular, see Examples 1.4.3.2 and 2.3.2 of the Deconvolution manual in\n"
9593    "   file 3dDeconvolve.ps.\n"
9594    },
9595 
9596   { 11,MAY,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9597    "* Modified afni.c to put global session datasets into sessions as they\n"
9598    "  are read, rather than later - this allows the anats in the global\n"
9599    "  session to allow a session to be used, even if there are no funcs\n"
9600    "  in the directory.\n"
9601    },
9602 
9603   { 14,MAY,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9604    "* Modified 3dZeropad.c to have -master option.\n"
9605    "* Modified thd_zeropad.c to return full copy of dataset if input add/cut\n"
9606    "  values are all zero (used to return NULL).\n"
9607    },
9608 
9609   { 17,MAY,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9610    "* Modified imseq.c to allow image fraction change with 'i', 'I' keys.\n"
9611    },
9612 
9613   { 28,MAY,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9614    "* Modified 3drefit.c to add -clear_bstat option.\n"
9615    "* Modified 3dAutomask.c to remove -fillin option.\n"
9616    "* Modifed thd_automask.c to make fillin = brick size/60, and to make\n"
9617    "   final mask = complement of largest component of zeros.\n"
9618    },
9619 
9620   { 31,MAY,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9621    "* Adapted shm stuff from thd_iochan.c to niml.c.\n"
9622    },
9623 
9624   { 4,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9625    "* Modified 3dAutomask.c to print out how many planes are cut off in the\n"
9626    "   the mask.\n"
9627    "* Modified thd_automask.c to be faster.\n"
9628    },
9629 
9630   { 6,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9631    "* New programs 3dAutobox.c and 3dLRflip.c.\n"
9632    "* New function mri_cut_3D() in mri_cut.c.\n"
9633    "* Modified mri_3dalign.c to do trimming to save memory.\n"
9634    "* Modified 3dvolreg.c to add -wtrim and -wtinp options.\n"
9635    },
9636 
9637   { 7,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9638    "* Refined default threshold for termination of 3dvolreg.c.\n"
9639    },
9640 
9641   { 10,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9642    "* Modified afni.h and afni.c to incorporate RGBCYC cyclic color map from\n"
9643    "   Ziad Saad.\n"
9644    },
9645 
9646   { 12,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9647    "* Modified imseq.[ch] to add image cropping facility (Shift+Button2).\n"
9648    "* Added function RWC_drag_rectangle() to xutil.c.\n"
9649    "* Put MRI_COPY_AUX() into mri_cut.c (oops).\n"
9650    },
9651 
9652   { 14,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9653    "* Modified coxplot/plot_x11.c to remove offset of 0.5 pixels from\n"
9654    "   line drawing code.\n"
9655    "* Modified imseq.c to fix scaling of memplot overlays when cropping.\n"
9656    },
9657 
9658   { 17,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9659    "* Added 'crop' pushbutton to imseq.[ch].\n"
9660    "* Modified default font for imseq to 7x13 in afni.c, and\n"
9661    "   modified imseq.c to shrink button margins, to squish widgets together.\n"
9662    },
9663 
9664   { 19,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9665    "* Fixed clipping error in plot_cox.c (dangling else problem, d'oh).\n"
9666    },
9667 
9668   { 20,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9669    "* Modified mri_read_ascii() to catenate lines that end in '\\', and do\n"
9670    "   some other minor stuff ('//' as a comment line, etc.).\n"
9671    "* Modified thd_loaddblk.c (etc.) to support STORAGE_BY_VOLUMES.\n"
9672    },
9673 
9674   { 21,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9675    "* Modified thd_info.c to print out disk storage mode of dataset.\n"
9676    "* Started work on 3dANALYZEtoAFNI.c.\n"
9677    },
9678 
9679   { 24,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9680    "* Modified mri_read_analyze75() in mri_read.c to store funused1 scale\n"
9681    "   factor into dv MRI_IMAGE header field, for use in 3dANALYZEtoAFNI.c.\n"
9682    "* Modified thd_writedset.c to allow re-writing of a VOLUMES dataset\n"
9683    "   .HEAD file.\n"
9684    "* Modified plug_realtime.c to allow single slice dataset input (nzz=1).\n"
9685    },
9686 
9687   { 25,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9688    "* Modified rtfeedme.c a little for debugging purposes.\n"
9689    "* Modified thd_iochan.c to print better messages with PERROR().\n"
9690    "* Modified plug_realtime.c to popup message when disk I/O is finished\n"
9691    "   after an acquisition ends.\n"
9692    },
9693 
9694   { 27,JUN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9695    "* Modified niml.c to add debugging output option (NIML_DEBUG).\n"
9696    "* Fixed scan_for_angles() in niml.c to disable timeouts in case (b).\n"
9697    },
9698 
9699   { 5,JUL,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9700    "* Modified 3dmerge.c to prevent use of -keepthr on fim and fbuc datasets.\n"
9701    },
9702 
9703   { 14,JUL,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9704    "* Removed the dicomm<->surefit functions from Vecwarp.c since they are now\n"
9705    "   in libmri.a via afni_suma.c, and the Sun compiler doesn't like this.\n"
9706    },
9707 
9708   { 15,JUL,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9709    "* Added mri_dicom_hdr.c and dicom_hdr.c - function and program to read/print\n"
9710    "   DICOM header info.  Adapted from dcm_dump_file.c from RSNA, per the\n"
9711    "   suggestion of Jack Lancaster.\n"
9712    },
9713 
9714   { 19,JUL,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9715    "* New function mri_read_dicom() to read images from DICOM files.\n"
9716    },
9717 
9718   { 23,JUL,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9719    "* Modified mri_read_dicom.c to get slice orientation and offsets.\n"
9720    },
9721 
9722   { 24,JUL,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9723    "* Modified UNIQ_idcode() in niml.c to get 4 extra bytes from /dev/urandom,\n"
9724    "   if it is readable.\n"
9725    },
9726 
9727   { 29,JUL,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9728    "* Modified AFNI_read_images() in afni.c to use im->dx,dy,dz in '-im' usage\n"
9729    "   of program, if images read have voxel spacing (e.g., Analyze).\n"
9730    "* Modified imseq.c to NOT turn off widgets if only 1 slice to display.\n"
9731    },
9732 
9733   { 30,JUL,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9734    "* Modified plug_realtime.c to accept DRIVE_AFNI commands in the image prolog.\n"
9735    "* Modified afni.c to allow plugouts during realtime.\n"
9736    "* Modified rtfeedme.c to send DRIVE_AFNI commands with the -drive option.\n"
9737    },
9738 
9739   { 31,JUL,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9740    "* New function EDIT_wod_copy() to create a warp-on-demand copy, like 3ddup.\n"
9741    "* Use this in afni.c when a directory has only functions, no anats.\n"
9742    "* Modified afni.c to allow -TRACE to work in realtime mode.\n"
9743    "* Modified afni.c, afni_widg.c to make plugouts not crash during realtime\n"
9744    "   mode (we hope).\n"
9745    },
9746 
9747   { 2,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9748    "* Modified plug_realtime.c to deal with multiple input channels.\n"
9749    "* Modified rtfeedme.c to send multiple dataset channels.\n"
9750    },
9751 
9752   { 5,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9753    "* Removed DEBUGTHISFILE macro from all places that used it.\n"
9754    "* Modified plug_realtime.c to deal with case when more channels than\n"
9755    "   controllers are in use.\n"
9756    },
9757 
9758   { 6,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9759    "* Modified afni_driver.c to allow 'iconify' option on OPEN_WINDOW commands.\n"
9760    "* Modified afni_driver.c to return controller index only if the input\n"
9761    "   string is only 1 character long or the 2nd character is a '.'.\n"
9762    "* Modified afni_func.c and bbox.c to deal with potential strlist[] overflow\n"
9763    "   problems.\n"
9764    },
9765 
9766   { 7,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9767    "* Fixed cl1.c and incorporated into libmri.a.\n"
9768    "* Added plugin plug_L1fit.c to provide a L1 analog to plug_lsqfit.c.\n"
9769    "* Modified 3dToutcount.c to use cl1_solve to remove trends before\n"
9770    "   outlier-ing.\n"
9771    },
9772 
9773   { 8,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9774    "* Added color save/load to afni_ttren.c.\n"
9775    },
9776 
9777   { 13,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9778    "* Modified imseq.c to destroy dialog widget before imseq top widget.\n"
9779    "* Fixed array overflow by 1 bug in mri_percents.c.\n"
9780    "* Modified mri_read.c to check for .hdr files before DICOM.\n"
9781    "* Modified 3dToutcount.c to save result as a FIM, and to save history.\n"
9782    },
9783 
9784   { 14,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9785    "* Modified various things (afni.h, afni.c, afni_niml.c, afni_suma.c)\n"
9786    "   to allow for multiple surfaces per dataset.\n"
9787    "* Modified niml.h to disable shm stuff for Cygwin.\n"
9788    },
9789 
9790   { 16,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9791    "* Modified imseq.[ch] and afni.c to suppress multiple image redraws\n"
9792    "   when an image window is first opened.\n"
9793    "* Modified plug_nudge.c to extend range of angle and shift choosers.\n"
9794    "* Modified xutil.h WAIT_for_window() macro to wait a little longer.\n"
9795    "   This is in an attempt to get rid of random problems with graph\n"
9796    "   windows opening with bad Pixmap contents.\n"
9797    },
9798 
9799   { 19,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9800    "* Modified afni_sumafunc.c (afni.h, etc.) to have a control panel for\n"
9801    "   surface stuff.  At this time, lets user set colors.\n"
9802    },
9803 
9804   { 20,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9805    "* Modifications to surface controls: hints, help, comments.\n"
9806    "* Added UUID functions to niml.[ch].\n"
9807    },
9808 
9809   { 21,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9810    "* Modified niml.c to add NI_mktemp(), and change use of /dev/urandom.\n"
9811    "* Modified machdep.c to change use of mallopt() for Linux - seems to\n"
9812    "   make big malloc()'s work better (?).\n"
9813    "* Modified thd_fetchdset.c to use niml.c functions, instead of the\n"
9814    "   older thd_http.c functions.\n"
9815    },
9816 
9817   { 23,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9818    "* Modified thd_loaddblk.c to print (stderr) a message when loading a\n"
9819    "   large dataset.\n"
9820    "* Modified niml.[ch] to implement NI_reopen_stream() and make a first\n"
9821    "   cut at NI_do().\n"
9822    },
9823 
9824   { 26,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9825    "* Added Htable (string/pointer pair) hash table functions to niml.[ch].\n"
9826    "* Added mri_read3D_analyze75() to mri_read.c, to read an ANALYZE file\n"
9827    "   as an array of 3D images, rather than 2D images.\n"
9828    },
9829 
9830   { 27,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9831    "* Modified mri_read*_analyze() functions to always floatize ANALYZE\n"
9832    "   data if the SPM funused1 scale factor is present.\n"
9833    "* Added ANALYZE (thd_analyzeread.c) file input to datasets.\n"
9834    },
9835 
9836   { 28,AUG,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9837    "* Modified thd_initsess.c and thd_analyzeread.c to support FSL/FEAT\n"
9838    "   input .map files.\n"
9839    },
9840 
9841   { 1,SEP,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9842    "* Program 3dDespike.c, to patch a problem with the 3T-1 scanner.\n"
9843    },
9844 
9845   { 3,SEP,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9846    "* Modify 3dDespike.c to allow float datasets, print nicer messages, etc.\n"
9847    "* Fix my_tanh() bug in 3dDespike.c, which was returning NaN for very\n"
9848    "   large inputs.\n"
9849    },
9850 
9851   { 4,SEP,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9852    "* More cosmetic changes to 3dDespike.c.\n"
9853    },
9854 
9855   { 9,SEP,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9856    "* ISHEADTYPE macro in 3ddata.h used '=' instead of '=='; this was bad.\n"
9857    "* 'Q' and 'q' quits in afni_widg.c and afni_func.c (hidden_EV).\n"
9858    },
9859 
9860   { 10,SEP,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9861    "* Modified mri_read_dicom.c to print out at most 9 warning messages of\n"
9862    "   each type.\n"
9863    "* Modified to3d.c to open X11 immediately when -nosave is used.  Also added\n"
9864    "   a bunch of ENTRY/RETURNs to ferret out a bug (it's still hidden).\n"
9865    "* Oops.  Forgot to fclose() the fopen()-ed file in mri_read_dicom.c.  This\n"
9866    "   was causing the problems in to3d mentioned above.\n"
9867    "* New program dicom_to_raw.c.\n"
9868    },
9869 
9870   { 30,SEP,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9871    "* Modified 3dAFNItoANALYZE.c (and mri_write_analyze.c) to allow output of\n"
9872    "   AFNI datasets into a 4D ANALYZE format file.\n"
9873    },
9874 
9875   { 1,OCT,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9876    "* Modified plug_realtime.c to allow input of notes via a NOTE command.\n"
9877    "   Also modified rtfeedme.c with -note option to test this out.\n"
9878    },
9879 
9880   { 3,OCT,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9881    "* Modified imseq.c to allow use of Shift+Button1 for drawing as well as\n"
9882    "   Button2.  Changes also to afni_graph.c and plug_drawdset.c (the\n"
9883    "   latter just to change the help text).\n"
9884    "* Modified 3dTcat.c to use last '+' as marker for '+orig' (etc.)\n"
9885    "   rather than 1st.\n"
9886    },
9887 
9888   { 4,OCT,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9889    "* Took modified plug_deconvolve.c from Doug Ward, to fix bug when baseline\n"
9890    "   is disabled.\n"
9891    "* Modified thd_analyzeread.c to add AFNI_ANALYZE_AUTOCENTER option.\n"
9892    "* Modified 3drefit.c to add -xorigin_raw (etc.) options.\n"
9893    "* Modified thd_intlist.c to skip blanks in the [] sub-brick selector string.\n"
9894    },
9895 
9896   { 7,OCT,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9897    "* Modified plug_drawdset.c to add '2D Nbhd' and '3D Nbhd' drawing modes.\n"
9898    "* Also rearranged the Copy and Choose Dataset buttons.\n"
9899    },
9900 
9901   { 8,OCT,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9902    "* Modified plug_drawdset.c (and imseq.[ch], afni_receive.c, afni.h) to make\n"
9903    "   button2 drawing overlay have thicker lines, closer to what will actually\n"
9904    "   be filled.  Also added 1 larger '3D Nbhd' stencil.\n"
9905    },
9906 
9907   { 10,OCT,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9908    "* Modified thd_analyzeread.c to correct signs of origin when orientation has\n"
9909    "   some negative axes.\n"
9910    },
9911 
9912   { 16,OCT,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9913    "* Modified plug_drawdset.c to add '2D Circle' and '3D Sphere' drawing modes.\n"
9914    },
9915 
9916   { 17,OCT,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9917    "* Modified plug_drawdset.c sphere/circle insertion not to test for duplicate\n"
9918    "   insertions from the 1st input point - this speeds things up for large R.\n"
9919    },
9920 
9921   { 25,OCT,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9922    "* Modified plug_drawdset.c to use sorting to prevent vast numbers of duplicates\n"
9923    "   when inserting large R circles/spheres.\n"
9924    },
9925 
9926   { 28,OCT,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9927    "* Changes to mri_dicom_hdr.c and mri_read_dicom.c to deal with Siemens' stupid\n"
9928    "   mosaic format.\n"
9929    },
9930 
9931   { 1,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9932    "* More changes for mosaic input.\n"
9933    },
9934 
9935   { 4,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9936    "* Added MRI_rgb type to thd_zeropad.c and to BRICK_*_MASK macros in afni_plugin.h.\n"
9937    "* Took changes from Rasmus Birn to add a '-gamd' delay option to waver.c.\n"
9938    },
9939 
9940   { 5,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9941    "* Added program rotcom.c, to print out matrix+vector from '-rotate ... -ashift ...'\n"
9942    "   options that would be input to 3drotate.\n"
9943    "* Fixed mri_read.c, mri_read_dicom.c, mri_dicom_hdr.c to stop annoying printout of\n"
9944    "   messages about bad DICOM files when trying to read GE I.* files.\n"
9945    },
9946 
9947   { 12,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9948    "* Changed MAX_CONTROLLERS in afni.h for Mike Beauchamp.\n"
9949    },
9950 
9951   { 13,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9952    "* Modified afni_splash.[ch] to allow color top overlays.  Incorporated SSCC group\n"
9953    "   picture.\n"
9954    },
9955 
9956   { 18,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9957    "* Modified niml.[ch] to make the NI_malloc() package use tracking functions,\n"
9958    "   which I stole from mcw_malloc.c - of course, I wrote that, too, so 'stole'\n"
9959    "   may be too strong a verb.\n"
9960    },
9961 
9962   { 21,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9963    "* Added some extra programs (gifsicle, mpeg_encode, cjpeg, etc.) to the PROGRAMS\n"
9964    "   macro in Makefile.INCLUDE.\n"
9965    },
9966 
9967   { 22,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9968    "* Added mri_read_stuff.c to filter input from JPEGs, TIFFs, BMPs, etc., into\n"
9969    "   mri_read.c.\n"
9970    "* Added afni_version.c to check AFNI version at startup.\n"
9971    "* Modified edt_dsetitems.c to strip '+orig' etc. from tail of new prefix.\n"
9972    },
9973 
9974   { 23,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9975    "* Modified afni_version.c to only do a check once every 12 hours.\n"
9976    },
9977 
9978   { 25,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9979    "* Modified afni_friends.c to add date-based trivia (also, afni.[ch]).\n"
9980    },
9981 
9982   { 27,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9983    "* Modified mri_read_dicom.c to allow for stupid GE case where slice spacing is\n"
9984    "  incorrectly set to slice gap instead.\n"
9985    },
9986 
9987   { 29,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9988    "* Modified mri_read_stuff.c to allow for case when initial 4096 byte buffer\n"
9989    "   contains all the image data (i.e., for tiny images).\n"
9990    "* Modified coxplot/plot_ps.c to allow output to stdout.\n"
9991    "* Modified 1dplot.c to allout PostScript output to stdout.\n"
9992    },
9993 
9994   { 30,NOV,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
9995    "* Modified mcw_graf.[ch] to draw a coordinate label during drag of graf\n"
9996    "   handle with Button 3.\n"
9997    "* Modified mri_read_dicom.c to deal with GE's incorrect use of Slice Spacing\n"
9998    "   as gap, rather than center-to-center distance.  Ugh.\n"
9999    },
10000 
10001   { 2,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10002    "* Modified plug_crender.c to use mcw_graf.c stuff of 30,NOV,2002.\n"
10003    "* Modified mri_read_dicom.c to deal with Siemens Mosaic differently, to\n"
10004    "   accomodate variations from NYU's Allegra scanner (vs. NIDA's).\n"
10005    "* Modified to3d.c to show NX x NY along with Datum in GUI.\n"
10006    },
10007 
10008   { 3,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10009    "* Modified niml.c to use setsockopt() to change socket buffer sizes only\n"
10010    "   if getsockopt() says they are too small.\n"
10011    },
10012 
10013   { 4,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10014    "* Added thd_ctfread.c to read CTF MRI files as datasets.\n"
10015    "* Modified thd_initsess.s, thd_opendset.c, thd_loaddblk.c, 3ddata.h to\n"
10016    "   use the CTF functions.\n"
10017    },
10018 
10019   { 5,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10020    "* Added CTF SAM file input to thd_ctfread.c.\n"
10021    "* Modified 3dIntracranial.c to convert input dataset to shorts if it is\n"
10022    "   stored as bytes.  The output will still be shorts.\n"
10023    },
10024 
10025   { 7,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10026    "* Modified imseq.c to change image number on '<' or '>' keys (like\n"
10027    "   the graph windows).\n"
10028    },
10029 
10030   { 9,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10031    "* Modified imseq.c to save temporary files for animated GIF or MPEG\n"
10032    "   output with a random suffix, to avoid collisions if 2 copies\n"
10033    "   of AFNI (or aiv) are running.\n"
10034    "* Modified niml.[ch] to allow definiton of 'NI_rowtypes' to make it easier\n"
10035    "   to deal with structs (with all fixed length elements, alas).\n"
10036    "* Modified nids.[ch] to deal with vectors of arbitrary NI_rowtype.\n"
10037    },
10038 
10039   { 11,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10040    "* Modified plug_realtime.c to allow termination of a dataset without\n"
10041    "   closing the data IOCHAN.  Also added new XYZFIRST metadata command,\n"
10042    "   to allow setting of all 3 axis offsets.\n"
10043    "* Modified rtfeedme.c to test the above features.\n"
10044    },
10045 
10046   { 12,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10047    "* Modified afni_niml.c and afni_sumafunc.c to create functional\n"
10048    "   colormaps for all surfaces on the anat dataset, not just the\n"
10049    "   first surface.  Also fixed it so that fim=0 is not overlaid.\n"
10050    "* Modified thd_iochan.c to use IOCHAN_DELAY_RMID environment variable\n"
10051    "   to indicate that deletion of shm segments should only occur when\n"
10052    "   no one is attached to them.  This is to get around a problem on\n"
10053    "   some Unices.\n"
10054    "* Modified Makefile.INCLUDE rule for cjpeg to remove old Makefile and\n"
10055    "   jconfig.h, since these are re-made by the configure script.\n"
10056    "* Modified niml.c to shmdt() before shmctl(IPC_RMID) instead of after.\n"
10057    "* Modified afni.c to skip version check if realtime is on.  Also modified\n"
10058    "   afni_version.c to add an atexit() handler to delete the child-parent\n"
10059    "   shared memory IOCHAN when the program exit()'s.\n"
10060    "* Modified rtfeedme.c to add a signal handler to close the data IOCHAN\n"
10061    "   if the program crashes.\n"
10062    },
10063 
10064   { 16,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10065    "* Moved niml.[ch] into niml/ subdirectory, and modified Makefile.INCLUDE\n"
10066    "   accordingly.\n"
10067    },
10068 
10069   { 18,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10070    "* Modified plug_realtime.c to add ZGAP and XYZOFF features from Larry Frank.\n"
10071    "* Fixed bug in niml/niml_util.c decode_string_list() function where\n"
10072    "   the sar->str array was allocated with sizeof(char)*num rather than\n"
10073    "   sizeof(char *)*num.  Not good in the long run.\n"
10074    "* Modified niml/niml_rowtype.c to allow rowtypes to have 1D variable dimension\n"
10075    "   arrays.\n"
10076    },
10077 
10078   { 19,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10079    "* Added THD_mkdir(), THD_is_ondisk(), THD_cwd() to thd_filestuff.c.\n"
10080    "* Modified afni_driver.c to add commands SYSTEM and CHDIR, which call\n"
10081    "   system() and chdir() [pretty clever names, huh?].  Also modified\n"
10082    "   afni_driver.c to trim trailing blanks from the input command\n"
10083    "   before passing it to the handler functions.\n"
10084    },
10085 
10086   { 20,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10087    "* Modified niml/niml_do.c to add verb 'close_this' to close a stream.\n"
10088    "   This is to let a stream be closed from the other end.\n"
10089    "* Modified niml/niml_stream.c to send a 'close_this' message when\n"
10090    "   a tcp: or shm: stream is closed.\n"
10091    "* Modified niml/niml_stream.c to mark NI_stream's for 'death' in\n"
10092    "   NI_stream_close_keep(), and then avoid using such streams in\n"
10093    "   other functions.  This is to let a stream be closed without\n"
10094    "   freeing its struct.\n"
10095    },
10096 
10097   { 23,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10098    "* Modified mri_read_dicom.c to correct error in z-axis orientation from\n"
10099    "   multiple 1-slice datasets - code had been copied from mri_read.c, but\n"
10100    "   that was for GE LPI coords, and DICOM is RAI.\n"
10101    "* Modified mri_read_dicom.c to use Rescale and Window tags, if turned on\n"
10102    "   by the relevant environment variables.\n"
10103    "* Modified aiv.c to use globbing on input filenames.\n"
10104    },
10105 
10106   { 24,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10107    "* Modified mri_read_dicom.c to save Siemens extra info string even if\n"
10108    "   file isn't a mosaic.\n"
10109    },
10110 
10111   { 27,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10112    "* Modified 3dttest.c to save DOF dataset if -unpooled is used.\n"
10113    },
10114 
10115   { 28,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10116    "* Modified AFNI_rescan_session() in afni_func.c to NOT clobber existing\n"
10117    "   dataset pointers when adding datasets to a session.\n"
10118    "* Removed all instances of OMIT_DATASET_IDCODES.\n"
10119    },
10120 
10121   { 29,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10122    "* Minor change to afni_version.c to print out 'Latest News' web page\n"
10123    "   when version comparison fails.\n"
10124    },
10125 
10126   { 30,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10127    "* Minor change to AFNI_rescan_session() users to print out number of\n"
10128    "   new datasets rows.\n"
10129    },
10130 
10131   { 31,DEC,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10132    "* Modified niml/niml_rowtype.c to deal with String type and debugged\n"
10133    "   stuff with output of var dim arrays.\n"
10134    },
10135 
10136   { 2,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10137    "* Added a error message to mcw_malloc.c to note when an allocation fails.\n"
10138    },
10139 
10140   { 10,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10141    "* Modified edt_blur.c to clip output to input range.\n"
10142    },
10143 
10144   { 13,JAN,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10145    "* Modified Makefile.solaris28_gcc on hador system - plugins would no longer\n"
10146    "   load.  Use of GNU ld instead of UCB ld fixes this, but for unknown\n"
10147    "   reasons.  Evil spirits?\n"
10148    },
10149 
10150   { 15,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10151    "* Modified afni.c to let user set SUMA line thickness via environment\n"
10152    "   variable.  Also changed afni_pplug_env.c to match.\n"
10153    "* Modified afni_func.c to purge all datasets in a session after rescan.\n"
10154    },
10155 
10156   { 16,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10157    "* Modified imseq.c to let user setenv AFNI_AGIF_DELAY to control speed\n"
10158    "   of animated GIF output.\n"
10159    "* Modified afni_driver.c to allow remote changing of thresholds, the\n"
10160    "   addition of overlay colors, and the setting of pbar pane number.\n"
10161    },
10162 
10163   { 21,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10164    "* More additions to afni_driver.c.\n"
10165    "* Changes to afni.[ch] to allow startup script to drive AFNI setup.\n"
10166    },
10167 
10168   { 22,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10169    "* Added 'Run Script' button to Datamode->Misc menu.\n"
10170    "* Made 'Save Layout' button save setup script to .afni.startup_script\n"
10171    "   if no filename is entered.\n"
10172    },
10173 
10174   { 23,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10175    "* Made AFNI_VALUE_LABEL default be YES instead of NO.\n"
10176    "* Added AFNI_DEFAULT_OPACITY environment variable, for image overlay opacity.\n"
10177    "* Added AFNI_DEFAULT_IMSAVE environment variable, for .jpg, .tif, etc.\n"
10178    "* Fixed bug in afni_driver.c SETENV function - space used for putenv() must\n"
10179    "   be permanent memory, not temporary!\n"
10180    },
10181 
10182   { 24,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10183    "* Added special function key stuff to imseq.c (arrows, PgUp/PgDn).\n"
10184    },
10185 
10186   { 27,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10187    "* Added messages to afni_version.c when version checking is disabled, fails,\n"
10188    "   or when the current version is different than the last version.\n"
10189    },
10190 
10191   { 28,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10192    "* Modified thd_ctfread.c to correct nx,ny,nz calculation for SAM images.\n"
10193    "* Modified afni.c to do the time lock properly when the anat has no\n"
10194    "   time axis but the func does.\n"
10195    "* Modified 3dcopy.c to work with copying non-AFNI datasets.\n"
10196    },
10197 
10198   { 29,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10199    "* Modified 3drefit.t to add -Torg option (for MEG guys).\n"
10200    },
10201 
10202   { 30,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10203    "* Modified pbar.c, afni_func.c, etc., to add a 'big' mode to the pbar, with\n"
10204    "   128 colors.  More work is needed here for SUMA, rendering, scripting,\n"
10205    "   loading colormaps, etc.\n"
10206    },
10207 
10208   { 31,JAN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10209    "* Modified afni.c to de-sensitize threshold slider when not needed, rather\n"
10210    "   than hide it.  This is to get around a problem with the size of the pbar\n"
10211    "   being adjusted slightly incorrectly, for reasonse I don't understand.\n"
10212    "* Modified pbar.c to give choice of colormaps for 'big' mode.  Programmed\n"
10213    "   a startup set of 4 colormaps.\n"
10214    },
10215 
10216   { 2,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10217    "* Modified afni_sumafunc.c to use 'big' mode colorscales.\n"
10218    "* Modified afni.c, pbar.c (etc.) to read in user-defined colorscales\n"
10219    "   from files.\n"
10220    },
10221 
10222   { 3,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10223    "* Changes to afni_driver.c to support colorscales.\n"
10224    "* Saving .afni.startup_script now also saves the Autorange/funcrange setting.\n"
10225    },
10226 
10227   { 4,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10228    "* Moved user-defined colorscale setup to pbar.c from afni.c.\n"
10229    "* In afni_widg.c, use AFNI_COLORSCALE_DEFAULT to setup initial colorscale.\n"
10230    },
10231 
10232   { 5,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10233    "* Added 'OPEN_PANEL' command to afni_driver.c, and to afni_splash.c.\n"
10234    },
10235 
10236   { 6,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10237    "* This time, modified 3ddata.h, afni.c, afni_func.c to ALWAYS keep threshold\n"
10238    "   slider active, and when there is no threshold, use the function for the\n"
10239    "   threshold.  (However, RGB overlays are not thresholded, so this is the\n"
10240    "   only case in which the threshold slider is desensitized.  Also, the first\n"
10241    "   time the user switches to a fim dataset, the threshold slider is set to 0.)\n"
10242    "* Modified to3d.c to deal with double input images (to be converted to floats).\n"
10243    "   Also changed mri_read.c, mcw_glob.c, mri_swapbytes.c, 3ddata.h to add\n"
10244    "   a '3Dd:' input format for reading doubles from arbitrary files.\n"
10245    "* Added some new default colorscales to pbar.c.\n"
10246    },
10247 
10248   { 7,FEB,2002 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10249    "* Modified afni_func.c to allow AFNI_RESCAN_METHOD environment variable to\n"
10250    "   choose old rescan method (cf. 28,DEC,2002).\n"
10251    },
10252 
10253   { 10,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10254    "* Modified afni_graph.[ch] and afni.c to allow initializing graph matrix size\n"
10255    "   to value other than 3, through AFNI_graph_matrix environment variable.\n"
10256    "* Modified 3dcalc.c to allow RGB dataset input.\n"
10257    },
10258 
10259   { 11,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10260    "* Modified 3dfractionize.c to set default clip value to a very tiny positive\n"
10261    "   value, rather than 0.\n"
10262    "* Modified pbar.[ch] to use a popup menu to deal with Button-3 events, rather\n"
10263    "   than directly do stuff.  Included a value+color label on this menu.\n"
10264    },
10265 
10266   { 12,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10267    "* Modified niml/ to read/write full type names rather than just abbreviations\n"
10268    "   to the 'ni_type' attribute of data elements.\n"
10269    "* Modified niml/niml_do.c to add a 'typedef' verb, and to let the user program\n"
10270    "   define its own verb/callback pairs.\n"
10271    "* Modified afni_niml.c to define a 'ni_do' verb 'DRIVE_AFNI', to let external\n"
10272    "   program (hint: SUMA) access this stuff.\n"
10273    },
10274 
10275   { 18,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10276    "* Modified afni_func.c to add a hint to the colorscale.\n"
10277    "* Modified NIML stuff to use rowtypes more properly (niml_element.c, etc.).\n"
10278    "* Modified various Makefile.* to define SHOWOFF macro (once again).\n"
10279    "* Modified afni_version.c to print out appropriate wget command for update.\n"
10280    "* Modified afni.c to printout precompiled version, if present.\n"
10281    },
10282 
10283   { 19,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10284    "* Fixed a couple little points in niml_rowtype.c.\n"
10285    "* Modified afni_sumafunc.c (afni.h, etc.) to change 'Control Surface'\n"
10286    "   label for each surface into a toggle button, to make it easier to\n"
10287    "   turn surface on and off quickly.\n"
10288    },
10289 
10290   { 20,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10291    "* Changes to imseq.c, afni.[ch], afni_receive.c, and plug_drawdset.c to make\n"
10292    "   the keypad 'Delete' key(s) operate like the Undo button in the drawing\n"
10293    "   plugin.\n"
10294    "* Modified afni_receive.c to have a string name debug output for each\n"
10295    "   receive callback (and all the functions that call this).  Also fixed a\n"
10296    "   bug that would have functions registered for different receive cases\n"
10297    "   get inappropriate calls (forgot to enclose the call in {..} in an if).\n"
10298    "* Modified afni_suma*.c to send closest surface node ID to SUMA when viewpoint\n"
10299    "   change callback is invoked.\n"
10300    },
10301 
10302   { 21,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10303    "* Modified imseq.c to use '-bpp 24' in ppmtobmp output to BMP files, avoiding\n"
10304    "   quantization problems.\n"
10305    "* Modified afni.c to add a '#NodeID' string to the Button-3 image viewer popup,\n"
10306    "   when a surface is present.\n"
10307    },
10308 
10309   { 23,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10310    "* Modified afni.[ch] and afni_sumafunc.c to create boxsize and linewidth\n"
10311    "   controls on the 'Control Surface' popup.\n"
10312    "* Modified coxplot/plot_x11.c to flip line segments if that will make\n"
10313    "   them join. Also, initialize thickness of plots to 0, to allow for\n"
10314    "   special case (circle, box, ...) that is first item plotted.\n"
10315    },
10316 
10317   { 24,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10318    "* Modified afni.c to draw a * in the box of the closest surface node.\n"
10319    "* Modified 3dhistog.c to print '#' at start of header lines, so that\n"
10320    "   result can be read by mri_read_1D(), etc.\n"
10321    "* Incorporated changes from KRH to fix mri_read_dicom.c for Siemens\n"
10322    "   mosaics with incomplete slice coordinates.\n"
10323    "* Modified afni_graph.c to fix problem with double plot introduced\n"
10324    "   when multiple timeseries graphing was introduced - forgot to\n"
10325    "   reset tsar pointer to original data when graphing double plot\n"
10326    "   in plus/minus mode.\n"
10327    },
10328 
10329   { 26,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10330    "* Modified afni_graph.c and afni_sumafunc.c to allow drawing of triangle\n"
10331    "   intersections at edges of slice plane, as well as at center.\n"
10332    "* Modified 'view_setter' code to work more intuitively when only one\n"
10333    "   image viewer is open, etc.\n"
10334    },
10335 
10336   { 27,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10337    "* Modified 3dDeconvolve.c to get multiple timeseries at once, to reduce\n"
10338    "   cache thrashing.\n"
10339    "* Modified thd_notes.c to add function to append one dataset's history\n"
10340    "   to another's.  Used this in 3dcalc.c as a starter.\n"
10341    },
10342 
10343   { 28,FEB,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10344    "* Per Lukas Pezawas of CBDB, modified 1dgrayplot.c to have -ps option,\n"
10345    "   like 1dplot.c.  While doing so, also fixed a bug in coxplot/plot_ps2.c\n"
10346    "   where the rectangle case didn't have a 'break', so fell through and\n"
10347    "   drew a circle as well.\n"
10348    "* Modified mritopgm.c to have a clipping option.\n"
10349    },
10350 
10351   { 3,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10352    "* Created matrix_f.[ch] as float alternatives to matrix.[ch].  Then used this\n"
10353    "   in 3dDeconvolve.c and RegAna.c to create a program 3dDeconvolve_f compiled\n"
10354    "   from 3dDeconvolve.c when the FLOATIZE C macro is defined.  Speedup on a\n"
10355    "   Linux box is about 40% (due to less memory fetch).\n"
10356    "* Modified mri_read_dicom.c to allow user to skip stupid GE fixup entirely.\n"
10357    },
10358 
10359   { 4,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10360    "* Modified afni.c to get rid of bug when de-sensitizing thr_rowcol for RGB\n"
10361    "   images.  Now it is always sensitized.  Also, afni_func.c now will deal\n"
10362    "   with RGB images as thresholds (just converts them to floats, though).\n"
10363    "* Added thd_1Dtodset.c, functions to read and write 1D files as AFNI datasets.\n"
10364    "* Added niml/niml_stat.c to be a place to store statistics code for NIML.\n"
10365    },
10366 
10367   { 5,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10368    "* Fixed a bug in AFNI_setup_viewing() that crept in - assumed existence\n"
10369    "   of fim_now, which might not be true.\n"
10370    "* Incorporated fix of mri_read_dicom.c from Rich Hammett, to skip false\n"
10371    "   targets in the Siemens extra info.  (Will no one rid me of this\n"
10372    "   troublesome mosaic format?)\n"
10373    "* Modified 1dplot.c to accept multiple timeseries file inputs.\n"
10374    "* Modified thd_automask.c to have a mri_automask() function as well.\n"
10375    "* Modified 3dAutomask.c to do fillin and exterior-clipping if -dilate\n"
10376    "   option is used.\n"
10377    },
10378 
10379   { 6,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10380    "* Modified 3dWinsor.c to use -mask option.\n"
10381    },
10382 
10383   { 7,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10384    "* New program 3dAnhist.c.\n"
10385    },
10386 
10387   { 10,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10388    "* Modified imseq.[ch] to make F2 button have Button1 operate as Button2,\n"
10389    "   and to show cursor as a pencil shape for drawing when this mode is on.\n"
10390    },
10391 
10392   { 11,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10393    "* Modified tagset.h to increase number of allowed tags.\n"
10394    },
10395 
10396   { 13,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10397    "* Changes to 3dAnhist to regress histogram and plot it.\n"
10398    "* Changes to coxplot/plot_ts.c to have it avoid 'pushing' data limits out.\n"
10399    "* Changes to 1dplot.c: -xzero and -nopush options.\n"
10400    "* Added THD_generic_detrend() to thd_detrend.c, and used this to add a\n"
10401    "   -ort option to 3dTcorrelate.\n"
10402    "* Modified thd_notes.c and 3dNotes.c to avoid escaping the '\\' character\n"
10403    "   for notes input from the command line.\n"
10404    },
10405 
10406   { 14,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10407    "* A few more changes to 3dAnhist.c.\n"
10408    "* Modified thd_opendset.c to also deal with .1D inputs.\n"
10409    },
10410 
10411   { 18,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10412    "* Fixed 1dplot.c -stdin option to work again (oops).\n"
10413    },
10414 
10415   { 19,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10416    "* Modified 3dAFNItoANALYZE.c to add -orient option.\n"
10417    "* Added mri_flip3D.c to flip 3D images around.\n"
10418    "* Added thd_getorient.c to get axis direction in a dataset for\n"
10419    "   a given orientation code.\n"
10420    "* Modified mri_copy.c to work if input image doesn't have data array.\n"
10421    "* Added environment variable AFNI_MINC_SLICESCALE to thd_mincread.c.\n"
10422    "* Fixed bug in thd_mincread.c in slice-scaling when datum is floats\n"
10423    "   (subtracted intop instead of inbot in scaling formula).\n"
10424    "* Modified thd_mincread.c to downscale short or byte datasets if\n"
10425    "   slice scaling would push them past the maxval for that data type.\n"
10426    "   Also, use calloc() on im_min and im_max arrays to avoid problems\n"
10427    "   when those arrays in the MINC file are incomplete.\n"
10428    "* Modified 3drefit.c, and thd_delete.c to skip CTF and 1D files.\n"
10429    "* Modified 3drotate.c to skip rotation if rotation matrix is identity.\n"
10430    "   Also modified 3dvolreg.c and 3drotate.c to use '%.4f' format when\n"
10431    "   writing command string to THD_rotcom_to_matvec().\n"
10432    },
10433 
10434   { 20,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10435    "* Modified afni_func.c, 3ddata.h, afni_graph.c to allow graphing of\n"
10436    "   datasets with only 1 point along a spatial dimension (i.e., '.1D'\n"
10437    "   files).\n"
10438    "* Modified niml/elemio.c to allow writing and reading of elements\n"
10439    "   with the '# ...' line format for header/trailer fields.  Also\n"
10440    "   modified thd_1Ddset.c to write .1D dataset files out in this\n"
10441    "   format.\n"
10442    },
10443 
10444   { 21,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10445    "* Added thd_3Ddset.c to read AFNI datasets from NIML-formatted\n"
10446    "   .3D files.  Corresponding changes to 3ddata.h, etc.\n"
10447    "* Changes from Doug Ward\n"
10448    "   1) Program 3dDeconvolve:  Added -quiet option to suppress screen output.\n"
10449    "   2) Plugin Deconvolve:  Additional input error protection for -censor and\n"
10450    "    -concat options.  These options could cause afni to crash if the input\n"
10451    "    files were not set up correctly.\n"
10452    "   3) Program RSFgen:  Added -table option, to generate random permutations of\n"
10453    "    the rows of an input column or table of numbers.  Useful for randomization\n"
10454    "    studies of statistical thresholds, about which more later.\n"
10455    "   4) Libraries matrix.c and matrix_f.c:  The recently added/modified matrix\n"
10456    "    routines vector_multiply and vector_multiply_subtract would produce a\n"
10457    "    segmentation fault for certain input matrices (e.g., null baseline model).\n"
10458    "    This has now been corrected (hopefully).\n"
10459    },
10460 
10461   { 23,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10462    "* Added -xyz option to 3dmaskdump.c.\n"
10463    },
10464 
10465   { 27,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10466    "* Modified NIML to allow ni_dimen=0 on input, and then infer length of vectors\n"
10467    "   from input data.\n"
10468    },
10469 
10470   { 28,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10471    "* Changes to afni_splash.[ch] to include faces!\n"
10472    },
10473 
10474   { 29,MAR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10475    "* Modified mri_resize() [in mri_warp.c] to properly deal with images of\n"
10476    "   MRI_byte, MRI_short, and MRI_rgb types.\n"
10477    },
10478 
10479   { 9,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10480    "* Fixed thd_shear3d.h function DMAT_svdrot() to work properly when input matrix\n"
10481    "   is singular.\n"
10482    },
10483 
10484   { 11,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10485    "* Modified coxplot/plot_ts.c to allow setting of line colors using\n"
10486    "   AFNI_1DPLOT_COLOR_xx environment variables.\n"
10487    },
10488 
10489   { 12,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10490    "* Modified waver.c -tstim option to skip argv[]'s that start with whitespace\n"
10491    "   -- this is to deal with evil Microsoft CR-LF line breaks.\n"
10492    },
10493 
10494   { 15,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10495    "* Fixed bug in mri_overlay.c (using data from imover instead of imov!).\n"
10496    },
10497 
10498   { 16,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10499    "* Modified 3dUniformize.c to allow byte-valued datasets, and added to standard\n"
10500    "   distributions.  Also modified estpdf3.c and pdf.c to obey the global\n"
10501    "   'quiet' variable, if the USE_QUIET macro is defined.\n"
10502    },
10503 
10504   { 18,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10505    "* New program 3dWarp.c (along with mri_warp3D.c).\n"
10506    "* Minor changes to 3dAnhist.c for Lukas Pezawas.\n"
10507    },
10508 
10509   { 22,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10510    "* Modified 3dTagalign.c (and thd_shear3d.c) heavily to use THD_warp3D() instead\n"
10511    "   of rotation-only functions, and to allow different kinds of transformation\n"
10512    "   matrices to be used.\n"
10513    },
10514 
10515   { 24,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10516    "* Modified 3dTshift.c and thd_tshift.c to negate time shift, since it seems have\n"
10517    "   been wrong all these years :( [later: SPM and FSL were wrong, too!]\n"
10518    },
10519 
10520   { 28,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10521    "* Modified 3dcalc to add -taxis option.\n"
10522    "* Added mri_fromstring.c, to input 1D data in the form '1D:5@0,10@1,5@0', etc.\n"
10523    },
10524 
10525   { 29,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10526    "* Modified imseq.c and machdep.h to add ENFORCE_ASPECT #define (for Mac OS X).\n"
10527    },
10528 
10529   { 30,APR,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10530    "* Modified thd_intlist.c to let '{}' bound the list as well as '[]'.\n"
10531    "* Modifed mri_read_1D() to use intlist of the form '{..}' to do row sub-selection,\n"
10532    "   as well as the older '[..]' for column sub-selection.\n"
10533    "* Modified most programs that used mri_read_ascii() to read timeseries files to\n"
10534    "   use mri_read_1D() instead, so that the '{..}' feature can be supported.\n"
10535    },
10536 
10537   { 1,MAY,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10538    "* Modified NLfit.c and plug_nlfit.c to have NLfit_error() be able to use longjmp()\n"
10539    "   to deal with errors, rather than exit().\n"
10540    "* Modified afni_func.c to rotate color bar in steps of 4 if Shift key is pressed.\n"
10541    },
10542 
10543   { 4,MAY,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10544    "* Parallel computation (-jobs option) addtions to 3dDeconvolve.c.\n"
10545    },
10546 
10547   { 6,MAY,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10548    "* Minor changes to 3dDeconvolve.c.\n"
10549    "* From Rich Hammett, AFNI_TRY_DICOM_LAST environment variable.\n"
10550    },
10551 
10552   { 7,MAY,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10553    "* Parallel computation (-jobs option) addtions to 3dNLfim.c.\n"
10554    "* Mods to mri_dicom_hdr.c to subtract 1 from rwc_err for each error message.\n"
10555    "   This way, will normally only print 1 such message per to3d run, which will\n"
10556    "   make the users happier, I hope.\n"
10557    "* Add mri_possibly_dicom() function to mri_read_dicom.c, and use it to censor\n"
10558    "   which files get the full DICOM reading treatment.\n"
10559    },
10560 
10561   { 9,MAY,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10562    "* AFNI_THRESH_BIGSTEP environment variable.\n"
10563    "* Boxes in 3dmaskdump.c.\n"
10564    },
10565 
10566   { 12,MAY,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10567    "* Modified thd_initdkptr.c to have prefixes that start with '/' override any\n"
10568    "   input directory name.\n"
10569    "* Modified waver to allow 'a:b' and 'a%c' durations for '-tstim' input.\n"
10570    },
10571 
10572   { 13,MAY,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10573    "* Added '-Fourier_nopad' option to 3drotate.c, plug_nudge.c, and thd_rot3d.c.\n"
10574    "* Modified afni.c to have arrowpad keys do wraparound when they hit the edge.\n"
10575    },
10576 
10577   { 14,MAY,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10578    "* Fixed bug in thd_intlist.c, where ']' or '}' might not stop the scanning of\n"
10579    "   the string.  This was a problem when dealing with inputs that have both\n"
10580    "   types of selectors -- one might run over another in the parsing.\n"
10581    },
10582 
10583   { 29,MAY,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10584    "* Modified 3dttest.c to output t-statistic brick in floats if diff brick is\n"
10585    "   stored as floats.\n"
10586    "* Modified 3dcalc.c to floatize datasets that don't have constant sub-brick\n"
10587    "   datum.\n"
10588    "* Per the request of Ziad Saad, added function NI_add_column_stride() to\n"
10589    "   niml/niml_element.c.\n"
10590    },
10591 
10592   { 6,JUN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10593    "* Modified niml/niml_stream.c to disable reopen of tcp: stream as shm: if\n"
10594    "   AFNI_NOSHM environment is set to YES.\n"
10595    },
10596 
10597   { 11,JUN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10598    "* Modified afni.c NOT to call AFNI_set_thresh_top() in AFNI_setup_viewing()\n"
10599    "   when changing functional datasets.\n"
10600    },
10601 
10602   { 13,JUN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10603    "* Modified imseq.c to prevent resized windows from getting bigger than\n"
10604    "   AFNI_IMAGE_MAXFRAC (default=0.9) times the screen dimensions.\n"
10605    "* Modified niml/niml_elemio.c to make attribute string buffer size expand\n"
10606    "   when Ziad writes huge attributes, the fiend.  Also put a newline before\n"
10607    "   each attribute, whether we want it or not.\n"
10608    },
10609 
10610   { 16,JUN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10611    "* SUMA+AFNI ROI stuff.\n"
10612    },
10613 
10614   { 20,JUN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10615    "* Modified imseq.c to add ISQ_snapshot(Widget) functionality.  Tested\n"
10616    "   in Xphace program.\n"
10617    "* Modified Makefile.INCLUDE to make libmrix.a that includes all the\n"
10618    "   X11 utilities (imseq.c, xutil.c, xim.c, etc.).\n"
10619    },
10620 
10621   { 25,JUN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10622    "* ISQ_snapfile(Widget) added to imseq.c; other tweaks to ISQ_snapshot().\n"
10623    },
10624 
10625   { 26,JUN,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10626    "* Moved some snapshot stuff to xim.c rather than imseq.c.\n"
10627    "* Modified afni.c to have it continue after fatal X11 errors.\n"
10628    "* New program 1ddot.c.\n"
10629    },
10630 
10631   { 1,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10632    "* Modified afni_func.c to change pbar hints when 'Func=Threshold' is pressed.\n"
10633    "* Added RWC_XtPopdown() to xutil.[ch], and modified most code to use this\n"
10634    "   rather than XtPopdown().\n"
10635    "* Added empty XtErrorHandler to afni.c to try to avoid crashes when an Xt\n"
10636    "   error occurs.\n"
10637    "* Added mri_equal.c, which checks if 2 images are equal.  Used in ISQ_snapshot()\n"
10638    "   to avoid saving duplicate images in succession.\n"
10639    },
10640 
10641   { 3,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10642    "* Added ISQ_snapsave() to imseq.c, which lets the user supply the image to be\n"
10643    "   saved in a snapshot, rather than acquire it from a widget like ISQ_snapshot().\n"
10644    },
10645 
10646   { 6,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10647    "* Modified 3dmaskave.c to add -median option.\n"
10648    },
10649 
10650   { 10,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10651    "* Fixed bug in afni_graph.c of colors in dplots from Dataset#N plugin.\n"
10652    },
10653 
10654   { 15,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10655    "* Included FreeBSD patches from Jason Bacon.\n"
10656    },
10657 
10658   { 18,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10659    "* Modifed imseq.[ch] (etc.) to include a 'pen' box to turn on the 'pen drawing'\n"
10660    "   Button-1 mode (only available when drawing has been enabled).\n"
10661    },
10662 
10663   { 21,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10664    "* Modified all uses of XmCreatePopupMenu() to make parent widget different than\n"
10665    "   the Button-3 popup widget when using Solaris -- some bug in Solaris seems to\n"
10666    "   cause a popup problem when the parent of the menu is also the one getting\n"
10667    "   the ButtonPress event.\n"
10668    "* Modified afni_graph.c, imseq.c, afni.c, plug_nth_dataset.c, etc., to have\n"
10669    "   the Dataset#N, Dataset#2, and Expr0D plugin windows open when these\n"
10670    "   transformations are selected from menus.\n"
10671    "* Modified the parser to take longer expressions.\n"
10672    },
10673 
10674   { 22,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10675    "* More expansion in parser.f, etc.\n"
10676    "* Modified coxplot/plot_ts.c and 1dplot.c to let user control x- and y-axes\n"
10677    "   in more detail.\n"
10678    },
10679 
10680   { 23,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10681    "* Changes to thd_info.c to print more than 8000 characters from the History.\n"
10682    "* Changes to thd_notes.c to make Addto_History work right.\n"
10683    "* Changes to 3dcalc.c to use Addto_History correctly.\n"
10684    },
10685 
10686   { 28,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10687    "* Modified 3dcalc.c to force scaling for short and byte output datum when\n"
10688    "   non-integer values are found in the dataset.\n"
10689    },
10690 
10691   { 29,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10692    "* Many many changes to make func and anat datasets work interchangeably in\n"
10693    "   the interactive AFNI.\n"
10694    "* 3dmerge.c now has -verb option.\n"
10695    },
10696 
10697   { 30,JUL,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10698    "* Modified plug_nudge.c to add NN interpolation option.\n"
10699    "* Modified THD_open_3dcalc() to make dataset directory './' after it is input,\n"
10700    "   so that EDIT_empty_copy() of it will not put new dataset into /tmp.\n"
10701    "* Modified afni_func.c and afni_sumafunc.c to threshold byte and short\n"
10702    "   overlays in float rather than int.\n"
10703    "* Modified FUNC_IS_STAT() and FUNC_HAVE_PVAL() macros in 3ddata.h to return 1\n"
10704    "   only if the code supplied corresponds to a valid statistic code.\n"
10705    "* Various fixes to the anat/func interchangeability stuff.\n"
10706    },
10707 
10708   { 5,AUG,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10709    "* Modified thd_1Ddset.c to read a multi-column .1D file as a 3D+time dataset\n"
10710    "   rather than a bucket, if AFNI_1D_TIME is set to YES.\n"
10711    "* Modified mri_write_ascii() to write the stdout if the filename is '-'.\n"
10712    "* Modified various *.c files to avoid warning messages on OS X compiles.\n"
10713    },
10714 
10715   { 6,AUG,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10716    "* Somehow, a bug crept into the Read Session function (in afni_func.c) that\n"
10717    "   rejected new sessions with # datasets > 0 rather than # datasets == 0.\n"
10718    "* Added quintic interpolation to mri_warp3D.c, and 3dWarp.c.\n"
10719    "* Added -fsl_matvec option to 3dWarp.c.\n"
10720    "* plug_3ddup.c created (but not part of the binaries, yet).\n"
10721    },
10722 
10723   { 7,AUG,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10724    "* Fixed small typo in index in mri_warp3D.c quintic code.\n"
10725    "* Fixed CYGWIN bracket placement at end of thd_loaddblk.c.\n"
10726    },
10727 
10728   { 8,AUG,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10729    "* Problem: when anat_now == fim_now, and fim_now got set to\n"
10730    "   'Warp Func on Demand', then trouble.  Solutions\n"
10731    "   - make AFNI_VIEW_FUNC_BRICK and AFNI_VIEW_ANAT_BRICK default to YES.\n"
10732    "   - make sure if anat_now == fim_now, Func WOD is turned off.\n"
10733    },
10734 
10735   { 11,AUG,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10736    "* Fixed bug in afni_sumafunc.c, where func threshold image is bytes -- was\n"
10737    "   using index ar_thr[ii] instead of ar_thr[jj] -- not good.\n"
10738    },
10739 
10740   { 15,AUG,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10741    "* Added -version option to afni.c, per Rick Reynolds.\n"
10742    },
10743 
10744   { 23,AUG,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10745    "* Added AFNI_MAX_OPTMENU environment variable (bbox.c, etc.).\n"
10746    "* Modified Makefile.INCLUDE to chmog ugo+x the ./configure files\n"
10747    "   in a couple of subdirectories.\n"
10748    },
10749 
10750   { 24,AUG,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10751    "* Modified 3dLRflip.c to give output dataset a new prefix (oops).\n"
10752    },
10753 
10754   { 26,AUG,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10755    "* Modified afni_func.c to skip printing adoption warnings unless user\n"
10756    "   explicitly requests them with an environment variable.\n"
10757    },
10758 
10759   { 28,AUG,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10760    "* Widespread changes, including addition of thd_niftiread.c, to read\n"
10761    "   NIFTI-1 formatted files as datasets.\n"
10762    "* Modified afni.c to read datasets individually from command line argv's\n"
10763    "   if they can't be read as sessions.\n"
10764    },
10765 
10766   { 15,OCT,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10767    "* Added poetry.\n"
10768    "* Removed 'points'.\n"
10769    "* Added Dtables to niml.\n"
10770    },
10771 
10772   { 20,OCT,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10773    "* Fixed scaling bug in mri_warp3D.c -- datasets with scaling factors were\n"
10774    "   being scaled before warp, but not unscaled after warp, so that the\n"
10775    "   surviving scale factor would be applied twice.\n"
10776    "* Added labelizing to Draw Dataset plugin.\n"
10777    },
10778 
10779   { 21,OCT,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10780    "* Added label popup menu to Draw Dataset plugin.\n"
10781    "* Added Button1 click in intensity bar to re-aspect image window.\n"
10782    "   Also, skip attempt to reconfigure if happened before within last 33 ms.\n"
10783    "   This is to avoid getting into fights with the window manager.\n"
10784    },
10785 
10786   { 22,OCT,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10787    "* Inten->Save Palette with colorscales now saves a colorscale file.\n"
10788    "* Inten->Read Palette with colorscales now reads a colorscale file.\n"
10789    "* AFNI_MPEG_FRAMERATE in imseq.c.\n"
10790    "* Extend short input time series in 3dDeconvolve.c.\n"
10791    },
10792 
10793   { 23,OCT,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10794    "* Modified Button1 in intensity bar to always do re-aspect, even if free\n"
10795    "   aspect is on.\n"
10796    "* Added Button1 stroke right/left in image window to change contrast and\n"
10797    "   brightness together; changes to imseq.[ch], display.[ch], and\n"
10798    "   afni_pplug_env.c.\n"
10799    },
10800 
10801   { 24,OCT,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10802    "* Added 'Graymap Plot' to imseq.c.\n"
10803    },
10804 
10805   { 27,OCT,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10806    "* Auto-popup and auto-place graymap plot.\n"
10807    "* Change plug_drawdset.c to disable auto-popup of graymap plot when plugin\n"
10808    "   is open, and re-enable it when plugin closes.\n"
10809    },
10810 
10811   { 28,OCT,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10812    "* Changes to thd_automask.c and 3dAutomask.c to implement -eclip option.\n"
10813    },
10814 
10815   { 29,OCT,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10816    "* Allow '# ' as a comment in .afnirc -- changes to afni_setup.c GETSTR macro.\n"
10817    },
10818 
10819   { 30,OCT,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10820    "* Some changes (f2cdir/ and afni_plugin.c) for Mac OS X 10.3 compilation.\n"
10821    },
10822 
10823   { 4,NOV,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10824    "* Modified imseq.c to move crosshair focus on Button1 release, rather than\n"
10825    "   press.  This makes the graylevel change via Button1 motion not have\n"
10826    "   the annoying focus change side effect.\n"
10827    "* Modified afni.c, etc., to implement new environment variables\n"
10828    "   AFNI_IMAGE_MINTOMAX and AFNI_IMAGE_GLOBALRANGE.\n"
10829    "* Modified afni_plugin.[ch] to allow plugins to change the 'Run' button\n"
10830    "   labels to something else.\n"
10831    },
10832 
10833   { 5,NOV,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10834    "* Modified imseq.c to auto-popdown graymap plot if it was auto-popupped\n"
10835    "   in the first place.\n"
10836    "* Also added 'Edit Environment' button to image window popup menu.\n"
10837    },
10838 
10839   { 13,NOV,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10840    "* Added argmax() and argnum() functions to parser.f and 3dcalc.c.\n"
10841    "* Modified Makefile.solaris28_suncc per Vince Hradil's experience.\n"
10842    "* Split up load vector loops in PAREVEC() in parser.c, for speed.\n"
10843    },
10844 
10845   { 14,NOV,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10846    "* More minor changes to 3dcalc.c and parser.f for slight speedups.\n"
10847    },
10848 
10849   { 18,NOV,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10850    "* Modified imseq.c to prevent beep when user tries to zoom when Mont\n"
10851    "   is on, or vice-versa.\n"
10852    },
10853 
10854   { 19,NOV,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10855    "* Multiple level undo/redo in plug_drawdset.c.\n"
10856    },
10857 
10858   { 20,NOV,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10859    "* Fixed bug in arrowpad movement, in afni.c: must do LOAD_DSET_VIEWS(im3d).\n"
10860    "* Modified afni.c and afni_version.c to write UPDATER script, if possible.\n"
10861    },
10862 
10863   { 21,NOV,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10864    "* Added ability to undo Linear Fillin to plug_drawdset.c.\n"
10865    },
10866 
10867   { 24,NOV,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10868    "* Fun with Apple's speech synthesis.\n"
10869    },
10870 
10871   { 1,DEC,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10872    "* Modified imseq.c to add AFNI_IMAGE_ZEROCOLOR environment variable.\n"
10873    "* Modified mcw_glob.[ch] to add simple-to-use function MCW_wildcards().\n"
10874    "   Used this in afni_splash.c as a test.\n"
10875    },
10876 
10877   { 3,DEC,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10878    "* Program mpegtoppm -- in mpegtoppm_dir/.\n"
10879    "* Read images and datasets from MPEG files, via mpegtoppm.\n"
10880    "* 'm' and 'M' keys in imseq.c.\n"
10881    },
10882 
10883   { 4,DEC,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10884    "* Change 'm/M' to 'v/V', and also add to afni_graph.c.\n"
10885    },
10886 
10887   { 5,DEC,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10888    "* Some tweaks to mpegtoppm and mri_read_mpeg.\n"
10889    "* Fixed bug in niml/niml_element.c -- NI_free_element() would fail if\n"
10890    "   nel->vec was NULL.\n"
10891    "* Similar problem in thd_3Ddset.c.\n"
10892    },
10893 
10894   { 7,DEC,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10895    "* Modified ts.c to allow '#' comments in RWC_read_time_series().\n"
10896    },
10897 
10898   { 16,DEC,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10899    "* Changes to niml/ functions to make them g++ compatible.\n"
10900    "* Added 'r/R' to imseq.[ch] and afni_graph.[ch].\n"
10901    },
10902 
10903   { 17,DEC,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10904    "* Fixed Amalloc.h bug.\n"
10905    },
10906 
10907   { 23,DEC,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10908    "* Checked in many changes to deal with compilation of afni with g++\n"
10909    "   (version 3.2 or later).\n"
10910    },
10911 
10912   { 30,DEC,2003 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10913    "* Fixed annoying bugs in NIML stream I/O.\n"
10914    "* Modified niml/niml_do.c to allow user to register callbacks that\n"
10915    "   supplement builtin verbs.\n"
10916    },
10917 
10918   { 2,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10919    "* More annoying bugs in NIML stream I/O.  Also, when a socket is\n"
10920    "   closed, send 1 byte of OOB data so that the receiving process\n"
10921    "   will receive SIGURG.  The new SIGURG handler will then shut\n"
10922    "   the socket down on the other end, without the user having to\n"
10923    "   read the 'close_this' element.\n"
10924    },
10925 
10926   { 7,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10927    "* Modifications to plugins and models to make them work with g++.\n"
10928    },
10929 
10930   { 8,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10931    "* Modifications to mcw_malloc.c to print out traceback chain when\n"
10932    "   corruption is detected.\n"
10933    "* Added ENTRY()/RETURN() to a number of mri_*.c functions.\n"
10934    "* Modified afni.c to display surface overlay from other datasets in\n"
10935    "   the same directory, if the current underlay datasets doesn't have\n"
10936    "   any surfaces.\n"
10937    },
10938 
10939   { 10,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10940    "* Modified mrilib.h, mri_read.c, and to3d.c to allow use of inter-slice\n"
10941    "   spacing to override slice thickness, at least for GE I.* files.\n"
10942    },
10943 
10944   { 12,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10945    "* Modified imseq.c to draw graymap in histogram style.  Also added\n"
10946    "   'ent=' entropy value to numerical range display.\n"
10947    },
10948 
10949   { 13,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10950    "* Modified mri_read_dicom.c to alter operation of AFNI_SLICE_SPACING_IS_GAP\n"
10951    "   so that 'NO' means use the Spacing attribute even if it is smaller than\n"
10952    "   the Thickness attribute.  Seems to be needed for Phillips.\n"
10953    },
10954 
10955   { 14,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10956    "* Modified coxplot/pwritf.f to allow color changes in the text, and to\n"
10957    "   allow disabling of the escape mechanism (so filenames with '_' are OK).\n"
10958    "* Modified 3drotate.c, 3AnatNudge.c, 3dLRflip.c, 3dTagalign.c, 3copy.c to\n"
10959    "   allow processing of non-AFNI (e.g., MINC) datasets.  The problem was\n"
10960    "   that these program open/load a dataset, modify it in-place, rename it,\n"
10961    "   then write it out.  That won't quite work for non-AFNI datasets, since\n"
10962    "   the dataset is still marked as being MINC (say), and we can't write\n"
10963    "   those directly.  Solution: mark the dataset as AFNI-format, after\n"
10964    "   loading it and before changing its name.\n"
10965    "* Modified Makefile.* to use a 'MAKE' macro instead of the fixed 'make'\n"
10966    "   command.\n"
10967    },
10968 
10969   { 15,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10970    "* Modified afni.c so that -skip_afnirc option works again (was being screwed\n"
10971    "   up in machdep() function).  Also added a couple friends.\n"
10972    "* When re-f2c-ing a .f file, must remove declarations of built-in functions\n"
10973    "   from the C code, since they cause the g++ compilation to fail to link.\n"
10974    "   Also, in coxplot/*.c functions, must manually change the COMMON struct\n"
10975    "   definitions to extern.\n"
10976    "* Added SHORTIZE() and BYTEIZE() to mri_to_short.c and mri_to_byte.c to\n"
10977    "   avoid integer overflow problems when scaling and/or changing data types.\n"
10978    },
10979 
10980   { 16,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10981    "* Modified 3dFDR.c to produce some output when -input1D option is used!\n"
10982    },
10983 
10984   { 23,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10985    "* Modifications to put surfaces into sessions rather than directories.\n"
10986    "* Modified ISQ_show_zoom() in imseq.c to avoid infinite recursion that\n"
10987    "   seems to happen when user zooms, crops, then changes image fraction\n"
10988    "   (with the 'i' arrows). WTF?\n"
10989    "* Modified imseq.[ch] to NOT place dialog near changed window when closing\n"
10990    "   the Montage control dialog, since that hangs up for a while on the Mac.\n"
10991    "* Modified afni.c to make sure surface boxes are plotted with line\n"
10992    "   thickness zero.\n"
10993    },
10994 
10995   { 27,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
10996    "* Added 'WinAver' feature to afni_graph.[ch] and afni.c.  This shows the\n"
10997    "   'ideal' waveform as the average of all the timeseries in a graphing\n"
10998    "   window.\n"
10999    "* Modified afni.[ch] and afni_widg.c to set a flag in each im3d, so that\n"
11000    "   if it is created when the dummy dataset is present, then when a real\n"
11001    "   dataset becomes available, the controller will get set to the middle\n"
11002    "   of THAT dataset's coordinates, rather than the dummy's middle.  This\n"
11003    "   is useful for realtime imaging (which is why the dummy is there).\n"
11004    },
11005 
11006   { 28,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11007    "* Added hints to various menu items that were lacking them in afni_graph.c.\n"
11008    },
11009 
11010   { 29,JAN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11011    "* Added the cute little diagonal 'AFNI' to various windows.\n"
11012    "* Modified rtfeedme.c to add the '-gyr' option to test GRAPH_[XY]RANGE.\n"
11013    },
11014 
11015   { 6,FEB,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11016    "* Added threshold locking (via environment variable AFNI_THRESH_LOCK).\n"
11017    "   Also, moved lock code from afni.c to new file afni_lock.c.\n"
11018    },
11019 
11020   { 7,FEB,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11021    "* Added pbar locking (via environment variable AFNI_PBAR_LOCK), and\n"
11022    "   threshold p-value locking.\n"
11023    "* Added AFNI_DISP_SCROLLBARS to afni_pplug_env.c, to control if Disp\n"
11024    "   menu in image viewer gets scrollbars.\n"
11025    },
11026 
11027   { 10,FEB,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11028    "* Made threshold locking move sliders during drag, not just end of drag.\n"
11029    "   Also change pval at bottom of locked sliders during drag.  Also put\n"
11030    "   Edit Environment button on top-of-pbar popup menu.\n"
11031    },
11032 
11033   { 11,FEB,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11034    "* Fixed bug in afni_graph.c about average time series, when graph is\n"
11035    "   too short.  I think.  [cf. 27,JAN,2004]\n"
11036    },
11037 
11038   { 12,FEB,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11039    "* Oooops.  '\\noesc' should be '\\\\noesc' in several places.  My bad.\n"
11040    "* Modified mri_read.c to allow GE 'IMGF' flag to be anywhere in 1st 4K\n"
11041    "   of file, if file starts with 'GEMS' instead of 'IMGF'.\n"
11042    },
11043 
11044   { 19,FEB,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11045    "* Added -mask and -srad and 5th-value=radius features to 3dUndump.c.\n"
11046    },
11047 
11048   { 23,FEB,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11049    "* Added range locking to afni_lock.c and afni_func.c.\n"
11050    "* Added tick marks to imseq.c.\n"
11051    "* Rick Reynolds added NN interpolation option for zooming to mri_dup.c.\n"
11052    },
11053 
11054   { 24,FEB,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11055    "* Fixed bug in thd_sheard3d.c, when input matrix to rot_to_shear_matvec()\n"
11056    "   is identity, could get a bad shear.  In this case, just manually put\n"
11057    "   the correct shear into place.\n"
11058    },
11059 
11060   { 29,FEB,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11061    "* Re-fixed the thd_shear3d.c bug of 24,FEB,2004, since it was wrong.\n"
11062    },
11063 
11064   { 9,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11065    "* Added 'ms' time unit selection to 3dcalc.c -dt/-taxis options.\n"
11066    },
11067 
11068   { 11,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11069    "* Modified use of SPM originator field in thd_analyzeread.c to subtract\n"
11070    "   1 from indexes.\n"
11071    "* Modified mri_warp3D.c and 3dWarp.c to do MNI<->TTA transforms.\n"
11072    "* Don't need '-eval' option on ccalc command line anymore.\n"
11073    },
11074 
11075   { 12,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11076    "* Modified afni.[ch], afni_widg.c, to put popup DICOM/SPM coordinate menu\n"
11077    "   on crosshair coordinate label.\n"
11078    "* 'Anatomy' -> 'Underlay' and 'Function' -> 'Overlay' in several places.\n"
11079    },
11080 
11081   { 15,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11082    "* More 'Anatomy' -> 'Underlay' and 'Function' -> 'Overlay' stuff.\n"
11083    "* Added optmenu_EV_fixup() to bbox.c - change cursor arrow on optmenu popups.\n"
11084    },
11085 
11086   { 17,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11087    "* AFNI_GRAPH_AUTOGRID variable in afni_graph.c.\n"
11088    "* Fixed memory estimate in 3dAutoTcorrelate.c.\n"
11089    },
11090 
11091   { 18,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11092    "* Fixed plug_nth_dataset.c to right fill short time series with WAY_BIG,\n"
11093    "   and then afni_graph.c to not plot these tails in the dplot overlay.\n"
11094    "* Modified afni_graph.[ch] to allow pin_bot as well as pin_top (ugh).\n"
11095    },
11096 
11097   { 19,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11098    "* Added vector chooser to bbox.[ch] and used in afni_graph.[ch] for choosing\n"
11099    "   graph pin top and bottom together.\n"
11100    },
11101 
11102   { 21,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11103    "* AFNI_DISABLE_CURSORS in xutil.c.\n"
11104    },
11105 
11106   { 22,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11107    "* AFNI_SLAVE_FUNCTIME in afni.c.\n"
11108    "* Modified 3dvolreg.c to make -wtrim always be on, and to scale init\n"
11109    "   for the twopass iteration.\n"
11110    },
11111 
11112   { 23,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11113    "* 3dZeropad.c gets new -RL, -AP, -SI options.\n"
11114    },
11115 
11116   { 24,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11117    "* Modify Intracranial.c to deal with an optimizing bug on Mac OS X\n"
11118    "   -- doesn't work well with large auto arrays.\n"
11119    },
11120 
11121   { 31,MAR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11122    "* Weird Mac problem: afni_graph.c crashes when destroying graph viewer\n"
11123    "   Widgets, but only after the timeseries chooser is popped up.  Stupid\n"
11124    "   solution is to only unrealize widgets if this chooser was opened by\n"
11125    "   the user.  WTF?\n"
11126    },
11127 
11128   { 2,APR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11129    "* Mods to fix auto_grid()-ing in afni_graph.[ch].\n"
11130    },
11131 
11132   { 5,APR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11133    "* Fixes to afni_graph.c to spackle over unexplainable crashes on Mac when\n"
11134    "   a timeseries chooser is opened and later the graph window is closed.\n"
11135    },
11136 
11137   { 8,APR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11138    "* AFNI_X11_REDECORATE in xutil.h and afni_pplug_env.c, to replace MCW_isitmwm().\n"
11139    },
11140 
11141   { 9,APR,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11142    "* Fixed lack of fclose() in ts.c (a 10 year old bug!).\n"
11143    },
11144 
11145   { 11,MAY,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11146    "* Modified imseq.c to apply Zero Color to RGB images.\n"
11147    },
11148 
11149   { 12,MAY,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11150    "* Modified 3dvolreg.c to make -sinit turn scale init off for -twopass.\n"
11151    },
11152 
11153   { 8,JUN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11154    "* Added call to THD_copy_auxdata() to mri_warp3D.c, and -copyaux option to\n"
11155    "   3drefit.c\n"
11156    "* Added AFNI_IMAGE_SAVESQUARE environment variable to imseq.c; added\n"
11157    "   functions to mri_warp.c to implement re-aspectizationing.\n"
11158    },
11159 
11160   { 21,JUN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11161    "* Modified 3dclust -help to print out info about coordinate systems.\n"
11162    "* Modified afni_func.c to add environment variable AFNI_BUCKET_LABELSIZE\n"
11163    "   to modify bucket label sizes.\n"
11164    },
11165 
11166   { 22,JUN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11167    "* Modified afni.c to set various environment variables to new defaults\n"
11168    "  - crosshair lines are on instead of off\n"
11169    "  - controllers are locked instead of unlocked\n"
11170    "  - save square is on instead of off\n"
11171    },
11172 
11173   { 23,JUN,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11174    "* Modified AFNI_leave_EV in bbox.c to avoid memory leak (must free up the\n"
11175    "   retrieved textfield string if an early exit is taken).\n"
11176    },
11177 
11178   { 8,JUL,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11179    "* Modified mri_read.c to allow line lengths of up to 512K in *.1D files.\n"
11180    "* Modified coxplot/plot_ts.c to correctly remove labels from separate plot\n"
11181    "   boxes if input nnayy==0.\n"
11182    "* Modified 1dgrayplot.c to have new '-sep' option.\n"
11183    },
11184 
11185   { 14,JUL,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11186    "* Modified 3dDeconvolve.c to make some basic checks\n"
11187    "   - equal filenames for -stim_file options\n"
11188    "   - zero columns in X matrix\n"
11189    "   - collinear column pairs in X matrix\n"
11190    "   - compute matrix condition number\n"
11191    "* Modified matrix.[ch] and matrix_f.[ch] to support this stuff.\n"
11192    "* Disabled 3dDeconvolve_f binary, sort of.\n"
11193    },
11194 
11195   { 15,JUL,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11196    "* Modified 3dDeconvolve.c and Deconvolve.c to have -legendre option, for\n"
11197    "   use of better polynomials for the baseline estimation.\n"
11198    "* Modified matrix.c and matrix_f.c to have matrix_inverse_dsc() function,\n"
11199    "   to use diagonal scaling before/after the matrix inversion.  Modified\n"
11200    "   RegAna.c to use this function, to avoid stupid scaling issues.\n"
11201    "   Also modified condition number calculation to take this into account.\n"
11202    },
11203 
11204   { 16,JUL,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11205    "* Modified Deconvolve.c to use correctly normalized Legendre polynomials,\n"
11206    "   for potential ease-of-use for people who want to know what the\n"
11207    "   baseline functions are.\n"
11208    },
11209 
11210   { 19,JUL,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11211    "* Modified matrix.c and RegAna.c to do matrix solutions with pseudo-inverse\n"
11212    "   from SVD, rather than normal equations.\n"
11213    "* Adapted svd.f into eis_svd.c a little more, and also wrote a wrapper\n"
11214    "   function into cs_symeig.c, and a test program 1dsvd.\n"
11215    },
11216 
11217   { 20,JUL,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11218    "* Modified thd_get1D.c to limit loading of 1D files in AFNI to a max size\n"
11219    "   set by environment variable AFNI_MAX_1DSIZE (default 123K).\n"
11220    "* Modified mri_read_ascii() in mri_read.c to use the 'n@val' method for\n"
11221    "   value duplication.  Also modified my_fgets() to return a duplicate\n"
11222    "   of the previous line if the first two nonblank characters on the line\n"
11223    "   are ''.\n"
11224    },
11225 
11226   { 21,JUL,2004 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11227    "* Modifed MCM_get_intlist() to print error messages when the user inputs\n"
11228    "   values off the top end of the range, instead of silently turning them\n"
11229    "   into the top (stupid users).\n"
11230    "* Modified afni_fimmer.c to correctly use scaling factors if present in\n"
11231    "   the time series data (oops, for about 8 years).\n"
11232    "* Added printout of pseudo-inverse to 1dsvd.c.\n"
11233    "* Added -svd option to 3dDeconvolve.  Also, if SVD is on, then DON'T\n"
11234    "   remove all zero stimuli from the list.\n"
11235    "* Added -xjpeg option to 3dDeconvolve: grayplot of X matrix.\n"
11236    },
11237 
11238   { 22,JUL,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11239    "* Modified mri_drawing.c and coxplot/plot_cox.c to allow for opacity.\n"
11240    "   Used this in -xjpeg option in 3dDeconvolve.c.\n"
11241    },
11242 
11243   { 28,JUL,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11244    "* Finished (I hope) addition of -xsave and -xrestore options to 3dDeconvolve.\n"
11245    "* Fixed (I hope) bug in AFNI_setup_viewing() in afni.c, where the ULay\n"
11246    "   sub-brick chooser optmenu wouldn't be configured correctly in controller\n"
11247    "   [B] (etc.) due to anat_old check not also checking im3d_old.\n"
11248    "* Modified mri_read_ascii() and my_fgets() in mri_read.c to not malloc/free\n"
11249    "   line buffer for each line read.  Also, removed the '' feature.\n"
11250    "* Added mri_read_ascii_ragged() to mri_read.c.\n"
11251    },
11252 
11253   { 29,JUL,2004 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11254    "* Added mri_symbolize.c, and -gltsym option to 3dDeconvolve.\n"
11255    },
11256 
11257   { 2,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11258    "* Modified matrix_f.c to include loop unrolling found in matrix.c.\n"
11259    "* Modified mri_symbolize.c and 3dDeconvolve.c to use '[[...]]' subscripting\n"
11260    "   for -gltsym multi-row expansion.\n"
11261    },
11262 
11263   { 3,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11264    "* Modified matrix_print() in matrix.c and matrix_f.c to print shorter strings\n"
11265    "   when the matrix comprises all 1 digit integers.\n"
11266    "* Modified 3dDeconvolve.c to print -gltsym matrices when AFNI_GLTSYM_PRINT\n"
11267    "   environment variable is YES.\n"
11268    "* Modified matrix_f.c to use Altivec on Mac for matrix-vector multiplies.\n"
11269    "   Adds about 10% to speed on G5, over the loop unrolling from yesterday.\n"
11270    },
11271 
11272   { 4,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11273    "* At long last, removed the ill-fated 'merger' stuff from 3ddata.h and\n"
11274    "   all AFNI functions.\n"
11275    "* Added THD_open_tcat() in thd_opentcat.c, to open a list of datasets as\n"
11276    "   on long 3D+time dataset.  Also modified 3ddata.h, THD_open_dataset(),\n"
11277    "   and so forth.\n"
11278    "* Modified 3dDeconvolve.c to use this feature to allow input catenation\n"
11279    "   (if the input_filename field has blanks in it).\n"
11280    },
11281 
11282   { 5,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11283    "* Polished up the 3dDeconvolve.c changes.\n"
11284    "* Added 'README.environment' text to Datamode->Misc menu in AFNI.\n"
11285    },
11286 
11287   { 6,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11288    "* Fixed bug in 3dDeconvolve.c where -cbucket bricks were colliding with\n"
11289    "   -bucket bricks, vi bar[] and attach_sub_brick().\n"
11290    },
11291 
11292   { 10,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11293    "* Started work on 3dDeconvolve.c to add -stim_times option for direct\n"
11294    "   input of models to fit.\n"
11295    "* Modified mri_read_ascii_ragged() to read a '*' character as a fill,\n"
11296    "   thus allowing lines with no entries or intermediate missing entries.\n"
11297    },
11298 
11299   { 11,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11300    "* Added environment variable AFNI_3dDeconvolve_nodup to 3dDeconvolve.c,\n"
11301    "   to stop processing if duplicate columns are discovered.\n"
11302    },
11303 
11304   { 12,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11305    "* Modified Deconvolve.c and 3dDeconvolve.c to remove mean from baseline\n"
11306    "   timeseries if polort>0, and -nodmbase option is not given.\n"
11307    "* 3dDeconvolve saga: Generate response vectors from stimulus timing and\n"
11308    "   user-specified model.\n"
11309    },
11310 
11311   { 19,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11312    "* eis_svd.c sometimes works wrong with 'gcc -O', so modified Makefile.INCLUDE\n"
11313    "   and eispack/Makefile to turn optimization off for this file.\n"
11314    },
11315 
11316   { 23,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11317    "* Fixed bug with polort=-1; program creates a baseline model matrix with\n"
11318    "   0 columns, and matrix_psinv() didn't like that.\n"
11319    "* Add basis_write_response() to 3dDeconvolve.c to actually write out the\n"
11320    "   computed IRF for symbolic models.\n"
11321    },
11322 
11323   { 29,AUG,2004 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11324    "* Added EXPR(bot,top) basis function to 3dDeconvolve.c.\n"
11325    },
11326 
11327   { 30,AUG,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11328    "* Modified 3dDeconvolve.c basis_write_response() to be more efficient (don't\n"
11329    "   evaluate basis expressions so often).\n"
11330    "* Added basis_write_sresp() to 3dDeconvolve.c to write standard deviation\n"
11331    "   of the IRFs.\n"
11332    },
11333 
11334   { 2,SEP,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11335    "* Modified mri_symbolize.c to correctly use the intlist() function.\n"
11336    "* Patched thd_auxdata.c and thd_initdblk.c not to create brick labels\n"
11337    "   over 32 characters in length.  (Someone who shall remain nameless\n"
11338    "   created one several thousand characters long, and thd_info.c didn't\n"
11339    "   like that much.)\n"
11340    },
11341 
11342   { 7,SEP,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11343    "* Fixed some stuff in the -help output of afni.c.\n"
11344    },
11345 
11346   { 9,SEP,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11347    "* Modified afni_version.c to use TCP/IP to communicate with version\n"
11348    "   sub-process rather than shared memory.\n"
11349    },
11350 
11351   { 15,SEP,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11352    "* New function THD_get_voxel() in thd_loaddblk.c, returns a float for a\n"
11353    "   single voxel (not very efficient to use this in mass).\n"
11354    "* Used the above in thd_fdto1D.c to deal with returning time series from\n"
11355    "   datasets with mismatched sub-brick types.\n"
11356    "* Also, print a warning for such datasets in thd_initdblk.c.\n"
11357    },
11358 
11359   { 5,OCT,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11360    "* Modified imseq.c to write animated GIF files with a fixed colormap,\n"
11361    "   to avoid color flashing when (e.g.) rotating a volume rendering.\n"
11362    },
11363 
11364   { 6,OCT,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11365    "* Modified afni_graph.[ch] to add a chooser to set the thickness of\n"
11366    "   'Thick' lines in the graph viewers (on the 'Opt->Colors, Etc.' menu).\n"
11367    "   Also, afni.c to add AFNI_graph_gthick to initialize this value.\n"
11368    },
11369 
11370   { 20,OCT,2004 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11371    "* Modified parser.f to add NOTZERO, ISZERO, and EQUALS functions.\n"
11372    },
11373 
11374   { 21,OCT,2004 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11375    "* Also added ISPOSITIVE and ISNEGATIVE functions to parser.f\n"
11376    },
11377 
11378   { 22,OCT,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11379    "* Modifed thd_shear3d.c to use true SVD in computing the rotation for\n"
11380    "   3dTagalign, rather than the symmetric eigensolution method.\n"
11381    },
11382 
11383   { 29,OCT,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11384    "* Modified 3dfim+.c to make Spearman and Quadrant CC bricks fico.\n"
11385    "* Modified niml/niml_rowtype.c to auto-define VEC_basictype_len types\n"
11386    "   when first referenced.\n"
11387    },
11388 
11389   { 3,NOV,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11390    "* Some changes to 3dAnhist.c for Lukas and Katie.\n"
11391    },
11392 
11393   { 16,NOV,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11394    "* Modified imseq.c to print warnings when it can't find Save filter programs.\n"
11395    },
11396 
11397   { 30,NOV,2004 , RWC , "Miscellaneous" , MAJOR , TYPE_GENERAL , "Older History stuff" ,
11398    "* First version of 3dWarpDrive released.\n"
11399    "* 3dcalc now prints a warning if outputing a byte-valued dataset when the\n"
11400    "   calculated results had some negative values.\n"
11401    },
11402 
11403   { 1,DEC,2004 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11404    "* Added -twopass option to 3dWarpDrive, etc.\n"
11405    },
11406 
11407   { 6,DEC,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11408    "* Fixed '<a..b>' dataset input without '[...]' input to not print a warning\n"
11409    "   message about the lack of sub-brick subscripts.\n"
11410    "* Modified 3dmaskave.c to add '-mask SELF' option.\n"
11411    },
11412 
11413   { 9,DEC,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11414    "* PURGE_MEMORY addition to afni_driver.c.\n"
11415    },
11416 
11417   { 17,DEC,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11418    "* AFNI_faceup() in afni_splash.c and on the hidden popup menu.\n"
11419    },
11420 
11421   { 20,DEC,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11422    "* Modified afni_func.c to allow user to threshold RGB-valued overlays.\n"
11423    },
11424 
11425   { 21,DEC,2004 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11426    "* Modified afni_func.c to allow dataset 'label2' field to be displayed in\n"
11427    "  window titlebars, instead of filenames.  Also affected: afni_pplug_env.c\n"
11428    "  and 3drefit.c (to let user change label2 field).\n"
11429    "* Replaced VERSION with AFNI_label.h header, generated by script Ctag.\n"
11430    },
11431 
11432   { 22,DEC,2004 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11433    "* Incorporated 3dMean.c changes from Mike Beauchamp to add standard deviation\n"
11434    "  option.\n"
11435    "* Fixed stupid scale_thr bug in afni_func.c.\n"
11436    },
11437 
11438   { 3,JAN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11439    "* Modified mri_imcount() in mri_read.c to not do '3D:' counting on a file\n"
11440    "   unless there is actually a colon in the filename!  D'oh.\n"
11441    },
11442 
11443   { 4,JAN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11444    "* Modified mri_warp3D_align.c and 3dWarpDrive.c to fix up some issues with\n"
11445    "   -twopass on small (EPI-sized) bricks and to add -1Dfile option.\n"
11446    },
11447 
11448   { 5,JAN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11449    "* Modified 1dsvd.c to add -1Dright option.\n"
11450    "* Fixed bug in 1dplot.c -stdin option: failed to skip leading blanks properly\n"
11451    "   when scanning input lines for '#' comment characters!  (Stupid)\n"
11452    "* Modified imseq.[ch] to add saving of overlay MEM_plotdata stuff with the\n"
11453    "   recorder, as well as the images.\n"
11454    },
11455 
11456   { 6,JAN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11457    "* Modified imseq.c to free the pen_bbox and labsz_av when destroying an image\n"
11458    "   viewer -- somehow these got overlooked in ISQ_free_alldata().\n"
11459    },
11460 
11461   { 14,JAN,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11462    "* Added program whereami, from Mike Angstadt of U Chicago.\n"
11463    },
11464 
11465   { 24,JAN,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11466    "* Added environment variable AFNI_SLAVE_THRTIME to afni.c.\n"
11467    },
11468 
11469   { 1,FEB,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11470    "* Added -redo_bstat option to 3drefit.c.\n"
11471    },
11472 
11473   { 7,FEB,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11474    "* Fixed bug in Deconvolve.c with removing mean of -stim_base columns.\n"
11475    },
11476 
11477   { 16,FEB,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11478    "* Modified 3dhistog.c to remove -thr stuff and add -doall stuff.\n"
11479    },
11480 
11481   { 18,FEB,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11482    "* Modified afni_driver.c, imseq.c, and afni_graph.c to add 'keypress='\n"
11483    "   modifiers to the OPEN_WINDOW commands for driving AFNI.\n"
11484    },
11485 
11486   { 22,FEB,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11487    "* Modified 3dTshift.c and to3d.c to have new 'alt+z2' option.\n"
11488    "* New program 3dMedianFilter.\n"
11489    "* Added I:*.1D stuff to 3dcalc.c.\n"
11490    },
11491 
11492   { 23,FEB,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11493    "* Modified to3d.c to accept -Torg option.  Also to thd_info.c to print\n"
11494    "   out the ttorg field.\n"
11495    },
11496 
11497   { 24,FEB,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11498    "* Modified 3dmaskave.c to have -max option.\n"
11499    "* Modified niml/ functions to generalize NI_group elements so that any\n"
11500    "   element name is OK, provided attribute ni_form='group' is present.\n"
11501    },
11502 
11503   { 25,FEB,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11504    "* Add -min option to 3dmaskave.c.\n"
11505    "* Fixed memory leak in niml_dtable.c (forgot to free second copies of strings).\n"
11506    "* New niml_registry.c stuff, for allocating 'registered' structs.\n"
11507    },
11508 
11509   { 26,FEB,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11510    "* Modified thd_ctfread.c to seek backwards from end rather than forwards; this\n"
11511    "   makes it work with the new CTF svl format.\n"
11512    },
11513 
11514   { 28,FEB,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11515    "* Oops -- used '&&' instead of '||' in byte swap test in new thd_ctfread.c.\n"
11516    "* More surgery on NIML registry and Htables.\n"
11517    },
11518 
11519   { 1,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11520    "* Modified matrix.c and matrix_f.c to use BLAS-1 on the SGI Altix.\n"
11521    },
11522 
11523   { 2,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11524    "* Further matrix.c changes for BLAS-1 on Solaris.\n"
11525    },
11526 
11527   { 4,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11528    "* Further matrix.c changes: store as one array, not an array-of-arrays,\n"
11529    "   except on Solaris, where the array-of-array approach is faster(!?).\n"
11530    },
11531 
11532   { 7,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11533    "* Ooops.  Have to '#include <machdep.h>' into matrix_f.h to make sure\n"
11534    "   DONT_USE_MATRIX_MAT is defined.\n"
11535    },
11536 
11537   { 8,MAR,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11538    "* Including retroicor stuff from Fred Tam.\n"
11539    },
11540 
11541   { 9,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11542    "* New functions to (a) write dataset struct stuff into attributes (moved\n"
11543    "   out of THD_write_dataset and THD_write_datablock); to (b) convert\n"
11544    "   dataset attributes to/from a NIML group; to (c) populate datablock\n"
11545    "   from attributes, rather than do so on-the-fly as they are read in.\n"
11546    },
11547 
11548   { 11,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11549    "* Fixed up the NIML-ization of datasets, and their transmission into\n"
11550    "   AFNI.\n"
11551    },
11552 
11553   { 18,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11554    "* Finished up NIML bulk transfer of datasets to AFNI, etc.\n"
11555    },
11556 
11557   { 21,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11558    "* Edgize the overlay.\n"
11559    },
11560 
11561   { 22,MAR,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11562    "* mean(), stdev(), and sem() for parser and 3dcalc.\n"
11563    "* Modify Ziad's plugout_drive.c '-com' option to execute commands in\n"
11564    "   order given, rather than the reverse order.\n"
11565    "* Fix REDISPLAY in afni_driver.c (oopsie).\n"
11566    "* Added '<MRI_IMAGE ...>' input to afni_niml.c, to store as .1D files.\n"
11567    "* Added '-Dname=val' option to afni.c (set environment variables).\n"
11568    },
11569 
11570   { 28,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11571    "* Changes to the AFNI update script written out in afni_version.c.\n"
11572    "* Modified total_bytes field in datablock structure to be int64_t rather\n"
11573    "   than int, to better deal with huge datasets.  Modified a lot of places\n"
11574    "   that refer to this field, especially places dealing with reading and\n"
11575    "   writing datasets.\n"
11576    "* Modified thd_loaddblk.c to auto-update brick statistics for non-AFNI\n"
11577    "   datasets.\n"
11578    },
11579 
11580   { 29,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11581    "* Modified afni_func.c to call AFNI_reset_func_range() at start of\n"
11582    "   AFNI_func_overlay() to make sure brick ranges are set properly\n"
11583    "   for display.\n"
11584    "* Modified fim+.c and 3dfim+.c to allow polort > 2, by using Legendre\n"
11585    "   polynomials for the baseline model.\n"
11586    "* Fixed bug in NIML, where the new 'outmode' field in elements wasn't\n"
11587    "   being initialized to -1 like it should have been.\n"
11588    },
11589 
11590   { 30,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11591    "* Fixed bug in AFNI_range_label() in afni_func.c about brick range\n"
11592    "   setup change of yesterday (forgot to initialize stats_*_ok).\n"
11593    },
11594 
11595   { 31,MAR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11596    "* Oops.  Fixed bug in afni_niml.c wrt <?drive_afni ... ?> processing\n"
11597    "   instruction: needed to put the command into an attribute.\n"
11598    "* Added a 1 ms wait to niml/niml_stream.c when a tcp: or shm: stream\n"
11599    "   is closed.  This is to let the application on the other end have\n"
11600    "   a decent interval to fetch any just-transmitted data.\n"
11601    "* Modified thd_opendset.c to NOT print an error message when trying to\n"
11602    "   open a non-existent file -- now just prints a message if the file\n"
11603    "   exists but has no data.\n"
11604    },
11605 
11606   { 4,APR,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11607    "* Added 'Pleg' function to parser and thence to 3dcalc, etc.\n"
11608    },
11609 
11610   { 6,APR,2005 , RWC , "Miscellaneous" , MAJOR , TYPE_GENERAL , "Older History stuff" ,
11611    "* Added '.nii' output feature to THD_writedset() function, and did\n"
11612    "   a few other similar things hither and yon.\n"
11613    },
11614 
11615   { 7,APR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11616    "* Modified thd_niftiread.c to use the NBL functions in rickr's\n"
11617    "   nifti1_io.c to read the data from a .nii file -- this makes\n"
11618    "   .nii.gz files work as well, automagically.\n"
11619    "* Fixed bug in imseq.c -- logic for taking the button box value\n"
11620    "   for animations to/from the integer flags was bad in the case\n"
11621    "   where an aGif filter doesn't exist.\n"
11622    "* Fixed bug in thd_niftiwrite.c -- 'if( nparam = 3)' was amended\n"
11623    "   to '=='.\n"
11624    "* Modified thd_niftiwrite.c to allow output of func bucket as\n"
11625    "   the 'u' dimension.\n"
11626    },
11627 
11628   { 13,APR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11629    "* Added one to the count of the basis function -iresp and -sresp\n"
11630    "   counts, to ensure getting the last point!\n"
11631    },
11632 
11633   { 15,APR,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11634    "* Add -automask option in 3dDeconvolve.c.\n"
11635    "* Add mri_write_jpg() to mri_write.c.  Now mri_write() automatically\n"
11636    "   writes a .jpg file for RGB and BYTE images if the filename ends\n"
11637    "   in '.jpg'.\n"
11638    },
11639 
11640   { 18,APR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11641    "* Modified mri_write.c functions to write to stdout if the output\n"
11642    "   filename is the string '-'.  This mod affects mri_write_pnm(),\n"
11643    "   mri_write(), and mri_write_ascii().  Indirectly affects program\n"
11644    "   imupsam.c.\n"
11645    },
11646 
11647   { 19,APR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11648    "* Modified niml/niml_element.c to add NI_alter_veclen() function, and\n"
11649    "   NI_insert_string() function.\n"
11650    "* Modified plug_tag.c and a couple others to allow func datasets as\n"
11651    "   inputs, as well as anats.\n"
11652    },
11653 
11654   { 20,APR,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11655    "* Modified afni_func.c to let 0 values in the overlay image get color\n"
11656    "   if environment variable AFNI_OVERLAY_ZERO is set to YES.\n"
11657    },
11658 
11659   { 21,APR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11660    "* Where AFNI_COLORSCALE_0x is allowed in pbar.c, also check for\n"
11661    "   AFNI_COLORSCALE_x and AFNI_COLORSCALE_Ox, to allow for stupid users.\n"
11662    "   Similar changes in a few other places, as well.\n"
11663    "* Modified niml/niml_rowtype.c and niml_stream.c to re-enable input\n"
11664    "   of Base64-encoded data elements (capability had been lost with\n"
11665    "   the advent of rowtypes and var-dim arrays).\n"
11666    },
11667 
11668   { 25,APR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11669    "* Minor changes to NIML.\n"
11670    "* Gamma variation allowed for RGB display in imseq.c.\n"
11671    },
11672 
11673   { 26,APR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11674    "* Modified imseq.c to apply 0D and 2D transforms to RGB images (that is,\n"
11675    "   in the intensity channel).  And afni_func.c to apply to RGB overlays.\n"
11676    },
11677 
11678   { 27,APR,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11679    "* Modified 3dDeconvolve.c to allow -stim_times to be used with -nodata.\n"
11680    "   To do this, you use '-nodata NT TR' to specify the number of time\n"
11681    "   points and their TR.\n"
11682    "* Modified imseq.c to make up/down movement of stroking affect RGB,\n"
11683    "   additively, much as left/right does multiplicatively.\n"
11684    },
11685 
11686   { 28,APR,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11687    "* Modified 3dDeconvolve to add -basis_normall option, and a couple of\n"
11688    "   other minor tweaks.\n"
11689    },
11690 
11691   { 29,APR,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11692    "* Moved extras printout in 3dDeconvolve -nodata to be optional with\n"
11693    "   an environment variable.\n"
11694    "* Fixed bug in range locking in afni_lock.c -- if range is locked but\n"
11695    "   only one controller open, couldn't turn autoRange on.\n"
11696    },
11697 
11698   { 2,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11699    "* Added plot of least squares overlay line to the Scatterplot plugin.\n"
11700    "* 3drotate.c now records the applied matvec into the AFNI header attributes.\n"
11701    },
11702 
11703   { 3,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11704    "* More changes to 3drotate.c along the same line.\n"
11705    "* Edit afni.c to set width of bucket label AVs (in Define Overlay) based on\n"
11706    "   max width of input sub-brick labels, for each dataset separately.\n"
11707    },
11708 
11709   { 4,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11710    "* Oops.  Fix atexit() bug in niml/niml_stream.c -- had logic inverted on\n"
11711    "   when to remove a stream from the 'open list'.\n"
11712    },
11713 
11714   { 6,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11715    "* non-AFNI datasets (e.g., .nii files) now have ID code set via hashing\n"
11716    "   their realpath, rather than a random ID code.\n"
11717    "* Modify EDIT_dset_items() to change the brick_name correctly when the\n"
11718    "   new prefix ends in '.nii' or '.nii.gz'.\n"
11719    "* Modify a bunch of programs that print 'Writing dataset' messages to\n"
11720    "   always use the DSET_BRIKNAME() macro, for consistency.\n"
11721    },
11722 
11723   { 9,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11724    "* Modify plug_nudge.c to deal with RGB-valued datasets.\n"
11725    },
11726 
11727   { 10,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11728    "* Modify thd_initdblk.c, thd_niftiread.c, thd_niftiwrite.c to store AFNI\n"
11729    "   header data in a NIfTI-1.1 extension, making it more feasible to use\n"
11730    "   .nii datasets in AFNI as a primary storage mechanism.\n"
11731    },
11732 
11733   { 11,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11734    "* Modify the NIfTI-1.1 extension stuff to be more robust.  Also add\n"
11735    "   environment variable AFNI_NIFTI_NOEXT to turn extensions off, and\n"
11736    "   use this to provide a '-pure' option to 3dAFNItoNIFTI.c.\n"
11737    },
11738 
11739   { 12,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11740    "* Added 'NIfTI_num' signature to thd_niftiwrite.c and thd_niftiread.c.\n"
11741    },
11742 
11743   { 13,MAY,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11744    "* Added 'xamplitude' option to waver -tstim option.\n"
11745    "* Oops.  Fixed bug in 3dDeconvolve for -iresp/-sresp options: malloc-ed\n"
11746    "   the 'hout' float** array with sizeof(float) not sizeof(float*), which\n"
11747    "   doesn't work too good on 64 bit systems.\n"
11748    "* Modified 1dplot.c to\n"
11749    "   (a) allow reading up to 10000 numbers on a line from stdin, and\n"
11750    "   (b) transpose input file if it has only 1 line, so that a long\n"
11751    "       single line of numbers becomes a decent plot.\n"
11752    },
11753 
11754   { 16,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11755    "* Some minor changes to help AFNI compile on Tiger, as reported by Frank\n"
11756    "   Haist of UCSD.\n"
11757    },
11758 
11759   { 17,MAY,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11760    "* Added 'Draw ROI plugin' menu item to image viewer popup, in afni.[ch].\n"
11761    },
11762 
11763   { 18,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11764    "* Add '-dicom' and '-spm' options to 3dcalc.c.\n"
11765    "* Add a couple of warnings for stupid new users.\n"
11766    "* Fix parser.f so that acos(1) and asin(1) work (tested .LT., not .LE.).\n"
11767    },
11768 
11769   { 23,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11770    "* Add checks for data axes mismatch when inputting multiple datasets to\n"
11771    "   3dcalc.c, 3dTcat.c, 3dbucket.c, and thd_opentcat.c.  Because of\n"
11772    "   stoopid lusers.\n"
11773    "* Add 'Ignore xxx' label to bottom of afni_graph.c window, for stupid\n"
11774    "   users like me.\n"
11775    },
11776 
11777   { 24,MAY,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11778    "* Add 'i' and 'I' keystrokes to afni_graph.c, to move init_ignore down/up.\n"
11779    },
11780 
11781   { 31,MAY,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11782    "* Modified various things (like thd_nimlatr.c) to change names of some\n"
11783    "   NIML attributes, in concordance with the treaty reached today with\n"
11784    "   Ziad Saad.\n"
11785    },
11786 
11787   { 1,JUN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11788    "* Modifications to thd_atr.c, etc., to allow .HEAD files to be stored\n"
11789    "   using XML.\n"
11790    "* Warn user when ~/.afni.log file goes over 100 MB (the Kevin Murphy bug).\n"
11791    },
11792 
11793   { 2,JUN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11794    "* Modify thd_nimlatr.c to split large String attributes into multiple\n"
11795    "   substrings when using NIML, so as to avoid buffer size problems.\n"
11796    "* Fixed bug in niml/niml_stat.c decoding of strings such as 'Ftest(3,7)'\n"
11797    "   (forgot to skip the comma!).\n"
11798    "* Remove AFNI_niml_atexit() from afni_niml.c since it is now redundant\n"
11799    "   with the atexit stuff in niml/niml_stream.c (oopsie).\n"
11800    },
11801 
11802   { 3,JUN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11803    "* Fixed bug in 3dAFNIto3D; if input is a .1D file and no -prefix was given,\n"
11804    "   the output file would overwrite the input!\n"
11805    "* Modified the .3D I/O functions to\n"
11806    "   (a) allow binary format for the data;\n"
11807    "   (b) allow a time step to indicate 3D+time status;\n"
11808    "   (c) if the output prefix ends in '.3D', automatically write this format.\n"
11809    "   Binary vs text format is setup by environment variable AFNI_3D_BINARY.\n"
11810    "   prefix\n"
11811    "* Moved AFNI_setenv() function to afni_environ.c for librariness.\n"
11812    },
11813 
11814   { 6,JUN,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11815    "* Added 'Brodmann Areas' image popup to the 'Hidden' popup menu.\n"
11816    },
11817 
11818   { 8,JUN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11819    "* A number of small changes to get AFNI to compile on Tiger.\n"
11820    },
11821 
11822   { 9,JUN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11823    "* Warnings when adwarp.c or afni_func.c is about to write a .BRIK file\n"
11824    "   over 500 MB in size.\n"
11825    },
11826 
11827   { 10,JUN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11828    "* Changes to niml/niml_stream.c to make atexit() stuff work properly\n"
11829    "   when NI_stream_reopen() is used (this is Ziad's fault, of course).\n"
11830    },
11831 
11832   { 17,JUN,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11833    "* Add overlay labels (accum_lab stuff) to plug_crender.c.  Added by the\n"
11834    "   right-click popup on the 'Accumulate' label.\n"
11835    },
11836 
11837   { 5,JUL,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11838    "* Modified 3dAFNItoANALYZE.c to scale TR by 0.001 if units are msec.\n"
11839    "* Modified thd_writeatr.c and thd_writedset.c to correctly write NIML-style\n"
11840    "   .HEAD file from to3d.c (the blk->parent pointer wasn't set correctly).\n"
11841    },
11842 
11843   { 7,JUL,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11844    "* Modified 3dWarpDrive.c to save affine matrix to output file header attributes\n"
11845    "   (named WARPDRIVE_MATVEC_*), and also to base the coordinates on the actual\n"
11846    "   dataset rather than the center of the volume.\n"
11847    "* Modified 3dWarp.c to read matrix from header attribute WARPDRIVE_MATVEC_*.\n"
11848    },
11849 
11850   { 8,JUL,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11851    "* Fixed Makefile.macosx_10.? to suppress multiply-defined symbol errors.\n"
11852    "* Modified 3drefit.c and 3dcopy.c to add '-denote' option, to remove notes\n"
11853    "   and other potentially identifying attributes.\n"
11854    },
11855 
11856   { 12,JUL,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11857    "* Modify thd_1Ddset.c so that a 1D filename ending in a ' character will be\n"
11858    "   transposed on input (as a dataset), so that columnar datasets can be\n"
11859    "   treated as time, without using 1dtranspose and a temporary file.  Also,\n"
11860    "   if prefix starts with '-' character, will write .1D datasets to stdout.\n"
11861    },
11862 
11863   { 13,JUL,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11864    "* Modify afni_widg.c and afni.c so that a Button-3 click on an Image or\n"
11865    "   Graph button will recall the open window from offscreen purgatory.\n"
11866    },
11867 
11868   { 19,JUL,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11869    "* 3dWarpdrive '-bilinear_general' now works.  Usefulness is another question.\n"
11870    "* Fixed 'EMPTY IMAGE' display problem in afni_warp.c -- DSET_INMEMORY()\n"
11871    "   macro in 3ddata.h needed to check for STORAGE_UNDEFINED.\n"
11872    },
11873 
11874   { 25,JUL,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11875    "* New program im2niml.c, and '-p' option to aiv.c.\n"
11876    },
11877 
11878   { 27,JUL,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11879    "* Removed -ffast-math from Makefile.linux_gcc32, since it seems to cause\n"
11880    "   problems in eis_svd.c (at the least).\n"
11881    },
11882 
11883   { 28,JUL,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11884    "* Added stuff to afni_driver.c (SAVE_JPEG, SET_DICOM_XYZ, SET_SPM_XYZ,\n"
11885    "   SET_IJK, SET_XHAIRS), and imseq.[ch].\n"
11886    },
11887 
11888   { 29,JUL,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11889    "* Added '-com' option to afni.c.\n"
11890    "* Added grapher windows to SAVE_JPEG in afni_driver.c.\n"
11891    },
11892 
11893   { 3,AUG,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11894    "* Modified 3dWarp.c to save WARPDRIVE_MATVEC_ attributes into the header\n"
11895    "   of the output, assuming that they were used (with '-matparent') on input.\n"
11896    "* Modified 3drefit.c to add '-atrcopy' and '-atrstring' options to copy and\n"
11897    "   set attributes.\n"
11898    },
11899 
11900   { 8,AUG,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11901    "* Added 'AFNI Version Check!' logo to afni.c & afni_widg.c in case user is\n"
11902    "   out of date.\n"
11903    },
11904 
11905   { 10,AUG,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11906    "* Modified cat_matvec.c to allow ::WARP_DATA input, and MATRIX() output.\n"
11907    },
11908 
11909   { 12,AUG,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11910    "* Start editing 3dDeconvolve.c to have -slice_base option, for slice-dependent\n"
11911    "   baseline regressors. [never finished]\n"
11912    },
11913 
11914   { 15,AUG,2005 , RWC , "Miscellaneous" , MAJOR , TYPE_GENERAL , "Older History stuff" ,
11915    "* From now on, unless AFNI_ALLOW_MILLISECONDS is set to YES, AFNI programs will\n"
11916    "   convert MSEC time unit datasets to SEC on input and output.\n"
11917    },
11918 
11919   { 22,AUG,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11920    "* New program 3dLocalstat.\n"
11921    "* In imseq.c: 'm' (toggle Min-to-Max), 'a' (fix aspect), 'l' (LR mirror).\n"
11922    "* '%s' in thd_compress.h means that you can now read .gz files with spaces\n"
11923    "   in their names.\n"
11924    },
11925 
11926   { 23,AUG,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11927    "* -FILE option for waver.c.\n"
11928    "* In imseq.c: 's' (sharpen), 'D', 'M', 'S' (Disp, Mont, Save).\n"
11929    },
11930 
11931   { 24,AUG,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11932    "* Ugghh.  More SVD trouble.\n"
11933    },
11934 
11935   { 26,AUG,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11936    "* THD_check_AFNI_version() function in thd_vcheck.c.  Use this in a few\n"
11937    "   popular '3d' programs.\n"
11938    },
11939 
11940   { 1,SEP,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11941    "* Fixed 3drotate.c so that '-rotate 0 0 0' doesn't fail.\n"
11942    },
11943 
11944   { 21,SEP,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11945    "* Modified thd_writedset.c and 3dAFNItoNIFTI.c so that if AFNI_AUTOGZIP is\n"
11946    "   YES, then .nii.gz files will be written instead of .nii files.\n"
11947    },
11948 
11949   { 28,SEP,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11950    "* Changes to 3dWarpDrive.c to summarize results (-summ) and to prevent steps\n"
11951    "   that make the RMS error much worse.\n"
11952    },
11953 
11954   { 30,SEP,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11955    "* 2x2 and 3x3 special cases for cs_symeig.c.\n"
11956    },
11957 
11958   { 4,OCT,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11959    "* Modified edt_blur.c to do small Gaussian blurs in real-space, with the\n"
11960    "   fir_blur?() functions.  Also added FIR_blur_volume() function to allow\n"
11961    "   user to invoke FIR explicitly, rather than implicitly.\n"
11962    "* Add 'TRACE' command to afni_driver.c.\n"
11963    },
11964 
11965   { 6,OCT,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11966    "* Modified edt_blur.c to skip min/max clip calculations when all directions\n"
11967    "   are done with FIR.\n"
11968    "* Modified thd_dsetatr.c to write BRICK_STATSYM attribute not just for\n"
11969    "   func bucket datasets but for fitt, fift (etc.) legacy types.\n"
11970    "* Fixed bug in 3dbucfim.c where the stat_aux array was possibly loaded\n"
11971    "   with illegal array access values.\n"
11972    },
11973 
11974   { 11,OCT,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11975    "* Modified thd_niftiwrite.c and 3dAFNItoNIFTI.c so that specifying a .hdr\n"
11976    "   output filename means you get a .hdr/.img NIfTI-1.1 file pair.  Note\n"
11977    "   that thd_analyzeread.c and thd_niftiread.c already allow for .hdr/.img\n"
11978    "   NIfTI-1.1 file pair inputs.\n"
11979    },
11980 
11981   { 18,OCT,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
11982    "* Added -usetemp option to 3dcalc.c.\n"
11983    "* Added some timing delays to popup/popdowns.\n"
11984    },
11985 
11986   { 21,OCT,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11987    "* Modified 3dToutcount.c to check for float_scan type errors.\n"
11988    },
11989 
11990   { 24,OCT,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11991    "* Modified 3dDeconvolve.c to use mmap() with MAP_ANON instead of shmem\n"
11992    "   for inter-process storage.  Can go beyond 2 GB barrier this way,\n"
11993    "   on 64-bit compiles.\n"
11994    },
11995 
11996   { 25,OCT,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
11997    "* Makefiles for macosx_10.4_G5 and solaris29_suncc_64.\n"
11998    },
11999 
12000   { 26,OCT,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12001    "* Mod to symeig_3 (in cs_symeig.c) to avoid problems that are invisible.\n"
12002    "* Mod to plot_x11.c (in coxplot/) and 1dgrayplot.c, to plot correctly.\n"
12003    },
12004 
12005   { 31,OCT,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12006    "* Small changes to imseq.c, to display 'Min2Max' and 's=%d' modes, and\n"
12007    "   to update winfo label when Keypress 'l' is used.\n"
12008    },
12009 
12010   { 2,NOV,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12011    "* Another small change to imseq.[ch] to the winfo label.\n"
12012    },
12013 
12014   { 8,NOV,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12015    "* rint(x) -> rint(x+.00001) in edt_coerce.c, to avoid an artifact in\n"
12016    "   3dMean.c when the number of averages is a small even integer.\n"
12017    },
12018 
12019   { 14,NOV,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12020    "* Changes to afni_splash.c to try to avoid the 'Mr Freeze' bug (e.g.,\n"
12021    "   unrealize image viewer rather than destroy it).\n"
12022    },
12023 
12024   { 18,NOV,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12025    "* AUTHOR AUTHOR.\n"
12026    },
12027 
12028   { 22,NOV,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12029    "* [l] in imseq.c.\n"
12030    },
12031 
12032   { 29,NOV,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12033    "* Message of the Day (motd) stuff.\n"
12034    },
12035 
12036   { 30,NOV,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12037    "* Change sub-bricks stuff in afni_driver.c.\n"
12038    },
12039 
12040   { 1,DEC,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12041    "* -coarserot in 3dvolreg.c\n"
12042    },
12043 
12044   { 6,DEC,2005 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12045    "* -coarserot in 3dWarpDrive.c, too.\n"
12046    },
12047 
12048   { 21,DEC,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12049    "* afni_broutext.h\n"
12050    },
12051 
12052   { 28,DEC,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12053    "* fixes to mri_warp3D_align.c and thd_automask.c to deal with problems\n"
12054    "   with -parfix, and with doing mask stuff on 2D images.\n"
12055    },
12056 
12057   { 30,DEC,2005 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12058    "* Web browser stuff in afni.h, afni_func.c, afni_widg.c.\n"
12059    },
12060 
12061   { 9,JAN,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12062    "* mri_warp3D_align.c now will revert to 'best' fit if final fit is\n"
12063    "   much worse in RMS terms.\n"
12064    },
12065 
12066   { 8,MAR,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12067    "* Bug fix in afni_version.c for MOTD failure when network down.\n"
12068    "* Modify PERROR() macro in thd_iochan.c to NOT print so many duplicate\n"
12069    "   messages.\n"
12070    "* Modified afni_environ.c so that setting AFNI_ALWAYS_LOCK immediately\n"
12071    "   changes the lock situation.\n"
12072    },
12073 
12074   { 9,MAR,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12075    "* A little more dynamical action when a few environment variables are\n"
12076    "   changed via external scripts.\n"
12077    "* WAV_duration in waver.c was an int, not a double (thanks, Rasmus!).\n"
12078    },
12079 
12080   { 10,MAR,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12081    "* Mods to 3dcalc.c to allow use of complex-valued dataset on input.\n"
12082    },
12083 
12084   { 13,MAR,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12085    "* Checks in afni_func.c, adwarp.c, and thd_writedblk.c for free disk\n"
12086    "   space, just before actual writing of .BRIK file.\n"
12087    "* 3dTwotoComplex.c from 3dThreetoRGB.c\n"
12088    },
12089 
12090   { 20,MAR,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12091    "* Modify 3dAutomask.c and thd_automask.c to add new -clfrac option.\n"
12092    "* Modify matrix_f.c to use Solaris BLAS in single precision.\n"
12093    },
12094 
12095   { 24,MAR,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12096    "* Modify thd_niftiread.c to prioritize sform over qform (to match\n"
12097    "   other packages), but to allow user to set environment variable\n"
12098    "   NIFTI_FORM_PRIORITY to 'Q' or 'S' to signify the priority.\n"
12099    "* Also, if both qform and sform are present, check to see if they\n"
12100    "   have the same handedness -- if not, print a warning message.\n"
12101    },
12102 
12103   { 25,MAR,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12104    "* Modify matrix.c and matrix_f.c to unroll matrix-vector multiply by\n"
12105    "   four rather than two, after profiling with Shark on the MacIntel\n"
12106    "   (which showed that loop overhead was a significant factor).\n"
12107    },
12108 
12109   { 28,MAR,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12110    "* Modify 3dDeconvolve.c to set ival=-1 on various inputs, before\n"
12111    "   sscanf()-ing it, so that bad values give error messages.\n"
12112    "* Also add -x1D option to 3dDeconvolve.c, to save X matrix to a .1D file.\n"
12113    },
12114 
12115   { 29,MAR,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12116    "* First version of 3dInvFMRI.c.\n"
12117    },
12118 
12119   { 31,MAR,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12120    "* to3d.c: if first filename is 'something.img', check if 'something.hdr'\n"
12121    "   exists, and if so, suggest that the .hdr file is more likely to be\n"
12122    "   what they want to input.\n"
12123    "* Added '-method' and smoothing options to 3dInvFMRI.c.\n"
12124    },
12125 
12126   { 4,APR,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12127    "* Changes to 3dInvFMRI.c: -mapwt, better help, God knows what else.\n"
12128    },
12129 
12130   { 5,APR,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12131    "* Add -frugal option to 3dZcat.c.\n"
12132    },
12133 
12134   { 10,APR,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12135    "* Add -polort option to 3dDetrend.c.\n"
12136    },
12137 
12138   { 13,APR,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12139    "* mri_matrix_evalrpn() ==> 1dmatcalc.c and 3dmatcalc.c.\n"
12140    "* Modify mri_fromstring.c to allow 1D:... generation of multiple columns.\n"
12141    },
12142 
12143   { 24,APR,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12144    "* Add -sum option to 3dTstat.c.\n"
12145    },
12146 
12147   { 1,JUN,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12148    "* New AFNI splash photograph!\n"
12149    "* imseq.c now doesn't append '.jpg' if Save filename already ends in it.\n"
12150    },
12151 
12152   { 19,JUN,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12153    "* Fixed flip_memplot() error in coxplot/plot_cox.c, where non-line elements\n"
12154    "   were being flipped when they shouldn't be.\n"
12155    },
12156 
12157   { 2,JUL,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12158    "* Inserted Powell's NEWUOA code into AFNI libmri.a.\n"
12159    },
12160 
12161   { 5,JUL,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12162    "* Modified mri_read_dicom.c to deal with big-endian file transfer syntax.\n"
12163    "* Also check for overflow in 16-bit unsigned integer DICOM images.\n"
12164    },
12165 
12166   { 17,JUL,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12167    "* Added options -keepcen and -xyzscale to 3drefit.c.\n"
12168    },
12169 
12170   { 18,JUL,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12171    "* Fixed -xyzsave option in 3drefit.c to make multiple datasets match.\n"
12172    },
12173 
12174   { 21,JUL,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12175    "* NEWUOA stuff into 3dNLfim.c and simplex.c.\n"
12176    },
12177 
12178   { 24,JUL,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12179    "* model_linplusort.c (Linear+Ort) for 3dNLfim.c.\n"
12180    },
12181 
12182   { 4,AUG,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12183    "* Add max displacement to 3dvolreg.c.\n"
12184    },
12185 
12186   { 14,AUG,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12187    "* Add pairmax() to parser.f.\n"
12188    },
12189 
12190   { 22,AUG,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12191    "* Add WARPDRIVE_ROTMAT_* attribute outputs to 3dWarpDrive.c.\n"
12192    },
12193 
12194   { 5,SEP,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12195    "* Mod mri_read_1D() so that ending filename in ' character causes\n"
12196    "   transposition.  Removed this feature from thd_1Ddset.c to match.\n"
12197    "* Changes to AFNI to allow on-the-fly cluster editing.\n"
12198    },
12199 
12200   { 6,SEP,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12201    "* Changes to let Ziad/SUMA initialize colors for surfaces.\n"
12202    "* Check input datasets for the Mike Beauchamp syndrome.\n"
12203    },
12204 
12205   { 8,SEP,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12206    "* Cosmetic changes to AlphaSim to make '-quiet -quiet' turn off all\n"
12207    "   stdout printing except numerical table at end.\n"
12208    },
12209 
12210   { 21,SEP,2006 , RWC , "Miscellaneous" , MAJOR , TYPE_GENERAL , "Older History stuff" ,
12211    "* Put 3dAllineate into the distribution.  But is not finished.\n"
12212    "* Modified plug_nlfit.c to allow AFNI_NLFIM_METHOD to select optimizer.\n"
12213    },
12214 
12215   { 27,SEP,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12216    "* Modified correlation ratio in thd_correlate.c to use both Var(y|x) and\n"
12217    "   Var(x|y) for symmetry between base and target.  Seems to make\n"
12218    "   registration work better.\n"
12219    "* Added -check and -master options to 3dAllineate.c.\n"
12220    },
12221 
12222 #if 0
12223   { 28,SEP,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12224    "* End of Res Publica Americana.\n"
12225    },
12226 #endif
12227 
12228   { 29,SEP,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12229    "* 3dAllineate.c edited to make -linear the default interpolation during\n"
12230    "   alignment process, and -cubic for the output dataset.\n"
12231    },
12232 
12233   { 10,OCT,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12234    "* Modified 3dClipLevel.c to allow float input datasets.\n"
12235    "* Modified 3drefit.c to make '-TR' option add a timeaxis to a non-3D+time\n"
12236    "   dataset.\n"
12237    "* More changes to 3dAllineate.c.\n"
12238    "* Program 3dAcost.c to compute 3dAllineate costs on 2 bricks [now gone].\n"
12239    },
12240 
12241   { 18,OCT,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12242    "* Ugh.\n"
12243    "* Modified afni_warp.c to only use warp_parent if the dataset being\n"
12244    "   sliced is an AFNI dataset (not NIfTI, MINC, etc.).\n"
12245    "* Modified afni_func.c to print warning when forced view change\n"
12246    "   when switching datasets or sessions - for Adam Thomas.\n"
12247    },
12248 
12249   { 24,OCT,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12250    "* Modified 3dAutomask.c (etc.) to add -peel and -nbhr options, with\n"
12251    "   also a fix to stupid error made a couple days before.\n"
12252    },
12253 
12254   { 30,OCT,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12255    "* Modified plug_scatplot.c to copy 'Aboot' option from plug_histog.c.\n"
12256    "* Modified THD_pearson() stuff in thd_correlate.c to remove mean.\n"
12257    "* New program 3dLocalBistat.c -- joint local statistics between 2\n"
12258    "   datasets.\n"
12259    },
12260 
12261   { 31,OCT,2006 , RWC , "Miscellaneous" , MAJOR , TYPE_GENERAL , "Older History stuff" ,
12262    "* New program 3dFWHMx -- does all sub-bricks.\n"
12263    },
12264 
12265   { 9,NOV,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12266    "* Modified 3dFWHM to do what 3dFWHMx does -- not use a voxel in a difference\n"
12267    "   unless it is in the mask as well.\n"
12268    },
12269 
12270   { 15,NOV,2006 , RWC , "Miscellaneous" , MAJOR , TYPE_GENERAL , "Older History stuff" ,
12271    "* New program 3dBlurToFWHM.c.\n"
12272    },
12273 
12274   { 20,NOV,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12275    "* Multitudinous changes to 3dBlurToFWHM.c.\n"
12276    },
12277 
12278   { 6,DEC,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12279    "* Added ISQ_snap_agif() and ISQ_snap_mpeg().\n"
12280    },
12281 
12282   { 7,DEC,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12283    "* Added movie saving commands to afni_driver.c.\n"
12284    "* Modified 3dFWHMx.c -geom option to add up logs rather than multiply up\n"
12285    "   results -- for large numbers of sub-bricks, can get overflow the old way.\n"
12286    "* Added THD_medmad_bricks() and THD_meansigma_bricks() functions to\n"
12287    "   thd_median.c -- get location and dispersion statistics at same time,\n"
12288    "   for speed.\n"
12289    },
12290 
12291   { 8,DEC,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12292    "* Added -dem option to 1ddot.c.\n"
12293    },
12294 
12295   { 11,DEC,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12296    "* More changes to 3dBlurToFWHM.c -- de-median and de-MAD before blurring and\n"
12297    "   before estimating blur, to be somewhat more self-consistent.\n"
12298    "* Added SAVE_PNG to the roster of AFNI driver commands.\n"
12299    },
12300 
12301   { 14,DEC,2006 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12302    "* Added SAVE_FILTERED to the roster of AFNI driver commands.\n"
12303    },
12304 
12305   { 15,DEC,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12306    "* Made SAVE_FILTERED work with graph windows -- by modifying mri_write_pnm()\n"
12307    "   to write through a filter if the output filename starts with '|'.\n"
12308    },
12309 
12310   { 19,DEC,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12311    "* New constrained optimizer in powell_int.c.\n"
12312    },
12313 
12314   { 20,DEC,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12315    "* mri_purge.c for purging/unpurging MRI_IMAGEs to disk files.\n"
12316    "* modify thd_cliplevel.c to do float->int conversion inline, rather\n"
12317    "   than through a temp image (saves on memory).\n"
12318    "* modify mrilib.h to change MRI_BYTE_PTR() (etc.) macro to use\n"
12319    "   mri_data_pointer() function, which will invoke mri_unpurge()\n"
12320    "   if necessary.  This also entailed changing a lot of functions\n"
12321    "   to avoid using the im.*_data pointers, which I eventually want\n"
12322    "   to eliminate entirely.\n"
12323    },
12324 
12325   { 21,DEC,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12326    "* Made the change to 'void *' -- no more im.short_data (etc.).  Changes\n"
12327    "   in a bunch more places.\n"
12328    "* Modified mri_purger.c to delete extant TIM_* files when exit() happens.\n"
12329    "* When AFNI_IMAGE_GLOBALRANGE is yes, don't do redisplay on isqDR_setrange.\n"
12330    "   Causes an unpleasant flickering in the image viewer window.  Changes\n"
12331    "   to afni.c (AFNI_range_setter()), imseq.c, etc.\n"
12332    },
12333 
12334   { 28,DEC,2006 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12335    "* Modify afni_splash.c to save current dataset names and xyz coords in\n"
12336    "   the startup script.\n"
12337    "* Modify afni_driver.c to allow multiple 'keypress=' options to OPEN_WINDOW.\n"
12338    },
12339 
12340   { 5,JAN,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12341    "* Modify mri_read.c to allow 'ragged' input from '1D:' strings\n"
12342    "  (e.g., for use with 3dDeconvolve).\n"
12343    },
12344 
12345   { 10,JAN,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12346    "* Modified svd_double() in cs_symeig.c to sort singular values and vectors.\n"
12347    "* Modifed 1dsvd.c to have a '-sort' option.\n"
12348    },
12349 
12350   { 15,JAN,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12351    "* Added mri_gamma_rgb_inplace() to mri_to_rgb.c.\n"
12352    "* Modified 1dsvd.c to change Left for Right.\n"
12353    },
12354 
12355   { 19,JAN,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12356    "* Modified 3dDeconvolve.c and mri_fromstring.c to use '|' as a line\n"
12357    "   separator in 'SYM:' and '1D:' inputs (as well as '\\').\n"
12358    },
12359 
12360   { 26,JAN,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12361    "* Modified 3dDeconvolve.c to echo -gltsym files as well as the matrices\n"
12362    "   they generate.\n"
12363    },
12364 
12365   { 1,FEB,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12366    "* Modified mri_purger.c to use a process-specific 3 code suffix after\n"
12367    "   TIM_ to make it easier to clean up after a crash when multiple\n"
12368    "   jobs are running.\n"
12369    "* Modified mri_genalign.c to patch a memory leak in some floatvec's\n"
12370    "   not being freed before being reused.\n"
12371    "* Modified 3dAllineate.c to use mri_purge() on the output dataset's\n"
12372    "   sub-bricks as they are being created.\n"
12373    "* Modified thd_writedblk.c to deal with datasets that have mri_purge()-ed\n"
12374    "   sub-bricks.  Need to do the same for NIfTI someday, I suppose.\n"
12375    "* New function mri_clear() in mri_free.c, to free an MRI_IMAGE's data array\n"
12376    "   and get rid of it's purged TIM file, if necessary.\n"
12377    },
12378 
12379   { 2,FEB,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12380    "* Added a 'Rescan' button next to 'Overlay' and 'Underlay' in the main\n"
12381    "   AFNI controller.  At the demand of Ziad Saad.\n"
12382    "* Later: and a 'NIML+PO' button below that.\n"
12383    },
12384 
12385   { 5,FEB,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12386    "* Add AFNI_OVERLAY_ONTOP environment variable, to move 'Overlay' button\n"
12387    "   above 'Underlay'.  Also, change bg of 'Underlay' to black, to\n"
12388    "   distinguish it better from 'Overlay'.\n"
12389    },
12390 
12391   { 18,FEB,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12392    "* When running 'afni' (no directory args) and no data is found is './',\n"
12393    "   then afni.c will now recurse 1 level on './' to see if any datasets\n"
12394    "   can be found 1 level deeper.  Inspired by Korea workshop and Hame Park.\n"
12395    },
12396 
12397   { 20,FEB,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12398    "* Modify list choosers in bbox.c to add XmNtraversal = True, so that arrow\n"
12399    "   keys can be used to move around in lists.\n"
12400    "* Also add TEAROFFIZE() macro to xutil.h and use it to make most popup or\n"
12401    "   pulldown menus in AFNI have the 'tear off' feature.\n"
12402    "* When Datamode->Misc->Purge Memory is used, and mcw_malloc() is turned on,\n"
12403    "   prints out the before and after usage, just for fun.\n"
12404    },
12405 
12406   { 21,FEB,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12407    "* Modified Edit Environment pseudo-plugin (afni_pplug_env.c) to sort\n"
12408    "   controls by variable name.\n"
12409    "* Added 'instant switch on selection' mode to 'Overlay' and 'Underlay'\n"
12410    "   dataset choosers, controlled by AFNI_DATASET_BROWSE variable.\n"
12411    "* And to 'Talairach To' controls.\n"
12412    "* Fixed bug when '-R' would fail to find any datasets, and would then\n"
12413    "   try to reconcile parents, look for duplicates, etc., de-referencing\n"
12414    "   NULL pointers.  Not sure what happened, actually, but one technique\n"
12415    "   was to avoid trying to read directories as regular file datasets.\n"
12416    },
12417 
12418   { 22,FEB,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12419    "* Modified thd_loaddblk.c to do floatscan on ANALYZE (etc.) datasets.\n"
12420    "* Also modified thd_floatscan.c to add functions to scan MRI_IMAGEs\n"
12421    "   and other AFNI-ish assemblies of numbers.\n"
12422    "* Modified afni.c to parse multiple commands in a single '-com' option,\n"
12423    "   separated by ';' (or by the choice in '-comsep').\n"
12424    "* Modified afni_driver.c to allow use of 'axial_image' (etc.) as easy\n"
12425    "   typos for 'axialimage' (etc.).\n"
12426    "* Modified dist_help script to include README.* files.\n"
12427    },
12428 
12429   { 23,FEB,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12430    "* Change XmNtraversalOn from False to True in about 1 zillion places, to\n"
12431    "   make keyboard focus be kept better in text widgets.\n"
12432    "* Added 'dset=NULL' initializer to THD_open_one_dataset() in thd_opendset.c,\n"
12433    "   per Bernd Feige of Freiburg.\n"
12434    "* Modified bbox.c to make AFNI_list_doubleclick default be 'Apply' rather\n"
12435    "   than 'Set'.\n"
12436    "* Modified afni_func.c to replace 'RescanTh' button with 'EditEnv' if\n"
12437    "   Ziad's AFNI_RESCAN_AT_SWITCH is turned on.\n"
12438    "* Modified afni_func.c to do AFNI_RESCAN_AT_SWITCH only for 'Overlay'\n"
12439    "   and 'Underlay' buttons.  (It's pointless for 'Switch Session'.)\n"
12440    },
12441 
12442   { 26,FEB,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12443    "* Modified afni_func.c to make the Session selection dialog directory-\n"
12444    "   specific, and the 1D selection dialog regular-file-specific.  Also\n"
12445    "   changed the labels on top of the file list for each case.\n"
12446    "* Modified xutil.c so that MCW_expose_widget() doesn't do anything for\n"
12447    "   a non-widget (e.g., gadget) input.\n"
12448    "* Added Ziad's Xt translations for Button4 and Button5 scrolling.\n"
12449    "* Fixed mri_medianfilter.c: had logic for usedxyz exactly backwards! Oopsie.\n"
12450    "* Added Button4+5 image window scrolling to imseq.c, and to afni_graph.c\n"
12451    "* If only dummy dataset is present, then 'Switch Session' opens up the\n"
12452    "   'Read Session' dialog.\n"
12453    },
12454 
12455   { 27,FEB,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_ENV , "Older History stuff" ,
12456    "* AFNI_DISABLE_TEAROFF environment variable.\n"
12457    },
12458 
12459   { 1,MAR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12460    "* Add dilation to -automask option in 3dAllineate.  And -ignout option.\n"
12461    "* Add -CENSOR to 3dDeconvolve.c.\n"
12462    },
12463 
12464   { 2,MAR,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12465    "* Modified -CENSOR to -CENSORTR (for Rick's sake) and added '*' capability\n"
12466    "  to the run syntax.\n"
12467    "* Added 3dDFT.c, from Kevin Murphy.\n"
12468    },
12469 
12470   { 4,MAR,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12471    "* Fixed overrun bug in THD_extract_array() for raw data -- code was never\n"
12472    "   tested!  Affected 3dDFT.c.\n"
12473    },
12474 
12475   { 5,MAR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12476    "* Added -nfft and -detrend options to 3dDFT.\n"
12477    "* Added 'u' and 'o' image viewer keypress handling to afni.c.\n"
12478    "* Added Mod+Button4+5 threshold slider changing to imseq.c and afni.c.\n"
12479    "* Added AFNI_THRESH_AUTO to afni_func.c.\n"
12480    },
12481 
12482   { 6,MAR,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12483    "* Fixed pairmin() bug in parser.f.\n"
12484    "* Store column_metadata in 3dDeconvolve.c, and write it to -x1D file\n"
12485    "   if AFNI_3dDeconvolve_NIML is YES.\n"
12486    },
12487 
12488   { 7,MAR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12489    "* 3dDeconvolve.c: -GOFORIT, check_matrix_condition(), report -stim_times\n"
12490    "   values outside of run intervals, condition numbers with and without\n"
12491    "   baseline regressors.\n"
12492    },
12493 
12494   { 8,MAR,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12495    "* Add mri_read_ascii_ragged_complex() to mri_read.c.\n"
12496    "* And modify mri_write_ascii() in mri_write.c to write complex numbers\n"
12497    "   with ';' as a real/imag separator, instead of ' '.\n"
12498    },
12499 
12500   { 9,MAR,2007 , RWC , "Miscellaneous" , MAJOR , TYPE_GENERAL , "Older History stuff" ,
12501    "* First test of -stim_times_AM? looks good.\n"
12502    "* MCW_discard_events() for Button4/5 ScrollWheel actions.\n"
12503    },
12504 
12505   { 12,MAR,2007 , RWC , "Miscellaneous" , MAJOR , TYPE_GENERAL , "Older History stuff" ,
12506    "* New program 3dSynthesize.c.\n"
12507    },
12508 
12509   { 13,MAR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12510    "* Minor changes to 3dSynthesize.\n"
12511    "* Change PRINT_VERSION() macro in mrilib.h to include compilation __DATE__\n"
12512    "   in output.\n"
12513    "* '-float' option to 3dDeconvolve.  Also a few little other fixes.\n"
12514    },
12515 
12516   { 14,MAR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12517    "* New program 1dMarry.c.\n"
12518    },
12519 
12520   { 15,MAR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12521    "* Added CTENT() to 3dDeconvolve.c, for experimental purposes.\n"
12522    "* Modified bucket labels in 3dDeconvolve.c to be clearer (to me, anyhoo).\n"
12523    },
12524 
12525   { 16,MAR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12526    "* -polort A and polort degree warning message.\n"
12527    "* Change CTENT() to CSPLIN().\n"
12528    },
12529 
12530   { 20,MAR,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12531    "* MCW_discard_events_all() in xutil.c, and its application to stop\n"
12532    "   over-scrolling in imseq.c, et cetera.\n"
12533    "* -nox1D in 3dDeconvolve.c.\n"
12534    "* Make -bout be always on for 3dDeconvolve -input1D.\n"
12535    },
12536 
12537   { 21,MAR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12538    "* New program 3dEmpty.c.\n"
12539    "* Fix 3dinfo.c to allow empty datasets (duh).\n"
12540    },
12541 
12542   { 22,MAR,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12543    "* Make THD_filesize() return a 'long long', and change mri_read_3D() to\n"
12544    "   match.  (This is Colm Connolly's fault.)\n"
12545    },
12546 
12547   { 23,MAR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12548    "* New function THD_deconflict_prefix() in thd_opendset.c.\n"
12549    "* Modify 3dDeconvolve.c to deconflict output prefixes (instead of failing),\n"
12550    "   and to compute Full F by default, unless -nofullf_atall is given.\n"
12551    "* AFNI_IMAGRA_CLOSER, for the FC5 abusers out there.\n"
12552    },
12553 
12554   { 26,MAR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12555    "* Moved on-the-fly cluster editing to Define Overlay panel, from popup menu.\n"
12556    },
12557 
12558   { 27,MAR,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12559    "* Help for cluster editing, and some rationalization (e.g., reset it when\n"
12560    "   changing datasets, turn widgets off if it's not avaiable, et cetera).\n"
12561    },
12562 
12563   { 3,APR,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12564    "* Modify edt_blur.c to compute FIR Gaussian weights as a local sum across\n"
12565    "   each cell, rather than just the weight at the center of the cell.\n"
12566    },
12567 
12568   { 4,APR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12569    "* Modify 3dDespike.c to add -localedit option.\n"
12570    "* Modify 3dAllineate.c to save matrices into header of output.\n"
12571    },
12572 
12573   { 26,APR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12574    "* Modify imseq.[ch], afni.c, and afni_graph.c to use '[' and ']' keys for\n"
12575    "   time index incrementing, per John Butman.\n"
12576    },
12577 
12578   { 27,APR,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12579    "* Modified thd_niftiread.c to always do floatscan on datasets.\n"
12580    "* Modified 3dDeconvolve.c to make 0.0 ABI paired values not require -GOFORIT.\n"
12581    },
12582 
12583   { 30,APR,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12584    "* Included 3dinfo.c patch from Colm Connolly with -label2index option.\n"
12585    },
12586 
12587   { 3,MAY,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12588    "* Added 'crop=' to afni_driver.c image window opening, and also to afni_splash.c\n"
12589    "   when saving .afni.startup_script file.  [Per John Butman]\n"
12590    "* Modified 3dDeconvolve.c to print clearer messages when -gltsym errors\n"
12591    "   occur, and also to allow the Decon -bucket dataset to be overwritten,\n"
12592    "   and also to add the -nobucket option.  [Per Mike Beauchamp]\n"
12593    },
12594 
12595   { 4,MAY,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12596    "* 'amongst' function in parser.f and so in 3dcalc.c.\n"
12597    "* Added more warnings to 3dDeconvolve.c, including a parametrized -GOFORIT.\n"
12598    },
12599 
12600   { 9,MAY,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12601    "* New advanced histogram options '-clbin' and '-eqbin' for 3dAllineate.\n"
12602    },
12603 
12604   { 10,MAY,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12605    "* -izz option to 3dAllineate.\n"
12606    "* L1 detrending in thd_detrend.c (and retrending).\n"
12607    },
12608 
12609   { 29,MAY,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12610    "* Enforce RadioAlwaysOne behaviour on marks toggles.\n"
12611    "* Modify 3dDeconvolve to do proper kill-off of children when fork() fails.\n"
12612    "* Fix SPMG model power from 4 to 5.\n"
12613    "* Modify symeigval_double() to report nonzero error code from rs_().\n"
12614    },
12615 
12616   { 30,MAY,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12617    "* Modify 3dDeconvolve mmap() usage to include MAP_NORESERVE flag.\n"
12618    "* Add -allzero_OK option to 3dDeconvolve.c.\n"
12619    "* Make 3dttest check for duplicate dataset filenames.\n"
12620    },
12621 
12622   { 1,JUN,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12623    "* Modifiy mri_dicom_hdr.c to use a larger buffer for RWC_printf() function,\n"
12624    "   which may help with really big DICOM header files.\n"
12625    },
12626 
12627   { 4,JUN,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12628    "* Modify 3dDeconvolve.c to use .xmat.1D instead of .x1D as output filename\n"
12629    "   for matrices.\n"
12630    },
12631 
12632   { 5,JUN,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12633    "* Modify 3dBlurToFWHM.c and 3dFWHMx.c to use detrending.\n"
12634    "* Add THD_patch_dxyz_* functions to thd_auxdata.c, to make sure MRI_IMAGE's\n"
12635    "   in a dataset have the correct dx,dy,dz fields.\n"
12636    },
12637 
12638   { 6,JUN,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12639    "* Modify thd_writedset.c to always do THD_deconflict_prefix(), unless told\n"
12640    "   not to by AFNI_DONT_DECONFLICT.  Modify a bunch of 3d programs to NOT\n"
12641    "   check for filename conflict on output.\n"
12642    "* Modify thd_correlate.c build_2Dhist() to avoid histogram overflow (oops).\n"
12643    },
12644 
12645   { 25,JUN,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12646    "* Changes to 3dDeconvolve and 3dSynthesize so that censored time points\n"
12647    "   can be reconstructed in some fashion in the latter program.\n"
12648    "* -x1D_uncensored in 3dDeconvolve.\n"
12649    },
12650 
12651   { 26,JUN,2007 , RWC , "Miscellaneous" , MAJOR , TYPE_GENERAL , "Older History stuff" ,
12652    "* Boxed plots in afni_graph.[ch].  Probably a can of worms.\n"
12653    },
12654 
12655   { 28,JUN,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12656    "* Threshold on/off in reactivated thr_label popup menu in Define Overlay.\n"
12657    "* -x1D_stop in 3dDeconvolve.\n"
12658    },
12659 
12660   { 29,JUN,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12661    "* Boxed plots work with Dataset#N now, in glorious colors and thinned.\n"
12662    "   But not with Double Plot.\n"
12663    },
12664 
12665   { 11,JUL,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12666    "* Minor tweaks to algorithm for setting voxel-dependent blur factors in\n"
12667    "   3dBlurToFWHM.c.\n"
12668    "* Various #define's for SOLARIS bad functions like fabsf() in 64 bit mode.\n"
12669    },
12670 
12671   { 16,JUL,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12672    "* Add -stim_times_IM to 3dDeconvolve.c, to get individual event amplitudes.\n"
12673    },
12674 
12675   { 19,JUL,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12676    "* Add THD_multiplex_dataset() to thd_mastery.c, and thence 3dttest.c.\n"
12677    "* Modify 3dAllineate to re-use last row of -1Dapply input if needed, and\n"
12678    "   also to print a warning that -master may be needed with -1Dapply.\n"
12679    },
12680 
12681   { 25,JUL,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12682    "* Modify 3dAllineate, 3dvolreg, and 3dWarpDrive to output base-to-source matrices.\n"
12683    "* Modify cat_matvec to deal with files of multiple matrices.\n"
12684    "* Modify 3dAllineate to make '-clbin 0' the default.\n"
12685    "* Modify afni to add an AutoThreshold button to the threshold popup menu.\n"
12686    },
12687 
12688   { 27,JUL,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12689    "* Add 'SPMG3' to 3dDeconvolve.c.\n"
12690    "* Fix bug in -1Dmatrix_save in 3dAllineate, when dealing with zero-padded base.\n"
12691    },
12692 
12693   { 30,JUL,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12694    "* Modify thd_read_vecmat.c to use mri_read_double_ascii() to read a file rather\n"
12695    "   than read it directly.  This way, comments will be skipped properly and\n"
12696    "   the '1D: ...' format can be used.\n"
12697    "* Fix afni_plugin.c to initialize loading of matrix_initialize(), to fix a\n"
12698    "   problem left in plug_deconvolve.c by RCR's matrix.c changes.\n"
12699    "* Matrix square root in mri_matrix.c, and thence to 1dmatcalc and cat_matvec.\n"
12700    },
12701 
12702   { 31,JUL,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
12703    "* Make -cmass the default in 3dAllineate.c.\n"
12704    "* Also add '+clip' feature to '-autoweight' in 3dAllineate.c.\n"
12705    },
12706 
12707   { 1,AUG,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12708    "* Modify to3d.c to warn users of '-xFOV 120A-P' (e.g.) that this is a 240 mm\n"
12709    "  field of view (warn in the -help output, and in the program running).\n"
12710    },
12711 
12712   { 3,AUG,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_ENV , "Older History stuff" ,
12713    "* AFNI_SEE_OVERLAY environment variable.\n"
12714    "* Turn overlay on when user first-time switches Overlay, and turn TTatlas\n"
12715    "   colors on when user pops up atlas color chooser panel.\n"
12716    },
12717 
12718   { 8,AUG,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
12719    "* Add threshold signage feature to AFNI threshold menu ('Pos & Neg', etc).\n"
12720    },
12721 
12722   { 14,AUG,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
12723    "* Modify 3dDeconvolve.c to allow 'POLY' model to have order up to 20.\n"
12724    "* Modify 3dLocalBistat.c to allow '-weight' option for '-pearson' statistic.\n"
12725    },
12726 
12727   { 16,AUG,2007 , RWC , "Miscellaneous" , MICRO , TYPE_BUG_FIX , "Older History stuff" ,
12728    "* Modify 3dDeconvolve.c to check -stim_times files for 0-1 inputs and for\n"
12729    "   duplicate times.\n"
12730    },
12731 
12732   { 20,AUG,2007 , RWC , "Miscellaneous" , MAJOR , TYPE_NEW_OPT , "Older History stuff" ,
12733    "* First version of '-lpc' Local Pearson Correlation cost function in\n"
12734    "   3dAllineate.c, with rhombic dodecahedra as the default building bloks.\n"
12735    },
12736 
12737   { 10,SEP,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
12738    "* Minor changes to 3dAllineate.c: '-autoweight**1.5' sub-option;\n"
12739    "   '-autoweight' now the default for '-ls' cost function.\n"
12740    "* Re-insert older fixes to afni.c that were lost in CVS.\n"
12741    },
12742 
12743   { 11,SEP,2007 , RWC , "Miscellaneous" , MICRO , TYPE_BUG_FIX , "Older History stuff" ,
12744    "* Modified 3dBlurToFWHM.c to remove scale factors from 'outset' if 'inset'\n"
12745    "   had them.  Oopsie.\n"
12746    },
12747 
12748   { 12,SEP,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12749    "* Added 'All AFNI Splashes' button to 'hidden' menu, just for fun.\n"
12750    },
12751 
12752   { 17,SEP,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12753    "* Added 'Clipped' option to image grayscaling, in imseq.c and afni.c.\n"
12754    },
12755 
12756   { 18,SEP,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12757    "* Added 'RGB:r,g,b' format to DC_parse_color() in display.c.\n"
12758    "* Fixed some bugs in 'Clipped' display.\n"
12759    },
12760 
12761   { 20,SEP,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12762    "* Add '-allcost' options to 3dAllineate.c and mri_genalign.c.\n"
12763    "* Neuter program 3dAcost.c.\n"
12764    "* Environment variable AFNI_INDEX_SCROLLREV.\n"
12765    },
12766 
12767   { 21,SEP,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12768    "* Modified MCW_choose_vector() in bbox.c to make initvec a float array,\n"
12769    "   and then fixed the clusterize and graph pin stuff to match.\n"
12770    "* Modified thd_info.c to print out a more prominent warning message\n"
12771    "   from 3dinfo.c when sub-brick stats are hidden from the user.\n"
12772    "* Warning message popup when Define Markers is first opened on a\n"
12773    "   marker-less dataset.\n"
12774    },
12775 
12776   { 4,OCT,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12777    "* Modify afni_graph.c to turn Double Plot on when Dataset#N is invoked,\n"
12778    "   and to not double plot transformed time series that didn't change.\n"
12779    "* Print 'NFirst > 0' informational message in 3dDeconvolve.c.\n"
12780    "* Change OPACITY_BOT from 0 to 1 in imseq.c.\n"
12781    },
12782 
12783   { 10,OCT,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12784    "* Changes to 3dDeconvolve.c to check -stim_label values: for un-assigned\n"
12785    "   values, and for duplicate values.\n"
12786    "* Change a few programs to check EQUIV_GRIDS() as well as voxel counts,\n"
12787    "   when combining multiple datasets (3dTcat, etc).\n"
12788    "* Modify plug_nth_dataset.c to use different set of default overlay colors.\n"
12789    "   Modify afni_plugin.[ch] to allow this.\n"
12790    "* Modify afni_graph.c to make 'Transform 1D' menu re-activate a button even\n"
12791    "   if it is already the activated one.  Goal: popup Dataset#N plugin\n"
12792    "   controls more easily.\n"
12793    "* Modify 3dttest.c to add the -sdn1 option (for Tom Johnstone).\n"
12794    },
12795 
12796   { 11,OCT,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
12797    "* Modify edt_filtervol.c to clip off voxels outside the fmask.\n"
12798    "* Modify 3dmerge.c to add -1fm_noclip and -1filter_blur options.\n"
12799    },
12800 
12801   { 12,OCT,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
12802    "* Changes to bbox.c to add an arrowval index selector to the single-selection\n"
12803    "   mode strlist chooser (per Shruti Japee's unreasonable demand).\n"
12804    },
12805 
12806   { 16,OCT,2007 , RWC , "Miscellaneous" , MICRO , TYPE_BUG_FIX , "Older History stuff" ,
12807    "* Small bug in decode_linebuf() in mri_read.c -- if a non-number character\n"
12808    "   is encountered in non-slowmo mode, infinite loop ensues and that's bad.\n"
12809    "   Now, such an encounter leads to an immediate break out of the loop.\n"
12810    "* Small changes to approximate_number_string() and it's usage in 3dDeconvolve.\n"
12811    "* Fix to afni_graph.c so that 'Boxes' plot mode turns off 'Double Plot'.\n"
12812    },
12813 
12814   { 24,OCT,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12815    "* Minor fix to 3dAllineate.c to setup 'blok' stuff when allcost is on.\n"
12816    },
12817 
12818   { 25,OCT,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12819    "* Minor change to RegAna.c to use matrix_psinv() as a backup to\n"
12820    "   matrix_inverse_dsc() when inverting GLT matrix.\n"
12821    },
12822 
12823   { 26,OCT,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12824    "* Modified ranks.c and 3dMannWhitney.c to create sorted list all at once\n"
12825    "   (via qsort_float), hopefully speeding things up.  Also increased\n"
12826    "   default workmem and MAX_OBSERVATIONS.\n"
12827    "* Same deal for 3dWilcoxon.c.\n"
12828    },
12829 
12830   { 29,OCT,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12831    "* Change 'workmem' default to 266 in several of Doug Ward's programs.\n"
12832    "* Added warning message to 3dDeconvolve if TENT() or CSPLIN() inter-knot\n"
12833    "   TR is smaller than the output TR for -iresp.\n"
12834    "* Added message to 3dSynthesize.c to indicate type of -cenfill being done.\n"
12835    },
12836 
12837   { 5,NOV,2007 , RWC , "Miscellaneous" , MICRO , TYPE_BUG_FIX , "Older History stuff" ,
12838    "* Insert some sleeping to try to avoid X11 errors that have been reported\n"
12839    "   (but not seen by me) about XGeometry.\n"
12840    "* If DONT_USE_XTDESTROY is #define-d, then XtDestroyWidget() is replaced by\n"
12841    "   XtUnrealizeWidget() -- this is used in the Makefile for linux_xorg7,\n"
12842    "   where the old bug in that Xt library function seems to have risen\n"
12843    "   from the dead.\n"
12844    },
12845 
12846   { 9,NOV,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12847    "* Fixed bug in build_2Dhist() in thd_correlate.c equal sized bin code,\n"
12848    "   where 'ytop-xbot' was used instead of 'ytop-ybot'.  This is obviously\n"
12849    "   the work of Dutch saboteurs.\n"
12850    },
12851 
12852   { 13,NOV,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12853    "* SAVE_RAW and SAVE_RAWMONT commands in afni_driver.c (and so imseq.[ch]).\n"
12854    "* Fix error in mri_genalign.c for allcost: the various 'cr?' functions\n"
12855    "   weren't being properly separated.\n"
12856    "* Added multiple -check ability to 3dAllineate.c, and -allcost now printed\n"
12857    "   for each alternative checked parameter set as well.\n"
12858    },
12859 
12860   { 15,NOV,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12861    "* Changes to interactive AFNI to save '1D:' ref and ort files in the\n"
12862    "   header of interactive fim files; example\n"
12863    "     1dplot '`3dAttribute -ssep ' ' AFNI_FIM_REF r1_time@1+orig`'\n"
12864    "* Changes to mri_read_1D() to allow arbitrarily long filenames.\n"
12865    "* New function mri_1D_tostring(), to create '1D:' strings from MRI_IMAGEs.\n"
12866    "  (see file mri_fromstring.c)\n"
12867    },
12868 
12869   { 16,NOV,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
12870    "* Added -global_times, -local_times, and -guess_times to 3dDeconvolve.c\n"
12871    "* For ragged 1D input files, arbitrary text starting with alphabetic\n"
12872    "   character is same as '*' for filler.\n"
12873    "* AFNI_RESCAN_AT_SWITCH is on by default now.\n"
12874    "* 1dplot takes a 1 row file and flips it to a column for plotting; however,\n"
12875    "   when 2 single row files were input, they'd be catenated and THEN\n"
12876    "   flipped, producing erroneous joined plot.  Now, they are flipped\n"
12877    "   THEN catenated, which does the right thing.\n"
12878    "* Speaking of 1dplot, '-nopush' now works for multiple graphs, rather\n"
12879    "   than just for '-one'.\n"
12880    "* Modify AlphaSim.c so that rmm defaults to -1 ==> nearest neighbors,\n"
12881    "   and so that '-seed 0' generates a custom seed.\n"
12882    "* Add some extra text to the 'Clusterize' label (afni_setup.c) to\n"
12883    "   explain that rmm=0 means NN clustering with vmul in voxel count.\n"
12884    },
12885 
12886   { 20,NOV,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_PROG, "Older History stuff" ,
12887    "* Copy auxdata from source to output in 3dAllineate.c (oops).\n"
12888    "* Changed 'report' from mri_clusterize.c and added info to the\n"
12889    "   clusterize vector chooser using about BHelp to see this report.\n"
12890    "* New program 3dTsort.c.  Will this grow to be a monster?\n"
12891    },
12892 
12893   { 23,NOV,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_PROG, "Older History stuff" ,
12894    "* Modify NI_decode_one_string() in niml_elemio.c to auto-expand buffer\n"
12895    "   size if string is too long.  For festering Lebanese programmers.\n"
12896    "* Similarly, modify scan_for_angles() if element header is bigger than\n"
12897    "   buffer size.\n"
12898    "* 'Histogram: Multi' (plug_histog_multi.c) plugin, for Kyle, Alex, & Pat.\n"
12899    },
12900 
12901   { 4,DEC,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12902    "* Add AFNI_driver_register() to afni_driver.c to allow a plugin (say) to\n"
12903    "   register a driver callback function.\n"
12904    },
12905 
12906   { 5,DEC,2007 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12907    "* Modify plot_motif.c to allow saving plots (as in 1dplot.c) to .jpg and\n"
12908    "   .png files (if the proper suffix is given).\n"
12909    },
12910 
12911   { 6,DEC,2007 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
12912    "* Add -jpg and -png options to 1dplot.c.\n"
12913    "* Add thick line drawing to mri_coxplot.c (by repeated thin line drawing).\n"
12914    },
12915 
12916   { 20,DEC,2007 , RWC , "Miscellaneous" , MAJOR , TYPE_NEW_OPT , "Older History stuff" ,
12917    "* Clusterize reporting window.\n"
12918    },
12919 
12920   { 27,DEC,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12921    "* Upgrades to clusterize reporting window: histograms, from/to indexes\n"
12922    "   on auxiliary dataset, 3dclust and save table buttons, &c.\n"
12923    "* Fixed bug in DG's obliquity reporting function in thd_coords.c -- it\n"
12924    "   didn't check if the input dataset was valid -- caused AFNI to crash.\n"
12925    },
12926 
12927   { 28,DEC,2007 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12928    "* Popup menu in clusterize report to set histogram range.\n"
12929    },
12930 
12931   { 9,JAN,2008 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12932    "* SIGQUIT delay in afni.c, for Jerzy.\n"
12933    },
12934 
12935   { 11,JAN,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12936    "* Small changes to AlphaSim.c, like using -fast option and better help.\n"
12937    "* Scrolling window changes to afni_cluster.c (Clusterize report panel).\n"
12938    "* mri_alphasim.c seems to work now.\n"
12939    },
12940 
12941   { 16,JAN,2008 , RWC , "Miscellaneous" , MICRO , TYPE_BUG_FIX , "Older History stuff" ,
12942    "* Fix clusterize so that too small a value of vmul means just set the\n"
12943    "   min cluster volume to 2 voxels.\n"
12944    "* Unfixed bug: display of clusterized func+tlrc.BRIK when func+tlrc dataset\n"
12945    "   is warped from func+orig -- must fix afni_warp.c in this case.\n"
12946    },
12947 
12948   { 17,JAN,2008 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
12949    "* AFNI_FLOATIZE environment variable for 3dDeconvolve.c and 3dcalc.c.\n"
12950    "* mri_fdrize.c function for FDR-z conversion.\n"
12951    },
12952 
12953   { 18,JAN,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12954    "* Incorporate mri_fdrize() into 3dFDR.\n"
12955    },
12956 
12957   { 22,JAN,2008 , RWC , "Miscellaneous" , MINOR , TYPE_GENERAL , "Older History stuff" ,
12958    "* Minor changes to 3dFDR: better help, -float, -qval.\n"
12959    "* Add -sort and -SORT options to 3dcalc, for no good reason.\n"
12960    "* Add 'help' command to ccalc, to give parser info.\n"
12961    },
12962 
12963   { 23,JAN,2008 , RWC , "Miscellaneous" , MAJOR , TYPE_NEW_OPT , "Older History stuff" ,
12964    "* FDR thresh-vs-z(q) curve generation and storage in datasets.\n"
12965    "* Display FDR q in AFNI pval label.\n"
12966    "* Generate FDR curves automatically in 3dDeconvolve, and with\n"
12967    "   '-addFDR' option in 3drefit.\n"
12968    },
12969 
12970   { 24,JAN,2008 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
12971    "* Add FDR curve generation to 3dANOVA.lib, 3dNLfim, 3dRegana, 3dttest.\n"
12972    "* Fix little problems with AFNI threshold scale display as q-value alters.\n"
12973    "* Fix bug in thd_mastery.c in assiging FDR curves to mastered sub-bricks.\n"
12974    "* Add '-killSTAT' option to 3drefit.\n"
12975    },
12976 
12977   { 25,JAN,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
12978    "* mri_read_1D_stdin() in mri_read.c.\n"
12979    },
12980 
12981   { 28,JAN,2008 , RWC , "Miscellaneous" , MICRO , TYPE_BUG_FIX , "Older History stuff" ,
12982    "* Added PRINT_COMPILE_DATE macro to mrilib.h and to a lot of programs'\n"
12983    "   -help output.\n"
12984    "* Fixed 'rule of 15' bug in afni_cluster.c, where the initial display only\n"
12985    "   showed a max of 15 widget rows, even if there were more clusters, but\n"
12986    "   the number of rows would be reset correctly on any re-clusterizing.\n"
12987    "   Problem: didn't initialize maxclu_default at the right location.\n"
12988    "* Fixed problem with display of clusterized dataset which is both the\n"
12989    "   Underlay and Overlay: the Underlay was being shown as the edited\n"
12990    "   volume, but that looks real bad.  Solution: disable vedit feature\n"
12991    "   in AFNI_dataset_slice() when calling from the 'get anat image' place\n"
12992    "   in afni.c, and then re-enable it right afterwards.\n"
12993    },
12994 
12995   { 29,JAN,2008 , RWC , "Miscellaneous" , MICRO , TYPE_BUG_FIX , "Older History stuff" ,
12996    "* Fixed bug in 3dFDR -new handling of mask -- ooooppssssie.\n"
12997    "* And bug in FDR curves generated from signed statistics (like t).\n"
12998    },
12999 
13000   { 31,JAN,2008 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_OPT , "Older History stuff" ,
13001    "* Modify plug_crender.c to obey AFNI_SLAVE_THRTIME.\n"
13002    },
13003 
13004   { 1,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13005    "* VOLUME_DATA_SPARSE in thd_nimlatr.c.\n"
13006    "* READ_NIML_FILE in afni_driver.c.\n"
13007    "* Force re-clustering when doing a redraw in the ROI plugin.\n"
13008    "* Modify NIML+PO button label to reflect status of NIML and plugouts\n"
13009    "   at time button is created.\n"
13010    },
13011 
13012   { 4,FEB,2008 , RWC , "Miscellaneous" , MINOR , TYPE_NEW_ENV , "Older History stuff" ,
13013    "* AFNI_NEWSESSION_SWITCH in afni_func.c == switch to new session?\n"
13014    },
13015 
13016   { 5,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13017    "* Fix over-write checks in mri_write.c by moving all file open/close\n"
13018    "   operations to new fopen_maybe() and fclose_maybe() functions.\n"
13019    "* Move THD_deathcon() and THD_ok_overwrite() functions to afni_environ.c,\n"
13020    "   where they belong.\n"
13021    "* New function EDIT_geometry_constructor() to make an empty dataset from\n"
13022    "   a string specifying it's geometry.  Also, print this geometry string\n"
13023    "   in 3dinfo.\n"
13024    },
13025 
13026   { 7,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13027    "* DSET_overwrite() macro, and THD_force_ok_overwrite() function.\n"
13028    "* Modify plug_drawdset.c to use DSET_overwrite(), and a few other\n"
13029    "   plugins and 3d*.c programs as well.\n"
13030    "* Fix drawing of surface overlay when the functional overlay is being\n"
13031    "   shown as the underlay: must use the underlay dataset for coordinate\n"
13032    "   checking even if overlay dataset is actually being drawn as underlay,\n"
13033    "   since the coordinates for the images are still the underlay's in\n"
13034    "   this situation.\n"
13035    "* Fix 3dvolreg to work properly with sub-brick scale factors.\n"
13036    },
13037 
13038   { 11,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13039    "* Modified afni.c and thd_mastery.c to work better with '3dcalc' command\n"
13040    "   line datasets.\n"
13041    },
13042 
13043   { 13,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13044    "* Modify mcw_glob.c and thd_mastery.c to pre-expand '~/' at the start of\n"
13045    "   a filename to '${HOME}/' to help some pitiful users (e.g., me).\n"
13046    "* Modify afni.c to turn off clusterizing when switching coordinate systems.\n"
13047    },
13048 
13049   { 14,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13050    "* Similar changes to de-clusterize when a forced view switch occurs when\n"
13051    "   switching datasets, or when switching datasets to something that\n"
13052    "   doesn't have data available.\n"
13053    "* Also, AFNI_FLASH_VIEWSWITCH to disable Adam Thomas's view switching\n"
13054    "   flashiness.\n"
13055    },
13056 
13057   { 16,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13058    "* New program 3dTfitter.  And fitting function THD_fitter().\n"
13059    },
13060 
13061   { 19,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13062    "* Bug fixes in 3dTfitter.c and thd_fitter.c.\n"
13063    },
13064 
13065   { 20,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13066    "* Add cl2.c constrained least squares function to the library.\n"
13067    "* Use this in thd_fitter.c and thence in 3dTfitter.c.\n"
13068    "* Add '-1D:' option to 1deval.c.\n"
13069    },
13070 
13071   { 22,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13072    "* Changes to 3dpc.c: -reduce and -eigonly options.\n"
13073    },
13074 
13075   { 25,FEB,2008 , RWC , "Miscellaneous" , MICRO , TYPE_GENERAL , "Older History stuff" ,
13076    "* Make 3dTfitter work when -RHS is a '1D:' input (-LHS already worked).\n"
13077    "* -vnorm and -vmean options for 1dsvd.c (as in 3dpc.c).\n"
13078    },
13079 
13080 /*=====ABOVE THIS LINE=====*/
13081  { 99,99,99, NULL,NULL, 99,99, NULL,NULL}  /** the end */
13082 } ;
13083