1 
2 /** cf. afni_history.h **/
3 
4 #include "afni_history.h"
5 
6 /*  (for starting a new file, search for CHANGE)
7 
8     basic format: 3-field date, user, program_name, impact_level,
9                   short description without newline
10                   (optional) long description with intermediate newlines
11 
12     copy entire section: { ... } ,
13 
14     Notes: - months are JAN ... DEC (see afni_history.h)
15 
16            - levels are :
17                     MICRO           - users don't see
18                     MINOR           - small effect on users
19                     MAJOR           - larger effect on users
20                     SUPER           - important changes, like new programs
21                     SUPERDUPER      - we expect users to know
22 
23            - types are:
24                     TYPE_GENERAL    - unspecified update type
25                     TYPE_NEW_PROG   - new program
26                     TYPE_NEW_OPT    - new program option
27                     TYPE_NEW_ENV    - new environment variable or change
28                     TYPE_BUG_FIX    - bug fix
29                     TYPE_MODIFY     - a change (not new, not a fix)
30                     TYPE_ENHANCE    - general improvement
31                     TYPE_REMOVE     - deleted
32                     TYPE_REINSTATE  - un-deleted
33 
34            - PLEASE, stick to what fits on an 80 column terminal
35            - it may be nice to put the newest entries at the top
36            - leave the last "99, NULL" entry as it is
37 
38  -- example --
39 
40  { 26 , FEB , 2008 , ZSS , "my_program" , MAJOR ,
41    "short description of change" ,
42    "(optional) description of where to get more information\n"
43    "   - with newlines, if you babble for multiple lines\n"
44    "   (but none at the end)"
45  } ,
46 
47 */
48 
49 /* Ponderosos:
50    -----------
51    - Every bone of my body shivers with excitement at the
52    thought of adding a type variable :
53    { NA, NEW_PROG, NEW_OPT, NEW_ENV, BUG_FIX }
54    It would allow users to check for new things easily.
55    And it might help eradicate misery from this world.
56    Did I also mention that it can fit on the first line
57    beautfully, right after the short string? WOW!
58    - We should probably start building a program list. To make sure
59    that we have no typos there. We can have users add to that list
60    whenever they introduce a program for the first time. This way
61    nobody has to do it at once.
62    - Also, we need to have special 'program names' like:
63    "afni-general", "suma-general", "general"
64    or perhaps
65    "AFNI", "SUMA", "ALL"
66    these would be used to refer to package-wide changes.
67 */
68 
69 afni_history_struct ptaylor_history[] = {
70 /*=====BELOW THIS LINE=====*/
71 
72 { 27, Dec , 2021 , PT , "balloon" , MICRO , TYPE_GENERAL,
73    "Use printf(...) to display the program help, not fprintf(stderr, ...).",
74    "In this way, the Sphinx help docs can see it.\n"
75 },
76 
77 { 26, Dec , 2021 , PT , "3dedgedog" , MINOR , TYPE_NEW_OPT,
78    "The -automask (and -automask+X) functionality is now, well, functional.",
79    "The '-mask ..' option appears to be working, too.\n"
80 },
81 
82 { 26, Dec , 2021 , PT , "3dEulerDist" , MINOR , TYPE_GENERAL,
83    "Give correct name of opt in prog help: -bounds_are_not_zero.",
84    "Had forgotten the '_not' part previously.  Whoops.\n"
85 },
86 
87 { 26, Dec , 2021 , PT , "3dedgedog" , MICRO , TYPE_GENERAL,
88    "Full histories in each output dset now.",
89    "Had not been passing argc and argv previously.\n"
90 },
91 
92 { 24, Dec , 2021 , PT , "3dedgedog" , MICRO , TYPE_GENERAL,
93    "Because 3dEulerDist has new '-binary_only' opt, this prog is faster.",
94    "This is because edgedog at the moment runs EDT on a binary dset.\n"
95 },
96 
97 { 24, Dec , 2021 , PT , "3dEulerDist" , MINOR , TYPE_NEW_OPT,
98    "Can process some dsets much faster now, with opt '-binary_only'.",
99    "This is to flag that the input is a binary mask.\n"
100 },
101 
102 { 9, Dec , 2021 , PT , "3dEulerDist" , MICRO , TYPE_BUG_FIX,
103    "Fix new -only2D opt slice selection.",
104    "Was not always getting correct planar direction; should be now.\n"
105 },
106 
107 { 9, Dec , 2021 , PT , "3dedgedog" , MICRO , TYPE_NEW_OPT,
108    "Add in '-only2D ..' opt, similar to 3dEulerDist's one.",
109    "Now can get planar edges, instead of always volumetric ones.\n"
110 },
111 
112 { 8, Dec , 2021 , PT , "3dEulerDist" , MINOR , TYPE_GENERAL,
113    "Already change something internally about only2D calcs.",
114    "Should just be simple change, being more general.\n"
115 },
116 
117 { 8, Dec , 2021 , PT , "3dEulerDist" , MINOR , TYPE_NEW_OPT,
118    "Can run in 2D now, with opt '-only2D ..'.",
119    "For Daniel Glen.\n"
120 },
121 
122 { 7, Dec , 2021 , PT , "3dedgedog" , MICRO , TYPE_NEW_OPT,
123    "Add in optional scaling of edges, via '-edge_bnd_scale'. B",
124    "Related but slightly different scaling based on '-edge_bnd_side' opt.\n"
125 },
126 
127 { 3, Dec , 2021 , PT , "3dedgedog" , MICRO , TYPE_NEW_PROG,
128    "Calculate edges with the Difference of Gaussian (DOG) approach.",
129    "Thanks to DR Glen and C Rorden for discussions/suggestions on this.\n"
130 },
131 
132 { 2, Dec , 2021 , PT , "afni" , MICRO , TYPE_GENERAL,
133    "Adding the description of existing option(s) in the program help.",
134    "The opts are the synonyms: '-notcsv', '-notsv', '-nocsv'.\n"
135 },
136 
137 { 1, Dec , 2021 , PT , "3dEulerDist" , MINOR , TYPE_BUG_FIX,
138    "Was getting incorrect voxel scaling along a couple axes---fixed now.",
139    "Also re-arrange functions to be easier to call from other funcs.\n"
140 },
141 
142 { 30, Nov , 2021 , PT , "3dEdu_01_scale" , MICRO , TYPE_GENERAL,
143    "Added many more internal comments, e.g., codebase references.",
144    "Thanks for the discussion+suggestions, J Teves!\n"
145 },
146 
147 { 30, Nov , 2021 , PT , "3dEulerDist" , MINOR , TYPE_NEW_PROG,
148    "New C prog for Eulerian Distance Transform (EDT) for ROI-based dsets.",
149    "Calculate distances to boundaries within a FOV.\n"
150 },
151 
152 { 26, Nov , 2021 , PT , "3dEdu_01_scale" , MICRO , TYPE_GENERAL,
153    "Renaming of 3dEduProg.  Simplifying some inner workings",
154    "Basic AFNI program example.\n"
155 },
156 
157 { 26, Nov , 2021 , PT , "3dEduProg" , MICRO , TYPE_NEW_PROG,
158    "A new program for people to learn to write AFNI progs.",
159    "Perhaps a bit more basic I/O and usage than 3dToyProg.\n"
160 },
161 
162 { 16, Nov , 2021 , PT , "afni_system_check.py" , MICRO , TYPE_GENERAL,
163    "Add 'SLURM cluster'-specific check for number of CPUs.",
164    "Phase two of secret plan to steal all of Rick's programs.  Bwahahahaha.\n"
165 },
166 
167 { 13, Nov , 2021 , PT , "afni_system_check.py" , MICRO , TYPE_NEW_OPT,
168    "New '-disp_num_cpu' opt to display number of available CPUs.",
169    "Phase one of secret plan to steal all of Rick's programs.  Bwahahaha.\n"
170 },
171 
172 { 29, Oct , 2021 , PT , "@Install_NMT" , MINOR , TYPE_GENERAL,
173    "Update macaque template+atlas data.",
174    "Now working/defaulting to NMT v2.1.\n"
175 },
176 
177 { 29, Oct , 2021 , PT , "@Install_MACAQUE_DEMO_REST" , MINOR , TYPE_GENERAL,
178    "Update macaque demo for resting state FMRI processing.",
179    "New scripts, now working/defaulting to NMT v2.1.\n"
180 },
181 
182 { 27, Oct , 2021 , PT , "@animal_warper" , MINOR , TYPE_BUG_FIX,
183    "Opt '-extra_qw_opts ..' had wrong name in help file, '-qw_opts ..'.",
184    "Corrected this, as well as usage.\n"
185 },
186 
187 { 25, Oct , 2021 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
188    "Improve QC outputs, and fix some chauffeur ranges.",
189    "Hopefully easier to evaluate alignment now, among other features.\n"
190 },
191 
192 { 23, Oct , 2021 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
193    "For ROI image QC, use ROI_glasbey_2048 now by default.",
194    "CHARM has ROI values >256, so might as well go all in.\n"
195 },
196 
197 { 22, Oct , 2021 , PT , "apqc_make_html.py" , MICRO , TYPE_GENERAL,
198    "Report a better output path in the 'done' message.",
199    "The originally-output relative path was often not useful.\n"
200 },
201 
202 { 21, Oct , 2021 , PT , "@chauffeur_afni" , MICRO , TYPE_GENERAL,
203    "Max blowup factor is actually 8, not 4.",
204    "So, allow that fuller range in the internal number check.\n"
205 },
206 
207 { 2, Oct , 2021 , PT , "@SSwarper" , MINOR , TYPE_GENERAL,
208    "Copy input anat (and any mask_ss) into the output directory.",
209    "Can be useful for checking if things went awry (do they ever?!?).\n"
210 },
211 
212 { 29, Sep , 2021 , PT , "3dAllineate" , MAJOR , TYPE_GENERAL,
213    "3dAllineate: set -lpa+ to re-include 'ov' in its recipe---for stability.",
214    "This makes it closer to historical form (but no 'mi' still).\n"
215 },
216 
217 { 29, Sep , 2021 , PT , "@MakeLabelTable" , MINOR , TYPE_BUG_FIX,
218    "Fix behavior with longnames---just needed a quote around var.",
219    "Should work now.  Also update help.\n"
220 },
221 
222 { 29, Sep , 2021 , PT , "lesion_align" , MINOR , TYPE_GENERAL,
223    "Just running '-help' leads to lesion_outs.txt to be created and populated.",
224    "... and it also got overwritten oddly.  Move those lines further down.\n"
225 },
226 
227 { 27, Sep , 2021 , PT , "lesion_align" , MINOR , TYPE_GENERAL,
228    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
229    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
230 },
231 
232 { 27, Sep , 2021 , PT , "fat_proc_align_anat_pair" , MINOR , TYPE_GENERAL,
233    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
234    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
235 },
236 
237 { 27, Sep , 2021 , PT , "fat_proc_map_to_dti" , MINOR , TYPE_GENERAL,
238    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
239    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
240 },
241 
242 { 27, Sep , 2021 , PT , "adjunct_apqc_tsnr_general" , MINOR , TYPE_GENERAL,
243    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
244    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
245 },
246 
247 { 27, Sep , 2021 , PT , "fat_proc_convert_dcm_anat" , MINOR , TYPE_GENERAL,
248    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
249    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
250 },
251 
252 { 27, Sep , 2021 , PT , "@SSwarper" , MINOR , TYPE_GENERAL,
253    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
254    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
255 },
256 
257 { 27, Sep , 2021 , PT , "fat_proc_imit2w_from_t1w" , MINOR , TYPE_GENERAL,
258    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
259    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
260 },
261 
262 { 27, Sep , 2021 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
263    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
264    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
265 },
266 
267 { 27, Sep , 2021 , PT , "fat_proc_dwi_to_dt" , MINOR , TYPE_GENERAL,
268    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
269    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
270 },
271 
272 { 27, Sep , 2021 , PT , "@djunct_4d_imager" , MINOR , TYPE_GENERAL,
273    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
274    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
275 },
276 
277 { 27, Sep , 2021 , PT , "adjunct_suma_fs_mask_and_qc" , MINOR , TYPE_GENERAL,
278    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
279    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
280 },
281 
282 { 27, Sep , 2021 , PT , "@chauffeur_afni" , MINOR , TYPE_GENERAL,
283    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
284    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
285 },
286 
287 { 27, Sep , 2021 , PT , "fat_proc_axialize_anat" , MINOR , TYPE_GENERAL,
288    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
289    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
290 },
291 
292 { 27, Sep , 2021 , PT , "@djunct_overlap_check" , MINOR , TYPE_GENERAL,
293    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
294    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
295 },
296 
297 { 27, Sep , 2021 , PT , "fat_proc_decmap" , MINOR , TYPE_GENERAL,
298    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
299    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
300 },
301 
302 { 27, Sep , 2021 , PT , "@afni_refacer_run" , MINOR , TYPE_GENERAL,
303    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
304    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
305 },
306 
307 { 27, Sep , 2021 , PT , "@djunct_edgy_align_check" , MINOR , TYPE_GENERAL,
308    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
309    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
310 },
311 
312 { 27, Sep , 2021 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
313    "On/about Aug 23, 2021, default label_sizes in image windows changed.",
314    "That shrunk fonts down one size; now bump back up @chauffeur_afni calls.\n"
315 },
316 
317 { 23, Sep , 2021 , PT , "@epi_b0_corr.py" , MINOR , TYPE_NEW_OPT,
318    "Had been missing the internal processing of option '-epi_pe_bwpp'.",
319    "... which has now been added in.\n"
320 },
321 
322 { 23, Sep , 2021 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
323    "Can now perform clusterizing, with Alpha+Boxed on, like in GUI.",
324    "New opt '-clusterize ..' for some commands; see help/NOTES for full info.\n"
325 },
326 
327 { 21, Sep , 2021 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_NEW_OPT,
328    "Add in new opts to turn off images in particular view planes being made.",
329    "These are '-no_cor', '-no_axi', '-no_sag'.  First will help APQC.\n"
330 },
331 
332 { 21, Sep , 2021 , PT , "adjunct_apqc_tsnr_general" , MINOR , TYPE_NEW_OPT,
333    "Add in new opts to turn off images in particular view planes being made.",
334    "These are '-no_cor', '-no_axi', '-no_sag'.  First will help APQC.\n"
335 },
336 
337 { 21, Sep , 2021 , PT , "@djunct_edgy_align_check" , MINOR , TYPE_NEW_OPT,
338    "Add in new opts to turn off images in particular view planes being made.",
339    "These are '-no_cor', '-no_axi', '-no_sag'.  First will help APQC.\n"
340 },
341 
342 { 21, Sep , 2021 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
343    "Add in new opts to turn off images in particular view planes being made.",
344    "These are '-no_cor', '-no_axi', '-no_sag'.  First will help APQC.\n"
345 },
346 
347 { 20, Sep , 2021 , PT , "@grayplot" , MINOR , TYPE_GENERAL,
348    "apsearchize.",
349    "Make help visible in editor with '@grayplot -hview'.\n"
350 },
351 
352 { 20, Sep , 2021 , PT , "3dGrayplot" , MINOR , TYPE_NEW_OPT,
353    "Add '-raw_with_bounds ..' to display raw values in arbitrary interval.",
354    "Maybe most useful if data have been scaled.\n"
355 },
356 
357 { 9, Sep , 2021 , PT , "@4Daverage" , MICRO , TYPE_GENERAL,
358    "Shebang changed from csh to tcsh.",
359    "For uniformity/simplicity, and to avoid issues on occasional system.\n"
360 },
361 
362 { 9, Sep , 2021 , PT , "@FindAfniDsetPath" , MICRO , TYPE_GENERAL,
363    "Shebang changed from csh to tcsh.",
364    "For uniformity/simplicity, and to avoid issues on occasional system.\n"
365 },
366 
367 { 9, Sep , 2021 , PT , "@Purify_1D" , MICRO , TYPE_GENERAL,
368    "Shebang changed from csh to tcsh.",
369    "For uniformity/simplicity, and to avoid issues on occasional system.\n"
370 },
371 
372 { 9, Sep , 2021 , PT , "@RenamePanga" , MICRO , TYPE_GENERAL,
373    "Shebang changed from csh to tcsh.",
374    "For uniformity/simplicity, and to avoid issues on occasional system.\n"
375 },
376 
377 { 9, Sep , 2021 , PT , "@djunct_edgy_align_check" , MICRO , TYPE_GENERAL,
378    "Shebang changed from csh to tcsh.",
379    "For uniformity/simplicity, and to avoid issues on occasional system.\n"
380 },
381 
382 { 9, Sep , 2021 , PT , "@djunct_glue_imgs_vert" , MICRO , TYPE_GENERAL,
383    "Shebang changed from csh to tcsh.",
384    "For uniformity/simplicity, and to avoid issues on occasional system.\n"
385 },
386 
387 { 9, Sep , 2021 , PT , "@djunct_overlap_check" , MICRO , TYPE_GENERAL,
388    "Shebang changed from csh to tcsh.",
389    "For uniformity/simplicity, and to avoid issues on occasional system.\n"
390 },
391 
392 { 9, Sep , 2021 , PT , "@djunct_anonymize" , MICRO , TYPE_GENERAL,
393    "Shebang changed from csh to tcsh.",
394    "For uniformity/simplicity, and to avoid issues on occasional system.\n"
395 },
396 
397 { 31, Aug , 2021 , PT , "@afni_refacer_make_master" , MINOR , TYPE_GENERAL,
398    "Change default cost function to 'lpa', from 'ls'.",
399    "Should be better? There is an opt to change, as necessary.\n"
400 },
401 
402 { 30, Aug , 2021 , PT , "3dNetCorr" , MINOR , TYPE_NEW_OPT,
403    "New opts: '-all_roi_zeros' and '-automask_off'.",
404    "Basically, N ROIs can have NxN mat, even if ROI ave is all zeros.\n"
405 },
406 
407 { 22, Aug , 2021 , PT , "lib_afni1D.py" , MICRO , TYPE_BUG_FIX,
408    "Afni1D.uncensor_from_vector() had a syntax error in one print call').",
409    "Was missing a %, now fixed.\n"
410 },
411 
412 { 10, Aug , 2021 , PT , "fat_proc_align_anat_pair" , MINOR , TYPE_MODIFY,
413    "No longer worry about even/odd slice output (and remove '-no_fs_prep').",
414    "Dealt with an old non-issue.\n"
415 },
416 
417 { 29, July , 2021 , PT , "@djunct_overlap_check" , MINOR , TYPE_NEW_OPT,
418    "Add in @chauffeur_afni functionality:  -edgy_ulay.",
419    NULL
420 },
421 
422 { 27, Jul, 2021, PT, "afni-general", MINOR, TYPE_BUG_FIX,
423    "fix typo in cubic resampling for viewer/3dresample (afni_slice.c)",
424    "Copying Rick's fix. Thanks to user 'ymao' for raising this issue on the MB."
425  } ,
426 
427 { 9, July , 2021 , PT , "@animal_warper" , MINOR , TYPE_NEW_OPT,
428    "New: '-aff_move_opt ..' to use more than just giant_move in aff step.",
429    "Also bug fix for when no followers were entered.\n"
430 },
431 
432 { 30, June, 2021 , PT , "adjunct_aw_tableize_roi_info.py", MINOR, TYPE_GENERAL,
433    "Tweak column names *again*.",
434    "Add in extra check that 3D vols are specified (e.g., with selectors).\n"
435 },
436 
437 { 28, June, 2021 , PT , "adjunct_aw_tableize_roi_info.py", MINOR, TYPE_GENERAL,
438    "Reformat report*.1D tables a bit: match key and col names.",
439    "Also, improve/simplify/clarify names of cols.  Thanks, Adam Messinger.\n"
440 },
441 
442 { 28, June , 2021 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
443    "Well, OK, not *really* a new opt---new values accepted for existing opt.",
444    "The '-olay_alpha ..' can now take Linear or Quadratic (grazie, Bob).\n"
445 },
446 
447 { 24, June , 2021 , PT , "@djunct_overlap_check" , MINOR , TYPE_GENERAL,
448    "Silence 3drefit warns if changing space of dsets (might confuse users).",
449    "Unnecessary warning for these temp dsets within the script.\n"
450 },
451 
452 { 22, June , 2021 , PT , "3dNwarpCalc" , MINOR , TYPE_GENERAL,
453    "Put in std includes to be able to build on Mac with Clang.",
454    "Though this program isn't even built...\n"
455 },
456 
457 { 22, June , 2021 , PT , "SurfLayers" , MINOR , TYPE_GENERAL,
458    "Capture verbose output from ConvertSurface.",
459    "Also add -no_clean opt.\n"
460 },
461 
462 { 18, June , 2021 , PT , "@Install_AP_MULTI_DEMO1" , MINOR , TYPE_GENERAL,
463    "Adding install script for afni_proc.py multi-echo FMRI demo (OHBM, 2021).",
464    "Demo authors: RC Reynolds, SJ Gotts, AW Gilmore, DR Glen, PA Taylor.\n"
465 },
466 
467 { 18, June , 2021 , PT , "@Install_SURFLAYERS_DEMO1" , MINOR , TYPE_GENERAL,
468    "Created by Sam Torrisi.  Help added, temp placeholder data now in place.",
469    "Will add full demo data soon...\n"
470 },
471 
472 { 15, June , 2021 , PT , "@radial_correlate" , MINOR , TYPE_BUG_FIX,
473    "Minor bug fix (never hit?), and avoid single line 'if' conds.",
474    "Latter to avoid badness in some (older?) tcsh versions.\n"
475 },
476 
477 { 15, June , 2021 , PT , "@clean_help_dir" , MINOR , TYPE_GENERAL,
478    "Avoid single line 'if' conds.",
479    "To avoid badness in some (older?) tcsh versions.\n"
480 },
481 
482 { 15, June , 2021 , PT , "@RetinoProc" , MINOR , TYPE_GENERAL,
483    "Avoid single line 'if' conds.",
484    "To avoid badness in some (older?) tcsh versions.\n"
485 },
486 
487 { 15, June , 2021 , PT , "@AddEdge" , MINOR , TYPE_GENERAL,
488    "Avoid single line 'if' conds.",
489    "To avoid badness in some (older?) tcsh versions.\n"
490 },
491 
492 { 15, June , 2021 , PT , "@SUMA_Make_Spec_Caret" , MINOR , TYPE_GENERAL,
493    "Avoid single line 'if' conds.",
494    "To avoid badness in some (older?) tcsh versions.\n"
495 },
496 
497 { 15, June , 2021 , PT , "@SUMA_Make_Spec_FS" , MINOR , TYPE_GENERAL,
498    "Avoid single line 'if' conds.",
499    "To avoid badness in some (older?) tcsh versions.\n"
500 },
501 
502 { 15, June , 2021 , PT , "@build_afni_Xlib" , MINOR , TYPE_GENERAL,
503    "Avoid single line 'if' conds.",
504    "To avoid badness in some (older?) tcsh versions.\n"
505 },
506 
507 { 15, June , 2021 , PT , "@fix_FSsphere" , MINOR , TYPE_GENERAL,
508    "Avoid single line 'if' conds.",
509    "To avoid badness in some (older?) tcsh versions.\n"
510 },
511 
512 { 15, June , 2021 , PT , "@toMNI_Qwarpar" , MINOR , TYPE_GENERAL,
513    "Avoid single line 'if' conds.",
514    "To avoid badness in some (older?) tcsh versions.\n"
515 },
516 
517 { 15, June , 2021 , PT , "ap_run_simple_rest.tcsh" , MINOR , TYPE_GENERAL,
518    "Avoid single line 'if' conds.",
519    "To avoid badness in some (older?) tcsh versions.\n"
520 },
521 
522 { 15, June , 2021 , PT , "@Reorder" , MINOR , TYPE_GENERAL,
523    "Avoid single line 'if' conds.",
524    "To avoid badness in some (older?) tcsh versions.\n"
525 },
526 
527 { 15, June , 2021 , PT , "@SUMA_Make_Spec_SF" , MINOR , TYPE_GENERAL,
528    "Avoid single line 'if' conds.",
529    "To avoid badness in some (older?) tcsh versions.\n"
530 },
531 
532 { 15, June , 2021 , PT , "@T1scale" , MINOR , TYPE_GENERAL,
533    "Avoid single line 'if' conds.",
534    "To avoid badness in some (older?) tcsh versions.\n"
535 },
536 
537 { 15, June , 2021 , PT , "@afni.run.me" , MINOR , TYPE_GENERAL,
538    "Avoid single line 'if' conds.",
539    "To avoid badness in some (older?) tcsh versions.\n"
540 },
541 
542 { 15, June , 2021 , PT , "@diff.files" , MINOR , TYPE_GENERAL,
543    "Avoid single line 'if' conds.",
544    "To avoid badness in some (older?) tcsh versions.\n"
545 },
546 
547 { 15, June , 2021 , PT , "@get.afni.version" , MINOR , TYPE_GENERAL,
548    "Avoid single line 'if' conds.",
549    "To avoid badness in some (older?) tcsh versions.\n"
550 },
551 
552 { 15, June , 2021 , PT , "@grayplot" , MINOR , TYPE_GENERAL,
553    "Avoid single line 'if' conds.",
554    "To avoid badness in some (older?) tcsh versions.\n"
555 },
556 
557 { 15, June , 2021 , PT , "@parse_afni_name" , MINOR , TYPE_GENERAL,
558    "Avoid single line 'if' conds.",
559    "To avoid badness in some (older?) tcsh versions.\n"
560 },
561 
562 { 15, June , 2021 , PT , "@parse_name" , MINOR , TYPE_GENERAL,
563    "Avoid single line 'if' conds.",
564    "To avoid badness in some (older?) tcsh versions.\n"
565 },
566 
567 { 15, June , 2021 , PT , "@simulate_motion" , MINOR , TYPE_GENERAL,
568    "Avoid single line 'if' conds.",
569    "To avoid badness in some (older?) tcsh versions.\n"
570 },
571 
572 { 15, June , 2021 , PT , "@update.afni.binaries" , MINOR , TYPE_GENERAL,
573    "Avoid single line 'if' conds.",
574    "To avoid badness in some (older?) tcsh versions.\n"
575 },
576 
577 { 15, June , 2021 , PT , "@2dwarper.Allin" , MINOR , TYPE_GENERAL,
578    "Avoid single line 'if' conds.",
579    "To avoid badness in some (older?) tcsh versions.\n"
580 },
581 
582 { 15, June , 2021 , PT , "@AddEdge" , MINOR , TYPE_GENERAL,
583    "Avoid single line 'if' conds.",
584    "To avoid badness in some (older?) tcsh versions.\n"
585 },
586 
587 { 15, June , 2021 , PT , "@ExamineGenFeatDists" , MINOR , TYPE_GENERAL,
588    "Avoid single line 'if' conds.",
589    "To avoid badness in some (older?) tcsh versions.\n"
590 },
591 
592 { 15, June , 2021 , PT , "@FS_roi_label" , MINOR , TYPE_GENERAL,
593    "Avoid single line 'if' conds.",
594    "To avoid badness in some (older?) tcsh versions.\n"
595 },
596 
597 { 15, June , 2021 , PT , "@Install_InstaCorr_Demo" , MINOR , TYPE_GENERAL,
598    "Avoid single line 'if' conds.",
599    "To avoid badness in some (older?) tcsh versions.\n"
600 },
601 
602 { 15, June , 2021 , PT , "@MakeLabelTable" , MINOR , TYPE_GENERAL,
603    "Avoid single line 'if' conds.",
604    "To avoid badness in some (older?) tcsh versions.\n"
605 },
606 
607 { 15, June , 2021 , PT , "@SUMA_Make_Spec_FS" , MINOR , TYPE_GENERAL,
608    "Avoid single line 'if' conds.",
609    "To avoid badness in some (older?) tcsh versions.\n"
610 },
611 
612 { 15, June , 2021 , PT , "@SUMA_Make_Spec_SF" , MINOR , TYPE_GENERAL,
613    "Avoid single line 'if' conds.",
614    "To avoid badness in some (older?) tcsh versions.\n"
615 },
616 
617 { 15, June , 2021 , PT , "@ScaleVolume" , MINOR , TYPE_GENERAL,
618    "Avoid single line 'if' conds.",
619    "To avoid badness in some (older?) tcsh versions.\n"
620 },
621 
622 { 15, June , 2021 , PT , "@afni_refacer_make_master" , MINOR , TYPE_GENERAL,
623    "Avoid single line 'if' conds.",
624    "To avoid badness in some (older?) tcsh versions.\n"
625 },
626 
627 { 15, June , 2021 , PT , "@afni_refacer_make_onebigA12" , MINOR , TYPE_GENERAL,
628    "Avoid single line 'if' conds.",
629    "To avoid badness in some (older?) tcsh versions.\n"
630 },
631 
632 { 15, June , 2021 , PT , "@auto_tlrc" , MINOR , TYPE_GENERAL,
633    "Avoid single line 'if' conds.",
634    "To avoid badness in some (older?) tcsh versions.\n"
635 },
636 
637 { 15, June , 2021 , PT , "@clip_volume" , MINOR , TYPE_GENERAL,
638    "Avoid single line 'if' conds.",
639    "To avoid badness in some (older?) tcsh versions.\n"
640 },
641 
642 { 15, June , 2021 , PT , "@compute_gcor" , MINOR , TYPE_GENERAL,
643    "Avoid single line 'if' conds.",
644    "To avoid badness in some (older?) tcsh versions.\n"
645 },
646 
647 { 15, June , 2021 , PT , "@diff.tree" , MINOR , TYPE_GENERAL,
648    "Avoid single line 'if' conds.",
649    "To avoid badness in some (older?) tcsh versions.\n"
650 },
651 
652 { 15, June , 2021 , PT , "@fix_FSsphere" , MINOR , TYPE_GENERAL,
653    "Avoid single line 'if' conds.",
654    "To avoid badness in some (older?) tcsh versions.\n"
655 },
656 
657 { 15, June , 2021 , PT , "@move.to.series.dirs" , MINOR , TYPE_GENERAL,
658    "Avoid single line 'if' conds.",
659    "To avoid badness in some (older?) tcsh versions.\n"
660 },
661 
662 { 15, June , 2021 , PT , "@snapshot_volreg" , MINOR , TYPE_GENERAL,
663    "Avoid single line 'if' conds.",
664    "To avoid badness in some (older?) tcsh versions.\n"
665 },
666 
667 { 15, June , 2021 , PT , "@update.afni.binaries" , MINOR , TYPE_GENERAL,
668    "Avoid single line 'if' conds.",
669    "To avoid badness in some (older?) tcsh versions.\n"
670 },
671 
672 { 15, June , 2021 , PT , "@SUMA_AlignToExperiment" , MINOR , TYPE_GENERAL,
673    "Clean up some spacing; avoid single line 'if' conds; use unaliased rm.",
674    "To avoid badness in some (older?) tcsh versions.\n"
675 },
676 
677 { 15, June , 2021 , PT , "lesion_align" , MINOR , TYPE_GENERAL,
678    "Put spaces in if-conditions after 'if'.",
679    "To avoid badness in some (older?) tcsh versions.\n"
680 },
681 
682 { 15, June , 2021 , PT , "fat_proc_map_to_dti" , MINOR , TYPE_GENERAL,
683    "Put spaces in if-conditions after 'if'.",
684    "To avoid badness in some (older?) tcsh versions.\n"
685 },
686 
687 { 15, June , 2021 , PT , "fat_proc_imit2w_from_t1w" , MINOR , TYPE_GENERAL,
688    "Put spaces in if-conditions after 'if'.",
689    "To avoid badness in some (older?) tcsh versions.\n"
690 },
691 
692 { 15, June , 2021 , PT , "fat_proc_dwi_to_dt" , MINOR , TYPE_GENERAL,
693    "Put spaces in if-conditions after 'if'.",
694    "To avoid badness in some (older?) tcsh versions.\n"
695 },
696 
697 { 15, June , 2021 , PT , "fat_proc_decmap" , MINOR , TYPE_GENERAL,
698    "Put spaces in if-conditions after 'if'.",
699    "To avoid badness in some (older?) tcsh versions.\n"
700 },
701 
702 { 15, June , 2021 , PT , "fat_proc_convert_dcm_anat" , MINOR , TYPE_GENERAL,
703    "Put spaces in if-conditions after 'if'.",
704    "To avoid badness in some (older?) tcsh versions.\n"
705 },
706 
707 { 15, June , 2021 , PT , "fat_proc_axialize_anat" , MINOR , TYPE_GENERAL,
708    "Put spaces in if-conditions after 'if'.",
709    "To avoid badness in some (older?) tcsh versions.\n"
710 },
711 
712 { 15, June , 2021 , PT , "fat_proc_align_anat_pair" , MINOR , TYPE_GENERAL,
713    "Put spaces in if-conditions after 'if'.",
714    "To avoid badness in some (older?) tcsh versions.\n"
715 },
716 
717 { 15, June , 2021 , PT , "@toMNI_Awarp" , MINOR , TYPE_GENERAL,
718    "Put spaces in if-conditions after 'if'.",
719    "To avoid badness in some (older?) tcsh versions.\n"
720 },
721 
722 { 15, June , 2021 , PT , "@radial_correlate" , MINOR , TYPE_GENERAL,
723    "Put spaces in if-conditions after 'if'.",
724    "To avoid badness in some (older?) tcsh versions.\n"
725 },
726 
727 { 15, June , 2021 , PT , "@measure_in2out" , MINOR , TYPE_GENERAL,
728    "Put spaces in if-conditions after 'if'.",
729    "To avoid badness in some (older?) tcsh versions.\n"
730 },
731 
732 { 15, June , 2021 , PT , "@measure_erosion_thick" , MINOR , TYPE_GENERAL,
733    "Put spaces in if-conditions after 'if'.",
734    "To avoid badness in some (older?) tcsh versions.\n"
735 },
736 
737 { 15, June , 2021 , PT , "@measure_bb_thick" , MINOR , TYPE_GENERAL,
738    "Put spaces in if-conditions after 'if'.",
739    "To avoid badness in some (older?) tcsh versions.\n"
740 },
741 
742 { 15, June , 2021 , PT , "@djunct_slice_space" , MINOR , TYPE_GENERAL,
743    "Put spaces in if-conditions after 'if'.",
744    "To avoid badness in some (older?) tcsh versions.\n"
745 },
746 
747 { 15, June , 2021 , PT , "@diff.tree" , MINOR , TYPE_GENERAL,
748    "Put spaces in if-conditions after 'if'.",
749    "To avoid badness in some (older?) tcsh versions.\n"
750 },
751 
752 { 15, June , 2021 , PT , "@diff.files" , MINOR , TYPE_GENERAL,
753    "Put spaces in if-conditions after 'if'.",
754    "To avoid badness in some (older?) tcsh versions.\n"
755 },
756 
757 { 15, June , 2021 , PT , "@chauffeur_afni" , MINOR , TYPE_GENERAL,
758    "Put spaces in if-conditions after 'if'.",
759    "To avoid badness in some (older?) tcsh versions.\n"
760 },
761 
762 { 15, June , 2021 , PT , "@auto_tlrc" , MINOR , TYPE_GENERAL,
763    "Put spaces in if-conditions after 'if'.",
764    "To avoid badness in some (older?) tcsh versions.\n"
765 },
766 
767 { 15, June , 2021 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
768    "Put spaces in if-conditions after 'if'.",
769    "To avoid badness in some (older?) tcsh versions.\n"
770 },
771 
772 { 15, June , 2021 , PT , "@afni_refacer_make_master" , MINOR , TYPE_GENERAL,
773    "Put spaces in if-conditions after 'if'.",
774    "To avoid badness in some (older?) tcsh versions.\n"
775 },
776 
777 { 15, June , 2021 , PT , "@SUMA_AlignToExperiment" , MINOR , TYPE_GENERAL,
778    "Put spaces in if-conditions after 'if'.",
779    "To avoid badness in some (older?) tcsh versions.\n"
780 },
781 
782 { 15, June , 2021 , PT , "@MakeLabelTable" , MINOR , TYPE_GENERAL,
783    "Put spaces in if-conditions after 'if'.",
784    "To avoid badness in some (older?) tcsh versions.\n"
785 },
786 
787 { 15, June , 2021 , PT , "@Install_ClustScat_Demo" , MINOR , TYPE_GENERAL,
788    "Put spaces in if-conditions after 'if'.",
789    "To avoid badness in some (older?) tcsh versions.\n"
790 },
791 
792 { 15, June , 2021 , PT , "@GradFlipTest" , MINOR , TYPE_GENERAL,
793    "Put spaces in if-conditions after 'if'.",
794    "To avoid badness in some (older?) tcsh versions.\n"
795 },
796 
797 { 15, June , 2021 , PT , "@FindAfniDsetPath" , MINOR , TYPE_GENERAL,
798    "Put spaces in if-conditions after 'if'.",
799    "To avoid badness in some (older?) tcsh versions.\n"
800 },
801 
802 { 15, June , 2021 , PT , "@FS_roi_label" , MINOR , TYPE_GENERAL,
803    "Put spaces in if-conditions after 'if'.",
804    "To avoid badness in some (older?) tcsh versions.\n"
805 },
806 
807 { 15, June , 2021 , PT , "@Atlasize" , MINOR , TYPE_GENERAL,
808    "Put spaces in if-conditions after 'if'.",
809    "To avoid badness in some (older?) tcsh versions.\n"
810 },
811 
812 { 15, June , 2021 , PT , "@AddEdge" , MINOR , TYPE_GENERAL,
813    "Put spaces in if-conditions after 'if'.",
814    "To avoid badness in some (older?) tcsh versions.\n"
815 },
816 
817 { 15, June , 2021 , PT , "@toMNI_Qwarpar" , MINOR , TYPE_GENERAL,
818    "Put spaces in if-conditions after 'if' and before 'then'.",
819    "To avoid badness in some (older?) tcsh versions.\n"
820 },
821 
822 { 15, June , 2021 , PT , "@snapshot_volreg" , MINOR , TYPE_GENERAL,
823    "Put spaces in if-conditions after 'if' and before 'then'.",
824    "To avoid badness in some (older?) tcsh versions.\n"
825 },
826 
827 { 15, June , 2021 , PT , "@grayplot" , MINOR , TYPE_GENERAL,
828    "Put spaces in if-conditions after 'if' and before 'then'.",
829    "To avoid badness in some (older?) tcsh versions.\n"
830 },
831 
832 { 15, June , 2021 , PT , "@global_parse" , MINOR , TYPE_GENERAL,
833    "Put spaces in if-conditions after 'if' and before 'then'.",
834    "To avoid badness in some (older?) tcsh versions.\n"
835 },
836 
837 { 15, June , 2021 , PT , "@get.afni.version" , MINOR , TYPE_GENERAL,
838    "Put spaces in if-conditions after 'if' and before 'then'.",
839    "To avoid badness in some (older?) tcsh versions.\n"
840 },
841 
842 { 15, June , 2021 , PT , "@djunct_glue_imgs_vert" , MINOR , TYPE_GENERAL,
843    "Put spaces in if-conditions after 'if' and before 'then'.",
844    "To avoid badness in some (older?) tcsh versions.\n"
845 },
846 
847 { 15, June , 2021 , PT , "@afni_refacer_make_onebigA12" , MINOR , TYPE_GENERAL,
848    "Put spaces in if-conditions after 'if' and before 'then'.",
849    "To avoid badness in some (older?) tcsh versions.\n"
850 },
851 
852 { 15, June , 2021 , PT , "@ROI_decluster" , MINOR , TYPE_GENERAL,
853    "Put spaces in if-conditions after 'if' and before 'then'.",
854    "To avoid badness in some (older?) tcsh versions.\n"
855 },
856 
857 { 15, June , 2021 , PT , "@1dDiffMag" , MINOR , TYPE_GENERAL,
858    "Put spaces in if-conditions after 'if' and before 'then'.",
859    "To avoid badness in some (older?) tcsh versions.\n"
860 },
861 
862 { 15, June , 2021 , PT , "@SSwarper" , MINOR , TYPE_GENERAL,
863    "Put spaces in if-conditions after 'if' and before 'then'.",
864    "To avoid badness in some (older?) tcsh versions.\n"
865 },
866 
867 { 14, June , 2021 , PT , "@chauffeur_afni" , MINOR , TYPE_BUG_FIX,
868    "Space before 'then' in if-cond; also remove all exclamations in comments.",
869    "Resolved *very* weird opt parsing on *some* old tcsh.\n"
870 },
871 
872 { 10, June , 2021 , PT , "@chauffeur_afni" , MICRO , TYPE_GENERAL,
873    "New opt '-echo', for odd-behavior-on-other-systems-investigtion-purposes.",
874    "Also print AFNI and program version numbers at top.\n"
875 },
876 
877 { 2, June , 2021 , PT , "afni_proc.py" , MICRO , TYPE_GENERAL,
878    "Undo previous tweak to db_mod.py (for auto_warp.py); back to using *.nii.",
879    "Reverting, because AFNI_COMPRESSOR has been updated.\n"
880 },
881 
882 { 2, June , 2021 , PT , "auto_warp.py" , MINOR , TYPE_GENERAL,
883    "Undo previous tweak to auto_warp.py; back to using *.nii.",
884    "Reverting, because AFNI_COMPRESSOR has been updated.\n"
885 },
886 
887 { 30, May , 2021 , PT , "afni_proc.py" , MICRO , TYPE_GENERAL,
888    "Tweak db_mod.py: prep for auto_warp.py to now always use *.nii.gz.",
889    "Just mv *.nii.gz files, rather than *.nii, from auto_warp output dir.\n"
890 },
891 
892 { 30, May , 2021 , PT , "auto_warp.py" , MINOR , TYPE_GENERAL,
893    "Use *.nii.gz, not *.nii, because of current AFNI_COMPRESSOR = GZIP.",
894    "With current AFNI_COMPRESSOR = GZIP, get problems; now, no more.\n"
895 },
896 
897 { 30, May , 2021 , PT , "@auto_tlrc" , MINOR , TYPE_NEW_OPT,
898    "New opt '-use_gz' to output gzipped NIFTI even with '-suffix ..'.",
899    "Part of updating auto_warp.py to use *.nii.gz, not *.nii.\n"
900 },
901 
902 { 24, May , 2021 , PT , "@animal_warper" , MAJOR , TYPE_GENERAL,
903    "Several small updates for convenience and organization: help updated...",
904    "more QC images; split intermediate text desc; new cmd_log.\n"
905 },
906 
907 { 20, May , 2021 , PT , "@chauffeur_afni" , MICRO , TYPE_GENERAL,
908    "Clean up exiting from help and version checking.",
909    "Doesn't go via the verbose GOOD_EXIT route anymore, which it shouldn't.\n"
910 },
911 
912 { 12, May , 2021 , PT , "@SUMA_Make_Spec_FS" , MICRO , TYPE_GENERAL,
913    "Remove old/unnecessary comment from help of -NIFTI opt.",
914    "Referred to earlier misconcept (need even mat dims for anatomical dset).\n"
915 },
916 
917 { 11, May , 2021 , PT , "@chauffeur_afni" , MICRO , TYPE_GENERAL,
918    "Set env var to turn off NIFTI warnings.",
919    "That is, AFNI_NIFTI_TYPE_WARN -> NO.\n"
920 },
921 
922 { 11, May , 2021 , PT , "apqc_make_tcsh.py" , MICRO , TYPE_GENERAL,
923    "1dplot.py improved for backward compatability to Python 2.7.",
924    "So, for task FMRI, individual stim label plots work again in Py2.7.\n"
925 },
926 
927 { 11, May , 2021 , PT , "1dplot.py" , MICRO , TYPE_GENERAL,
928    "Replace str.isnumeric() with str.isdigit(), for backward compatability.",
929    "Python 2.7 didn't have that method for str type.\n"
930 },
931 
932 { 10, May , 2021 , PT , "@chauffeur_afni" , MICRO , TYPE_NEW_OPT,
933    "New opt: '-set_xhair_gap ..', to allow setting crosshair gap.",
934    "Default value is -1.\n"
935 },
936 
937 { 3, May , 2021 , PT , "3dClusterize" , MICRO , TYPE_GENERAL,
938    "Add bracket to meta-text above table in case of abs value in table.",
939    "Thanks, watchful AFNI user YurBoiRene.\n"
940 },
941 
942 { 29, Apr , 2021 , PT , "3dClusterize" , MINOR , TYPE_NEW_OPT,
943    "Forgot to actually add in the new opt for data scaling in last change...",
944    "Now opt '-abs_table_data' is in the code.\n"
945 },
946 
947 { 29, Apr , 2021 , PT , "3dClusterize" , MINOR , TYPE_BUG_FIX,
948    "1) Now apply any scaling to 'data' in table (wasn't scaling, before).",
949    "2) Change table def: don't abs val Mean and SEM; use opt for that.\n"
950 },
951 
952 { 23, Apr , 2021 , PT , "apqc_make_tcsh.py" , MICRO , TYPE_GENERAL,
953    "1dplot.py improved, so stimulus labels on y-axis will wrap.",
954    "Reduce/remove overlap of long stim labels.\n"
955 },
956 
957 { 23, Apr , 2021 , PT , "1dplot.py" , MINOR , TYPE_NEW_OPT,
958    "Can force ylabels to wrap at a certain num of chars (-ylabels_maxlen ..).",
959    "For APQC, so long stimulus labels don't run into each other.\n"
960 },
961 
962 { 16, Apr , 2021 , PT , "adjunct_apqc_tsnr_general" , MINOR , TYPE_NEW_OPT,
963    "More options from @chauffeur_afni here.",
964    "Tryin' to make nicer images.\n"
965 },
966 
967 { 16, Apr , 2021 , PT , "adjunct_apqc_tsnr_with_mask" , MINOR , TYPE_REMOVE,
968    "This program has been superceded by: adjunct_apqc_tsnr_general.",
969    "The new version is more... general.\n"
970 },
971 
972 { 16, Apr , 2021 , PT , "adjunct_apqc_tsnr_no_mask" , MINOR , TYPE_REMOVE,
973    "This program has been superceded by: adjunct_apqc_tsnr_general.",
974    "The new version is more... general.\n"
975 },
976 
977 { 16, Apr , 2021 , PT , "apqc_make_tcsh.py" , MICRO , TYPE_GENERAL,
978    "Use newer adjunct_apqc_tsnr_general for TSNR images.",
979    "Single/more adjunct general prog than previous separate ones.\n"
980 },
981 
982 { 16, Apr , 2021 , PT , "apqc_make_tcsh.py" , MICRO , TYPE_GENERAL,
983    "Internal logic for making TSNR dsets tweaked.",
984    "TSNR images in QC*/media/ dir get unique name, too (no change for user).\n"
985 },
986 
987 { 16, Apr , 2021 , PT , "adjunct_apqc_tsnr_general" , MINOR , TYPE_NEW_PROG,
988    "Made to replace adjunct_apqc_tsnr_with_mask and adjunct_apqc_tsnr_no_mask.",
989    "Also expands/generalizes this functionality.\n"
990 },
991 
992 { 16, Apr , 2021 , PT , "@chauffeur_afni" , MICRO , TYPE_GENERAL,
993    "New keyword EMPTY for '-topval ..' opt, make scripting easier.",
994    "Corrected discrete cbar help example, too.\n"
995 },
996 
997 { 24, Mar , 2021 , PT , "3dinfo" , MICRO , TYPE_NEW_OPT,
998    "New opt: -is_atlas_or_labeltable.",
999    "1 if dset has an atlas or labeltable;  otherwise, 0.\n"
1000 },
1001 
1002 { 24, Mar , 2021 , PT , "3dBrickStat" , MAJOR , TYPE_BUG_FIX,
1003    "Fix bug: having non-full-FOV mask + perc calcs affected other calcs.",
1004    "Calcs should now be consistent even with those opts used. Thanks, RCR.\n"
1005 },
1006 
1007 { 23, Mar , 2021 , PT , "3dBrickStat" , MICRO , TYPE_GENERAL,
1008    "Uniformize internal spacing. Should be no change in behavior.",
1009    "Just a few comments stretch far still.\n"
1010 },
1011 
1012 { 16, Mar , 2021 , PT , "@djunct_overlap_check" , MICRO , TYPE_NEW_OPT,
1013    "Set env AFNI_COMPRESSOR to NONE.",
1014    "Avoid minor badnesses occasionally.\n"
1015 },
1016 
1017 { 16, Mar , 2021 , PT , "@djunct_4d_imager" , MICRO , TYPE_NEW_OPT,
1018    "Set env AFNI_COMPRESSOR to NONE.",
1019    "Avoid minor badnesses occasionally.\n"
1020 },
1021 
1022 { 16, Mar , 2021 , PT , "@djunct_edgy_align_check" , MICRO , TYPE_NEW_OPT,
1023    "Set env AFNI_COMPRESSOR to NONE.",
1024    "Avoid minor badnesses occasionally.\n"
1025 },
1026 
1027 { 10, Mar , 2021 , PT , "adjunct_apqc_tsnr_with_mask" , MINOR , TYPE_NEW_OPT,
1028    "Add in more control features, so can apply in more cases.",
1029    "Basically just allowing more chauffeur control.\n"
1030 },
1031 
1032 { 8, Mar , 2021 , PT , "3dRSFC" , MICRO , TYPE_MODIFY,
1033    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1034    NULL
1035 },
1036 
1037 { 8, Mar , 2021 , PT , "map_TrackID" , MICRO , TYPE_MODIFY,
1038    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1039    NULL
1040 },
1041 
1042 { 8, Mar , 2021 , PT , "3dZipperZapper" , MICRO , TYPE_MODIFY,
1043    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1044    NULL
1045 },
1046 
1047 { 8, Mar , 2021 , PT , "3dNetCorr" , MICRO , TYPE_MODIFY,
1048    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1049    NULL
1050 },
1051 
1052 { 8, Mar , 2021 , PT , "3dDWUncert" , MICRO , TYPE_MODIFY,
1053    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1054    NULL
1055 },
1056 
1057 { 8, Mar , 2021 , PT , "3dLombScargle" , MICRO , TYPE_MODIFY,
1058    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1059    NULL
1060 },
1061 
1062 { 8, Mar , 2021 , PT , "3dMatch" , MICRO , TYPE_MODIFY,
1063    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1064    NULL
1065 },
1066 
1067 { 8, Mar , 2021 , PT , "3dROIMaker" , MICRO , TYPE_MODIFY,
1068    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1069    NULL
1070 },
1071 
1072 { 8, Mar , 2021 , PT , "3ddot_beta" , MICRO , TYPE_MODIFY,
1073    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1074    NULL
1075 },
1076 
1077 { 8, Mar , 2021 , PT , "3dAmpToRSFC" , MICRO , TYPE_MODIFY,
1078    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1079    NULL
1080 },
1081 
1082 { 8, Mar , 2021 , PT , "3dReHo" , MICRO , TYPE_MODIFY,
1083    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1084    NULL
1085 },
1086 
1087 { 8, Mar , 2021 , PT , "3dTrackID" , MICRO , TYPE_MODIFY,
1088    "I/O strings now up to THD_MAX_NAME length; requested by L Waller.",
1089    NULL
1090 },
1091 
1092 { 6, Mar , 2021 , PT , "@fat_tract_colorize" , MINOR , TYPE_GENERAL,
1093    "Run a bit more quietly, setting ENV vars and GUI opts.",
1094    "Fewer warnings and messages.  And tweak help to be more useful.\n"
1095 },
1096 
1097 { 6, Mar , 2021 , PT , "@chauffeur_afni" , MINOR , TYPE_GENERAL,
1098    "Run a bit more quietly, setting ENV vars and GUI opts.",
1099    "Fewer warnings and messages.\n"
1100 },
1101 
1102 { 6, Mar , 2021 , PT , "@snapshot_volreg" , MINOR , TYPE_GENERAL,
1103    "Run a bit more quietly, setting ENV vars and GUI opts.",
1104    "Fewer warnings and messages.\n"
1105 },
1106 
1107 { 5, Mar , 2021 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1108    "Have APQC copy the ss_review_basic text file into the QC dir.",
1109    "Might want this text info available for easy parsing at group level.\n"
1110 },
1111 
1112 { 3, Mar , 2021 , PT , "adjunct_suma_fs_mask_and_qc" , MINOR , TYPE_BUG_FIX,
1113    "Had an early exit from earlier debugging.",
1114    "Ironic, really, that a debugging line became a bug.  Go figure.\n"
1115 },
1116 
1117 { 3, Mar , 2021 , PT , "@SUMA_Make_Spec_FS" , MINOR , TYPE_ENHANCE,
1118    "Make nice new WB mask, make some QC images of mask/segs/ROIs.",
1119    "Also make tables of ROI info (size stuff).\n"
1120 },
1121 
1122 { 3, Mar, 2021, PT , "gen_ss_review_scripts.py" , MINOR, TYPE_GENERAL,
1123    "Add sswarper2 to name of recognized progs for getting template dset.",
1124    "Can get uvar for APQC for this top secret NL alignment prog.\n"
1125 },
1126 
1127 { 3, Mar, 2021, PT , "@djunct_modal_smoothing_with_rep" , MINOR, TYPE_BUG_FIX,
1128    "On one system an instrutable error message 'Unknown user: 1~.' occurred.",
1129    "This change (doublequote file name? remove EOL in backticks?) fixed it.\n"
1130 },
1131 
1132 { 1, Mar , 2021 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1133    "Fix output dir of an intermediate QC image.",
1134    "The init*uaff* should now be in the usual QC/ dir.\n"
1135 },
1136 
1137 { 25, Feb , 2021 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1138    "With non-nonlinear warps, processing now goes all they way through.",
1139    "Bit more *.txt output, fixed mapping of anat follower non-ROI dset.\n"
1140 },
1141 
1142 { 24, Feb , 2021 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1143    "Add more TSNR plotting: if vreg TSNR is calc'ed, or if no mask exists.",
1144    "Also a bug fix in HAVE_MASK definition; fix ranges in some plots.\n"
1145 },
1146 
1147 { 24, Feb , 2021 , PT , "adjunct_apqc_tsnr_no_mask" , MINOR , TYPE_NEW_PROG,
1148    "Now used in APQC to make TSNR plot.",
1149    "Has mostly required olay/ulay args, for when *no* mask exists.\n"
1150 },
1151 
1152 { 22, Feb , 2021 , PT , "adjunct_apqc_tsnr_with_mask" , MINOR , TYPE_NEW_PROG,
1153    "Now used in APQC to make TSNR plot.",
1154    "Has mostly required olay/ulay args, as well as mask.\n"
1155 },
1156 
1157 { 22, Feb , 2021 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1158    "New part of regr block: TSNR plot.",
1159    "Shows brain slices.\n"
1160 },
1161 
1162 { 22, Feb , 2021 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
1163    "New opt: -pbar_comm_gen, for APQC.",
1164    "Also remove warning about ffmpeg unless using MPEG.\n"
1165 },
1166 
1167 { 10, Feb , 2021 , PT , "@SSwarper" , MINOR , TYPE_NEW_OPT,
1168    "Add in -mask_ss option, to replace skullstripping with a mask.",
1169    "For example, using fs*mask*nii from @SUMA_Make_Spec_FS after FS.\n"
1170 },
1171 
1172 { 10, Feb , 2021 , PT , "adjunct_suma_fs_mask_and_qc" , MINOR , TYPE_GENERAL,
1173    "More QC images: WM and GM tissue, solo.",
1174    "Thanks for suggestions, P Molfese.\n"
1175 },
1176 
1177 { 9, Feb , 2021 , PT , "adjunct_suma_roi_info" , MINOR , TYPE_GENERAL,
1178    "New column of ROI vol fraction, relative to fs_parc_wb_mask.nii.gz.",
1179    "This prog should always be run after adjunct_suma_fs_mask_and_qc.\n"
1180 },
1181 
1182 { 9, Feb , 2021 , PT , "adjunct_suma_fs_mask_and_qc" , MINOR , TYPE_GENERAL,
1183    "Renamed, from adjunct_suma_fs_qc.tcsh.",
1184    "Removing extension.\n"
1185 },
1186 
1187 { 9, Feb , 2021 , PT , "adjunct_suma_roi_info" , MINOR , TYPE_GENERAL,
1188    "Renamed, from adjunct_suma_rois_qc.tcsh.",
1189    "Removing extension.\n"
1190 },
1191 
1192 { 9, Feb , 2021 , PT , "adjunct_suma_fs_qc.tcsh" , MINOR , TYPE_GENERAL,
1193    "Make new mask dset from parcellation.",
1194    "Add new image of new dset.\n"
1195 },
1196 
1197 { 9, Feb , 2021 , PT , "adjunct_suma_rois_qc.tcsh" , MINOR , TYPE_GENERAL,
1198    "Add fractional volume info to the text file.",
1199    "This makes 2 new columns in the output *.1D files.\n"
1200 },
1201 
1202 { 8, Feb , 2021 , PT , "adjunct_suma_rois_qc.tcsh" , MINOR , TYPE_NEW_PROG,
1203    "Will add to @SUMA_Make_Spec_FS for automatic QC output.",
1204    "This makes *.1D files of voxel counts of parcellations and segs.\n"
1205 },
1206 
1207 { 8, Feb , 2021 , PT , "adjunct_suma_fs_qc.tcsh" , MINOR , TYPE_NEW_PROG,
1208    "Will add to @SUMA_Make_Spec_FS for automatic QC output.",
1209    "This makes images of the brain mask, tissue segs and parcellation.\n"
1210 },
1211 
1212 { 5, Feb , 2021 , PT , "@SSwarper" , MINOR , TYPE_GENERAL,
1213    "Add in more intermediate QC snapshots (intermed align): init*jpg ",
1214    "Also add '-echo' opt for verbose terminal stuff.\n"
1215 },
1216 
1217 { 3, Feb , 2021 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1218    "New QC image, of affine warping.",
1219    "Also pass along '-echo' opt to modal smoo/report script.\n"
1220 },
1221 
1222 { 27, Jan , 2021 , PT , "3dAttribute" , MINOR , TYPE_GENERAL,
1223    "Update help to have fancy sections and more examples.",
1224    "Also provide link to README.attributes file, for user reference.\n"
1225 },
1226 
1227 { 27, Jan , 2021 , PT , "@SUMA_Make_Spec_FS" , MINOR , TYPE_ENHANCE,
1228    "New run script created (run_01*) in L_MAKE_DRIVE_SCRIPT block.",
1229    "Opens std.141*both*spec in SUMA and SurfVol in AFNI, and starts talking.\n"
1230 },
1231 
1232 { 22, Dec , 2020 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1233    "New default feature_size: 0.5.  (Old default: was unset).",
1234    "Made almost no dif in mac demo, but should be slightly more robust, in gen.\n"
1235 },
1236 
1237 { 22, Dec , 2020 , PT , "3dmaskave" , MINOR , TYPE_BUG_FIX,
1238    "MRI_TYPE_maxval fixed for byte case-- thanks, C Rorden!",
1239    "Same fix applied in: plug_maskave.c and thd_makemask.c.\n"
1240 },
1241 
1242 { 21, Dec , 2020 , PT , "3dClusterize" , MICRO , TYPE_GENERAL,
1243    "Tweak internal handling of reading inputs, prohibit hanging args.",
1244    "Now, hanging args should produce error (not just be silently ignored).\n"
1245 },
1246 
1247 { 21, Dec , 2020 , PT , "3dROIMaker" , MICRO , TYPE_GENERAL,
1248    "Tweak internal handling of reading inputs, prohibit hanging args.",
1249    "Now, hanging args should produce error (not just be silently ignored).\n"
1250 },
1251 
1252 { 21, Dec , 2020 , PT , "3dClusterize" , MINOR , TYPE_BUG_FIX,
1253    "The '-orient ..' opt wasn't working-- that has been fixed.",
1254    "Now user can specify table coords with this opt.\n"
1255 },
1256 
1257 { 1, Dec , 2020 , PT , "@SSwarper" , MINOR , TYPE_NEW_OPT,
1258    "Tweaked default temp 'junk' filename to avoid low-probability badness ",
1259    "New opt '-tmp_name_nice' for, well, read opt name. Improved help, too.\n"
1260 },
1261 
1262 { 12, Nov , 2020 , PT , "fat_proc_connec_vis" , MICRO , TYPE_GENERAL,
1263    "Set some env vars at top of script to turn off compression.",
1264    "Was causing odd error in one case.\n"
1265 },
1266 
1267 { 6, Nov , 2020 , PT , "adjunct_tort_read_dp_align.py" , MINOR , TYPE_NEW_PROG,
1268    "Script to read TORTOISE-DIFFPREP *_transformations.txt files.",
1269    "Puts them into usable order for calc'ing enorm and plotting mot/pars.\n"
1270 },
1271 
1272 { 6, Nov , 2020 , PT , "adjunct_tort_plot_dp_align" , MINOR , TYPE_NEW_PROG,
1273    "Script (tcsh) to translate TORTOISE-DIFFPREP *_transformations.txt files",
1274    "Wraps new adjunct_tort_read_dp_align.py and 1dplot* to make plots.\n"
1275 },
1276 
1277 { 2, Nov , 2020 , PT , "1dplot.py" , MINOR , TYPE_GENERAL,
1278    "Can now output SVG files, and can use newline chars in labels.",
1279    "Had to deal with newline escape seq internally.\n"
1280 },
1281 
1282 { 28, Oct , 2020 , PT , "fat_proc_map_to_dti" , MINOR , TYPE_GENERAL,
1283    "Extra QC image:  initial overlap of source and base dsets.",
1284    "Should help to know, in case anything goes awry later.\n"
1285 },
1286 
1287 { 28, Oct , 2020 , PT , "fat_proc_align_anat_pair" , MINOR , TYPE_GENERAL,
1288    "Extra QC image:  initial overlap of T1w and T2w dsets.",
1289    "Should help to know, in case anything goes awry later.\n"
1290 },
1291 
1292 { 19, Oct , 2020 , PT , "@SSwarper" , MINOR , TYPE_GENERAL,
1293    "Added new QC image: initial source-base alignment (@djunct_overlap_check)",
1294    "If obl, make 1 img ignoring it, and 1 3dWarp-deob'ed, with text report.\n"
1295 },
1296 
1297 { 19, Oct , 2020 , PT , "@djunct_overlap_check" , MAJOR , TYPE_NEW_PROG,
1298    "Make of overlap of 2 datasets (esp for pre-align check, AW or SSW).",
1299    "Will make both non-obl and 3dWarp-deob'ed images of olap (and report).\n"
1300 },
1301 
1302 { 19, Oct , 2020 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1303    "Added new QC image to QC/ dir: initial source-base alignment.",
1304    "If obl, make 1 img ignoring it, and 1 3dWarp-deob'ed, with text report.\n"
1305 },
1306 
1307 { 19, Oct , 2020 , PT , "@animal_warper" , MAJOR , TYPE_GENERAL,
1308    "Simplifying output dir: Phase II and III.  Thanks again, B Jung!",
1309    "New intermediate dir, animal_outs update, helpfile rewritten.\n"
1310 },
1311 
1312 { 16, Oct , 2020 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1313    "Simplifying output dir: Phase I.  Thanks, Ben Jung, for good suggestions!",
1314    "Put report*1D in QC/, and do*.tcsh and surfaces_* in new surfaces/ dir.\n"
1315 },
1316 
1317 { 16, Oct , 2020 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1318    "Add in status checks after many afni progs, to exit at/near first failure.",
1319    "Should be no change in output for users (in successful runs).\n"
1320 },
1321 
1322 { 16, Oct , 2020 , PT , "@animal_warper" , MINOR , TYPE_BUG_FIX,
1323    "Now, first cp+resample src to RAI; else, shft is bad for non-xyz orients.",
1324    "Output warps can still apply to original orient dset fine.\n"
1325 },
1326 
1327 { 24, Sep , 2020 , PT , "@SSwarper" , MINOR , TYPE_GENERAL,
1328    "Put in status checks through script to exit with error if any step fails.",
1329    "Should provide nicer behavior if something gang agley.\n"
1330 },
1331 
1332 { 2, Sep , 2020 , PT , "@SkullStrip_TouchUp" , MINOR , TYPE_GENERAL,
1333    "Replace '-e' at top with several later status checks; 'exit 0' after help.",
1334    "No effect on output, except being more general.\n"
1335 },
1336 
1337 { 1, Sep , 2020 , PT , "@SSwarper" , MINOR , TYPE_BUG_FIX,
1338    "If '-skipwarp' was used, crashed at very end (sigh).",
1339    "Fixed that crash behavior; no changes in outputs.\n"
1340 },
1341 
1342 { 1, Sep , 2020 , PT , "fat_roi_row.py" , MINOR , TYPE_ENHANCE,
1343    "Update to run in Python 3 (using 2to3, plus extra tweaks).",
1344    "Should now run in both Python 2 and 3.\n"
1345 },
1346 
1347 { 1, Sep , 2020 , PT , "fat_mvm_prep.py" , MINOR , TYPE_ENHANCE,
1348    "Update to run in Python 3 (using 2to3, plus extra tweaks).",
1349    "Should now run in both Python 2 and 3.\n"
1350 },
1351 
1352 { 1, Sep , 2020 , PT , "fat_mvm_scripter.py" , MINOR , TYPE_ENHANCE,
1353    "Update to run in Python 3 (using 2to3, plus extra tweaks).",
1354    "Should now run in both Python 2 and 3.\n"
1355 },
1356 
1357 { 1, Sep , 2020 , PT , "fat_mvm_gridconv.py" , MINOR , TYPE_ENHANCE,
1358    "Update to run in Python 3 (using 2to3, plus extra tweaks).",
1359    "Should now run in both Python 2 and 3.\n"
1360 },
1361 
1362 { 1, Sep , 2020 , PT , "fat_mat_sel.py" , MINOR , TYPE_ENHANCE,
1363    "Update to run in Python 3 (using 2to3, plus extra tweaks).",
1364    "Should now run in both Python 2 and 3.\n"
1365 },
1366 
1367 { 1, Sep , 2020 , PT , "fat_lat_csv.py" , MINOR , TYPE_REMOVE,
1368    "Remove program from distribution, with lib: lib_fat_Rfactor.py.",
1369    "R deps are a mess between Py2 and Py3; might rewrite better in future.\n"
1370 },
1371 
1372 { 1, Sep , 2020 , PT , "fat_mvm_review.py" , MINOR , TYPE_REMOVE,
1373    "Remove program from distribution.",
1374    "This program never even made it to full beta status.\n"
1375 },
1376 
1377 { 1, Sep , 2020 , PT , "fat_proc_grad_plot" , MINOR , TYPE_REMOVE,
1378    "Remove program from distribution.",
1379    "Already have a better one (with fewer dependencies!) ready to go.\n"
1380 },
1381 
1382 { 27, Aug , 2020 , PT , "@animal_warper" , MAJOR , TYPE_MODIFY,
1383    "Well, usage+output shouldn't really change, but it should be more stable.",
1384    "There is also a new opt: -align_centers_meth (read the help).\n"
1385 },
1386 
1387 { 26, Aug , 2020 , PT , "@animal_warper" , MICRO , TYPE_BUG_FIX,
1388    "Fix case of running prog with no args.",
1389    "Should show help; now it DOES show help, with no error.\n"
1390 },
1391 
1392 { 21, Aug , 2020 , PT , "3dTrackID" , MINOR , TYPE_BUG_FIX,
1393    "Fix header deps of underlying progs (namely, readglob.c).",
1394    "Was crashing on some NIML reading cases.\n"
1395 },
1396 
1397 { 31, July , 2020 , PT , "@Install_MACAQUE_DEMO" , MAJOR , TYPE_NEW_PROG,
1398    "Install MACAQUE_DEMO_REST_1.0, for macaque resting state FMRI examples.",
1399    "Has a '-lite_version' opt for truncated EPI version, smaller download.\n"
1400 },
1401 
1402 { 31, July , 2020 , PT , "fat_mat2d_plot.py" , MINOR , TYPE_BUG_FIX,
1403    "Fix behavior file path contained dots.",
1404    "Joining filenames for output now fixed.\n"
1405 },
1406 
1407 { 30, July , 2020 , PT , "@Install_MACAQUE_DEMO" , MAJOR , TYPE_GENERAL,
1408    "Now install MACAQUE_DEMO_2.1, which should be the new normal.",
1409    "Script checks for things on install, makes recs, more full demo.\n"
1410 },
1411 
1412 { 30, July , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1413    "Make easier to find template in case data has moved around.",
1414    "Also use wildcard to clean intermed file, in case auto GZIP is on.\n"
1415 },
1416 
1417 { 27, July , 2019 , PT , "3dDWUncert" , MINOR , TYPE_GENERAL,
1418    "Insert a couple ifdefs around OMP functionality.",
1419    "This should allow program to compile even without OpenMP.\n"
1420 },
1421 
1422 { 15, July , 2020 , PT , "3dNetCorr" , MINOR , TYPE_GENERAL,
1423    "Moved header dep of suma_suma.h -> suma_objs.h.",
1424    "Should be no output change.\n"
1425 },
1426 
1427 { 15, July , 2020 , PT , "3dTORTOISEtoHere" , MINOR , TYPE_GENERAL,
1428    "Moved header dep of suma_suma.h -> suma_objs.h.",
1429    "Should be no output change.\n"
1430 },
1431 
1432 { 15, July , 2020 , PT , "3ddot_beta" , MINOR , TYPE_GENERAL,
1433    "Moved header dep of suma_suma.h -> suma_objs.h.",
1434    "Should be no output change.\n"
1435 },
1436 
1437 { 15, July , 2020 , PT , "3dTrackID" , MINOR , TYPE_GENERAL,
1438    "Moved header dep of suma_suma.h -> suma_objs.h.",
1439    "Should be no output change.\n"
1440 },
1441 
1442 { 15, July , 2020 , PT , "3dEigsToDT" , MINOR , TYPE_GENERAL,
1443    "Moved header dep of suma_suma.h -> suma_objs.h.",
1444    "Should be no output change.\n"
1445 },
1446 
1447 { 15, July , 2020 , PT , "3dDTtoNoisyDWI" , MINOR , TYPE_GENERAL,
1448    "New opt for controlling random seed is available (for testing).",
1449    "Also, moved dep of suma_suma.h -> suma_objs.h (shd be no output change).\n"
1450 },
1451 
1452 { 15, July , 2020 , PT , "3dVecRGB_to_HSL" , MINOR , TYPE_BUG_FIX,
1453    "Would whine when outputting BRIK/HEAD dset if -in_scal was used; fixed.",
1454    "Also, moved dep of suma_suma.h -> suma_objs.h (shd be no output change).\n"
1455 },
1456 
1457 { 1, July , 2020 , PT , "@Install_NMT" , MAJOR , TYPE_NEW_PROG,
1458    "Installer for the NIMH Macaque Template(s) v2, and the CHARM (atlases).",
1459    "Courtesy of Ben Jung, Adam Messinger, et al.\n"
1460 },
1461 
1462 { 22, June , 2020 , PT , "@djunct_edgy_align_check" , MINOR , TYPE_BUG_FIX,
1463    "The -monty opt input was being ignored.",
1464    "It now has a voice.\n"
1465 },
1466 
1467 { 22, June , 2020 , PT , "convert_cdiflist_to_grads.py" , MINOR , TYPE_BUG_FIX,
1468    "Output col grads file was *not* scaled by bvalues, as help said it would.",
1469    "Fixed: now output col grads multiplied by bvalues.\n"
1470 },
1471 
1472 { 17, June , 2020 , PT , "1dplot.py" , MINOR , TYPE_NEW_OPT,
1473    "Add legend functionality, along with opts for label and loc specifying.",
1474    "New opts: -legend_on, -legend_labels, -legend_locs.\n"
1475 },
1476 
1477 { 17, June , 2020 , PT , "1dplot.py" , MICRO , TYPE_GENERAL,
1478    "Add -hview functionality.",
1479    "Where has this been all my life??\n"
1480 },
1481 
1482 { 14, June , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1483    "For vstat with seedbased corr (rest), use 0.3 as thr value of corr map.",
1484    "Returning value to what it had been for a long time, based on examples.\n"
1485 },
1486 
1487 { 10, June , 2020 , PT , "convert_cdiflist_to_grads.py" , MAJOR , TYPE_NEW_PROG,
1488    "For GE scanners, we might want a cdiflist* file for DWI grad info.",
1489    "This prog converts such beasts into usable grad/bvalue files for proc.\n"
1490 },
1491 
1492 { 9, June , 2020 , PT , "fat_mat2d_plot.py" , MINOR , TYPE_BUG_FIX,
1493    "Fix behavior when -xticks_off and/or -yticks_off are/is used.",
1494    "Now the specified axis will really be *empty*.\n"
1495 },
1496 
1497 { 4, June , 2020 , PT , "fat_mat2d_plot.py" , MINOR , TYPE_GENERAL,
1498    "Improve couple things in help file; change def cbar.",
1499    "More useful 'divergent' class of cbar as default.\n"
1500 },
1501 
1502 { 3, June , 2020 , PT , "epi_b0_correct.py" , MICRO , TYPE_BUG_FIX,
1503    "Programming badness if user forgot to add a nec arg to an opt.",
1504    "There should be no change in behavior when correct opts are added.\n"
1505 },
1506 
1507 { 3, June , 2020 , PT , "fat_mat2d_plot.py" , MAJOR , TYPE_NEW_PROG,
1508    "FINALLY, a python3 program to plot 3dTrackID and 3dNetCorr output.",
1509    "Plots *.grid and *.netcc files; replaces fat_mat_sel.py.\n"
1510 },
1511 
1512 { 3, June , 2020 , PT , "lib_mat2d_plot.py" , MAJOR , TYPE_GENERAL,
1513    "Many updates to functioning, defaults, reading argv, applying user opts.",
1514    "Help file added as well; works with main proc: fat_mat2d_plot.py.\n"
1515 },
1516 
1517 { 1, June , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1518    "For vstat with seedbased corr (rest), use 0.2 as thr value of corr map.",
1519    "The value 0.3 seemed pretty high (esp. if no smoothing is applied).\n"
1520 },
1521 
1522 { 1, June , 2020 , PT , "lib_mat2d_base.py" , MINOR , TYPE_GENERAL,
1523    "Migrated from lib_mat2d.py; tweaks added.",
1524    "Add in few more mat2d attributes; rearrange methods.\n"
1525 },
1526 
1527 { 1, June, 2020 , PT , "adjunct_aw_tableize_roi_info.py" , MINOR , TYPE_GENERAL,
1528    "Reformat report*.1D tables a bit.",
1529    "Add in a KEY; change U/W to A/B; minor format stuff.\n"
1530 },
1531 
1532 { 1, June , 2020 , PT , "lib_mat2d.py" , MINOR , TYPE_GENERAL,
1533    "Start some new functionality for 2D matrices.",
1534    "In particular, these are for 3dTrackID and 3dNetCorr output.\n"
1535 },
1536 
1537 { 1, June , 2020 , PT , "afni_base.py" , MINOR , TYPE_GENERAL,
1538    "Add new funcs for convenient message printing, in the AFNI style.",
1539    "IP(), EP() and WP(), which are wrappers to use APRINT().\n"
1540 },
1541 
1542 { 31, May , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1543    "Change range of grayscale when EPI is ulay (ve2a and LR flipcheck).",
1544    "Now 2-98percent (nonzero).\n"
1545 },
1546 
1547 { 31, May , 2020 , PT , "@animal_warper" , MINOR , TYPE_BUG_FIX,
1548    "Two bug fixes: 1) where src_prefix is defined.",
1549    "2) Make sure labels/atlases of ATL|SEG followers are passed along.\n"
1550 },
1551 
1552 { 30, May , 2020 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1553    "Apply input_abbrev earlier in processing.",
1554    "Homogenize naming, I think, if it is being selected.\n"
1555 },
1556 
1557 { 30, May , 2020 , PT , "@animal_warper" , MAJOR , TYPE_GENERAL,
1558    "Default modal smoothing now is with replacement of any lost ROIs.",
1559    "Uses @djunct_modal* script; opt to not replace. More QC images now, too.\n"
1560 },
1561 
1562 { 30, May, 2020, PT , "@djunct_modal_smoothing_with_rep" , MINOR, TYPE_GENERAL,
1563    "Now use *.nii.gz files for all intermeds, not *.nii.",
1564    "Works better with @animal_warper this way.\n"
1565 },
1566 
1567 { 30, May, 2020, PT , "@djunct_modal_smoothing_with_rep" , MAJOR, TYPE_NEW_PROG,
1568    "Perform modal smoothing, and go back and add in any ROIs that were lost.",
1569    "May be useful in @animal_warper;  may be good to add mask stuff, too.\n"
1570 },
1571 
1572 { 30, May, 2020 , PT , "adjunct_aw_tableize_roi_info.py" , MINOR , TYPE_GENERAL,
1573    "String selector of lost ROIs now is only comma-separated list.",
1574    "Discovered couldn't have both comma- and '..'-separated list in selector.\n"
1575 },
1576 
1577 { 28, May , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1578    "Now report DF information in vstat block.",
1579    "Needed to be able to interpret F-stat and t-stat values.\n"
1580 },
1581 
1582 { 26, May , 2020 , PT , "apqc_make_tcsh.py" , MAJOR , TYPE_GENERAL,
1583    "Two major changes in output: ve2a and LR-flipcheck now have EPI as ulay.",
1584    "Most anats are SSed, so better edges?  Thanks for suggestion, O Esteban!\n"
1585 },
1586 
1587 { 26, May , 2020 , PT , "@djunct_edgy_align_check" , MAJOR , TYPE_GENERAL,
1588    "Several changes to make this appropriate using EPI as ulay.",
1589    "New opts, couple small bug fixes, couple tweaks.\n"
1590 },
1591 
1592 { 26, May, 2020 , PT , "adjunct_aw_tableize_roi_info.py" , MINOR , TYPE_GENERAL,
1593    "Now output an AFNI-style string selector of 'lost' ROI values.",
1594    "This might make it easier to see the diffs the volumes.\n"
1595 },
1596 
1597 { 22, May , 2020 , PT , "@djunct_edgy_align_check" , MINOR , TYPE_GENERAL,
1598    "Change this prog to do all work in a workdir that can be cleaned.",
1599    "Should not have any effect on the usage or outputs.\n"
1600 },
1601 
1602 { 21, May , 2020 , PT , "afni_seeds_per_space.txt" , MAJOR , TYPE_GENERAL,
1603    "Keep up with change of macaque standard space naming: stereoNMT -> NMT2.",
1604    "'stereoNMT' is an ex-parrot.\n"
1605 },
1606 
1607 { 21, May, 2020 , PT , "adjunct_aw_tableize_roi_info.py" , MINOR , TYPE_GENERAL,
1608    "Require mode_smooth_size as input, and include it in table.",
1609    "Thanks to D Glen and A Messinger for helpful feedback+inputs.\n"
1610 },
1611 
1612 { 21, May , 2020 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1613    "Report now reports mode_smooth_size.",
1614    "Thanks to D Glen and A Messinger for helpful feedback+inputs.\n"
1615 },
1616 
1617 { 21, May, 2020, PT , "adjunct_aw_tableize_roi_info.py" , MAJOR , TYPE_NEW_PROG,
1618    "Adjunct program for @animal_warper.py; build ROI report table.",
1619    "Thanks to D Glen and A Messinger for helpful feedback+inputs.\n"
1620 },
1621 
1622 { 21, May , 2020 , PT , "@animal_warper" , MAJOR , TYPE_GENERAL,
1623    "Add reports of warped and unwarped ROIs, via adjunct_aw_tableize*.py.",
1624    "Thanks to D Glen and A Messinger for helpful feedback+inputs.\n"
1625 },
1626 
1627 { 18, May , 2020 , PT , "afni_seeds_per_space.txt" , MINOR , TYPE_GENERAL,
1628    "Updated APQC seed locations for stereoNMT space.",
1629    "More centralized now in GM and in specific ROIs; aud away from vessel.\n"
1630 },
1631 
1632 { 18, May , 2020 , PT , "@animal_warper" , MAJOR , TYPE_GENERAL,
1633    "Large number of under-the-hood changes, as well as new opts.",
1634    "More general handling of followers and choosing file abbrevs.\n"
1635 },
1636 
1637 { 14, May , 2020 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1638    "Large number of under-the-hood changes, for readability/clarity.",
1639    "Change echo->printf, spacing, clear comments, etc. No output changes.\n"
1640 },
1641 
1642 { 4, May , 2020 , PT , "@Install_IBT_DATASETS" , MINOR , TYPE_NEW_PROG,
1643    "Installer for the Indian Brain Templates. Enjoy.",
1644    "Courtesy of Dr. Bharath Holla, et al.\n"
1645 },
1646 
1647 { 27, Apr , 2020 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1648    "Added a help example for integrating output into afni_proc.py.",
1649    "... because otherwise *I* forget how to use the outputs.\n"
1650 },
1651 
1652 { 24, Apr , 2020 , PT , "3dLMEr" , MINOR , TYPE_GENERAL,
1653    "Updating this R file for GC. So I don't really know what the changes do.",
1654    "... though I reeeallly want to pretend the changes were mine, ALL MINE.\n"
1655 },
1656 
1657 { 24, Apr , 2020 , PT , "3dClusterize" , MINOR , TYPE_GENERAL,
1658    "Sidedness of testing will no longer be checked for non-stat thr vols.",
1659    "It must be Daniel Glen's birthday today (two-sided, non-stat p<0.9999).\n"
1660 },
1661 
1662 { 23, Apr , 2020 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
1663    "Added new help example.",
1664    "Demonstrates useful colorbar-entry functionality.\n"
1665 },
1666 
1667 { 23, Apr , 2020 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
1668    "Use '-colorscale_idx_file ..' to control AFNI env var AFNI_COLORSCALE_xx.",
1669    "Provides a way for user-created cbar info to be input+used.\n"
1670 },
1671 
1672 { 22, Apr , 2020 , PT , "1dplot.py" , MICRO , TYPE_BUG_FIX,
1673    "The '-xvals ..' opt was broken, but now is fixed.",
1674    "*Now* the brain can be solved.\n"
1675 },
1676 
1677 { 16, Apr , 2020 , PT , "adjunct_simplify_cost.py" , MICRO , TYPE_NEW_PROG,
1678    "Adjunct program for (soon to be updated) @SSwarper.",
1679    "Convert cost name to simpler version, for some application(s).\n"
1680 },
1681 
1682 { 16, Apr , 2020 , PT , "@djunct_ssw_intermed_edge_imgs" , MICRO , TYPE_NEW_PROG,
1683    "Adjunct program for (soon to be updated) @SSwarper.",
1684    "Generates images for intermediate QC/tracking.\n"
1685 },
1686 
1687 { 27, Mar , 2020 , PT , "apqc_make_html.py" , MICRO , TYPE_GENERAL,
1688    "Rearrange variable/function definitions in afnipy libs (no more interdep).",
1689    "All changes just 'under the hood'---should be no output differences.\n"
1690 },
1691 
1692 { 27, Mar , 2020 , PT , "apqc_make_tcsh.py" , MICRO , TYPE_GENERAL,
1693    "Rearrange variable/function definitions in afnipy libs (no more interdep).",
1694    "All changes just 'under the hood'---should be no output differences.\n"
1695 },
1696 
1697 { 12, Mar , 2020 , PT , "3dReHo" , MINOR , TYPE_GENERAL,
1698    "Alter output format if ROI neighborhood values of ReHo are calc'ed.",
1699    "Make 2 col (ROI val; ReHo val). Output multiple text files, if nec, too.\n"
1700 },
1701 
1702 { 12, Mar , 2020 , PT , "check_dset_for_fs.py" , MAJOR , TYPE_GENERAL,
1703    "This program has been deemed unnecessary.",
1704    "Thanks for the FS folks for discussions/clarifications on this.\n"
1705 },
1706 
1707 { 12, Mar , 2020 , PT , "apqc_make_tcsh.py" , MICRO , TYPE_BUG_FIX,
1708    "vstat image was generated even if 'surf' block was used in AP.",
1709    "Since stats_dset in this case was *.niml.dset, no image should be made.\n"
1710 },
1711 
1712 { 11, Mar , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1713    "Swap ulay/olay in va2t (anat->ulay); clearer image, maybe.",
1714    "Make template (if used) ulay in most other QC blocks.\n"
1715 },
1716 
1717 { 27, Feb , 2020 , PT , "@SSwarper" , MINOR , TYPE_NEW_OPT,
1718    "New opt '-warpscale' added; is a new opt in 3dQwarp, can be tweaked here now.",
1719    "Control flexibility of warps.  Right now testing different values.\n"
1720 },
1721 
1722 { 26, Feb , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_BUG_FIX,
1723    "Crashing in cases of 'pythonic' APQC with no censoring.",
1724    "Have fixed now.\n"
1725 },
1726 
1727 { 25, Feb , 2020 , PT , "check_dset_for_fs.py" , MINOR , TYPE_BUG_FIX,
1728    "Minor bug fix, caught by RCR.  Or was it first *added* by RCR????",
1729    "... Nope.  It was added by me.  Sigh.\n"
1730 },
1731 
1732 { 25, Feb , 2020 , PT , "check_dset_for_fs.py" , MAJOR , TYPE_GENERAL,
1733    "New min|max range on vox size; update report text.",
1734    "Based on tests with FS data.\n"
1735 },
1736 
1737 { 24, Feb , 2020 , PT , "adjunct_make_script_and_rst.py" , MICRO , TYPE_BUG_FIX,
1738    "Fix image caption processing.",
1739    "(This prog is just used in RST/documentation generation.)\n"
1740 },
1741 
1742 { 22, Feb , 2020 , PT , "@djunct_edgy_align_check" , MINOR , TYPE_GENERAL,
1743    "Temporary files now have a random string in their prefix.",
1744    "Thus, can have multiple runs in same directory simultaneously sans probleme.\n"
1745 },
1746 
1747 { 22, Feb , 2020 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
1748    "Can control AGIF frame rate, using opt (-agif_delay) to control AFNI env var.",
1749    "Thanks to RCR for pointing out the env var.\n"
1750 },
1751 
1752 { 21, Feb , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_BUG_FIX,
1753    "Crashing in cases of 'basic' APQC with no outlier-based censoring.",
1754    "Have fixed now.\n"
1755 },
1756 
1757 { 19, Feb , 2020 , PT , "DoPerRoi.py" , MINOR , TYPE_GENERAL,
1758    "Renamed from @DoPerRoi.py.",
1759    "Purge @ symbol in Python progs, for purpose of repackaging/distribution.\n"
1760 },
1761 
1762 { 19, Feb , 2020 , PT , "adjunct_select_str.py" , MINOR , TYPE_GENERAL,
1763    "Renamed from @djunct_select_str.py.",
1764    "Purge @ symbol in Python progs, for purpose of repackaging/distribution.\n"
1765 },
1766 
1767 { 19, Feb , 2020 , PT , "adjunct_make_script_and_rst.py" , MINOR , TYPE_GENERAL,
1768    "Renamed from @djunct_make_script_and_rst.py.",
1769    "Purge @ symbol in Python progs, for purpose of repackaging/distribution.\n"
1770 },
1771 
1772 { 19, Feb , 2020 , PT , "adjunct_is_label.py" , MINOR , TYPE_GENERAL,
1773    "Renamed from @djunct_is_label.py.",
1774    "Purge @ symbol in Python progs, for purpose of repackaging/distribution.\n"
1775 },
1776 
1777 { 19, Feb , 2020 , PT , "adjunct_combine_str.py" , MINOR , TYPE_GENERAL,
1778    "Renamed from @djunct_combine_str.py.",
1779    "Purge @ symbol in Python progs, for purpose of repackaging/distribution.\n"
1780 },
1781 
1782 { 19, Feb , 2020 , PT , "adjunct_calc_mont_dims.py" , MINOR , TYPE_GENERAL,
1783    "Renamed from @djunct_calc_mont_dims.py.",
1784    "Purge @ symbol in Python progs, for purpose of repackaging/distribution.\n"
1785 },
1786 
1787 { 19, Feb , 2020 , PT , "@SSwarper" , MINOR , TYPE_GENERAL,
1788    "New QC image outputs added.",
1789    "One for skullstripping (orig space) and one for warping (ref space).\n"
1790 },
1791 
1792 { 17, Feb , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1793    "Reorganized under the hood, deal with censoring in a better way.",
1794    "Easier to tweak/update changes now.\n"
1795 },
1796 
1797 { 17, Feb , 2020 , PT , "1dplot.py" , MINOR , TYPE_GENERAL,
1798    "Opt -censor_hline can now take a keyword NONE as an entry.",
1799    "Useful if looking at multiple inputs and only some have censor lines.\n"
1800 },
1801 
1802 { 3, Feb , 2020 , PT , "@afni_refacer_run" , MINOR , TYPE_NEW_OPT,
1803    "Can anonymize output dsets:  -anonymize_output.",
1804    "Fairly self-explanatory opt.\n"
1805 },
1806 
1807 { 3, Feb , 2020 , PT , "@djunct_anonymize" , MINOR , TYPE_NEW_PROG,
1808    "Anonymize files, and maybe add a note.",
1809    "Can either edit input directly, or make a copy + edit that.\n"
1810 },
1811 
1812 { 29, Jan , 2020 , PT , "1dplot.py" , MINOR , TYPE_BUG_FIX,
1813    "The input opt '-xfile ..' was broken;  now it is fixed.",
1814    "Fix class inits, as well, under the hood.\n"
1815 },
1816 
1817 { 29, Jan , 2020 , PT , "@djunct_montage_coordinator" , MINOR , TYPE_BUG_FIX,
1818    "Couldn't deal with volumes that had RGB type, which happens for DEC maps.",
1819    "Has been fixed now.\n"
1820 },
1821 
1822 { 29, Jan , 2020 , PT , "fat_proc_dwi_to_dt" , MICRO , TYPE_GENERAL,
1823    "Try to make a couple output images (dwi*b0*.png) a bit clearer.",
1824    "Make olay use 95%ile value as cbar max, rather than 100%.\n"
1825 },
1826 
1827 { 27, Jan , 2020 , PT , "@SSwarper" , MAJOR , TYPE_GENERAL,
1828    "Large set of updates; many new opts added, too; generally much improved warps.",
1829    "Heavily tested on 178 subj across studies; output fnames are same, though.\n"
1830 },
1831 
1832 { 27, Jan , 2020 , PT , "@afni_refacer_run" , MAJOR , TYPE_GENERAL,
1833    "Program now outputs QC images automatically.",
1834    "These are output into a PREFIX_QC directory each run.\n"
1835 },
1836 
1837 { 27, Jan , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_BUG_FIX,
1838    "Fixed bug in QC.",
1839    "Broke when there was one stim used (bad scalar -> list conv).\n"
1840 },
1841 
1842 { 26, Jan , 2020 , PT , "@afni_refacer_run" , MAJOR , TYPE_GENERAL,
1843    "This program now requires specifying a mode for re/defacing.",
1844    "One can also output all types of re/defacing simultaneously.\n"
1845 },
1846 
1847 { 24, Jan , 2020 , PT , "@afni_refacer_make_master" , MICRO , TYPE_GENERAL,
1848    "Updated with notes to look at @afni_refacer_make_master_addendum.",
1849    "The addendum program just tweaks the output of this prog.\n"
1850 },
1851 
1852 { 24, Jan , 2020 , PT , "@afni_refacer_make_master_addendum" , MAJOR , TYPE_GENERAL,
1853    "This program just records additional tweaks to refacer ref vol.",
1854    "Not really meant to be run on its own; for future reference only.\n"
1855 },
1856 
1857 { 24, Jan , 2020 , PT , "@afni_refacer_run" , MAJOR , TYPE_GENERAL,
1858    "This program has been revamped and updated, including having a new ref vol.",
1859    "Syntax for running this has totally changed (options exist).\n"
1860 },
1861 
1862 { 21, Jan , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1863    "Increase thresholds and cbar range in vstat_seedcorr and regr_corr dsets.",
1864    "Clearer QC, methinks, based on several different group dsets.\n"
1865 },
1866 
1867 { 14, Jan , 2020 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1868    "Change text of animal_outs.txt.",
1869    "Add in a couple new dsets to be listed.\n"
1870 },
1871 
1872 { 13, Jan , 2020 , PT , "afni_util.py" , MINOR , TYPE_NEW_OPT,
1873    "New function to read in seed list text file.",
1874    "Returns list of seed objs for APQC.\n"
1875 },
1876 
1877 { 17, Jan , 2020 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
1878    "New pieces of QC:  corr brain image in regr block.",
1879    "Shows corr of mean residual with everything.  Have a nice day.\n"
1880 },
1881 
1882 { 13, Jan , 2020 , PT , "apqc_make_tcsh.py" , MAJOR , TYPE_GENERAL,
1883    "New pieces of QC:  first, seedbased corr maps for non-task data.",
1884    "Second, censor-based warnings (general and per-stim).\n"
1885 },
1886 
1887 { 13, Jan , 2020 , PT , "@djunct_edgy_align_check" , MINOR , TYPE_NEW_OPT,
1888    "Couple new options.",
1889    "Can specify colorbar and center coords now.\n"
1890 },
1891 
1892 { 27, Dec , 2019 , PT , "check_dset_for_fs.py" , MAJOR , TYPE_NEW_OPT,
1893    "New option(s) to not just *check* a dset for FS-ability, but to correct it.",
1894    "The '-fix_all' and accompanying options control this.  Bonne idee, DRG!\n"
1895 },
1896 
1897 { 26, Dec , 2019 , PT , "apqc_make_tcsh.py" , MICRO , TYPE_GENERAL,
1898    "Simpler list of uvar dependencies for indiv stim plotting.",
1899    "... ergo, see indiv stims even if not censoring.\n"
1900 },
1901 
1902 { 26, Dec , 2019 , PT , "check_dset_for_fs.py" , MINOR , TYPE_BUG_FIX,
1903    "Fix one of the test criteria (-is_mat_even).",
1904    "Thanks, S. Torrisi, for pointing this out.\n"
1905 },
1906 
1907 { 14, Nov , 2019 , PT , "@SUMA_renumber_FS" , MINOR , TYPE_GENERAL,
1908    "New output: fs_ap* dsets for tissue-based reg in afni_proc.py;.",
1909    "New output: *REN_gmrois* dsets for tracking/corr mats in FATCAT.\n"
1910 },
1911 
1912 { 14, Nov , 2019 , PT , "@SUMA_Make_Spec_FS" , MINOR , TYPE_NEW_OPT,
1913    "New opt:  '-make_rank_dsets ..', bc *rank* dsets no longer make by def.",
1914    "The *REN* dsets should be used instead; opt just for back compatability.\n"
1915 },
1916 
1917 { 23, Oct , 2019 , PT , "check_dset_for_fs.py" , MAJOR , TYPE_NEW_PROG,
1918    "Script to check properties of a dset, see if suitable for FS's recon-all.",
1919    "The check criteria have been built over time, empirically.\n"
1920 },
1921 
1922 { 22, Oct , 2019 , PT , "@djunct_edgy_align_check" , MICRO , TYPE_GENERAL,
1923    "Adjusted help file.",
1924    "Had given wrong name for opt.\n"
1925 },
1926 
1927 { 21, Oct , 2019 , PT , "afni" , MICRO , TYPE_NEW_OPT,
1928    "Display AFNI environment vars in the terminal, via new opt: -env.",
1929    "Makes good bedtime reading.\n"
1930 },
1931 
1932 { 21, Oct , 2019 , PT , "afni" , MICRO , TYPE_BUG_FIX,
1933    "Had named an option differently than help file stated; now renaming.",
1934    "To show 'AFNI Tips', opt named: -tips.\n"
1935 },
1936 
1937 { 17, Oct , 2019 , PT , "afni" , MICRO , TYPE_NEW_OPT,
1938    "Display AFNI Tips in the terminal, via new opt: -show_tips.",
1939    "Will be used+parsed for the HTML RST docs.\n"
1940 },
1941 
1942 { 7, Oct , 2019 , PT , "afni" , MICRO , TYPE_NEW_OPT,
1943    "Simpler opts for package and version number.",
1944    "For scriptability.\n"
1945 },
1946 
1947 { 7, Oct , 2019 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1948    "Change text of animal_outs.txt.",
1949    "Minor 'under the hood' changes, too.\n"
1950 },
1951 
1952 { 3, Oct , 2019 , PT , "lib_gershgorin.py" , MINOR , TYPE_GENERAL,
1953    "Just divvied up the behavior of the functions better.",
1954    "Also have a general, NxN case .\n"
1955 },
1956 
1957 { 3, Oct , 2019 , PT , "afni_util.py" , MICRO , TYPE_NEW_OPT,
1958    "Fancy new function to calculate if a list-matrix is square.",
1959    "ps: not that fancy.\n"
1960 },
1961 
1962 { 3, Oct , 2019 , PT , "epi_b0_correct.py" , MICRO , TYPE_GENERAL,
1963    "Calculate oblique transform differently; use 3dWarp instead of cat_matvec.",
1964    "Probably negligible practical change.\n"
1965 },
1966 
1967 { 2, Oct , 2019 , PT , "epi_b0_correct.py" , MAJOR , TYPE_GENERAL,
1968    "The naming convention of PE dist dir has been reversed; mask opts changed.",
1969    "PE dist dir should match with JSONs better; 3dmask_tool does masking now.\n"
1970 },
1971 
1972 { 2, Oct , 2019 , PT , "1dDW_Grad_o_Mat++" , MINOR , TYPE_GENERAL,
1973    "Output more specific information about finding unexpected negative values.",
1974    "Tell user the [row, col] of potentially bad values, for easier QC.\n"
1975 },
1976 
1977 { 13, Sep , 2019 , PT , "3dWarp" , MINOR , TYPE_NEW_OPT,
1978    "New opt: -disp_obl_xform_only.",
1979    "Better way to get transform between obl coords than cat_matvec trickery.\n"
1980 },
1981 
1982 { 12, Sep , 2019 , PT , "epi_b0_correct.py" , MAJOR , TYPE_GENERAL,
1983    "Output QC directory of images now, as well. Useful for quick QC.",
1984    "Later, will add some checks for obl, to not smooth unnec.\n"
1985 },
1986 
1987 { 12, Sep , 2019 , PT , "@chauffeur_afni" , MICRO , TYPE_GENERAL,
1988    "Use 'mkdir -p' with odir now.",
1989    "Simplifies scripts using it.\n"
1990 },
1991 
1992 { 10, Sep , 2019 , PT , "epi_b0_correct.py" , MICRO , TYPE_GENERAL,
1993    "Fix help descriptions (thanks L. Dowdle for fixes).",
1994    "Also add '-hview' capability.\n"
1995 },
1996 
1997 { 10, Sep , 2019 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
1998    "Unifize output in standard space.",
1999    "Better for visualization in afni_proc.py QC.\n"
2000 },
2001 
2002 { 6, Sep , 2019 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
2003    "Two minor changes: montages now separated by 1 gap line.",
2004    "... and show censor bars in VR6 plots, if censoring.\n"
2005 },
2006 
2007 { 6, Sep , 2019 , PT , "@djunct_edgy_align_check" , MINOR , TYPE_GENERAL,
2008    "Now use montgap=1 by default.",
2009    "This is for APQC applications, where subj data fills FOV.\n"
2010 },
2011 
2012 { 6, Sep , 2019 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
2013    "Output skullstripped version of template in std space.",
2014    "Also add 'notes' to that file, so gen_ss*script* can find template.\n"
2015 },
2016 
2017 { 6, Sep , 2019 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
2018    "Put QC images into subdir called QC; output mask.",
2019    "Few other tiny changes/reorganizations internally.\n"
2020 },
2021 
2022 { 4, Sep , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2023    "New opts: -obl_resam_ulay OIU, -obl_resam_Olay OIO, -obl_resam_box OIB.",
2024    "Control resampling of dsets (ulay, olay, focus box) when applying obl.\n"
2025 },
2026 
2027 { 4, Sep , 2019 , PT , "@SUMA_Make_Spec_FS" , MINOR , TYPE_NEW_OPT,
2028    "New opt:  '-extra_fs_dsets ..', to translate more FS-created surf/ dsets.",
2029    "Allow more FS surf dsets to be brought into SUMA. For F. Lalonde.\n"
2030 },
2031 
2032 { 3, Sep , 2019 , PT , "@animal_warper" , MINOR , TYPE_GENERAL,
2033    "New QC imaging with @chauffeur_afni; mask created, too.",
2034    "And a few minor changes under the hood, worked out with DRG.\n"
2035 },
2036 
2037 { 30, Aug , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2038    "New opts: -edge_enhance_ulay EE, -obliquify OBL.",
2039    "Different way to enhance edges of ulay, and apply obliquity info.\n"
2040 },
2041 
2042 { 30, Aug , 2019 , PT , "epi_b0_correct.py" , MINOR , TYPE_BUG_FIX,
2043    "Fix input opt to change blur size; was broken before, crashing prog.",
2044    "Thanks, L. Dowdle for finding!\n"
2045 },
2046 
2047 { 29, Aug , 2019 , PT , "@auto_tlrc" , MAJOR , TYPE_GENERAL,
2048    "RE-introducing the program '@auto_tlrc' to the distribution.",
2049    "It had been mistakenly deleted somehow.\n"
2050 },
2051 
2052 { 29, Aug , 2019 , PT , "lib_gershgorin.py" , MICRO , TYPE_GENERAL,
2053    "Updated to change way aff12.1D files were read.",
2054    "No change in calculated outputs.\n"
2055 },
2056 
2057 { 29, Aug , 2019 , PT , "afni_util.py" , MICRO , TYPE_GENERAL,
2058    "Remove function: read_aff12_to_mat34().",
2059    "'Twas unnecessary.\n"
2060 },
2061 
2062 { 28, Aug , 2019 , PT , "lib_gershgorin.py" , MINOR , TYPE_NEW_PROG,
2063    "Funcs to answer question: is this aff12 matrix very different from I?",
2064    "Uses fun algebraic facts known to and shared by the inimitable RWC.\n"
2065 },
2066 
2067 { 28, Aug , 2019 , PT , "afni_util.py" , MINOR , TYPE_NEW_OPT,
2068    "Matrix-y things: read_aff12_to_mat34(), matrix_multiply_2D().",
2069    "And supplements: matrix_sum_abs_val_ele_row(), calc_zero_dtype().\n"
2070 },
2071 
2072 { 27, Aug , 2019 , PT , "epi_b0_correct.py" , MINOR , TYPE_GENERAL,
2073    "Added more fields to the output param text file.",
2074    "Also added to the help file (including *about* the params text file).\n"
2075 },
2076 
2077 { 27, Aug , 2019 , PT , "3dSpaceTimeCorr" , MINOR , TYPE_NEW_OPT,
2078    "New opts: '-freeze* ..' that allow one to fix a location in dset A.",
2079    "Input for Zhihao Li.\n"
2080 },
2081 
2082 { 26, Aug , 2019 , PT , "@chauffeur_afni" , MICRO , TYPE_NEW_OPT,
2083    "New opt, '-ulay_comm': provide comment on ulay vals in pbar json.",
2084    "Also, saving ulay min/max in pbar json is new behavior.\n"
2085 },
2086 
2087 { 23, Aug , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2088    "New opt, '-edgy_ulay': can turn ulay into edge-ified version of itself.",
2089    "Useful for showing alignments.\n"
2090 },
2091 
2092 { 23, Aug , 2019 , PT , "epi_b0_correct.py" , MAJOR , TYPE_BUG_FIX,
2093    "Fixed calculation when PE effective echo spacing is input.",
2094    "The conversion to BWPP was wrong; led to almost no distortion corr.\n"
2095 },
2096 
2097 { 20, Aug , 2019 , PT , "@SUMA_Make_Spec_FS" , MICRO , TYPE_GENERAL,
2098    "Indent properly-- loops/conditions were too hard to follow.",
2099    "Should have no change in output but facilitates code editing.\n"
2100 },
2101 
2102 { 15, Aug , 2019 , PT , "epi_b0_correct.py" , MAJOR , TYPE_GENERAL,
2103    "This program has been pretty fully revamped, and might be worth using now.",
2104    "New scaling from Vinai, several updates/fixes/changes from last ver.\n"
2105 },
2106 
2107 { 1, Aug , 2019 , PT , "epi_b0_correct.py" , MINOR , TYPE_GENERAL,
2108    "Rename internal vars and opt names.",
2109    "Improving internal notation-- still very much a beta program version.\n"
2110 },
2111 
2112 { 16, July , 2019 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_BUG_FIX,
2113    "Fix incompatability with py2.",
2114    "Sigh.\n"
2115 },
2116 
2117 { 25, July , 2019 , PT , "epi_b0_correct.py" , MAJOR , TYPE_NEW_PROG,
2118    "Program to apply freq volume to EPI for B0 distortion correction.",
2119    "An honor to translate this program from one by Vinai Roopchansingh!\n"
2120 },
2121 
2122 { 23, July , 2019 , PT , "1dplot.py" , MICRO , TYPE_GENERAL,
2123    "Allow PDFs to be output directly.",
2124    "User just needs '.pdf' file extension on prefix.\n"
2125 },
2126 
2127 { 18, July , 2019 , PT , "@djunct_make_script_and_rst.py", MICRO , TYPE_BUG_FIX,
2128    "Used to crash if output dir was PWD.",
2129    "Now fixed.\n"
2130 },
2131 
2132 { 18, July , 2019 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_BUG_FIX,
2133    "Hadn't merged in updated library functions, so apqc_make_tcsh.py crashed.",
2134    "Updated library file in distribution now.\n"
2135 },
2136 
2137 { 17, July , 2019 , PT , "apqc_make_html.py" , MICRO , TYPE_GENERAL,
2138    "Minorest of changes to closing message.",
2139    "No more double slash.  Wow.\n"
2140 },
2141 
2142 { 15, July , 2019 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
2143    "Add in obliquity values in vorig QC block.",
2144    "Also simplify text of radcorr block (fewer lines, less unnec repetition).\n"
2145 },
2146 
2147 { 10, July , 2019 , PT , "@djunct_make_script_and_rst.py", MINOR , TYPE_GENERAL,
2148    "Can have text in the image tables now.",
2149    "Facilitates labelling, commenting, etc.\n"
2150 },
2151 
2152 { 9, July , 2019 , PT , "@djunct_make_script_and_rst.py" , MINOR , TYPE_GENERAL,
2153    "Allow for multiple scripts to be executed, run and combined into 1 page.",
2154    "Single script tarball, single RST, can have multiple scripts/reflinks.\n"
2155 },
2156 
2157 { 8, July , 2019 , PT , "@chauffeur_afni" , MICRO , TYPE_GENERAL,
2158    "New default: '-do_clean' behavior on by default (clean up temp dir).",
2159    "New opt to not clean: -no_clean. -do_clean is fine to use, just boring.\n"
2160 },
2161 
2162 { 8, July , 2019 , PT , "@djunct_make_script_and_rst.py" , MINOR , TYPE_GENERAL,
2163    "Allow wildcard chars in IMAGE descrip; SUBSECTIONS added.",
2164    "Minor tweaks for formatting help files.\n"
2165 },
2166 
2167 { 3, July , 2019 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
2168    "Expanded vstat QC block capabilities.",
2169    "Other tweaks, QC block IDs now in titles.\n"
2170 },
2171 
2172 { 1, July , 2019 , PT , "dsetstat2p" , MICRO , TYPE_NEW_PROG,
2173    "Complement of p2dsetstat.",
2174    "Convenience tool for converting a dset's stat to a p-value.\n"
2175 },
2176 
2177 { 1, July , 2019 , PT , "apqc_make_tcsh.py" , MAJOR , TYPE_GENERAL,
2178    "Labels on stim regressors, vorig QC block added, grayplot pbvorder/enorm.",
2179    "Help updated; output stats still if not align/tlrc blocks used.\n"
2180 },
2181 
2182 { 1, July , 2019 , PT , "apqc_make_html.py" , MINOR , TYPE_GENERAL,
2183    "Some minor tweaks to APQC HTML: better pbar size control, spacing.",
2184    "Also can interpret pbar text more broadly.\n"
2185 },
2186 
2187 { 1, July , 2019 , PT , "@djunct_glue_imgs_vert" , MICRO , TYPE_NEW_PROG,
2188    "New prog for APQC HTML stuff.  Glue two images together vertically.",
2189    "Used when pixel x-dimensions match (mainly for APQC HTML).\n"
2190 },
2191 
2192 { 1, July , 2019 , PT , "@chauffeur_afni" , MICRO , TYPE_NEW_OPT,
2193    "New option '-pbar_for ..', which is mainly for APQC HTML.",
2194    "Can add a dict entry to txt file accompanying pbar output.\n"
2195 },
2196 
2197 { 26, June , 2019 , PT , "3dNetCorr" , MINOR , TYPE_NEW_OPT,
2198    "New opt '-weight_ts WTS' to multiply ROI ave time series.",
2199    "Input at the behest of Colm C.  May it pour forth wondrous results.\n"
2200 },
2201 
2202 { 25, June , 2019 , PT , "3dSkullStrip" , MAJOR , TYPE_MODIFY,
2203    "Dset orient should no longer affect results (b/c of var of init cond).",
2204    "Intermediate resampling now reduces/removes var due to start.\n"
2205 },
2206 
2207 { 20, June , 2019 , PT , "@djunct_make_script_and_rst.py" , MICRO , TYPE_BUG_FIX,
2208    "Use the CAPTION feature on image tables in text blocks.",
2209    "Also fix help display.\n"
2210 },
2211 
2212 { 19, June , 2019 , PT , "@djunct_make_script_and_rst.py" , MICRO , TYPE_NEW_PROG,
2213    "New prog for Sphinx doc generation (well, assistance).",
2214    "Somewhat simple markup scheme used to generate RST, images and scripts.\n"
2215 },
2216 
2217 { 5, June , 2019 , PT , "3dTrackID" , MICRO , TYPE_NEW_OPT,
2218    "New opt (flag): -trk_opp_orient.  Applies only to TRK format output.",
2219    "Will oppositize the voxel_order for the TRK file.\n"
2220 },
2221 
2222 { 23, May , 2019 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_BUG_FIX,
2223    "Would not run in python2, because of subprocess.run() call (only py3).",
2224    "Now updated to using afni_base.py functions to execute shell cmds.\n"
2225 },
2226 
2227 { 22, May , 2019 , PT , "apqc_make_html.py" , MINOR , TYPE_GENERAL,
2228    "Improved help file (lists blocks, line to online help).",
2229    "Better formatting of a couple things; warn level coloring added.\n"
2230 },
2231 
2232 { 22, May , 2019 , PT , "apqc_make_tcsh.py" , MAJOR , TYPE_GENERAL,
2233    "Somewhat big changes: warns block updated and radcor block added.",
2234    "Left-right flip and @radial_correlate checks now in; other tweaks.\n"
2235 },
2236 
2237 { 22, May , 2019 , PT , "@djunct_json_value.py" , MINOR , TYPE_NEW_PROG,
2238    "Tiny program to extract values from JSONs.",
2239    "Just used by apqc_make_tcsh.py.\n"
2240 },
2241 
2242 { 14, May , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_GENERAL,
2243    "Change some fields in pbar json, for greater utility.",
2244    "Also make new default ftype for output cbar (jpg).\n"
2245 },
2246 
2247 { 14, May , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2248    "More pbar control: put in afni's '-XXXnpane P' behavior.",
2249    "Same option name used in this prog.\n"
2250 },
2251 
2252 { 13, May , 2019 , PT , "@DriveSuma" , MICRO , TYPE_GENERAL,
2253    "Some help output has non-UTF8 chars in it;  default help now *won't*.",
2254    "'MICRO' might be too strong a designation for this change...\n"
2255 },
2256 
2257 { 13, May , 2019 , PT , "3dRprogDemo.R" , MICRO , TYPE_GENERAL,
2258    "Some help output has non-UTF8 chars in it;  default help now *won't*.",
2259    "'MICRO' might be too strong a designation for this change...\n"
2260 },
2261 
2262 { 10, May , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2263    "Allow for comments about pbar ranges to be stored when saving pbar.",
2264    "Also, the pbar text info will now be stored in dict/JSON-able form.\n"
2265 },
2266 
2267 { 1, May , 2019 , PT , "@djunct_is_label.py" , MICRO , TYPE_GENERAL,
2268    "Tiny program to see if input is an integer (-> index) or str (-> label).",
2269    "Just used by @chauffeur_afni for -set_subbricks reading.\n"
2270 },
2271 
2272 { 1, May , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2273    "Allow -set_subbricks to take string labels for subbricks as usable args.",
2274    "Excellent idea, Rasmus!\n"
2275 },
2276 
2277 { 19, Apr , 2019 , PT , "@Spharm.examples" , MINOR , TYPE_GENERAL,
2278    "Just updated paths/names: tarball getting used no longer exists.",
2279    "No change in functionality (j'espere).\n"
2280 },
2281 
2282 { 18, Apr , 2019 , PT , "@SSwarper" , MAJOR , TYPE_NEW_OPT,
2283    "Include -deoblique and -giant_move opts.",
2284    "For oblique data, and/or heavily rotated, shifted, etc.\n"
2285 },
2286 
2287 { 15, Mar , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_BUG_FIX,
2288    "Better behavioring of -box_focux_slices when ulay and refbox grids differ.",
2289    "Now checking grid similarity and resampling refbox if needbe.\n"
2290 },
2291 
2292 { 6, Mar , 2019 , PT , "3dDWUncert" , MICRO , TYPE_GENERAL,
2293    "Change \% to %% in printf() function. No change to functionality.",
2294    "Amazingly spotted in stream of build messages by RWC.\n"
2295 },
2296 
2297 { 27, Feb , 2019 , PT , "1dplot.py" , MINOR , TYPE_GENERAL,
2298    "Put a try/except at start, to set MPLBACKEND env if running w/o DISPLAY.",
2299    "Useful for current settings on Biowulf (and possibly elsewhere).\n"
2300 },
2301 
2302 { 27, Feb , 2019 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
2303    "Include grayplots in the APQC HTML file.",
2304    "Should add some extra info about residuals/modeling/the meaning of life.\n"
2305 },
2306 
2307 { 21, Feb , 2019 , PT , "@SSwarper" , MICRO , TYPE_GENERAL,
2308    "Include '-Urad 30' in 3dUnifize step.",
2309    "Maybe slightly prettier/more unifized output.\n"
2310 },
2311 
2312 { 19, Feb , 2019 , PT , "apqc_make_html.py" , SUPERDUPER , TYPE_GENERAL,
2313    "Much functionality changed/improved (hopefully).",
2314    "More output, better formats, help and HTML framework.\n"
2315 },
2316 
2317 { 19, Feb , 2019 , PT , "apqc_make_tcsh.py" , SUPERDUPER , TYPE_GENERAL,
2318    "Much functionality changed/improved (hopefully).",
2319    "More output, better formats, help and HTML framework.\n"
2320 },
2321 
2322 { 19, Feb , 2019 , PT , "1dplot.py" , MINOR , TYPE_GENERAL,
2323    "Line thickness of plots now adjusts with number of points.",
2324    "Useful as the number of time points increases (hopefully).\n"
2325 },
2326 
2327 { 13, Feb , 2019 , PT , "@SSwarper" , MICRO , TYPE_NEW_OPT,
2328    "Renaming the non-pre-skullstripping option to -init_skullstr_off.",
2329    "Otherwise, might falsely seem like NO skullstripping would be done.\n"
2330 },
2331 
2332 { 12, Feb , 2019 , PT , "@djunct_4d_slices_to_3d_vol" , MICRO , TYPE_GENERAL,
2333    "Change under the hood: new way to check for validity of input dset.",
2334    "Should be boring an have no effect on output; just more stable check.\n"
2335 },
2336 
2337 { 12, Feb , 2019 , PT , "@djunct_4d_imager" , MICRO , TYPE_GENERAL,
2338    "Change under the hood: new way to check for validity of input dset.",
2339    "Should be boring an have no effect on output; just more stable check.\n"
2340 },
2341 
2342 { 12, Feb , 2019 , PT , "@GradFlipTest" , MICRO , TYPE_GENERAL,
2343    "Change under the hood: new way to check for validity of input dset.",
2344    "Should be boring an have no effect on output; just more stable check.\n"
2345 },
2346 
2347 { 12, Feb , 2019 , PT , "@xyz_to_ijk" , MICRO , TYPE_GENERAL,
2348    "Change under the hood: new way to check for validity of input dset.",
2349    "Should be boring an have no effect on output; just more stable check.\n"
2350 },
2351 
2352 { 12, Feb , 2019 , PT , "p2dsetstat" , MICRO , TYPE_GENERAL,
2353    "Change under the hood: new way to check for validity of input dset.",
2354    "Should be boring an have no effect on output; just more stable check.\n"
2355 },
2356 
2357 { 12, Feb , 2019 , PT , "@chauffeur_afni" , MICRO , TYPE_GENERAL,
2358    "Change under the hood: new way to check for validity of input dset.",
2359    "Should be boring an have no effect on output; just more stable check.\n"
2360 },
2361 
2362 { 12, Feb , 2019 , PT , "fat_procs" , MICRO , TYPE_GENERAL,
2363    "Change under the hood: new way to check for validity of input dset.",
2364    "Should be boring an have no effect on output; just more stable check.\n"
2365 },
2366 
2367 { 11, Feb , 2019 , PT , "@SSwarper" , MINOR , TYPE_NEW_OPT,
2368    "... and can also turn off initial skullstripping and/or anisosmoothing.",
2369    "Options cleverly named: -skullstrip_off and -aniso_off.\n"
2370 },
2371 
2372 { 11, Feb , 2019 , PT , "@SSwarper" , MINOR , TYPE_NEW_OPT,
2373    "Can turn off initial unifizing with -unifize_off.",
2374    "Useful if unifizing has been done to dset before using this cmd.\n"
2375 },
2376 
2377 { 5, Feb , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_BUG_FIX,
2378    "Had been missing an endif.",
2379    "Now new and improved-- with endif!\n"
2380 },
2381 
2382 { 30, Jan , 2019 , PT , "@djunct_edgy_align_check" , MINOR , TYPE_NEW_OPT,
2383    "Added '-montgap' and '-montcolor', for montage functionality.",
2384    "Users can now control montage borders (i.e., gaps) and color.\n"
2385 },
2386 
2387 { 30, Jan , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2388    "Added '-montgap' and '-montcolor', for montage functionality.",
2389    "Users can now control montage borders (i.e., gaps) and color.\n"
2390 },
2391 
2392 { 28, Jan , 2019 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2393    "Well, new functionality to existing opt: make focus box from ulay or olay.",
2394    "Keywords AMASK_FOCUS{O,U}LAY can be given to -box_focus_slices.\n"
2395 },
2396 
2397 { 25, Jan , 2019 , PT , "@djunct_montage_coordinator" , MINOR , TYPE_BUG_FIX,
2398    "Couldn't deal with volumes that had subbrick selectors from @chauffeur*.",
2399    "Has been fixed now.\n"
2400 },
2401 
2402 { 25, Jan , 2019 , PT , "@djunct_slice_space" , MINOR , TYPE_BUG_FIX,
2403    "Couldn't deal with volumes that had subbrick selectors from @chauffeur*.",
2404    "Has been fixed now.\n"
2405 },
2406 
2407 { 19, Jan , 2019 , PT , "@SSwarper" , MINOR , TYPE_BUG_FIX,
2408    "Program wouldn't run with '-odir ..' opt.",
2409    "Now it will.\n"
2410 },
2411 
2412 { 21, Dec , 2018 , PT , "@djunct_montage_coordinator" , MINOR , TYPE_BUG_FIX,
2413    "Adjusted coordinator for a couple situations.",
2414    "Should be more centered for both 3D and 4D applications.\n"
2415 },
2416 
2417 { 19, Dec , 2018 , PT , "@djunct_montage_coordinator" , MAJOR , TYPE_BUG_FIX,
2418    "This montage coordinator was noooot picking the right vol to focus on.",
2419    "That should be fixed via magical incantations now.\n"
2420 },
2421 
2422 { 5, Dec , 2018 , PT , "@chauffeur_afni" , MICRO , TYPE_GENERAL,
2423    "Reduce list of program dependencies to more accurate one.",
2424    "List is muuuuch shorter now; had just been relic of @snapshot_volreg.\n"
2425 },
2426 
2427 { 5, Dec , 2018 , PT , "apqc_make_tcsh.py" , MICRO , TYPE_GENERAL,
2428    "When there is no warning message in a category, just say 'none'.",
2429    "Before, 'none' was padded with newline chars, but Mac doesn't like :(.\n"
2430 },
2431 
2432 { 5, Dec , 2018 , PT , "@djunct_select_str.py" , MINOR , TYPE_GENERAL,
2433    "Have removed numpy dependency.",
2434    "Lighter installation/usage dependencies.\n"
2435 },
2436 
2437 { 5, Dec , 2018 , PT , "@djunct_combine_str.py" , MINOR , TYPE_GENERAL,
2438    "Have removed numpy dependency.",
2439    "Lighter installation/usage dependencies.\n"
2440 },
2441 
2442 { 5, Dec , 2018 , PT , "@djunct_calc_mont_dims.py" , MINOR , TYPE_GENERAL,
2443    "Have removed numpy dependency.",
2444    "Lighter installation/usage dependencies.\n"
2445 },
2446 
2447 { 5, Dec , 2018 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
2448    "Have removed numpy dependency.",
2449    "Now, default afni_proc.py will output APQC HTML without numpy on comp.\n"
2450 },
2451 
2452 { 5, Dec , 2018 , PT , "1dplot.py" , MINOR , TYPE_GENERAL,
2453    "Have removed numpy dependency.",
2454    "Lighter installation/usage dependencies.\n"
2455 },
2456 
2457 { 2, Dec , 2018 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_BUG_FIX,
2458    "Will work with resting state analyses now.",
2459    "Fixed minor issue when no stat dset (just NO_STATS str) was present.\n"
2460 },
2461 
2462 { 28, Nov , 2018 , PT , "1dplot.py" , MINOR , TYPE_BUG_FIX,
2463    "In py3, having a censor line caused graphing issues.",
2464    "Those issues have been resolved.\n"
2465 },
2466 
2467 { 27, Nov , 2018 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_GENERAL,
2468    "Now make enorm and outlier plots even if no censor_dsets are in uvars.",
2469    "Also, on a more fun note, output censor frac below mot/outlier plots.\n"
2470 },
2471 
2472 { 27, Nov , 2018 , PT , "@chauffeur_afni" , MINOR , TYPE_BUG_FIX,
2473    "Wasn't using user's specified delta_slices-- but now is!.",
2474    "Grazie, S. Torrisi!\n"
2475 },
2476 
2477 { 27, Nov , 2018 , PT , "apqc_make_html.py" , MINOR , TYPE_GENERAL,
2478    "Make python3 compatible.",
2479    "updated.\n"
2480 },
2481 
2482 { 25, Nov , 2018 , PT , "@FindAfniDsetPath" , MINOR , TYPE_BUG_FIX,
2483    "Dsets weren't found in places specified by env var.",
2484    "Fixed now.\n"
2485 },
2486 
2487 { 23, Nov , 2018 , PT , "apqc_make_html.py" , MAJOR , TYPE_GENERAL,
2488    "Much better page formatting now, including navigation bar.",
2489    "User can jump to sections.\n"
2490 },
2491 
2492 { 23, Nov , 2018 , PT , "apqc_make_tcsh.py" , MAJOR , TYPE_GENERAL,
2493    "Outputs JSON files now, for easier handling of information later.",
2494    "These provide more comprehensive info, as well as href linknames.\n"
2495 },
2496 
2497 { 20, Nov , 2018 , PT , "apqc_make_html.py" , MINOR , TYPE_GENERAL,
2498    "Make subtxt fonts gray (oooh!) and uniformly bold.",
2499    "Also, made image links not be whole line (much more convenient).\n"
2500 },
2501 
2502 { 20, Nov , 2018 , PT , "@djunct_montage_coordinator" , MINOR , TYPE_NEW_PROG,
2503    "For use with @chauffeur_afni: subroutine that used to be *in* it.",
2504    "More modular and useful now, better selection of montage xhair loc, too.\n"
2505 },
2506 
2507 { 20, Nov , 2018 , PT , "@chauffeur_afni" , MINOR , TYPE_BUG_FIX,
2508    "Fixed the calc of the location of xhairs when box_focus_slices was used.",
2509    "Should have correct focal location in montages now.\n"
2510 },
2511 
2512 { 21, Oct , 2018 , PT , "apqc_make_tcsh.py" , MICRO , TYPE_GENERAL,
2513    "Include 'enorm' and 'outlier' string labels in basic 1dplot.",
2514    "Clarify plot...\n"
2515 },
2516 
2517 { 6, Nov , 2018 , PT , "@chauffeur_afni" , MINOR , TYPE_BUG_FIX,
2518    "Fixed delta-slice definition for 4D mode of imaging (occasional probs).",
2519    "Should have correct gapord values across all views now.\n"
2520 },
2521 
2522 { 5, Nov , 2018 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2523    "New opt: '-olay_alpha' and '-olay_boxed' for new alpha/boxed driving.",
2524    "Keepin' up with changes to afni driving, via RWC work.\n"
2525 },
2526 
2527 { 5, Nov , 2018 , PT , "@djunct_edgy_align_check" , MINOR , TYPE_GENERAL,
2528    "Adjust to keep up with new afni alpha/boxed behavior.",
2529    "Update internal calls to @chauffeur_afni, which needed new opts for this.\n"
2530 },
2531 
2532 { 5, Nov , 2018 , PT , "3dAllineate" , MICRO , TYPE_GENERAL,
2533    "Help file update: move *the* useful cost funcs lpa and lpc into main part.",
2534    "These are no longer listed as experimental!\n"
2535 },
2536 
2537 { 1, Nov , 2018 , PT , "1dplot.py" , MAJOR , TYPE_NEW_PROG,
2538    "New plotting program for 1D files.",
2539    "Copies much of the fun 1dplot capability to some pythonic realm.\n"
2540 },
2541 
2542 { 21, Oct , 2018 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2543    "New opt: '-pbar_saveim PBS' and '-pbar_dim PBD', to output color pbar.",
2544    "Just add in new AFNI driving functionality from RWC, to save colorbar.\n"
2545 },
2546 
2547 { 21, Oct , 2018 , PT , "apqc_make_html.py" , MINOR , TYPE_NEW_PROG,
2548    "Helper program for afni_proc.py.",
2549    "Run @ss_review_html, build QC dir with html file for ss review.\n"
2550 },
2551 
2552 { 21, Oct , 2018 , PT , "apqc_make_tcsh.py" , MINOR , TYPE_NEW_PROG,
2553    "Helper program for afni_proc.py.",
2554    "Make @ss_review_html script for HTML version of AP QC.\n"
2555 },
2556 
2557 { 16, Oct , 2018 , PT , "@FindAfniDsetPath" , MINOR , TYPE_BUG_FIX,
2558    "Maybe not really a bug, but this program wasn't work as it should have.",
2559    "It now should find NIFTI sets better, and use afnirc env vars.\n"
2560 },
2561 
2562 { 15, Oct , 2018 , PT , "@djunct_edgy_align_check" , MINOR , TYPE_NEW_PROG,
2563    "Helper program for @chauffeur_afni-- wrapper of it for QC stuff.",
2564    "It's for alignment checking, and it's... edgy.\n"
2565 },
2566 
2567 { 15, Oct , 2018 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2568    "New opt: '-box_focus_slices REF', to avoid looking at empty slices.",
2569    "Can used a masked dset as REF to focus on certain slices only.\n"
2570 },
2571 
2572 { 15, Oct , 2018 , PT , "@djunct_slice_space" , MINOR , TYPE_NEW_PROG,
2573    "Helper program for @chauffeur_afni.",
2574    "Calculate even spacing of slices for montaging.\n"
2575 },
2576 
2577 { 15, Oct , 2018 , PT , "3dAutobox" , MINOR , TYPE_NEW_OPT,
2578    "More new options",
2579    "Also output midslices, more info to screen (on-demand), and xyz stuff.\n"
2580 },
2581 
2582 { 15, Oct , 2018 , PT , "@xyz_to_ijk" , MICRO , TYPE_GENERAL,
2583    "Fixed help file to list all opts.",
2584    "Now '-prefix ...' appears with apsearch.\n"
2585 },
2586 
2587 { 15, Oct , 2018 , PT , "3dAutobox" , MICRO , TYPE_GENERAL,
2588    "Allow for subbrick selection of input",
2589    "Tiny internal change-- moving where dset is loaded+checked.\n"
2590 },
2591 
2592 { 15, Oct , 2018 , PT , "3dAutobox" , MINOR , TYPE_NEW_OPT,
2593    "New opt: '-extent_ijk_to_file FF'.",
2594    "Output IJK extents to a simple-formatted text file.\n"
2595 },
2596 
2597 { 28, Aug , 2018 , PT , "@xyz_to_ijk" , MINOR , TYPE_NEW_PROG,
2598    "Helper program to be able to convert xyz coors to ijk indices.",
2599    "Supplementary program.\n"
2600 },
2601 
2602 { 15, Mar , 2018 , PT , "fat_proc_convert_dwis" , MINOR , TYPE_NEW_OPT,
2603    "Can provide NIFTI+bvec+bval files as inp, not just a directory of dicoms.",
2604    "All niceifying steps can thus be applied to already-converted vol.\n"
2605 },
2606 
2607 { 10, Aug , 2018 , PT , "3dClusterize" , MINOR , TYPE_BUG_FIX,
2608    "Allow non-stat bricks to be thresholded.",
2609    "Before, if the [ithr] brick was nonstat, crashing occurred.\n"
2610 },
2611 
2612 { 1, Aug , 2018 , PT , "@chauffeur_afni" , MICRO , TYPE_BUG_FIX,
2613    "Deal correctly with percentile values for 4D ulay in non-4Dmode...",
2614    "... because user may specify with subbrick selectors.\n"
2615 },
2616 
2617 { 31, July , 2018 , PT , "fat_proc_dwi_to_dt" , MINOR , TYPE_NEW_OPT,
2618    "New opt: '-check_abs_min ..'.",
2619    "Just allows the same-named opt from 1dDW_Grad_o_Mat++ to be used.\n"
2620 },
2621 
2622 { 31, July , 2018 , PT , "@GradFlipTest" , MINOR , TYPE_NEW_OPT,
2623    "New opt: '-check_abs_min ..'.",
2624    "Just allows the same-named opt from 1dDW_Grad_o_Mat++ to be used.\n"
2625 },
2626 
2627 { 25, July , 2018 , PT , "@chauffeur_afni" , MAJOR , TYPE_GENERAL,
2628    "Several new options, as well as ability to deal with 4D images.",
2629    "Many new features, probably including minor bug fixes.\n"
2630 },
2631 
2632 { 25, July , 2018 , PT , "@djunct_calc_mont_dims.py" , MINOR , TYPE_BUG_FIX,
2633    "Was excluding solution of a square set of dimensions.",
2634    "Tested; seems fine now.\n"
2635 },
2636 
2637 { 23, July , 2018 , PT , "3dClusterize" , MICRO , TYPE_GENERAL,
2638    "Check about overwriting files before trying to write.",
2639    "This way, failure to write file exits nonzeroly.\n"
2640 },
2641 
2642 { 17, July , 2018 , PT , "@djunct_select_str.py" , MICRO , TYPE_GENERAL,
2643    "Converted to python3 compatible, using 2to3.",
2644    "Tested; seems fine.\n"
2645 },
2646 
2647 { 17, July , 2018 , PT , "@djunct_combine_str.py" , MICRO , TYPE_GENERAL,
2648    "Converted to python3 compatible, using 2to3.",
2649    "Tested; seems fine.\n"
2650 },
2651 
2652 { 17, July , 2018 , PT , "@djunct_calc_mont_dims.py" , MICRO , TYPE_GENERAL,
2653    "Converted to python3 compatible, using 2to3.",
2654    "Tested; seems fine.\n"
2655 },
2656 
2657 { 1, July , 2018 , PT , "@SSwarper" , MAJOR , TYPE_NEW_OPT,
2658    "New opt:  well, actually, it is new to *have* explicit options now!",
2659    "Same great functionality, but with more flexible options/names/outputs.\n"
2660 },
2661 
2662 { 1, July , 2018 , PT , "@snapshot_volreg" , MINOR , TYPE_GENERAL,
2663    "Now respects including a path in the third argument (prefix/filename).",
2664    "Useful for scripting and selecting directory for output images.\n"
2665 },
2666 
2667 { 26, June , 2018 , PT , "fat_proc_axialize_anat" , MINOR , TYPE_NEW_OPT,
2668    "New opt '-focus_by_ss' to do skullstripping before alignment stuff.",
2669    "Final dset is *not* skullstripped, but it helps with center of mass.\n"
2670 },
2671 
2672 { 26, June , 2018 , PT , "fat_proc_select_vols" , MINOR , TYPE_BUG_FIX,
2673    "Bug fixed in supplementary program to *this* program.",
2674    "Used to get an error when no bad vols were selected.\n"
2675 },
2676 
2677 { 26, June , 2018 , PT , "@djunct_select_str.py" , MINOR , TYPE_BUG_FIX,
2678    "Would return an error when *no* bad vols were selected.",
2679    "Note about fixing it in Jan, 2018; must have forgot to push that ver!\n"
2680 },
2681 
2682 { 26, June , 2018 , PT , "fat_proc_convert_anat" , MINOR , TYPE_NEW_OPT,
2683    "Can provide a NIFTI file as input, not just a directory of dicoms.",
2684    "All niceifying steps can thus be applied to already-converted vol.\n"
2685 },
2686 
2687 { 25, June , 2018 , PT , "fat_proc_select_vols" , MINOR , TYPE_GENERAL,
2688    "The adjunct program, @djunct_dwi_selector.bash, was changed to be tcsh.",
2689    "No output diffs; but bash one couldn't run on new Mac OS (bad Mac)...\n"
2690 },
2691 
2692 { 1, June , 2018 , PT , "3dAmpToRSFC" , MINOR , TYPE_GENERAL,
2693    "Adapted to changes of 3dLombScargle.",
2694    "Simpler scaling to match Parseval.\n"
2695 },
2696 
2697 { 1, June , 2018 , PT , "3dLombScargle" , MINOR , TYPE_GENERAL,
2698    "Change scaling of output.",
2699    "Simpler scaling to match Parseval.\n"
2700 },
2701 
2702 { 1, June , 2018 , PT , "fat_proc_axialize_anat" , MINOR , TYPE_NEW_OPT,
2703    "New pre-alignment opt, -pre_align_center_mass.",
2704    "Probably more useful than older -pre_center_mass.\n"
2705 },
2706 
2707 { 1, June , 2018 , PT , "3dClusterize" , MICRO , TYPE_NEW_OPT,
2708    "New opt to output vols even if no clusters are found.",
2709    "These would be empty vols-- juuuust if the user wants.\n"
2710 },
2711 
2712 { 30, May , 2018 , PT , "fat_proc_map_to_dti" , MINOR , TYPE_NEW_OPT,
2713    "User can specify matching cost and warp.",
2714    "How exciting is that??  (Well, mostly for test comparisons...).\n"
2715 },
2716 
2717 { 30, May , 2018 , PT , "@suma_reprefixize_spec" , MICRO , TYPE_BUG_FIX,
2718    "Changing 'more' -> 'cat', internally.",
2719    "Think 'more' gave oddness at times- dumped weird chars and broke files.\n"
2720 },
2721 
2722 { 29, May , 2018 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2723    "Can crop the saved images.",
2724    "See the '-crop_*' options.\n"
2725 },
2726 
2727 { 27, May , 2018 , PT , "3dClusterize" , MINOR , TYPE_GENERAL,
2728    "Make report cleaner, and add in INT_MAP property to output clust map.",
2729    "Thanks, D. Glen for more useful suggestions.\n"
2730 },
2731 
2732 { 23, May , 2018 , PT , "3dClusterize" , MINOR , TYPE_GENERAL,
2733    "Some bug fixes if dsets are left out, some new checks on what user asks.",
2734    "User can't run multi-sided tests on single-sided stats now...\n"
2735 },
2736 
2737 { 22, May , 2018 , PT , "fat_proc_filter_dwis" , MAJOR , TYPE_BUG_FIX,
2738    "Was unioning, not intersecting, multiple selector strings.",
2739    "Fixed the issue in subprogram @djunct_combin_str.py.\n"
2740 },
2741 
2742 { 21, May , 2018 , PT , "p2dsetstat" , MINOR , TYPE_NEW_OPT,
2743    "Include '-bisided' as a type of test, explicitly.",
2744    "Same behavior as '-2sided', just easier for scripting.\n"
2745 },
2746 
2747 { 17, May , 2018 , PT , "3dClusterize" , MINOR , TYPE_GENERAL,
2748    "String subbrick selectors now work for -idat and -ithr.",
2749    "Also, the text report contains more (useful?) information.\n"
2750 },
2751 
2752 { 13, May , 2018 , PT , "3dClusterize" , MINOR , TYPE_BUG_FIX,
2753    "Wouldn't work with extra dset entered- fixed now.",
2754    "Can enter extra beta/effect estimate set for clusterizing.\n"
2755 },
2756 
2757 { 12, May , 2018 , PT , "3dClusterize" , MAJOR , TYPE_NEW_PROG,
2758    "Perform clusterizing (voxelwise and volume-wise thresholding) on a dset.",
2759    "Basically like 3dclust but has some new options and easier syntax.\n"
2760 },
2761 
2762 { 22, Apr , 2018 , PT , "fat_proc_axialize_anat" , MINOR , TYPE_BUG_FIX,
2763    "When using '-remove_inf_sli', the wrong volume was being warped at end.",
2764    "Final warped volume had lower slice reduction, when it shouldn't have.\n"
2765 },
2766 
2767 { 22, Apr , 2018 , PT , "3dSliceNDice" , MAJOR , TYPE_NEW_PROG,
2768    "Calculate Dice coefficients between volumes on a slicewise basis.",
2769    "Useful for comparing masks/maps of volumes.\n"
2770 },
2771 
2772 { 16, Apr , 2018 , PT , "p2dsetstat" , MAJOR , TYPE_NEW_PROG,
2773    "Program to convert a p-value to a statistic, using params in dset header.",
2774    "Useful to calculate thresholds for a particular volume.\n"
2775 },
2776 
2777 { 2, Apr , 2018 , PT , "@radial_correlate" , MICRO , TYPE_GENERAL,
2778    "Make -hview option work with the program.",
2779    "Didn't before, does now.\n"
2780 },
2781 
2782 { 14, Mar , 2018 , PT , "fat_proc_dwi_to_dt" , MINOR , TYPE_BUG_FIX,
2783    "Crashed no ref dset was used in mapping.",
2784    "Crashes no more under such circumstance.\n"
2785 },
2786 
2787 { 14, Mar , 2018 , PT , "fat_proc_filter_dwis" , MINOR , TYPE_BUG_FIX,
2788    "Crashed when b-value file was input.",
2789    "Crashes no more under such circumstance.\n"
2790 },
2791 
2792 { 6, Mar , 2018 , PT , "fat_proc_convert_anat" , MINOR , TYPE_MODIFY,
2793    "Default orientation for nifti files to be 'RAI' instead of 'RPI'.",
2794    "This will be more in line with TORTOISE (and AFNI DICOM-coor default).\n"
2795 },
2796 
2797 { 6, Mar , 2018 , PT , "fat_proc_convert_dwis" , MINOR , TYPE_MODIFY,
2798    "Default orientation for nifti files to be 'RAI' instead of 'RPI'.",
2799    "This will be more in line with TORTOISE (and AFNI DICOM-coor default).\n"
2800 },
2801 
2802 { 22, Feb , 2018 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2803    "Can now apply p-to-stat calcs for thresholding.",
2804    "User gives p-value, which gets made to appropriate stat for thresh.\n"
2805 },
2806 
2807 { 13, Feb , 2018 , PT , "fat_proc_filter_dwis" , MINOR , TYPE_MODIFY,
2808    "Can now accept *multiple* selector strings that get merged.",
2809    "Multiple strings/files can be input, yay.\n"
2810 },
2811 
2812 { 8, Feb , 2018 , PT , "fat_proc_dwi_to_dt" , MINOR , TYPE_BUG_FIX,
2813    "When a mask was input, it wasn't resampled if needed to be.",
2814    "Now fixed, and added check that grid of mask is good. Good.\n"
2815 },
2816 
2817 { 6, Feb , 2018 , PT , "fat_proc_axialize_anat" , MINOR , TYPE_NEW_OPT,
2818    "Can put a ceiling on the final output volume: -do_ceil_out.",
2819    "Reduce impact of tiny spikes (often at fringe) later on.\n"
2820 },
2821 
2822 { 1, Feb , 2018 , PT , "@GradFlipTest" , MINOR , TYPE_MODIFY,
2823    "Internal change to allow subset selection in text files.",
2824    "Can now use subbrick selector notation with bvals/bvecs.\n"
2825 },
2826 
2827 { 12, Jan , 2018 , PT , "@djunct_select_str.py" , MINOR , TYPE_BUG_FIX,
2828    "Would return an error when *no* bad vols were selected.",
2829    "Now updated to work fine with that; just an intermed program.\n"
2830 },
2831 
2832 { 12, Jan , 2018 , PT , "3dRSFC" , MICRO , TYPE_GENERAL,
2833    "Deal with change elsewhere to definition of a function.",
2834    "New option added to function, just need another arg; shd be no change.\n"
2835 },
2836 
2837 { 12, Jan , 2018 , PT , "fat_proc_align_anat_pair" , MICRO , TYPE_BUG_FIX,
2838    "Output 3dAllineate's weight vol to working dir, not present dir.",
2839    "Minor change, does not affect alignment/output.\n"
2840 },
2841 
2842 { 22, Dec , 2017 , PT , "fat_proc_connec_vis" , MINOR , TYPE_NEW_OPT,
2843    "Can output the intermediate tstat or tcat files of ROI maps.",
2844    "Might be useful in subsequent volumetric analyses.\n"
2845 },
2846 
2847 { 20, Dec , 2017 , PT , "fat_proc_connec_vis" , MINOR , TYPE_MODIFY,
2848    "Changing the way that outputting is specified.",
2849    "Make making a separate directory the default output; new opt for files.\n"
2850 },
2851 
2852 { 29, Sep , 2017 , PT , "@chauffeur_afni" , MINOR , TYPE_MODIFY,
2853    "Now has help with list of options.",
2854    "Should be useful for users during processing.\n"
2855 },
2856 
2857 { 29, Nov , 2017 , PT , "@djunct_4d_imager" , MAJOR , TYPE_NEW_PROG,
2858    "Helper function to make montages and movies of 4D dsets.",
2859    "Useful when proc'ing dsets, make record of them.\n"
2860 },
2861 
2862 { 26, Oct , 2017 , PT , "fat_proc_connec_vis" , MAJOR , TYPE_NEW_PROG,
2863    "Visualize 'white matter connection' volumes output by 3dTrackID.",
2864    "Combine separate '-dump_rois ...' output into SUMAble surface maps.\n"
2865 },
2866 
2867 { 12, Oct , 2017 , PT , "@GradFlipTest" , MINOR , TYPE_MODIFY,
2868    "Change output formatting and getting basename of prefix name.",
2869    "Easier output and reading in terminal/files.\n"
2870 },
2871 
2872 { 04, Oct , 2017 , PT , "@GradFlipTest" , MINOR , TYPE_MODIFY,
2873    "Change the output directory naming/choosing options.",
2874    "Do more with just '-prefix ...', in standard AFNI fashion.\n"
2875 },
2876 
2877 { 22, Sep , 2017 , PT , "fat_proc_map_to_dti" , MINOR , TYPE_BUG_FIX,
2878    "On Macs, when not all types of 'follower' sets were used, this gave err.",
2879    "Have changed internal behavior to avoid this 'Mac'errorizing.\n"
2880 },
2881 
2882 { 20, Sep , 2017 , PT , "1dDW_Grad_o_Mat++" , MINOR , TYPE_NEW_OPT,
2883    "New opt to push through tiny, negative diagonal elements in bmatrices.",
2884    "Useful-- but use this option cautiously, and look at your data...\n"
2885 },
2886 
2887 { 20, Sep , 2017 , PT , "@GradFlipTest" , MICRO , TYPE_MODIFY,
2888    "Change way text is dumped to screen.",
2889    "Should prevent any need for user keypress if terminal is small.\n"
2890 },
2891 
2892 { 19, Sep , 2017 , PT , "3dLombScargle" , MINOR , TYPE_BUG_FIX,
2893    "delF calculated correctly now.",
2894    "Had been at N-1 instead of N.  Better Parsevalling now.\n"
2895 },
2896 
2897 { 14, Sep , 2017 , PT , "3dLombScargle" , MAJOR , TYPE_BUG_FIX,
2898    "Finally revisiting this-- fixed up lots of things.",
2899    "Good to go for basic functionality now.\n"
2900 },
2901 
2902 { 11, Sep , 2017 , PT , "plugout_drive" , MICRO , TYPE_GENERAL,
2903    "Change level: actually nano.  Fixed Example 1 (missing apostrophe).",
2904    "It's the little things in life, though, sometimes.\n"
2905 },
2906 
2907 { 06, Sep , 2017 , PT , "fat_proc_dwi_to_dt" , MICRO , TYPE_MODIFY,
2908    "Quick change: keep FOV same for b0 ulay comparison with anat-edge.",
2909    "Minor adjustment for keeping FOV consistent.\n"
2910 },
2911 
2912 { 06, Sep , 2017 , PT , "fat_proc_dwi_to_dt" , MINOR , TYPE_MODIFY,
2913    "Output a couple more types of QC images by default.",
2914    "Output b0 ulay with anat-edge olay;  also, some uncert images.\n"
2915 },
2916 
2917 { 06, Sep , 2017 , PT , "@chauffeur_afni" , MINOR , TYPE_MODIFY,
2918    "Now gets output path as part of '-prefix' as opposed to sep '-outdir'.",
2919    "Now in line with most of AFNI funcs.\n"
2920 },
2921 
2922 { 24, Aug , 2017 , PT , "@GradFlipTest" , MINOR , TYPE_MODIFY,
2923    "The file storing the flip recommendation will *overwrite* a previous one.",
2924    "Previous version of this would *append to*, which seems pointless.\n"
2925 },
2926 
2927 { 17, Aug , 2017 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2928    "Some new labelling, etc. optioning.",
2929    "Make some new labels, locationing based on XYZ and more.\n"
2930 },
2931 
2932 { 16,  Aug , 2017, PT, "afni", MICRO, TYPE_NEW_OPT,
2933    "Added color map (applies to both afni and suma): Reds_and_Blues_Inv",
2934    "So, new color opt readily available.\n"
2935 } ,
2936 
2937 { 11, Aug , 2017 , PT , "fat_proc_align_anat_pair" , MINOR , TYPE_MODIFY,
2938    "Change a '>>' to '>' for wider compatability.",
2939    "Yup.\n"
2940 },
2941 
2942 { 11, Aug , 2017 , PT , "fat_proc_map_to_dti" , MINOR , TYPE_MODIFY,
2943    "Make range associated with ROI map images =256 for all.",
2944    "This provides better consistency in coloration with ROI_i256 cbar.\n"
2945 },
2946 
2947 { 8, Aug , 2017 , PT , "fat_proc_map_to_dti" , MINOR , TYPE_NEW_OPT,
2948    "Can have surfaces, niml.dsets and spec files move along with vols.",
2949    "Added capability to mapping volume dsets.\n"
2950 },
2951 
2952 { 8, Aug , 2017 , PT , "@suma_reprefixize_spec" , MINOR , TYPE_NEW_PROG,
2953    "Helper function to copy a spec file whilst renaming files inside.",
2954    "Useful when copying a lot of *.gii or other surface files.\n"
2955 },
2956 
2957 { 8, Aug , 2017 , PT , "3dTrackID" , MICRO , TYPE_BUG_FIX,
2958    "More specific glob for 3D vol files *only*; had gotten 1D text in list.",
2959    "Getting 1D text files would throw error.  More specific search now.\n"
2960 },
2961 
2962 { 1, Aug , 2017 , PT , "fat_proc_dwi_to_dt" , MINOR , TYPE_MODIFY,
2963    "Turn on reweighting and cumulative weight calc in 3dDWItoDT part.",
2964    "More useful fitting+output, hopefully.\n"
2965 },
2966 
2967 { 1, Aug , 2017 , PT , "3dDWItoDT" , MINOR , TYPE_MODIFY,
2968    "Have the '-cumulative_wts' output also get dumped into a 1D file.",
2969    "Figured it was nice to not *only* have info in the terminal.\n"
2970 },
2971 
2972 { 31, Jul , 2017 , PT , "@GradFlipTest" , MICRO , TYPE_MODIFY,
2973    "Echo the recommendations into a text file, as well.",
2974    "More useful/less lossy if scripting. New '-wdir *' opt, too.\n"
2975 },
2976 
2977 { 3, Jul , 2017 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_OPT,
2978    "Some new subbrick-setting optioning.",
2979    "For utilizing 'SET_SUBBRICKS i j k' functionality in driving afni.\n"
2980 },
2981 
2982 { 7, Jun , 2017 , PT , "@SUMA_renumber_FS" , MINOR , TYPE_MODIFY,
2983    "Added two more FS 'undetermined' regions to the list, ROIs 29 and 61.",
2984    "One voxel of one was in one subject once. Joy. Now part of tiss__unkn.\n"
2985 },
2986 
2987 { 6, Jun , 2017 , PT , "3dROIMaker" , MINOR , TYPE_NEW_OPT,
2988    "New inflation opt:  '-skel_stop_strict'.",
2989    "Think this might be useful: don't expand at all *into* WM skel.\n"
2990 },
2991 
2992 { 6, Jun , 2017 , PT , "@GradFlipTest" , MICRO , TYPE_MODIFY,
2993    "Internal call to 3dAutomask for DWI file now talks abs value of DWI[0].",
2994    "Useful bc TORTOISE now outputs negative DWIs... .\n"
2995 },
2996 
2997 { 6, Jun , 2017 , PT , "@GradFlipTest" , MICRO , TYPE_GENERAL,
2998    "Change output summary dumped to screen: don't prepend './' on paths.",
2999    "Should have changed earlier with internal name changes... Easier now.\n"
3000 },
3001 
3002 { 5, Jun , 2017 , PT , "3dTrackID" , MICRO , TYPE_GENERAL,
3003    "Allow longer path names input for some things.",
3004    "Paths to dti_in inputs can now be longer (300 chars).\n"
3005 },
3006 
3007 { 30, May , 2017 , PT , "3dANOVA3" , MICRO , TYPE_GENERAL,
3008    "Removed warning/info message for using type 4 or 5.",
3009    "Apparently made loooong ago, no longer needed according to GC.\n"
3010 },
3011 
3012 { 26, May , 2017 , PT , "3dReHo" , MINOR , TYPE_BUG_FIX,
3013    "Correct checking for null time series now.",
3014    "Earlier, only looked at [0]th point; now sums across all.\n"
3015 },
3016 
3017 { 26, May , 2017 , PT , "3dNetCorr" , MINOR , TYPE_BUG_FIX,
3018    "Correct checking for null time series now.",
3019    "Earlier, only looked at [0]th point; now sums across all.\n"
3020 },
3021 
3022 { 20, May , 2017 , PT , "@chauffeur_afni" , MICRO , TYPE_MODIFY,
3023    "Temporary files now have more unique names.",
3024    "Helps avoid confusion in parallel computations.\n"
3025 },
3026 
3027 { 12, May , 2017 , PT , "3dDWItoDT" , MAJOR , TYPE_NEW_OPT,
3028    "Added goodness-of-fit measures to '-debug_brik' output.",
3029    "Two chi-sqs from Papadakis et al. (2003); thx, J Ipser for idea.\n"
3030 },
3031 
3032 { 11, May , 2017 , PT , "3dDTtoDWI" , MAJOR , TYPE_BUG_FIX,
3033    "Fixed mismatch in multiplying DT and bmatrices.",
3034    "Element indices hadn't been sync'ed, now they are.\n"
3035 },
3036 
3037 { 4, May , 2017 , PT , "3dReHo" , MINOR , TYPE_NEW_OPT,
3038    "Allow box-y neighborhoods.",
3039    "User can input values for cubic/prism neighborhoods now.\n"
3040 },
3041 
3042 { 4, May , 2017 , PT , "3dDTtoDWI" , MINOR , TYPE_NEW_OPT,
3043    "Added in '-scale_out_1000' option, to match 3dDWItoDT.",
3044    "This allows it to be used with scaled tensors from 3dDWItoDT.\n"
3045 },
3046 
3047 { 3, May , 2017 , PT , "@chauffeur_afni" , MINOR , TYPE_MODIFY,
3048    "The opacity in olays wasn't working with xvfb-run-- now it does.",
3049    "Pixel depth was not useful by default, I think.\n"
3050 },
3051 
3052 { 2, May , 2017 , PT , "@GradFlipTest" , MICRO , TYPE_MODIFY,
3053    "If 'outdir' doesn't exist yet, create it (don't just exit with error).",
3054    "Simplifies some other fat_proc scripting.\n"
3055 },
3056 
3057 { 27, Apr , 2017 , PT , "3dNetCorr" , MINOR , TYPE_NEW_OPT,
3058    "With '-output_mask_nonnull', user can output mask of non-null ts.",
3059    "This was made to help those who need to finnd null time series here.\n"
3060 },
3061 
3062 { 27, Apr , 2017 , PT , "3dNetCorr" , MINOR , TYPE_NEW_OPT,
3063    "With '-ts_wb_strlabel', can use ROI string labels in WB output filenames.",
3064    "This was made expressly for The Rajendra Who Shall Not Be Named.\n"
3065 },
3066 
3067 { 27, Apr , 2017 , PT , "3dNetCorr" , MINOR , TYPE_MODIFY,
3068    "More watchfulness for null time series from badly masked dsets.",
3069    "Count and report null time series, and possibly fail if too many.\n"
3070 },
3071 
3072 { 30, Mar , 2017 , PT , "lib_fat_funcs.py" , MICRO , TYPE_BUG_FIX,
3073    "An error message in func called by fat_mvm_scripter.py was wrong.",
3074    "Fixed an indexing mistake which gave wrong ROI list-- thanks, E. Grodin!\n"
3075 },
3076 
3077 { 29, Mar , 2017 , PT , "@chauffeur_afni" , MICRO , TYPE_MODIFY,
3078    "Change how xvfb is used to run in virtual environment.",
3079    "This should improve usage on biowulf-- thanks much, D. Godlove!\n"
3080 },
3081 
3082 { 20, Mar , 2017 , PT , "@SUMA_renumber_FS" , MICRO , TYPE_MODIFY,
3083    "Changed an ls -> find, to search for either *.nii or *.nii.gz better.",
3084    "Necessary in case of problematic users (you know who you are!).\n"
3085 },
3086 
3087 { 9, Feb , 2017 , PT , "@GradFlipTest" , MICRO , TYPE_BUG_FIX,
3088    "Some IF conditions gave problems; some option names were inconvenient.",
3089    "They are now ex-parrots.\n"
3090 },
3091 
3092 { 6, Feb , 2017 , PT , "@chauffeur_afni" , MINOR , TYPE_MODIFY,
3093    "Should deal with subbrick selection now.",
3094    "Works for ulay and olay sets in usual AFNI way.\n"
3095 },
3096 
3097 { 31, Jan , 2017 , PT , "@SUMA_renumber_FS" , MINOR , TYPE_MODIFY,
3098    "Update region list to work with new FS 6.0 that came out a week ago.",
3099    "Regions #3 and #42 (in FS file output) appear now; ~'leftover' GM.\n"
3100 },
3101 
3102 { 27, Jan , 2017 , PT , "3dDWItoDT" , MICRO , TYPE_NEW_OPT,
3103    "Miniscule new option, '-bmatrix_FULL' to have clearer usage.",
3104    "Just copies functionality of cryptic '-bmatrix_Z'.\n"
3105 },
3106 
3107 { 27, Jan , 2017 , PT , "@GradFlipTest" , MAJOR , TYPE_MODIFY,
3108    "Totally revamped-- have real options, better funcs, output text file.",
3109    "Meshes with other changes in 1dDW_Grad* and 3dDWItoDT.\n"
3110 },
3111 
3112 { 26, Jan , 2017 , PT , "@chauffeur_afni" , MINOR , TYPE_NEW_PROG,
3113    "Simplish function for driving AFNI to make images/montages.",
3114    "Based on @snapshot_volreg; mainly intended for my selfish use.\n"
3115 },
3116 
3117 { 26, Jan , 2017 , PT , "1dDW_Grad_o_Mat++" , MINOR , TYPE_NEW_PROG,
3118    "New program for changing/reformatting grads and things.",
3119    "Better defaults and simpler than original 1dDW_Grad_o_Mat++.\n"
3120 },
3121 
3122 { 30, Dec , 2016 , PT , "@SUMA_renumber_FS" , MINOR , TYPE_NEW_PROG,
3123    "New program for renumbering FS output after @SUMA_Make_Spec_FS.",
3124    "Also conglomerates things into tissue maps.\n"
3125 },
3126 
3127 { 30, Dec , 2016 , PT , "@SUMA_Make_Spec_FS" , MINOR , TYPE_MODIFY,
3128    "Output new data sets of renumb'd values, more consistent than 'rank' ones.",
3129    "Also output more tissue segmentation maps based on ROIs.\n"
3130 },
3131 
3132 { 26, Dec , 2016 , PT , "thd_center" , MINOR , TYPE_NEW_OPT,
3133    "Extra argument in THD_cmass() and THD_roi_cmass().",
3134    "Allows for local ijk coordinate output; updated other calling functions.\n"
3135 },
3136 
3137 { 23, Dec , 2016 , PT , "3dCM" , MINOR , TYPE_NEW_OPT,
3138    "Allow ijk coordinate output.",
3139    "Will be in local orientation.  Makes undumping after easier.\n"
3140 },
3141 
3142 { 20, Dec , 2016 , PT , "fat_mvm_prep.py" , MICRO , TYPE_NEW_OPT,
3143    "New --unionize_rois option: affects GRID element selection.",
3144    "Now can select union of matrix elements across group for MVM_tbl.\n"
3145 },
3146 
3147 { 23, Nov , 2016 , PT , "3dTrackID" , MINOR , TYPE_BUG_FIX,
3148    "Used to be able to have nans in sBL b/c of sqrt(neg-from-rounding).",
3149    "Now IF condition to prevent that.  Happy Thanksgiving.\n"
3150 },
3151 
3152 { 23, Nov , 2016 , PT , "3dNetCorr" , MINOR , TYPE_BUG_FIX,
3153    "Z-score WB maps were all zeros-> now have values.",
3154    "Hopefully even the correct Z-values.\n"
3155 },
3156 
3157 { 16, Nov , 2015 , PT , "3dTrackID" , MAJOR , TYPE_GENERAL,
3158    "Estimate mean and stdev of fiber lengths in bundles.",
3159    "These are now automatically output in *.grid file.\n"
3160 },
3161 
3162 { 16, Nov , 2015 , PT , "3dTrackID" , MAJOR , TYPE_NEW_OPT,
3163    "Can limit tracts to 'between targets' in new ways.",
3164    "See '-targ_surf_stop' and '-targ_surf_twixt' in the help.\n"
3165 },
3166 
3167 { 16, Nov , 2016 , PT , "1dDW_Grad_o_Mat" , MINOR , TYPE_GENERAL,
3168    "Output b-values are now floats, not ints.",
3169    "Seems necessary, depending on what user has input.\n"
3170 },
3171 
3172 { 16, Nov , 2016 , PT , "1dDW_Grad_o_Mat" , MINOR , TYPE_BUG_FIX,
3173    "The -out_bval_col_sep used did nothing (after last changes).",
3174    "Have returned it to functionality.\n"
3175 },
3176 
3177 { 16, Nov , 2016 , PT , "3dDWUncert" , MINOR , TYPE_GENERAL,
3178    "Check for singular values, so don't get crashes from GSL calcs.",
3179    "These pretty much occur outside mask, but can also be inside mask.\n"
3180 },
3181 
3182 { 12, Oct , 2016 , PT , "3dDWItoDT" , MINOR , TYPE_GENERAL,
3183    "Now, automatically output RD if '-eigs' opt is used.",
3184    "And the users of 3dTrackID say, 'Yaaaay'. Or 'Wha'evah!'.\n"
3185 },
3186 
3187 { 12, Oct , 2016 , PT , "3dDWUncert" , MINOR , TYPE_GENERAL,
3188    "Now output progress; also, only divvy up non-zeros to proc.",
3189    "Should be faster/better parallelized, also tell user about itself.\n"
3190 },
3191 
3192 { 11, Oct , 2016 , PT , "map_TrackID" , MICRO , TYPE_GENERAL,
3193    "Put integer variables in to not get lame warnings when building.",
3194    "Things like 'pppp = fscan();', etc... Purely aesthetic changes.\n"
3195 },
3196 
3197 { 11, Oct , 2016 , PT , "3dDWUncert" , MAJOR , TYPE_GENERAL,
3198    "Totally reprogrammed, mainly to use OpenMP and be fstr.",
3199    "Also should be more generalized if b0 != 0.\n"
3200 },
3201 
3202 { 14, Sep , 2016 , PT , "3dDWItoDT" , MINOR , TYPE_NEW_OPT,
3203    "Have a new '-bmax_ref ...' option: if bref has b>0.",
3204    "Won't have much effective change *yet*, but will later. Possibly.\n"
3205 },
3206 
3207 { 13, Sep , 2016 , PT , "1dDW_Grad_o_Mat" , MINOR , TYPE_NEW_OPT,
3208    "New opt -bref_mean_top to average over mean bref when b>0.",
3209    "Also, totally reprogrammed most of interior; had been too scraggly.\n"
3210 },
3211 
3212 { 31, Aug , 2016 , PT , "3dSpaceTimeCorr" , MAJOR , TYPE_BUG_FIX,
3213    "Fixed bug in yet-unreleased function... and also changed a feature.",
3214    "Bug: ts = all0 -> GSL badness on some comp; now, exclude seedvox in corr.\n"
3215 },
3216 
3217 { 31, Aug , 2016 , PT , "3dSpaceTimeCorr" , MAJOR , TYPE_NEW_PROG,
3218    "New function for calculating spatial corr of temporal corr maps.",
3219    "Calc spatial corr of WB/mask connectivity maps; useful for RSFC?\n"
3220 },
3221 
3222 { 18, Aug , 2016 , PT , "3dReHo" , MINOR , TYPE_BUG_FIX,
3223    "Used to not allow subbrik selection on input.",
3224    "Now it does.  Thanks to Daniel H. for pointing it out.\n"
3225 },
3226 
3227 { 1, Aug , 2016 , PT , "3dRSFC" , MINOR , TYPE_BUG_FIX,
3228    "In cases of *very large* N_pts, an error message appeared-- no more.",
3229    "Just changed default initialization of >f_N value.\n"
3230 },
3231 
3232 { 21, Jun , 2016 , PT , "@fat_tract_colorize" , MAJOR , TYPE_NEW_PROG,
3233    "New function for coloring the volumetric tracking outputs.",
3234    "RGB coloration of local diffusion, esp. for PROB track output.\n"
3235 },
3236 
3237 { 20, Jun , 2016 , PT , "3dLombScargle" , MINOR , TYPE_BUG_FIX,
3238    "Fixing bug in delta F calculation.",
3239    "What more needs to be said?\n"
3240 },
3241 
3242 { 14, Jun , 2016 , PT , "3dAmptoRSFC" , MAJOR , TYPE_NEW_PROG,
3243    "New function for calculating RSFC params from one-side spectra.",
3244    "Complements 3dLombScargle. What an epithet.\n"
3245 },
3246 
3247 { 14, Jun , 2016 , PT , "3dLombScargle" , MINOR , TYPE_MODIFY,
3248    "Making this output 'one-sided' spectra now.",
3249    "Easier for 3dAmpToRSFC calcs.\n"
3250 },
3251 
3252 { 16, Jun , 2016 , PT , "3dLombScargle" , MINOR , TYPE_MODIFY,
3253    "Changed how number of output points/freqs is calc'ed.",
3254    "Should be more stable across group.).\n"
3255 },
3256 
3257 { 13, Jun , 2016 , PT , "3dLombScargle" , MAJOR , TYPE_MODIFY,
3258    "Revamped LS program-- AGAIN**2!-- now has Welch windows+tapers.",
3259    "Scaling properly/consistently, couple bug fixes.\n"
3260 },
3261 
3262 { 9, Jun , 2016 , PT , "3dLombScargle" , MAJOR , TYPE_MODIFY,
3263    "Revamped LS program-- AGAIN-- now has Welch windows+tapers.",
3264    "Several new options added (related to windows/tapers).\n"
3265 },
3266 
3267 { 27, May , 2016 , PT , "3dDWItoDT" , MINOR , TYPE_NEW_OPT,
3268    "Have a new '-scale_out_1000' option: rescale output, if desired.",
3269    "Effectively: change output diff units of mm^2/s -> x10^{-3} mm^2/s.\n"
3270 },
3271 
3272 { 24, May , 2016 , PT , "3dLombScargle" , MAJOR , TYPE_MODIFY,
3273    "Revamped LS program-- new implementation, directly from PR89.",
3274    "Several new options added (normalize, amplitudeize, etc.).\n"
3275 },
3276 
3277 { 12, May , 2016 , PT , "3dLombScargle" , MAJOR , TYPE_NEW_PROG,
3278    "New function for calculating LS (normalized) periodogram from time series.",
3279    "Calculate magnitude spectrum from non-equisampled data.\n"
3280 },
3281 
3282 { 3, May , 2016 , PT , "@GradFlipTest" , MINOR , TYPE_MODIFY,
3283    "Using '-out_grad_cols_bwt' for grad stuff now-- use weights.",
3284    "Can deal well with multiple DW factors in gradient list now.\n"
3285 },
3286 
3287 { 2, May , 2016 , PT , "3dDWItoDT" , MINOR , TYPE_NEW_OPT,
3288    "Have a new '-min_bad_md' option: use to threshold badness.",
3289    "Also now detect bad DT fits if MD is crazy big.  Whoa.\n"
3290 },
3291 
3292 { 8, Apr , 2016 , PT , "3dDTtoDWI" , MINOR , TYPE_MODIFY,
3293    "Work to deal with bvalue-weighted grads.",
3294    "This is useful esp. for new TORTOISE outputs.\n"
3295 },
3296 
3297 { 5, Apr , 2016 , PT , "3dDWUncert" , MINOR , TYPE_NEW_OPT,
3298    "New inp format option-- for dealing with TORT export/import.",
3299    "-bmatrix_Z for reading in bmat in AFNI format; byebye -bmatr opt.\n"
3300 },
3301 
3302 { 5, Apr , 2016 , PT , "1dDW_Grad_o_Mat" , MINOR , TYPE_NEW_OPT,
3303    "New I/O options-- for dealing with TORT export.",
3304    "Now have I/O of grad columns weighted by bvalues.\n"
3305 },
3306 
3307 { 5, Jan , 2016 , PT , "3dVecRGB_to_HSL" , MAJOR , TYPE_NEW_PROG,
3308    "Take a 3-vec to a single index on RGB color scale, and glue FA brick.",
3309    "Replaces earlier version, 3dVec_to_RGBind.\n"
3310 },
3311 
3312 { 4, Jan , 2016 , PT , "1dDW_Grad_o_Mat" , MICRO , TYPE_BUG_FIX,
3313    "Fixed backwards output messages.",
3314    "Should now be easier to see what went bad in a case of mistaken input.\n"
3315 },
3316 
3317 { 16, Dec , 2015 , PT , "3ddot_beta" , MAJOR , TYPE_NEW_PROG,
3318    "Copy calc of 3ddot-- uses same functions-- just faster.",
3319    "Right now, can only calculate eta2; was asked for by user.\n"
3320 },
3321 
3322 { 16, Nov , 2015 , PT , "fat_mat_sel.py" , MINOR , TYPE_MODIFY,
3323    "New default for x-axis labels: rot=45 deg, horiz align=right.",
3324    "Better than previous defaults (rot=37 deg, horiz align=center).\n"
3325 },
3326 
3327 { 10, Nov , 2015 , PT , "3dVec_to_RGBind.c" , MAJOR , TYPE_NEW_PROG,
3328    "Take a 3-vec to a single index on RGB color scale, and glue FA brick.",
3329    "This will be useful in prob tract result plotting... script to come.\n"
3330 },
3331 
3332 { 28, Sep , 2015 , PT , "fat_mvm_scripter.py" , MINOR , TYPE_BUG_FIX,
3333    "Use list of ROIs to select subnetwork of analysis for 3dMVM.",
3334    "Previously, sublist only applied to post hocs, not 3dMVM models.\n"
3335 },
3336 
3337 { 18, Sep , 2015 , PT , "@GradFlipTest" , MICRO , TYPE_MODIFY,
3338    "For DWI analysis: just linear fitting of tensor.",
3339    "Faster 3dDWItoDT usage, only do linear fit.\n"
3340 },
3341 
3342 { 16, Sep , 2015 , PT , "@GradFlipTest" , MAJOR , TYPE_NEW_PROG,
3343    "For DWI analysis: test whether grads need to be flipped.",
3344    "Use a few tracking calls to estimate 'best' grad orientations.\n"
3345 },
3346 
3347 { 10, Aug , 2015 , PT , "fat_mvm_scripter.py" , MINOR , TYPE_NEW_OPT,
3348    "Minor new option: input list of ROIs with file.",
3349    "For minor convenience.\n"
3350 },
3351 
3352 { 9, Aug , 2015 , PT , "3dROIMaker" , MINOR , TYPE_BUG_FIX,
3353    "Fixed minor bug when GM map has no ROIs/clusters.",
3354    "No more crashing... Won't produce GM or GMI volumes; message only.\n"
3355 },
3356 
3357 { 5, Aug , 2015 , PT , "fat_mvm_prep.py" , MICRO , TYPE_BUG_FIX,
3358    "Micro ~bug fixed for inputting CSV headings.",
3359    "Now strip off lead/trail whitespace, then replace rest with underscore.\n"
3360 },
3361 
3362 { 22, Jul , 2015 , PT , "3dROIMaker" , MINOR , TYPE_BUG_FIX,
3363    "Fixed minor bug when refset has negative values.",
3364    "No more crashing...\n"
3365 },
3366 
3367 { 7, Jul , 2015 , PT , "fat_mat_sel.py" , MINOR , TYPE_NEW_OPT,
3368    "Simple new option to exclude x-axis labels.",
3369    "They might just be annoying.\n"
3370 },
3371 
3372 { 21, May , 2015 , PT , "fat_mvm_scripter.py" , MINOR , TYPE_BUG_FIX,
3373    "Minor bug fixed for inputting sublist of ROIs.",
3374    "Short option for doing so worked, but not the long one; fixed now.\n"
3375 },
3376 
3377 { 21, May , 2015 , PT , "3dDWUncert" , MICRO , TYPE_NEW_OPT,
3378    "Can choose to analyze only high-FA voxels: don't waste time on GM/CSF.",
3379    "Option to ignore low-FA vox for uncert, leave them 0.\n"
3380 },
3381 
3382 { 15, May , 2015 , PT , "1dDW_Grad_o_Mat" , MINOR , TYPE_NEW_OPT,
3383    "Can output separate bval file.",
3384    "Useful in some TORT preprocessing.\n"
3385 },
3386 
3387 { 27, Apr , 2015 , PT , "3dROIMaker" , MINOR , TYPE_BUG_FIX,
3388    "Fixed output when byte/short insets were used.",
3389    "Had been not writing data; needed to null brick_facs in outsets.\n"
3390 },
3391 
3392 { 9, Feb , 2015 , PT , "3dTrackID" , MINOR , TYPE_NEW_OPT,
3393    "Can threshold bundles with too few tracks; TRK files not default out.",
3394    "Useful to control false pos;  useful to save space outputting.\n"
3395 },
3396 
3397 { 27, Jan , 2015 , PT , "fat_mvm_scripter.py" , MINOR , TYPE_MODIFY,
3398    "Include main effects of interaction vars in post hoc tests.",
3399    "Hadn't been testing these previously.\n"
3400 },
3401 
3402 { 26, Jan , 2015 , PT , "3dTrackID" , MINOR , TYPE_NEW_OPT,
3403    "Can dump output *maps*, not just masks, of each connection.",
3404    "See '-dump_rois AFNI_MAP' for how it works.\n"
3405 },
3406 
3407 { 26, Jan , 2015 , PT , "fat_mvm_scripter.py" , MINOR , TYPE_BUG_FIX,
3408    "Hadn't included part quantitative interaction term in qVars list.",
3409    "Program wouldn't run if interaction term had quant var.\n"
3410 },
3411 
3412 { 26, Jan , 2015 , PT , "fat_mvm_prep.py" , MICRO , TYPE_GENERAL,
3413    "Ignore empty lines or whitespace lines in CSV file.",
3414    "Causes less hassle at times now.\n"
3415 },
3416 
3417 { 23, Jan , 2015 , PT , "3dTrackID" , MINOR , TYPE_BUG_FIX,
3418    "Rare scenario of -nifti -dump_rois AFNI not working.",
3419    "Needed to add a mkdir() internally.  Itsafinenow.\n"
3420 },
3421 
3422 { 22, Jan , 2015 , PT , "3dROIMaker" , MINOR , TYPE_BUG_FIX,
3423    "Fixed some issues when only a tiny number of voxels is in inset.",
3424    "Labelling wasn't correct when nvox < n_refset_roi.\n"
3425 },
3426 
3427 { 7, Jan , 2015 , PT , "3dNetCorr" , MINOR , TYPE_NEW_OPT,
3428    "Switch to output nifti files.",
3429    "For corr map or Z map files.\n"
3430 },
3431 
3432 { 7, Jan , 2015 , PT , "3dROIMaker" , MINOR , TYPE_NEW_OPT,
3433    "Switch to output nifti files.",
3434    "For GM and GMI files.\n"
3435 },
3436 
3437 { 7, Jan , 2015 , PT , "3dTrackID" , MINOR , TYPE_NEW_OPT,
3438    "Switch to output nifti files.",
3439    "For PAIRMAP, INDIMAP and -dump_rois output.\n"
3440 },
3441 
3442 { 21, Dec , 2014 , PT , "3dTrackID" , MINOR , TYPE_GENERAL,
3443    "Change of string output in .niml.dset.",
3444    "Make the label match the ROI string labels.\n"
3445 },
3446 
3447 { 21, Dec , 2014 , PT , "3dNetCorr" , MINOR , TYPE_GENERAL,
3448    "Output NIML dset automatically.",
3449    "This allows users to view connectivity matrix info in SUMA easily.\n"
3450 },
3451 
3452 { 21, Dec , 2014 , PT , "fat_mat_sel.py" , SUPER , TYPE_NEW_PROG,
3453    "Plot, view and save matrix file info.",
3454    "Works for both 3dNetCorr and 3dTrackID info.\n"
3455 },
3456 
3457 { 15, Dec , 2014 , PT , "3dROIMaker" , MAJOR , TYPE_NEW_OPT,
3458    "Make a subset of an ROI by choosing maximal neighoring values.",
3459    "Start with peak value, add neighboring max until N voxels selected.\n"
3460 },
3461 
3462 { 5, Nov , 2014 , PT , "3dROIMaker" , MAJOR , TYPE_NEW_ENV,
3463    "Default neighborhoods now AFNI standard; labeltable functionality in.",
3464    "Default 'hoods more standard, can still do other; labels by default.\n"
3465 },
3466 
3467 { 5, Nov , 2014 , PT , "3dTrackID" , MINOR , TYPE_NEW_OPT,
3468    "Switch to not output INDI and PAIR map files.",
3469    "In connectome examples, this might save a lot of space.\n"
3470 },
3471 
3472 { 24, Oct , 2014 , PT , "3dTrackID" , MINOR , TYPE_BUG_FIX,
3473    "Fixed offset in track to volume coordinates ",
3474    "Effect of bug restricted to viewing of tracts rather than volume masks "
3475    "and connectivity matrices.\n"
3476    "Offset was by half a voxel in each of the three dims.\n"
3477 },
3478 
3479 { 26, Sep , 2014 , PT , "3dNetCorr" , MAJOR , TYPE_NEW_OPT,
3480    "Allow labeltable reading and writing.",
3481    "This allows users to use labeltables, and output labelled values everywhere.\n"
3482 },
3483 
3484 { 26, Sep , 2014 , PT , "3dTrackID" , MAJOR , TYPE_NEW_OPT,
3485    "Allow labeltable reading and writing.",
3486    "This allows users to use labeltables, and output labelled values everywhere.\n"
3487 },
3488 
3489 { 18, Sep , 2014 , PT , "fat_mvm_prep.py" , MICRO , TYPE_GENERAL,
3490    "Change internal var/par names, and how helpfile is thrown.",
3491    "More consistent naming, easier helpfile usage.\n"
3492 },
3493 
3494 { 18, Sep , 2014 , PT , "fat_mvm_scripter.py" , MINOR , TYPE_NEW_OPT,
3495    "Allow interaction terms in the user-defined statistical model.",
3496    "Allow cat+quant or cat+cat variable interactions, and posthoc testing.\n"
3497 },
3498 
3499 { 8, Sep , 2014 , PT , "fat_roi_row.py" , SUPER , TYPE_NEW_PROG,
3500    "Select out one row of a matrix file, at user request.",
3501    "Useful, for example, if wanting to view connectivity one-to-many.\n"
3502 },
3503 
3504 { 8, Sep , 2014 , PT , "fat_mvm_prep.py" , SUPER , TYPE_NEW_PROG,
3505    "Connect FATCAT with 3dMVM-- combine CSV and matrix data.",
3506    "Build data table necessary for 3dMVM from MRI+other data.\n"
3507 },
3508 
3509 { 8, Sep , 2014 , PT , "fat_mvm_scripter.py" , SUPER , TYPE_NEW_PROG,
3510    "Connect FATCAT with 3dMVM-- write a basic command call to 3dMVM.",
3511    "User specificies specific model, and awaaaay we go.\n"
3512 },
3513 
3514 { 8, Sep , 2014 , PT , "fat_mvm_gridconv.py" , SUPER , TYPE_NEW_PROG,
3515    "Connect FATCAT with 3dMVM-- modernize format of old *.grid files.",
3516    "Prehistoric grid files had no labels. This updates them.\n"
3517 },
3518 
3519 { 8, Sep , 2014 , PT , "3dROIMaker" , MINOR , TYPE_NEW_OPT,
3520    "Allow pre-inflation of an input ROI, at user request.",
3521    "Useful, for example, if wanting to go from WM->GM.\n"
3522 },
3523 
3524 { 5, Aug , 2014 , PT , "3dTrackID" , MINOR , TYPE_MODIFY,
3525    "Less memory usage and a bit faster.",
3526    "More efficient internal handling of quantities.\n"
3527 },
3528 
3529 { 4, Aug , 2014 , PT , "3dDWUncert" , MICRO , TYPE_NEW_OPT,
3530    "Internal options for testing uncertainty things.",
3531    "For internal testing only at this point.\n"
3532 },
3533 
3534 { 4, Aug , 2014 , PT , "1dDW_Grad_o_Mat" , MAJOR , TYPE_NEW_OPT,
3535    "Can edit dataset with averaging B0s and DWIs.",
3536    "Should make life easier for dual processing of vecs and datasets.\n"
3537 },
3538 
3539 { 4, Aug , 2014 , PT , "3dTrackID" , MINOR , TYPE_NEW_OPT,
3540    "New option for PAIRMAP labelling by X, not 2^X; new *.grid NT scaling.",
3541    "Make PAIRMAP easier to view; user wanted extra matrices.\n"
3542 },
3543 
3544 { 19, Jun , 2014 , PT , "3dNetCorr" , MINOR , TYPE_NEW_OPT,
3545    "Added new feature: output partial correlation matrices.",
3546    "Can output r-like and beta-like partial correlation matrices.\n"
3547 },
3548 
3549 { 6, Jun , 2014 , PT , "3dTrackID" , MINOR , TYPE_GENERAL,
3550    "Changed how it runs, mainly under the hood; added '-thru_mask' option.",
3551    "Cleared some old arrays; make runable as function; user wanted thru_masks.\n"
3552 },
3553 
3554 { 6, Jun , 2014 , PT , "3dEigsToDT" , MICRO , TYPE_BUG_FIX,
3555    "Make help file option match with actual usage.",
3556    "Fixed a minor mismatch of helpfile name and actual option name.\n"
3557 },
3558 
3559 { 6, Jun , 2014 , PT , "3dEigsToDT" , MICRO , TYPE_MODIFY,
3560    "Helpfile micro correction.",
3561    "Need parentheses around a couple entries.\n"
3562 },
3563 
3564 
3565 { 29, Apr , 2014 , PT , "3dROIMaker" , MINOR , TYPE_NEW_OPT,
3566    "Freedom in neighbor defs; also can keep just N peak values per ROI.",
3567    "User can specify face, edge or vertex ngbs. Also, search for N max vals.\n"
3568 },
3569 
3570 { 29, Apr , 2014 , PT , "3dNetCorr" , MINOR , TYPE_NEW_OPT,
3571    "Added new feature: output WB correlations as Zscores.",
3572    "Can output WB maps of ROI average time series correlations as Z-scores.\n"
3573 },
3574 
3575 { 21, Apr , 2014 , PT , "1dDW_Grad_o_Mat" , MICRO , TYPE_NEW_OPT,
3576    "Output grads as rows-- new option switch.",
3577    "Done at user request.\n"
3578 },
3579 
3580 { 21, Apr , 2014 , PT , "3dEigsToDT" , SUPER , TYPE_NEW_PROG,
3581    "New program: take in eigen{values,vectors} and calculate DT.",
3582    "This also allows flipping/rescaling to be done.\n"
3583 },
3584 
3585 { 21, Apr , 2014 , PT , "TORTOISEtoHere" , SUPER , TYPE_NEW_PROG,
3586    "New program: convert TORTOISE DTs to AFNI format.",
3587    "This also allows flipping/rescaling to be done.\n"
3588 },
3589 
3590 { 21, Apr , 2014 , PT , "3dNetCorr" , MINOR , TYPE_NEW_OPT,
3591    "Added new feature: do whole brain correlations.",
3592    "Can output individual WB maps of ROI average time series correlations.\n"
3593 },
3594 
3595 { 16, Apr , 2014 , PT , "3dNetCorr" , MINOR , TYPE_MODIFY,
3596    "Reformatted output a bit, added features for J. Rajendra.",
3597    "Can output time series with labels, and as individual files.\n"
3598 },
3599 
3600 { 16, Apr , 2014 , PT , "3dROIMaker" , MICRO , TYPE_BUG_FIX,
3601    "Hadn't made a problem if user didn't input 'prefix'.",
3602    "Fixed aforementioned loophole..\n"
3603 },
3604 
3605 { 16, Apr , 2014 , PT , "3dMatch" , MINOR , TYPE_BUG_FIX,
3606    "Bug when using mask on *some* files with Linux.",
3607    "Seems to be more stable criteria now.\n"
3608 },
3609 
3610 { 6, Mar , 2014 , PT , "3dTrackID" , SUPERDUPER , TYPE_MODIFY,
3611    "Have Cordelialy unified the three kingdoms of tracking, cLearing usage.",
3612    "This program does all tracking, including HARDI and mini-probabilistic.\n"
3613 },
3614 
3615 { 6, Mar , 2014 , PT , "3dProbTrackID" , SUPERDUPER , TYPE_MODIFY,
3616    "Put out to pasture.",
3617    "This program is now retired, with usage cleanly transferred to 3dTrackID.\n"
3618 },
3619 
3620 { 6, Mar , 2014 , PT , "3dNetCorr" , MINOR , TYPE_MODIFY,
3621    "Reformatted output a bit.",
3622    "Make output easier to read, labelled, and matching *GRID files.\n"
3623 },
3624 
3625 { 6, Mar , 2014 , PT , "3dROIMaker" , MICRO , TYPE_BUG_FIX,
3626    "Make parameter appear in help file correctly.",
3627    "Fixed silly Spoonerism in option names usage/help-representation.\n"
3628 },
3629 
3630 { 6, Mar , 2014 , PT , "1dDW_Grad_o_Mat" , MAJOR , TYPE_NEW_PROG,
3631    "Manipulate gradient/bmatrix files.",
3632    "Convert row/col and grad/bmatrix/gmatrix, use bval info, filter or not.\n"
3633 },
3634 
3635 { 6, Mar , 2014 , PT , "3dTrackID" , MINOR , TYPE_NEW_OPT,
3636    "Changes for reading in DTI files.",
3637    "Allow NIML-formatted input file, as well as globbing in ordinary case.\n"
3638 },
3639 
3640 { 6, Mar , 2014 , PT , "3dDWUncert" , MINOR , TYPE_NEW_OPT,
3641    "Changes for reading in DTI files.",
3642    "Allow NIML-formatted input file, as well as globbing in ordinary case.\n"
3643 },
3644 
3645 { 6, Mar , 2014 , PT , "3dDWUncert" , MINOR , TYPE_BUG_FIX,
3646    "Silly bug-- order of options not free.",
3647    "Changed how options were processed so they weren't order-dependent.\n"
3648 },
3649 
3650 { 3, Mar , 2014 , PT , "3dROIMaker" , MICRO , TYPE_MODIFY,
3651   "Fixing option name agreement with help file.",
3652   "Modernizing language."
3653 },
3654 
3655 { 28, Oct , 2013 , PT , "3dROIMaker" , MINOR , TYPE_MODIFY,
3656   "Allow multiple-brick masks.",
3657   "For N-brick data set, can input either 1- or N-brick mask."
3658 },
3659 
3660 { 28, Oct , 2013 , PT , "3dMatch" , MINOR , TYPE_BUG_FIX,
3661   "Fixed subbrick labelling oddity.",
3662   "For some reason, subbrick selection with [i] was getting confused"
3663   "with i-th label (which was an integer). Solved by prefixing label"
3664   "designation with a short string of useful letters."
3665 },
3666 
3667 { 24, Oct , 2013 , PT , "3dROIMaker" , MINOR , TYPE_BUG_FIX,
3668   "Fix segmentation error when not using -refset.",
3669   "Fixed error in defining/freeing a certain array."
3670 },
3671 
3672 { 26, Sep , 2013 , PT , "3dProbTrackID" , MINOR , TYPE_MODIFY,
3673   "Improving ease of NOT-mask ROI inclusion and (internal) track handling.",
3674   "Instead of separate ROI NOT-masks, uses can build in ANTI-ROIs with"
3675   "negative-valued (=-1) voxels."
3676   "Under the hood track handling: smoother checking of track ends, as well as"
3677   "of possibly breaking up tracks in event of NOT regions; simpler passing"
3678   "to track bundles, as well."
3679 },
3680 
3681 { 26, Sep , 2013 , PT , "3dROIMaker" , MINOR , TYPE_MODIFY,
3682   "Allow negative ROIs in refset.",
3683   "This is useful/necessary for handling new NOT-mask regionality in network"
3684   "files for tracking."
3685 },
3686 
3687 { 26, Sep , 2013 , PT , "DoTrackit.c" , MINOR , TYPE_MODIFY,
3688   "Improving ease of NOT-mask ROI inclusion and (internal) track handling.",
3689   "This is useful/necessary for handling new NOT-mask regionality in network"
3690   "files for tracking; think it just streamlines various processing, as well."
3691 },
3692 
3693 { 26, Sep , 2013 , PT , "TrackIO.c" , MINOR , TYPE_MODIFY,
3694   "Improving ease of track handling.",
3695   "Updated TrackCreate function, which has simpler inputs from 3dProbTrackID"
3696   "now; outputs unchanged."
3697 },
3698 
3699 { 26, Aug , 2013 , PT , "DoTrackit.c" , MINOR , TYPE_BUG_FIX,
3700   "Fix handling of non-RPI datasets.",
3701   "No ostensible output change, except to not produce an error message.\n"
3702 },
3703 
3704 { 21, Aug , 2013 , PT , "3dProbTrackID" , MAJOR , TYPE_MODIFY,
3705    "Putting together old deterministic and probabilistic programs into 1.",
3706    "Unifying tracking, will be easier to update/improve in future."
3707    "For deterministic tracking, allow networks of target ROIs for tracking,"
3708    "as well as bunding outputs for SUMA network/matrix viewing."
3709    "New option as well, `-mini_prob', to have some probabilistic aspect to"
3710    "deterministic/tract-based output."
3711 },
3712 
3713 { 21, Aug , 2013 , PT , "3dTrackID" , MINOR , TYPE_MODIFY,
3714    "Minor changes in internal trackbundle handling/NIML-output.",
3715    "Temporary step to SUMAfication of program; this program will"
3716    "eventually be phased out in favor of 3dProbTrackID deterministic options."
3717 },
3718 
3719 { 21, Aug , 2013 , PT , "3dROIMaker" , MICRO , TYPE_MODIFY,
3720    "Minor change to INFO_message.",
3721    NULL
3722 },
3723 
3724 { 21, Aug , 2013 , PT , "3dNetcorr" , MICRO , TYPE_MODIFY,
3725    "Minor change to INFO_message.",
3726    NULL
3727 },
3728 
3729 { 21, Aug , 2013 , PT , "3dMatch" , MICRO , TYPE_MODIFY,
3730    "Minor change to INFO_message.",
3731    NULL
3732 },
3733 
3734 { 21, Aug , 2013 , PT , "3dRSFC" , MINOR , TYPE_BUG_FIX,
3735    "Allow subset of time series to be selected.",
3736    "Minor tweaking of internal workings for writing output.\n"
3737    "No quantitative change.\n"
3738 },
3739 
3740 { 25, Mar , 2013 , PT , "3dReHo" , MINOR , TYPE_NEW_OPT,
3741    "More voxelwise neighborhood shapes available.",
3742    "Voxelwise neighborhoods can be any sphere/radius size, and even\n"
3743    "ellipsoidal. Some memory stuff should be better as well.\n"
3744 },
3745 
3746 { 14, Mar , 2013 , PT , "3dProbTrackID" , MINOR , TYPE_MODIFY,
3747   "List ROI labels near start of *.grid; use floor to get NmNsThr",
3748   "This allows for more similarity with 3dNetCorr, and might be useful\n"
3749   "as well if the labeling of ROIs in a network is not just 1,..,max.\n"
3750   "The flooring vs ceiling is so that people don't have to use 0.00099\n"
3751   "as a relative fraction of MC iterations to get the number they want.\n"
3752 },
3753 
3754 { 14, Mar , 2013 , PT , "3dNetCorr" , SUPER , TYPE_NEW_PROG,
3755   "New function: calculate correlat/Z of ROIs in a network.",
3756   "This program works on several networks as separate subbricks simultan-\n"
3757   "eously.\n"
3758 },
3759 
3760 { 14, Mar , 2013 , PT , "rsfc" , MINOR , TYPE_MODIFY,
3761   "New functions; streamline some other functions.",
3762   "For addition of 3dNetCorr, mainly.\n"
3763 },
3764 
3765 { 14, Mar , 2013 , PT , "3dDWUncert" , MINOR , TYPE_BUG_FIX,
3766    "Silly bug in e_{13}^* estimation.",
3767    "Mean and std of uncertainty of e1 toward e3 was buggy.\n"
3768 },
3769 
3770 { 22, Feb , 2013 , PT , "3dProbTrackID" , MINOR , TYPE_NEW_OPT,
3771    "Instead of just individual ROI masks, can get map of Ntracks/voxel.",
3772    "This allows a posteriori thresholding/comparisons/analysis.\n"
3773 },
3774 
3775 { 22, Feb , 2013 , PT , "3dDWUncert" , MICRO , TYPE_BUG_FIX,
3776    "Free as well as DELETE a dset.",
3777    "Ultraminor change.\n"
3778 },
3779 
3780 { 22, Feb , 2013 , PT , "rsfc" , MICRO , TYPE_BUG_FIX,
3781    "Fixed potential float/double problem.",
3782    "When using 3dReHo to get ReHo for ROIs, could get *very* large numbers\n"
3783    "during part of calculations; floats were fine for 27 voxel neighborhood,\n"
3784    "but not with large ROIs. Thus, using doubles in the calc now.\n"
3785 },
3786 
3787 { 22, Feb , 2013 , PT , "3dReHo" , MICRO , TYPE_BUG_FIX,
3788    "Fixed mask misread which could cause error in some nonmasked data.",
3789    NULL
3790 },
3791 
3792  { 6, Feb , 2013 , PT , "3dRSFC" , MICRO , TYPE_BUG_FIX,
3793    "Fixed potential div by zero in 3dRSFC.",
3794    NULL
3795  },
3796 
3797  { 6, Feb , 2013 , PT , "3dTrackID" , MICRO , TYPE_BUG_FIX,
3798    "Small bug in 3dTrackID fixed.",
3799    "In post-run freeing of variables, had been error for a char string.\n"
3800  },
3801 
3802  { 6, Feb , 2013 , PT , "3dProbTrackID" , MINOR , TYPE_NEW_OPT,
3803    "Add ability to output each WM-region mask as an individual ROI.",
3804    "This should make it simpler to use an ROI as a mask than \n"
3805    "with the 2^(ROI number) labelling system within subbrick outputs.\n"
3806  },
3807 
3808 
3809  { 99,99,99, NULL,NULL, 99,99, NULL,NULL}  /** the end (do not delete) **/
3810 } ;
3811