AFNI Detailed History


  ----  log of AFNI updates (most recent first)  ----

14 Jun 2024, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    AFNI.afnirc : use GZIP compression and turn off obliquity warnings

      AFNI_COMPRESSOR          : default to GZIP
      AFNI_AUTOGZIP            : comment out (was YES)
      AFNI_NO_OBLIQUE_WARNING  : default to YES
      AFNI_ONE_OBLIQUE_WARNING : comment out (was YES)

----------------------------------------------------------------------

11 Jun 2024, RC Reynolds, build_afni.py, level 2 (MINOR), type 2 (NEW_OPT)
    backup directory removal; add -update_niivue option

    Save only most recent backup directory, possibly plus 1 containing afni.
    Add -update_niivue, and skip the operation on '-clean_root no'.

----------------------------------------------------------------------

06 Jun 2024, RC Reynolds, rPkgsInstall, level 2 (MINOR), type 5 (MODIFY)
    along with 3dMVM, handle not having afni in PATH

06 Jun 2024, RC Reynolds, Makefile.macos_13_ARM, level 2 (MINOR), type 2 (NEW_OPT)
    add this Makefile (in src) for corresponding build machine

    This is a ~dupe of other_builds/Makefile.macos_13_ARM_clang.

----------------------------------------------------------------------

30 May 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    remove unimportant anat followers from example 'publish 3d'

30 May 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fix volreg TSNR for ME: use eind -> fave_echo

    Thanks to zhengchencai on MB for pointing out the problem.

----------------------------------------------------------------------

25 May 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add -bids_deriv option

    This adds a call to P Taylor's map_ap_to_deriv.py program, to output a
    BIDS derivative tree.

25 May 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add -volreg_allin_warp option

    This allows specific control over 3dAllineate -warp, using a default
    of shift_rotate for rigid body registration.

----------------------------------------------------------------------

24 May 2024, PD Lauren, suma, level 3 (MAJOR), type 2 (NEW_OPT)
    add alpha thresholding

----------------------------------------------------------------------

07 May 2024, RC Reynolds, 3dCM, level 1 (MICRO), type 4 (BUG_FIX)
    3dCM briefly required a mask

    Thanks to P Kundu for pointing out the problem.

----------------------------------------------------------------------

29 Apr 2024, RC Reynolds, afni-general, level 3 (MAJOR), type 5 (MODIFY)
    change 'count' program and usage to 'count_afni'

    Add count_afni to the distribution, modify scripts to use it, and
    allow use of count_afni is sub-brick selection, e.g.,
        dset'[count_afni 3 5]'
    Note that 'count' is still allowed, for now.

----------------------------------------------------------------------

26 Apr 2024, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    -init_uvars_json will now pass through unknown uvars

    This enables users to pass uvars through afni_proc.py to the APQC.

26 Apr 2024, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    in any script calling whereami, invoke with 'tcsh -f' at top

    This is a quick fix for biowulf usage, since there is a new whereami
    in town (/usr/local/bin/wheremai), and because they reset the PATH.
    Modify: @Atlasize @MakeLabelTable @chauffeur_afni
            compute_ROI_stats.tcsh gen_cluster_table

----------------------------------------------------------------------

25 Apr 2024, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    warn if tcsh version is 6.22.03 - it has $var:h bug

25 Apr 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -uvar option to pass through AP uvars

----------------------------------------------------------------------

24 Apr 2024, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    add -sort_method geme_suid

----------------------------------------------------------------------

22 Apr 2024, RC Reynolds, 3dmaskdump, level 2 (MINOR), type 4 (BUG_FIX)
    singleton coordinates should round to the closest voxel center

    Originally, box coordinates rounded to the nearest voxel, effectively
    extending ranges by 1/2 voxel on each side.  This was changed in 2021 to
    be strict.  But then singleton coordinates often hit no voxels, and the
    help says one voxel should be found.
    Now a singleton coordinate will round to the nearest center, while a ':'
    separated range will be precise, as with the mixed use:
       -xbox 5.4:11.3  -17.8:-4.1  11
    Here, the '11' will be rounded to the closest center.

----------------------------------------------------------------------

17 Apr 2024, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    in THD_load_nifti(), need_copy might imply scale_data

    Thanks to @liningpan on github for reporting this.

----------------------------------------------------------------------

12 Apr 2024, RC Reynolds, 3dTsplit4D, level 2 (MINOR), type 2 (NEW_OPT)
    add -label_prefix, to include labels in the output prefix

12 Apr 2024, RC Reynolds, @SUMA_Make_Spec_FS, level 1 (MICRO), type 6 (ENHANCE)
    add an AFNI ID to the resulting SurfVol, for afni/suma communication

----------------------------------------------------------------------

08 Apr 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -anat_follower_erode_level, to specify the exact erosion level

    The older -anat_follower_erode option implies only a single erosion.
    This parameter is in voxels.  As before, a single erosion includes the
    18 NN2 neighbors, so all in a 3x3x3 box but the outer 8 corners.
    See mask_tool -help for details.
    Added for M. Byrne S. Haller.

----------------------------------------------------------------------

07 Apr 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    the default warp vox dim will round up if very close

    Particularly when coming from a NIFTI sform, voxel dimensions are often
    computed.  So while an "exact" dimension might be 3, the computed one
    might come out as 2.99999.  Scale dimensions by 1.0001 before truncation.

----------------------------------------------------------------------

05 Apr 2024, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    add reg_echo and echo_times; include echo_times in basic review script

----------------------------------------------------------------------

04 Apr 2024, RC Reynolds, Surf2VolCoord, level 1 (MICRO), type 6 (ENHANCE)
    add a detailed help example for distance to a restricted set of coords

----------------------------------------------------------------------

29 Mar 2024, RC Reynolds, ap_run_simple_rest_me.tcsh, level 3 (MAJOR), type 1 (NEW_PROG)
    run a quick afni_proc.py resting state analysis for QC on multi-echo data

29 Mar 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add 'none' as an option to -regress_apply_mot_types

    This allows one to censor (or compute enorm) without motion regression.
    Requested by e0046902 on NeuroStars.

29 Mar 2024, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    NIFTI s/qform_code of 2 defaults to +orig, once again

    Have an unset AFNI_NIFTI_VIEW default to 'orig' again.
    This is how it was originally.  It was changed at some point to
    accommodate an influx of such data in MNI space.  Now, revert to
    having sform_code of 2 to default to orig space.

----------------------------------------------------------------------

28 Mar 2024, RC Reynolds, suma-general, level 2 (MINOR), type 5 (MODIFY)
    temporarily revert to 2023.1003 SUMA tree, while fixing some issues

    Most of this will go back in, once the issues are resolved.

----------------------------------------------------------------------

22 Mar 2024, RC Reynolds, 2dImReg, level 2 (MINOR), type 6 (ENHANCE)
    add approx_equal() test for -basefile, as well

    Done for josef_ling on MB.

----------------------------------------------------------------------

21 Mar 2024, RC Reynolds, gen_ss_review_table.py, level 2 (MINOR), type 6 (ENHANCE)
    allow 'column' label ANY, which expands to each non-initial label

21 Mar 2024, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -disp_abin

----------------------------------------------------------------------

20 Mar 2024, RC Reynolds, 2dImReg, level 2 (MINOR), type 6 (ENHANCE)
    be more lenient, not requiring dx to be exactly equal to dy

    Done for josef_ling on MB.

----------------------------------------------------------------------

18 Mar 2024, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 6 (ENHANCE)
    auto-include APQC_atlas for compute_tsnr_stats, if appropriate

    And add -regress_compute_auto_tsnr_stats.

----------------------------------------------------------------------

15 Mar 2024, RC Reynolds, APMULTI_Demo2_realtime, level 2 (MINOR), type 6 (ENHANCE)
    add rt.06.ME.OC.aves example, like 05 but with ROI averages

----------------------------------------------------------------------

12 Mar 2024, RC Reynolds, SUMA, level 2 (MINOR), type 4 (BUG_FIX)
    updates to SUMA_CreateDO.c, SUMA_Color.c, SUMA_driver.c

    Some build machines need to adhere to the C99 standard.

----------------------------------------------------------------------

11 Mar 2024, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    add max_4095_warn_dset key and driver use

11 Mar 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add 4095_gcount warnings for input EPI

    This will be automatically run after the outlier counts.

----------------------------------------------------------------------

08 Mar 2024, RC Reynolds, 3dTto1D, level 2 (MINOR), type 6 (ENHANCE)
    add 4095_gcount warning method; modify output

    Zero out results if max is not exactly 4095.

----------------------------------------------------------------------

07 Mar 2024, RC Reynolds, abids_tool.py, level 1 (MICRO), type 4 (BUG_FIX)
    use compare_py_ver_to_given() for comparison of python versions

    Also, removed a few similarly problematic float comparisons.

----------------------------------------------------------------------

05 Mar 2024, RC Reynolds, APMULTI_Demo2_realtime, level 2 (MINOR), type 6 (ENHANCE)
    add Optimally Combined multi-echo demo, including use with afni_proc.py

----------------------------------------------------------------------

04 Mar 2024, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -disp_ver_afni (display contents of AFNI_version.txt)

----------------------------------------------------------------------

01 Mar 2024, RC Reynolds, compute_ROI_stats.tcsh, level 2 (MINOR), type 2 (NEW_OPT)
    add ability to pass ALL_LT via -rval_list (for all labeltable entries)

----------------------------------------------------------------------

29 Feb 2024, RC Reynolds, afni_util.py, level 2 (MINOR), type 5 (MODIFY)
    use raw straing format for some regular expressions

    So python 3.12 has upgraded Deprecation Warnings to SyntaxWarnings,
    making wanings pop up where they did not previously.  Previously, one
    would need to turn on deprecation warnings to see such things.

----------------------------------------------------------------------

28 Feb 2024, RC Reynolds, module_test_lib.py, level 2 (MINOR), type 6 (ENHANCE)
    python 3.12 has removed 'imp' importing library, use importlib

    Add a new 312 function string for newest case.

----------------------------------------------------------------------

23 Feb 2024, RC Reynolds, dcm2niix_afni, level 1 (MICRO), type 6 (ENHANCE)
    sync crorden/dcm2niix_console with repo, version v1.0.20240202

    Thanks to C Rorden for the update.

23 Feb 2024, RC Reynolds, @radial_correlate, level 1 (MICRO), type 6 (ENHANCE)
    fail if no corr dset (check, since script is not run with -e)

----------------------------------------------------------------------

22 Feb 2024, RC Reynolds, build_afni.py, level 2 (MINOR), type 6 (ENHANCE)
    check for conda env vars on make build failure

22 Feb 2024, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    check for conda env vars

22 Feb 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    use more mask_epi_anat, and default: -regress_compute_tsnr_stats brain 1

----------------------------------------------------------------------

21 Feb 2024, RC Reynolds, compute_ROI_stats.tcsh, level 2 (MINOR), type 5 (MODIFY)
    modify labels and prep for Q column

----------------------------------------------------------------------

20 Feb 2024, RC Reynolds, compute_ROI_stats.tcsh, level 1 (MICRO), type 4 (BUG_FIX)
    forgot to actually print out the computed depth

    Thanks to P Taylor for noticing.

20 Feb 2024, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    remove irritating -script and -out_dir opts, just use subject ID

----------------------------------------------------------------------

15 Feb 2024, RC Reynolds, compute_ROI_stats.tcsh, level 3 (MAJOR), type 1 (NEW_PROG)
    compute per-ROI region statstics over a given dataset

    It is a little like 3dROIstats, but with needs specific to afni_proc.py.

15 Feb 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -regress_compute_tsnr_stats

    This is intended to be added to P Taylor's APQC HTML report.

15 Feb 2024, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    remove 2 warnings

    No warn on dupe followers if grids are the same; no ACF warning.

----------------------------------------------------------------------

14 Feb 2024, DR Glen, whereami, level 1 (MICRO), type 2 (NEW_OPT)
    whereami -index_to_label to show label for an index

    Labels can be from ordinary labeltabled ROI datasets
    or from atlas datasets

----------------------------------------------------------------------

08 Feb 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    in radcor: pass mask after any data scaling or in regress block

    Scaled or errts data won't automask well.
    Also, block radcor once in the surface domain.

----------------------------------------------------------------------

07 Feb 2024, RC Reynolds, ap_run_simple_rest.tcsh, level 2 (MINOR), type 6 (ENHANCE)
    add regress to -radial_correlate_blocks

    Also, handle new DEFAULT example names, and pass using underscores.

07 Feb 2024, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    allow underscores in example names, and convert to spaces

----------------------------------------------------------------------

05 Feb 2024, RC Reynolds, @FindAfniDsetPath, level 2 (MINOR), type 5 (MODIFY)
    one change to allow spaces in dataset names

    Spaces in the paths to templates/atlases or the abin is currently
    not allowed.  But we might slowly change that.

05 Feb 2024, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    change GIFTI write from PREFIX to HEADNAME

    Previously, the output directories were not being used.
    Thanks to eriklee (AFNI MB) for noting the problem.

----------------------------------------------------------------------

02 Feb 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -ROI_import (in prep for TSNR stats)

----------------------------------------------------------------------

01 Feb 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    -show_example_keywords, -show_pythonic_command; revamp examples

----------------------------------------------------------------------

21 Jan 2024, RC Reynolds, file_tool, level 2 (MINOR), type 2 (NEW_OPT)
    add -wrap_text and -wrap_text_method for more clear command line use

21 Jan 2024, RC Reynolds, afni_util.py, level 2 (MINOR), type 5 (MODIFY)
    redo deep PT special

----------------------------------------------------------------------

19 Jan 2024, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    have wrap_file_text() default to wrap=2 in nwrite_text_to_file()

----------------------------------------------------------------------

18 Jan 2024, RC Reynolds, 3dZeropad, level 2 (MINOR), type 2 (NEW_OPT)
    add options -pad2odds, -pad2mult (pad to any positive multiple)

    Motivated by P Taylor.

----------------------------------------------------------------------

11 Jan 2024, RC Reynolds, afni, level 2 (MINOR), type 4 (BUG_FIX)
    validate fim_now in AFNI_autorange_label

    If the underlay existed in both orig and tlrc view, switching to the
    view without an overlay would cause a crash.
    Thanks to msh23m (AFNI message board) for noting the problem.

----------------------------------------------------------------------

02 Jan 2024, RC Reynolds, init_user_dotfiles.py, level 1 (MICRO), type 6 (ENHANCE)
    apply apsearch updates only if shell file applies to current or login

02 Jan 2024, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    warn on matplotlib version 3.1.2 for not being able to write JPEG

----------------------------------------------------------------------

22 Dec 2023, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    get a new idcode whenever a new dataset name is assigned

    This deals with programs like 3dTsplit4D creating multiple datasets,
    as well as programs like afni reading many similarly named files
    Thanks for J Blujus for reminding of the issue.

----------------------------------------------------------------------

21 Dec 2023, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    allow nim->nvox to exceed int32_t range with NIFTI-1 output

    Thanks to P Rais-Roldan for noting the discrepancy.

21 Dec 2023, RC Reynolds, afni-general, level 1 (MICRO), type 2 (NEW_OPT)
    add AFNI_NIFTI_WRITE_TYPE to override choice of NIFTI-1 or -2 output

----------------------------------------------------------------------

08 Dec 2023, RC Reynolds, build_afni.py, level 2 (MINOR), type 4 (BUG_FIX)
    copy README files into build_src; use prev directory, not prefix

    Thanks to D Glen for noting the missing README files.

----------------------------------------------------------------------

07 Dec 2023, RC Reynolds, @update.afni_binaries, level 2 (MINOR), type 2 (NEW_OPT)
    add -overwrite_build

    This option is now required to allow @uab to run and overwrite
    a local binary package that was created using build_afni.py.

----------------------------------------------------------------------

04 Dec 2023, RC Reynolds, timing_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    allow more n/a fields in tsv files

----------------------------------------------------------------------

27 Nov 2023, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    add some comments about build_afni.py

----------------------------------------------------------------------

24 Nov 2023, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -disp_ver_pylibs

    Show python library __version__ strings.
    Check for flask and flask_cors with -check_all.

----------------------------------------------------------------------

20 Nov 2023, RC Reynolds, build_afni.py, level 2 (MINOR), type 2 (NEW_OPT)
    add 'rsync_preserve' backup_method; rsync now cleans abin after backup

    Prior to this, abin was allowed to accumulate files.  That is no longer
    the default operation.

----------------------------------------------------------------------

14 Nov 2023, RC Reynolds, 3dNLfim, level 2 (MINOR), type 4 (BUG_FIX)
    when creating non-bucket output, if float output, make all volumes float

    Thanks to V Dinh for noting the problem.

----------------------------------------------------------------------

30 Oct 2023, RC Reynolds, Makefile.macos_13_ARM_clang, level 2 (MINOR), type 5 (MODIFY)
    (w/DG) use homebrew gcc-13, and downgrade -O2 to -O1

    We have yet to resolve why /usr/bin/gcc led to a 3dSkullStrip crash.
    And brew gcc-13 led to a 3dvolreg crash, but that seems to be due to
    failed compiler optimizations.  Using -O1 works.

----------------------------------------------------------------------

12 Oct 2023, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 5 (MODIFY)
    only require flat_namespace if 10.12_local or 10.7_local

----------------------------------------------------------------------

10 Oct 2023, RC Reynolds, init_user_dotfiles.py, level 2 (MINOR), type 5 (MODIFY)
    allow -do_updates to override all updates from -test

10 Oct 2023, RC Reynolds, build_afni.py, level 2 (MINOR), type 5 (MODIFY)
    require -build_root; tail build errors; default to atlas updating

----------------------------------------------------------------------

28 Sep 2023, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -disp_R_ver_for_lib

28 Sep 2023, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    split OS_notes_macos_12 by CPU

    Now have : OS_notes.macos_12_{ARM,intel}_a_admin.zsh
         and : OS_notes.macos_12_{ARM,intel}_b_user.tcsh
    The b_user scripts still just run OS_notes.macos_12_b_user.tcsh.

----------------------------------------------------------------------

26 Sep 2023, RC Reynolds, build_afni.py, level 2 (MINOR), type 2 (NEW_OPT)
    install NiiVue; add option -update_atlases, to download newest package

----------------------------------------------------------------------

22 Sep 2023, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    in examples, change MNI152_T1_2009c+tlrc to MNI152_2009_template.nii.gz

----------------------------------------------------------------------

21 Sep 2023, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    capture the platform of the R version

----------------------------------------------------------------------

18 Sep 2023, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -use_asc_path, to test using directory of afni_system_check.py

----------------------------------------------------------------------

15 Sep 2023, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    have all R wrapper scripts (scripts_for_r) return the status from R

    To match returning non-zero when loading R_io.so.

15 Sep 2023, RC Reynolds, init_user_dotfiles.py, level 1 (MICRO), type 6 (ENHANCE)
    in .zshrc, pass -i to compinit, to ignore insecure files

    Whines from compaudit: files not owned by root or user or with perm g+w.
    Done with D Glen.

----------------------------------------------------------------------

13 Sep 2023, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    create OS_notes.macos_12_b_user.tcsh to be an executable install script

    Have OS_notes.macos_12_x86_64_b_user.txt just execute the new script.
    Reluctantly done to appease D Glen (thanks).

13 Sep 2023, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 4 (BUG_FIX)
    have 1d_tool.py -write_xstim create an empty file if empty matrix

    This got lost, but is needed for @ss_review_basic on rest data.

----------------------------------------------------------------------

08 Sep 2023, RC Reynolds, build_afni.py, level 2 (MINOR), type 2 (NEW_OPT)
    new operation: by default, back up and install the build results

    This is a change in behavior.  Upon a successful build, default is now
    back up the ABIN and install new binaries and atlases.
    Add options -abin, -do_backup, -do_install, -backup_method.

----------------------------------------------------------------------

07 Sep 2023, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    change afni/build to afni_build in OS_notes.macos_12_x86_64_b_user.txt

    Thanks to spartaaa-git@github.com for pointing that out.

----------------------------------------------------------------------

01 Sep 2023, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_slice_timing_gentle

    Also, use mean timing diff rather than median.

----------------------------------------------------------------------

28 Aug 2023, RC Reynolds, test_afni_prog_help.tcsh, level 2 (MINOR), type 6 (ENHANCE)
    rename from test.afni.prog.help and moved to scripts_install

    This is now distributed for more general testing.

28 Aug 2023, RC Reynolds, build_afni.py, level 1 (MICRO), type 5 (MODIFY)
    apply renamed test_afni_prog_help.tcsh program

----------------------------------------------------------------------

21 Aug 2023, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    apply uncensored TRs via a text file rather than command line

    With a long encoded TR list, file names might exceed the allowable limit
    (currently about 5100 bytes), e.g. data+tlrc'[3,5..7,10..13,23]'.
    Instead, use the 1dcat functionality to get those volume indices from
    a text file.  So if trs.txt contains 3 5 6 7 10 11 12 13 23,
    then one can read the volumes using data+tlrc'[1dcat trs.txt]'.
    Thanks to G Edwards and S Japee for diagnosing the issue.

----------------------------------------------------------------------

17 Aug 2023, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -slice_pattern_to_times

    Output timing given known to3d tpattern, nslices, multiband level, and TR.

17 Aug 2023, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    rewrite -show_slice_timing_pattern

    Be more forgiving in timing when trying to detect a pattern.

----------------------------------------------------------------------

16 Aug 2023, RC Reynolds, dcm2niix_afni, level 1 (MICRO), type 6 (ENHANCE)
    sync crorden/dcm2niix_console with repo, version v1.0.20230411

    Thanks to C Rorden for the update.

16 Aug 2023, RC Reynolds, dcm2niix_afni, level 1 (MICRO), type 6 (ENHANCE)
    turn off local signing in crorden/dcm2niix_console/makefile

----------------------------------------------------------------------

08 Aug 2023, RC Reynolds, 3dLocalstat, level 2 (MINOR), type 4 (BUG_FIX)
    when creating bucket output, clear time dimension

    Thanks to Philip on MB for noting the problem.

----------------------------------------------------------------------

27 Jul 2023, RC Reynolds, afni-general, level 2 (MINOR), type 1 (NEW_PROG)
    distribute niiview as niiview_afni.umd.js

    This is intended to be used via P Taylor's APQC HTML report.
    Requested by P Taylor.

----------------------------------------------------------------------

24 Jul 2023, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    if -tlrc_NL_warped_dsets, require -tlrc_base

    Require user to verify which template was used to make warped dsets.
    Requested by D Glen.

----------------------------------------------------------------------

21 Jul 2023, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix help for -regress_make_corr_vols

    It WAS ave corr, but as of Jan 2020, it is corr of voxels vs ave.
    Thanks to D Glen for noting the discrepancy.

----------------------------------------------------------------------

19 Jul 2023, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix use of min instead of minor

    Thanks to @dojoonyi for letting us know.

----------------------------------------------------------------------

26 Jun 2023, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    write NIFTI-2 if dimensions require it

----------------------------------------------------------------------

22 Jun 2023, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    pass tlrc_base uvar as template

    Sorry, PT.

----------------------------------------------------------------------

20 Jun 2023, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    under linux, check for shared dependencies of R_io.so

----------------------------------------------------------------------

14 Jun 2023, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    default to -radial_correlate_blocks errts, if none given

----------------------------------------------------------------------

08 Jun 2023, RC Reynolds, Makefile.INCLUDE, level 2 (MINOR), type 6 (ENHANCE)
    add build maker to AFNI_version.txt

08 Jun 2023, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 5 (MODIFY)
    turn off check for PyQt4

----------------------------------------------------------------------

07 Jun 2023, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    start looking for dependent libraries (under linux for now)

    Also, rearranged some of the output.
    Done at the behest of P Taylor.

----------------------------------------------------------------------

02 Jun 2023, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fix -regress_errts_prefix for surface analysis

    It was missing $hemi to specify the hemisphere.
    Thanks to A Gilemore for bringing up the issue.

----------------------------------------------------------------------

12 May 2023, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    R-3.6.3.nn.pkg has been moved to cran-archive.r-project.org

    Thanks to Sally D for letting us know.

12 May 2023, RC Reynolds, Makefile.macos_13_ARM_clang, level 1 (MICRO), type 5 (MODIFY)
    comment out EXTRA_INSTALL_FILES

    Might vary, and is not needed for non-distribution system.

----------------------------------------------------------------------

10 May 2023, RC Reynolds, Makefile.macos_12_x86_64, level 2 (MINOR), type 2 (NEW_OPT)
    add Makefile, updates, and OS_notes

----------------------------------------------------------------------

05 May 2023, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    distribute prog_list.txt (and _bin and _scripts)

    Later we will (modify) and distribute test.afni.prog.help, perhaps.

05 May 2023, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 4 (BUG_FIX)
    fix error cur_afni error if no AFNI is present

    This was failing to finish setting up dot files.

----------------------------------------------------------------------

02 May 2023, RC Reynolds, RetroTS.py, level 1 (MICRO), type 5 (MODIFY)
    numpy.complex() is deprecated, use complex()

----------------------------------------------------------------------

27 Apr 2023, RC Reynolds, Isosurface, level 2 (MINOR), type 4 (BUG_FIX)
    include updates for the 2002.08.12 MarchingCubes code base

    Thanks to C Rorden for providing an updated translation.

----------------------------------------------------------------------

25 Apr 2023, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    note possibly using the regress block in -radial_correlate_blocks

    This might be particularly useful with ANATICOR.

----------------------------------------------------------------------

20 Apr 2023, RC Reynolds, NIFTI, level 2 (MINOR), type 6 (ENHANCE)
    sync with NIFTI-Imaging/nifti_clib

----------------------------------------------------------------------

19 Apr 2023, RC Reynolds, APMULTI_Demo1_rest, level 2 (MINOR), type 6 (ENHANCE)
    add do/run_40* scripts

    These are in the apmulti_scripts repo.

----------------------------------------------------------------------

14 Apr 2023, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    add Makefile.linux_rocky_8 and OS_notes.linux_rocky_8.txt

    These should work on RHEL/CentOS/Rocky/Almalinux 8.
    This is now a new build package.

----------------------------------------------------------------------

06 Apr 2023, P Taylor, afni_util.py, level 2 (MINOR), type 0 (GENERAL)
    Add new functions for shell_com logging (kind like history ).

    write_afni_com_log(), proc_log(), format_log_dict().

06 Apr 2023, P Taylor, afni_base.py, level 2 (MINOR), type 0 (GENERAL)
    Add new attribute/methods for shell_com logging (kinda like history).

    save_log, add_to_log, shell_log, etc.

----------------------------------------------------------------------

03 Apr 2023, RC Reynolds, @diff.tree, level 2 (MINOR), type 6 (ENHANCE)
    update @diff.tree, @diff.files: possibly switch to meld if no xxdiff

    Be automatic, rather than forcing one to use '-diff_prog meld'.

----------------------------------------------------------------------

03 Mar 2023, P Taylor, auto_warp.py, level 2 (MINOR), type 2 (NEW_OPT)
    Put in -hview functionality, to show full help.

    Running with no opts will also show FULL help (not annoying short one!).

----------------------------------------------------------------------

01 Mar 2023, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_pretty_command, to print a more readable one

    Append this to a current command to generate prettier one, not to run it.

----------------------------------------------------------------------

27 Feb 2023, RC Reynolds, xmat_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -choose_nonzero_cols

    This is to exclude all-zero columns for condition number of chosen cols.

27 Feb 2023, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_indices_allzero

    List indices of all-zero coluns.

----------------------------------------------------------------------

19 Feb 2023, RC Reynolds, build_afni.py, level 3 (MAJOR), type 1 (NEW_PROG)
    compile AFNI

      - download from github
      - download AFNI atlases
      - compile
      - suggest rsync (will apply with some options, later)

----------------------------------------------------------------------

17 Feb 2023, RC Reynolds, 3dDeconvolve, level 2 (MINOR), type 4 (BUG_FIX)
    when counting events, default (with GUESS) to GLOBAL

    Previously, when the user did not specify either -local_times or
    -global_times, the number of events (and therefore IM regressors)
    was based on local time run length, so many event regressors might
    not be included.
    Change the default to be based on -global_times.
    If IM, warn if the user did not specify the timing type.
    Thanks to M Hoptman for letting us know of the problem.

----------------------------------------------------------------------

08 Feb 2023, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    give error message when image writing fails on missing external program

    Warn on missing programs cjpeg and pnmtopng

----------------------------------------------------------------------

07 Feb 2023, RC Reynolds, @RetinoProc, level 1 (MICRO), type 5 (MODIFY)
    as with afni_proc.py, get SurfSmooth parms from smrec file

----------------------------------------------------------------------

06 Feb 2023, RC Reynolds, init_user_dotfiles.py, level 2 (MINOR), type 6 (ENHANCE)
    add -shell_list and prep for possible librification

06 Feb 2023, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    show multiband level and timing patternn in basic output

06 Feb 2023, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    include output from init_user_dotfiles.py -test

06 Feb 2023, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    propagate slice_pattern from any -tshift_opts_ts -tpatttern

----------------------------------------------------------------------

04 Feb 2023, RC Reynolds, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    add timing_to_slice_pattern() - to determine known slice time patterns

04 Feb 2023, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_slice_timing_pattern

----------------------------------------------------------------------

03 Feb 2023, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    actually fail (not just warn) on inconsistent num echoes

    Thanks to T Weiss bringing up the issue.

----------------------------------------------------------------------

01 Feb 2023, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    get SurfSmooth params from smrec dset

    Thanks to Erin G for bringing up the issue.

----------------------------------------------------------------------

24 Jan 2023, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add QC output to ricor block

24 Jan 2023, RC Reynolds, 3dvolreg, level 2 (MINOR), type 6 (ENHANCE)
    add error message for trimming weight set to empty

    For now, still let it crash.  Try to trap in startup_lsqfit later.

----------------------------------------------------------------------

17 Jan 2023, P Taylor, 3dAutobox, level 2 (MINOR), type 6 (ENHANCE)
    And just like that, update/improve the ijkord functionality and format.

    Also explain more clearly what is happening in a help section.

17 Jan 2023, P Taylor, 3dAutobox, level 2 (MINOR), type 2 (NEW_OPT)
    More new options, in particular for ijkord (-> useful for 3dcalc expr).

    Also clean up other features/help. Add -npad_safety_on, too.

----------------------------------------------------------------------

11 Jan 2023, P Taylor, @chauffeur_afni, level 1 (MICRO), type 6 (ENHANCE)
    Extra check of a couple of options, that only correct key words are used.

    Done for the '-left_is_* ..' opts.

----------------------------------------------------------------------

10 Jan 2023, P Taylor, convert_cdiflist_to_grads.py, level 2 (MINOR), type 6 (ENHANCE)
    Output more information if the input cdiflist appears to be ragged.

    Help pinpoint the potential problem row for the user.

----------------------------------------------------------------------

06 Jan 2023, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 2 (NEW_OPT)
    Add '-vstat_list' opt, so user can enter label bases for vstat in APQC.

    HTML still has up to 5 automatically chosen vols by def in vstat.

----------------------------------------------------------------------

03 Jan 2023, RC Reynolds, timing_tool.py, level 2 (MINOR), type 4 (BUG_FIX)
    fix -write_tsv_cols_of_interest with -tsv_labels

----------------------------------------------------------------------

23 Dec 2022, RC Reynolds, init_user_dotfiles.py, level 3 (MAJOR), type 1 (NEW_PROG)
    evaluate or initialize dot/RC files for running AFNI

    From the perspective of:
        i) adding a directory (ABIN?) to the PATH
       ii) sourcing the apsearch all_progs.COMP file (per shell)
      iii) (for macs) adding flat_namespace to DYLD_LIBRARY_PATH

----------------------------------------------------------------------

16 Dec 2022, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    update mask order in examples 6,6b (mask then blur)

----------------------------------------------------------------------

09 Dec 2022, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    add more detail to afni_system_check.py -help_dot_files

----------------------------------------------------------------------

07 Dec 2022, RC Reynolds, timing_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    add more detail to timing_tool.py -help_basis

----------------------------------------------------------------------

06 Dec 2022, P Taylor, @chauffeur_afni, level 1 (MICRO), type 0 (GENERAL)
    Put quotes around (hopefully) every path, so spaces in paths are OK.

    This is because of OneDrive.  Grrrr.

06 Dec 2022, P Taylor, @SSwarper, level 1 (MICRO), type 0 (GENERAL)
    Put quotes around (hopefully) every path, so spaces in paths are OK.

    This is because of OneDrive.  Grrrr.

----------------------------------------------------------------------

02 Dec 2022, P Taylor, @animal_warper, level 2 (MINOR), type 6 (ENHANCE)
    Add another QC image if  '-init_scale ..' is used.

    Useful to check if scaling is approximately appropriate.

----------------------------------------------------------------------

01 Dec 2022, P Taylor, @animal_warper, level 2 (MINOR), type 2 (NEW_OPT)
    Opt '-init_scale ..' to provide initial len scaling before affine align.

    Useful if input is much smaller/bigger than template.

01 Dec 2022, P Taylor, align_epi_anat.py, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug: using -pre_matrix with -output_dir was broken.

    Now internally use full path for pre_matrix (+bonus: check existence).

----------------------------------------------------------------------

27 Nov 2022, P Taylor, @SSwarper, level 1 (MICRO), type 0 (GENERAL)
    Update the help for integrating SSW with afni_proc.py (AP).

    More readable, and simpler option usage

----------------------------------------------------------------------

23 Nov 2022, RC Reynolds, ap_run_simple_rest.tcsh, level 2 (MINOR), type 2 (NEW_OPT)
    add add -align_unifize_epi local and -compare_to options

23 Nov 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add examples simple_rest_QC, simple_rest_QC_na

    These are the DEFAULT comparison example in ap_run_simple_rest.tcsh.

23 Nov 2022, P Taylor, find_variance_lines.tcsh, level 2 (MINOR), type 6 (ENHANCE)
    Put a backslash before shell commands, so possible aliases aren't used.

    Also put numbers by each exit.  Thanks, S Torrisis!

----------------------------------------------------------------------

15 Nov 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -find_var_line_blocks for calling find_variance_lines.tcsh

----------------------------------------------------------------------

14 Nov 2022, RC Reynolds, find_variance_lines.tcsh, level 3 (MAJOR), type 1 (NEW_PROG)
    (w PT/DG) look for columns of high temporal variance in time series

    Will be a recommended QC option in afni_proc.py.

----------------------------------------------------------------------

09 Nov 2022, RC Reynolds, Makefile.macos_10.13_homebrew, level 1 (MICRO), type 5 (MODIFY)
    rename Makefile.macOS_10.13_homebrew to Makefile.macos_10.13_homebrew

    Done for consistency.

09 Nov 2022, P Taylor, 3dNetCorr, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: '-weight_corr ..' (diff application than '-weight_ts ..').

    Calculate weighted Pearson Correlation.  For Dante P.

----------------------------------------------------------------------

02 Nov 2022, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    add -sort_method case geme_xnat

    Sort as with geme_index, but pre-sort with RIN rather than alphabetical.

----------------------------------------------------------------------

13 Oct 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fix crash (in afni_base.py) if missing template

    Thanks to R Birn for noting the problem.

13 Oct 2022, RC Reynolds, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    add -no_hist to 3dinfo, to omit the HISTORY text

13 Oct 2022, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    okay, fix 'final DF fraction' to be wrt uncensored TRs

----------------------------------------------------------------------

12 Oct 2022, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    add basic output of 'final DF fraction'

----------------------------------------------------------------------

08 Oct 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    w/PT, reformat help examples and remove extra indentation

----------------------------------------------------------------------

06 Oct 2022, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    replace aparc.a2009s+aseg.nii with aparc.a2009s+aseg_REN_all.nii.gz

----------------------------------------------------------------------

05 Oct 2022, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 6 (ENHANCE)
    Output a run_instacorr_errts.tcsh script in the results directory.

    Very useful for data QC. Use it.  Quick now, here, now, always...

----------------------------------------------------------------------

22 Sep 2022, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: '-clusterize_wami ..', for Clustering functionality.

    Adds a 'whereami' table to the output dir.

----------------------------------------------------------------------

20 Sep 2022, RC Reynolds, timing_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    make -timing_to_1D overlap error more clear

    Thanks to the suffering of Y Takarae.

----------------------------------------------------------------------

06 Sep 2022, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    remove specific commits from cmake/afni_project_dependencies.cmake

    Build off of the current master.

----------------------------------------------------------------------

02 Sep 2022, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    trap NIFTI write errors (via new nifti_image_write_bricks_status())

    Have 3dcopy and 3dreit return non-zero status on failure.
    Thanks to J Teves for reminding us of this shortcoming.

----------------------------------------------------------------------

01 Sep 2022, P Taylor, 3dBrickStat, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug: when using '-min' with '-positive' (or sim) and no mask.

    Tended to return 0 (now fixed).  Thanks for mentioning, Xiaowei!

----------------------------------------------------------------------

30 Aug 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    make -show_example allow unique substring matching

    This allows one to run simply 'afni_proc.py -show_example 6b', say.
    Also, pass final_epi_dset as a uvar when there is no warped version.

30 Aug 2022, P Taylor, abids_json_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    Add -values_stay_str flag, so num/str items stay as str type.

    Otherwise, by default they attempt to be int, then float, then str.

30 Aug 2022, P Taylor, abids_json_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    Add -literal_keys flag, to turn off auto-replacement of spaces and [()].

    Also try to keep ints looking like ints.

----------------------------------------------------------------------

25 Aug 2022, P Taylor, 3ddelay, level 1 (MICRO), type 4 (BUG_FIX)
    Make a tweak so that certain pathological cases don't scupper all others.

    Thanks, D. Schwartz for pointing out this behavior.

----------------------------------------------------------------------

23 Aug 2022, P Taylor, p2dsetstat, level 1 (MICRO), type 0 (GENERAL)
    Expand stataux code range to 6.

    Includes chi-square now.

23 Aug 2022, P Taylor, dsetstat2p, level 1 (MICRO), type 0 (GENERAL)
    Expand stataux code range to 6.

    Includes chi-square now.

23 Aug 2022, P Taylor, 3ddelay, level 1 (MICRO), type 4 (BUG_FIX)
    Set correct dims being used from input dset in option_data struct.

    Fixes report, and some internal instances (like micro/no change?).

----------------------------------------------------------------------

19 Aug 2022, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    clean up some warnings in suma_utils.c (and retab and strip whitespace)

    Thanks to markjens@github for noting them.

----------------------------------------------------------------------

18 Aug 2022, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    in basic script, do not cat any pre_ss_warn file, as output is now a dict

    Thanks to PT for noting this.

18 Aug 2022, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 6 (ENHANCE)
    Display final EPI coverage mask on final space dset.

    Could be on template, final anatomical or vr_base.

18 Aug 2022, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 6 (ENHANCE)
    In warns block check for 3dDeconvolve.err text file for warns.

    If exists, most warns go to 'undecided' at the moment. Thanks, RCR!

----------------------------------------------------------------------

17 Aug 2022, RC Reynolds, ap_run_simple_rest.tcsh, level 2 (MINOR), type 6 (ENHANCE)
    use of -anat is now optional, only -epi is needed

17 Aug 2022, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    if tlrc block and -regress_ROI*, require -volreg_tlrc_warp

    Thanks to Mingbo on MB.

17 Aug 2022, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 5 (MODIFY)
    allow rebuild of cjpeg/djpeg/libjpeg.a when any is missing

----------------------------------------------------------------------

12 Aug 2022, RC Reynolds, afni-general, level 2 (MINOR), type 2 (NEW_OPT)
    add Makefile.linux_ubuntu_22_ARM_clang, as written by C Rorden

    Thanks to C Rorden for submitting the file.

12 Aug 2022, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 5 (MODIFY)
    replace obsolete two-suffix rule with (.h) prerequisites

    A target like .c.o or .c.$(SO) should not have extra prerequisites.
    Use the more expanded form of '%.o : %.c ...' instead.
    Also, fix an apparent unit var.

----------------------------------------------------------------------

11 Aug 2022, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: '-button_press ..', for Norm/Colr/Swap buttons.

    Adds in functionality from driving AFNI GUI.

----------------------------------------------------------------------

09 Aug 2022, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 5 (MODIFY)
    modify how censor dset is applied in get_max_displacement

----------------------------------------------------------------------

03 Aug 2022, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    3dDeconvolve currently misbehaves when there are no events for IM

    Have the program terminate with an error, until the problem is resolved.
    Thanks for T Clarkson for pointing out the problem.

----------------------------------------------------------------------

30 Jul 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    copy tlrc_base/template to results dir; add opt -tlrc_copy_base

    Done for QC and visualization purposes; requested by P Taylor.

----------------------------------------------------------------------

29 Jul 2022, RC Reynolds, afni_base.py, level 2 (MINOR), type 5 (MODIFY)
    update locate() : return 1 if found, even via @Find

----------------------------------------------------------------------

28 Jul 2022, RC Reynolds, Makefile.macos_10.12_local, level 2 (MINOR), type 6 (ENHANCE)
    add -Wl,-headerpad_max_install_names to linker command

    Make space for install_name_tool -change to use @executable_path.
    Thanks to witherscp on MB for noting the problem.

----------------------------------------------------------------------

27 Jul 2022, P Taylor, dsetstat2p, level 1 (MICRO), type 0 (GENERAL)
    Expand output precision and scale of calculability.

    Program used to run into trouble for large stat (bc of bc); now better.

27 Jul 2022, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 4 (BUG_FIX)
    In mecho block when using m_tedana on Mac OS: fix copying tedana QC HTML.

    Swap cp -> rsync, because Mac OS cp opts are diff than on Linux.

----------------------------------------------------------------------

26 Jul 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    when warping an anat follower, if appropriate, copy the label table

    Done at the behest of the mighty P Taylor.

----------------------------------------------------------------------

22 Jul 2022, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    add linux_fedora_28_shared; we now distribute linux_fedora_35_shared

----------------------------------------------------------------------

04 Jul 2022, P Taylor, 3dLocalUnifize, level 2 (MINOR), type 2 (NEW_OPT)
    Well, a new arg for '-local_mask ..' opt.

    Use arg value 'None' to turn off the default automasking now.

----------------------------------------------------------------------

24 Jun 2022, RC Reynolds, 3dmask_tool, level 1 (MICRO), type 5 (MODIFY)
    apply mask_epi_anat in help examples, rather than full_mask

----------------------------------------------------------------------

17 Jun 2022, RC Reynolds, NIFTI, level 2 (MINOR), type 2 (NEW_OPT)
    add and apply nifti_image_write_status in NIFTI-1 and -2

----------------------------------------------------------------------

13 Jun 2022, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    remove essentially duped final_epi_unif dset and uvar

----------------------------------------------------------------------

07 Jun 2022, P Taylor, @djunct_edgy_align_check, level 1 (MICRO), type 4 (BUG_FIX)
    Fix how the AMASK_FOCUS_* keywords apply for '-box_focus_slices ..'.

    They didn't work before, but now do/should/might/perhaps/pleeeez.

----------------------------------------------------------------------

06 Jun 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -align_unifize_epi local method, -align_opts_eunif

    To apply 3dLocalUnifize from P Taylor.

06 Jun 2022, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Add new ve2a QC, via new uvar final_epi_unif_dset.

    Also scale ulay=EPI brightness better for EPI-to-anat align imgs.

06 Jun 2022, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 2 (NEW_OPT)
    Some new opts to control ulay brightness, esp. for APQC HTML.

    New opts: '-ulay_range_am ..' and '-ulay_min_fac ..'

06 Jun 2022, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Some new opts to control ulay brightness, esp. for APQC HTML.

    New opts: '-ulay_range_am ..' and '-ulay_min_fac ..'

----------------------------------------------------------------------

03 Jun 2022, P Taylor, 3dLocalUnifize, level 2 (MINOR), type 1 (NEW_PROG)
    New program for unifizing brightness.

    Should be helpful for alignment.

----------------------------------------------------------------------

24 May 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -command_comment_style

    As requested by the ominous P Taylor.

----------------------------------------------------------------------

18 May 2022, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    allow for pb00 dsets in standard space

    Thanks to Erik (MB audachang) for noting it.

----------------------------------------------------------------------

17 May 2022, RC Reynolds, Makefile.INCLUDE, level 2 (MINOR), type 2 (NEW_OPT)
    add to prog lists

----------------------------------------------------------------------

11 May 2022, P Taylor, SurfLocalstat, level 2 (MINOR), type 4 (BUG_FIX)
    The 'mean' stat was accumulating int, not float, values.

    This effective truncation/'digitizing' error should be fixed now.

----------------------------------------------------------------------

10 May 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    do not add global line wrapper to QC block

    Avoid line wrappers in the generation of out.ap_uvars.txt (might happen
    when copy_anat dset has a very long name, for example).
    Thanks to E Chang for pointing out the issue.

10 May 2022, P Taylor, @djunct_overlap_check, level 1 (MICRO), type 2 (NEW_OPT)
    Add -echo opt, and can propagate.

    For debugging

10 May 2022, P Taylor, @djunct_edgy_align_check, level 1 (MICRO), type 2 (NEW_OPT)
    Add -echo opt, and can propagate.

    For debugging

10 May 2022, P Taylor, @SSwarper, level 1 (MICRO), type 2 (NEW_OPT)
    Add -echo opt, and can propagate.

    For debugging

10 May 2022, P Taylor, @SSwarper, level 1 (MICRO), type 0 (GENERAL)
    Update/fix to mask resampling if present and if deobliqueing with 3dWarp.

    Replace wsinc5 interp with NN interp---better for mask.  Thanks, RCR!

----------------------------------------------------------------------

06 May 2022, RC Reynolds, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    add functions slice_pattern_to_order, slice_pattern_to_timing

----------------------------------------------------------------------

03 May 2022, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    for anyos_* packages, test for update using AFNI_version.txt

03 May 2022, RC Reynolds, uber_subject.py, level 1 (MICRO), type 0 (GENERAL)
    update to deal with minor changes to python modules

----------------------------------------------------------------------

02 May 2022, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    add distribution packages anyos_text and anyos_text_atlas

----------------------------------------------------------------------

29 Apr 2022, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    prepare for the all-important anyos_text distribution

    Add Makefile.anyos_text and an install_text target in Makefile.Include.

29 Apr 2022, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    apply PRId64 for some int64_t printing

    Modified niml.h, niml_elemio.c, mri_transpose.c, thd_loaddblk.c.

----------------------------------------------------------------------

28 Apr 2022, RC Reynolds, gen_group_command.py, level 2 (MINOR), type 4 (BUG_FIX)
    afni_util.py:common_dir() : watch for the deadly JR scenario!

    Thanks to J Ritchie for unconvering this, peculiar, issue.

----------------------------------------------------------------------

27 Apr 2022, RC Reynolds, Makefile.macos_11_ARM_clang, level 2 (MINOR), type 5 (MODIFY)
    (w/dglen) modify recent mac builds to get all X packages from homebrew

    Modified Makefile.macos_11_ARM_clang, Makefile.macos_10.15_clang, and
    the corresponding other_builds/OS_notes files.

----------------------------------------------------------------------

23 Apr 2022, P Taylor, @afni_refacer_run, level 2 (MINOR), type 2 (NEW_OPT)
    Can specify which shell to use, because there are newer shell(s).

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

23 Apr 2022, P Taylor, @afni_refacer_make_master_addendum, level 2 (MINOR), type 0 (GENERAL)
    Now creates a v2.0 of the shell.

    The new shell removes more face.  Asked for by A. Basavaraj.

----------------------------------------------------------------------

22 Apr 2022, RC Reynolds, Dimon, level 3 (MAJOR), type 2 (NEW_OPT)
    add -sort_method cases rin and geme_rin

22 Apr 2022, RC Reynolds, afni, level 2 (MINOR), type 2 (NEW_OPT)
    add -no_frivolities option, to directly set that

22 Apr 2022, P Taylor, afni, level 2 (MINOR), type 4 (BUG_FIX)
    The '-bysub ..' opt wasn't working, because a 'find' cmd was bad.

    Reformatted the 'find', though it might still benefit from other tweaks.

----------------------------------------------------------------------

14 Apr 2022, P Taylor, @djunct_modal_smoothing_with_rep, level 3 (MAJOR), type 4 (BUG_FIX)
    Replacement was not occurring if ROIs were purged by modal smoothing.

    Fixed that bug, hopefully improving robustness to such error in future.

----------------------------------------------------------------------

12 Apr 2022, RC Reynolds, afni-general, level 2 (MINOR), type 2 (NEW_OPT)
    add Makefile.linux_fedora_35_shared and OS_notes.linux_fedora_35.txt

----------------------------------------------------------------------

06 Apr 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    allow for REML-only errts on surface

    Thanks to P Molfese for bringing it up.

----------------------------------------------------------------------

05 Apr 2022, RC Reynolds, 3dTshift, level 2 (MINOR), type 6 (ENHANCE)
    allow for shifting a single slice (or voxel) time series

    Also, add a help example demonstrating this.

----------------------------------------------------------------------

04 Apr 2022, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    update .circleci/config.yml, using docker version 19.03.13 to 20.10.11

    Done with P Taylor.

----------------------------------------------------------------------

01 Apr 2022, RC Reynolds, @radial_correlate, level 1 (MICRO), type 4 (BUG_FIX)
    create ulay in all cases

01 Apr 2022, P Taylor, 3dZipperZapper, level 2 (MINOR), type 2 (NEW_OPT)
    Add '-disp_def_params' so the user can see the default params.

    The params will also now get displayed during runtime.

01 Apr 2022, P Taylor, 3dZipperZapper, level 2 (MINOR), type 2 (NEW_OPT)
    Add many more '-min_* ..' options for controlling badness criteria.

    Asked for by user nseider: hope these are helpful!

01 Apr 2022, P Taylor, 3dZipperZapper, level 2 (MINOR), type 5 (MODIFY)
    Actually output the number of bad slices per volume.

    Previously had some ~fancy encoding about criterion of badness (why?).

01 Apr 2022, P Taylor, 3dZipperZapper, level 2 (MINOR), type 2 (NEW_OPT)
    New opts '-dont_use_*' to turn off some of the drop criteria at will.

    Also put in help descriptions about drop criteria, in Notes.

----------------------------------------------------------------------

22 Mar 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add ap_uvars dir_suma_spec, suma_specs

    Also, remove inappropriate -epi_strip from -align_opts_aea in example.

----------------------------------------------------------------------

20 Mar 2022, P Taylor, apqc_make_html.py, level 1 (MICRO), type 4 (BUG_FIX)
    Fix display of subj ID from 'Top' button in case when subj ID starts num.

    In such cases, the unicode char for next line was misinterpreted.

----------------------------------------------------------------------

18 Mar 2022, RC Reynolds, eg_main_chrono.py, level 1 (MICRO), type 6 (ENHANCE)
    add a little more edu

----------------------------------------------------------------------

17 Mar 2022, RC Reynolds, @radial_correlate, level 1 (MICRO), type 5 (MODIFY)
    change saved ulay to be from orig EPI (to avoid detrended one)

    Done to appease the scrutinous P Taylor.

----------------------------------------------------------------------

16 Mar 2022, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -show_tr_offsets

    See Example 10 d.

----------------------------------------------------------------------

15 Mar 2022, RC Reynolds, afni_util.py, level 2 (MINOR), type 4 (BUG_FIX)
    cast run_time_to_polort output to int, for py2.7

    Thanks to P Taylor for pointing it out.

----------------------------------------------------------------------

12 Mar 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    use aea.py instead of allin for extra -align_epi_ext_dset registration

    align_epi_anat.py would deal with a difference in obliquity

----------------------------------------------------------------------

10 Mar 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    run 3dAllineate for -align_epi_ext_dset to volreg base

10 Mar 2022, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug in 'mecho' QC block when m_tedana used with multiple runs.

    All buttons used to point to r01; now fixed.

----------------------------------------------------------------------

09 Mar 2022, RW Cox, 3dttest++, level 2 (MINOR), type 4 (BUG_FIX)
    Patch unfathomable problem with -permute and -covariates combined

    Covariate matrices are constructed BEFORE permutation is setup, and
    that caused a problem. Patched around that.

----------------------------------------------------------------------

08 Mar 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    apply -polort in @radial_correlate

----------------------------------------------------------------------

07 Mar 2022, RC Reynolds, @radial_correlate, level 2 (MINOR), type 2 (NEW_OPT)
    add -polort; default is 2

----------------------------------------------------------------------

06 Mar 2022, RC Reynolds, @diff.tree, level 1 (MICRO), type 2 (NEW_OPT)
    add -diff_prog

----------------------------------------------------------------------

03 Mar 2022, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    update block help; rename to quality control review

----------------------------------------------------------------------

02 Mar 2022, RC Reynolds, NIFTI, level 2 (MINOR), type 6 (ENHANCE)
    sync with nifti_clib repo

----------------------------------------------------------------------

01 Mar 2022, RC Reynolds, nifti_tool, level 3 (MAJOR), type 2 (NEW_OPT)
    allow conversion between any 2 int or float types (except float128)

    Add -copy_image, -convert2dtype, -convert_verify, -convert_fail_choice.
    Conversion operations happen in nt_image_read and nt_read_bricks,
    and can therefore be applied to most data-included operations.
    Requested by J Teves.

01 Mar 2022, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix removal of spaces with -combine_opts_tedana

    Thanks to J Teves for noting the problem.

01 Mar 2022, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    make pythonic the default html_review_style

    Done to appease the ever-demanding P Taylor.

----------------------------------------------------------------------

28 Feb 2022, RC Reynolds, 3dZcutup, level 1 (MICRO), type 4 (BUG_FIX)
    fix typo in bounds check on -keep (was backward)

    Thanks to Yixiang (on AFNI MB) for letting us know.

----------------------------------------------------------------------

20 Feb 2022, RC Reynolds, NIFTI, level 2 (MINOR), type 6 (ENHANCE)
    sync with nifti_clib

----------------------------------------------------------------------

18 Feb 2022, RC Reynolds, @Install_APMULTI_Demo2_realtime, level 3 (MAJOR), type 1 (NEW_PROG)
    new install script for APMULTI_Demo2_realtime

    This is a demo for running AFNI's real-time system, without needing to
    bother the scanner.  It demonstrates use if single- and multi-echo
    DICOM input, and various sets of data that can be passed from afni to
    an external program (realtime_receiver.py in this case).

----------------------------------------------------------------------

16 Feb 2022, RC Reynolds, Dimon, level 2 (MINOR), type 6 (ENHANCE)
    propagate obliquity in case of -ftype AFNI

16 Feb 2022, P Taylor, ap_run_simple_rest.tcsh, level 2 (MINOR), type 2 (NEW_OPT)
    Add opt '-compressor ..' so AFNI_COMPRESSOR env var can be set.

    Leads to created *.BRIK dsets getting compressed on disk.

----------------------------------------------------------------------

15 Feb 2022, RC Reynolds, gen_ss_review_table.py, level 1 (MICRO), type 5 (MODIFY)
    display SHOW_KEEP for subjects on -show_keepers

----------------------------------------------------------------------

14 Feb 2022, RC Reynolds, gen_ss_review_table.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_keepers

    Show table of subjects kept, rather than those with any outliers.
    Added on the authority of P Taylor.

----------------------------------------------------------------------

12 Feb 2022, DR Glen, 3dMean, level 2 (MINOR), type 2 (NEW_OPT)
    3dMean can compute max, min, absmax, signed_absmax

    3dMean keeps only one dataset in memory at a time
    and can process thousands of datasets. These options
    emulate the options across time in 3dTstat

----------------------------------------------------------------------

10 Feb 2022, RC Reynolds, afni_python_wrapper.py, level 2 (MINOR), type 4 (BUG_FIX)
    change import to try from afnipy first

    Biowulf has old afnipy/*.py files in abin.
    Thanks to P Kusmierek and P Taylor for reporting the problem.

10 Feb 2022, RC Reynolds, 3dPval, level 1 (MICRO), type 4 (BUG_FIX)
    fix dealing with an unknown option

    Previously warned, but forgot to skip option (or break, depending).
    Change to failure.

10 Feb 2022, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 4 (BUG_FIX)
    The 'pythonic' should be run if matplotlib ver is >=2.2, not just >2.2.

    Used incorrect comparison operator earlier. I know bc Biowulf told me so.

----------------------------------------------------------------------

09 Feb 2022, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    fix FIR blur padding

    As noted by PT, volumes were not being properly blurred near edges.
    Fix edge padding to be applied for entire FIR length, not just at
    full FIR offset.

----------------------------------------------------------------------

08 Feb 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -html_review_opts for passing options to apqc_make_tcsh.py

    Done for S Torrisi.

08 Feb 2022, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 2 (NEW_OPT)
    AP now can pass some '-html_review_opts ..' values to this prog.

    First one: '-mot_grayplot_off', for envelope-pushing user S Torrisi.

----------------------------------------------------------------------

07 Feb 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    create out.ap_uvars.json, and apply via gssrs -init_uvas_json

    A minor assist in helping P Taylor take over this spiral galaxy arm...

07 Feb 2022, P Taylor, 3dLocalstat, level 2 (MINOR), type 2 (NEW_OPT)
    Add a new stat:  MCONEX, the Michelson Contrast of Extrema.

    mconex = |A-B|/(|A|+|B|), where A=max and B=min.

----------------------------------------------------------------------

06 Feb 2022, P Taylor, 3dedgedog, level 2 (MINOR), type 0 (GENERAL)
    If -only2D opt is used, then don't blur in 3D, either.

    Also turn off optimized double blurring---essentially not time diff.

06 Feb 2022, P Taylor, 3dedgedog, level 2 (MINOR), type 4 (BUG_FIX)
    Fix some badness when 4D datasets are input.

    Also have a better scale value, based on 3dLocalstat sigma.

----------------------------------------------------------------------

03 Feb 2022, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -init_uvas_json

    Allow passing a json file, akin to passing many -uvar options.

03 Feb 2022, RC Reynolds, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    add data_file_to_json()

    This is a file conversion function that uses the util library.

03 Feb 2022, P Taylor, @chauffeur_afni, level 1 (MICRO), type 2 (NEW_OPT)
    Two new opts, using existing AFNI env vars

    Now have '-left_is_left ..' and '-left_is_posterior ..'.

----------------------------------------------------------------------

01 Feb 2022, P Taylor, @SSwarper, level 1 (MICRO), type 0 (GENERAL)
    Some clearer error messaging (esp. if not '-base ..' is used).

    Remove any non-programmatic exclamation marks--even from comments.

----------------------------------------------------------------------

29 Jan 2022, RC Reynolds, realtime_receiver.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -extras_on_one_line

    To display any 'extra' values using only one line, per TR.

29 Jan 2022, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    do not apply -execute if no new main script

    So -write_3dD_script will not -execute.

29 Jan 2022, RC Reynolds, README.environment, level 1 (MICRO), type 6 (ENHANCE)
    update AFNI_REALTIME_Mask_Vals with new modes

    Describe All_Data_light and ROIs_and_data.

----------------------------------------------------------------------

27 Jan 2022, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add options -write_sep, -write_style, to control format of output

----------------------------------------------------------------------

26 Jan 2022, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Update QC block: vorig now shows the epi-anat overlap.

    Shows overlap with ignoring obliquity and applying it (if present).

26 Jan 2022, P Taylor, @djunct_overlap_check, level 2 (MINOR), type 4 (BUG_FIX)
    Fix how -box_focus_slices opt works if one of the AMASK* keywords is used.

    Previously was producing error, not recognizing it wasn't a dset.

26 Jan 2022, P Taylor, @djunct_overlap_check, level 1 (MICRO), type 4 (BUG_FIX)
    Fix how -box_focus_slices opt works in another aspect.

    Now should actually be used (had to turn off internal coord selection).

----------------------------------------------------------------------

25 Jan 2022, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL)
    Update QC block: vorig now shows the 'copy_anat' dset.

    Applies in all cases; AP just passes along uvar.  Thanks, RCR!

25 Jan 2022, P Taylor, @djunct_overlap_check, level 2 (MINOR), type 2 (NEW_OPT)
    Add in existing chauffeur options: -no_cor, -no_axi, -no_sag.

    For APQC---vorig of initial overlap.

----------------------------------------------------------------------

24 Jan 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    pass combine_method to gen_ss_review_scripts.py

    This will be applied to the 'mecho' APQC section by P Taylor.

24 Jan 2022, RC Reynolds, suma, level 1 (MICRO), type 4 (BUG_FIX)
    fix dupe symbol (clippingPlaneFile) error for mac 12

    As reported by the international man of mystery, P Kundu.

24 Jan 2022, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 2 (NEW_OPT)
    add combine_method uvar, to pass on to APQC

24 Jan 2022, P Taylor, 3dDepthMap, level 1 (MICRO), type 0 (GENERAL)
    Renaming some internal funcs, for clarity.

    Multi-ROI funcs get '_GEN' in name now, to distinguish from '_BIN' ones.

----------------------------------------------------------------------

22 Jan 2022, P Taylor, 3dDepthMap, level 1 (MICRO), type 0 (GENERAL)
    Add functionality to '-rimify RIM' opt.

    A negative RIM value now leads to creating an anti-rim (or core) ROI.

22 Jan 2022, P Taylor, 3dDepthMap, level 1 (MICRO), type 2 (NEW_OPT)
    Add in the '-rimify RIM' opt, where RIM is a numerical value.

    Transform ROIs into boundaries up to depth RIM.

----------------------------------------------------------------------

20 Jan 2022, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL)
    Update QC block: vstat (for task-based FMRI cases).

    There will now be typically up to 5 stats dsets shown (GLT and other).

----------------------------------------------------------------------

19 Jan 2022, RC Reynolds, plug_realtime, level 1 (MICRO), type 6 (ENHANCE)
    slight addition to help and verb output for External_Datatset mode

----------------------------------------------------------------------

18 Jan 2022, RC Reynolds, @Install_APMULTI_Demo1_rest, level 3 (MAJOR), type 1 (NEW_PROG)
    (w/PT) new install script for APMULTI_Demo1_rest

    This is a demo for running various multi-echo processing methods
    on resting state data via afni_proc.py.
    (renamed from @Install_AP_MULTI_DEMO1)

18 Jan 2022, RC Reynolds, 3dDiff, level 2 (MINOR), type 5 (MODIFY)
    remove declarations after statements and init any free'd pointers

18 Jan 2022, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL)
    Add a new QC block:  mecho.

    This is for multi-echo (ME) FMRI; mostly for m_tedana right now.

18 Jan 2022, P Taylor, apqc_make_html.py, level 2 (MINOR), type 0 (GENERAL)
    New functions/functionality for the new QC block:  mecho.

    Also tweaked/updated the help.

----------------------------------------------------------------------

13 Jan 2022, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Do a check if the user asks for 'pythonic' APQC.

    If their system CAN'T HANDLE THE TRUTH, then downgrade kindly to 'basic'.

----------------------------------------------------------------------

12 Jan 2022, RC Reynolds, afni-general, level 2 (MINOR), type 0 (GENERAL)
    got rid of remaining uninit warnings (even if code was okay)

12 Jan 2022, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 4 (BUG_FIX)
    Add '-save_ftype ..' opt to this script, to make @animal_warper happy.

    Thanks, DRG, for pointing this out.

12 Jan 2022, P Taylor, 3dDepthMap, level 2 (MINOR), type 0 (GENERAL)
    Rename program:  3dEulerDist -> 3dDepthMap.

    The original name was odd for *Euclidean* Distance Transform, anyways...

----------------------------------------------------------------------

11 Jan 2022, RC Reynolds, tedana.py, level 2 (MINOR), type 5 (MODIFY)
    even without -seed, always apply a seed (default = 42)

    Now 2 executions should produce the same result, unless -seed is
    modified.  This matches the MEICA group tedana.

11 Jan 2022, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    add option -disp_ver_matplotlib

    Done under the now-even-more-strict-than-before orders from P Taylor.

11 Jan 2022, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    rename -combine_method m_tedana_tedort to m_tedana_m_tedort

    Reserve the former for future tedort projection via AFNI.

11 Jan 2022, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    if missing, init .afnirc/.sumarc

----------------------------------------------------------------------

10 Jan 2022, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    matplotlib is required ; check version >= 2.2

10 Jan 2022, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    if no .tcshrc, create one to source .cshrc

    Done under strict orders from P Taylor.

----------------------------------------------------------------------

05 Jan 2022, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    check for having both .cshrc and .tcshrc

----------------------------------------------------------------------

29 Dec 2021, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -write_simple_tsv

    Also, read and write default mod_* modifier columns.

29 Dec 2021, P Taylor, 3dedgedog, level 2 (MINOR), type 0 (GENERAL)
    Change default sigma_rad to be 1.4, not 2.0, to capture more details.

    This is because results look much better in human T1w dset.

----------------------------------------------------------------------

28 Dec 2021, RC Reynolds, 3dBrickStat, level 1 (MICRO), type 5 (MODIFY)
    commit pull request and further clarify -nan help

    Thanks to L Anderson for the pull request.

----------------------------------------------------------------------

27 Dec 2021, P Taylor, balloon, level 1 (MICRO), type 0 (GENERAL)
    Use printf(...) to display the program help, not fprintf(stderr, ...).

    In this way, the Sphinx help docs can see it.

----------------------------------------------------------------------

26 Dec 2021, P Taylor, 3dedgedog, level 2 (MINOR), type 2 (NEW_OPT)
    The -automask (and -automask+X) functionality is now, well, functional.

    The '-mask ..' option appears to be working, too.

26 Dec 2021, P Taylor, 3dEulerDist, level 2 (MINOR), type 0 (GENERAL)
    Give correct name of opt in prog help: -bounds_are_not_zero.

    Had forgotten the '_not' part previously.  Whoops.

26 Dec 2021, P Taylor, 3dedgedog, level 1 (MICRO), type 0 (GENERAL)
    Full histories in each output dset now.

    Had not been passing argc and argv previously.

----------------------------------------------------------------------

24 Dec 2021, P Taylor, 3dEulerDist, level 2 (MINOR), type 2 (NEW_OPT)
    Can process some dsets much faster now, with opt '-binary_only'.

    This is to flag that the input is a binary mask.

24 Dec 2021, P Taylor, 3dedgedog, level 1 (MICRO), type 0 (GENERAL)
    Because 3dEulerDist has new '-binary_only' opt, this prog is faster.

    This is because edgedog at the moment runs EDT on a binary dset.

----------------------------------------------------------------------

19 Dec 2021, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    misc updates for circleCI build based on xcode 12.4.0

    Remove thd_incorrelate.o from cmake libmri, etc.

19 Dec 2021, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_distmat

    Display nrows x nrows matrix of distances between all vector row pairs.
    Option added for jkblujus (AFNI MB).

----------------------------------------------------------------------

15 Dec 2021, RW Cox, prefiltered args, level 2 (MINOR), type 2 (NEW_OPT)
    Bulk input arguments

    These '<<XY' arguments are expanded in the prefilter-ing of command
    line arguments, to (potentially) add multiple new arguments to the
    program. The expansion can either be from filename globbing (X='G')
    or by input from a file (X='I'). The purpose of these options is to
    provide a way to circumvent the command line length limitations that
    Unix imposes, and also to allow internal filename globbing in programs
    that do not otherwise support that ability.

15 Dec 2021, RW Cox, 3dttest++ and 3dClustSim, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_CLUSTSIM_MEGA

    If AFNI_CLUSTSIM_MEGA is set to 'YES', then 3dttest++ will run 3dClustSim
    using the '-MEGA' option, which gives a finer grained output table of
    cluster size thresholds. Also, a few changes to 3dttest++ help to clarify
    that the 12 character limit for set labels is not the same as the 256
    character limit for dataset labels.

----------------------------------------------------------------------

09 Dec 2021, RC Reynolds, 3dmaskdump, level 2 (MINOR), type 4 (BUG_FIX)
    balls were not verified to be entirely within dset bounds

    Thanks to aclyn11 (AFNI MB) for noting the problem.

09 Dec 2021, RC Reynolds, 3dinfo, level 2 (MINOR), type 5 (MODIFY)
    further restrict -same_center

    Change def limit from 0.1*sum_vox_diags to 0.001*ave_vox_diag.

09 Dec 2021, P Taylor, 3dedgedog, level 1 (MICRO), type 2 (NEW_OPT)
    Add in '-only2D ..' opt, similar to 3dEulerDist's one.

    Now can get planar edges, instead of always volumetric ones.

09 Dec 2021, P Taylor, 3dEulerDist, level 1 (MICRO), type 4 (BUG_FIX)
    Fix new -only2D opt slice selection.

    Was not always getting correct planar direction; should be now.

----------------------------------------------------------------------

08 Dec 2021, P Taylor, 3dEulerDist, level 2 (MINOR), type 0 (GENERAL)
    Already change something internally about only2D calcs.

    Should just be simple change, being more general.

08 Dec 2021, P Taylor, 3dEulerDist, level 2 (MINOR), type 2 (NEW_OPT)
    Can run in 2D now, with opt '-only2D ..'.

    For Daniel Glen.

----------------------------------------------------------------------

07 Dec 2021, P Taylor, 3dedgedog, level 1 (MICRO), type 2 (NEW_OPT)
    Add in optional scaling of edges, via '-edge_bnd_scale'. B

    Related but slightly different scaling based on '-edge_bnd_side' opt.

----------------------------------------------------------------------

03 Dec 2021, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add -combine_method m_tedana_tedort

    Now have MEICA group tedana methods:
        m_tedana, m_tedana_OC, m_tedana_tedort

03 Dec 2021, P Taylor, 3dedgedog, level 1 (MICRO), type 1 (NEW_PROG)
    Calculate edges with the Difference of Gaussian (DOG) approach.

    Thanks to DR Glen and C Rorden for discussions/suggestions on this.

----------------------------------------------------------------------

02 Dec 2021, P Taylor, afni, level 1 (MICRO), type 0 (GENERAL)
    Adding the description of existing option(s) in the program help.

    The opts are the synonyms: '-notcsv', '-notsv', '-nocsv'.

----------------------------------------------------------------------

01 Dec 2021, P Taylor, 3dEulerDist, level 2 (MINOR), type 4 (BUG_FIX)
    Was getting incorrect voxel scaling along a couple axes---fixed now.

    Also re-arrange functions to be easier to call from other funcs.

----------------------------------------------------------------------

30 Nov 2021, P Taylor, 3dEulerDist, level 2 (MINOR), type 1 (NEW_PROG)
    New C prog for Eulerian Distance Transform (EDT) for ROI-based dsets.

    Calculate distances to boundaries within a FOV.

30 Nov 2021, P Taylor, 3dEdu_01_scale, level 1 (MICRO), type 0 (GENERAL)
    Added many more internal comments, e.g., codebase references.

    Thanks for the discussion+suggestions, J Teves!

----------------------------------------------------------------------

26 Nov 2021, RC Reynolds, 3dGrayplot, level 1 (MICRO), type 4 (BUG_FIX)
    cs_pv.c: xt no longer malloc'd

26 Nov 2021, P Taylor, 3dEdu_01_scale, level 1 (MICRO), type 0 (GENERAL)
    Renaming of 3dEduProg.  Simplifying some inner workings

    Basic AFNI program example.

26 Nov 2021, P Taylor, 3dEduProg, level 1 (MICRO), type 1 (NEW_PROG)
    A new program for people to learn to write AFNI progs.

    Perhaps a bit more basic I/O and usage than 3dToyProg.

----------------------------------------------------------------------

24 Nov 2021, RC Reynolds, 3dmaskdump, level 2 (MINOR), type 4 (BUG_FIX)
    make boxes tight; scale radius to voxel counts

    Tighten boxes and balls to not include unrequested voxels.
    Scaling the radius allows for sub-mm voxels.

24 Nov 2021, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    put space_to_NIFTI_code() into libmri

    To satisfy the evil designs of afni_proc.py.

----------------------------------------------------------------------

21 Nov 2021, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add updates for current tedana; add -help_tedana_files

----------------------------------------------------------------------

17 Nov 2021, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    handle uninit and if block in debugtrace.c, suma_datasets.c

----------------------------------------------------------------------

16 Nov 2021, P Taylor, afni_system_check.py, level 1 (MICRO), type 0 (GENERAL)
    Add 'SLURM cluster'-specific check for number of CPUs.

    Phase two of secret plan to steal all of Rick's programs.  Bwahahahaha.

----------------------------------------------------------------------

15 Nov 2021, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    pull THD_nifti_process_afni_ext() out of thd_niftiread.c:THD_open_nifti()

    This should have no effect.
    It is preparation for testing the AFNI extension in NIFTI against dset.

----------------------------------------------------------------------

13 Nov 2021, P Taylor, afni_system_check.py, level 1 (MICRO), type 2 (NEW_OPT)
    New '-disp_num_cpu' opt to display number of available CPUs.

    Phase one of secret plan to steal all of Rick's programs.  Bwahahaha.

----------------------------------------------------------------------

08 Nov 2021, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    add -milestones, to show interesting milestones for the program

08 Nov 2021, RC Reynolds, Dimon, level 1 (MICRO), type 2 (NEW_OPT)
    add -milestones

----------------------------------------------------------------------

07 Nov 2021, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -regress_opts_fwhmx (for adding options to 3dFWHMx)

    Added on the authority of S Torrisi.

----------------------------------------------------------------------

29 Oct 2021, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    on mac, check for standard R not in PATH

29 Oct 2021, P Taylor, @Install_NMT, level 2 (MINOR), type 0 (GENERAL)
    Update macaque template+atlas data.

    Now working/defaulting to NMT v2.1.

29 Oct 2021, P Taylor, @Install_MACAQUE_DEMO_REST, level 2 (MINOR), type 0 (GENERAL)
    Update macaque demo for resting state FMRI processing.

    New scripts, now working/defaulting to NMT v2.1.

----------------------------------------------------------------------

28 Oct 2021, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 5 (MODIFY)
    remove 2-run polort 0 cormat IDENTICAL automatic warnings

    Done for P Taylor, as they were getting flagged in APQC.

----------------------------------------------------------------------

27 Oct 2021, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    try to warn on insufficient disk space

    Check if any data partition has less than 5 GB available.
    Done to appease the mighty P Taylor.

27 Oct 2021, P Taylor, @animal_warper, level 2 (MINOR), type 4 (BUG_FIX)
    Opt '-extra_qw_opts ..' had wrong name in help file, '-qw_opts ..'.

    Corrected this, as well as usage.

----------------------------------------------------------------------

25 Oct 2021, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Improve QC outputs, and fix some chauffeur ranges.

    Hopefully easier to evaluate alignment now, among other features.

----------------------------------------------------------------------

23 Oct 2021, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    For ROI image QC, use ROI_glasbey_2048 now by default.

    CHARM has ROI values >256, so might as well go all in.

----------------------------------------------------------------------

22 Oct 2021, P Taylor, apqc_make_html.py, level 1 (MICRO), type 0 (GENERAL)
    Report a better output path in the 'done' message.

    The originally-output relative path was often not useful.

----------------------------------------------------------------------

21 Oct 2021, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    allow for previously set DYLD_LIBRARY_PATH

21 Oct 2021, P Taylor, @chauffeur_afni, level 1 (MICRO), type 0 (GENERAL)
    Max blowup factor is actually 8, not 4.

    So, allow that fuller range in the internal number check.

----------------------------------------------------------------------

20 Oct 2021, RC Reynolds, 3dDeconvolve, level 2 (MINOR), type 6 (ENHANCE)
    do not allocate errts/fitts on -x1D_stop

----------------------------------------------------------------------

18 Oct 2021, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    allow user-defined ROIs/masks to be used with -mask_apply

    Thank to D Picchioni for the suggestion.

----------------------------------------------------------------------

08 Oct 2021, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -show_xmat_stype_cols

    Display xmat columns for specified -stim_* regressor classes.

----------------------------------------------------------------------

02 Oct 2021, P Taylor, @SSwarper, level 2 (MINOR), type 0 (GENERAL)
    Copy input anat (and any mask_ss) into the output directory.

    Can be useful for checking if things went awry (do they ever?!?).

----------------------------------------------------------------------

01 Oct 2021, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -show_xmat_stim_info

    Display xmat info for -stim_* regressor classes.

----------------------------------------------------------------------

29 Sep 2021, P Taylor, 3dAllineate, level 3 (MAJOR), type 0 (GENERAL)
    3dAllineate: set -lpa+ to re-include 'ov' in its recipe---for stability.

    This makes it closer to historical form (but no 'mi' still).

29 Sep 2021, P Taylor, lesion_align, level 2 (MINOR), type 0 (GENERAL)
    Just running '-help' leads to lesion_outs.txt to be created and populated.

    ... and it also got overwritten oddly.  Move those lines further down.

29 Sep 2021, P Taylor, @MakeLabelTable, level 2 (MINOR), type 4 (BUG_FIX)
    Fix behavior with longnames---just needed a quote around var.

    Should work now.  Also update help.

----------------------------------------------------------------------

27 Sep 2021, RW Cox, AFNI GUI, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_INSTACORR_JUMP

    If YES (default), Shift+Ctrl+click sets the instacorr seed and jumps the
    crosshairs to that location. If NO, sets the instacorr seed but there is
    no crosshair jump. (For Phil Kohn)

27 Sep 2021, P Taylor, lesion_align, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, fat_proc_map_to_dti, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, fat_proc_imit2w_from_t1w, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, fat_proc_dwi_to_dt, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, fat_proc_decmap, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, fat_proc_convert_dcm_anat, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, fat_proc_axialize_anat, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, fat_proc_align_anat_pair, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, adjunct_suma_fs_mask_and_qc, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, adjunct_apqc_tsnr_general, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, @djunct_overlap_check, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, @djunct_4d_imager, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, @chauffeur_afni, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, @afni_refacer_run, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

27 Sep 2021, P Taylor, @SSwarper, level 2 (MINOR), type 0 (GENERAL)
    On/about Aug 23, 2021, default label_sizes in image windows changed.

    That shrunk fonts down one size; now bump back up @chauffeur_afni calls.

----------------------------------------------------------------------

23 Sep 2021, RC Reynolds, 3dTshift, level 1 (MICRO), type 6 (ENHANCE)
    update help to connect tzero to stimulus timing in 3dDeconvolve

    Might want to subtract 'tzero' from stimulus event times.

23 Sep 2021, P Taylor, @epi_b0_corr.py, level 2 (MINOR), type 2 (NEW_OPT)
    Had been missing the internal processing of option '-epi_pe_bwpp'.

    ... which has now been added in.

23 Sep 2021, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Can now perform clusterizing, with Alpha+Boxed on, like in GUI.

    New opt '-clusterize ..' for some commands; see help/NOTES for full info.

----------------------------------------------------------------------

21 Sep 2021, RC Reynolds, 3dTshift, level 2 (MINOR), type 6 (ENHANCE)
    propagate toffset, if not zero

21 Sep 2021, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 2 (NEW_OPT)
    Add in new opts to turn off images in particular view planes being made.

    These are '-no_cor', '-no_axi', '-no_sag'.  First will help APQC.

21 Sep 2021, P Taylor, adjunct_apqc_tsnr_general, level 2 (MINOR), type 2 (NEW_OPT)
    Add in new opts to turn off images in particular view planes being made.

    These are '-no_cor', '-no_axi', '-no_sag'.  First will help APQC.

21 Sep 2021, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 2 (NEW_OPT)
    Add in new opts to turn off images in particular view planes being made.

    These are '-no_cor', '-no_axi', '-no_sag'.  First will help APQC.

21 Sep 2021, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Add in new opts to turn off images in particular view planes being made.

    These are '-no_cor', '-no_axi', '-no_sag'.  First will help APQC.

----------------------------------------------------------------------

20 Sep 2021, P Taylor, @grayplot, level 2 (MINOR), type 0 (GENERAL)
    apsearchize.

    Make help visible in editor with '@grayplot -hview'.

20 Sep 2021, P Taylor, 3dGrayplot, level 2 (MINOR), type 2 (NEW_OPT)
    Add '-raw_with_bounds ..' to display raw values in arbitrary interval.

    Maybe most useful if data have been scaled.

----------------------------------------------------------------------

10 Sep 2021, RC Reynolds, slow_surf_clustsim.py, level 1 (MICRO), type 6 (ENHANCE)
    add web formatting to help

----------------------------------------------------------------------

09 Sep 2021, P Taylor, @djunct_overlap_check, level 1 (MICRO), type 0 (GENERAL)
    Shebang changed from csh to tcsh.

    For uniformity/simplicity, and to avoid issues on occasional system.

09 Sep 2021, P Taylor, @djunct_glue_imgs_vert, level 1 (MICRO), type 0 (GENERAL)
    Shebang changed from csh to tcsh.

    For uniformity/simplicity, and to avoid issues on occasional system.

09 Sep 2021, P Taylor, @djunct_edgy_align_check, level 1 (MICRO), type 0 (GENERAL)
    Shebang changed from csh to tcsh.

    For uniformity/simplicity, and to avoid issues on occasional system.

09 Sep 2021, P Taylor, @djunct_anonymize, level 1 (MICRO), type 0 (GENERAL)
    Shebang changed from csh to tcsh.

    For uniformity/simplicity, and to avoid issues on occasional system.

09 Sep 2021, P Taylor, @RenamePanga, level 1 (MICRO), type 0 (GENERAL)
    Shebang changed from csh to tcsh.

    For uniformity/simplicity, and to avoid issues on occasional system.

09 Sep 2021, P Taylor, @Purify_1D, level 1 (MICRO), type 0 (GENERAL)
    Shebang changed from csh to tcsh.

    For uniformity/simplicity, and to avoid issues on occasional system.

09 Sep 2021, P Taylor, @FindAfniDsetPath, level 1 (MICRO), type 0 (GENERAL)
    Shebang changed from csh to tcsh.

    For uniformity/simplicity, and to avoid issues on occasional system.

09 Sep 2021, P Taylor, @4Daverage, level 1 (MICRO), type 0 (GENERAL)
    Shebang changed from csh to tcsh.

    For uniformity/simplicity, and to avoid issues on occasional system.

----------------------------------------------------------------------

31 Aug 2021, RW Cox, 3dTcorr1D/3dTcorrelate, level 2 (MINOR), type 4 (BUG_FIX)
    Change labels and statcode for -Fisher option

    Sir Paul pointed out that these programs didn't have the correct
    statcode when the Fisher transform was ordered, and also that the labels
    were confusing. Fixed it so if -Fisher was used, the statcode is FIZT vs
    FICO, and the labels have 'atanh()'

31 Aug 2021, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    add option -gert_chan_digits, to specify num digits for channel in name

31 Aug 2021, P Taylor, @afni_refacer_make_master, level 2 (MINOR), type 0 (GENERAL)
    Change default cost function to 'lpa', from 'ls'.

    Should be better? There is an opt to change, as necessary.

----------------------------------------------------------------------

30 Aug 2021, P Taylor, 3dNetCorr, level 2 (MINOR), type 2 (NEW_OPT)
    New opts: '-all_roi_zeros' and '-automask_off'.

    Basically, N ROIs can have NxN mat, even if ROI ave is all zeros.

----------------------------------------------------------------------

22 Aug 2021, P Taylor, lib_afni1D.py, level 1 (MICRO), type 4 (BUG_FIX)
    Afni1D.uncensor_from_vector() had a syntax error in one print call').

    Was missing a %, now fixed.

----------------------------------------------------------------------

20 Aug 2021, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -write_tsv_cols_of_interest

----------------------------------------------------------------------

19 Aug 2021, RW Cox, AFNI GUI, level 1 (MICRO), type 5 (MODIFY)
    Change top-of-image drawn label to resize font if drawn too large

----------------------------------------------------------------------

17 Aug 2021, RW Cox, 3dTfitter, level 2 (MINOR), type 6 (ENHANCE)
    Modified to use OpenMP

    3dTfitter.c, thd_fitter.c, and thd_lasso.c

----------------------------------------------------------------------

14 Aug 2021, RC Reynolds, coxplot, level 1 (MICRO), type 4 (BUG_FIX)
    remove duplicate symbols zzzplt_ and zzpltr_

    Done at the behest of D Glen.

----------------------------------------------------------------------

10 Aug 2021, RW Cox, 3dTfitter, level 2 (MINOR), type 1 (NEW_PROG)
    Add -LCB option for block-wise LASSO penalties

    LCB = LASSO Centro Block
    The penalty in a block is
      sum{ ABS[ beta[i] - centromean(beta[i],...) ] }
    which is intended to make all the beta[i] in a block shrink towards a
    common value, rather than towards 0. The intent is to use this with IM
    regression models from 3dDeconvolve, to reduce outliers in the
    stimulus-wise beta estimates.

10 Aug 2021, P Taylor, fat_proc_align_anat_pair, level 2 (MINOR), type 5 (MODIFY)
    No longer worry about even/odd slice output (and remove '-no_fs_prep').

    Dealt with an old non-issue.

----------------------------------------------------------------------

29 Jul 2021, P Taylor, @djunct_overlap_check, level 2 (MINOR), type 2 (NEW_OPT)
    Add in @chauffeur_afni functionality:  -edgy_ulay.

----------------------------------------------------------------------

27 Jul 2021, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    fix typo in cubic resampling for viewer/3dresample (afni_slice.c)

    Done with P Taylor.

27 Jul 2021, P Taylor, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    fix typo in cubic resampling for viewer/3dresample (afni_slice.c)

    Copying Rick's fix. Thanks to user 'ymao' for raising this issue on the MB
    .

----------------------------------------------------------------------

26 Jul 2021, RC Reynolds, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    add options -dcx, -dcy, -dcz, dc3

    This provides the center of the volumetric grid, in DICOM coords.

----------------------------------------------------------------------

22 Jul 2021, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -multi_durations_from_offsets

    Added on the authority of W-L Tseng.

----------------------------------------------------------------------

20 Jul 2021, RW Cox, NIML library, level 3 (MAJOR), type 4 (BUG_FIX)
    NIML file: input failed if file over 2BG in size

    Due to storing filesize in int/long. Fix was to make it stored in
    int64_t, and fixing a few other places.

----------------------------------------------------------------------

16 Jul 2021, RW Cox, AFNI driver and GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug in overlay_label='xxx' driver

    Someone put the terminating NUL byte in wrong place. (Whoever did that
    should be beaten.)
    Also added the '\newline' escape as a way to add a line break to the
    overlay label string from the driver -- since control characters aren't
    really allowed.

16 Jul 2021, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    unindent EOF command terminator in example

    Thanks to I Berteletti for noting the problem.

----------------------------------------------------------------------

15 Jul 2021, RW Cox, AFNI GUI, level 1 (MICRO), type 5 (MODIFY)
    Change image overlay label plotting to allow for multiline strings

    Per DRG: multiline strings, being centered along the y-axis about their
    point of origin, would be pushed off the top of the image. Fixed by
    setting the y-coord of the origin point to include a factor for the
    number of lines.

15 Jul 2021, RC Reynolds, gen_ss_review_table.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -empty_is_outlier, to treat empty fields as outliers

    The default reporting of blank outlier test vals is now as non-outliers.
    Use this option to report as outliers.
    Added for the mighty P Taylor.

----------------------------------------------------------------------

13 Jul 2021, RC Reynolds, gen_ss_review_table.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix '-separator whitespace' in the case of blank lines

    Thanks to P Taylor for noting the problem.

----------------------------------------------------------------------

12 Jul 2021, RW Cox, Clusterize, level 1 (MICRO), type 6 (ENHANCE)
    Make min cluster size = 1 (from 2) for DR Glen.

----------------------------------------------------------------------

09 Jul 2021, P Taylor, @animal_warper, level 2 (MINOR), type 2 (NEW_OPT)
    New: '-aff_move_opt ..' to use more than just giant_move in aff step.

    Also bug fix for when no followers were entered.

----------------------------------------------------------------------

30 Jun 2021, P Taylor, adjunct_aw_tableize_roi_info.py, level 2 (MINOR), type 0 (GENERAL)
    Tweak column names *again*.

    Add in extra check that 3D vols are specified (e.g., with selectors).

----------------------------------------------------------------------

29 Jun 2021, RW Cox, 3dPval, level 2 (MINOR), type 2 (NEW_OPT)
    -log2 and -log10 options

    To convert statistics to minus the logarithm of p-value.

----------------------------------------------------------------------

28 Jun 2021, RW Cox, NIML, level 2 (MINOR), type 4 (BUG_FIX)
    Change byte count output for NI_write_element to int64_t

    And a few other functions as well. Reason: someone tried to create a 2.8
    GB .niml.dset file, which caused a problem when counting up the bytes
    output using a 32 bit int. Users -- what can you do with them?

28 Jun 2021, RW Cox, afni GUI, level 1 (MICRO), type 6 (ENHANCE)
    Add Linear back to Alpha fading, as well as default Quadratic

    Drive-able. Menu item under 'Thr' popup.

28 Jun 2021, P Taylor, adjunct_aw_tableize_roi_info.py, level 2 (MINOR), type 0 (GENERAL)
    Reformat report*.1D tables a bit: match key and col names.

    Also, improve/simplify/clarify names of cols.  Thanks, Adam Messinger.

28 Jun 2021, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Well, OK, not *really* a new opt---new values accepted for existing opt.

    The '-olay_alpha ..' can now take Linear or Quadratic (grazie, Bob).

----------------------------------------------------------------------

25 Jun 2021, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -rand_post_elist_partition

    This will partition an already defined stim class into new ones.
    Added on the authority of S Haller.

----------------------------------------------------------------------

24 Jun 2021, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Add tracking thru optimization of original points

    That is, with -verb, print out the original index [o=X] as the stages of
    optimization proceed. This helps determine if the larger number of
    initial coarse trial candidates parameter sets actually produces viable
    contenders for the championship.

24 Jun 2021, P Taylor, @djunct_overlap_check, level 2 (MINOR), type 0 (GENERAL)
    Silence 3drefit warns if changing space of dsets (might confuse users).

    Unnecessary warning for these temp dsets within the script.

----------------------------------------------------------------------

23 Jun 2021, RW Cox, 3dQwarp, level 1 (MICRO), type 5 (MODIFY)
    Add the setjmp/longjmp escape mechanism to plusminus warping

    To gracefully end the program if the OpenMP race condition arises.

----------------------------------------------------------------------

22 Jun 2021, RC Reynolds, suma-general, level 2 (MINOR), type 4 (BUG_FIX)
    calm those grumpy compilers

    Issues noted by P Taylor.

22 Jun 2021, RC Reynolds, 3dSurf2Vol, level 2 (MINOR), type 5 (MODIFY)
    without -datum, the output now depends on the map func, not the BRIK

    Done to appease the mysterious D Glen.

22 Jun 2021, P Taylor, SurfLayers, level 2 (MINOR), type 0 (GENERAL)
    Capture verbose output from ConvertSurface.

    Also add -no_clean opt.

22 Jun 2021, P Taylor, 3dNwarpCalc, level 2 (MINOR), type 0 (GENERAL)
    Put in std includes to be able to build on Mac with Clang.

    Though this program isn't even built...

----------------------------------------------------------------------

21 Jun 2021, RW Cox, 3dAllineate, level 2 (MINOR), type 5 (MODIFY)
    Change default blok type and radius for the lpc/lpa methods

    Old default was -blok 'RHDD(6.54321)'.
    New default is  -blok 'TOHD(0)' where the 0 radius means to compute the
    blok radius so as to give the blok a volume of 555 times the volume of a
    base dataset voxel. For 1x1x1 voxels, such as the MNI template, this
    results in 'TOHD(5.18)'. If users want the old setup, they'll have to
    use the old blok definition explicitly.

----------------------------------------------------------------------

18 Jun 2021, P Taylor, @Install_SURFLAYERS_DEMO1, level 2 (MINOR), type 0 (GENERAL)
    Created by Sam Torrisi.  Help added, temp placeholder data now in place.

    Will add full demo data soon...

18 Jun 2021, P Taylor, @Install_AP_MULTI_DEMO1, level 2 (MINOR), type 0 (GENERAL)
    Adding install script for afni_proc.py multi-echo FMRI demo (OHBM, 2021).

    Demo authors: RC Reynolds, SJ Gotts, AW Gilmore, DR Glen, PA Taylor.

----------------------------------------------------------------------

15 Jun 2021, P Taylor, lesion_align, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, fat_proc_map_to_dti, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, fat_proc_imit2w_from_t1w, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, fat_proc_dwi_to_dt, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, fat_proc_decmap, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, fat_proc_convert_dcm_anat, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, fat_proc_axialize_anat, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, fat_proc_align_anat_pair, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, ap_run_simple_rest.tcsh, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @update.afni.binaries, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @update.afni.binaries, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @toMNI_Qwarpar, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @toMNI_Qwarpar, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if' and before 'then'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @toMNI_Awarp, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @snapshot_volreg, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @snapshot_volreg, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if' and before 'then'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @simulate_motion, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @radial_correlate, level 2 (MINOR), type 4 (BUG_FIX)
    Minor bug fix (never hit?), and avoid single line 'if' conds.

    Latter to avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @radial_correlate, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @parse_name, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @parse_afni_name, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @move.to.series.dirs, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @measure_in2out, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @measure_erosion_thick, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @measure_bb_thick, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @grayplot, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @grayplot, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if' and before 'then'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @global_parse, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if' and before 'then'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @get.afni.version, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @get.afni.version, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if' and before 'then'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @fix_FSsphere, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @fix_FSsphere, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @djunct_slice_space, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @djunct_glue_imgs_vert, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if' and before 'then'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @diff.tree, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @diff.tree, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @diff.files, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @diff.files, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @compute_gcor, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @clip_volume, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @clean_help_dir, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @chauffeur_afni, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @build_afni_Xlib, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @auto_tlrc, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @auto_tlrc, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @afni_refacer_make_onebigA12, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @afni_refacer_make_onebigA12, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if' and before 'then'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @afni_refacer_make_master, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @afni_refacer_make_master, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @afni.run.me, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @T1scale, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @ScaleVolume, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @SUMA_Make_Spec_SF, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @SUMA_Make_Spec_SF, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @SUMA_Make_Spec_FS, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @SUMA_Make_Spec_FS, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @SUMA_Make_Spec_Caret, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @SUMA_AlignToExperiment, level 2 (MINOR), type 0 (GENERAL)
    Clean up some spacing; avoid single line 'if' conds; use unaliased rm.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @SUMA_AlignToExperiment, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @SSwarper, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if' and before 'then'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @RetinoProc, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @Reorder, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @ROI_decluster, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if' and before 'then'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @MakeLabelTable, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @MakeLabelTable, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @Install_InstaCorr_Demo, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @Install_ClustScat_Demo, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @GradFlipTest, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @FindAfniDsetPath, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @FS_roi_label, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @FS_roi_label, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @ExamineGenFeatDists, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @Atlasize, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @AddEdge, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @AddEdge, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @AddEdge, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if'.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @2dwarper.Allin, level 2 (MINOR), type 0 (GENERAL)
    Avoid single line 'if' conds.

    To avoid badness in some (older?) tcsh versions.

15 Jun 2021, P Taylor, @1dDiffMag, level 2 (MINOR), type 0 (GENERAL)
    Put spaces in if-conditions after 'if' and before 'then'.

    To avoid badness in some (older?) tcsh versions.

----------------------------------------------------------------------

14 Jun 2021, RC Reynolds, dcm2niix_afni, level 1 (MICRO), type 4 (BUG_FIX)
    turn off local signing in crorden/dcm2niix_console/makefile

14 Jun 2021, P Taylor, @chauffeur_afni, level 2 (MINOR), type 4 (BUG_FIX)
    Space before 'then' in if-cond; also remove all exclamations in comments.

    Resolved *very* weird opt parsing on *some* old tcsh.

----------------------------------------------------------------------

10 Jun 2021, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    rename src/suma_suma.h to src/SUMA/SUMA_X_objs.h

    This is to avoid glorious case-insensitive name conflicts on Macs.
    As suggested by the merciful D Glen.

10 Jun 2021, RC Reynolds, SurfLocalstat, level 2 (MINOR), type 1 (NEW_PROG)
    add Ziad's program to the default build

    This is to allow use of the 'mode' stat.

10 Jun 2021, P Taylor, @chauffeur_afni, level 1 (MICRO), type 0 (GENERAL)
    New opt '-echo', for odd-behavior-on-other-systems-investigtion-purposes.

    Also print AFNI and program version numbers at top.

----------------------------------------------------------------------

09 Jun 2021, RW Cox, 3dAllineate, level 2 (MINOR), type 6 (ENHANCE)
    Changes to make T1-T1 alignment with lpa+ZZ more reliable

    Problem - aligning whole head volume to MNI template (top of head only)
    - alignment sometimes fails badly. This problem is much less common if
    source and base image coverage are compatible. If users will not zero
    out or chop off the sub-brainstem part of the head, then the following
    changes made to 3dAllineate will help:
      a) carry out a larger search in the coarse pass (more trials)
      b) eliminate 'ov' and 'mi' from lpa+ as these caused problems
         NOTE: 'ov' and 'mi' are still in lpc+
    Also investigated why linux and macos results differ. Tracking optimizer
    leads to hypothesis that differences in roundoff error slowly
    accumulate, and then at some point powell_newuoa makes a step decision
    that can alter the optimizing trajectory significantly. There doesn't
    seem to be a good way to avoid this. However, with the chanes above,
    both macos and linux versions work reasonably well, and differ at most
    in about 2 mm (and that only in one case out of 38 whole head tests).

09 Jun 2021, RW Cox, 3dUndump, level 1 (MICRO), type 2 (NEW_OPT)
    Add -allow_NaN option

    To allow some DERANGED AFNI user whose name will not be mentioned to
    create a dataset containing NaN (Not A Number) floating point values.

----------------------------------------------------------------------

08 Jun 2021, RW Cox, 3dQwarp, level 1 (MICRO), type 4 (BUG_FIX)
    Modify to make it work with 2D images again

    Had to fix THD_fillin_once to allow for special case of nz==1

----------------------------------------------------------------------

03 Jun 2021, RC Reynolds, dcm2niix_afni, level 2 (MINOR), type 6 (ENHANCE)
    sync crorden/dcm2niix_console with repo, version v1.0.20210317

    Thanks to C Rorden for suggesting the update.

----------------------------------------------------------------------

02 Jun 2021, P Taylor, auto_warp.py, level 2 (MINOR), type 0 (GENERAL)
    Undo previous tweak to auto_warp.py; back to using *.nii.

    Reverting, because AFNI_COMPRESSOR has been updated.

02 Jun 2021, P Taylor, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    Undo previous tweak to db_mod.py (for auto_warp.py); back to using *.nii.

    Reverting, because AFNI_COMPRESSOR has been updated.

----------------------------------------------------------------------

01 Jun 2021, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    AFNI_COMPRESSOR no longer affects NIFTI (seems AFNI_AUTOGZIP never did)

----------------------------------------------------------------------

30 May 2021, P Taylor, auto_warp.py, level 2 (MINOR), type 0 (GENERAL)
    Use *.nii.gz, not *.nii, because of current AFNI_COMPRESSOR = GZIP.

    With current AFNI_COMPRESSOR = GZIP, get problems; now, no more.

30 May 2021, P Taylor, @auto_tlrc, level 2 (MINOR), type 2 (NEW_OPT)
    New opt '-use_gz' to output gzipped NIFTI even with '-suffix ..'.

    Part of updating auto_warp.py to use *.nii.gz, not *.nii.

30 May 2021, P Taylor, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    Tweak db_mod.py: prep for auto_warp.py to now always use *.nii.gz.

    Just mv *.nii.gz files, rather than *.nii, from auto_warp output dir.

----------------------------------------------------------------------

29 May 2021, RC Reynolds, SurfLocalstat, level 1 (MICRO), type 2 (NEW_OPT)
    add 'mode' stat modal smoothing

----------------------------------------------------------------------

24 May 2021, P Taylor, @animal_warper, level 3 (MAJOR), type 0 (GENERAL)
    Several small updates for convenience and organization: help updated...

    more QC images; split intermediate text desc; new cmd_log.

----------------------------------------------------------------------

20 May 2021, P Taylor, @chauffeur_afni, level 1 (MICRO), type 0 (GENERAL)
    Clean up exiting from help and version checking.

    Doesn't go via the verbose GOOD_EXIT route anymore, which it shouldn't.

----------------------------------------------------------------------

19 May 2021, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix volreg TSNR computation in surface analysis (TSNR still in volume)

----------------------------------------------------------------------

17 May 2021, DR Glen, lesion_align, level 3 (MAJOR), type 1 (NEW_PROG)
    Alignment for data with large lesions 

    Developed for hemispherectomy and lobectomy data.
    May be applicable to stroke and smaller lesion data too

----------------------------------------------------------------------

12 May 2021, P Taylor, @SUMA_Make_Spec_FS, level 1 (MICRO), type 0 (GENERAL)
    Remove old/unnecessary comment from help of -NIFTI opt.

    Referred to earlier misconcept (need even mat dims for anatomical dset).

----------------------------------------------------------------------

11 May 2021, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 0 (GENERAL)
    1dplot.py improved for backward compatibility to Python 2.7.

    So, for task FMRI, individual stim label plots work again in Py2.7.

11 May 2021, P Taylor, @chauffeur_afni, level 1 (MICRO), type 0 (GENERAL)
    Set env var to turn off NIFTI warnings.

    That is, AFNI_NIFTI_TYPE_WARN -> NO.

11 May 2021, P Taylor, 1dplot.py, level 1 (MICRO), type 0 (GENERAL)
    Replace str.isnumeric() with str.isdigit(), for backward compatibility.

    Python 2.7 didn't have that method for str type.

----------------------------------------------------------------------

10 May 2021, P Taylor, @chauffeur_afni, level 1 (MICRO), type 2 (NEW_OPT)
    New opt: '-set_xhair_gap ..', to allow setting crosshair gap.

    Default value is -1.

----------------------------------------------------------------------

06 May 2021, RW Cox, 3dttest++, level 2 (MINOR), type 6 (ENHANCE)
    Make -zskip work with -paired

    Rejecting any value pairs where either setA or setB is 0.

----------------------------------------------------------------------

03 May 2021, P Taylor, 3dClusterize, level 1 (MICRO), type 0 (GENERAL)
    Add bracket to meta-text above table in case of abs value in table.

    Thanks, watchful AFNI user YurBoiRene.

----------------------------------------------------------------------

01 May 2021, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fix niml.dset suffix in the case of -regress_compute_fitts on the surface

    Thanks to the all-seeing S Torrisi for noting the problem.

----------------------------------------------------------------------

29 Apr 2021, P Taylor, 3dClusterize, level 2 (MINOR), type 2 (NEW_OPT)
    Forgot to actually add in the new opt for data scaling in last change...

    Now opt '-abs_table_data' is in the code.

29 Apr 2021, P Taylor, 3dClusterize, level 2 (MINOR), type 4 (BUG_FIX)
    1) Now apply any scaling to 'data' in table (wasn't scaling, before).

    2) Change table def: don't abs val Mean and SEM; use opt for that.

----------------------------------------------------------------------

23 Apr 2021, P Taylor, 1dplot.py, level 2 (MINOR), type 2 (NEW_OPT)
    Can force ylabels to wrap at a certain num of chars (-ylabels_maxlen ..).

    For APQC, so long stimulus labels don't run into each other.

23 Apr 2021, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 0 (GENERAL)
    1dplot.py improved, so stimulus labels on y-axis will wrap.

    Reduce/remove overlap of long stim labels.

----------------------------------------------------------------------

16 Apr 2021, P Taylor, adjunct_apqc_tsnr_with_mask, level 2 (MINOR), type 7 (REMOVE)
    This program has been superseded by: adjunct_apqc_tsnr_general.

    The new version is more... general.

16 Apr 2021, P Taylor, adjunct_apqc_tsnr_no_mask, level 2 (MINOR), type 7 (REMOVE)
    This program has been superseded by: adjunct_apqc_tsnr_general.

    The new version is more... general.

16 Apr 2021, P Taylor, adjunct_apqc_tsnr_general, level 2 (MINOR), type 2 (NEW_OPT)
    More options from @chauffeur_afni here.

    Tryin' to make nicer images.

16 Apr 2021, P Taylor, adjunct_apqc_tsnr_general, level 2 (MINOR), type 1 (NEW_PROG)
    Made to replace adjunct_apqc_tsnr_with_mask and adjunct_apqc_tsnr_no_mask.

    Also expands/generalizes this functionality.

16 Apr 2021, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 0 (GENERAL)
    Use newer adjunct_apqc_tsnr_general for TSNR images.

    Single/more adjunct general prog than previous separate ones.

16 Apr 2021, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 0 (GENERAL)
    Internal logic for making TSNR dsets tweaked.

    TSNR images in QC*/media/ dir get unique name, too (no change for user).

16 Apr 2021, P Taylor, @chauffeur_afni, level 1 (MICRO), type 0 (GENERAL)
    New keyword EMPTY for '-topval ..' opt, make scripting easier.

    Corrected discrete cbar help example, too.

----------------------------------------------------------------------

06 Apr 2021, RC Reynolds, ap_run_simple_rest.tcsh, level 3 (MAJOR), type 1 (NEW_PROG)
    run a quick afni_proc.py resting state analysis for QC

----------------------------------------------------------------------

04 Apr 2021, DR Glen, @Atlasize, @MakeLabeltable longname fix, level 1 (MICRO), type 4 (BUG_FIX)
    Longnames not working in combination with labels fixed for atlases

----------------------------------------------------------------------

24 Mar 2021, RW Cox, 3dBlurInMask, level 2 (MINOR), type 2 (NEW_OPT)
    -FWHMxyz allows different blurring amounts in different directions

24 Mar 2021, P Taylor, 3dBrickStat, level 3 (MAJOR), type 4 (BUG_FIX)
    Fix bug: having non-full-FOV mask + perc calcs affected other calcs.

    Calcs should now be consistent even with those opts used. Thanks, RCR.

24 Mar 2021, P Taylor, 3dinfo, level 1 (MICRO), type 2 (NEW_OPT)
    New opt: -is_atlas_or_labeltable.

    1 if dset has an atlas or labeltable;  otherwise, 0.

----------------------------------------------------------------------

23 Mar 2021, P Taylor, 3dBrickStat, level 1 (MICRO), type 0 (GENERAL)
    Uniformize internal spacing. Should be no change in behavior.

    Just a few comments stretch far still.

----------------------------------------------------------------------

16 Mar 2021, RC Reynolds, afni-general, level 2 (MINOR), type 2 (NEW_OPT)
    simplify logic in THD_mask_erode(), with negligible slowdown

16 Mar 2021, P Taylor, @djunct_overlap_check, level 1 (MICRO), type 2 (NEW_OPT)
    Set env AFNI_COMPRESSOR to NONE.

    Avoid minor badnesses occasionally.

16 Mar 2021, P Taylor, @djunct_edgy_align_check, level 1 (MICRO), type 2 (NEW_OPT)
    Set env AFNI_COMPRESSOR to NONE.

    Avoid minor badnesses occasionally.

16 Mar 2021, P Taylor, @djunct_4d_imager, level 1 (MICRO), type 2 (NEW_OPT)
    Set env AFNI_COMPRESSOR to NONE.

    Avoid minor badnesses occasionally.

----------------------------------------------------------------------

15 Mar 2021, RW Cox, 3dNwarpApply, level 1 (MICRO), type 2 (NEW_OPT)
    Add -wprefix option

    This option will write out the computed warp for each sub-brick. Mostly
    for Zhark's curiosity.

15 Mar 2021, RW Cox, 3dAllineate, level 1 (MICRO), type 5 (MODIFY)
    Move help from main() to function Allin_Help()

15 Mar 2021, RC Reynolds, 3dBrickStat, level 2 (MINOR), type 2 (NEW_OPT)
    add convenience options -perclist and -perc_quiet

----------------------------------------------------------------------

13 Mar 2021, RW Cox, parser.f, level 1 (MICRO), type 4 (BUG_FIX)
    non-NUL terminated FORMAT string

    In Fortran-77, character strings are fixed length and filled out with
    blanks -- they are not NUL terminated as in C. In one place in parser.f,
    a variable FORMAT string is used (about line 709, string C_VAL) -- but
    that gets passed to an f2c library function that assumes NUL terminated
    string, and so a buffer overrun error can happen. This has never caused
    a crash or error, as far as I know, but was detected using the gcc
    -fsanitize=address option by Chris Rorden. To avoid possible error, the
    Fortran line above the use of this string FORMAT sets the last character
    of C_VAL to NUL.
    
    At the same time, changes were made to the f2c library headers to
    properly adapt to either 32 or 64 bit pointers. Formerly, the pointer
    size was fixed to 4 bytes.
    
    A long commentary here for a very small issue.

13 Mar 2021, RC Reynolds, Makefile.macos_10.12_local, level 2 (MINOR), type 6 (ENHANCE)
    distribute libXp.6.dylib, since XQuartz has stopped doing it

    Thanks to C Gaillard and others on the MB.

----------------------------------------------------------------------

10 Mar 2021, RC Reynolds, lib_tsv.py, level 2 (MINOR), type 1 (NEW_PROG)
    new TSV class library, geared toward BIDS event files

10 Mar 2021, P Taylor, adjunct_apqc_tsnr_with_mask, level 2 (MINOR), type 2 (NEW_OPT)
    Add in more control features, so can apply in more cases.

    Basically just allowing more chauffeur control.

----------------------------------------------------------------------

08 Mar 2021, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    applying NIFTI scale_slope to dset must be after setting ADN_datum

    Previously, NIFTI scalars were applied only after a DSET_load().
    Thanks to D Glen for reporting the issue.

08 Mar 2021, P Taylor, map_TrackID, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3ddot_beta, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3dZipperZapper, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3dTrackID, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3dReHo, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3dRSFC, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3dROIMaker, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3dNetCorr, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3dMatch, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3dLombScargle, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3dDWUncert, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

08 Mar 2021, P Taylor, 3dAmpToRSFC, level 1 (MICRO), type 5 (MODIFY)
    I/O strings now up to THD_MAX_NAME length; requested by L Waller.

----------------------------------------------------------------------

06 Mar 2021, P Taylor, @snapshot_volreg, level 2 (MINOR), type 0 (GENERAL)
    Run a bit more quietly, setting ENV vars and GUI opts.

    Fewer warnings and messages.

06 Mar 2021, P Taylor, @fat_tract_colorize, level 2 (MINOR), type 0 (GENERAL)
    Run a bit more quietly, setting ENV vars and GUI opts.

    Fewer warnings and messages.  And tweak help to be more useful.

06 Mar 2021, P Taylor, @chauffeur_afni, level 2 (MINOR), type 0 (GENERAL)
    Run a bit more quietly, setting ENV vars and GUI opts.

    Fewer warnings and messages.

06 Mar 2021, DR Glen, MNI HCP Glasser atlas regrid, level 1 (MICRO), type 4 (BUG_FIX)
    Move from grid of FreeSurfer 256^3 to match MNI 2009c grid.
The FreeSurfer grid is zeropadded to 256 slices.
All values remain the same, so essentially same atlas
except memory requirements are less and easier to combine
with template-based datasets. Also works better in Draw
Dataset plugin because of the grid match. No source code
changes, just a change in the pub/dist/atlases/current
directory

06 Mar 2021, DR Glen, @AddEdge PBAR fix, level 1 (MICRO), type 4 (BUG_FIX)
    PBAR fix

----------------------------------------------------------------------

05 Mar 2021, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -show_cormat_warnings_full

    This version includes the baseline terms in the warning list.

05 Mar 2021, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Have APQC copy the ss_review_basic text file into the QC dir.

    Might want this text info available for easy parsing at group level.

----------------------------------------------------------------------

04 Mar 2021, RC Reynolds, 3dROIstats, level 2 (MINOR), type 4 (BUG_FIX)
    fix surprising slowness

    This would previously unload/mallocize/reload every time point,
    possibly to free completed data.  Then NIFTI input would be re-read
    every time point (this might have changed due to something else).
    Instead, mallocize in the first place, not per time point.
    Also, avoid scaling floats by 1.0.
    Thanks to C Craddock for reporting the problem.

----------------------------------------------------------------------

03 Mar 2021, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 5 (MODIFY)
    update dotfiles for 'complete' files before running apsearch

    Do this so apsearch will not tell users to update the dotfiles again.
    Thanks to D Glen.

03 Mar 2021, RC Reynolds, @clean_help_dir, level 2 (MINOR), type 5 (MODIFY)
    warn on any error in 'cat *.complete* > xx' commands

    In MacOS 11 Rosetta terminals, those commands are *sometimes* crashing.
    Warn on any such failure.
    Such a crash could cause trouble for other programs, too.
    Thanks to D Glen.

03 Mar 2021, P Taylor, gen_ss_review_scripts.py, level 2 (MINOR), type 0 (GENERAL)
    Add sswarper2 to name of recognized progs for getting template dset.

    Can get uvar for APQC for this top secret NL alignment prog.

03 Mar 2021, P Taylor, adjunct_suma_fs_mask_and_qc, level 2 (MINOR), type 4 (BUG_FIX)
    Had an early exit from earlier debugging.

    Ironic, really, that a debugging line became a bug.  Go figure.

03 Mar 2021, P Taylor, @djunct_modal_smoothing_with_rep, level 2 (MINOR), type 4 (BUG_FIX)
    On one system an instrutable error message 'Unknown user: 1~.' occurred.

    This change (doublequote file name? remove EOL in backticks?) fixed it.

03 Mar 2021, P Taylor, @SUMA_Make_Spec_FS, level 2 (MINOR), type 6 (ENHANCE)
    Make nice new WB mask, make some QC images of mask/segs/ROIs.

    Also make tables of ROI info (size stuff).

----------------------------------------------------------------------

01 Mar 2021, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Fix output dir of an intermediate QC image.

    The init*uaff* should now be in the usual QC/ dir.

----------------------------------------------------------------------

27 Feb 2021, DR Glen, clang macos 11 M1-ARM mods, level 3 (MAJOR), type 0 (GENERAL)
    Makefile changes for ARM builds for new Macs

    Makefile, misc. changes for building for M1

27 Feb 2021, DR Glen, gap setting via plugout_drive, level 1 (MICRO), type 2 (NEW_OPT)
    Set the AFNI GUI crosshair gap with plugout_drive

    See README.driver for details

27 Feb 2021, DR Glen, atlas labels - remove trailing spaces, level 1 (MICRO), type 4 (BUG_FIX)
    Remove trailing spaces introduced by @Atlasize

----------------------------------------------------------------------

25 Feb 2021, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    With non-nonlinear warps, processing now goes all they way through.

    Bit more *.txt output, fixed mapping of anat follower non-ROI dset.

----------------------------------------------------------------------

24 Feb 2021, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add options -regress_extra_ortvec, -regress_extra_ortvec_labels

    Pass sets of regressors of no interest, to go into the baseline.
    Requested by multiple people, including Carolin31 on MB.

24 Feb 2021, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Add more TSNR plotting: if vreg TSNR is calc'ed, or if no mask exists.

    Also a bug fix in HAVE_MASK definition; fix ranges in some plots.

24 Feb 2021, P Taylor, adjunct_apqc_tsnr_no_mask, level 2 (MINOR), type 1 (NEW_PROG)
    Now used in APQC to make TSNR plot.

    Has mostly required olay/ulay args, for when *no* mask exists.

----------------------------------------------------------------------

23 Feb 2021, RW Cox, lots of them, level 1 (MICRO), type 0 (GENERAL)
    Changes to avoid compile warnings with -Wall option

    Mostly cosmetic fixes, but a few minor errors discovered and patched.
    About 50 .c files affected.

----------------------------------------------------------------------

22 Feb 2021, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    masking is no longer applied to TSNR dset; pass mask_dset to gen_ss

    Requested by P Taylor.

22 Feb 2021, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    New part of regr block: TSNR plot.

    Shows brain slices.

22 Feb 2021, P Taylor, adjunct_apqc_tsnr_with_mask, level 2 (MINOR), type 1 (NEW_PROG)
    Now used in APQC to make TSNR plot.

    Has mostly required olay/ulay args, as well as mask.

22 Feb 2021, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: -pbar_comm_gen, for APQC.

    Also remove warning about ffmpeg unless using MPEG.

----------------------------------------------------------------------

21 Feb 2021, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 5 (MODIFY)
    remove actual targets in RM for LIBMRI_*

21 Feb 2021, RC Reynolds, @djunct_glue_imgs_vert, level 1 (MICRO), type 5 (MODIFY)
    allow -help without deps, so move dependency tests

----------------------------------------------------------------------

19 Feb 2021, RC Reynolds, suma-general, level 2 (MINOR), type 5 (MODIFY)
    updates for ShowMode in SUMA_xColBar.c

    Resolve compiler warnings, but avoid logic changes at the same time
    as XQuartz beta issues.  So temporarily keep original logic.
    Once we feel stable with XQuartz, look into expected fixes.
    Search for 'todo: apply ShowMode' in SUMA_xColBar.c.

----------------------------------------------------------------------

18 Feb 2021, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    warn about problematic version of XQuartz

    Bad versions seem to be 2.8.0_alpa*, 2.8.0_betas[12] (3+ okay?).
    With improvements we have seen, maybe we should warn on any beta.

----------------------------------------------------------------------

17 Feb 2021, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    moved AFNI_ijk_* protos from afni.h to 3ddata.h

    All thd_coords.c protos are in 3ddata.h now.

----------------------------------------------------------------------

10 Feb 2021, P Taylor, adjunct_suma_fs_mask_and_qc, level 2 (MINOR), type 0 (GENERAL)
    More QC images: WM and GM tissue, solo.

    Thanks for suggestions, P Molfese.

10 Feb 2021, P Taylor, @SSwarper, level 2 (MINOR), type 2 (NEW_OPT)
    Add in -mask_ss option, to replace skullstripping with a mask.

    For example, using fs*mask*nii from @SUMA_Make_Spec_FS after FS.

----------------------------------------------------------------------

09 Feb 2021, P Taylor, adjunct_suma_rois_qc.tcsh, level 2 (MINOR), type 0 (GENERAL)
    Add fractional volume info to the text file.

    This makes 2 new columns in the output *.1D files.

09 Feb 2021, P Taylor, adjunct_suma_roi_info, level 2 (MINOR), type 0 (GENERAL)
    New column of ROI vol fraction, relative to fs_parc_wb_mask.nii.gz.

    This prog should always be run after adjunct_suma_fs_mask_and_qc.

09 Feb 2021, P Taylor, adjunct_suma_roi_info, level 2 (MINOR), type 0 (GENERAL)
    Renamed, from adjunct_suma_rois_qc.tcsh.

    Removing extension.

09 Feb 2021, P Taylor, adjunct_suma_fs_qc.tcsh, level 2 (MINOR), type 0 (GENERAL)
    Make new mask dset from parcellation.

    Add new image of new dset.

09 Feb 2021, P Taylor, adjunct_suma_fs_mask_and_qc, level 2 (MINOR), type 0 (GENERAL)
    Renamed, from adjunct_suma_fs_qc.tcsh.

    Removing extension.

----------------------------------------------------------------------

08 Feb 2021, RW Cox, AFNI gui, level 1 (MICRO), type 6 (ENHANCE)
    Add Mean/Sigma statistic to Button 3 popup in graph viewer

    Kind of a cheap TSNR check for raw data.

08 Feb 2021, P Taylor, adjunct_suma_rois_qc.tcsh, level 2 (MINOR), type 1 (NEW_PROG)
    Will add to @SUMA_Make_Spec_FS for automatic QC output.

    This makes *.1D files of voxel counts of parcellations and segs.

08 Feb 2021, P Taylor, adjunct_suma_fs_qc.tcsh, level 2 (MINOR), type 1 (NEW_PROG)
    Will add to @SUMA_Make_Spec_FS for automatic QC output.

    This makes images of the brain mask, tissue segs and parcellation.

----------------------------------------------------------------------

07 Feb 2021, DR Glen, clang+gcc10 macos 10.15 mods, level 3 (MAJOR), type 4 (BUG_FIX)
    Lots of little code fixes to handle compiler warnings

    Makefile updated and some long outstanding issues fixed

----------------------------------------------------------------------

05 Feb 2021, P Taylor, @SSwarper, level 2 (MINOR), type 0 (GENERAL)
    Add in more intermediate QC snapshots (intermed align): init*jpg 

    Also add '-echo' opt for verbose terminal stuff.

----------------------------------------------------------------------

03 Feb 2021, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    New QC image, of affine warping.

    Also pass along '-echo' opt to modal smoo/report script.

----------------------------------------------------------------------

01 Feb 2021, P Taylor, 3dedge3, level 2 (MINOR), type 2 (NEW_OPT)
    Adding -automask (and -automask+X) functionality.

    Mainly to help with comparisons with 3dedgedog.

----------------------------------------------------------------------

27 Jan 2021, RW Cox, 3dAllineate, level 1 (MICRO), type 6 (ENHANCE)
    Enhance -PearSave option

    Now it works with -allcostX to give the LPC values at the start of the
    run, instead of only at the end.
    Now it works with any cost functional, say '-hel', instead of '-lpc' and
    '-lpa'. That is, you can get the local Pearson stuff even if it isn't
    actually used in the optimization.

27 Jan 2021, P Taylor, @SUMA_Make_Spec_FS, level 2 (MINOR), type 6 (ENHANCE)
    New run script created (run_01*) in L_MAKE_DRIVE_SCRIPT block.

    Opens std.141*both*spec in SUMA and SurfVol in AFNI, and starts talking.

27 Jan 2021, P Taylor, 3dAttribute, level 2 (MINOR), type 0 (GENERAL)
    Update help to have fancy sections and more examples.

    Also provide link to README.attributes file, for user reference.

----------------------------------------------------------------------

26 Jan 2021, RW Cox, 3dAllineate, level 2 (MINOR), type 2 (NEW_OPT)
    New -PearSave option

    Saves the local Pearson correlations into a dataset at the end of an
    alignment. Mostly for visualization fun.

26 Jan 2021, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    do not convert NIFTI scaled shorts to float

    If slope!=0 && inter==0, pass slope as brick_fac.
    Thanks to C Caballero and S Moia for reporting this.

----------------------------------------------------------------------

11 Jan 2021, RW Cox, AFNI GUI, level 2 (MINOR), type 6 (ENHANCE)
    AFNI graph viewer box labels now selectable from menu

    In the Colors, Etc. menu, new items were added to enable and control the
    labels used in Box mode. Keystroke ctrl-B cycles between all Data modes.
    In addition, labels can now be drawn for graph matrix size up to 9x9.

----------------------------------------------------------------------

03 Jan 2021, RC Reynolds, SurfMeasures, level 2 (MINOR), type 5 (MODIFY)
    shift memory allocation/free around, mostly to match libSUMA

    Inspired by C Rorden via sanitizer warnings.

----------------------------------------------------------------------

31 Dec 2020, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    modify help: be more clear about bandpassing being undesirable

    Also, add example of high-pass filter to model slow drift.
    See help for option -regress_polort.

----------------------------------------------------------------------

29 Dec 2020, RC Reynolds, NIFTI, level 2 (MINOR), type 6 (ENHANCE)
    sync with nifti_clib

29 Dec 2020, RC Reynolds, nifti_tool, level 1 (MICRO), type 6 (ENHANCE)
    add help example for creating a new dataset given a raw data file

----------------------------------------------------------------------

22 Dec 2020, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    fixed 6 copy-and-paste errors using MRI_TYPE_maxval

    Thanks to C Rorden for bringing this up and suggesting code fixes.

22 Dec 2020, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    New default feature_size: 0.5.  (Old default: was unset).

    Made almost no dif in mac demo, but should be slightly more robust, in gen
    .

22 Dec 2020, P Taylor, 3dmaskave, level 2 (MINOR), type 4 (BUG_FIX)
    MRI_TYPE_maxval fixed for byte case-- thanks, C Rorden!

    Same fix applied in: plug_maskave.c and thd_makemask.c.

----------------------------------------------------------------------

21 Dec 2020, P Taylor, 3dClusterize, level 2 (MINOR), type 4 (BUG_FIX)
    The '-orient ..' opt wasn't working-- that has been fixed.

    Now user can specify table coords with this opt.

21 Dec 2020, P Taylor, 3dROIMaker, level 1 (MICRO), type 0 (GENERAL)
    Tweak internal handling of reading inputs, prohibit hanging args.

    Now, hanging args should produce error (not just be silently ignored).

21 Dec 2020, P Taylor, 3dClusterize, level 1 (MICRO), type 0 (GENERAL)
    Tweak internal handling of reading inputs, prohibit hanging args.

    Now, hanging args should produce error (not just be silently ignored).

----------------------------------------------------------------------

17 Dec 2020, RC Reynolds, 1dBport, level 1 (MICRO), type 4 (BUG_FIX)
    guard against silent failure of int overflow for ftop

----------------------------------------------------------------------

01 Dec 2020, P Taylor, @SSwarper, level 2 (MINOR), type 2 (NEW_OPT)
    Tweaked default temp 'junk' filename to avoid low-probability badness 

    New opt '-tmp_name_nice' for, well, read opt name. Improved help, too.

----------------------------------------------------------------------

12 Nov 2020, P Taylor, fat_proc_connec_vis, level 1 (MICRO), type 0 (GENERAL)
    Set some env vars at top of script to turn off compression.

    Was causing odd error in one case.

----------------------------------------------------------------------

06 Nov 2020, P Taylor, adjunct_tort_read_dp_align.py, level 2 (MINOR), type 1 (NEW_PROG)
    Script to read TORTOISE-DIFFPREP *_transformations.txt files.

    Puts them into usable order for calc'ing enorm and plotting mot/pars.

06 Nov 2020, P Taylor, adjunct_tort_plot_dp_align, level 2 (MINOR), type 1 (NEW_PROG)
    Script (tcsh) to translate TORTOISE-DIFFPREP *_transformations.txt files

    Wraps new adjunct_tort_read_dp_align.py and 1dplot* to make plots.

----------------------------------------------------------------------

02 Nov 2020, P Taylor, 1dplot.py, level 2 (MINOR), type 0 (GENERAL)
    Can now output SVG files, and can use newline chars in labels.

    Had to deal with newline escape seq internally.

----------------------------------------------------------------------

28 Oct 2020, P Taylor, fat_proc_map_to_dti, level 2 (MINOR), type 0 (GENERAL)
    Extra QC image:  initial overlap of source and base dsets.

    Should help to know, in case anything goes awry later.

28 Oct 2020, P Taylor, fat_proc_align_anat_pair, level 2 (MINOR), type 0 (GENERAL)
    Extra QC image:  initial overlap of T1w and T2w dsets.

    Should help to know, in case anything goes awry later.

----------------------------------------------------------------------

19 Oct 2020, P Taylor, @djunct_overlap_check, level 3 (MAJOR), type 1 (NEW_PROG)
    Make of overlap of 2 datasets (esp for pre-align check, AW or SSW).

    Will make both non-obl and 3dWarp-deob'ed images of olap (and report).

19 Oct 2020, P Taylor, @animal_warper, level 3 (MAJOR), type 0 (GENERAL)
    Simplifying output dir: Phase II and III.  Thanks again, B Jung!

    New intermediate dir, animal_outs update, helpfile rewritten.

19 Oct 2020, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Added new QC image to QC/ dir: initial source-base alignment.

    If obl, make 1 img ignoring it, and 1 3dWarp-deob'ed, with text report.

19 Oct 2020, P Taylor, @SSwarper, level 2 (MINOR), type 0 (GENERAL)
    Added new QC image: initial source-base alignment (@djunct_overlap_check)

    If obl, make 1 img ignoring it, and 1 3dWarp-deob'ed, with text report.

----------------------------------------------------------------------

16 Oct 2020, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Simplifying output dir: Phase I.  Thanks, Ben Jung, for good suggestions!

    Put report*1D in QC/, and do*.tcsh and surfaces_* in new surfaces/ dir.

16 Oct 2020, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Add in status checks after many afni progs, to exit at/near first failure.

    Should be no change in output for users (in successful runs).

16 Oct 2020, P Taylor, @animal_warper, level 2 (MINOR), type 4 (BUG_FIX)
    Now, first cp+resample src to RAI; else, shft is bad for non-xyz orients.

    Output warps can still apply to original orient dset fine.

----------------------------------------------------------------------

29 Sep 2020, RC Reynolds, 3dANOVA3, level 1 (MICRO), type 6 (ENHANCE)
    be specific about limits for 'param must be in' error messages

----------------------------------------------------------------------

24 Sep 2020, P Taylor, @SSwarper, level 2 (MINOR), type 0 (GENERAL)
    Put in status checks through script to exit with error if any step fails.

    Should provide nicer behavior if something gang agley.

----------------------------------------------------------------------

17 Sep 2020, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 4 (BUG_FIX)
    fix use of platform.mac_ver (was there a change?)

----------------------------------------------------------------------

16 Sep 2020, DR Glen, atlas label range selector, level 1 (MICRO), type 4 (BUG_FIX)
    atlas labels not interpreted in range selector properly

    atlas labels caused crash if selected in angle brackets on
    cmdline. Also allowed for spaces in atlas labels by replacing
    with underscores in command line.

----------------------------------------------------------------------

15 Sep 2020, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    whine if .zshrc references all_progs.COMP.bash; backup for distro

----------------------------------------------------------------------

14 Sep 2020, RC Reynolds, apsearch, level 2 (MINOR), type 6 (ENHANCE)
    create complete.zsh files - like bash ones, but cleaned a little

14 Sep 2020, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    update .zshrc: set PATH and DYLD_L_P..., and source all_progs.COMP.zsh

----------------------------------------------------------------------

10 Sep 2020, DR Glen, Driving AFNI to get values, level 2 (MINOR), type 6 (ENHANCE)
    Drive AFNI to get current value in OLay, Threshold or ULay+

    Can also get ULay and OLay prefixes

----------------------------------------------------------------------

02 Sep 2020, RC Reynolds, afni_history, level 2 (MINOR), type 2 (NEW_OPT)
    add options -show_field and -show_field_names

    Using the new -show_field option, for each entry one can show:
       - the full entry (as before)
       - only the first/main line
       - only the program name, or date, or author, etc.

02 Sep 2020, P Taylor, @SkullStrip_TouchUp, level 2 (MINOR), type 0 (GENERAL)
    Replace '-e' at top with several later status checks; 'exit 0' after help.

    No effect on output, except being more general.

----------------------------------------------------------------------

01 Sep 2020, P Taylor, fat_roi_row.py, level 2 (MINOR), type 6 (ENHANCE)
    Update to run in Python 3 (using 2to3, plus extra tweaks).

    Should now run in both Python 2 and 3.

01 Sep 2020, P Taylor, fat_proc_grad_plot, level 2 (MINOR), type 7 (REMOVE)
    Remove program from distribution.

    Already have a better one (with fewer dependencies!) ready to go.

01 Sep 2020, P Taylor, fat_mvm_scripter.py, level 2 (MINOR), type 6 (ENHANCE)
    Update to run in Python 3 (using 2to3, plus extra tweaks).

    Should now run in both Python 2 and 3.

01 Sep 2020, P Taylor, fat_mvm_review.py, level 2 (MINOR), type 7 (REMOVE)
    Remove program from distribution.

    This program never even made it to full beta status.

01 Sep 2020, P Taylor, fat_mvm_prep.py, level 2 (MINOR), type 6 (ENHANCE)
    Update to run in Python 3 (using 2to3, plus extra tweaks).

    Should now run in both Python 2 and 3.

01 Sep 2020, P Taylor, fat_mvm_gridconv.py, level 2 (MINOR), type 6 (ENHANCE)
    Update to run in Python 3 (using 2to3, plus extra tweaks).

    Should now run in both Python 2 and 3.

01 Sep 2020, P Taylor, fat_mat_sel.py, level 2 (MINOR), type 6 (ENHANCE)
    Update to run in Python 3 (using 2to3, plus extra tweaks).

    Should now run in both Python 2 and 3.

01 Sep 2020, P Taylor, fat_lat_csv.py, level 2 (MINOR), type 7 (REMOVE)
    Remove program from distribution, with lib: lib_fat_Rfactor.py.

    R deps are a mess between Py2 and Py3; might rewrite better in future.

01 Sep 2020, P Taylor, @SSwarper, level 2 (MINOR), type 4 (BUG_FIX)
    If '-skipwarp' was used, crashed at very end (sigh).

    Fixed that crash behavior; no changes in outputs.

----------------------------------------------------------------------

31 Aug 2020, RC Reynolds, afni_python_wrapper.py, level 1 (MICRO), type 2 (NEW_OPT)
    add -joinn for list output; add list_intersect and list_diff funcs

----------------------------------------------------------------------

27 Aug 2020, RC Reynolds, SUMA_test_DrawingAreaWidget, level 1 (MICRO), type 6 (ENHANCE)
    set up for alternatively building without SUMA

27 Aug 2020, RC Reynolds, @diff.tree, level 1 (MICRO), type 4 (BUG_FIX)
    better handling of missing trailing directory args

27 Aug 2020, P Taylor, @animal_warper, level 3 (MAJOR), type 5 (MODIFY)
    Well, usage+output shouldn't really change, but it should be more stable.

    There is also a new opt: -align_centers_meth (read the help).

----------------------------------------------------------------------

26 Aug 2020, RC Reynolds, Makefile.INCLUDE, level 2 (MINOR), type 6 (ENHANCE)
    much limiting of line lengths to 80 chars - should be no real change

26 Aug 2020, RC Reynolds, ClustExp_StatParse.py, level 1 (MICRO), type 6 (ENHANCE)
    python 3 update to decode() subprocess output

26 Aug 2020, P Taylor, @animal_warper, level 1 (MICRO), type 4 (BUG_FIX)
    Fix case of running prog with no args.

    Should show help; now it DOES show help, with no error.

----------------------------------------------------------------------

25 Aug 2020, RC Reynolds, sqwave, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, siemens_vision, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use Dimon

25 Aug 2020, RC Reynolds, plug_3ddup.so, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, mritopgm, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, mayo_analyze, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use nifti_tool

25 Aug 2020, RC Reynolds, lpc_align.py, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use align_epi_anat.py

25 Aug 2020, RC Reynolds, ge_header, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use Dimon

25 Aug 2020, RC Reynolds, ftosh, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, ent16, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, check_dset_for_fs.py, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, afni_restproc.py, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use afni_proc.py

25 Aug 2020, RC Reynolds, afni_history, level 2 (MINOR), type 2 (NEW_OPT)
    added new types TYPE_REMOVE and TYPE_REINSTATE

    This is to track when programs or notable functionality gets removed.

25 Aug 2020, RC Reynolds, abut, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, Xphace, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, Ifile, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use Dimon

25 Aug 2020, RC Reynolds, FD2, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use afni

25 Aug 2020, RC Reynolds, DoPerRoi.py, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, Dimon1, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use Dimon

25 Aug 2020, RC Reynolds, AlphaSim, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dClustSim

25 Aug 2020, RC Reynolds, @snapshot_volreg3, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use @snapshot_volreg

25 Aug 2020, RC Reynolds, @make_stim_file, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use timing_tool.py

25 Aug 2020, RC Reynolds, @auto_align, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use align_epi_anat.py

25 Aug 2020, RC Reynolds, @UpdateAfni, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use @update.afni_binaries

25 Aug 2020, RC Reynolds, @DTI_studio_reposition, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, 3dttest, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dttest++

25 Aug 2020, RC Reynolds, 3dproject, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, 3dnoise, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, 3dfim, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dDeconvolve

25 Aug 2020, RC Reynolds, 3ddup, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, 3dbuc2fim, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, 3dWavelets, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, 3dUniformize, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dUnifize

25 Aug 2020, RC Reynolds, 3dProbTrackID, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dTrackID

25 Aug 2020, RC Reynolds, 3dMax, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dBrickStat

25 Aug 2020, RC Reynolds, 3dICC_REML.R, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, 3dFourier, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dBandpass

25 Aug 2020, RC Reynolds, 3dFWHM, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dFWHMx

25 Aug 2020, RC Reynolds, 3dDeconvolve_f, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dDeconvolve

25 Aug 2020, RC Reynolds, 3dCountSpikes, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dToutcount

25 Aug 2020, RC Reynolds, 3dAnatNudge, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use align_epi_anat.py

25 Aug 2020, RC Reynolds, 3dAOV.R, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution

25 Aug 2020, RC Reynolds, 3dANALYZEtoAFNI, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 3dcopy or to3d

25 Aug 2020, RC Reynolds, 1dDW_Grad_o_Mat, level 2 (MINOR), type 7 (REMOVE)
    removed from distribution - use 1dDW_Grad_o_Mat++

----------------------------------------------------------------------

21 Aug 2020, P Taylor, 3dTrackID, level 2 (MINOR), type 4 (BUG_FIX)
    Fix header deps of underlying progs (namely, readglob.c).

    Was crashing on some NIML reading cases.

----------------------------------------------------------------------

09 Aug 2020, DR Glen, @ROI_decluster, level 2 (MINOR), type 1 (NEW_PROG)
    Remove small clusters or single voxels in datasets with many ROIs

    Keeps only the largest part(s) of the ROI with adjustable
    threshold. Used for datasets with many ROIs, like those
    found in an atlas. Can be used in combination with @ROI_modal_grow

----------------------------------------------------------------------

03 Aug 2020, RC Reynolds, plug_vol2surf, level 2 (MINOR), type 4 (BUG_FIX)
    fix sB update when changing surf order from 0,1 to 1,0

    In only the case of setting the plugin surf_A/surf_B order to 1,0, the
    need to update the surf_B index was not recognized, and it stayed at 1
    (instead of the requested 0).
    Thanks to D Glen for reporting the problem.

----------------------------------------------------------------------

31 Jul 2020, P Taylor, @Install_MACAQUE_DEMO, level 3 (MAJOR), type 1 (NEW_PROG)
    Install MACAQUE_DEMO_REST_1.0, for macaque resting state FMRI examples.

    Has a '-lite_version' opt for truncated EPI version, smaller download.

31 Jul 2020, P Taylor, fat_mat2d_plot.py, level 2 (MINOR), type 4 (BUG_FIX)
    Fix behavior file path contained dots.

    Joining filenames for output now fixed.

----------------------------------------------------------------------

30 Jul 2020, P Taylor, @Install_MACAQUE_DEMO, level 3 (MAJOR), type 0 (GENERAL)
    Now install MACAQUE_DEMO_2.1, which should be the new normal.

    Script checks for things on install, makes recs, more full demo.

30 Jul 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Make easier to find template in case data has moved around.

    Also use wildcard to clean intermed file, in case auto GZIP is on.

30 Jul 2020, DR Glen, vol2surf nzmode, level 2 (MINOR), type 2 (NEW_OPT)
    nonzero mode option for 3dVol2surf and vol2surf plugin

    Computes most common non-zero value along segment

30 Jul 2020, DR Glen, @ROI_modal_grow, level 2 (MINOR), type 1 (NEW_PROG)
    Grow ROIs using nonzero mode in 1 voxel neighborhood increments

    Similar functionality as in 3dROImaker but uses non-zero mode
    to grow sets of regions, like those found in an atlas

----------------------------------------------------------------------

28 Jul 2020, RC Reynolds, afni_history, level 2 (MINOR), type 2 (NEW_OPT)
    add initial afni_history_laurenpd.c

----------------------------------------------------------------------

21 Jul 2020, RC Reynolds, model_conv_PRF_6, level 2 (MINOR), type 6 (ENHANCE)
    add env var control over pre-comp e2x, limit and pieces

    See AFNI_MODEL_PRF_PRECOMPUTE_EX, AFNI_MODEL_PRF_MAX_EXP and
    AFNI_MODEL_PRF_MAX_EXP_PIECES.

21 Jul 2020, RC Reynolds, get_afni_model_PRF_6, level 2 (MINOR), type 6 (ENHANCE)
    add initial NT parameter

----------------------------------------------------------------------

16 Jul 2020, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    update for shared libmri.so: linux_centos_7_64, linux_ubuntu_16_64

----------------------------------------------------------------------

15 Jul 2020, P Taylor, 3ddot_beta, level 2 (MINOR), type 0 (GENERAL)
    Moved header dep of suma_suma.h -> suma_objs.h.

    Should be no output change.

15 Jul 2020, P Taylor, 3dVecRGB_to_HSL, level 2 (MINOR), type 4 (BUG_FIX)
    Would whine when outputting BRIK/HEAD dset if -in_scal was used; fixed.

    Also, moved dep of suma_suma.h -> suma_objs.h (shd be no output change).

15 Jul 2020, P Taylor, 3dTrackID, level 2 (MINOR), type 0 (GENERAL)
    Moved header dep of suma_suma.h -> suma_objs.h.

    Should be no output change.

15 Jul 2020, P Taylor, 3dTORTOISEtoHere, level 2 (MINOR), type 0 (GENERAL)
    Moved header dep of suma_suma.h -> suma_objs.h.

    Should be no output change.

15 Jul 2020, P Taylor, 3dNetCorr, level 2 (MINOR), type 0 (GENERAL)
    Moved header dep of suma_suma.h -> suma_objs.h.

    Should be no output change.

15 Jul 2020, P Taylor, 3dEigsToDT, level 2 (MINOR), type 0 (GENERAL)
    Moved header dep of suma_suma.h -> suma_objs.h.

    Should be no output change.

15 Jul 2020, P Taylor, 3dDTtoNoisyDWI, level 2 (MINOR), type 0 (GENERAL)
    New opt for controlling random seed is available (for testing).

    Also, moved dep of suma_suma.h -> suma_objs.h (shd be no output change).

----------------------------------------------------------------------

12 Jul 2020, DR Glen, atlas longnames change, level 1 (MICRO), type 5 (MODIFY)
    atlas longnames and labeling change

    atlas labels and labeltable labels are not both printed if same
    atlas labels and longnames not both printed if same
    3dROIstats only shows regular labels now, no longname atlas labels

----------------------------------------------------------------------

01 Jul 2020, P Taylor, @Install_NMT, level 3 (MAJOR), type 1 (NEW_PROG)
    Installer for the NIMH Macaque Template(s) v2, and the CHARM (atlases).

    Courtesy of Ben Jung, Adam Messinger, et al.

----------------------------------------------------------------------

23 Jun 2020, RW Cox, AFNI GUI, level 2 (MINOR), type 6 (ENHANCE)
    Add support for *.tsv and *.csv files

    Tab and Comma separated value files will be read in, like 1D files, and
    can be selected by a chooser, including in a plugin.

----------------------------------------------------------------------

22 Jun 2020, P Taylor, convert_cdiflist_to_grads.py, level 2 (MINOR), type 4 (BUG_FIX)
    Output col grads file was *not* scaled by bvalues, as help said it would.

    Fixed: now output col grads multiplied by bvalues.

22 Jun 2020, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 4 (BUG_FIX)
    The -monty opt input was being ignored.

    It now has a voice.

----------------------------------------------------------------------

19 Jun 2020, RC Reynolds, parse_fs_lt_log.py, level 1 (MICRO), type 6 (ENHANCE)
    update for python3, though this program might not be in use

19 Jun 2020, RC Reynolds, afni_restproc.py, level 1 (MICRO), type 5 (MODIFY)
    update for python3; add extra suggests that it is obsolete

----------------------------------------------------------------------

17 Jun 2020, P Taylor, 1dplot.py, level 2 (MINOR), type 2 (NEW_OPT)
    Add legend functionality, along with opts for label and loc specifying.

    New opts: -legend_on, -legend_labels, -legend_locs.

17 Jun 2020, P Taylor, 1dplot.py, level 1 (MICRO), type 0 (GENERAL)
    Add -hview functionality.

    Where has this been all my life??

----------------------------------------------------------------------

14 Jun 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    For vstat with seedbased corr (rest), use 0.3 as thr value of corr map.

    Returning value to what it had been for a long time, based on examples.

----------------------------------------------------------------------

11 Jun 2020, RW Cox, afni GUI, level 2 (MINOR), type 6 (ENHANCE)
    Add Stride to graphing (every n-th time point, n=1..9)

----------------------------------------------------------------------

10 Jun 2020, P Taylor, convert_cdiflist_to_grads.py, level 3 (MAJOR), type 1 (NEW_PROG)
    For GE scanners, we might want a cdiflist* file for DWI grad info.

    This prog converts such beasts into usable grad/bvalue files for proc.

----------------------------------------------------------------------

09 Jun 2020, P Taylor, fat_mat2d_plot.py, level 2 (MINOR), type 4 (BUG_FIX)
    Fix behavior when -xticks_off and/or -yticks_off are/is used.

    Now the specified axis will really be *empty*.

----------------------------------------------------------------------

04 Jun 2020, P Taylor, fat_mat2d_plot.py, level 2 (MINOR), type 0 (GENERAL)
    Improve couple things in help file; change def cbar.

    More useful 'divergent' class of cbar as default.

04 Jun 2020, DR Glen, align_epi_anat.py epi stripping options, level 1 (MICRO), type 2 (NEW_OPT)
    epistrip_opts/dset2strip_opts

----------------------------------------------------------------------

03 Jun 2020, P Taylor, lib_mat2d_plot.py, level 3 (MAJOR), type 0 (GENERAL)
    Many updates to functioning, defaults, reading argv, applying user opts.

    Help file added as well; works with main proc: fat_mat2d_plot.py.

03 Jun 2020, P Taylor, fat_mat2d_plot.py, level 3 (MAJOR), type 1 (NEW_PROG)
    FINALLY, a python3 program to plot 3dTrackID and 3dNetCorr output.

    Plots *.grid and *.netcc files; replaces fat_mat_sel.py.

03 Jun 2020, P Taylor, epi_b0_correct.py, level 1 (MICRO), type 4 (BUG_FIX)
    Programming badness if user forgot to add a nec arg to an opt.

    There should be no change in behavior when correct opts are added.

----------------------------------------------------------------------

02 Jun 2020, RW Cox, afni GUI, level 2 (MINOR), type 6 (ENHANCE)
    Add PM (plus/minus) curve plotting options

    Added to the 'Colors Etc' menu. Curves, Bars, and Fill.

----------------------------------------------------------------------

01 Jun 2020, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    in populate_nifti_image(), call time series only if ntt>1 or NVALS==1

    This is to avoid confusion when a time series is used to master a
    non-time series dataset.

01 Jun 2020, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_regs and -show_regs_style

    Show column indices or labels of an xmat.1D file with empty (all-zero)
    regressors.  An index list can be space or comma-separeated, or encoded.
    Example 30 shows typical use cases.
    Added for S Haller.

01 Jun 2020, RC Reynolds, 3dAllinate, level 1 (MICRO), type 5 (MODIFY)
    clear any initial ntt from master

01 Jun 2020, P Taylor, lib_mat2d_base.py, level 2 (MINOR), type 0 (GENERAL)
    Migrated from lib_mat2d.py; tweaks added.

    Add in few more mat2d attributes; rearrange methods.

01 Jun 2020, P Taylor, lib_mat2d.py, level 2 (MINOR), type 0 (GENERAL)
    Start some new functionality for 2D matrices.

    In particular, these are for 3dTrackID and 3dNetCorr output.

01 Jun 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    For vstat with seedbased corr (rest), use 0.2 as thr value of corr map.

    The value 0.3 seemed pretty high (esp. if no smoothing is applied).

01 Jun 2020, P Taylor, afni_base.py, level 2 (MINOR), type 0 (GENERAL)
    Add new funcs for convenient message printing, in the AFNI style.

    IP(), EP() and WP(), which are wrappers to use APRINT().

01 Jun 2020, P Taylor, adjunct_aw_tableize_roi_info.py, level 2 (MINOR), type 0 (GENERAL)
    Reformat report*.1D tables a bit.

    Add in a KEY; change U/W to A/B; minor format stuff.

----------------------------------------------------------------------

31 May 2020, RC Reynolds, @diff.files, level 1 (MICRO), type 2 (NEW_OPT)
    add -verb

31 May 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Change range of grayscale when EPI is ulay (ve2a and LR flipcheck).

    Now 2-98percent (nonzero).

31 May 2020, P Taylor, @animal_warper, level 2 (MINOR), type 4 (BUG_FIX)
    Two bug fixes: 1) where src_prefix is defined.

    2) Make sure labels/atlases of ATL|SEG followers are passed along.

----------------------------------------------------------------------

30 May 2020, P Taylor, @djunct_modal_smoothing_with_rep, level 3 (MAJOR), type 1 (NEW_PROG)
    Perform modal smoothing, and go back and add in any ROIs that were lost.

    May be useful in @animal_warper;  may be good to add mask stuff, too.

30 May 2020, P Taylor, @animal_warper, level 3 (MAJOR), type 0 (GENERAL)
    Default modal smoothing now is with replacement of any lost ROIs.

    Uses @djunct_modal* script; opt to not replace. More QC images now, too.

30 May 2020, P Taylor, adjunct_aw_tableize_roi_info.py, level 2 (MINOR), type 0 (GENERAL)
    String selector of lost ROIs now is only comma-separated list.

    Discovered couldn't have both comma- and '..'-separated list in selector.

30 May 2020, P Taylor, @djunct_modal_smoothing_with_rep, level 2 (MINOR), type 0 (GENERAL)
    Now use *.nii.gz files for all intermeds, not *.nii.

    Works better with @animal_warper this way.

30 May 2020, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Apply input_abbrev earlier in processing.

    Homogenize naming, I think, if it is being selected.

----------------------------------------------------------------------

28 May 2020, RW Cox, afni GUI, level 2 (MINOR), type 6 (ENHANCE)
    Add curve smoothing plot to graph viewer

    Invoked from 'Colors Etc' menu, or by pressing the 's' key. [For GC]

28 May 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Now report DF information in vstat block.

    Needed to be able to interpret F-stat and t-stat values.

----------------------------------------------------------------------

26 May 2020, RC Reynolds, @move.to.series.dirs, level 1 (MICRO), type 5 (MODIFY)
    call afni_python_wrapper.py instead of old afni_util.py

26 May 2020, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL)
    Two major changes in output: ve2a and LR-flipcheck now have EPI as ulay.

    Most anats are SSed, so better edges?  Thanks for suggestion, O Esteban!

26 May 2020, P Taylor, @djunct_edgy_align_check, level 3 (MAJOR), type 0 (GENERAL)
    Several changes to make this appropriate using EPI as ulay.

    New opts, couple small bug fixes, couple tweaks.

26 May 2020, P Taylor, adjunct_aw_tableize_roi_info.py, level 2 (MINOR), type 0 (GENERAL)
    Now output an AFNI-style string selector of 'lost' ROI values.

    This might make it easier to see the diffs the volumes.

----------------------------------------------------------------------

25 May 2020, RC Reynolds, Makefile.macos_10.12_local, level 2 (MINOR), type 6 (ENHANCE)
    add libexpat.1.dylib to EXTRA_INSTALL_FILES

    R was upgraded to 3.6 (on the 10.12 build machine), since that is the
    current G Chen version requirement, making R_io.so work for people with
    only 3.6.  But libexpat was upgraded too, which afni depends on, meaning
    systems needed that new version of libexpat, or afni would not work.
    Instead, libexpat.1.dylib is now simply included with the binaries.
    Thanks to S Gotts and K Tran for reporting the problem.

----------------------------------------------------------------------

22 May 2020, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 0 (GENERAL)
    Change this prog to do all work in a workdir that can be cleaned.

    Should not have any effect on the usage or outputs.

----------------------------------------------------------------------

21 May 2020, RC Reynolds, 3dmask_tool, level 2 (MINOR), type 2 (NEW_OPT)
    add options -NN1, -NN2 and -NN3

    Also, fix tiny origin shift when large zero-padding is applied.

21 May 2020, P Taylor, afni_seeds_per_space.txt, level 3 (MAJOR), type 0 (GENERAL)
    Keep up with change of macaque standard space naming: stereoNMT -> NMT2.

    'stereoNMT' is an ex-parrot.

21 May 2020, P Taylor, adjunct_aw_tableize_roi_info.py, level 3 (MAJOR), type 1 (NEW_PROG)
    Adjunct program for @animal_warper.py; build ROI report table.

    Thanks to D Glen and A Messinger for helpful feedback+inputs.

21 May 2020, P Taylor, @animal_warper, level 3 (MAJOR), type 0 (GENERAL)
    Add reports of warped and unwarped ROIs, via adjunct_aw_tableize*.py.

    Thanks to D Glen and A Messinger for helpful feedback+inputs.

21 May 2020, P Taylor, adjunct_aw_tableize_roi_info.py, level 2 (MINOR), type 0 (GENERAL)
    Require mode_smooth_size as input, and include it in table.

    Thanks to D Glen and A Messinger for helpful feedback+inputs.

21 May 2020, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Report now reports mode_smooth_size.

    Thanks to D Glen and A Messinger for helpful feedback+inputs.

----------------------------------------------------------------------

20 May 2020, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    update THD_mask_erode_sym() akin to take NN param

    This matches the dglen update to THD_mask_dilate().

20 May 2020, RC Reynolds, 3dmask_tool, level 2 (MINOR), type 4 (BUG_FIX)
    fix history and memory loss

----------------------------------------------------------------------

19 May 2020, DR Glen, 3dROIstats, level 2 (MINOR), type 2 (NEW_OPT)
    nzvolume - volume of nonzero voxels

19 May 2020, DR Glen, 3dBrickStat, level 1 (MICRO), type 4 (BUG_FIX)
    Volume - absolute value of voxel dimensions used now

----------------------------------------------------------------------

18 May 2020, P Taylor, @animal_warper, level 3 (MAJOR), type 0 (GENERAL)
    Large number of under-the-hood changes, as well as new opts.

    More general handling of followers and choosing file abbrevs.

18 May 2020, P Taylor, afni_seeds_per_space.txt, level 2 (MINOR), type 0 (GENERAL)
    Updated APQC seed locations for stereoNMT space.

    More centralized now in GM and in specific ROIs; aud away from vessel.

----------------------------------------------------------------------

14 May 2020, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Large number of under-the-hood changes, for readability/clarity.

    Change echo->printf, spacing, clear comments, etc. No output changes.

----------------------------------------------------------------------

12 May 2020, RW Cox, 3dAllineate, level 1 (MICRO), type 6 (ENHANCE)
    Allow output of .jpg files for 2D images

    Actually, any AFNI program that writes a 2D 'dataset' will now do so in
    JPEG format if the prefix ends in '.jpg'. Similarly for '.png' and PNG
    format. However, note that most programs produce scalar (non-RGB)
    images, which will thus be monochrome - even if the input is color.

----------------------------------------------------------------------

11 May 2020, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    update web links to help pages in uber*.py

    Update uber_align_test.py, uber_skel.py, uber_subj.py and uber_ttest.py.

11 May 2020, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    updates for python3

    Update xmat_tool.py, quick.alpha.vals.py, read_matlab_files.py,
    uber_align_test.py and uber_skel.py.

----------------------------------------------------------------------

05 May 2020, RW Cox, afni GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Fix problem with Lock menu toggle switches

    Only one controller could be clicked on at a time!
    Which was caused a long time ago by the LessTif patrol,
    enforcing radio behavior even if it wasn't a radio box.
    Also: rearranged buttons on menu so that main stuff
          is now at top, where it's more convenient.

----------------------------------------------------------------------

04 May 2020, RW Cox, 3dUnifize, level 1 (MICRO), type 2 (NEW_OPT)
    -nosquash, to avoid soft cap on large intensities

    In other words, to skip the change of 30 Jan 2019, which
    was causing trouble for someone doing oinker imaging!

04 May 2020, RC Reynolds, xmat_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    make partual updates for python3

04 May 2020, RC Reynolds, suma-general, level 2 (MINOR), type 5 (MODIFY)
    remove tabs from a bunch of files

04 May 2020, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 4 (BUG_FIX)
    fix download of test file

    Thanks to Gerome on MB for reporting the problem.

04 May 2020, P Taylor, @Install_IBT_DATASETS, level 2 (MINOR), type 1 (NEW_PROG)
    Installer for the Indian Brain Templates. Enjoy.

    Courtesy of Dr. Bharath Holla, et al.

----------------------------------------------------------------------

30 Apr 2020, JK Rajendra, afni, level 2 (MINOR), type 0 (GENERAL)
    Added YouTube button to afni GUI.

----------------------------------------------------------------------

29 Apr 2020, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 5 (MODIFY)
    for recur, def to pub/dist/bin/misc; terminate on failed test download

29 Apr 2020, RC Reynolds, @chauffeur_afni, level 2 (MINOR), type 6 (ENHANCE)
    add AFNI_DRIVE_OPTS_XVFB env var for adding opts to Xvfb

    This will probably be modified later, but it allows one to pass
    something like '-nolisten inet6' if IPv6 is not working.
    Thanks to W-L Tseng.

----------------------------------------------------------------------

28 Apr 2020, RW Cox, 3dAllineate, level 1 (MICRO), type 4 (BUG_FIX)
    Patch failure to register 2D images (I hope)

    Turns out the cluster-izing step added to the weight production
    zeroed out the 2D images. Cheap fix = just remove isolas instead.

----------------------------------------------------------------------

27 Apr 2020, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Added a help example for integrating output into afni_proc.py.

    ... because otherwise *I* forget how to use the outputs.

----------------------------------------------------------------------

24 Apr 2020, P Taylor, 3dLMEr, level 2 (MINOR), type 0 (GENERAL)
    Updating this R file for GC. So I don't really know what the changes do.

    ... though I reeeallly want to pretend the changes were mine, ALL MINE.

24 Apr 2020, P Taylor, 3dClusterize, level 2 (MINOR), type 0 (GENERAL)
    Sidedness of testing will no longer be checked for non-stat thr vols.

    It must be Daniel Glen's birthday today (two-sided, non-stat p<0.9999).

----------------------------------------------------------------------

23 Apr 2020, RC Reynolds, to3d, level 1 (MICRO), type 4 (BUG_FIX)
    allow no controller open on input of JPEG image

23 Apr 2020, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Added new help example.

    Demonstrates useful colorbar-entry functionality.

23 Apr 2020, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Use '-colorscale_idx_file ..' to control AFNI env var AFNI_COLORSCALE_xx.

    Provides a way for user-created cbar info to be input+used.

----------------------------------------------------------------------

22 Apr 2020, P Taylor, 1dplot.py, level 1 (MICRO), type 4 (BUG_FIX)
    The '-xvals ..' opt was broken, but now is fixed.

    *Now* the brain can be solved.

----------------------------------------------------------------------

21 Apr 2020, JK Rajendra, afni, level 2 (MINOR), type 2 (NEW_OPT)
    Added -all_dsets to load all datasets together.

----------------------------------------------------------------------

16 Apr 2020, P Taylor, adjunct_simplify_cost.py, level 1 (MICRO), type 1 (NEW_PROG)
    Adjunct program for (soon to be updated) @SSwarper.

    Convert cost name to simpler version, for some application(s).

16 Apr 2020, P Taylor, @djunct_ssw_intermed_edge_imgs, level 1 (MICRO), type 1 (NEW_PROG)
    Adjunct program for (soon to be updated) @SSwarper.

    Generates images for intermediate QC/tracking.

----------------------------------------------------------------------

14 Apr 2020, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    if dataset inputs had full paths, use them in proc script

    Thanks to W-L Tseng for pointing out the discrepancy.

----------------------------------------------------------------------

10 Apr 2020, RW Cox, AFNI gui, level 2 (MINOR), type 2 (NEW_OPT)
    Add -norm option for normal font sizes

----------------------------------------------------------------------

08 Apr 2020, RW Cox, 1dplot, level 2 (MINOR), type 6 (ENHANCE)
    Add '0' to the -dashed option

    -dashed codes are now
     1 = solid           2 = longer dashes
     3 = shorter dashes  0 = no line, use boxes
    Code 0 is new, to allow a graph with some data plotted
    with lines and some without.

----------------------------------------------------------------------

07 Apr 2020, RC Reynolds, nifti_tool, level 2 (MINOR), type 2 (NEW_OPT)
    add -see_also and -ver_man to help create a quick man page

    To create a man page (via help2man), consider:
       nifti_tool -see_also > nt.see_also.txt
       help2man --help-option=-help --version-option=-ver_man  \
                --include nt.see_also.txt --no-info nifti_tool \
                | gzip > nifti_tool_manpage.1.gz
    after which one can install the file, or test via
       man ./nifti_tool_manpage.1.gz
    (see the uncompressed version for syntax).

----------------------------------------------------------------------

31 Mar 2020, RC Reynolds, neuro_deconvolve.py, level 2 (MINOR), type 6 (ENHANCE)
    update for python3

31 Mar 2020, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 4 (BUG_FIX)
    fix lib_system_check:self.os_dist for newer python

31 Mar 2020, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 4 (BUG_FIX)
    grep from $HOME/.bash_profile

----------------------------------------------------------------------

30 Mar 2020, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    have module_test_lib.py (and so afni_proc.py) work on python 2.6 again

    Done for S Horovitz.

30 Mar 2020, DR Glen, align_epi_anat.py, level 2 (MINOR), type 2 (NEW_OPT)
    rigid_equiv - rigid equivalent affine alignment

30 Mar 2020, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    NIFTI view equivalent for epi2anat alignment fix

----------------------------------------------------------------------

27 Mar 2020, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 5 (MODIFY)
    PY_LIBS

27 Mar 2020, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 0 (GENERAL)
    Rearrange variable/function definitions in afnipy libs (no more interdep).

    All changes just 'under the hood'---should be no output differences.

27 Mar 2020, P Taylor, apqc_make_html.py, level 1 (MICRO), type 0 (GENERAL)
    Rearrange variable/function definitions in afnipy libs (no more interdep).

    All changes just 'under the hood'---should be no output differences.

27 Mar 2020, DR Glen, @animal_warper center_shift, level 2 (MINOR), type 2 (NEW_OPT)
    Allow for center shifting or not

----------------------------------------------------------------------

26 Mar 2020, RC Reynolds, apqc_make_tcsh.py, level 1 (MICRO), type 5 (MODIFY)
    move ohtml to lib_apqc_tcsh.py and remove import of apqc_make_html

    This is in keeping with all python libs being under afnipy.

----------------------------------------------------------------------

24 Mar 2020, RC Reynolds, python_module_test.py, level 2 (MINOR), type 5 (MODIFY)
    restore approximate previous behavior

----------------------------------------------------------------------

23 Mar 2020, RC Reynolds, 3drefit, level 2 (MINOR), type 2 (NEW_OPT)
    add options -oblique_recenter and -oblique_recenter_raw

    Adjust the origin so the cardinalized 0,0,0 (e.g. seen in the afni GUI)
    is in the same brain location as it was originally (in the scanner?).
    So when viewing an oblique volume on top of a '3dWarp -deoblique' output,
    coordinate 0,0,0 will match between them.

----------------------------------------------------------------------

20 Mar 2020, RC Reynolds, Makefile.INCLUDE, level 2 (MINOR), type 5 (MODIFY)
    fix PY_DIR, update PY vars, add list_py_libs

20 Mar 2020, RC Reynolds, Makefile.INCLUDE, level 2 (MINOR), type 5 (MODIFY)
    fix PY_DIR, update PY vars, add list_py_libs

----------------------------------------------------------------------

19 Mar 2020, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    fix use of module_test_lib.py with change to new afnipy dir

----------------------------------------------------------------------

17 Mar 2020, RW Cox, afni GUI, level 2 (MINOR), type 2 (NEW_OPT)
    Modify font size options - hopefully easier now

    1) Change meaning of 'plus' fonts to be bigger than before.
    2) Change so that 'plus' twice on command line equals 'big'.
    3) Add simpler options '-big' and '-plus' and '-minus'.
    Combined, these should make it easier to do font size changes.

----------------------------------------------------------------------

12 Mar 2020, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    point web help for program to sphinx tree

    Also, added -hweb/-h_web for python progs that use option_list.py.

12 Mar 2020, RC Reynolds, SUMA_test_DrawingAreaWidget, level 2 (MINOR), type 1 (NEW_PROG)
    test for a valid DrawingAreaWidgetClass pointer

12 Mar 2020, RC Reynolds, align_epi_anat.py, level 1 (MICRO), type 4 (BUG_FIX)
    account for lpc+zz when checking costs for -check_flip

    Thanks to R Kampe for noting the problem.

12 Mar 2020, P Taylor, check_dset_for_fs.py, level 3 (MAJOR), type 0 (GENERAL)
    This program has been deemed unnecessary.

    Thanks for the FS folks for discussions/clarifications on this.

12 Mar 2020, P Taylor, 3dReHo, level 2 (MINOR), type 0 (GENERAL)
    Alter output format if ROI neighborhood values of ReHo are calc'ed.

    Make 2 col (ROI val; ReHo val). Output multiple text files, if nec, too.

12 Mar 2020, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 4 (BUG_FIX)
    vstat image was generated even if 'surf' block was used in AP.

    Since stats_dset in this case was *.niml.dset, no image should be made.

----------------------------------------------------------------------

11 Mar 2020, RW Cox, afni GUI, level 1 (MICRO), type 6 (ENHANCE)
    Add Card or Obliq notice to image viewers

11 Mar 2020, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    add details on why some help examples are not considered complete

    And corrected status of Example 11, changed to recommended.
    Thanks to K Knutson for questioning the status.

11 Mar 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Swap ulay/olay in va2t (anat->ulay); clearer image, maybe.

    Make template (if used) ulay in most other QC blocks.

----------------------------------------------------------------------

10 Mar 2020, RW Cox, 3dttest++, level 3 (MAJOR), type 6 (ENHANCE)
    Add dataset-level weights to 3dttest++

    Per the request of users in Tulsa.
    New options -setweight[AB] allow user to provide weights
    for the importance of a user in the calculations.

----------------------------------------------------------------------

05 Mar 2020, RC Reynolds, @SUMA_Make_Spec_FS, level 2 (MINOR), type 5 (MODIFY)
    for now, use mris_convert/3dcopy for extra annot files

    So standard mesh version will not have a proper label table, but
    the values will be appropriate and more usable in suma.
    This is done to import the Schaefer/Yeo atlases onto standard meshes.
    Done with D Glen.

----------------------------------------------------------------------

03 Mar 2020, RC Reynolds, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    have 3dttest++ -Clustsim fail immediately if -prefix includes a path

----------------------------------------------------------------------

27 Feb 2020, RC Reynolds, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    add -fsannot_ver; apply -extra_annot_labels output as -extra_fs_dsets

27 Feb 2020, P Taylor, @SSwarper, level 2 (MINOR), type 2 (NEW_OPT)
    New opt '-warpscale' added; is a new opt in 3dQwarp, can be tweaked here now.

    Control flexibility of warps.  Right now testing different values.

----------------------------------------------------------------------

26 Feb 2020, RW Cox, machdep, level 2 (MINOR), type 6 (ENHANCE)
    First step for allowing floating round randomization

    Code in machdep.c, enabled by environment variable
    AFNI_RANDOMIZE_ROUNDING, lets a program invoke macro RAND_ROUND to
    randomize the IEEE rounding mode. This requires compiling with the flag
    -DUSE_FENV to enable use of the C99 function fesetround() to set the
    rounding mode -- see machdep.h. So far, only 3dAllineate has any parts
    that use RAND_ROUND -- that is, if you set AFNI_RANDOMIZE_ROUNDING to
    YES and run 3dAllineate, the results will change from a 'normal' run.
    How much? That's the point of this update, to see how sensitive the
    output is to the accumulation of tiny changes.

26 Feb 2020, RW Cox, 3dAllineate, level 1 (MICRO), type 6 (ENHANCE)
    Always check cmass shifts, and provide warnings if not enabled

    That is, if -cmass is NOT on, but the cmass shifts would be large, put
    out a WARNING message at the start and at the end.

26 Feb 2020, RC Reynolds, @SUMA_AlignToExperiment, level 1 (MICRO), type 5 (MODIFY)
    NIFTI fails for -exp_anat, so have it fail early and explain

    Thanks to D Oswalt for noting the problem.

26 Feb 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 4 (BUG_FIX)
    Crashing in cases of 'pythonic' APQC with no censoring.

    Have fixed now.

26 Feb 2020, DR Glen, @animal_warper ROIdset followers, modal smoothing, level 2 (MINOR), type 2 (NEW_OPT)
    Allow for ROIs to follow into template space and modal smoothing

    ROIs are transformed with nearest neighbor interpolation
    Both ROIs and segmentation followers from the template space
    are now modally smoothed within 3 voxel neighborhoods

----------------------------------------------------------------------

25 Feb 2020, P Taylor, check_dset_for_fs.py, level 3 (MAJOR), type 0 (GENERAL)
    New min|max range on vox size; update report text.

    Based on tests with FS data.

25 Feb 2020, P Taylor, check_dset_for_fs.py, level 2 (MINOR), type 4 (BUG_FIX)
    Minor bug fix, caught by RCR.  Or was it first *added* by RCR????

    ... Nope.  It was added by me.  Sigh.

----------------------------------------------------------------------

24 Feb 2020, RW Cox, 3dQwarp, level 2 (MINOR), type 2 (NEW_OPT)
    Add -warpscale option

    To scale the warp displacements down at each level, for experimentation.

24 Feb 2020, P Taylor, adjunct_make_script_and_rst.py, level 1 (MICRO), type 4 (BUG_FIX)
    Fix image caption processing.

    (This prog is just used in RST/documentation generation.)

----------------------------------------------------------------------

22 Feb 2020, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 0 (GENERAL)
    Temporary files now have a random string in their prefix.

    Thus, can have multiple runs in same directory simultaneously sans problem
    .

22 Feb 2020, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Can control AGIF frame rate, using opt (-agif_delay) to control AFNI env var.

    Thanks to RCR for pointing out the env var.

----------------------------------------------------------------------

21 Feb 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 4 (BUG_FIX)
    Crashing in cases of 'basic' APQC with no outlier-based censoring.

    Have fixed now.

----------------------------------------------------------------------

19 Feb 2020, RC Reynolds, afni_python_wrapper.py, level 3 (MAJOR), type 1 (NEW_PROG)
    replaces afni_util.py as a main

    This program can theortically be used to call any AFNI python function
    from the shell.

19 Feb 2020, RC Reynolds, afni_util.py, level 2 (MINOR), type 5 (MODIFY)
    no longer available as a main executable

19 Feb 2020, RC Reynolds, apsearch, level 1 (MICRO), type 5 (MODIFY)
    get process depth via afni_python_wrapper.py

    afni_util.py main was moved to afni_python_wrapper.py.

19 Feb 2020, RC Reynolds, @auto_tlrc, level 1 (MICRO), type 4 (BUG_FIX)
    block inappropriate 'FATAL ERROR: ... already exists'

    This happened when anat_in was local and stripped, so it matched ns_pref.
    Thanks to R Kampe for noting the problem.

19 Feb 2020, P Taylor, adjunct_select_str.py, level 2 (MINOR), type 0 (GENERAL)
    Renamed from @djunct_select_str.py.

    Purge @ symbol in Python progs, for purpose of repackaging/distribution.

19 Feb 2020, P Taylor, adjunct_make_script_and_rst.py, level 2 (MINOR), type 0 (GENERAL)
    Renamed from @djunct_make_script_and_rst.py.

    Purge @ symbol in Python progs, for purpose of repackaging/distribution.

19 Feb 2020, P Taylor, adjunct_is_label.py, level 2 (MINOR), type 0 (GENERAL)
    Renamed from @djunct_is_label.py.

    Purge @ symbol in Python progs, for purpose of repackaging/distribution.

19 Feb 2020, P Taylor, adjunct_combine_str.py, level 2 (MINOR), type 0 (GENERAL)
    Renamed from @djunct_combine_str.py.

    Purge @ symbol in Python progs, for purpose of repackaging/distribution.

19 Feb 2020, P Taylor, adjunct_calc_mont_dims.py, level 2 (MINOR), type 0 (GENERAL)
    Renamed from @djunct_calc_mont_dims.py.

    Purge @ symbol in Python progs, for purpose of repackaging/distribution.

19 Feb 2020, P Taylor, DoPerRoi.py, level 2 (MINOR), type 0 (GENERAL)
    Renamed from @DoPerRoi.py.

    Purge @ symbol in Python progs, for purpose of repackaging/distribution.

19 Feb 2020, P Taylor, @SSwarper, level 2 (MINOR), type 0 (GENERAL)
    New QC image outputs added.

    One for skullstripping (orig space) and one for warping (ref space).

----------------------------------------------------------------------

18 Feb 2020, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    help examples now include some developed outside of afni_proc.py

    This includes some class demos, along with pamenc and NARPS.
    Include a line about whether each example is reasonably recommended.
    Done to appease the mighty P Taylor.

18 Feb 2020, RC Reynolds, @Align_Centers, level 1 (MICRO), type 4 (BUG_FIX)
    fix copy-and-paste error and missing endif

    Thanks to R Kampe for noting the problem.

----------------------------------------------------------------------

17 Feb 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Reorganized under the hood, deal with censoring in a better way.

    Easier to tweak/update changes now.

17 Feb 2020, P Taylor, 1dplot.py, level 2 (MINOR), type 0 (GENERAL)
    Opt -censor_hline can now take a keyword NONE as an entry.

    Useful if looking at multiple inputs and only some have censor lines.

----------------------------------------------------------------------

14 Feb 2020, RW Cox, afni GUI, level 2 (MINOR), type 4 (BUG_FIX)
    Get Atlas Colors working again

    Problem: 2 generations of overlay colorization changes.
    a) Overlay went from indexes to RGB
    b) Overlay went from indexes or RGB to RGBA
    The atlas overlaying function didn't allow for these very well,
    especially the latter. Obviously, this can't be my fault since I'm the
    boss - even though I wrote the offending code. Someone must have joggled
    my brain.

14 Feb 2020, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -compare_opts_vs_opts

    One can compare two afni_proc.py commands sequentially, that are
    not part of the stored examples list.  Consider:
       afni_proc.py ... first option set ...    \
                    -compare_opts_vs_opts       \
                    ... second option set ...
    It is okay for 'second option set' to include the afni_proc.py
    command name, in case two scripts are concatenated.

14 Feb 2020, DR Glen, @animal_warper dset followers, level 2 (MINOR), type 2 (NEW_OPT)
    -dset_followers to apply same transformations as dset

14 Feb 2020, DR Glen, @Align_Centers shift xform, level 2 (MINOR), type 2 (NEW_OPT)
    Move center/origin by known amount from 1D file

    Large translations in nonlinear warp interpolation can use vast
    amounts or memory in the 3dNwarpApply implementation. By doing
    center alignment separately, we can remove the memory and 
    computational costs. The new options are -shift_xform and
    -shift_xform_inv.

----------------------------------------------------------------------

12 Feb 2020, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT)
    add ability to compare against examples

    Add options -compare_opts, -compare_example_pair, -show_example and
                -show_example_names.
    Consider these examples:
       afni_proc.py -show_example 'Example 11b'
       afni_proc.py -show_example_names
       afni_proc.py ... my options here ... -compare_opts 'Example 11'
    Motivated by C Gaillard and P Taylor.

12 Feb 2020, DR Glen, 3dCM Icent, Dcent, level 2 (MINOR), type 2 (NEW_OPT)
    alternative centers

    To force centers to lie within a region
    -Icent for internal center, -Dcent for distance center

----------------------------------------------------------------------

10 Feb 2020, RW Cox, afni GUI, level 1 (MICRO), type 6 (ENHANCE)
    Add reading Apple .heic images (via magick tool)

----------------------------------------------------------------------

07 Feb 2020, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    reduce X11 program deps

    Possibly define LLIBS_X11 in top-level Makefile (as current LLIBS) and
    then remove X libs from LLIBS.  M.INCLUDE will define LLIBS if not set.
    Move suma_help to IMOBJS.

07 Feb 2020, RC Reynolds, Makefile.linux_fedora_28_shared, level 2 (MINOR), type 6 (ENHANCE)
    build main non-X11, non-SUMA AFNI program without X deps

    Set LLIBS_X11 to current LLIBS, and give it to SUMA_LINK_LIB.
    Remove all X11 libs from LLIBS.  Add -DREPLACE_XT to CEXTRA.
    Note: without REPLACE_XT, LLIBS could still just use Xt and X11.
    And made the same mods to Makefile.linux_xorg7_64.

----------------------------------------------------------------------

05 Feb 2020, RW Cox, 3dGrayplot, level 2 (MINOR), type 2 (NEW_OPT)
    Add -LJorder option

    To order voxels by their Ljung-Box statistics.

05 Feb 2020, RC Reynolds, option_list.py, level 2 (MINOR), type 2 (NEW_OPT)
    list all global options via 'PROG.py -optlist_show_global_opts'

    Also, add -optlist_show_argv_array to display afni_proc.py options
    in python dictionary format.
    This could be done with any OptionList-based python program.

05 Feb 2020, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add initial new library for processing example, lib_ap_examples.py

----------------------------------------------------------------------

04 Feb 2020, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    add help for a few esoteric options

----------------------------------------------------------------------

03 Feb 2020, RC Reynolds, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    add -extra_annot_labels

03 Feb 2020, RC Reynolds, dicom_hdr, level 1 (MICRO), type 2 (NEW_OPT)
    add -siemens_csa_data

    Same as 3 -slice_times_verb opts.

03 Feb 2020, RC Reynolds, Dimon, level 1 (MICRO), type 6 (ENHANCE)
    show CSA data on high debug

03 Feb 2020, P Taylor, @djunct_anonymize, level 2 (MINOR), type 1 (NEW_PROG)
    Anonymize files, and maybe add a note.

    Can either edit input directly, or make a copy + edit that.

03 Feb 2020, P Taylor, @afni_refacer_run, level 2 (MINOR), type 2 (NEW_OPT)
    Can anonymize output dsets:  -anonymize_output.

    Fairly self-explanatory opt.

----------------------------------------------------------------------

02 Feb 2020, RW Cox, 3dPval, level 2 (MINOR), type 2 (NEW_OPT)
    Add -qval option to 3dPVAL [for GC].

    Merry Groundhog Day!

----------------------------------------------------------------------

29 Jan 2020, P Taylor, @djunct_montage_coordinator, level 2 (MINOR), type 4 (BUG_FIX)
    Couldn't deal with volumes that had RGB type, which happens for DEC maps.

    Has been fixed now.

29 Jan 2020, P Taylor, 1dplot.py, level 2 (MINOR), type 4 (BUG_FIX)
    The input opt '-xfile ..' was broken;  now it is fixed.

    Fix class inits, as well, under the hood.

29 Jan 2020, P Taylor, fat_proc_dwi_to_dt, level 1 (MICRO), type 0 (GENERAL)
    Try to make a couple output images (dwi*b0*.png) a bit clearer.

    Make olay use 95%ile value as cbar max, rather than 100%.

----------------------------------------------------------------------

27 Jan 2020, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 6 (ENHANCE)
    add basis=BASIS parameter when defining timing class

    Done for geenaianni on MB.

27 Jan 2020, RC Reynolds, @diff.tree, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_list_comp, to do pairwise comparison of file names

27 Jan 2020, RC Reynolds, @SUMA_Make_Spec_FS, level 2 (MINOR), type 6 (ENHANCE)
    gzip SUMA/*.nii, except for SurfVol

27 Jan 2020, P Taylor, @afni_refacer_run, level 3 (MAJOR), type 0 (GENERAL)
    Program now outputs QC images automatically.

    These are output into a PREFIX_QC directory each run.

27 Jan 2020, P Taylor, @SSwarper, level 3 (MAJOR), type 0 (GENERAL)
    Large set of updates; many new opts added, too; generally much improved warps.

    Heavily tested on 178 subj across studies; output fnames are same, though.

27 Jan 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bug in QC.

    Broke when there was one stim used (bad scalar -> list conv).

----------------------------------------------------------------------

26 Jan 2020, P Taylor, @afni_refacer_run, level 3 (MAJOR), type 0 (GENERAL)
    This program now requires specifying a mode for re/defacing.

    One can also output all types of re/defacing simultaneously.

----------------------------------------------------------------------

24 Jan 2020, P Taylor, @afni_refacer_run, level 3 (MAJOR), type 0 (GENERAL)
    This program has been revamped and updated, including having a new ref vol.

    Syntax for running this has totally changed (options exist).

24 Jan 2020, P Taylor, @afni_refacer_make_master_addendum, level 3 (MAJOR), type 0 (GENERAL)
    This program just records additional tweaks to refacer ref vol.

    Not really meant to be run on its own; for future reference only.

24 Jan 2020, P Taylor, @afni_refacer_make_master, level 1 (MICRO), type 0 (GENERAL)
    Updated with notes to look at @afni_refacer_make_master_addendum.

    The addendum program just tweaks the output of this prog.

----------------------------------------------------------------------

23 Jan 2020, RC Reynolds, realtime_receiver.py, level 2 (MINOR), type 6 (ENHANCE)
    add handling of magic version 4 (ROIs and mask==1 data)

    Done for J Gonzalez-Castillo.

----------------------------------------------------------------------

22 Jan 2020, RW Cox, 3dREMLfit, level 3 (MAJOR), type 6 (ENHANCE)
    Compute Ljung-Box statistic for -Rvar dataset.

    Provides a measure of how temporally correlated each voxel's
    pre-whitened residuals are. Small LB value = good fit by the ARMA(1,1)
    model. Sub-brick is coded as a chi-squared statistic for use in
    thresholding in the AFNI GUI.

22 Jan 2020, RC Reynolds, plug_realtime, level 3 (MAJOR), type 0 (GENERAL)
    add ROIs and data mask method

    Added corresponding demo: AFNI_data6/realtime.demos/demo_3_ROIs_n_data

22 Jan 2020, RC Reynolds, realtime_receiver.py, level 2 (MINOR), type 6 (ENHANCE)
    add handling of magic version 3 (all data light)

----------------------------------------------------------------------

21 Jan 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Increase thresholds and cbar range in vstat_seedcorr and regr_corr dsets.

    Clearer QC, methinks, based on several different group dsets.

----------------------------------------------------------------------

17 Jan 2020, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    New pieces of QC:  corr brain image in regr block.

    Shows corr of mean residual with everything.  Have a nice day.

----------------------------------------------------------------------

15 Jan 2020, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    corr_* dsets are now correlations with ROI averages

    They were previously average correlations with each ROI voxel.  The new
    maps look similar, but are probably more natural and have nicer scales.
    Requested by P Taylor.

----------------------------------------------------------------------

14 Jan 2020, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Change text of animal_outs.txt.

    Add in a couple new dsets to be listed.

----------------------------------------------------------------------

13 Jan 2020, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    add some make lists ; see 'make list_lists'

13 Jan 2020, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL)
    New pieces of QC:  first, seedbased corr maps for non-task data.

    Second, censor-based warnings (general and per-stim).

13 Jan 2020, P Taylor, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    New function to read in seed list text file.

    Returns list of seed objs for APQC.

13 Jan 2020, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 2 (NEW_OPT)
    Couple new options.

    Can specify colorbar and center coords now.

----------------------------------------------------------------------

02 Jan 2020, RC Reynolds, plug_realtime, level 1 (MICRO), type 0 (GENERAL)
    updates corresponding with Javier's new All_Data_light method

----------------------------------------------------------------------

31 Dec 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 5 (MODIFY)
    Do not require out_limit.  Currently will still show in driver.

    Done for P Taylor.

----------------------------------------------------------------------

27 Dec 2019, P Taylor, check_dset_for_fs.py, level 3 (MAJOR), type 2 (NEW_OPT)
    New option(s) to not just *check* a dset for FS-ability, but to correct it.

    The '-fix_all' and accompanying options control this.  Bonne idee, DRG!

----------------------------------------------------------------------

26 Dec 2019, RC Reynolds, timing_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    add -timing_to_1D_mods and -show_events

    Done for A Gorka.

26 Dec 2019, P Taylor, check_dset_for_fs.py, level 2 (MINOR), type 4 (BUG_FIX)
    Fix one of the test criteria (-is_mat_even).

    Thanks, S. Torrisi, for pointing this out.

26 Dec 2019, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 0 (GENERAL)
    Simpler list of uvar dependencies for indiv stim plotting.

    ... ergo, see indiv stims even if not censoring.

----------------------------------------------------------------------

25 Dec 2019, DR Glen, erosion/dilation neighborhoods, level 2 (MINOR), type 5 (MODIFY)
    Allow for NN1,NN2,NN3 neighborhoods for erosion and dilation

    3dAutomask and other programs use these functions
    the depth option in 3dAutomask gives a depth of automask NN1,2,3

----------------------------------------------------------------------

20 Dec 2019, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 6 (ENHANCE)
    add more help details for advanced usage

----------------------------------------------------------------------

17 Dec 2019, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    allow labels as column selectors when reading xmat.1D files

    Done for G Chen.

----------------------------------------------------------------------

12 Dec 2019, RW Cox, 3dTcorrelate, level 2 (MINOR), type 2 (NEW_OPT)
    Add -zcensor option

    Remove from consideration any time point t where xset(t) OR yset(t) is
    identically zero (in the mask). For Peter Molfese and Emily Finn.
    Merry X!

12 Dec 2019, DR Glen, @measure_erosion_thick, level 2 (MINOR), type 5 (MODIFY)
    More centers - find deepest near voxel closest to Center of Mass

    Came from CodeConvergence idea by Meghan Robinson
    Voxel closest to center of mass is similar to latest ICent
    in Clusterize GUI

----------------------------------------------------------------------

10 Dec 2019, RW Cox, AFNI GUI, level 2 (MINOR), type 3 (NEW_ENV)
    Add 'Zoom lock' to the locking capability

    Also a new environment variable AFNI_ZOOM_LOCK to turn this on at
    startup, vs interactively later.

10 Dec 2019, RW Cox, afni GUI, level 1 (MICRO), type 6 (ENHANCE)
    add zoom= to SET_WINDOW driver command

10 Dec 2019, RC Reynolds, uber_proc.py, level 2 (MINOR), type 5 (MODIFY)
    separate into main/lib/gui, so one can run -help w/out PyQt4

----------------------------------------------------------------------

09 Dec 2019, RW Cox, AFNI GUI, level 1 (MICRO), type 5 (MODIFY)
    Replace mpeg_encode with ffmpeg in imseq.c

    From Michael Hanke. He gets the credit and/or blame, as needed.
    Submitted via github (pull request #39, from 2016). At last!

09 Dec 2019, RC Reynolds, 3dTagalign, level 2 (MINOR), type 2 (NEW_OPT)
    add -tagset

    Coded by T Holroyd.

----------------------------------------------------------------------

29 Nov 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -volreg_opts_ewarp, to pass additional volreg EPI warp options

    Added for L Fernandino.

----------------------------------------------------------------------

27 Nov 2019, RC Reynolds, ROIgrow, level 1 (MICRO), type 4 (BUG_FIX)
    if PER_NODE, also process label == 0

    Thanks to K Dembny for noting the problem.

----------------------------------------------------------------------

26 Nov 2019, RW Cox, @afni_refacer_run, level 3 (MAJOR), type 6 (ENHANCE)
    Modify shell dataset to avoid some brain clipping

    Mostly by eroding the inside of the brain shell.
    Also a couple little tweaks to the script.

26 Nov 2019, RW Cox, 3dQwarp, level 1 (MICRO), type 6 (ENHANCE)
    Allow user to supply an affine matrix with -resample

    To reuse a matrix from a previous 3dAllineate run, for speedup

26 Nov 2019, RW Cox, 3dQwarp, level 1 (MICRO), type 2 (NEW_OPT)
    Add hidden -sincc option for speedup

    Doesn't seem to help much - faster at large patches but not at smaller
    patches.

----------------------------------------------------------------------

21 Nov 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    update babble about FreeSurfer in help

21 Nov 2019, RC Reynolds, @auto_tlrc, level 2 (MINOR), type 4 (BUG_FIX)
    add 'endif' for if( $warpdrive_method == '3dWarpDrive'

    Thanks to T Holroyd for reporting and fixing this.

21 Nov 2019, RC Reynolds, 3dRank, level 2 (MINOR), type 4 (BUG_FIX)
    fix storage_mode handling (re-allow niml.dset output)

    Thanks to dmoracze on the Message Board for noting the problem.

----------------------------------------------------------------------

19 Nov 2019, RC Reynolds, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    add -fs_setup, to optionally source $FREESURFER_HOME/SetUpFreeSurfer.csh

19 Nov 2019, RC Reynolds, tedana.py, level 1 (MICRO), type 4 (BUG_FIX)
    add arr.flags.writeable fallback in volumeutils.py:array_from_file()

    Done for L Sepeta, for CentoOS 6.

----------------------------------------------------------------------

14 Nov 2019, P Taylor, @SUMA_renumber_FS, level 2 (MINOR), type 0 (GENERAL)
    New output: fs_ap* dsets for tissue-based reg in afni_proc.py;.

    New output: *REN_gmrois* dsets for tracking/corr mats in FATCAT.

14 Nov 2019, P Taylor, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    New opt:  '-make_rank_dsets ..', bc *rank* dsets no longer make by def.

    The *REN* dsets should be used instead; opt just for back compatibility.

----------------------------------------------------------------------

13 Nov 2019, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 5 (MODIFY)
    omit any final PyQt4 warnings unless asked for

    Done to appease the mighty P Taylor.

13 Nov 2019, DR Glen, AFNI Clusterize, level 2 (MINOR), type 4 (BUG_FIX)
    ICent error

    Couple bugs in ICent location computation - thx to Meghan Robinson

----------------------------------------------------------------------

12 Nov 2019, DR Glen, @measure_erosion_thick, level 2 (MINOR), type 5 (MODIFY)
    Center for deepest voxel closest to Center of Mass

    Made in CodeConvergence with Chris Rorden and Meghan Robinson

----------------------------------------------------------------------

11 Nov 2019, DR Glen, @suma_acknowledge, level 2 (MINOR), type 1 (NEW_PROG)
    Make simple graphs of collaborations and classes

    Made for AFNI bootcamps using SUMA graph datasets
    This may be useful for acknowledgement for general use

----------------------------------------------------------------------

01 Nov 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    process out.mask_at_corr.txt, the anat/template Dice coefficient

    Requested by P Hamilton.

01 Nov 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    create out.mask_at_corr.txt, the anat/template Dice coefficient

    Requested by P Hamilton.

----------------------------------------------------------------------

28 Oct 2019, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    fix THD_write_niml to apply directory to output file

    Thanks to pmlauro on Message Board, for pointing out the problem.

----------------------------------------------------------------------

25 Oct 2019, RW Cox, afni GUI driver, level 2 (MINOR), type 6 (ENHANCE)
    butpress commands to image viewer

    butpress=Colr or Swap or Norm to simulate button presses
    For Paul.

25 Oct 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    allow selectors on -dset* options (cannot mix with removal options)

    Requested by E Finn.

----------------------------------------------------------------------

24 Oct 2019, RW Cox, AFNI gui, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_IMAGE_COLORSCALE defines colorbar for image viewer window

    Formerly fixed, now user can specify the color scale to use here from
    one of these: magma viridis plasma googleturbo
    Also, I restored the 'g' (gamma) button affect on this color scale.

24 Oct 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add combine methods m_tedana, m_tedana_OC

    Can run tedana from MEICA group:
       https://github.com/ME-ICA/tedana
       https://tedana.readthedocs.io

----------------------------------------------------------------------

23 Oct 2019, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Change dummy dataset creation

    If NO data is read into afni, then it creates a dummy dataset, since
    there must be at least one dataset available for the GUI to function.
    This change makes afni search for some canonical datasets to use in
    place of the dummy dataset, which will now only be created when one of
    these datasets is not found. The search is done in the path directory
    where the afni binary is found (often the user's abin).

23 Oct 2019, RC Reynolds, 3dZeropad, level 1 (MICRO), type 2 (NEW_OPT)
    add -pad2evens: add needed planes to make each dimension even

23 Oct 2019, P Taylor, check_dset_for_fs.py, level 3 (MAJOR), type 1 (NEW_PROG)
    Script to check properties of a dset, see if suitable for FS's recon-all.

    The check criteria have been built over time, empirically.

----------------------------------------------------------------------

22 Oct 2019, P Taylor, @djunct_edgy_align_check, level 1 (MICRO), type 0 (GENERAL)
    Adjusted help file.

    Had given wrong name for opt.

----------------------------------------------------------------------

21 Oct 2019, RC Reynolds, afni, level 1 (MICRO), type 2 (NEW_OPT)
    add -get_running_env, to show env including locally set vars

21 Oct 2019, P Taylor, afni, level 1 (MICRO), type 2 (NEW_OPT)
    Display AFNI environment vars in the terminal, via new opt: -env.

    Makes good bedtime reading.

21 Oct 2019, P Taylor, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Had named an option differently than help file stated; now renaming.

    To show 'AFNI Tips', opt named: -tips.

----------------------------------------------------------------------

17 Oct 2019, RC Reynolds, Makefile, level 1 (MICRO), type 4 (BUG_FIX)
    for strcasestr, we need to define _GNU_SOURCE in Makefile.*

17 Oct 2019, RC Reynolds, 3dTcorr1D, level 1 (MICRO), type 4 (BUG_FIX)
    strcasestr fix subsumed by adding _GNU_SOURCE to make

    Undo removal of strcasestr.

17 Oct 2019, RC Reynolds, 3dANOVA, level 1 (MICRO), type 6 (ENHANCE)
    improve descriptions of some option errors to the user

17 Oct 2019, P Taylor, afni, level 1 (MICRO), type 2 (NEW_OPT)
    Display AFNI Tips in the terminal, via new opt: -show_tips.

    Will be used+parsed for the HTML RST docs.

----------------------------------------------------------------------

16 Oct 2019, RC Reynolds, @auto_tlrc, level 2 (MINOR), type 6 (ENHANCE)
    re-insert updates from 2019.05.29, plus updates for -init_xform

16 Oct 2019, RC Reynolds, TwotoComplex, level 1 (MICRO), type 6 (ENHANCE)
    process entire time series, rather than just first volume(s)

    Done to further the quest of A Khojandi for world domination.

16 Oct 2019, RC Reynolds, 3dFFT, level 1 (MICRO), type 6 (ENHANCE)
    process entire time series, rather than just the first volume

    Done for A Khojandi.

----------------------------------------------------------------------

15 Oct 2019, RW Cox, afni GUI, level 1 (MICRO), type 4 (BUG_FIX)
    -bysub fix

    Methods 1 and 2 can conflict, and the choice is arbitrarily made to
    favor Method 1 when the input matches both situations.

15 Oct 2019, RC Reynolds, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    add -subbrick_info, to write only 'At sub-brick #N' info to stdout

----------------------------------------------------------------------

11 Oct 2019, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    checked and merged another 17 commit PR from pn2200

    This is mostly to resolve missing prototypes.

----------------------------------------------------------------------

10 Oct 2019, RC Reynolds, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    add -niml_hdr, to write full NIML header(s) to stdout

10 Oct 2019, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    search for niml.dset errts datasets

10 Oct 2019, RC Reynolds, afni_base.py, level 1 (MICRO), type 4 (BUG_FIX)
    in NIML case, exist should check ppv file directly

----------------------------------------------------------------------

09 Oct 2019, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    checked and merged 30 commit PR from pn2200

    This is mostly to resolve compiler warnings.

----------------------------------------------------------------------

07 Oct 2019, RC Reynolds, NIFTI, level 2 (MINOR), type 6 (ENHANCE)
    probably the last set of test updates for now

07 Oct 2019, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Change text of animal_outs.txt.

    Minor 'under the hood' changes, too.

07 Oct 2019, P Taylor, afni, level 1 (MICRO), type 2 (NEW_OPT)
    Simpler opts for package and version number.

    For scriptability.

----------------------------------------------------------------------

04 Oct 2019, RC Reynolds, 3dNLfim, level 1 (MICRO), type 4 (BUG_FIX)
    allow for longer input and output file names

    Names were malloc'd with MAX_NAME_LENGTH; use nifti_strdup, instead.
    Thanks to S Wardle for bringing this to light.

----------------------------------------------------------------------

03 Oct 2019, P Taylor, lib_gershgorin.py, level 2 (MINOR), type 0 (GENERAL)
    Just divvied up the behavior of the functions better.

    Also have a general, NxN case .

03 Oct 2019, P Taylor, epi_b0_correct.py, level 1 (MICRO), type 0 (GENERAL)
    Calculate oblique transform differently; use 3dWarp instead of cat_matvec.

    Probably negligible practical change.

03 Oct 2019, P Taylor, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    Fancy new function to calculate if a list-matrix is square.

    ps: not that fancy.

----------------------------------------------------------------------

02 Oct 2019, P Taylor, epi_b0_correct.py, level 3 (MAJOR), type 0 (GENERAL)
    The naming convention of PE dist dir has been reversed; mask opts changed.

    PE dist dir should match with JSONs better; 3dmask_tool does masking now.

02 Oct 2019, P Taylor, 1dDW_Grad_o_Mat++, level 2 (MINOR), type 0 (GENERAL)
    Output more specific information about finding unexpected negative values.

    Tell user the [row, col] of potentially bad values, for easier QC.

----------------------------------------------------------------------

30 Sep 2019, RC Reynolds, NIFTI, level 2 (MINOR), type 6 (ENHANCE)
    added test scripts under commands, along with cmake versions for build

----------------------------------------------------------------------

26 Sep 2019, RC Reynolds, NIFTI, level 1 (MICRO), type 5 (MODIFY)
    nifti_read_ascii_image no longer closes fp or free's fname

----------------------------------------------------------------------

23 Sep 2019, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 4 (BUG_FIX)
    missed endif

    Thanks to A Winkler for noting the problem.

----------------------------------------------------------------------

18 Sep 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    if -html_review_style pythonic, check for matplotlib

----------------------------------------------------------------------

16 Sep 2019, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    check on /usr/local/bin/python* files, as is done with /sw/bin

----------------------------------------------------------------------

13 Sep 2019, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    report XQuartz version

    As suggested by P Taylor.

13 Sep 2019, P Taylor, 3dWarp, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: -disp_obl_xform_only.

    Better way to get transform between obl coords than cat_matvec trickery.

----------------------------------------------------------------------

12 Sep 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    add file tracking and -show_tracked_files option

    In preparation for shifting evil for P Taylor and D Glen.

12 Sep 2019, P Taylor, epi_b0_correct.py, level 3 (MAJOR), type 0 (GENERAL)
    Output QC directory of images now, as well. Useful for quick QC.

    Later, will add some checks for obl, to not smooth unnec.

12 Sep 2019, P Taylor, @chauffeur_afni, level 1 (MICRO), type 0 (GENERAL)
    Use 'mkdir -p' with odir now.

    Simplifies scripts using it.

----------------------------------------------------------------------

10 Sep 2019, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Unifize output in standard space.

    Better for visualization in afni_proc.py QC.

10 Sep 2019, P Taylor, epi_b0_correct.py, level 1 (MICRO), type 0 (GENERAL)
    Fix help descriptions (thanks L. Dowdle for fixes).

    Also add '-hview' capability.

----------------------------------------------------------------------

09 Sep 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    add control for 3dDespike -NEW25

    Requested by aparekh on the Message Board.

----------------------------------------------------------------------

06 Sep 2019, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Two minor changes: montages now separated by 1 gap line.

    ... and show censor bars in VR6 plots, if censoring.

06 Sep 2019, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 0 (GENERAL)
    Now use montgap=1 by default.

    This is for APQC applications, where subj data fills FOV.

06 Sep 2019, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Output skullstripped version of template in std space.

    Also add 'notes' to that file, so gen_ss*script* can find template.

06 Sep 2019, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    Put QC images into subdir called QC; output mask.

    Few other tiny changes/reorganizations internally.

----------------------------------------------------------------------

05 Sep 2019, RC Reynolds, SurfMeasures, level 1 (MICRO), type 5 (MODIFY)
    retab and fix indentations

----------------------------------------------------------------------

04 Sep 2019, RC Reynolds, @SUMA_Make_Spec_FS, level 1 (MICRO), type 6 (ENHANCE)
    check for valid 'mris_convert --help' output

04 Sep 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    New opts: -obl_resam_ulay OIU, -obl_resam_Olay OIO, -obl_resam_box OIB.

    Control resampling of dsets (ulay, olay, focus box) when applying obl.

04 Sep 2019, P Taylor, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    New opt:  '-extra_fs_dsets ..', to translate more FS-created surf/ dsets.

    Allow more FS surf dsets to be brought into SUMA. For F. Lalonde.

----------------------------------------------------------------------

03 Sep 2019, P Taylor, @animal_warper, level 2 (MINOR), type 0 (GENERAL)
    New QC imaging with @chauffeur_afni; mask created, too.

    And a few minor changes under the hood, worked out with DRG.

----------------------------------------------------------------------

31 Aug 2019, DR Glen, @animal_warper,@FindAfniDsetPath, level 1 (MICRO), type 4 (BUG_FIX)
    better full_path option for paths with ../

     More use in animal_warper for templates and atlases

31 Aug 2019, DR Glen, @animal_warper, level 1 (MICRO), type 2 (NEW_OPT)
    -keep_temp to keep temporary files and awpy directory

31 Aug 2019, DR Glen, @animal_warper, level 1 (MICRO), type 4 (BUG_FIX)
    follower fixes

31 Aug 2019, DR Glen, @FindAfniDsetPath, level 1 (MICRO), type 2 (NEW_OPT)
    full_path option - full path for current path

----------------------------------------------------------------------

30 Aug 2019, P Taylor, epi_b0_correct.py, level 2 (MINOR), type 4 (BUG_FIX)
    Fix input opt to change blur size; was broken before, crashing prog.

    Thanks, L. Dowdle for finding!

30 Aug 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    New opts: -edge_enhance_ulay EE, -obliquify OBL.

    Different way to enhance edges of ulay, and apply obliquity info.

30 Aug 2019, DR Glen, align_epi_anat.py, level 2 (MINOR), type 2 (NEW_OPT)
    supersize

    supersize - larger range of scaling for smaller animals to template

30 Aug 2019, DR Glen, @animal_warper, level 2 (MINOR), type 2 (NEW_OPT)
    more options+fixes

    AFNI view reset for NIFTI
    feature_size and supersize options for smaller animals

----------------------------------------------------------------------

29 Aug 2019, P Taylor, @auto_tlrc, level 3 (MAJOR), type 0 (GENERAL)
    RE-introducing the program '@auto_tlrc' to the distribution.

    It had been mistakenly deleted somehow.

29 Aug 2019, P Taylor, lib_gershgorin.py, level 1 (MICRO), type 0 (GENERAL)
    Updated to change way aff12.1D files were read.

    No change in calculated outputs.

29 Aug 2019, P Taylor, afni_util.py, level 1 (MICRO), type 0 (GENERAL)
    Remove function: read_aff12_to_mat34().

    'Twas unnecessary.

29 Aug 2019, DR Glen, @animal_warper, level 2 (MINOR), type 2 (NEW_OPT)
    slew of options

    ok_to_exist for restarts, template and segmentation output
    prefixes, rigid/rigid_equiv/affine/all alignment,
    follower data

----------------------------------------------------------------------

28 Aug 2019, P Taylor, lib_gershgorin.py, level 2 (MINOR), type 1 (NEW_PROG)
    Funcs to answer question: is this aff12 matrix very different from I?

    Uses fun algebraic facts known to and shared by the inimitable RWC.

28 Aug 2019, P Taylor, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    Matrix-y things: read_aff12_to_mat34(), matrix_multiply_2D().

    And supplements: matrix_sum_abs_val_ele_row(), calc_zero_dtype().

----------------------------------------------------------------------

27 Aug 2019, RW Cox, 3dREMLfit, level 1 (MICRO), type 6 (ENHANCE)
    Allow reading -matim matrix from a FIFO instead of a file

    For some reason, NIML doesn't like treating a FIFO as a file: stream.

27 Aug 2019, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    linux_fedora_28_shared: make libf2c.so as a shared object

    2.4 GB binaries -> (libmri.so) 600 MB -> (libSUMA.so) 202 MB
                    -> (libf2c.so) 190 MB

27 Aug 2019, P Taylor, epi_b0_correct.py, level 2 (MINOR), type 0 (GENERAL)
    Added more fields to the output param text file.

    Also added to the help file (including *about* the params text file).

27 Aug 2019, P Taylor, 3dSpaceTimeCorr, level 2 (MINOR), type 2 (NEW_OPT)
    New opts: '-freeze* ..' that allow one to fix a location in dset A.

    Input for Zhihao Li.

----------------------------------------------------------------------

26 Aug 2019, RW Cox, mri_read_1D, level 1 (MICRO), type 6 (ENHANCE)
    Modify to allow reading from a named pipe (FIFO)

    You can't seek/rewind on a FIFO, so have to use special code - adapted
    from the mri_read_1D_stdin function.

26 Aug 2019, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    linux_fedora_28_shared: make libSUMA.so as a shared object

    2.4 GB binaries -> (libmri.so) 600 MB -> (libSUMA.so) 200 MB

26 Aug 2019, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    report 'R RHOME'

26 Aug 2019, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    check for dyn.load error via 3dMVM

26 Aug 2019, P Taylor, @chauffeur_afni, level 1 (MICRO), type 2 (NEW_OPT)
    New opt, '-ulay_comm': provide comment on ulay vals in pbar json.

    Also, saving ulay min/max in pbar json is new behavior.

----------------------------------------------------------------------

23 Aug 2019, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    updates corresponding to Travis CI OS change: Ubuntu 14->16

    Set .travis.yml to use OS_notes.linux_ubuntu_16_64 for system update,
    and update the notes to include fix of GLwDrawA.h.
    Also, seem to need to enable mysql.

23 Aug 2019, P Taylor, epi_b0_correct.py, level 3 (MAJOR), type 4 (BUG_FIX)
    Fixed calculation when PE effective echo spacing is input.

    The conversion to BWPP was wrong; led to almost no distortion corr.

23 Aug 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    New opt, '-edgy_ulay': can turn ulay into edge-ified version of itself.

    Useful for showing alignments.

----------------------------------------------------------------------

22 Aug 2019, RW Cox, AFNI GUI, level 1 (MICRO), type 5 (MODIFY)
    After 25 years, replace image false color with Google Turbo!

    Instead of AJJ's old color spectrum from FD, which had way too much
    green.

22 Aug 2019, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    (w/dglen) thd_gifti: remove INDEX_LIST DA from from list

    When converting a GIFTI dataset to NIML, any index list should be
    separated early, so as not to affect the SPARSE_DATA NIML element.
    Thanks to T Holroyd for noting the problem.

22 Aug 2019, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    THD_write_atr(): make the Kris K condition do more aggressive napping

    More aggressive napping?!?
    Sleep 6 times for 2^(n+1) seconds, up to ~1 min, for a total of ~2 min.

----------------------------------------------------------------------

21 Aug 2019, RW Cox, AFNI GUI, level 1 (MICRO), type 6 (ENHANCE)
    Add Google Turbo colormap

----------------------------------------------------------------------

20 Aug 2019, RW Cox, 3dREMLfit, level 1 (MICRO), type 6 (ENHANCE)
    Make attribute names in matrix file be insensitive to case

20 Aug 2019, RW Cox, 3dPval, level 1 (MICRO), type 2 (NEW_OPT)
    Add -zscore option

20 Aug 2019, P Taylor, @SUMA_Make_Spec_FS, level 1 (MICRO), type 0 (GENERAL)
    Indent properly-- loops/conditions were too hard to follow.

    Should have no change in output but facilitates code editing.

----------------------------------------------------------------------

19 Aug 2019, RW Cox, 3dTshift, level 1 (MICRO), type 2 (NEW_OPT)
    -wsinc5 and -wsinc9 options

    Interpolation in time introduces autocorrelation. This effect is not
    appreciable for Fourier (FFT) interpolation, but is noticeable for the
    polynomial methods. Plus/minus 5 and 9 weighted sinc interpolation
    options were added to test if these would reduce this artifact. The
    answer is that wsinc5 is better than heptic, but it is still visible;
    wsinc9 pretty much eliminates it inside the brain, but it is visible in
    the low-signal region outside the brain.

19 Aug 2019, RC Reynolds, 3dDeconvolve_f, level 2 (MINOR), type 4 (BUG_FIX)
    matrix_f.[ch]: dupe matrix_augment_01_columns from matrix.[ch]

    When choosing between more local functions and those included in a
    linked library, some systems seem to go all-or-nothing for one file
    at a time.  So for 3dDeconvolve_f, matrix_f.c needs everything that
    might come from matrix.c.  Otherwise we should have matrix_f.h rename
    all of those functions, to avoid relying on compiler choices.

19 Aug 2019, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    Makefile.INCLUDE: add libmri target, for build system

    Let the make system decide whether it should be a shared lib.
    Also, make install_plugins just plug*.so model*.so and have
    itall target depend on install_lib.

----------------------------------------------------------------------

16 Aug 2019, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    (w/dglen) in THD_write_atr(), give file opening multiple opertunities

    Done for K Knutson.

16 Aug 2019, JK Rajendra, FATCAT_matplot, level 1 (MICRO), type 4 (BUG_FIX)
    Fix for FATCAT_matplot header reading.

----------------------------------------------------------------------

15 Aug 2019, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    build R_io.so with usable link to libmri.so

    Modify Makefile.linux_fedora_28_shared and Makefile.INCLUDE to control
    creation of Makevars via R_IO_MODIFY_LINUX.

15 Aug 2019, RC Reynolds, afni-general, level 2 (MINOR), type 0 (GENERAL)
    add other_builds/OS_notes.linux_fedora_30.txt

    Works with Makefile.linux_fedora_28_shared.

15 Aug 2019, P Taylor, epi_b0_correct.py, level 3 (MAJOR), type 0 (GENERAL)
    This program has been pretty fully revamped, and might be worth using now.

    New scaling from Vinai, several updates/fixes/changes from last ver.

15 Aug 2019, DR Glen, @animal_warper, level 3 (MAJOR), type 1 (NEW_PROG)
    Warp data to template and atlas segmentation to subject

    Tested for macaques.
    Derived from macaque_align.csh and NMT_subject_align.csh

----------------------------------------------------------------------

14 Aug 2019, DR Glen, @FindAfniDsetPath append_file, level 2 (MINOR), type 2 (NEW_OPT)
    Append file name to path with -append_file option

    Useful for atlas names to full dataset names and other scripting purposes

----------------------------------------------------------------------

13 Aug 2019, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    fix -VXXXX= for real operating systems

13 Aug 2019, RC Reynolds, RetroTS.py, level 1 (MICRO), type 0 (GENERAL)
    RVT_from_PeakFinder.py: remove unused plot()

13 Aug 2019, DR Glen, whereami atlas dataset, level 2 (MINOR), type 2 (NEW_OPT)
    return dataset given atlas name(s)

    Print atlas dataset for each input atlas
      whereami -atlas TT_Daemon -show_atlas_dset prints TTatlas+tlrc
      each -atlas atlasname prints the corresponding atlas dataset

13 Aug 2019, DR Glen, @FindAfniDsetPath atlas name search, level 2 (MINOR), type 5 (MODIFY)
    Search SUPP_ATLAS_DIR path and look for atlases by name

    Search additional directory for extra atlases and by name
    Can search for TT_Daemon (atlas name) or TTatlas+tlrc (atlas dataset)

----------------------------------------------------------------------

12 Aug 2019, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    python3 compatibility

    Including: make_stim_times.py, python_module_test.py, lib_matplot.py,
               slow_surf_clustsim.py, lib_surf_clustsim.py, make_pq_script.py.

----------------------------------------------------------------------

08 Aug 2019, RC Reynolds, timing_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    be more merciful in the case of timing overlap

        - ISI stats: allow and adjust for stim overlap
        - dur stats: show file/condition with stats
        - match output between python2 and python3

----------------------------------------------------------------------

07 Aug 2019, RC Reynolds, rPkgsInstall, level 2 (MINOR), type 6 (ENHANCE)
    more programs that need R_LD_LIBRARY_PATH

    Full list: 1dRplot, 3dICC, 3dISC, 3dLME, 3dMEMA, 3dMEPFM, 3dMVM, 3dPFM,
               3dRprogDemo, 3dSignatures, ExamineXmat, MBA, RBA, rPkgsInstall.

----------------------------------------------------------------------

05 Aug 2019, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    check for matplotlib.pyplot

05 Aug 2019, RC Reynolds, 3dMVM, level 2 (MINOR), type 5 (MODIFY)
    set R_LD_LIBRARY_PATH for all 3d* R-calling programs using $afpath on osx

    For macs: to allow R_io.so to load shared libraries needed by libmri,
              set the search path to include the abin, flat_namespace and
              R lib dir.
    This might apply to linux with libmri.so, as well.
    Thanks to N Adleman, C Caballero and E Silson.

----------------------------------------------------------------------

01 Aug 2019, P Taylor, epi_b0_correct.py, level 2 (MINOR), type 0 (GENERAL)
    Rename internal vars and opt names.

    Improving internal notation-- still very much a beta program version.

----------------------------------------------------------------------

30 Jul 2019, RC Reynolds, gen_group_command.py, level 1 (MICRO), type 6 (ENHANCE)
    format help output for sphinx conversion

----------------------------------------------------------------------

29 Jul 2019, RW Cox, AFNI GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Reduce colorization interpolation problem

    When using discrete panes, conversion to 'continuous' colorscale causes
    a problem right at the boundary. This change reduces this problem.

29 Jul 2019, RC Reynolds, timing_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    format help output for sphinx conversion

----------------------------------------------------------------------

27 Jul 2019, P Taylor, 3dDWUncert, level 2 (MINOR), type 0 (GENERAL)
    Insert a couple ifdefs around OMP functionality.

    This should allow program to compile even without OpenMP.

----------------------------------------------------------------------

26 Jul 2019, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 2 (NEW_OPT)
    add -make_backup and -echo

    Suggested by J Rajendra.

----------------------------------------------------------------------

25 Jul 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -volreg_warp_master, for controlling the output grid

    Added for Y Miyawaki.

25 Jul 2019, P Taylor, epi_b0_correct.py, level 3 (MAJOR), type 1 (NEW_PROG)
    Program to apply freq volume to EPI for B0 distortion correction.

    An honor to translate this program from one by Vinai Roopchansingh!

----------------------------------------------------------------------

24 Jul 2019, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_tsv_label_details option

----------------------------------------------------------------------

23 Jul 2019, RC Reynolds, timing_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    add -tsv_labels option help and examples

23 Jul 2019, P Taylor, 1dplot.py, level 1 (MICRO), type 0 (GENERAL)
    Allow PDFs to be output directly.

    User just needs '.pdf' file extension on prefix.

----------------------------------------------------------------------

22 Jul 2019, DR Glen, @Install_D99_macaque,NIH_Marmoset, level 2 (MINOR), type 4 (BUG_FIX)
    download script bugs

    tar platform differences and filename updates

----------------------------------------------------------------------

19 Jul 2019, RC Reynolds, nifti_tool, level 2 (MINOR), type 6 (ENHANCE)
    add use of HDR/NIM_SLICE_TIMING_FIELDS for -field option

    This allows -{disp,diff}_{hdr,nim} an easy specification of
    fields related to slice timing.

19 Jul 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    if template is multi-volume, get vol [0] for group_mask

    Thanks to S Tumati for noting the problem.

----------------------------------------------------------------------

18 Jul 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    look for multi-echo data in find_tcat

18 Jul 2019, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 4 (BUG_FIX)
    Hadn't merged in updated library functions, so apqc_make_tcsh.py crashed.

    Updated library file in distribution now.

18 Jul 2019, P Taylor, @djunct_make_script_and_rst.py, level 1 (MICRO), type 4 (BUG_FIX)
    Used to crash if output dir was PWD.

    Now fixed.

----------------------------------------------------------------------

17 Jul 2019, RW Cox, AFNI gui, level 2 (MINOR), type 6 (ENHANCE)
    changes to make alpha and boxed (A and B) work with color panes

    People from Wisconsin are trouble.

17 Jul 2019, RC Reynolds, NIFTI, level 2 (MINOR), type 4 (BUG_FIX)
    another fix for 32-64 bit NIFTI update for older xorg7 systems

    In thd_niftiread.c, cast nim->nz as int for EDIT_dset_items().
    Newer C libraries seem to handle the possibility of 8 bits better,
    but we are reading as 4.  Thanks again to R Birn.

17 Jul 2019, RC Reynolds, NIFTI, level 1 (MICRO), type 4 (BUG_FIX)
    fix inappropriate 'dimensions altered' warning on xorg7

    Warning: dimensions altered since AFNI extension was added
    Use PRId64 for 64-bit int printing, works on old systems, too.
    Thanks to R Birn for noting the problem.

17 Jul 2019, P Taylor, apqc_make_html.py, level 1 (MICRO), type 0 (GENERAL)
    Minorest of changes to closing message.

    No more double slash.  Wow.

----------------------------------------------------------------------

16 Jul 2019, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 4 (BUG_FIX)
    Fix incompatibility with py2.

    Sigh.

----------------------------------------------------------------------

15 Jul 2019, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Add in obliquity values in vorig QC block.

    Also simplify text of radcorr block (fewer lines, less unnec repetition).

----------------------------------------------------------------------

11 Jul 2019, RW Cox, 3dDeconvolve 3dREMLfit, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_INDEX_PREFIX changes '#' in sub-brick labels

----------------------------------------------------------------------

10 Jul 2019, P Taylor, @djunct_make_script_and_rst.py, level 2 (MINOR), type 0 (GENERAL)
    Can have text in the image tables now.

    Facilitates labelling, commenting, etc.

----------------------------------------------------------------------

09 Jul 2019, P Taylor, @djunct_make_script_and_rst.py, level 2 (MINOR), type 0 (GENERAL)
    Allow for multiple scripts to be executed, run and combined into 1 page.

    Single script tarball, single RST, can have multiple scripts/reflinks.

----------------------------------------------------------------------

08 Jul 2019, P Taylor, @djunct_make_script_and_rst.py, level 2 (MINOR), type 0 (GENERAL)
    Allow wildcard chars in IMAGE descrip; SUBSECTIONS added.

    Minor tweaks for formatting help files.

08 Jul 2019, P Taylor, @chauffeur_afni, level 1 (MICRO), type 0 (GENERAL)
    New default: '-do_clean' behavior on by default (clean up temp dir).

    New opt to not clean: -no_clean. -do_clean is fine to use, just boring.

----------------------------------------------------------------------

05 Jul 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    (useless) switch to 3dTcorr1D for dot product

    Drops 2 commands down to 1 for computing corr_* volumes.

----------------------------------------------------------------------

03 Jul 2019, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    let X.stim.xmat.1D be empty for non-task case

03 Jul 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    if no stim, create sum_baseline.1D, rather than sum_ideal.1D

03 Jul 2019, RC Reynolds, 3dvolreg, level 1 (MICRO), type 4 (BUG_FIX)
    make 'second -zpad option' warning appropriate again

03 Jul 2019, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 4 (BUG_FIX)
    allow writing of empty stim files ($status 0)

03 Jul 2019, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Expanded vstat QC block capabilities.

    Other tweaks, QC block IDs now in titles.

----------------------------------------------------------------------

02 Jul 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    create X.stim.xmat.1D via 1d_tool.py -write_xstim, to keep labels

----------------------------------------------------------------------

01 Jul 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    add complex Example 13; add use of @SSwarper outputs in Example 11

01 Jul 2019, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL)
    Labels on stim regressors, vorig QC block added, grayplot pbvorder/enorm.

    Help updated; output stats still if not align/tlrc blocks used.

01 Jul 2019, P Taylor, apqc_make_html.py, level 2 (MINOR), type 0 (GENERAL)
    Some minor tweaks to APQC HTML: better pbar size control, spacing.

    Also can interpret pbar text more broadly.

01 Jul 2019, P Taylor, dsetstat2p, level 1 (MICRO), type 1 (NEW_PROG)
    Complement of p2dsetstat.

    Convenience tool for converting a dset's stat to a p-value.

01 Jul 2019, P Taylor, @djunct_glue_imgs_vert, level 1 (MICRO), type 1 (NEW_PROG)
    New prog for APQC HTML stuff.  Glue two images together vertically.

    Used when pixel x-dimensions match (mainly for APQC HTML).

01 Jul 2019, P Taylor, @chauffeur_afni, level 1 (MICRO), type 2 (NEW_OPT)
    New option '-pbar_for ..', which is mainly for APQC HTML.

    Can add a dict entry to txt file accompanying pbar output.

----------------------------------------------------------------------

28 Jun 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    add vr_base_dset uvar

----------------------------------------------------------------------

27 Jun 2019, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -write_with_header and -write_xstim

----------------------------------------------------------------------

26 Jun 2019, P Taylor, 3dNetCorr, level 2 (MINOR), type 2 (NEW_OPT)
    New opt '-weight_ts WTS' to multiply ROI ave time series.

    Input at the behest of Colm C.  May it pour forth wondrous results.

----------------------------------------------------------------------

25 Jun 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    get TSNR on surface

25 Jun 2019, P Taylor, 3dSkullStrip, level 3 (MAJOR), type 5 (MODIFY)
    Dset orient should no longer affect results (b/c of var of init cond).

    Intermediate resampling now reduces/removes var due to start.

----------------------------------------------------------------------

20 Jun 2019, P Taylor, @djunct_make_script_and_rst.py, level 1 (MICRO), type 4 (BUG_FIX)
    Use the CAPTION feature on image tables in text blocks.

    Also fix help display.

----------------------------------------------------------------------

19 Jun 2019, RW Cox, afni GUI, level 1 (MICRO), type 4 (BUG_FIX)
    AFNI_PBAR_THREE mode didn't allow proper change of the panes

    Problem: code to put labels on the panes being invoked when it shouldn't
    be. Ugh. Who wrote this code, anyway? They should be SHOT!!

19 Jun 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    add surf_vol uvar

19 Jun 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    actually fail for some inappropriate blur options with surface analysis

19 Jun 2019, P Taylor, @djunct_make_script_and_rst.py, level 1 (MICRO), type 1 (NEW_PROG)
    New prog for Sphinx doc generation (well, assistance).

    Somewhat simple markup scheme used to generate RST, images and scripts.

----------------------------------------------------------------------

18 Jun 2019, RW Cox, @SSwarper, level 1 (MICRO), type 6 (ENHANCE)
    Add 3dAutomask step for an extra cleanup

18 Jun 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    no mask if TSNR on surface

    Thanks to K Dembny for noting the problem.

18 Jun 2019, RC Reynolds, 3dGrayplot, level 1 (MICRO), type 6 (ENHANCE)
    allow grayplot of surface data if not -peelorder

----------------------------------------------------------------------

17 Jun 2019, RW Cox, 3dmerge, level 1 (MICRO), type 2 (NEW_OPT)
    -1blur3D_fwhm

    Restores the ability to order differential amounts of blurring along the
    3D axes of the dataset.

----------------------------------------------------------------------

14 Jun 2019, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    add Makefile.linux_fedora_28_shared, to distribute a shared lib package

    This uses libmri.so, though other libraries should be added (SUMA).
    R programs do not yet work, as linking for R_io.so needs to be fixed.

14 Jun 2019, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 2 (NEW_OPT)
    add -hostname and -distdir

    This is to allow places to mirror some of the AFNI site.

----------------------------------------------------------------------

13 Jun 2019, RC Reynolds, afni_base.py, level 1 (MICRO), type 6 (ENHANCE)
    allow for enclosed variables in afni_name, e.g. '${subj}'

----------------------------------------------------------------------

12 Jun 2019, RC Reynolds, Makefile.INCLUDE, level 2 (MINOR), type 5 (MODIFY)
    better prep for shared build, and fix shared build of suma_gts_progs

    Move mri_render.o out of libmri (corresponds with plug_render.so).Still ne
    ed to fix mpeg_encode.

----------------------------------------------------------------------

10 Jun 2019, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    apply FreeBSD patches from J Bacon

      - afni_xml.h: include inttypes.h
      - prf_common_circular.c: use malloc_stats_print()
      - Makefile.ptaylor.INCLUDE: add -fopenmp for building 3dDWUncert

----------------------------------------------------------------------

06 Jun 2019, RW Cox, AFNI GUI, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_OPACITY_LOCK

    YES = Locks the opacity (1-9) arrows between all image viewers.
    This is set to YES by default, and can be set to NO to get the
    old (unlocked) behavior.

06 Jun 2019, RW Cox, AFNI GUI, level 1 (MICRO), type 5 (MODIFY)
    Change threshold scale upper limit selector from '**' to '10^'

    For DRG, and he owes me now.

06 Jun 2019, RW Cox, AFNI GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Different fix for the threshold scale size problem :(

06 Jun 2019, RW Cox, 3dTproject, level 1 (MICRO), type 6 (ENHANCE)
    Make sure time series mean is removed after projection

    To keep unruly users quiet(er).

06 Jun 2019, RC Reynolds, @auto_tlrc, level 1 (MICRO), type 5 (MODIFY)
    back off recent updates - need to resolve -init_xform

    Thanks to H Keren for letting us know of the problem.

----------------------------------------------------------------------

05 Jun 2019, P Taylor, 3dTrackID, level 1 (MICRO), type 2 (NEW_OPT)
    New opt (flag): -trk_opp_orient.  Applies only to TRK format output.

    Will oppositize the voxel_order for the TRK file.

----------------------------------------------------------------------

04 Jun 2019, RC Reynolds, plug_tag, level 2 (MINOR), type 4 (BUG_FIX)
    use calloc to init last 4 bytes of tag string in thd_dsetatr.c

    This was leaving garbage in HEAD file.
    Thanks to A Nugent for noting the problem.

04 Jun 2019, RC Reynolds, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    add -dset_extension, -storage_mode

----------------------------------------------------------------------

03 Jun 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    allow ricor processing in case of multi-echo data

    Done for K Dembny.

----------------------------------------------------------------------

30 May 2019, RC Reynolds, @radial_correlate, level 2 (MINOR), type 5 (MODIFY)
    apply full Gaussian for blur, rather than truncated

    Truncated is okay, but has cubical extents, rather than spherical.

----------------------------------------------------------------------

29 May 2019, DR Glen, @auto_tlrc, level 2 (MINOR), type 5 (MODIFY)
    auto_tlrc changes

    NIFTI in and out fixes, prefix option, 3dAllineate option
    Default interpolation changes, one pass combination default too

----------------------------------------------------------------------

24 May 2019, RW Cox, afni GUI, level 2 (MINOR), type 6 (ENHANCE)
    4+1 new features

    1) Default threshold is now 0
    2) Default threshold scale is now 0-10 instead of 0-1
    3) Default max threshold scale exponent is now 5 instead of 4
    4) Default colorscale is now Reds_and_Blues_Inv
    PLUS
    5) User can set AFNI_AUTORANGE_PERC to have the autoRange computed as
    percentile point (from 2-99) of the nonzero absolute values in the OLay
    brick. However, this doesn't work with warp-on-demand datasets now, so
    it is confusing. Therefore, the default setting of this is 0, which
    leaves the autoRange to be the maximum absolute value.

----------------------------------------------------------------------

23 May 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add options -regress_anaticor_full_gaussian, -regress_anaticor_term_frac

    Also, save fanaticor_mask_coverage dataset.

23 May 2019, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 4 (BUG_FIX)
    Would not run in python2, because of subprocess.run() call (only py3).

    Now updated to using afni_base.py functions to execute shell cmds.

----------------------------------------------------------------------

22 May 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    blurs are now truncated Gaussians by default, making them flat

22 May 2019, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 0 (GENERAL)
    start with 'MAKE ?= make', and use MAKE exclusively

    Thanks to J Bacon for the suggestion.

22 May 2019, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL)
    Somewhat big changes: warns block updated and radcor block added.

    Left-right flip and @radial_correlate checks now in; other tweaks.

22 May 2019, P Taylor, apqc_make_html.py, level 2 (MINOR), type 0 (GENERAL)
    Improved help file (lists blocks, line to online help).

    Better formatting of a couple things; warn level coloring added.

22 May 2019, P Taylor, @djunct_json_value.py, level 2 (MINOR), type 1 (NEW_PROG)
    Tiny program to extract values from JSONs.

    Just used by apqc_make_tcsh.py.

----------------------------------------------------------------------

20 May 2019, RC Reynolds, plug_vol2surf, level 2 (MINOR), type 4 (BUG_FIX)
    modify pane_scale to match updates for AFNI_PBAR_FULLRANGE

----------------------------------------------------------------------

17 May 2019, RW Cox, AFNI GUI, level 1 (MICRO), type 6 (ENHANCE)
    Also add 'AFNI Forum' and 'Prog Helps' buttons

17 May 2019, RW Cox, AFNI GUI, level 1 (MICRO), type 6 (ENHANCE)
    Add 'AFNI News' button, above 'AFNI Tips'

----------------------------------------------------------------------

16 May 2019, RC Reynolds, gen_ss_review_scripts, level 2 (MINOR), type 6 (ENHANCE)
    add uvars flip_check_dset and flip_guess

    Add 'flip guess' to review_basic output.

16 May 2019, RC Reynolds, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    add read_text_dictionary, read_text_dict_list, convert_table2dict

    Also, allow table2dict in write_data_as_json.  This allows for easy I/O
    of tables, and the ability to convert them to json form.

----------------------------------------------------------------------

15 May 2019, RC Reynolds, gen_ss_review_scripts, level 2 (MINOR), type 6 (ENHANCE)
    add uvar have_radcor_dirs

15 May 2019, RC Reynolds, @radial_correlate, level 2 (MINOR), type 6 (ENHANCE)
    modify output file names to handle special cases of all_runs and errts

----------------------------------------------------------------------

14 May 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add options -radial_correlate_blocks and -radial_correlate_opts

    Run @raidal_correlate at the end of each specified block, creating one
    correlation volume per run.  Each voxel gets the correlation of its time
    series with a local (slightly Gaussian weighted) average.

14 May 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 0 (GENERAL)
    Change some fields in pbar json, for greater utility.

    Also make new default ftype for output cbar (jpg).

14 May 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    More pbar control: put in afni's '-XXXnpane P' behavior.

    Same option name used in this prog.

----------------------------------------------------------------------

13 May 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    fail if using MIN_OUTLIER, but not enough time points

    Thanks to H Mandelkow for noting this.

13 May 2019, P Taylor, @DriveSuma, level 1 (MICRO), type 0 (GENERAL)
    Some help output has non-UTF8 chars in it;  default help now *won't*.

    'MICRO' might be too strong a designation for this change...

13 May 2019, P Taylor, 3dRprogDemo.R, level 1 (MICRO), type 0 (GENERAL)
    Some help output has non-UTF8 chars in it;  default help now *won't*.

    'MICRO' might be too strong a designation for this change...

13 May 2019, DR Glen, 3dExchange, level 2 (MINOR), type 1 (NEW_PROG)
    Exchange specified values in a dataset

    Takes two columns of numbers to map input to output

----------------------------------------------------------------------

10 May 2019, RC Reynolds, NIFTI, level 1 (MICRO), type 6 (ENHANCE)
    add NIFTI_ECODE_QUANTIPHYSE

10 May 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Allow for comments about pbar ranges to be stored when saving pbar.

    Also, the pbar text info will now be stored in dict/JSON-able form.

----------------------------------------------------------------------

09 May 2019, RC Reynolds, @radial_correlate, level 2 (MINOR), type 2 (NEW_OPT)
    replace 3dLocalstat with 3dmerge for locally ~averaged time series

    One can choose between the methods, but 3dmerge is much faster.
    Included options are -use_3dmerge, -corr_mask and -merge_nrad,
    as well as -do_clean and -verb.

09 May 2019, RC Reynolds, 3dTcorrelate, level 1 (MICRO), type 6 (ENHANCE)
    include old history of xset

----------------------------------------------------------------------

08 May 2019, RW Cox, 3dQwarp, level 1 (MICRO), type 5 (MODIFY)
    Expand (somewhat) max displacement of component warps

08 May 2019, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    allow AFNI_BLUR_FIRFAC to get near zero

    This can be abused for a 'fast ANATICOR', for example.
    Since sigma = 0.4246609 * fwhm, consider using: 
       sfac = 1/(2*.0.4246609) = 1.17741
    That number of sigmas should match the half width at half max,
    which should terminate the blur just after a half height.
    
    Or use 2*FWHM and sfac = 1.17741/2 = 0.588705 to make it more flat,
    with a min contribution of ~0.84, rather than 0.5, yet limiting
    the output to the same HWHM radius (e.g. FWHM=80mm with sfac=0.589
    results in a fairly flat blur out to a radius of ~20 mm).

08 May 2019, RC Reynolds, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    add -module_dir

----------------------------------------------------------------------

07 May 2019, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -timing_to_1D_warn_ok to make some conversion issues non-fatal

    Done for J Wiggins and M Liuzzi.

07 May 2019, RC Reynolds, afni_util.py, level 2 (MINOR), type 6 (ENHANCE)
    add deg2chordlen() to return distance traveled due to a rotation

----------------------------------------------------------------------

06 May 2019, RW Cox, Clusterize, level 1 (MICRO), type 6 (ENHANCE)
    Add 'ICent' (Internal Center) to coordinate option

    In addition to Peak and Cmass. The problem with Peak is that it can be
    way off on an edge. The problem with Cmass is that it can be outside the
    actual cluster. ICent is sort of like Cmass but will be inside the
    cluster.

----------------------------------------------------------------------

01 May 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Allow -set_subbricks to take string labels for subbricks as usable args.

    Excellent idea, Rasmus!

01 May 2019, P Taylor, @djunct_is_label.py, level 1 (MICRO), type 0 (GENERAL)
    Tiny program to see if input is an integer (-> index) or str (-> label).

    Just used by @chauffeur_afni for -set_subbricks reading.

----------------------------------------------------------------------

29 Apr 2019, RW Cox, afni GUI, level 2 (MINOR), type 6 (ENHANCE)
    Keystrokes for cluster jumpingn jumps to the next cluster's peak/cmass
N jumps to the previous cluster's peak/cmass
If focus is NOT in a cluster, then goes to the nearest
cluster in space instead. [For John Butman, NIH/CC - happy NOW?]

----------------------------------------------------------------------

25 Apr 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    -regress_bandpass now takes any positive number of frequencies pairs

    Done to appease the mighty P Taylor.

----------------------------------------------------------------------

24 Apr 2019, RW Cox, 3dPVmap, level 1 (MICRO), type 6 (ENHANCE)
    Two changes

    1) Add singular value fractional variance-explained output
    2) Change fixed cubic detrending to polort=N/50 detrending

----------------------------------------------------------------------

23 Apr 2019, RC Reynolds, 3dAllineate, level 1 (MICRO), type 6 (ENHANCE)
    Allow '^' to denote a power in -autoweight, in addition to '**'

    This is to avoid protecting the string in quotes, making it easy
    to pass from afni_proc.py to align_epi_anat.py to 3dAllineate.

----------------------------------------------------------------------

22 Apr 2019, RW Cox, 1dApar2mat, level 1 (MICRO), type 1 (NEW_PROG)
    Compute the affine matrix from the parameters from 3dAllineate

22 Apr 2019, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -tsv_labels

    This can be used to specify column labels to be used for
    onset time, duration, trial type, and optional modulators.

----------------------------------------------------------------------

19 Apr 2019, P Taylor, @Spharm.examples, level 2 (MINOR), type 0 (GENERAL)
    Just updated paths/names: tarball getting used no longer exists.

    No change in functionality (j'espere).

----------------------------------------------------------------------

18 Apr 2019, P Taylor, @SSwarper, level 3 (MAJOR), type 2 (NEW_OPT)
    Include -deoblique and -giant_move opts.

    For oblique data, and/or heavily rotated, shifted, etc.

18 Apr 2019, DR Glen, whereami GUI with wrong atlas, level 1 (MICRO), type 4 (BUG_FIX)
    whereami would crash afni GUI if atlas was not found

    Also more descriptive message when no available atlases

----------------------------------------------------------------------

17 Apr 2019, DR Glen, whereami minimum space, level 1 (MICRO), type 5 (MODIFY)
    Should have at least the space of the dataset coordinate

----------------------------------------------------------------------

16 Apr 2019, RW Cox, afni GUI, level 1 (MICRO), type 6 (ENHANCE)
    C keystroke shortcut in graph viewer - switches color scheme

16 Apr 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 4 (BUG_FIX)
    verify av_space == +tlrc before setting template

    Thanks to P Molfese and P Taylor for noting the problem.

16 Apr 2019, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    if do_apearch, update .bashrc to source all_progs.COMP.bash

    Done to appease the mighty P Taylor.

----------------------------------------------------------------------

15 Apr 2019, RW Cox, afni GUI, level 2 (MINOR), type 6 (ENHANCE)
    Make -bysub option work with directory names

    A command like
       afni -bysub ~/data/UCLA_pamenc20
    will find all 'sub-*' subdirectories in the given directory, and process
    those individually via the older '-bysub' operation. This makes it
    simple to read in an entire BIDS hierarchy. Note that the recursive
    descent for each 'sub-XXX' name will include derivatives (if found).

15 Apr 2019, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Turn AFNI_PBAR_FULLRANGE on by default

----------------------------------------------------------------------

12 Apr 2019, DR Glen, unWarpEPI.py python3, level 2 (MINOR), type 5 (MODIFY)
    unWarpEPI.py python3 compatible

12 Apr 2019, DR Glen, unWarpEPI.py python3, level 2 (MINOR), type 5 (MODIFY)
    unWarpEPI.py python3 compatible

----------------------------------------------------------------------

11 Apr 2019, RC Reynolds, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    add functions gaussian_at_fwhm, gaussian_at_hwhm_frac

11 Apr 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -combine_tedort_reject_midk

    It might be a good idea to set this to 'no', so less gets rejected.

11 Apr 2019, DR Glen, whereami, level 3 (MAJOR), type 3 (NEW_ENV)
    Brainnetome atlas

    This atlas is now included in the standard distribution
    This also is in the default list of atlases

----------------------------------------------------------------------

08 Apr 2019, RC Reynolds, @extract_meica_ortvec, level 2 (MINOR), type 2 (NEW_OPT)
    add options -reject_midk and -reject_ignored

    It seems likely that '-reject_midk 0' should be the default.

----------------------------------------------------------------------

07 Apr 2019, DR Glen, whereami, level 3 (MAJOR), type 3 (NEW_ENV)
    Eickhoff-Zilles 2.2 MPM atlas

    This atlas is the newer 2.2 version of the MPM atlas
    This atlas replaced the 1.8 version in the list, but both
    are kept in the binary distribution

----------------------------------------------------------------------

05 Apr 2019, DR Glen, whereami, level 3 (MAJOR), type 3 (NEW_ENV)
    HCP Glasser atlas in AFNI atlases

    Mike Beauchamp and Meghan Robinson contributed atlas
    Now included and first in default list too
    This atlas is in MNI space (not in its original Contee
    grayordinate surface space.
    Additionally, all the pmaps (probability maps) have been
    removed from the standard distribution and default list

----------------------------------------------------------------------

29 Mar 2019, RW Cox, afni_check_omp, level 1 (MICRO), type 1 (NEW_PROG)
    Prints to stdout the number of OpenMP threads it detects

    For use in scripts, such as @SSwarper. This is a very short program.

29 Mar 2019, RW Cox, @SSwarper, level 1 (MICRO), type 4 (BUG_FIX)
    Strip dataset suffixes from -subid input

    Otherwise, using '-subid Fred+orig' will cause trouble, for example. Or
    '-subid Fred.nii' will work, but produce output files with names ending
    in '.nii.nii' which is confusing.

----------------------------------------------------------------------

27 Mar 2019, RW Cox, @SSwarper, level 1 (MICRO), type 2 (NEW_OPT)
    -SSopt to add options to 3dSkullStrip

    For example:
       -SSopt '-o_ply Zhark.rules'
    to produce a brain surface in .ply format.
    [Per the request of Allison Nugent]

----------------------------------------------------------------------

20 Mar 2019, RC Reynolds, dcm2niix_afni, level 2 (MINOR), type 4 (BUG_FIX)
    sync crorden/dcm2niix_console with repo, version v1.0.20181125

    This is possibly to correct a bug with -m and partial brain coverage.

----------------------------------------------------------------------

15 Mar 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    include tr field in uvars, and report it as TR in basic

15 Mar 2019, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    in any dotfile update: note that it was done by @uab

15 Mar 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 4 (BUG_FIX)
    Better behavioring of -box_focux_slices when ulay and refbox grids differ.

    Now checking grid similarity and resampling refbox if needbe.

----------------------------------------------------------------------

14 Mar 2019, RW Cox, 3dQwarp, level 1 (MICRO), type 6 (ENHANCE)
    Propagate -weight from 3dQwarp to 3dAllineate

    Don't know why I didn't do this before. Probably a sign of incipient
    dementia.

14 Mar 2019, RC Reynolds, GIFTI, level 2 (MINOR), type 6 (ENHANCE)
    add gifti/regress_tests tree

    This was also added to https://github.com/NIFTI-Imaging/gifti_clib repo.

----------------------------------------------------------------------

13 Mar 2019, RC Reynolds, tedana.py, level 1 (MICRO), type 5 (MODIFY)
    default to system nibabel over local

    Need to ponder what to do with local nibabel.  This will move us towards
    omitting it, though we plan to move away from AFNI's tedana.py, too.

----------------------------------------------------------------------

10 Mar 2019, RW Cox, 3dXClustSim (ETAC), level 2 (MINOR), type 0 (GENERAL)
    Sort FOM results to cast out duplicates from same iteration

    Should make Global ETAC slightly less conservative.

----------------------------------------------------------------------

08 Mar 2019, RW Cox, InstaCorr, level 2 (MINOR), type 4 (BUG_FIX)
    Bandpass error found by the wandering Spaniard

    Problem: very long time series (over 2000) analyzed *without* Bandpass
    would give error message and then give useless results.
    Solution: if Bandpass is turned off, that is signaled by setting the
    upper freq cutoff to a large value. Then the FFT cutoff index is
    computed from that as jtop = ftop/df where df = 1/N*dt, so we have
    jtop = ftop*N/dt. For large N and large ftop, this is integer overflow.
    Therefore, compute jtop in float, not int, then check it first. D'oh.

----------------------------------------------------------------------

07 Mar 2019, RW Cox, 3dttest++, level 1 (MICRO), type 0 (GENERAL)
    Change ETAC default pthr list

    From 5 values to 10.
    Also, fix naming of output ETACmask files when user doesn't specify
    sideness with the ETAC_opt option.

07 Mar 2019, RC Reynolds, gen_ss_review_table.py, level 3 (MAJOR), type 2 (NEW_OPT)
    add -report_outliers and support options

    Add -report_outliers_{fill,header}_style, -write_outlier, and
        -outlier_sep for controlling the table presentation.
    Will use -write_table instead of -tablefile going forward.

07 Mar 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    tee output from @ss_review_html to a text file

    Done for P Taylor.

----------------------------------------------------------------------

06 Mar 2019, RW Cox, 3dttest++, level 1 (MICRO), type 6 (ENHANCE)
    Simpler specification of pthr=RANGE

    pthr=0.01/0.001/10 is the same as
    pthr=0.01,0.009,0.008,0.007,0.006,0.005,0.004,0.003,0.002,0.001
    Implemented via NIML's NI_decode_float_list(), so also available in some
    other places -- which I can't be bothered to look for at this moment.

06 Mar 2019, RC Reynolds, Dimon, level 2 (MINOR), type 6 (ENHANCE)
    if VR mismatch warning, specify whether AFNI uses the field

    Done for B Benson.

06 Mar 2019, P Taylor, 3dDWUncert, level 1 (MICRO), type 0 (GENERAL)
    Change % to %% in printf() function. No change to functionality.

    Amazingly spotted in stream of build messages by RWC.

----------------------------------------------------------------------

05 Mar 2019, RC Reynolds, gen_group_command.py, level 2 (MINOR), type 6 (ENHANCE)
    show subject counts; change line len and ddirs; no require on restricted

----------------------------------------------------------------------

04 Mar 2019, RW Cox, 3dQwarp, level 1 (MICRO), type 4 (BUG_FIX)
    -superhard did not imply -workhard :( -- now it does :)

----------------------------------------------------------------------

28 Feb 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 4 (BUG_FIX)
    mask dset must include extension

----------------------------------------------------------------------

27 Feb 2019, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Include grayplots in the APQC HTML file.

    Should add some extra info about residuals/modeling/the meaning of life.

27 Feb 2019, P Taylor, 1dplot.py, level 2 (MINOR), type 0 (GENERAL)
    Put a try/except at start, to set MPLBACKEND env if running w/o DISPLAY.

    Useful for current settings on Biowulf (and possibly elsewhere).

----------------------------------------------------------------------

26 Feb 2019, RW Cox, 3dPolyfit, level 1 (MICRO), type 2 (NEW_OPT)
    Option to save spatial fit coefficients

    Plus a little general cleanup of the code and help

26 Feb 2019, RC Reynolds, gen_group_command.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -dset_sid_list, -hpad, -tpad

    Add -dset_sid_list to specify subject IDs explicitly.
    Also, add -hpad/-tpad; less indentation for 3dttest++.

----------------------------------------------------------------------

25 Feb 2019, RC Reynolds, timing_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    add modulators to -multi_timing_to_event_list output

    Done for D Jangraw.

25 Feb 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    try to get mask_dset from TSNR output

----------------------------------------------------------------------

22 Feb 2019, RW Cox, 3dXClustSim, level 1 (MICRO), type 5 (MODIFY)
    Allow FPR of 1 percent

22 Feb 2019, RC Reynolds, afni_util.py, level 2 (MINOR), type 6 (ENHANCE)
    handle shells with paths in get_current/login_shell()

22 Feb 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -tlrc_NL_force_view, to handle sform_code=2 in auto_warp.py result

    Done for I Berteletti.

----------------------------------------------------------------------

21 Feb 2019, P Taylor, @SSwarper, level 1 (MICRO), type 0 (GENERAL)
    Include '-Urad 30' in 3dUnifize step.

    Maybe slightly prettier/more unifized output.

----------------------------------------------------------------------

19 Feb 2019, P Taylor, apqc_make_tcsh.py, level 5 (SUPERDUPER), type 0 (GENERAL)
    Much functionality changed/improved (hopefully).

    More output, better formats, help and HTML framework.

19 Feb 2019, P Taylor, apqc_make_html.py, level 5 (SUPERDUPER), type 0 (GENERAL)
    Much functionality changed/improved (hopefully).

    More output, better formats, help and HTML framework.

19 Feb 2019, P Taylor, 1dplot.py, level 2 (MINOR), type 0 (GENERAL)
    Line thickness of plots now adjusts with number of points.

    Useful as the number of time points increases (hopefully).

----------------------------------------------------------------------

13 Feb 2019, P Taylor, @SSwarper, level 1 (MICRO), type 2 (NEW_OPT)
    Renaming the non-pre-skullstripping option to -init_skullstr_off.

    Otherwise, might falsely seem like NO skullstripping would be done.

----------------------------------------------------------------------

12 Feb 2019, P Taylor, p2dsetstat, level 1 (MICRO), type 0 (GENERAL)
    Change under the hood: new way to check for validity of input dset.

    Should be boring an have no effect on output; just more stable check.

12 Feb 2019, P Taylor, fat_procs, level 1 (MICRO), type 0 (GENERAL)
    Change under the hood: new way to check for validity of input dset.

    Should be boring an have no effect on output; just more stable check.

12 Feb 2019, P Taylor, @xyz_to_ijk, level 1 (MICRO), type 0 (GENERAL)
    Change under the hood: new way to check for validity of input dset.

    Should be boring an have no effect on output; just more stable check.

12 Feb 2019, P Taylor, @djunct_4d_slices_to_3d_vol, level 1 (MICRO), type 0 (GENERAL)
    Change under the hood: new way to check for validity of input dset.

    Should be boring an have no effect on output; just more stable check.

12 Feb 2019, P Taylor, @djunct_4d_imager, level 1 (MICRO), type 0 (GENERAL)
    Change under the hood: new way to check for validity of input dset.

    Should be boring an have no effect on output; just more stable check.

12 Feb 2019, P Taylor, @chauffeur_afni, level 1 (MICRO), type 0 (GENERAL)
    Change under the hood: new way to check for validity of input dset.

    Should be boring an have no effect on output; just more stable check.

12 Feb 2019, P Taylor, @GradFlipTest, level 1 (MICRO), type 0 (GENERAL)
    Change under the hood: new way to check for validity of input dset.

    Should be boring an have no effect on output; just more stable check.

----------------------------------------------------------------------

11 Feb 2019, P Taylor, @SSwarper, level 2 (MINOR), type 2 (NEW_OPT)
    ... and can also turn off initial skullstripping and/or anisosmoothing.

    Options cleverly named: -skullstrip_off and -aniso_off.

11 Feb 2019, P Taylor, @SSwarper, level 2 (MINOR), type 2 (NEW_OPT)
    Can turn off initial unifizing with -unifize_off.

    Useful if unifizing has been done to dset before using this cmd.

----------------------------------------------------------------------

08 Feb 2019, RW Cox, @afni_refacer_run, level 1 (MICRO), type 2 (NEW_OPT)
    Add -deface option -- to remove face rather than replace it

08 Feb 2019, RC Reynolds, 3dWarp, level 1 (MICRO), type 2 (NEW_OPT)
    add -wsinc5

----------------------------------------------------------------------

07 Feb 2019, RW Cox, @afni_refacer, level 1 (MICRO), type 6 (ENHANCE)
    Replace the substitute face with a better one.

    Made by 3dQwarp-ing the 10 MSB faces together, to make the result more
    face-like.

07 Feb 2019, RC Reynolds, demoExpt.py, level 2 (MINOR), type 1 (NEW_PROG)
    will now actually distribute Vinai's demoExpt.py and afniInterfaceRT

----------------------------------------------------------------------

05 Feb 2019, RC Reynolds, Dimon, level 2 (MINOR), type 5 (MODIFY)
    -infile_list now implies -no_wait

05 Feb 2019, RC Reynolds, 3dinfo, level 2 (MINOR), type 4 (BUG_FIX)
    allow -extent to vary across datasets

05 Feb 2019, RC Reynolds, demoExpt.py, level 1 (MICRO), type 0 (GENERAL)
    add roopchansinghv to afni_src.tgz target

    This is a realtime neurofeedback framework, built on top of afni and
    realtime_receiver.py, using PsychoPy for feedback and presentation.
    Also, set demoExpt.py mode as 755.

05 Feb 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 4 (BUG_FIX)
    Had been missing an endif.

    Now new and improved-- with endif!

----------------------------------------------------------------------

04 Feb 2019, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    use abs in dims check for -mask_import

----------------------------------------------------------------------

30 Jan 2019, RW Cox, 3dUnifize, level 1 (MICRO), type 5 (MODIFY)
    Soft cap on large intensities

30 Jan 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -volreg_post_vr_allin and -volreg_pvra_base_index

    These are to run 3dvolreg (or 3dAllineate) to a base within
    each run, before concatenating a transformation from each
    per-run base to the global EPI registration base.

30 Jan 2019, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 2 (NEW_OPT)
    Added '-montgap' and '-montcolor', for montage functionality.

    Users can now control montage borders (i.e., gaps) and color.

30 Jan 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Added '-montgap' and '-montcolor', for montage functionality.

    Users can now control montage borders (i.e., gaps) and color.

----------------------------------------------------------------------

28 Jan 2019, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    updates to make target, prog_list

       - grep out CMakeLists.txt
       - add some ptaylor python scripts
       - define and add DISCO_SCRIPTS

28 Jan 2019, RC Reynolds, afni-general, level 2 (MINOR), type 2 (NEW_OPT)
    add -help to @djunct_*.py

28 Jan 2019, RC Reynolds, 3dttest++, level 1 (MICRO), type 6 (ENHANCE)
    output volume counts for -set options

28 Jan 2019, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Well, new functionality to existing opt: make focus box from ulay or olay.

    Keywords AMASK_FOCUS{O,U}LAY can be given to -box_focus_slices.

----------------------------------------------------------------------

25 Jan 2019, P Taylor, @djunct_slice_space, level 2 (MINOR), type 4 (BUG_FIX)
    Couldn't deal with volumes that had subbrick selectors from @chauffeur*.

    Has been fixed now.

25 Jan 2019, P Taylor, @djunct_montage_coordinator, level 2 (MINOR), type 4 (BUG_FIX)
    Couldn't deal with volumes that had subbrick selectors from @chauffeur*.

    Has been fixed now.

----------------------------------------------------------------------

22 Jan 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_est_blur_detrend

    We might change the default to no detrending here.

22 Jan 2019, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_obsoletes[_grep] and -show_system_progs

    Inspired by Z Saad.

----------------------------------------------------------------------

19 Jan 2019, P Taylor, @SSwarper, level 2 (MINOR), type 4 (BUG_FIX)
    Program wouldn't run with '-odir ..' opt.

    Now it will.

----------------------------------------------------------------------

18 Jan 2019, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    process df_info, and hand off new uvars

18 Jan 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    run 1d_tool.py -show_df_info, unless -regress_show_df_info no

----------------------------------------------------------------------

17 Jan 2019, RW Cox, @SSwarper, level 1 (MICRO), type 6 (ENHANCE)
    Add DRG's erode-dilate trick to clip off some little stuff.

17 Jan 2019, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -show_df_info, to partition degrees of freedom in X-matrix

----------------------------------------------------------------------

16 Jan 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    -regress_mot_as_ort now defaults to yes; use vr_base_external

    This should not affect results, it is prep for other evil designs.

----------------------------------------------------------------------

11 Jan 2019, RC Reynolds, dicom_hinfo, level 1 (MICRO), type 2 (NEW_OPT)
    add -sepstr option

    Done for ZXu on message board.

----------------------------------------------------------------------

08 Jan 2019, RW Cox, @SSwarper, level 2 (MINOR), type 2 (NEW_OPT)
    Add '-nolite' option

    For backwards compatibility and testing.

08 Jan 2019, RW Cox, 3dQwarp, level 2 (MINOR), type 5 (MODIFY)
    -lite is now the default -- for speed

    Based on using @SSwarper with and without -nolite on 31 datasets.
    Results are very similar, and no systematic differences between
    the -lite and -nolite groups observed in mean or stdev.

08 Jan 2019, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add -volreg_method, and corresponding options

    This allows one to use 3dAllineate for EPI motion registration.
    Options -volreg_allin_cost and -volreg_allin_auto_stuff (as well as
    the old -volreg_opts_vr) can be used to control -cost and other options.

08 Jan 2019, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    add make targets prog_list_bin and _scripts, which generate prog_list.txt

    This is done to partition binaries vs scripts.

----------------------------------------------------------------------

07 Jan 2019, RW Cox, 3dNwarpApply, level 1 (MICRO), type 5 (MODIFY)
    Hopefully uses somewhat less memory now :)

----------------------------------------------------------------------

04 Jan 2019, RW Cox, 3dQwarp, level 1 (MICRO), type 5 (MODIFY)
    Change way patch sizes are initialized for lev > 0

    Old way: based on full grid size
    New way: based on lev=0 patch size, from autobox
    Advantage of new way: with lots of zero padding, first few levs may have
    such large patches that they do nothing of value, but burn CPU time.
    Stupidity: I don't know why I didn't think of this before - probably
    because I never before ran a case with lots of zero padding (100+ voxels
    on each face) and watched its snail-like progress with -verb.

04 Jan 2019, RC Reynolds, nifti_tool, level 2 (MINOR), type 5 (MODIFY)
    add -mod_hdr2, specific to NIFTI-2 headers

04 Jan 2019, RC Reynolds, NIFTI, level 2 (MINOR), type 6 (ENHANCE)
    add regression testing scripts

----------------------------------------------------------------------

03 Jan 2019, RW Cox, @afni_refacer_XXX, level 2 (MINOR), type 1 (NEW_PROG)
    Scripts to re-face a T1-weighted dataset

    @afni_refacer_make_master = makes the 'shell' dataset used to replace
    the face
    @afni_refacer_run = runs re-facing on one input dataset

03 Jan 2019, RC Reynolds, nifti_tool, level 2 (MINOR), type 5 (MODIFY)
    have -mod_hdr/-swap_as_nifti fail on valid NIFTI-2 header

    Re-allow processing of ASCII headers (via NIFTI-2).
    Also, incorporate updates from H Johnson.

----------------------------------------------------------------------

26 Dec 2018, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    incorporate more updates from the NIFTI_Imaging/nifti_clib repo

----------------------------------------------------------------------

21 Dec 2018, P Taylor, @djunct_montage_coordinator, level 2 (MINOR), type 4 (BUG_FIX)
    Adjusted coordinator for a couple situations.

    Should be more centered for both 3D and 4D applications.

----------------------------------------------------------------------

20 Dec 2018, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    incorporate updates from the NIFTI_Imaging/nifti_clib repo

    And update Makefile.INCLUDE.

----------------------------------------------------------------------

19 Dec 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    show execution syntax in both tcsh and bash

    Done to appease the mighty P Taylor.

19 Dec 2018, P Taylor, @djunct_montage_coordinator, level 3 (MAJOR), type 4 (BUG_FIX)
    This montage coordinator was noooot picking the right vol to focus on.

    That should be fixed via magical incantations now.

----------------------------------------------------------------------

14 Dec 2018, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    include mask and params in -csim_show_clustsize

----------------------------------------------------------------------

13 Dec 2018, RW Cox, 3dQwarp, level 1 (MICRO), type 0 (GENERAL)
    Make -lite work with -plusminus

    Also, remove the HLOADER code permanently and with extreme prejudice.
    Ditto for DUPLO.

13 Dec 2018, RC Reynolds, @strip.whitespace, level 2 (MINOR), type 1 (NEW_PROG)
    stored under scripts_src; guess what it does

13 Dec 2018, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    merged NIFTI updates from NIFTI-Imaging/nifti_clib repo

13 Dec 2018, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 5 (MODIFY)
    removed nift1-test from the distribution

----------------------------------------------------------------------

11 Dec 2018, RW Cox, 3dQwarp, level 1 (MICRO), type 2 (NEW_OPT)
    Also add -Quint30 and -lite options

    To run with reduced order polynomials, which are faster and appear to be
    about as accurate (as they should be, in asymptotic approximation
    theory).

11 Dec 2018, RC Reynolds, Dimon, level 2 (MINOR), type 4 (BUG_FIX)
    use mkdir -p; reconcile write_as_nifti and NIFTI prefix

    Thanks to C Smith for noting the issue.

----------------------------------------------------------------------

10 Dec 2018, RW Cox, 3dQwarp, level 2 (MINOR), type 2 (NEW_OPT)
    -cubic12 = use 12 parameter cubics instead of 24

    Faster, and probably just as accurate.

----------------------------------------------------------------------

05 Dec 2018, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Have removed numpy dependency.

    Now, default afni_proc.py will output APQC HTML without numpy on comp.

05 Dec 2018, P Taylor, @djunct_select_str.py, level 2 (MINOR), type 0 (GENERAL)
    Have removed numpy dependency.

    Lighter installation/usage dependencies.

05 Dec 2018, P Taylor, @djunct_combine_str.py, level 2 (MINOR), type 0 (GENERAL)
    Have removed numpy dependency.

    Lighter installation/usage dependencies.

05 Dec 2018, P Taylor, @djunct_calc_mont_dims.py, level 2 (MINOR), type 0 (GENERAL)
    Have removed numpy dependency.

    Lighter installation/usage dependencies.

05 Dec 2018, P Taylor, 1dplot.py, level 2 (MINOR), type 0 (GENERAL)
    Have removed numpy dependency.

    Lighter installation/usage dependencies.

05 Dec 2018, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 0 (GENERAL)
    When there is no warning message in a category, just say 'none'.

    Before, 'none' was padded with newline chars, but Mac doesn't like :(.

05 Dec 2018, P Taylor, @chauffeur_afni, level 1 (MICRO), type 0 (GENERAL)
    Reduce list of program dependencies to more accurate one.

    List is muuuuch shorter now; had just been relic of @snapshot_volreg.

----------------------------------------------------------------------

04 Dec 2018, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    Makefiles: working towards using libmri.so

    Pass MRI_SHARED, and apply with SUMA_SHARED_LOPTS in SUMA.

----------------------------------------------------------------------

03 Dec 2018, RC Reynolds, test.afni.prog.help, level 2 (MINOR), type 1 (NEW_PROG)
    test running -help on AFNI programs

    This is a build tool, not for the distribution.

03 Dec 2018, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 5 (MODIFY)
    use LIBMRI_OBJ = libmri.a, for future evil

----------------------------------------------------------------------

02 Dec 2018, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 4 (BUG_FIX)
    Will work with resting state analyses now.

    Fixed minor issue when no stat dset (just NO_STATS str) was present.

----------------------------------------------------------------------

28 Nov 2018, RW Cox, 3dAllineate, level 2 (MINOR), type 6 (ENHANCE)
    Add lpa+ cost functional

    Like lpc+, with extra stuff added in for robustness. Per the suggestion
    of Daniel Glen, the master of allineation and punulation.

28 Nov 2018, P Taylor, 1dplot.py, level 2 (MINOR), type 4 (BUG_FIX)
    In py3, having a censor line caused graphing issues.

    Those issues have been resolved.

----------------------------------------------------------------------

27 Nov 2018, RC Reynolds, apqc_make_tcsh.py, level 1 (MICRO), type 6 (ENHANCE)
    python3 update for chmod code

    Thanks to L Dowdle for noting the issue.

27 Nov 2018, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 0 (GENERAL)
    Now make enorm and outlier plots even if no censor_dsets are in uvars.

    Also, on a more fun note, output censor frac below mot/outlier plots.

27 Nov 2018, P Taylor, apqc_make_html.py, level 2 (MINOR), type 0 (GENERAL)
    Make python3 compatible.

    updated.

27 Nov 2018, P Taylor, @chauffeur_afni, level 2 (MINOR), type 4 (BUG_FIX)
    Wasn't using user's specified delta_slices-- but now is!.

    Grazie, S. Torrisi!

----------------------------------------------------------------------

26 Nov 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add opt -volreg_warp_final_interp

    This controls final interpolation for all non-NN warps, including
    catenated EPI transforms (affine and non-linear), final EPI,
    and anatomical followers.
    Done for "the boss".

----------------------------------------------------------------------

25 Nov 2018, P Taylor, @FindAfniDsetPath, level 2 (MINOR), type 4 (BUG_FIX)
    Dsets weren't found in places specified by env var.

    Fixed now.

----------------------------------------------------------------------

23 Nov 2018, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL)
    Outputs JSON files now, for easier handling of information later.

    These provide more comprehensive info, as well as href linknames.

23 Nov 2018, P Taylor, apqc_make_html.py, level 3 (MAJOR), type 0 (GENERAL)
    Much better page formatting now, including navigation bar.

    User can jump to sections.

----------------------------------------------------------------------

21 Nov 2018, RC Reynolds, 3dcopy, level 1 (MICRO), type 6 (ENHANCE)
    try to append HISTORY for non-AFNI datasets

----------------------------------------------------------------------

20 Nov 2018, P Taylor, apqc_make_html.py, level 2 (MINOR), type 0 (GENERAL)
    Make subtxt fonts gray (oooh!) and uniformly bold.

    Also, made image links not be whole line (much more convenient).

20 Nov 2018, P Taylor, @djunct_montage_coordinator, level 2 (MINOR), type 1 (NEW_PROG)
    For use with @chauffeur_afni: subroutine that used to be *in* it.

    More modular and useful now, better selection of montage xhair loc, too.

20 Nov 2018, P Taylor, @chauffeur_afni, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed the calc of the location of xhairs when box_focus_slices was used.

    Should have correct focal location in montages now.

----------------------------------------------------------------------

19 Nov 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add opt -html_review_style and run apqc_make_html.py

19 Nov 2018, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    run any review scripts before possibly [re-]moving preproc data

----------------------------------------------------------------------

17 Nov 2018, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    add epiphany and midori as browser candidates (11/21 google-chrome)

----------------------------------------------------------------------

16 Nov 2018, RW Cox, AFNI GUI, level 1 (MICRO), type 6 (ENHANCE)
    Add menu button to set func range = 1

----------------------------------------------------------------------

14 Nov 2018, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 6 (ENHANCE)
    update 3dREMLfit command to handle surface data

    Strip off the .niml.dset extension, if found in the bucket name.
    Is it better to re-append it?  I am not sure.

----------------------------------------------------------------------

13 Nov 2018, RW Cox, All, level 1 (MICRO), type 5 (MODIFY)
    Baby steps towards removing use of XtMalloc etc

    Replace XtPointer, XtMalloc, etc, with RwcPointer, RwcMalloc, etc,
    everywhere in the code, using new header file replaceXt.h. Eventually
    will try to eliminate the use of these functions entirely, in
    mcw_malloc.

----------------------------------------------------------------------

06 Nov 2018, RW Cox, AFNI WhereAmI, level 1 (MICRO), type 6 (ENHANCE)
    Make HTML window use bigger font if requested

    If AFNI_TTATLAS_FONTSIZE is 'BIG'; if it isn't set, then if
    AFNI_FONTSIZE is 'BIG'. Implemented by changing which header-style tags
    are used.

06 Nov 2018, RW Cox, AFNI GUI, level 1 (MICRO), type 3 (NEW_ENV)
    new environment variable AFNI_FONTSIZE

    Can be 'MINUS' for small, 'PLUS' for bigger, and 'BIG' for
    super-embiggened.

06 Nov 2018, P Taylor, @chauffeur_afni, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed delta-slice definition for 4D mode of imaging (occasional probs).

    Should have correct gapord values across all views now.

----------------------------------------------------------------------

05 Nov 2018, RW Cox, AFNI GUI, level 2 (MINOR), type 6 (ENHANCE)
    Alpha and Boxed now work with Clusterize

05 Nov 2018, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 6 (ENHANCE)
    enhance insufficient time warnings

05 Nov 2018, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 0 (GENERAL)
    Adjust to keep up with new afni alpha/boxed behavior.

    Update internal calls to @chauffeur_afni, which needed new opts for this.

05 Nov 2018, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: '-olay_alpha' and '-olay_boxed' for new alpha/boxed driving.

    Keepin' up with changes to afni driving, via RWC work.

05 Nov 2018, P Taylor, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Help file update: move *the* useful cost funcs lpa and lpc into main part.

    These are no longer listed as experimental!

----------------------------------------------------------------------

03 Nov 2018, RW Cox, AFNI GUI, level 1 (MICRO), type 6 (ENHANCE)
    Boxed now works with Clusterize

    Next step: Alpha :) But that's harder :(

----------------------------------------------------------------------

02 Nov 2018, RW Cox, AFNI GUI, level 2 (MINOR), type 6 (ENHANCE)
    Add 'A' and 'B' buttons on top of threshold slider

    To control Alpha and Boxed.

02 Nov 2018, RW Cox, AFNI GUI, level 1 (MICRO), type 6 (ENHANCE)
    Clusterize menu now remembers previous settings

    Part of the forthcoming changes for func overlay display et cetera.

----------------------------------------------------------------------

01 Nov 2018, P Taylor, 1dplot.py, level 3 (MAJOR), type 1 (NEW_PROG)
    New plotting program for 1D files.

    Copies much of the fun 1dplot capability to some pythonic realm.

----------------------------------------------------------------------

30 Oct 2018, RW Cox, AFNI, level 1 (MICRO), type 2 (NEW_OPT)
    -julian to print out the Julian date (who doesn't want this?)

----------------------------------------------------------------------

29 Oct 2018, RW Cox, AFNI GUI Clusterize, level 1 (MICRO), type 5 (MODIFY)
    Switch to use 3dClusterize as external prog, instead of 3dclust

29 Oct 2018, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    zsh: check for .zshenv

29 Oct 2018, RC Reynolds, FSread_annot, level 1 (MICRO), type 6 (ENHANCE)
    fix crash and more clearly warn if missing FSColorLUT file

----------------------------------------------------------------------

25 Oct 2018, RW Cox, 3dFWHMx, level 1 (MICRO), type 5 (MODIFY)
    Small changes to improve processing of 2D images.

----------------------------------------------------------------------

21 Oct 2018, P Taylor, apqc_make_tcsh.py, level 2 (MINOR), type 1 (NEW_PROG)
    Helper program for afni_proc.py.

    Make @ss_review_html script for HTML version of AP QC.

21 Oct 2018, P Taylor, apqc_make_html.py, level 2 (MINOR), type 1 (NEW_PROG)
    Helper program for afni_proc.py.

    Run @ss_review_html, build QC dir with html file for ss review.

21 Oct 2018, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: '-pbar_saveim PBS' and '-pbar_dim PBD', to output color pbar.

    Just add in new AFNI driving functionality from RWC, to save colorbar.

21 Oct 2018, P Taylor, apqc_make_tcsh.py, level 1 (MICRO), type 0 (GENERAL)
    Include 'enorm' and 'outlier' string labels in basic 1dplot.

    Clarify plot...

----------------------------------------------------------------------

19 Oct 2018, RW Cox, AFNI driver, level 2 (MINOR), type 6 (ENHANCE)
    Add PBAR_SAVEIM command to the driver repertoire

----------------------------------------------------------------------

18 Oct 2018, RW Cox, 1dplot, level 1 (MICRO), type 5 (MODIFY)
    Add help explaining how to include TSV labels in plot

    Also, change the -ynames plot label sizes to better fit on the default
    page.

----------------------------------------------------------------------

17 Oct 2018, RW Cox, TSV files, level 2 (MINOR), type 5 (MODIFY)
    Replace 'N/A' 'NaN' and 'Inf' with mean of other column values

    These strings will no longer stop a column from being marked as 'string'
    vs. 'number'.

17 Oct 2018, RW Cox, 3dmerge blur, level 1 (MICRO), type 5 (MODIFY)
    Make largest FIR filter have half-width of 35, up from 15

    It's faster than FFT (at least on my computer).

17 Oct 2018, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 6 (ENHANCE)
    add uvar xmat_stim

17 Oct 2018, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    pass -ss_review_dset to gen_ss_review_scripts.py

----------------------------------------------------------------------

16 Oct 2018, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    added new uvar fields

    Move g_ss_uvar_fields to lib_ss_review.py.
    Add uvar fields: nt_applied, nt_orig, ss_review_dset,
       pre_ss_warn_dset, decon_err_dset, tent_warn_dset.

16 Oct 2018, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    if no AFNI errors, skip homebrew library linking warnings

16 Oct 2018, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    darwin defaults to 10.12; newline before dotfile appends

16 Oct 2018, P Taylor, @FindAfniDsetPath, level 2 (MINOR), type 4 (BUG_FIX)
    Maybe not really a bug, but this program wasn't work as it should have.

    It now should find NIFTI sets better, and use afnirc env vars.

----------------------------------------------------------------------

15 Oct 2018, P Taylor, @djunct_slice_space, level 2 (MINOR), type 1 (NEW_PROG)
    Helper program for @chauffeur_afni.

    Calculate even spacing of slices for montaging.

15 Oct 2018, P Taylor, @djunct_edgy_align_check, level 2 (MINOR), type 1 (NEW_PROG)
    Helper program for @chauffeur_afni-- wrapper of it for QC stuff.

    It's for alignment checking, and it's... edgy.

15 Oct 2018, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: '-box_focus_slices REF', to avoid looking at empty slices.

    Can used a masked dset as REF to focus on certain slices only.

15 Oct 2018, P Taylor, 3dAutobox, level 2 (MINOR), type 2 (NEW_OPT)
    More new options

    Also output midslices, more info to screen (on-demand), and xyz stuff.

15 Oct 2018, P Taylor, 3dAutobox, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: '-extent_ijk_to_file FF'.

    Output IJK extents to a simple-formatted text file.

15 Oct 2018, P Taylor, @xyz_to_ijk, level 1 (MICRO), type 0 (GENERAL)
    Fixed help file to list all opts.

    Now '-prefix ...' appears with apsearch.

15 Oct 2018, P Taylor, 3dAutobox, level 1 (MICRO), type 0 (GENERAL)
    Allow for subbrick selection of input

    Tiny internal change-- moving where dset is loaded+checked.

----------------------------------------------------------------------

12 Oct 2018, DR Glen, whereami, level 2 (MINOR), type 3 (NEW_ENV)
    Longname support in AFNI atlases

    Environment variable AFNI_ATLAS_NAME_TYPE to control

12 Oct 2018, DR Glen, auto_warp.py, level 1 (MICRO), type 2 (NEW_OPT)
    at_opts for @auto_tlrc options

----------------------------------------------------------------------

11 Oct 2018, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    check for consistency between python and PyQt4 

11 Oct 2018, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    have gen_ss_review_scripts.py always write out.gen_ss_uvars.json

    This is to help occupy Paul.

----------------------------------------------------------------------

09 Oct 2018, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 4 (BUG_FIX)
    fix decay rest with non-zero min; block unlimited decay stim dur

    Thanks to D Plunkett for noting the problem.

----------------------------------------------------------------------

05 Oct 2018, RC Reynolds, timing_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    directly go after expected column headers in TSV files

----------------------------------------------------------------------

04 Oct 2018, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 4 (BUG_FIX)
    wget/curl may remove execute permission, so re-add it

----------------------------------------------------------------------

01 Oct 2018, RC Reynolds, gifti_tool, level 1 (MICRO), type 5 (MODIFY)
    link to nifti2_io.o, rather than nifti1_io.o

    Also, install nifti2_io.h rather than nifti2_io.h with other headers.

01 Oct 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    mri_dicom_hdr.c: init vars in DICOM reading functions

----------------------------------------------------------------------

27 Sep 2018, RC Reynolds, timing_tool.py, level 1 (MICRO), type 5 (MODIFY)
    handle FSL timing files with fewer than 3 columns

    For T Radman.

27 Sep 2018, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    added macos_10.12 examples to help

----------------------------------------------------------------------

25 Sep 2018, RC Reynolds, timing_tool.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix first timediff in -multi_timing_to_event_list

25 Sep 2018, RC Reynolds, prog_list.txt, level 1 (MICRO), type 5 (MODIFY)
    update prog_list.txt from 'make prog_list'; we might remove this file

25 Sep 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    have programs return 0 on -help

    Adding: fat_lat_csv.py, fat_proc_grad_plot.

----------------------------------------------------------------------

24 Sep 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    have programs return 0 on terminal options, like -help

    Adding: mpeg_encode, cjpeg, djpeg, fat_roi_row.py, fat_mvm_scripter.py,
            fat_mat_sel.py, fat_mvm_prep.py, fat_mvm_review.py.

----------------------------------------------------------------------

21 Sep 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    separate testGL build target from SUMA_PROGS

    Again, for accuracy of 'make prog_list'.

21 Sep 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    add new text_install dir; move scripts_install txt files there

    Moved afni_fs_aparc+aseg_*.txt and demo*.niml.do there.
    This helps with the accuracy of 'make prog_list'.

21 Sep 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    have programs return 0 on terminal options, like -help

    Adding: fat_mvm_gridconv.py.

----------------------------------------------------------------------

20 Sep 2018, RW Cox, 3dttest++ etc., level 3 (MAJOR), type 6 (ENHANCE)
    ETAC now output global thresholds as well as local

    Global thresholds are text tables of cluster-size (or cluster-FOM)
    thresholds that apply to the whole volume in the multi-threshold way,
    rather than dataset tables that apply voxelwise. Moderately extensive
    hanges to programs
      3dMultiThresh  3dXClustSim  3dttest++
    and to support files
      mri_threshX.c  thd_Xdataset.c
    3dttest++ now has options to turn on/off global and local ETAC threshold
    calculations.

20 Sep 2018, RC Reynolds, 3dttest++, level 1 (MICRO), type 4 (BUG_FIX)
    fix copy-and-paste error for processing of voxelwise covariates

    Use of voxelwize covariates when only using -setA was crashing.
    Thanks to S. Kippenhan for noting the problem.

----------------------------------------------------------------------

18 Sep 2018, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    outline BIDS-like analysis directory structure

    Add new DIRECTORY STRUCTURE NOTE section to -help output.

18 Sep 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    have programs return 0 on terminal options, like -help

    Adding: FD2, Ifile, MakeColorMap, ScaleToMap, SurfMeasures, afni_run_R,
            balloon, imcat, inspec, myget, quickspec, qhull, rbox, qdelaunay.

----------------------------------------------------------------------

17 Sep 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    have programs return 0 on terminal options, like -help

    Adding: @auto_align, @djunct_4d_slices_to_3d_vol, @djunct_vol_3slice_selec
    t,
            @xyz_to_ijk, column_cat, get_afni_model_PRF.
    Bigger changes to Dimon, Dimon1.

----------------------------------------------------------------------

14 Sep 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    have programs return 0 on terminal options, like -help

    Adding: @Install_D99_macaque, @Install_NIH_Marmoset.

----------------------------------------------------------------------

13 Sep 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    have programs return 0 on terminal options, like -help

    So far: 3dSurf2Vol3dVol2Surf3dmaxima.

----------------------------------------------------------------------

12 Sep 2018, RC Reynolds, 3dClusterize.c, level 1 (MICRO), type 4 (BUG_FIX)
    fix limit check on -idat and -ithr; disable MMAP for input

----------------------------------------------------------------------

10 Sep 2018, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 4 (BUG_FIX)
    add (copy of) Audio directory to afni_src.tgz build target

----------------------------------------------------------------------

31 Aug 2018, RW Cox, 1D file input, level 1 (MICRO), type 6 (ENHANCE)
    mri_read_1D() now reads 3D: format files

    This allows input of 'raw' data files into 1dplot1dcat, etc. Mostly
    useful for converting raw binary data files to text via 1dcat.

----------------------------------------------------------------------

30 Aug 2018, RW Cox, 1dsound, level 1 (MICRO), type 6 (ENHANCE)
    Default sound output is now 16-bit (less hiss than 8-bit)

----------------------------------------------------------------------

28 Aug 2018, P Taylor, @xyz_to_ijk, level 2 (MINOR), type 1 (NEW_PROG)
    Helper program to be able to convert xyz coors to ijk indices.

    Supplementary program.

----------------------------------------------------------------------

27 Aug 2018, RW Cox, 1dsound and AFNI GUI, level 2 (MINOR), type 5 (MODIFY)
    modify sound output

    1dsound now can make sound from up to 4 columns from input file.
    AFNI graph viewer GUI keypresses:
     p = play sound from central sub-graph
     P = play sound from central and average sub-graph (2 toned)
     K = kill running sound player
    Note that killing AFNI while sound is playing, or using K to kill sound,
    will leave a file whose name is like AFNI_SOUND_TEMP.something.au on the
    disk, and the user will have to clean it up.

----------------------------------------------------------------------

24 Aug 2018, RW Cox, 1dsound, level 1 (MICRO), type 2 (NEW_OPT)
    -notes option makes notes

    This is the default. Pentatonic notes with triangle waveforms.

----------------------------------------------------------------------

23 Aug 2018, RW Cox, 1dsound, level 2 (MINOR), type 1 (NEW_PROG)
    program to generate .au sound file from a 1D file

    Very primitive at this moment.

----------------------------------------------------------------------

22 Aug 2018, RC Reynolds, tedana_wrapper.py, level 2 (MINOR), type 5 (MODIFY)
    change exec_or_error() to use afni_util.py, which returns strings

    Thanks to J Gonzalez-Castillo for noting this python3 update.

----------------------------------------------------------------------

20 Aug 2018, RW Cox, AFNI GUI, level 2 (MINOR), type 6 (ENHANCE)
    Play sound with 'p' or 'P' keypresses

    p = sound from central graph.
    P = sound from average of visible graphs.
    Sound is played via sox program (not part of AFNI).
    Environment variables:
      AFNI_SOUND_NOTE_TYPE sets type of note played
      AFNI_SOUND_GAIN sets loudness

----------------------------------------------------------------------

17 Aug 2018, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -write_uvars_json; add a few more user vars

    Add afni_ver, afni_package and final_epi_dset to uvars.
    Add 'AFNI version' and 'AFNI package' to review basic output.
    Add afni_util:write_data_as_json(), lib_vars_object:get_attribute_dict().

----------------------------------------------------------------------

16 Aug 2018, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_computed_uvars; set template

----------------------------------------------------------------------

15 Aug 2018, RW Cox, 3dGrayplot, level 3 (MAJOR), type 6 (ENHANCE)
    Total rewrite of resampling from time+space to X+Y grid

    Grid refinement (time-X) is now cubic interpolation rather than linear
    Grid coarsening (space-Y) is now minimum sidelobe taper averaging rather
    than linear tapering

15 Aug 2018, RC Reynolds, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    added functions for extracting version information from dataset HISTORY

    E.g. get_last_history_ver_pack(), get_last_history_version().
    This file now depends on 're'.

----------------------------------------------------------------------

14 Aug 2018, RC Reynolds, model_conv_PRF_6, level 2 (MINOR), type 4 (BUG_FIX)
    return a zero array on invalid parameters

    Thanks to E Silson for noting the problem.

----------------------------------------------------------------------

13 Aug 2018, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    actually apply opt -blur_opts_BIM

    Thanks to D Zhu for noting the problem.

----------------------------------------------------------------------

10 Aug 2018, P Taylor, 3dClusterize, level 2 (MINOR), type 4 (BUG_FIX)
    Allow non-stat bricks to be thresholded.

    Before, if the [ithr] brick was nonstat, crashing occurred.

----------------------------------------------------------------------

07 Aug 2018, RW Cox, 3dQwarp, level 1 (MICRO), type 6 (ENHANCE)
    -allsave now works with -plusminus

    Plus tweaked the help to explain some things more better.

07 Aug 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    if converting tedana.py results to standard space, include -space

    Thanks to L Dowdle for noting the problem.

----------------------------------------------------------------------

01 Aug 2018, P Taylor, @chauffeur_afni, level 1 (MICRO), type 4 (BUG_FIX)
    Deal correctly with percentile values for 4D ulay in non-4Dmode...

    ... because user may specify with subbrick selectors.

----------------------------------------------------------------------

31 Jul 2018, P Taylor, fat_proc_dwi_to_dt, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: '-check_abs_min ..'.

    Just allows the same-named opt from 1dDW_Grad_o_Mat++ to be used.

31 Jul 2018, P Taylor, @GradFlipTest, level 2 (MINOR), type 2 (NEW_OPT)
    New opt: '-check_abs_min ..'.

    Just allows the same-named opt from 1dDW_Grad_o_Mat++ to be used.

----------------------------------------------------------------------

30 Jul 2018, RW Cox, 3dGrayplot, level 2 (MINOR), type 2 (NEW_OPT)
    -percent and -range options

    For Cesar C-G.
    '-range X' sets the values to be plotted over the range -X..X
    (black..white).
    '-percent' is for plotting non-zero mean files, by converting them to
    percent of baseline (mean). Should be combined with '-range 4' (say).

----------------------------------------------------------------------

26 Jul 2018, RW Cox, 3dQwarp, level 1 (MICRO), type 5 (MODIFY)
    Remove -duplo option (doesn't work that well)

----------------------------------------------------------------------

25 Jul 2018, P Taylor, @chauffeur_afni, level 3 (MAJOR), type 0 (GENERAL)
    Several new options, as well as ability to deal with 4D images.

    Many new features, probably including minor bug fixes.

25 Jul 2018, P Taylor, @djunct_calc_mont_dims.py, level 2 (MINOR), type 4 (BUG_FIX)
    Was excluding solution of a square set of dimensions.

    Tested; seems fine now.

----------------------------------------------------------------------

24 Jul 2018, RC Reynolds, dcm2niix_afni, level 3 (MAJOR), type 6 (ENHANCE)
    version v1.0.20180622, including fix for enhanced DICOM Philips bvec/bval

    Update from C Rorden.

----------------------------------------------------------------------

23 Jul 2018, RW Cox, AFNI driver, level 2 (MINOR), type 6 (ENHANCE)
    New command: SET_ULAY_RANGE

    For example: SET_ULAY_RANGE A.axialimage 0 200

23 Jul 2018, P Taylor, 3dClusterize, level 1 (MICRO), type 0 (GENERAL)
    Check about overwriting files before trying to write.

    This way, failure to write file exits nonzeroly.

----------------------------------------------------------------------

17 Jul 2018, P Taylor, @djunct_select_str.py, level 1 (MICRO), type 0 (GENERAL)
    Converted to python3 compatible, using 2to3.

    Tested; seems fine.

17 Jul 2018, P Taylor, @djunct_combine_str.py, level 1 (MICRO), type 0 (GENERAL)
    Converted to python3 compatible, using 2to3.

    Tested; seems fine.

17 Jul 2018, P Taylor, @djunct_calc_mont_dims.py, level 1 (MICRO), type 0 (GENERAL)
    Converted to python3 compatible, using 2to3.

    Tested; seems fine.

----------------------------------------------------------------------

16 Jul 2018, RW Cox, @snapshot_volreg, level 1 (MICRO), type 5 (MODIFY)
    Turn ALPHA on, and median smooth EPI dataset to improve edges

----------------------------------------------------------------------

05 Jul 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -mask_opts_automask

    Done for L Atlas.

05 Jul 2018, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    use >! for writing rm.bpass.1D, in case of noclobber

    Thanks for D Handwerker for noting it.

----------------------------------------------------------------------

02 Jul 2018, RC Reynolds, Makefile, level 1 (MICRO), type 5 (MODIFY)
    modify setup for Makefile.macos_10.12_local

    Use RLIB_CONVERT variable to apply libXm.a just for R_io.so.

----------------------------------------------------------------------

01 Jul 2018, P Taylor, @SSwarper, level 3 (MAJOR), type 2 (NEW_OPT)
    New opt:  well, actually, it is new to *have* explicit options now!

    Same great functionality, but with more flexible options/names/outputs.

01 Jul 2018, P Taylor, @snapshot_volreg, level 2 (MINOR), type 0 (GENERAL)
    Now respects including a path in the third argument (prefix/filename).

    Useful for scripting and selecting directory for output images.

----------------------------------------------------------------------

26 Jun 2018, P Taylor, fat_proc_select_vols, level 2 (MINOR), type 4 (BUG_FIX)
    Bug fixed in supplementary program to *this* program.

    Used to get an error when no bad vols were selected.

26 Jun 2018, P Taylor, fat_proc_convert_anat, level 2 (MINOR), type 2 (NEW_OPT)
    Can provide a NIFTI file as input, not just a directory of dicoms.

    All niceifying steps can thus be applied to already-converted vol.

26 Jun 2018, P Taylor, fat_proc_axialize_anat, level 2 (MINOR), type 2 (NEW_OPT)
    New opt '-focus_by_ss' to do skullstripping before alignment stuff.

    Final dset is *not* skullstripped, but it helps with center of mass.

26 Jun 2018, P Taylor, @djunct_select_str.py, level 2 (MINOR), type 4 (BUG_FIX)
    Would return an error when *no* bad vols were selected.

    Note about fixing it in Jan, 2018; must have forgot to push that ver!

----------------------------------------------------------------------

25 Jun 2018, P Taylor, fat_proc_select_vols, level 2 (MINOR), type 0 (GENERAL)
    The adjunct program, @djunct_dwi_selector.bash, was changed to be tcsh.

    No output diffs; but bash one couldn't run on new Mac OS (bad Mac)...

----------------------------------------------------------------------

22 Jun 2018, RC Reynolds, dcm2niix_afni, level 3 (MAJOR), type 6 (ENHANCE)
    version v1.0.20180614, including JPEG-LS support

    Update from C Rorden.

----------------------------------------------------------------------

21 Jun 2018, RC Reynolds, model_PRF_6_BAD, level 2 (MINOR), type 1 (NEW_PROG)
    old model_PRF_6, but with version and gauss_file updates

    This is for result comparison.

21 Jun 2018, RC Reynolds, get_afni_model_PRF_6_BAD, level 1 (MICRO), type 1 (NEW_PROG)
    wrapper for model Conv_PRF_6_BAD

    See model Conv_PRF_6_BAD in model_conv_PRF_6_BAD.c.

----------------------------------------------------------------------

19 Jun 2018, RC Reynolds, model_conv_PRF_6, level 2 (MINOR), type 4 (BUG_FIX)
    fix rotation term, B should be 2*B

    Thanks to R Le, G Usabiaga and B Wandell for suggesting a review.

----------------------------------------------------------------------

18 Jun 2018, RC Reynolds, model_conv_PRF_6, level 2 (MINOR), type 6 (ENHANCE)
    add AFNI_MODEL_PRF_GAUSS_FILE env var, to write image of Gaussian

    Done for model_conv_PRF and model_conv_PRF_6, should to _DOG, too.

18 Jun 2018, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    more status 0 updates: file_tool, serial_helper

18 Jun 2018, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    add build targets for get_afni_model_PRF/PRF_6

----------------------------------------------------------------------

15 Jun 2018, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    update some programs so that -help is valid and return 0

    Update 3dGrayplot 3dresample 3dretroicor @2dwarper @FSlabel2dset tokens.

----------------------------------------------------------------------

08 Jun 2018, RC Reynolds, 3ddata.h, level 1 (MICRO), type 4 (BUG_FIX)
    have DUMP_MAT44 write to stdout again (might re-do stderr later)

    Need to fix align_epi_anat.py for stderr, but must check shell use.
    Thanks to T Radman for noting the problem.

----------------------------------------------------------------------

06 Jun 2018, RC Reynolds, model_conv_PRF_6, level 1 (MICRO), type 5 (MODIFY)
    be clear that AFNI_MODEL_PRF_ON_GRID is not ready for this model

----------------------------------------------------------------------

01 Jun 2018, P Taylor, fat_proc_axialize_anat, level 2 (MINOR), type 2 (NEW_OPT)
    New pre-alignment opt, -pre_align_center_mass.

    Probably more useful than older -pre_center_mass.

01 Jun 2018, P Taylor, 3dLombScargle, level 2 (MINOR), type 0 (GENERAL)
    Change scaling of output.

    Simpler scaling to match Parseval.

01 Jun 2018, P Taylor, 3dAmpToRSFC, level 2 (MINOR), type 0 (GENERAL)
    Adapted to changes of 3dLombScargle.

    Simpler scaling to match Parseval.

01 Jun 2018, P Taylor, 3dClusterize, level 1 (MICRO), type 2 (NEW_OPT)
    New opt to output vols even if no clusters are found.

    These would be empty vols-- juuuust if the user wants.

----------------------------------------------------------------------

30 May 2018, P Taylor, fat_proc_map_to_dti, level 2 (MINOR), type 2 (NEW_OPT)
    User can specify matching cost and warp.

    How exciting is that??  (Well, mostly for test comparisons...).

30 May 2018, P Taylor, @suma_reprefixize_spec, level 1 (MICRO), type 4 (BUG_FIX)
    Changing 'more' -> 'cat', internally.

    Think 'more' gave oddness at times- dumped weird chars and broke files.

----------------------------------------------------------------------

29 May 2018, RW Cox, AFNI GUI, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_GRAPH_ALLOW_SHIFTN

    Needs to be set to YES to enable the old FD-style N<digits><Enter>
    method of changing the graph matrix. Some people just can't handle the
    freedumb.

29 May 2018, RW Cox, 3dTcorrelate, level 1 (MICRO), type 5 (MODIFY)
    Replace DSET_NUM_TIMES with DSET_NVALS

    To allow datasets that are not marked with a time axis to be used. Also
    in a couple other programs (e.g., 3dDespike).

29 May 2018, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Can crop the saved images.

    See the '-crop_*' options.

----------------------------------------------------------------------

27 May 2018, P Taylor, 3dClusterize, level 2 (MINOR), type 0 (GENERAL)
    Make report cleaner, and add in INT_MAP property to output clust map.

    Thanks, D. Glen for more useful suggestions.

----------------------------------------------------------------------

25 May 2018, RW Cox, various, level 1 (MICRO), type 5 (MODIFY)
    Replace DC_find_overlay_color with DC_find_closest_overlay_color

    So that incorrect color names can get some sort of love.

25 May 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -combine_opts_tedwrap, to pass to tedana_wrapper.py

    This is currently for passing -tedana_is_exec, say.
    Done for M Vaziri-Pashkam.

----------------------------------------------------------------------

24 May 2018, RW Cox, AFNI driver, level 2 (MINOR), type 6 (ENHANCE)
    Add SNAP_VIEWER command, for the Neon man.

24 May 2018, RC Reynolds, @extract_meica_ortvec, level 2 (MINOR), type 6 (ENHANCE)
    remove any duplicates from merged lists

    The 4 categories (accepted/ignored, rejected/midk-rej) might not be
    a clean partition.
    Thanks to L Dowdle for noting the problem.

----------------------------------------------------------------------

23 May 2018, RW Cox, 3dTfilter, level 1 (MICRO), type 2 (NEW_OPT)
    Updates to add capability

    Now can set half-width for despike as well as adaptive filter.
    Now can use adaptive detrending with new filter 'adetrend'.

23 May 2018, RC Reynolds, get_afni_model_PRF_6, level 2 (MINOR), type 1 (NEW_PROG)
    this is just a wrapper for model parameter evaluation

    See model Conv_PRF_6 in model_conv_PRF_6.c.

23 May 2018, RC Reynolds, get_afni_model_PRF, level 2 (MINOR), type 1 (NEW_PROG)
    this is just a wrapper for model parameter evaluation

    See model Conv_PRF in model_conv_PRF.c.

23 May 2018, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    add -ushort2float

    This will add the option to any to3d command via -gert_create_dataset.
    Done for H Brice.

23 May 2018, P Taylor, 3dClusterize, level 2 (MINOR), type 0 (GENERAL)
    Some bug fixes if dsets are left out, some new checks on what user asks.

    User can't run multi-sided tests on single-sided stats now...

----------------------------------------------------------------------

22 May 2018, P Taylor, fat_proc_filter_dwis, level 3 (MAJOR), type 4 (BUG_FIX)
    Was unioning, not intersecting, multiple selector strings.

    Fixed the issue in subprogram @djunct_combin_str.py.

----------------------------------------------------------------------

21 May 2018, P Taylor, p2dsetstat, level 2 (MINOR), type 2 (NEW_OPT)
    Include '-bisided' as a type of test, explicitly.

    Same behavior as '-2sided', just easier for scripting.

----------------------------------------------------------------------

18 May 2018, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    handle '3dttest++ -Clustsim' files, with no blur

18 May 2018, JK Rajendra, abids_tool.py, level 4 (SUPER), type 1 (NEW_PROG)
    New program to modify BIDS datasets.

18 May 2018, JK Rajendra, abids_lib.py, level 4 (SUPER), type 1 (NEW_PROG)
    New library to handle data from json files. Useful for BIDS data.

18 May 2018, JK Rajendra, abids_json_info.py, level 4 (SUPER), type 1 (NEW_PROG)
    New program to extract data from json files. Useful for BIDS data.

----------------------------------------------------------------------

17 May 2018, RC Reynolds, 3dNLfim, level 1 (MICRO), type 2 (NEW_OPT)
    add -help_models and -load_models

    This is easier than: '3dNLfim -DAFNI_MODEL_HELP_ALL=Y -signal eggs'.

17 May 2018, P Taylor, 3dClusterize, level 2 (MINOR), type 0 (GENERAL)
    String subbrick selectors now work for -idat and -ithr.

    Also, the text report contains more (useful?) information.

----------------------------------------------------------------------

16 May 2018, RC Reynolds, plug_vol2surf, level 2 (MINOR), type 2 (NEW_OPT)
    added map_all option for the main 'use vol2surf?' plugin menu

    The 'map_all' option applies plugin parameters to all mappable surfaces,
    rather than applying defaults to any surface not specified as surf_A/B.
    This allows one to use normals and the various mapping functions.
    Done for D Glen.

----------------------------------------------------------------------

15 May 2018, RC Reynolds, tedana_wrapper.py, level 1 (MICRO), type 5 (MODIFY)
    back-port for python 2.6

    Use local check_output(), rather than from subprocess.

15 May 2018, RC Reynolds, tedana.py, level 1 (MICRO), type 2 (NEW_OPT)
    add --seed, update for modern numpy

    New option --seed can be used for regression testing.
    Use integer subscripts in arrays; replace some '== None' with 'is None'.

----------------------------------------------------------------------

14 May 2018, RC Reynolds, @stim_analyze_modern, level 2 (MINOR), type 1 (NEW_PROG)
    added this sample script to doc/misc_scripts

    This uses the advanced form of make_random_timing.py.

14 May 2018, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    add epi_anat as opt for -mask_apply; if tedana, suggest -blur_in_mask yes

14 May 2018, RC Reynolds, afni.c, level 1 (MICRO), type 4 (BUG_FIX)
    check at 'only if do_css' should be css, not gss

    Without GLOBAL_SESSION, this blocked the All_Datasets session.

----------------------------------------------------------------------

13 May 2018, P Taylor, 3dClusterize, level 2 (MINOR), type 4 (BUG_FIX)
    Wouldn't work with extra dset entered- fixed now.

    Can enter extra beta/effect estimate set for clusterizing.

----------------------------------------------------------------------

12 May 2018, P Taylor, 3dClusterize, level 3 (MAJOR), type 1 (NEW_PROG)
    Perform clusterizing (voxelwise and volume-wise thresholding) on a dset.

    Basically like 3dclust but has some new options and easier syntax.

----------------------------------------------------------------------

10 May 2018, RW Cox, AFNI GUI, level 1 (MICRO), type 3 (NEW_ENV)
    remove AFNI_ENFORCE_ASPECT from having any effect

    This never did very much good, so it is now OFF.

----------------------------------------------------------------------

09 May 2018, RW Cox, AFNI GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Fix 'too many redraws' problem in imseq.c

    For some reason, could get many ConfigureNotify events for one image
    resize, each event causing a redraw. Now if the redraw ordered by a
    ConfigureNotify is exactly the same size as the previous one, it will be
    skipped.

----------------------------------------------------------------------

08 May 2018, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT)
    add multi-echo combine methods: OC_tedort, tedana_OC, tedana_OC_tedort

    With this, afni_proc.py can run tedana.py and extract projection
    components (projecting good orts from bad, making cleaner bad orts).
       OC_tedort        : like AFNI's OC, but also regress clean orts
       tedana_OC        : tedana.py's OC
       tedana_OC_tedort : tedana.py's OC, and regress clean orts
    The tedort (orthogonalized tedana projection components) terms are
    applied in the regress block, still as per-run terms.

08 May 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    3dQwarp warp datasets need only be named _WARP

    Thanks to dowdlelt on MB for bringing this up.

----------------------------------------------------------------------

07 May 2018, RW Cox, @grayplot, level 2 (MINOR), type 1 (NEW_PROG)
    Script to drive 3dGrayplot in afni_proc.py output directory

    Will grayplot errts* and all_runs datasets, with motion indicator graph
    and (if available) sum_ideal.1D graph.

07 May 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    EPI automask (full_mask) is no longer dilated by default

    Also, add -show_process_changes, to report changes affecting results.

07 May 2018, RC Reynolds, @extract_meica_ortvec, level 2 (MINOR), type 2 (NEW_OPT)
    add -ver, -meica_dir, -work_dir, init history

----------------------------------------------------------------------

04 May 2018, JK Rajendra, BayesianGroupAna.py, level 4 (SUPER), type 1 (NEW_PROG)
    New program to perform Bayesian group analysis on ROI level data.

----------------------------------------------------------------------

03 May 2018, RC Reynolds, @extract_meica_ortvec, level 2 (MINOR), type 1 (NEW_PROG)
    new program to extract MEICA projection vectors

    These 'rejected' terms are orthogonalized to the 'accepted' ones.
    This was written to be called by afni_proc.py.

----------------------------------------------------------------------

29 Apr 2018, DR Glen, First space xform bug, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed bug where first space in AFNI_atlas_spaces.niml had to have xform 

----------------------------------------------------------------------

28 Apr 2018, RC Reynolds, 3dSurf2Vol, level 2 (MINOR), type 2 (NEW_OPT)
    add option -stop_gap and map functions nzave, nzmode, median, nzmedian

----------------------------------------------------------------------

26 Apr 2018, DR Glen, ORIG space, level 2 (MINOR), type 0 (GENERAL)
    ORIG space formally defined in AFNI_atlas_spaces.niml

    Should allow for FreeSurfer segmentation to be used
    with the SessionAtlases.niml created by @SUMA_MakeSpecFS
    This change currently applies only to the whereami command
    line. The afni GUI still requires a +tlrc or equivalent view.

26 Apr 2018, DR Glen, @surf_to_vol_spackle, level 2 (MINOR), type 1 (NEW_PROG)
    propagate surface to volume and fill holes

----------------------------------------------------------------------

25 Apr 2018, RC Reynolds, meica.py, level 2 (MINOR), type 4 (BUG_FIX)
    deal with numpy update that fails for 'array == None', use 'is None'

    Thanks to dowdlele on MB for noting this and pointing to the emdupre
    update on https://github.com/ME-ICA/me-ica.

25 Apr 2018, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 1.0

----------------------------------------------------------------------

24 Apr 2018, RC Reynolds, gen_epi_review.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 0.4

24 Apr 2018, RC Reynolds, auto_warp.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 0.4

----------------------------------------------------------------------

23 Apr 2018, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    moved python_scripts/*.py down 1 level, under python_scripts/afni

    This is preparation for setup.py and __init__.py to install AFNI's
    python files using pip, and to then load them via 'module load afni'.

23 Apr 2018, DR Glen, align_epi_anat.py python3, level 1 (MICRO), type 5 (MODIFY)
    Makes align_epi_anat.py python3 compatible

----------------------------------------------------------------------

22 Apr 2018, P Taylor, 3dSliceNDice, level 3 (MAJOR), type 1 (NEW_PROG)
    Calculate Dice coefficients between volumes on a slicewise basis.

    Useful for comparing masks/maps of volumes.

22 Apr 2018, P Taylor, fat_proc_axialize_anat, level 2 (MINOR), type 4 (BUG_FIX)
    When using '-remove_inf_sli', the wrong volume was being warped at end.

    Final warped volume had lower slice reduction, when it shouldn't have.

----------------------------------------------------------------------

18 Apr 2018, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -csim_show_clustsize and helper options to report cluster requirements

    Given a cluster table output by 3dClustSim, use this option to extract
    the minimum cluster size, given uncorrected and corrected p-values.
    Use -csim_pthr and -csim_alpha to specify those respective p-values.

----------------------------------------------------------------------

16 Apr 2018, RC Reynolds, lib_afni1D.py, level 1 (MICRO), type 6 (ENHANCE)
    Afni1D: store array of comment lines in header; add show_header()

16 Apr 2018, P Taylor, p2dsetstat, level 3 (MAJOR), type 1 (NEW_PROG)
    Program to convert a p-value to a statistic, using params in dset header.

    Useful to calculate thresholds for a particular volume.

----------------------------------------------------------------------

12 Apr 2018, RC Reynolds, dcm2niix_afni, level 3 (MAJOR), type 6 (ENHANCE)
    version v1.0.20180403, including support for Philips enhanced DICOMs

    Update from C Rorden.

12 Apr 2018, RC Reynolds, 3dMVM.R, level 1 (MICRO), type 2 (NEW_OPT)
    add -verb option

----------------------------------------------------------------------

09 Apr 2018, RW Cox, 3dGrayplot, level 2 (MINOR), type 1 (NEW_PROG)
    A plot, a la JD Power, of time series intensities in a brain mask

    For Cesar Caballero-Gaudes, and anyone else who actually cares about
    data quality.

----------------------------------------------------------------------

05 Apr 2018, RC Reynolds, uber_subject.py, level 1 (MICRO), type 5 (MODIFY)
    always apply -regress_motion_per_run

----------------------------------------------------------------------

04 Apr 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -combine_opts_tedana, to pass opts down to tedana.py

04 Apr 2018, RC Reynolds, tedana_wrapper.py, level 1 (MICRO), type 6 (ENHANCE)
    allow for newlines in -tedana_opts; flush tedana.py command

04 Apr 2018, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 4 (BUG_FIX)
    set sysname early - forgot to commit this weeks ago...

----------------------------------------------------------------------

03 Apr 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    initial testing run with -combine_tedana_path

----------------------------------------------------------------------

02 Apr 2018, P Taylor, @radial_correlate, level 1 (MICRO), type 0 (GENERAL)
    Make -hview option work with the program.

    Didn't before, does now.

----------------------------------------------------------------------

28 Mar 2018, RW Cox, 3dNwarpApply, level 3 (MAJOR), type 6 (ENHANCE)
    Program now warps complex-valued datasets.

    Real and imaginary parts are extracted, warped, and combined.
    No special option is needed.

----------------------------------------------------------------------

27 Mar 2018, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 5 (MODIFY)
    modify help for sphinx formatting

----------------------------------------------------------------------

26 Mar 2018, RC Reynolds, uber_subject.py, level 1 (MICRO), type 5 (MODIFY)
    modify defaults: VR base = MIN_OUTLIER, EPI/anat cost func = lpc+ZZ

----------------------------------------------------------------------

23 Mar 2018, RW Cox, afni GUI, level 2 (MINOR), type 6 (ENHANCE)
    Add 3dTstat pseudo-plugin on the Insta-stuff menu

    Calculate voxelwise statistics of 3D+time datasets. Works by running
    3dTstat. A few changes to 3dTstat to make this easier, as well.

23 Mar 2018, JK Rajendra, tedana_wrapper.py, level 4 (SUPER), type 1 (NEW_PROG)
    add wrapper for tedana.py that will be run from afni_proc.py

----------------------------------------------------------------------

19 Mar 2018, RW Cox, 3dTstat, level 2 (MINOR), type 2 (NEW_OPT)
    Add -MSSD and -MASD option

    MSSD = mean successive squared differences (Von Neumann)
    MASD = median absolute successive differences

----------------------------------------------------------------------

15 Mar 2018, P Taylor, fat_proc_convert_dwis, level 2 (MINOR), type 2 (NEW_OPT)
    Can provide NIFTI+bvec+bval files as inp, not just a directory of dicoms.

    All niceifying steps can thus be applied to already-converted vol.

----------------------------------------------------------------------

14 Mar 2018, P Taylor, fat_proc_filter_dwis, level 2 (MINOR), type 4 (BUG_FIX)
    Crashed when b-value file was input.

    Crashes no more under such circumstance.

14 Mar 2018, P Taylor, fat_proc_dwi_to_dt, level 2 (MINOR), type 4 (BUG_FIX)
    Crashed no ref dset was used in mapping.

    Crashes no more under such circumstance.

----------------------------------------------------------------------

13 Mar 2018, RW Cox, 3dQwarp, level 1 (MICRO), type 6 (ENHANCE)
    -saveall option now writes out as it progresses, not at end

    So if 3dQwarp crashes or stalls, the latest saved warp could be used to
    re-start the damn thing.

----------------------------------------------------------------------

07 Mar 2018, RC Reynolds, afni, level 1 (MICRO), type 4 (BUG_FIX)
    add do_css check around css access for making catenated session list

----------------------------------------------------------------------

06 Mar 2018, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    okay, if macos and no .bash_profile, source .bashrc from .bash_profile

06 Mar 2018, P Taylor, fat_proc_convert_dwis, level 2 (MINOR), type 5 (MODIFY)
    Default orientation for nifti files to be 'RAI' instead of 'RPI'.

    This will be more in line with TORTOISE (and AFNI DICOM-coor default).

06 Mar 2018, P Taylor, fat_proc_convert_anat, level 2 (MINOR), type 5 (MODIFY)
    Default orientation for nifti files to be 'RAI' instead of 'RPI'.

    This will be more in line with TORTOISE (and AFNI DICOM-coor default).

----------------------------------------------------------------------

05 Mar 2018, JK Rajendra, FATCAT_matplot, level 2 (MINOR), type 0 (GENERAL)
    changed name of @FATCAT_heatmap_shiny to FATCAT_matplot

----------------------------------------------------------------------

01 Mar 2018, RC Reynolds, @compute_OC_weights, level 2 (MINOR), type 2 (NEW_OPT)
    add -oc_method (OC_A, OC_B)

    OC_B: compute T2* from full log() time series, rather than log(mean(TS)).

01 Mar 2018, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    add -combine_method cases of OC_A and OC_B

----------------------------------------------------------------------

26 Feb 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -help_section, and use it to add some missing option help

----------------------------------------------------------------------

23 Feb 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option for running OC combine method, use '-combine_method OC'

    This will run the current method implemented in @compute_OC_weights.
    This is probably a bit of a test, as I expect to modify the base 'OC'
    method, and therefore add other related names.

23 Feb 2018, RC Reynolds, @compute_OC_weights, level 2 (MINOR), type 2 (NEW_OPT)
    add option -echo_times, for convenient use by afni_proc.py

----------------------------------------------------------------------

22 Feb 2018, RC Reynolds, 3dMean, level 2 (MINOR), type 2 (NEW_OPT)
    add option -weightset to compute a weighted sum

    This N-volume weight dataset is used to apply voxelwise weights to the N
    input datasets, one volumetric weight to each dataset.  The motivated
    example is combining single runs (at a time) of multi-echo data with the
    weights generated by @compute_OC_weights.

22 Feb 2018, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Can now apply p-to-stat calcs for thresholding.

    User gives p-value, which gets made to appropriate stat for thresh.

----------------------------------------------------------------------

21 Feb 2018, RC Reynolds, @compute_OC_weights, level 1 (MICRO), type 5 (MODIFY)
    apply T2* < 0 as limit

    Should have no effect on resulting weights, but make a prettier T2* map.

----------------------------------------------------------------------

16 Feb 2018, RW Cox, 3dTcorr1D, level 1 (MICRO), type 2 (NEW_OPT)
    New -dot option (dot product)

16 Feb 2018, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT)
    add combine block and ability to process multi-echo data

    Have new options -dsets_me_echo and -dsets_me_run for input.
    Still need to implement OC and ME-ICA.
    Thanks to L Atlas and J Gonzalez-Castillo.

16 Feb 2018, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add option -mask_epi_anat, to apply tigher mask in place of full_mask

    By default, create epi_anat intersection mask.

----------------------------------------------------------------------

15 Feb 2018, RC Reynolds, @compute_OC_weights, level 3 (MAJOR), type 1 (NEW_PROG)
    compute voxelwise weights for optimally combining multi-echo data

    The equations are based on the summer 2017 talk by J Gonzalez-Castillo.

15 Feb 2018, RC Reynolds, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    add showproc option to exec_tcsh_command(), to show command and text

----------------------------------------------------------------------

13 Feb 2018, RC Reynolds, 3dbucket, level 1 (MICRO), type 5 (MODIFY)
    return success of dataset write

13 Feb 2018, P Taylor, fat_proc_filter_dwis, level 2 (MINOR), type 5 (MODIFY)
    Can now accept *multiple* selector strings that get merged.

    Multiple strings/files can be input, yay.

----------------------------------------------------------------------

08 Feb 2018, P Taylor, fat_proc_dwi_to_dt, level 2 (MINOR), type 4 (BUG_FIX)
    When a mask was input, it wasn't resampled if needed to be.

    Now fixed, and added check that grid of mask is good. Good.

----------------------------------------------------------------------

06 Feb 2018, P Taylor, fat_proc_axialize_anat, level 2 (MINOR), type 2 (NEW_OPT)
    Can put a ceiling on the final output volume: -do_ceil_out.

    Reduce impact of tiny spikes (often at fringe) later on.

----------------------------------------------------------------------

02 Feb 2018, RW Cox, AFNI GUI, level 2 (MINOR), type 5 (MODIFY)
    Read .jpg and .png 'datasets' by default into sessions

----------------------------------------------------------------------

01 Feb 2018, RW Cox, AFNI GUI, level 3 (MAJOR), type 2 (NEW_OPT)
    -bysub option for reading from BIDS hierarchy

    -bysub 10506 (for example) means to find all sub-directories with names
    'sub-10506', and read all datasets find in them and in THEIR
    sub-directories into a single session. The idea is to make it easy to
    read all datasets corresponding to a single subject from a BID hierarchy
    into a single session, for easy of viewing.

01 Feb 2018, RC Reynolds, 3dTto1D, level 2 (MINOR), type 2 (NEW_OPT)
    add methods 4095_count/frac/warn

    Count 4095 values, or warn if datum is short and max is 4095.

01 Feb 2018, P Taylor, @GradFlipTest, level 2 (MINOR), type 5 (MODIFY)
    Internal change to allow subset selection in text files.

    Can now use subbrick selector notation with bvals/bvecs.

----------------------------------------------------------------------

31 Jan 2018, RC Reynolds, timing_tool.py, level 1 (MICRO), type 5 (MODIFY)
    in MT2_event_list 'part', if no run events, output '* *'

    Done for W Tseng.

----------------------------------------------------------------------

30 Jan 2018, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 2 (NEW_OPT)
    add -help_concerns, to describe some general concerns regarding timing

----------------------------------------------------------------------

28 Jan 2018, DR Glen, @measure_xxx surface object controllers, level 1 (MICRO), type 4 (BUG_FIX)
    keep surface object controllers open in the output suma scripts

    Mac OS bug makes closing and reopening controllers crash

----------------------------------------------------------------------

26 Jan 2018, RC Reynolds, dicom_hinfo, level 1 (MICRO), type 4 (BUG_FIX)
    fix crash on no input file

26 Jan 2018, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    applied various NeuroDebian patches from M Hanke and Y Halchenko

    Includes up_include_right, up_condition_dset_unload, up_3dNetCorrFix,
    and up-fix_inflate_compare.
    Thanks to M Hanke and Y Halchenko for the fixes.

26 Jan 2018, JK Rajendra, dicom_hinfo, level 2 (MINOR), type 0 (GENERAL)
    add -full_entry

    prints out the full entry of a tag if there are more than one word

----------------------------------------------------------------------

18 Jan 2018, DR Glen, thickness scripts, level 4 (SUPER), type 1 (NEW_PROG)
    Scripts to compute thickness of a mask 3 ways

    @measure_bb_thick, @measure_erosion_thick, @measure_in2out
    Suite of thickness scripts to compute thickness in volume
    and map to surface. Master script, @thickness_master, to
    call others with option for FreeSurfer input data

18 Jan 2018, DR Glen, 3dUndump cubes, level 1 (MICRO), type 2 (NEW_OPT)
    -cubes makes cubes instead of spheres

----------------------------------------------------------------------

12 Jan 2018, P Taylor, @djunct_select_str.py, level 2 (MINOR), type 4 (BUG_FIX)
    Would return an error when *no* bad vols were selected.

    Now updated to work fine with that; just an intermed program.

12 Jan 2018, P Taylor, fat_proc_align_anat_pair, level 1 (MICRO), type 4 (BUG_FIX)
    Output 3dAllineate's weight vol to working dir, not present dir.

    Minor change, does not affect alignment/output.

12 Jan 2018, P Taylor, 3dRSFC, level 1 (MICRO), type 0 (GENERAL)
    Deal with change elsewhere to definition of a function.

    New option added to function, just need another arg; shd be no change.

----------------------------------------------------------------------

10 Jan 2018, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    also set PATH in .bash_profile, if it exists

----------------------------------------------------------------------

06 Jan 2018, RW Cox, 3dDeconvolve, level 2 (MINOR), type 6 (ENHANCE)
    Add TWOGAM basis function

    Arbitrary difference of two GAM functions.

----------------------------------------------------------------------

03 Jan 2018, RW Cox, AFNI GUI, level 1 (MICRO), type 6 (ENHANCE)
    Add startup tips (to stderr) to AFNI

    Source is in afni.c. Search for TIP string.

----------------------------------------------------------------------

02 Jan 2018, RC Reynolds, realtime_receiver.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 1.0

    Also, add -write_text_data for L Morris and D Huynh.

----------------------------------------------------------------------

29 Dec 2017, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 1.0

----------------------------------------------------------------------

28 Dec 2017, RC Reynolds, uber_ttest.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 2.0

28 Dec 2017, RC Reynolds, gen_ss_review_table.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 1.0

----------------------------------------------------------------------

27 Dec 2017, RC Reynolds, gen_group_command.py, level 1 (MICRO), type 6 (ENHANCE)
    python3 compatible as of version 1.0

27 Dec 2017, RC Reynolds, RetroTS.py, level 1 (MICRO), type 4 (BUG_FIX)
    prevent slice_order = 'Cutsom' case from wiping out passed order

    Thanks to J. Ho for noting the problem in the Matlab version.

----------------------------------------------------------------------

22 Dec 2017, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -select_runs and -mplaces

    For B Benson and A Harrewijn, see Example 18d.

22 Dec 2017, P Taylor, fat_proc_connec_vis, level 2 (MINOR), type 2 (NEW_OPT)
    Can output the intermediate tstat or tcat files of ROI maps.

    Might be useful in subsequent volumetric analyses.

----------------------------------------------------------------------

20 Dec 2017, RW Cox, afni GUI, level 2 (MINOR), type 6 (ENHANCE)
    Add driver command DATASET#N

    To let the user drive the graph viewer plugin from outside. A little
    trickier than I thought, since to do this well requires mucking with the
    menu settings inside afni_graph.c as well as registering a new driver
    function in plug_nth_dataset.c.

20 Dec 2017, RW Cox, afni GUI, level 2 (MINOR), type 6 (ENHANCE)
    Increase the maximum dimension of an image Montage (for PT)

20 Dec 2017, RW Cox, 3drefit, level 2 (MINOR), type 2 (NEW_OPT)
    -Tslices lets user replace slice time offsets

    I don't know why this didn't exist before. So now the user can attach
    slice time offsets to a dataset if they weren't correct before (e.g., in
    NIFTI files).

20 Dec 2017, RW Cox, 3drefit, level 2 (MINOR), type 4 (BUG_FIX)
    Make -substatpar option work better

    It didn't work on some datasets, as they weren't labeled as 'bucket'.
    That oversight was fixed.

20 Dec 2017, P Taylor, fat_proc_connec_vis, level 2 (MINOR), type 5 (MODIFY)
    Changing the way that outputting is specified.

    Make making a separate directory the default output; new opt for files.

----------------------------------------------------------------------

19 Dec 2017, RC Reynolds, afni_util.py, level 2 (MINOR), type 6 (ENHANCE)
    uniq_list_as_dsets: (def) no restriction to prefix; dmUBLOCK known basis

19 Dec 2017, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    add -help for align_unifize_epi

----------------------------------------------------------------------

12 Dec 2017, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    added 'sample analysis script' to help (in GENERAL ANALYSIS NOTE)

----------------------------------------------------------------------

11 Dec 2017, RC Reynolds, 3dmask_tool, level 1 (MICRO), type 4 (BUG_FIX)
    in dilate, if pad but not convert, inset == dnew, so do not delete

    Thanks to nwlee (AFNI message board) for noting the problem.

----------------------------------------------------------------------

10 Dec 2017, RC Reynolds, Dimon, level 1 (MICRO), type 6 (ENHANCE)
    apply -gert_to3d_prefix for GEMS I-files

    Done for M Kerich.

----------------------------------------------------------------------

04 Dec 2017, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    fix gtmax in case of global times and only 1 input dset

    This just lead to an inappropriate warning.
    Thanks to P Bedard for noting the problem.

----------------------------------------------------------------------

30 Nov 2017, RC Reynolds, afni_base.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix problems with relative path to root directory

    This affected afni_proc.py, for example, adding '/' in path names.
    Thanks to D Nielson for noting the problem.

----------------------------------------------------------------------

29 Nov 2017, P Taylor, @djunct_4d_imager, level 3 (MAJOR), type 1 (NEW_PROG)
    Helper function to make montages and movies of 4D dsets.

    Useful when proc'ing dsets, make record of them.

----------------------------------------------------------------------

27 Nov 2017, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    warn user for python version != 2.7 (3+ in particular)

27 Nov 2017, RC Reynolds, afni, level 1 (MICRO), type 4 (BUG_FIX)
    fix imseq.c: driven SAVE_MPEG offset by 1

----------------------------------------------------------------------

21 Nov 2017, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 6 (ENHANCE)
    add options -not_first and -not_last, to block tasks at run boundaries

    For C Smith.

----------------------------------------------------------------------

15 Nov 2017, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    -despike_mask had been tested with wrong option name

    Fix submitted by D Plunkett.

----------------------------------------------------------------------

09 Nov 2017, RC Reynolds, timing_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 3.00

09 Nov 2017, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 3.0

09 Nov 2017, DR Glen, whereami report changes, level 1 (MICRO), type 5 (MODIFY)
    linkrbrain, sumsdb no longer working, so turned off

    Also reduced line spacing in whereami html reports, default in GUI
    and coordinates showing up as -0.0 instead of 0.0 (for Justin).

----------------------------------------------------------------------

07 Nov 2017, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 6 (ENHANCE)
    python3 compatible as of version 6.00

07 Nov 2017, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 1.00

07 Nov 2017, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    python3 compatible as of version 2.00

----------------------------------------------------------------------

06 Nov 2017, RC Reynolds, afni-general, level 3 (MAJOR), type 6 (ENHANCE)
    first stab at making python program p2/p3 compatible

    Based on 2to3 and dglen mods, and tested in p2 and p3 environments.

----------------------------------------------------------------------

02 Nov 2017, RW Cox, aiv, level 1 (MICRO), type 2 (NEW_OPT)
    -pad option makes all images the same size for viewing

----------------------------------------------------------------------

01 Nov 2017, RW Cox, afni GUI, level 1 (MICRO), type 6 (ENHANCE)
    Add 'Gimp it?' option to image save popup chooser

    If gimp is present on the system, then user can save and edit image easily

01 Nov 2017, RC Reynolds, make_random_timing.py, level 3 (MAJOR), type 2 (NEW_OPT)
    implement the decay_fixed distribution type

    See make_random_timing.py -help_decay_fixed for details.

----------------------------------------------------------------------

31 Oct 2017, RW Cox, 3dMultiThresh, level 2 (MINOR), type 2 (NEW_OPT)
    Add -allmask option, to see which case(s) caused a positive

    Add then used in 3dttest++ to produce the ETACmaskALL output dataset

31 Oct 2017, DR Glen, SUMA popups disabled, level 1 (MICRO), type 3 (NEW_ENV)
    SUMA popups are disabled by default, SUMA_SHOWPOPUPS

    Popups in SUMA that required clicking are now off
    by default. Bracket (hemisphere) hiding and small surface
    warnings only go to terminal. Other messages can be shown
    in popup messages with env. variable.

----------------------------------------------------------------------

26 Oct 2017, P Taylor, fat_proc_connec_vis, level 3 (MAJOR), type 1 (NEW_PROG)
    Visualize 'white matter connection' volumes output by 3dTrackID.

    Combine separate '-dump_rois ...' output into SUMAble surface maps.

----------------------------------------------------------------------

25 Oct 2017, JK Rajendra, @afni_R_package_install, level 4 (SUPER), type 1 (NEW_PROG)
    add new program @afni_R_package_install

    Will install R libraries to run shiny apps

----------------------------------------------------------------------

23 Oct 2017, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    add warnings if TR or run length is 0.0

----------------------------------------------------------------------

12 Oct 2017, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Slight relocation of UnderLay/OverLay popups -- for the PirATe

12 Oct 2017, RW Cox, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed color def problem in pbars (etc) with new find_color_name func

12 Oct 2017, P Taylor, @GradFlipTest, level 2 (MINOR), type 5 (MODIFY)
    Change output formatting and getting basename of prefix name.

    Easier output and reading in terminal/files.

----------------------------------------------------------------------

11 Oct 2017, JK Rajendra, ClustExp_StatParse.py, level 4 (SUPER), type 1 (NEW_PROG)
    add new program ClustExp_StatParse.py

    Part of cluster explorer. Extract subject level data from clusters and
    output tables and a shiny app

11 Oct 2017, JK Rajendra, ClustExp_HistTable.py, level 4 (SUPER), type 1 (NEW_PROG)
    add new program ClustExp_HistTable.py

    Part of cluster explorer. Extract data tables from the history of datasets

11 Oct 2017, JK Rajendra, @FATCAT_heatmap_shiny, level 4 (SUPER), type 1 (NEW_PROG)
    add new program @FATCAT_heatmap_shiny

    Run a shiny app to view .netcc or .grid files

11 Oct 2017, JK Rajendra, @ClustExp_run_shiny, level 4 (SUPER), type 1 (NEW_PROG)
    add new program @ClustExp_run_shiny

    Part of cluster explorer. Run the shiny app output from ClustExp_StatParse
    .py

11 Oct 2017, JK Rajendra, @ClustExp_CatLab, level 4 (SUPER), type 1 (NEW_PROG)
    add new program @ClustExp_CatLab

    Part of cluster explorer. Concatenates and labels input datasets

----------------------------------------------------------------------

10 Oct 2017, RW Cox, csfft.c, level 1 (MICRO), type 6 (ENHANCE)
    Add use of fftn.c for general length DFTs

    csfft_cox() still uses my own method for 'reasonable' values, as it
    seems to be faster than the general fftn function. Here, reasonable is
    defined as having only factors of 3 and 5 up to at most 3^3 * 5^3.

----------------------------------------------------------------------

05 Oct 2017, RW Cox, 3dTsort, level 1 (MICRO), type 2 (NEW_OPT)
    add -ranFFT option, for Cesar

----------------------------------------------------------------------

04 Oct 2017, RW Cox, 3dTsort, level 1 (MICRO), type 2 (NEW_OPT)
    add -random option = shuffle each time series independently

04 Oct 2017, P Taylor, @GradFlipTest, level 2 (MINOR), type 5 (MODIFY)
    Change the output directory naming/choosing options.

    Do more with just '-prefix ...', in standard AFNI fashion.

----------------------------------------------------------------------

03 Oct 2017, RW Cox, afni GUI, level 1 (MICRO), type 6 (ENHANCE)
    Add bot/top selection to pbar in THREE mode

----------------------------------------------------------------------

29 Sep 2017, P Taylor, @chauffeur_afni, level 2 (MINOR), type 5 (MODIFY)
    Now has help with list of options.

    Should be useful for users during processing.

----------------------------------------------------------------------

27 Sep 2017, RW Cox, 3dXClustSim, level 1 (MICRO), type 4 (BUG_FIX)
    Ooops: modify to have different min thresholds for each FPR goal

----------------------------------------------------------------------

26 Sep 2017, RW Cox, 3dttest++, level 2 (MINOR), type 6 (ENHANCE)
    Make -zskip work nicely with -resid

----------------------------------------------------------------------

22 Sep 2017, P Taylor, fat_proc_map_to_dti, level 2 (MINOR), type 4 (BUG_FIX)
    On Macs, when not all types of 'follower' sets were used, this gave err.

    Have changed internal behavior to avoid this 'Mac'errorizing.

----------------------------------------------------------------------

21 Sep 2017, RW Cox, 3dXClustSim, level 1 (MICRO), type 2 (NEW_OPT)
    Allow user to set -minclust (instead of fixed at 5)

----------------------------------------------------------------------

20 Sep 2017, RC Reynolds, 3dAutoTcorrelate, level 1 (MICRO), type 6 (ENHANCE)
    add help example

20 Sep 2017, P Taylor, 1dDW_Grad_o_Mat++, level 2 (MINOR), type 2 (NEW_OPT)
    New opt to push through tiny, negative diagonal elements in bmatrices.

    Useful-- but use this option cautiously, and look at your data...

20 Sep 2017, P Taylor, @GradFlipTest, level 1 (MICRO), type 5 (MODIFY)
    Change way text is dumped to screen.

    Should prevent any need for user keypress if terminal is small.

----------------------------------------------------------------------

19 Sep 2017, RW Cox, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    add -line option for drawing arbitrary line segments

19 Sep 2017, P Taylor, 3dLombScargle, level 2 (MINOR), type 4 (BUG_FIX)
    delF calculated correctly now.

    Had been at N-1 instead of N.  Better Parsevalling now.

----------------------------------------------------------------------

15 Sep 2017, RW Cox, 1dplot, level 2 (MINOR), type 6 (ENHANCE)
    Allow -xaxis to have bot > top, so x decreases from left to right

----------------------------------------------------------------------

14 Sep 2017, P Taylor, 3dLombScargle, level 3 (MAJOR), type 4 (BUG_FIX)
    Finally revisiting this-- fixed up lots of things.

    Good to go for basic functionality now.

----------------------------------------------------------------------

12 Sep 2017, RW Cox, sorting functions, level 1 (MICRO), type 5 (MODIFY)
    Increase stack size in qsort funcs, for very large arrays

12 Sep 2017, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -multi_timing_3col_tsv and -write_multi_timing

    Also, add -multi_show_duration_stats for married timing files.
    This is to process 3 column TSV (tab separated value) formatted timing
    files, as might be found in the OpenFMRI data.

12 Sep 2017, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    modify main examples to use the lpc+ZZ cost function

----------------------------------------------------------------------

11 Sep 2017, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    if no regress block, omit gen_ss_review_scripts.py

11 Sep 2017, P Taylor, plugout_drive, level 1 (MICRO), type 0 (GENERAL)
    Change level: actually nano.  Fixed Example 1 (missing apostrophe).

    It's the little things in life, though, sometimes.

----------------------------------------------------------------------

06 Sep 2017, RC Reynolds, plug_realtime, level 2 (MINOR), type 5 (MODIFY)
    allow user control of registration and plots with multi-chan/echo data

    This previously required channel merging or registering.
    For W Luh.

06 Sep 2017, RC Reynolds, Dimon, level 2 (MINOR), type 4 (BUG_FIX)
    re-apply cleaner xim use, so end of run signal has full image size

    Short end of run was hanging afni, but was not noticed since the
    communication was immediately terminated.  Fixes multi-run use.

06 Sep 2017, P Taylor, fat_proc_dwi_to_dt, level 2 (MINOR), type 5 (MODIFY)
    Output a couple more types of QC images by default.

    Output b0 ulay with anat-edge olay;  also, some uncert images.

06 Sep 2017, P Taylor, @chauffeur_afni, level 2 (MINOR), type 5 (MODIFY)
    Now gets output path as part of '-prefix' as opposed to sep '-outdir'.

    Now in line with most of AFNI funcs.

06 Sep 2017, P Taylor, fat_proc_dwi_to_dt, level 1 (MICRO), type 5 (MODIFY)
    Quick change: keep FOV same for b0 ulay comparison with anat-edge.

    Minor adjustment for keeping FOV consistent.

----------------------------------------------------------------------

30 Aug 2017, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -fsl_timing_files and -write_as_married

    This is for converting FSL timing files to AFNI format.

30 Aug 2017, RC Reynolds, model_conv_PRF, level 1 (MICRO), type 4 (BUG_FIX)
    determine NT restriction based on reorg

    Was limited to NT.  Applies to PRF, PRF_6, PRF_DOG
    Thanks to E Silson for noting the problem.

----------------------------------------------------------------------

24 Aug 2017, P Taylor, @GradFlipTest, level 2 (MINOR), type 5 (MODIFY)
    The file storing the flip recommendation will *overwrite* a previous one.

    Previous version of this would *append to*, which seems pointless.

----------------------------------------------------------------------

23 Aug 2017, RW Cox, 3dttest++, level 2 (MINOR), type 6 (ENHANCE)
    All 'fpr=ALL' in -ETAC_opt

    To let user get results for FPR goals from 2-9 percent.

----------------------------------------------------------------------

22 Aug 2017, RW Cox, 3dttest++, level 1 (MICRO), type 6 (ENHANCE)
    Small changes in running ETAC

    1) Option -ETAC_mem prints out ETAC memory usage (and stops) to help
    user setup
    2) If usage is high, runs 3dXClustSim with -unmap option to unmap/remap
    datasets to economize memory usage

22 Aug 2017, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -apply_end_times_as_durations and -show_duration_stats

    For B Benson and P Vidal-Ribas.

----------------------------------------------------------------------

18 Aug 2017, RC Reynolds, 3dTto1D, level 1 (MICRO), type 5 (MODIFY)
    modify help

----------------------------------------------------------------------

17 Aug 2017, RC Reynolds, 3dcalc, level 1 (MICRO), type 5 (MODIFY)
    fix typos in help for minabove, maxbelow, acfwxm

    Thanks to A Wong for noting the minabove and maxbelow typos.

17 Aug 2017, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Some new labelling, etc. optioning.

    Make some new labels, locationing based on XYZ and more.

----------------------------------------------------------------------

16 Aug 2017, P Taylor, afni, level 1 (MICRO), type 2 (NEW_OPT)
    Added color map (applies to both afni and suma): Reds_and_Blues_Inv

    So, new color opt readily available.

----------------------------------------------------------------------

15 Aug 2017, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    test 3dClustSim as well, to check for OpenMP library linking

----------------------------------------------------------------------

11 Aug 2017, P Taylor, fat_proc_map_to_dti, level 2 (MINOR), type 5 (MODIFY)
    Make range associated with ROI map images =256 for all.

    This provides better consistency in coloration with ROI_i256 cbar.

11 Aug 2017, P Taylor, fat_proc_align_anat_pair, level 2 (MINOR), type 5 (MODIFY)
    Change a '>>' to '>' for wider compatibility.

    Yup.

----------------------------------------------------------------------

08 Aug 2017, P Taylor, fat_proc_map_to_dti, level 2 (MINOR), type 2 (NEW_OPT)
    Can have surfaces, niml.dsets and spec files move along with vols.

    Added capability to mapping volume dsets.

08 Aug 2017, P Taylor, @suma_reprefixize_spec, level 2 (MINOR), type 1 (NEW_PROG)
    Helper function to copy a spec file whilst renaming files inside.

    Useful when copying a lot of *.gii or other surface files.

08 Aug 2017, P Taylor, 3dTrackID, level 1 (MICRO), type 4 (BUG_FIX)
    More specific glob for 3D vol files *only*; had gotten 1D text in list.

    Getting 1D text files would throw error.  More specific search now.

----------------------------------------------------------------------

04 Aug 2017, RW Cox, 3dttest++, level 2 (MINOR), type 4 (BUG_FIX)
    -ETAC failed without multiple blur cases

    Addition of -ETAC_blur broke the non-blur runs, due to lack of the
    correct 'label' for dealing with the results from 3dXClustSim.
    Obviously, this was the work of saboteurs.

----------------------------------------------------------------------

02 Aug 2017, RW Cox, 3dBrainSync, level 3 (MAJOR), type 1 (NEW_PROG)
    BrainSync algorithm of Joshi, from OHBM 2017

    Also, my own permutation method (to avoid linear combination of
    disparate time points).

----------------------------------------------------------------------

01 Aug 2017, P Taylor, fat_proc_dwi_to_dt, level 2 (MINOR), type 5 (MODIFY)
    Turn on reweighting and cumulative weight calc in 3dDWItoDT part.

    More useful fitting+output, hopefully.

01 Aug 2017, P Taylor, 3dDWItoDT, level 2 (MINOR), type 5 (MODIFY)
    Have the '-cumulative_wts' output also get dumped into a 1D file.

    Figured it was nice to not *only* have info in the terminal.

----------------------------------------------------------------------

31 Jul 2017, P Taylor, @GradFlipTest, level 1 (MICRO), type 5 (MODIFY)
    Echo the recommendations into a text file, as well.

    More useful/less lossy if scripting. New '-wdir *' opt, too.

----------------------------------------------------------------------

27 Jul 2017, RC Reynolds, 3dNwarpApply, level 1 (MICRO), type 4 (BUG_FIX)
    fix memory alloc for warp file names

    Thanks to L Lebois (and others on MB) for noting the problem.

----------------------------------------------------------------------

25 Jul 2017, RW Cox, 3dttest++, level 1 (MICRO), type 6 (ENHANCE)
    Extend '5percent' outputs to cover 1-9 percent range.

    Just for fun fun fun in the sun sun sun.  Also, the whole replicability
    thing that's going down these days.

----------------------------------------------------------------------

24 Jul 2017, RC Reynolds, nifti_tool, level 2 (MINOR), type 5 (MODIFY)
    treat ANALYZE more as NIFTI-1; apply more PRId64 macros for I/O

----------------------------------------------------------------------

21 Jul 2017, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    relative -bindir test needs quotes to block eval

----------------------------------------------------------------------

20 Jul 2017, RW Cox, 3dFWHMx, level 3 (MAJOR), type 2 (NEW_OPT)
    Require -ShowMeClassicFWHM to get the Forman FWHM estimates

    Otherwise, these results are shown only as zeros.  The intention is to
    make it harder to use an archaic model for the noise spatial
    correlation.  But not to break afni_proc.py, which expects 4 values to
    be output there.

----------------------------------------------------------------------

19 Jul 2017, RC Reynolds, 3dTto1D, level 3 (MAJOR), type 1 (NEW_PROG)
    time series to 1D : e.g. compute enorm, DVARS(RMS), SRMS

    Given time series data such as EPI or motion parameters, compute
    things like Euclidean norm and RMS (a.k.a. DVARS).

19 Jul 2017, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    adjust looking for good stim times to handle global timing

    Max time was previously that of the longest run.  For global timing,
    accumulate across runs.
    Thanks to B Callaghan, Michael, ace327 and Jeff for noting the problem.

----------------------------------------------------------------------

13 Jul 2017, RW Cox, 3dclust, level 2 (MINOR), type 2 (NEW_OPT)
    Add '-NNx' options to specify clustering method

    -NN1 or -NN2 or -NN3
    These can replace the use of 'rmm' and 'vmul', and are meant
    to make using this program simpler and more compatible with
    Clusterize in the AFNI GUI.

----------------------------------------------------------------------

12 Jul 2017, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 5 (MODIFY)
    ignore /opt/X11/lib/libXt.dylib check

    Undo Xt.7 and /opt/X11/lib/libXt.6.dylib checks.

----------------------------------------------------------------------

11 Jul 2017, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 5 (MODIFY)
    check if /opt/X11/lib/libXt.dylib points to Xt.6

    This is useless, pulling it out.

11 Jul 2017, DR Glen, DriveSuma quiet variable, level 1 (MICRO), type 2 (NEW_OPT)
    SUMA_DriveSumaQuiet

    Make suma a little quieter with DriveSuma

----------------------------------------------------------------------

10 Jul 2017, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    if -bindir is relative, require -no_recur

----------------------------------------------------------------------

05 Jul 2017, RC Reynolds, 3dAllineate, level 1 (MICRO), type 5 (MODIFY)
    make quieter: only report sub-brick messages if verbose

    Applied to 3dAllineate and 3dmerge.

----------------------------------------------------------------------

03 Jul 2017, P Taylor, @chauffeur_afni, level 2 (MINOR), type 2 (NEW_OPT)
    Some new subbrick-setting optioning.

    For utilizing 'SET_SUBBRICKS i j k' functionality in driving afni.

----------------------------------------------------------------------

28 Jun 2017, RC Reynolds, afni-general, level 2 (MINOR), type 0 (GENERAL)
    add afni_src/other_builds files for Fedora 25 (Makefile, OS_notes)

----------------------------------------------------------------------

23 Jun 2017, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    unalias grep; update cur_afni only when not abin

----------------------------------------------------------------------

19 Jun 2017, RC Reynolds, Dimon, level 1 (MICRO), type 2 (NEW_OPT)
    add -assume_dicom_mosaic to handle Siemens 3D format

    Done for A. Jahn.

----------------------------------------------------------------------

16 Jun 2017, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    check for libXt.7.dylib without flat_namespace

16 Jun 2017, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    add Makefile.linux_centos_7_64

    CentOS 7 and Ubuntu 16 will be new distribution build systems.

----------------------------------------------------------------------

15 Jun 2017, RC Reynolds, uber_subject.py, level 1 (MICRO), type 4 (BUG_FIX)
    handle empty subj_dir

15 Jun 2017, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    add OS_notes.linux_centos_7.txt

15 Jun 2017, RC Reynolds, @SUMA_Make_Spec_FS, level 1 (MICRO), type 6 (ENHANCE)
    remove -f from top tcsh command; fix some bad tab indenting

----------------------------------------------------------------------

07 Jun 2017, P Taylor, @SUMA_renumber_FS, level 2 (MINOR), type 5 (MODIFY)
    Added two more FS 'undetermined' regions to the list, ROIs 29 and 61.

    One voxel of one was in one subject once. Joy. Now part of tiss__unkn.

----------------------------------------------------------------------

06 Jun 2017, P Taylor, 3dROIMaker, level 2 (MINOR), type 2 (NEW_OPT)
    New inflation opt:  '-skel_stop_strict'.

    Think this might be useful: don't expand at all *into* WM skel.

06 Jun 2017, P Taylor, @GradFlipTest, level 1 (MICRO), type 5 (MODIFY)
    Internal call to 3dAutomask for DWI file now talks abs value of DWI[0].

    Useful bc TORTOISE now outputs negative DWIs... .

06 Jun 2017, P Taylor, @GradFlipTest, level 1 (MICRO), type 0 (GENERAL)
    Change output summary dumped to screen: don't prepend './' on paths.

    Should have changed earlier with internal name changes... Easier now.

----------------------------------------------------------------------

05 Jun 2017, RC Reynolds, RetroTS.py, level 2 (MINOR), type 4 (BUG_FIX)
    peak_finder(): fix lengths of r['t'] and r['tR']

    Be more cautious with ratios that are very close to integers.

05 Jun 2017, RC Reynolds, RetroTS.py, level 2 (MINOR), type 4 (BUG_FIX)
    merge phase_base() fix by D Nielson

    range() is closed in matlab but half-open in python.

05 Jun 2017, P Taylor, 3dTrackID, level 1 (MICRO), type 0 (GENERAL)
    Allow longer path names input for some things.

    Paths to dti_in inputs can now be longer (300 chars).

----------------------------------------------------------------------

02 Jun 2017, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    add Makefile.linux_ubuntu_16_64 and OS_notes.linux_ubuntu_16_64

    This is for setting up an Ubuntu 16 build machine.

----------------------------------------------------------------------

30 May 2017, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 6 (ENHANCE)
    add volreg params to enorm/outlier plot

30 May 2017, RC Reynolds, SUMA_IsoSurface, level 1 (MICRO), type 0 (GENERAL)
    remove non-ASCII characters in paper reference; remove tabs

30 May 2017, P Taylor, 3dANOVA3, level 1 (MICRO), type 0 (GENERAL)
    Removed warning/info message for using type 4 or 5.

    Apparently made loooong ago, no longer needed according to GC.

----------------------------------------------------------------------

26 May 2017, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    add initial AFNI_digest_history.txt

26 May 2017, P Taylor, 3dReHo, level 2 (MINOR), type 4 (BUG_FIX)
    Correct checking for null time series now.

    Earlier, only looked at [0]th point; now sums across all.

26 May 2017, P Taylor, 3dNetCorr, level 2 (MINOR), type 4 (BUG_FIX)
    Correct checking for null time series now.

    Earlier, only looked at [0]th point; now sums across all.

----------------------------------------------------------------------

25 May 2017, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 6 (ENHANCE)
    can now apply -save_3dd_cmd and -make_3dd_contrasts in advanced case

    Advanced usage can generate 3dDeconvolve command scripts, with contrasts.

----------------------------------------------------------------------

23 May 2017, RC Reynolds, timing_tool.py, level 1 (MICRO), type 5 (MODIFY)
    only warn 'ISI error: stimuli overlap' if olap > 0.0001

    Overlap could come from float->ascii->float conversion.

23 May 2017, RC Reynolds, suma, level 1 (MICRO), type 0 (GENERAL)
    warn on NULL glwDrawingAreaWidgetClass

----------------------------------------------------------------------

20 May 2017, P Taylor, @chauffeur_afni, level 1 (MICRO), type 5 (MODIFY)
    Temporary files now have more unique names.

    Helps avoid confusion in parallel computations.

----------------------------------------------------------------------

17 May 2017, RW Cox, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    Make -ETAC and -Clustsim work together

    Makes it easier to test these two methods at the same time.

17 May 2017, RC Reynolds, RetroTS.py, level 1 (MICRO), type 4 (BUG_FIX)
    D Nielson's fix in PeakFinder.py dealing with non-integer subscripts

    Required by latest version of numpy.

----------------------------------------------------------------------

16 May 2017, RC Reynolds, meica.py, level 2 (MINOR), type 6 (ENHANCE)
    sync with https://bitbucket.org/prantikk/me-ica/src

    Update from version 2.5 beta9 to 2.5 beta11.

16 May 2017, RC Reynolds, meica.py, level 1 (MICRO), type 0 (GENERAL)
    cast floor/ceil functions to int when used as subscripts

    Required by latest version of numpy.

----------------------------------------------------------------------

12 May 2017, P Taylor, 3dDWItoDT, level 3 (MAJOR), type 2 (NEW_OPT)
    Added goodness-of-fit measures to '-debug_brik' output.

    Two chi-sqs from Papadakis et al. (2003); thx, J Ipser for idea.

----------------------------------------------------------------------

11 May 2017, P Taylor, 3dDTtoDWI, level 3 (MAJOR), type 4 (BUG_FIX)
    Fixed mismatch in multiplying DT and bmatrices.

    Element indices hadn't been sync'ed, now they are.

----------------------------------------------------------------------

10 May 2017, RC Reynolds, model_conv_PRF_DOG, level 2 (MINOR), type 1 (NEW_PROG)
    new model: same as PRF, but Difference of Gaussians

    For E Silson and C Baker.

----------------------------------------------------------------------

09 May 2017, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 2 (NEW_OPT)
    apply -offset for advanced case (remove from todo list)

09 May 2017, RC Reynolds, Dimon, level 1 (MICRO), type 4 (BUG_FIX)
    if to3d_prefix is NIFTI, clear write_as_nifti

    Thanks to A Nugent for noting the problem.

----------------------------------------------------------------------

04 May 2017, P Taylor, 3dReHo, level 2 (MINOR), type 2 (NEW_OPT)
    Allow box-y neighborhoods.

    User can input values for cubic/prism neighborhoods now.

04 May 2017, P Taylor, 3dDTtoDWI, level 2 (MINOR), type 2 (NEW_OPT)
    Added in '-scale_out_1000' option, to match 3dDWItoDT.

    This allows it to be used with scaled tensors from 3dDWItoDT.

----------------------------------------------------------------------

03 May 2017, RW Cox, Historical Records, level 2 (MINOR), type 6 (ENHANCE)
    Add the AFNI version to the History Note for new datasets

    So the user can see (via 3dinfo) exactly what version created a dataset.

03 May 2017, P Taylor, @chauffeur_afni, level 2 (MINOR), type 5 (MODIFY)
    The opacity in olays wasn't working with xvfb-run-- now it does.

    Pixel depth was not useful by default, I think.

----------------------------------------------------------------------

02 May 2017, RC Reynolds, GIFTI, level 2 (MINOR), type 4 (BUG_FIX)
    properly handle column major order

    Convert to row major order on read; can control with gifti_tool.
    Thanks to JH Lee for noting the problem.

02 May 2017, P Taylor, @GradFlipTest, level 1 (MICRO), type 5 (MODIFY)
    If 'outdir' doesn't exist yet, create it (don't just exit with error).

    Simplifies some other fat_proc scripting.

----------------------------------------------------------------------

01 May 2017, RC Reynolds, @diff.files, level 2 (MINOR), type 2 (NEW_OPT)
    add option -diff_prog, to use something besides xxdiff

----------------------------------------------------------------------

27 Apr 2017, P Taylor, 3dNetCorr, level 2 (MINOR), type 2 (NEW_OPT)
    With '-output_mask_nonnull', user can output mask of non-null ts.

    This was made to help those who need to finnd null time series here.

27 Apr 2017, P Taylor, 3dNetCorr, level 2 (MINOR), type 2 (NEW_OPT)
    With '-ts_wb_strlabel', can use ROI string labels in WB output filenames.

    This was made expressly for The Rajendra Who Shall Not Be Named.

27 Apr 2017, P Taylor, 3dNetCorr, level 2 (MINOR), type 5 (MODIFY)
    More watchfulness for null time series from badly masked dsets.

    Count and report null time series, and possibly fail if too many.

----------------------------------------------------------------------

26 Apr 2017, RW Cox, 3dXClustSim, level 1 (MICRO), type 4 (BUG_FIX)
    Bug in looping index in STEP 2 caused malloc() problems.  Oog

26 Apr 2017, RW Cox, 3dMultiThresh, level 1 (MICRO), type 2 (NEW_OPT)
    Add option to choose sign for 1-sided thresholding

----------------------------------------------------------------------

25 Apr 2017, RC Reynolds, GIFTI, level 2 (MINOR), type 5 (MODIFY)
    no COL_MAJOR changes for gifti_DA_rows_cols, write_*_file

    Also, init gifti_globs_t struct with verb=1.

25 Apr 2017, RC Reynolds, suma, level 1 (MICRO), type 5 (MODIFY)
    SUMA_input.c: 'r'ecord with oversample - use tcsh -c to delete files

    To be explicit about shell in system(), sending errors to /dev/null.

25 Apr 2017, RC Reynolds, dcm2niix_afni, level 1 (MICRO), type 6 (ENHANCE)
    added to source for build testing

25 Apr 2017, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix follower warps for gzipped NL-WARP datasets

    Thanks to C Connely for noting the problem.

----------------------------------------------------------------------

21 Apr 2017, RW Cox, 3dttest++, level 3 (MAJOR), type 6 (ENHANCE)
    Extensive modifications to ETAC

    Adding the ability to due multiple amounts of blurring.  Some changes to
    3dttest++ and 3dMultiThresh, big changes to 3dXClustSim.

----------------------------------------------------------------------

19 Apr 2017, DR Glen, 3dMean min, max options, level 2 (MINOR), type 2 (NEW_OPT)
    3dMean computes min and max voxelwise across datasets

    Options -min, -max give min and max values. This can be
    combined with -non-zero to restrict to non-zero min and max.

19 Apr 2017, DR Glen, 3dLocalstat has_mask, has_mask2 options, level 2 (MINOR), type 2 (NEW_OPT)
    3dLocalstat can report if neighborhood intersects specified values

    Options -has_mask and -has_mask2 allow flagging with unfillvalue

----------------------------------------------------------------------

17 Apr 2017, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 5 (MODIFY)
    clarify source in -show_censored_trs (if Xmat, use header info)

----------------------------------------------------------------------

12 Apr 2017, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    in suggest_best_prog_option(), do not search for -help, -h_* or similar

    A program without -help that tests it would otherwise lead to an
    infinitely recursive system call trying to use -help to suggest an option.

12 Apr 2017, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    remove some non-ASCII chars: a couple of bad dashes and some Unicode

    some of the Unicode characters are upsetting sed via apsearch

----------------------------------------------------------------------

11 Apr 2017, RC Reynolds, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    add GENERAL ANALYSIS NOTE; mentioned resting state scaling as optional

11 Apr 2017, RC Reynolds, @djunct_dwi_selector.bash, level 1 (MICRO), type 5 (MODIFY)
    if bad args, show usage and exit

    Else -help would open afni GUI and wait, hanging the build.

----------------------------------------------------------------------

10 Apr 2017, JK Rajendra, 3dTstat, level 2 (MINOR), type 0 (GENERAL)
    add -tsnr

    same as -cvarinvNOD

----------------------------------------------------------------------

05 Apr 2017, RC Reynolds, uber_subject.py, level 1 (MICRO), type 4 (BUG_FIX)
    apply subject dir again; allow -cvar subj_dir to override default

05 Apr 2017, RC Reynolds, 3dresample, level 1 (MICRO), type 5 (MODIFY)
    show -input as the typical usage, rather than -inset

05 Apr 2017, DR Glen, 3dVol2Surf nzoptions, level 2 (MINOR), type 2 (NEW_OPT)
    3dVol2Surf nonzero min, nonzero max, nonzero ave

    Options allowing for statistics that ignore zero values

----------------------------------------------------------------------

03 Apr 2017, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    remove -f from @AddEdge, @DO.examples, @DriveAfni and @DriveSuma

    Since OS X is neglecting to pass DYLD variables to child shells,
    we need to rely on the rc files to reset them when driving GUIs.

----------------------------------------------------------------------

30 Mar 2017, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    allow subj_dir to affect the GUI (so no subject_results)

    Also, apply user command-line variables align_opts_aea and tlrc_opts_at
    (still not part of the GUI).  Requested by J Rajendra.

30 Mar 2017, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    run 3dclust -DAFNI_ORIENT=RAI to match SET_DICOM_XYZ coordinate order

    Suggested by J Rajendra.

30 Mar 2017, P Taylor, lib_fat_funcs.py, level 1 (MICRO), type 4 (BUG_FIX)
    An error message in func called by fat_mvm_scripter.py was wrong.

    Fixed an indexing mistake which gave wrong ROI list-- thanks, E. Grodin!

30 Mar 2017, DR Glen, 3dLocalstat, level 2 (MINOR), type 2 (NEW_OPT)
    simple statistics of filled or unfilled

    These options provide binary tests for whether the neighborhood shape
    entirely fits within a mask or dataset around each voxel
    A value can be specified for a fill and unfill value

----------------------------------------------------------------------

29 Mar 2017, P Taylor, @chauffeur_afni, level 1 (MICRO), type 5 (MODIFY)
    Change how xvfb is used to run in virtual environment.

    This should improve usage on biowulf-- thanks much, D. Godlove!

29 Mar 2017, JK Rajendra, prompt_popup, level 2 (MINOR), type 1 (NEW_PROG)
    add new program prompt_popup

    Similar to prompt_user, but adds label customization and up to 3 buttons

----------------------------------------------------------------------

27 Mar 2017, RW Cox, afni GUI, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_LEFT_IS_POSTERIOR

    To show posterior of brain on the left (instead of right) in sagittal
    image and graph viewers. A complement to AFNI_LEFT_IS_LEFT.

27 Mar 2017, RC Reynolds, MapIcosahedron, level 2 (MINOR), type 2 (NEW_OPT)
    add -write_dist, for writing a distortion vector dataset

    After running something like:
       MapIcosahedron ... -write_dist test.dist
    to create test.dist.lh.sphere.reg.gii.txt, get summaries with:
       1d_tool.py -collapse_cols euclidean_norm -show_mmms \
                  -infile test.dist.lh.sphere.reg.gii.txt

27 Mar 2017, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    NL warps of all-1 volume now uses -interp cubic for speed

    This applies only to interpolation of the warps via 3dNwarpApply.
    Also, use abs() in lists_are_same for -import_mask.

27 Mar 2017, RC Reynolds, @SUMA_Make_Spec_FS, level 1 (MICRO), type 0 (GENERAL)
    add comment about distortions for -NIFTI

27 Mar 2017, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    rm of temporary files could delete all files in current directory

    rm deletes all files that have tabs/spaces inserted in dataset names
    The tab  or space character can be somewhat invisible if after
    line continuation character in input script. Fix removes whitespace
    before deleting

----------------------------------------------------------------------

21 Mar 2017, RW Cox, AFNI GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Improper fading of overlay plots in Montage

    function scale_memplot() was scaling the opacity factor as well as the
    xy coordinates - D'oh!

21 Mar 2017, RC Reynolds, MapIcosahedron, level 2 (MINOR), type 4 (BUG_FIX)
    fix projection of surfaces with non-zero centers

    Center each surface around 0,0,0 instead of leaving the offset in.
    
    Many thanks go to I Dewitt for even noticing this subtle issue,
    much less diagnosing where it might be coming from.  Not easy.

21 Mar 2017, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    allow for volreg-only script with MIN_OUTLIER

21 Mar 2017, RC Reynolds, @SUMA_Make_Spec_FS, level 1 (MICRO), type 6 (ENHANCE)
    add -verb to MapIcosahedron if script is in verbose mode

21 Mar 2017, RC Reynolds, @FS_roi_label, level 1 (MICRO), type 4 (BUG_FIX)
    extra quote on line: choose one of $lbls

----------------------------------------------------------------------

20 Mar 2017, P Taylor, @SUMA_renumber_FS, level 1 (MICRO), type 5 (MODIFY)
    Changed an ls -> find, to search for either *.nii or *.nii.gz better.

    Necessary in case of problematic users (you know who you are!).

----------------------------------------------------------------------

16 Mar 2017, RW Cox, 3dttest++, level 2 (MINOR), type 6 (ENHANCE)
    -Clustsim option now also output 5 percent points for global z-stat

    Takes the global min/max of the randomized z-stat results for each
    iteration (10000) and then computes the 5 percent points for the
    1-sided and 2-sided cases.  Is this useful?  Maybe for somebody.

16 Mar 2017, RC Reynolds, RetroTS.py, level 1 (MICRO), type 5 (MODIFY)
    change peak_finder() to read data as floats

----------------------------------------------------------------------

13 Mar 2017, RW Cox, mri_lsqfit, level 1 (MICRO), type 0 (GENERAL)
    explicitly check for all zero input ref vectors

----------------------------------------------------------------------

09 Mar 2017, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    from D Warren: put exception handling around os.chmod calls

----------------------------------------------------------------------

07 Mar 2017, RC Reynolds, RetroTS.py, level 2 (MINOR), type 4 (BUG_FIX)
    from J Zosky: default to using numpy.flipud()

    The flipud() function did not work in the original Matlab version,
    but it does in numpy.  Use the new -legacy_transform opt for old
    (and presumably incorrect) results.

----------------------------------------------------------------------

06 Mar 2017, RC Reynolds, RetroTS.py, level 1 (MICRO), type 5 (MODIFY)
    change -p and -v args to be read as floats; apply min(p/n_trace)

06 Mar 2017, RC Reynolds, AFNI.afnirc, level 1 (MICRO), type 4 (BUG_FIX)
    AFNI_COMPRESSOR can be set to GZIP, not gzip

----------------------------------------------------------------------

03 Mar 2017, RC Reynolds, plug_realtime, level 2 (MINOR), type 2 (NEW_OPT)
    add optimally combined 'Opt Comb' merge method

    Done with V Roopchansingh.

----------------------------------------------------------------------

01 Mar 2017, RW Cox, 3dUnifize, level 3 (MAJOR), type 2 (NEW_OPT)
    Add -EPI option, to unifize time series datasets.

----------------------------------------------------------------------

28 Feb 2017, RW Cox, 3dExtractGroupInCorr, level 1 (MICRO), type 1 (NEW_PROG)
    Program to reconstruct individual dataset from a .niml/.data pair.

    This program is for any unfortunate person who has lost the datasets
    that were used to create the 3dGroupInCorr inputs.  It is not really
    'NEW', since it has been around for my personal use for a while, but now
    it is being included in the AFNI distribution for the masses to enjoy.

28 Feb 2017, RW Cox, 3dEmpty, level 1 (MICRO), type 2 (NEW_OPT)
    Add -geom option = define dataset by a 'MATRIX(...)' string

----------------------------------------------------------------------

27 Feb 2017, RW Cox, afni GUI, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_IMAGE_LABEL_IJK

    If this variable is set to YES, then the image label overlay (chosen
    from the intensity bar popup menu) will show the slice index instead of
    the slice coordinate. (for PT)

----------------------------------------------------------------------

24 Feb 2017, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Turn off crosshairs and left-is-left if all inputs are image files.

    Also, hide the help for 'afni -im' since AFNI can now read images
    directly as 'datasets'.

----------------------------------------------------------------------

22 Feb 2017, RW Cox, AFNI gui, level 1 (MICRO), type 5 (MODIFY)
    Add VG painting effect to AFNI image viewer

    Just for fun, please!

----------------------------------------------------------------------

20 Feb 2017, RW Cox, 3dDespike, level 2 (MINOR), type 4 (BUG_FIX)
    Scale factor bug

    The program ignored the scale factors attached to short datasets.
    If they were all the same, that was not a problem.
    But if they differed, then that was a big problem.
    That was fixed.  Also, the output now is always in float format.

----------------------------------------------------------------------

13 Feb 2017, RW Cox, 3dSharpen, level 1 (MICRO), type 1 (NEW_PROG)
    Sharpening filter in 3D

----------------------------------------------------------------------

09 Feb 2017, RW Cox, thresholding, level 2 (MINOR), type 3 (NEW_ENV)
    Fix inconsistency in thresholding with short-valued bricks

    In the AFNI GUI, thresholding is done with floats.
    But in 3dmerge and in Clusterize, if the thresh brick is a short,
    thresholding was done with shorts.  And the user-supplied threshold was
    ROUNDED -- so that a threshold of 2.2 would become 2, which means that a
    value of 2 was OK -- which it shouldn't be.  Solution: change those
    places to threshold with floats. However, if someone wants to keep the
    old way for compatibility, then they can set AFNI_OLD_SHORT_THRESH to
    YES.

09 Feb 2017, P Taylor, @GradFlipTest, level 1 (MICRO), type 4 (BUG_FIX)
    Some IF conditions gave problems; some option names were inconvenient.

    They are now ex-parrots.

----------------------------------------------------------------------

06 Feb 2017, P Taylor, @chauffeur_afni, level 2 (MINOR), type 5 (MODIFY)
    Should deal with subbrick selection now.

    Works for ulay and olay sets in usual AFNI way.

----------------------------------------------------------------------

03 Feb 2017, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 2 (NEW_OPT)
    decay timing class now follows better distribution; new decay_old class

----------------------------------------------------------------------

02 Feb 2017, RC Reynolds, steps_mac.rst, level 2 (MINOR), type 5 (MODIFY)
    rewrite OS X install instructions to use 10.7_local and fink

02 Feb 2017, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    default mac package is now macosx_10.7_local

----------------------------------------------------------------------

01 Feb 2017, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    updates for fink and homebrew

----------------------------------------------------------------------

31 Jan 2017, RW Cox, minimize_in_1D func, level 1 (MICRO), type 0 (GENERAL)
    Modify to be more robust (I hope).

    Used in solving for inverse to mixed model ACF (e.g., to get FWHM).

31 Jan 2017, P Taylor, @SUMA_renumber_FS, level 2 (MINOR), type 5 (MODIFY)
    Update region list to work with new FS 6.0 that came out a week ago.

    Regions #3 and #42 (in FS file output) appear now; ~'leftover' GM.

----------------------------------------------------------------------

30 Jan 2017, RW Cox, ccalc etc, level 1 (MICRO), type 6 (ENHANCE)
    Add acfwxm function to parser programs

    To compute the Full Width at X Maximum for the mixed ACF model, for
    input parameters a,b,c at level x (0 < x < 1) = acfwxm(a,b,c,x)

----------------------------------------------------------------------

27 Jan 2017, RC Reynolds, CA_EZ_atlas.csh, level 1 (MICRO), type 5 (MODIFY)
    with -help, do not dump TT_N27 in current directory

    Have script fail if any arguments are given (e.g. -help).
    Fix in all bin dirs and under atlases.

27 Jan 2017, P Taylor, @GradFlipTest, level 3 (MAJOR), type 5 (MODIFY)
    Totally revamped-- have real options, better funcs, output text file.

    Meshes with other changes in 1dDW_Grad* and 3dDWItoDT.

27 Jan 2017, P Taylor, 3dDWItoDT, level 1 (MICRO), type 2 (NEW_OPT)
    Minuscule new option, '-bmatrix_FULL' to have clearer usage.

    Just copies functionality of cryptic '-bmatrix_Z'.

----------------------------------------------------------------------

26 Jan 2017, RC Reynolds, Makefile.macosx_10.7_local, level 2 (MINOR), type 2 (NEW_OPT)
    this is a new Makefile to prep for exec directory dynamic linking

26 Jan 2017, P Taylor, @chauffeur_afni, level 2 (MINOR), type 1 (NEW_PROG)
    Simplish function for driving AFNI to make images/montages.

    Based on @snapshot_volreg; mainly intended for my selfish use.

26 Jan 2017, P Taylor, 1dDW_Grad_o_Mat++, level 2 (MINOR), type 1 (NEW_PROG)
    New program for changing/reformatting grads and things.

    Better defaults and simpler than original 1dDW_Grad_o_Mat++.

----------------------------------------------------------------------

25 Jan 2017, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    in 10.11+, check for DYLD variables via sub-shells

----------------------------------------------------------------------

24 Jan 2017, RC Reynolds, align_epi_anat.py, level 1 (MICRO), type 6 (ENHANCE)
    trap failure from main 3dAllineate call

----------------------------------------------------------------------

23 Jan 2017, RW Cox, 3dAllineate, level 1 (MICRO), type 5 (MODIFY)
    for ls, lpc, lpa: use -autoweight by default unless user changes it

    The default weighting scheme was -autobox for all schemes.  For ls, lpc,
    lpa, the default is not -autoweight -- if the user changes the weight,
    this won't be enforced.

23 Jan 2017, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 4 (BUG_FIX)
    allow automatic use of the INSTANT timing class

----------------------------------------------------------------------

20 Jan 2017, RC Reynolds, make_random_timing.py, level 3 (MAJOR), type 6 (ENHANCE)
    advanced usage, program version 2.00

    Essentially a new program.  The user may now define timing classes for
    stimulus and rest event types.
       see: make_random_timing.py -help_advanced
    Motivated by K Kircanski and A Stringaris.

----------------------------------------------------------------------

19 Jan 2017, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Give warning when -lpa or -lpc is used without -autoweight

    At beginning and at end. Thanks to PT.

19 Jan 2017, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 6 (ENHANCE)
    advanced version 2 mostly ready

    Have -max_consec and -ordered_stimuli implemented in new version.

19 Jan 2017, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix for -final_anat

    Thanks to N Anderson for noting the problem.

----------------------------------------------------------------------

18 Jan 2017, RW Cox, 3dmerge, level 1 (MICRO), type 2 (NEW_OPT)
    option -nozero will prevent output of an all zero dataset

18 Jan 2017, RC Reynolds, 3dmask_tool, level 1 (MICRO), type 5 (MODIFY)
    change example 3 to be with EPI masks

----------------------------------------------------------------------

12 Jan 2017, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    First view of OLay: set sub-bricks to reasonable values

    Where 'reasonable' is in the eye of RWCox.

12 Jan 2017, RW Cox, @snapshot_volreg, level 1 (MICRO), type 5 (MODIFY)
    Crop the volume before snapshot-ing

    Cropping helps remove lots of blank space in the output.
    Also, compute the slice spacing in the montages adaptively from
    the dataset dimensions.

12 Jan 2017, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 5 (MODIFY)
    for 10.11+, make flat warning and summary comment consistent

----------------------------------------------------------------------

11 Jan 2017, RW Cox, @snapshot_volreg, level 1 (MICRO), type 5 (MODIFY)
    @snapshot_volreg has been replaced by the former @snapshot_volreg3

    Also, replaced the use of the 'pam' functions with similar 'pnm'
    functions, to help in portability to demented Linux systems.

11 Jan 2017, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 2 (NEW_OPT)
    added some help: -help_advanced, -help_todo

----------------------------------------------------------------------

10 Jan 2017, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Change x,y signs in 'Go to atlas location' menu for SPM coords

    Per the request of Todd Braver

----------------------------------------------------------------------

05 Jan 2017, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    NIFTI output and output directories not always handled correctly or completely

----------------------------------------------------------------------

03 Jan 2017, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 6 (ENHANCE)
    merged mrt branch into master - prep for advanced timing

----------------------------------------------------------------------

30 Dec 2016, RW Cox, 3dttest++, level 1 (MICRO), type 2 (NEW_OPT)
    Add -ACF option -- to compute ACF parameters from residuals

30 Dec 2016, P Taylor, @SUMA_renumber_FS, level 2 (MINOR), type 1 (NEW_PROG)
    New program for renumbering FS output after @SUMA_Make_Spec_FS.

    Also conglomerates things into tissue maps.

30 Dec 2016, P Taylor, @SUMA_Make_Spec_FS, level 2 (MINOR), type 5 (MODIFY)
    Output new data sets of renumb'd values, more consistent than 'rank' ones.

    Also output more tissue segmentation maps based on ROIs.

----------------------------------------------------------------------

29 Dec 2016, RW Cox, @SSwarper, level 2 (MINOR), type 1 (NEW_PROG)
    New script to combine skull stripping and nonlinear warping

    Uses partial warping to improve skull stripping, and then finishes the
    warping, producing outputs compatible for use with afni_proc.py
    -tlrc_NL_warped_dsets

29 Dec 2016, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    remove case 16 (brainstem) from aparc+aseg.nii WM extraction in help

    Thanks to P Taylor for noting this.

----------------------------------------------------------------------

26 Dec 2016, P Taylor, thd_center, level 2 (MINOR), type 2 (NEW_OPT)
    Extra argument in THD_cmass() and THD_roi_cmass().

    Allows for local ijk coordinate output; updated other calling functions.

----------------------------------------------------------------------

23 Dec 2016, P Taylor, 3dCM, level 2 (MINOR), type 2 (NEW_OPT)
    Allow ijk coordinate output.

    Will be in local orientation.  Makes undumping after easier.

----------------------------------------------------------------------

21 Dec 2016, RW Cox, 3dQwarp, level 2 (MINOR), type 2 (NEW_OPT)
    Add '-wmask' option

    Like '-wball', enhances the auto-generated weight in a region, but this
    region is selected by a mask dataset.

21 Dec 2016, RW Cox, 3dQwarp, level 1 (MICRO), type 0 (GENERAL)
    Add -awarp option, to save Allineate-to-Nonlinear warp only

    If -allineate is used, the output WARP dataset is the catenated affine
    transform from 3dAllineate and the nonlinear warp from Warpomatic.  If
    the user wants to keep the 'pure' nonlinear warp from Warpomatic, then
    '-awarp' will do so, with a dataset containing the AWARP moniker.

----------------------------------------------------------------------

20 Dec 2016, RW Cox, AFNI GUI, level 1 (MICRO), type 6 (ENHANCE)
    Allow blowups for saved montage images

    For @snapshot_volreg3 script, but of course anyone can use it now.

20 Dec 2016, RW Cox, 3dUnifize, level 1 (MICRO), type 5 (MODIFY)
    Tweak to make sure tiny values aren't amplified much by -GM

    Tiny positive values way outside the brain could get super-amplified by
    the -GM switch, producing a 3D halo.  This fix clips those off.

20 Dec 2016, P Taylor, fat_mvm_prep.py, level 1 (MICRO), type 2 (NEW_OPT)
    New --unionize_rois option: affects GRID element selection.

    Now can select union of matrix elements across group for MVM_tbl.

----------------------------------------------------------------------

15 Dec 2016, RC Reynolds, column_cat, level 1 (MICRO), type 6 (ENHANCE)
    allow for reading from stdin via either '-' or 'stdin'

----------------------------------------------------------------------

09 Dec 2016, RC Reynolds, 3dTsplit4D, level 1 (MICRO), type 6 (ENHANCE)
    allow for direct writing to NIFTI via prefix, e.g. result.nii

----------------------------------------------------------------------

08 Dec 2016, RC Reynolds, 3dTsplit4D, level 2 (MINOR), type 2 (NEW_OPT)
    add -digits and -keep_datum; other minor updates

08 Dec 2016, RC Reynolds, 3dTsplit4D, level 2 (MINOR), type 1 (NEW_PROG)
    program to break 4D dataset into a set of 3D ones

    Authored by P Molfese.

08 Dec 2016, RC Reynolds, plug_vol2surf, level 1 (MICRO), type 6 (ENHANCE)
    add -cmask option to correspond with any auto non-zero mask

----------------------------------------------------------------------

07 Dec 2016, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    check for python2 and python3

----------------------------------------------------------------------

05 Dec 2016, RC Reynolds, timing_tool.py, level 1 (MICRO), type 5 (MODIFY)
    allow *:1 (or *ANYTHING) to mean no event

    This is in case someone also marries empty run events.
    Done for R Kampe.

----------------------------------------------------------------------

30 Nov 2016, RC Reynolds, afni-general, level 3 (MAJOR), type 6 (ENHANCE)
    <> range selector can now take a comma-delimited list of integers

    So for a dataset with integer values from 0 to 8, these commands
    should produce identical results:
       3dcalc -a DSET+tlrc -expr 'a*amongst(a,3,4,5)' -prefix JELLO
       3dbucket 'DSET+tlrc<4,3,5>'                    -prefix JELLO
       3dbucket 'DSET+tlrc<3..5>'                     -prefix JELLO
       3dbucket 'DSET+tlrc<2.3..5.86>'                -prefix JELLO
    Of course, this will probably get further enhanced to a list of
    float ranges.  We shall see.
    Comma-delimited labels should work now, with a plan to add general
    labels that might define all GM or similar in a FreeSurfer dataset, say.

----------------------------------------------------------------------

23 Nov 2016, P Taylor, 3dTrackID, level 2 (MINOR), type 4 (BUG_FIX)
    Used to be able to have nans in sBL b/c of sqrt(neg-from-rounding).

    Now IF condition to prevent that.  Happy Thanksgiving.

23 Nov 2016, P Taylor, 3dNetCorr, level 2 (MINOR), type 4 (BUG_FIX)
    Z-score WB maps were all zeros-> now have values.

    Hopefully even the correct Z-values.

----------------------------------------------------------------------

18 Nov 2016, RW Cox, afni GUI, level 1 (MICRO), type 6 (ENHANCE)
    Add 'QUITT' command to the driver

    Exits AFNI immediately, rather than calling the usual leisurely rundown.
    For use in scripts, to save a little time.

18 Nov 2016, RC Reynolds, @Align_Centers, level 1 (MICRO), type 2 (NEW_OPT)
    add -prefix option, to name output

----------------------------------------------------------------------

17 Nov 2016, RW Cox, afni GUI, level 1 (MICRO), type 6 (ENHANCE)
    Four new colorscales

17 Nov 2016, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    add some checks for flat_namespace on OS X

17 Nov 2016, DR Glen, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Ask suma to send current surface name to SUMA_OUTPLUG file or stdout

----------------------------------------------------------------------

16 Nov 2016, P Taylor, 3dDWUncert, level 2 (MINOR), type 0 (GENERAL)
    Check for singular values, so don't get crashes from GSL calcs.

    These pretty much occur outside mask, but can also be inside mask.

16 Nov 2016, P Taylor, 1dDW_Grad_o_Mat, level 2 (MINOR), type 0 (GENERAL)
    Output b-values are now floats, not ints.

    Seems necessary, depending on what user has input.

16 Nov 2016, P Taylor, 1dDW_Grad_o_Mat, level 2 (MINOR), type 4 (BUG_FIX)
    The -out_bval_col_sep used did nothing (after last changes).

    Have returned it to functionality.

----------------------------------------------------------------------

09 Nov 2016, RC Reynolds, to3d, level 1 (MICRO), type 5 (MODIFY)
    and Dimon/Dimon1: siemens timing outside range is only a warning

09 Nov 2016, RC Reynolds, Dimon, level 1 (MICRO), type 2 (NEW_OPT)
    add -gert_chan_prefix

    Done for W Luh.

----------------------------------------------------------------------

08 Nov 2016, RC Reynolds, Dimon, level 2 (MINOR), type 4 (BUG_FIX)
    possibly invert slice order, as DICOM sorting might affect MRILIB_orients

    Thanks to W Luh for noting the problem.

----------------------------------------------------------------------

07 Nov 2016, RW Cox, 3dTfilter, level 2 (MINOR), type 1 (NEW_PROG)
    Platform for generic filtering of time series

    Right now, just for adaptive local mean filtering (generalized smoothing
    plus despiking).

----------------------------------------------------------------------

04 Nov 2016, RW Cox, afni InstaCorr, level 2 (MINOR), type 6 (ENHANCE)
    Two small changes

    (1) Extend the range of the bandpass to allow up to 10Hz (formerly only
    up to 1Hz).  10Hz = Nyquist frequency for TR=0.05s, which is pretty fast
    for MRI -- but doable for single slice imaging.
    (2) Add a #PC option, to compute principal components to use as global
    orts.

----------------------------------------------------------------------

03 Nov 2016, RW Cox, afni GUI, level 1 (MICRO), type 6 (ENHANCE)
    Experiment with logging duration of use (only for me for now)

03 Nov 2016, RW Cox, afni GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Single slice dataset InstaCorr failed

    Due to the 'roundtrip' index calculation giving a value outside the
    dataset.  This is now prevented.

----------------------------------------------------------------------

02 Nov 2016, RW Cox, 3dTproject, level 1 (MICRO), type 5 (MODIFY)
    Add warning message if DOF is less than 20

02 Nov 2016, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    handle 10.12 version string

----------------------------------------------------------------------

01 Nov 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add PPI preparation options

    Add -regress_skip_censor to omit 3dD -censor option.
    Add -write_ppi_3dD_scripts with corresponding options
        -regress_ppi_stim_files and -regress_ppi_stim_labels.
    These make PPI pre and post regression scripts, along with
        the main analysis script.
    Done for S Haller.

----------------------------------------------------------------------

24 Oct 2016, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    bandpass notes and reference; stronger warning on missing -tlrc_dset

    Thanks to P Taylor.

----------------------------------------------------------------------

20 Oct 2016, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Don't get 'vedit' volume for threshold slice when OLay==Thr brick

    When Clusterize is on, the steps are
    1) create a new overlay volume that is 'edited' -- set to zero where Thr
    is too small or cluster was too small -- this is on the OLay grid
    2) colorization fetches 2D slices from OLay and Thr sub-bricks for
    viewing, interpolated to the ULay grid, then processes them for display
    (threshold+coloring)
    But when OLay==Thr, and anything but NN interpolation is used at step 2,
    then the visible shape of the clusters can change due to the
    interpolation of the Thr slice after its volume was edited.  To avoid
    this, volume editing is now skipped when extracting the threshold slice
    in step 2.
    This artifact occurs because of the 'warp-on-demand' feature in AFNI,
    which allows the display of overlays whose grid does not match the
    underlay grid, combined with the nonlinear operations of thresholding
    and clusterizing.  Since DRG brought this to my attention, he has to
    bring the cookies to the next group meeting.

20 Oct 2016, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    check -mask_import for reasonable voxel dimensions

----------------------------------------------------------------------

13 Oct 2016, RW Cox, 3dttest++, level 2 (MINOR), type 4 (BUG_FIX)
    Fix -BminusA bug

    double sign reversal == no sign reversal == not good for anyone

----------------------------------------------------------------------

12 Oct 2016, RC Reynolds, RetroTS.py, level 3 (MAJOR), type 1 (NEW_PROG)
    distribute RetroTS.py (RetroTS.m converted to python)

    This should behave almost exactly as the MATLAB version.
    See 'RetroTS.py -help' for details.
    Much thanks to J Zosky for this contribution!

12 Oct 2016, P Taylor, 3dDWUncert, level 2 (MINOR), type 0 (GENERAL)
    Now output progress; also, only divvy up non-zeros to proc.

    Should be faster/better parallelized, also tell user about itself.

12 Oct 2016, P Taylor, 3dDWItoDT, level 2 (MINOR), type 0 (GENERAL)
    Now, automatically output RD if '-eigs' opt is used.

    And the users of 3dTrackID say, 'Yaaaay'. Or 'Wha'evah!'.

----------------------------------------------------------------------

11 Oct 2016, RC Reynolds, RetroTS.py, level 1 (MICRO), type 5 (MODIFY)
    make top-level executable, remove 'style' lib, quotes, use lib_RetroTS

11 Oct 2016, P Taylor, 3dDWUncert, level 3 (MAJOR), type 0 (GENERAL)
    Totally reprogrammed, mainly to use OpenMP and be fstr.

    Also should be more generalized if b0 != 0.

11 Oct 2016, P Taylor, map_TrackID, level 1 (MICRO), type 0 (GENERAL)
    Put integer variables in to not get lame warnings when building.

    Things like 'pppp = fscan();', etc... Purely aesthetic changes.

----------------------------------------------------------------------

09 Oct 2016, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT)
    new options -mask_import, -mask_intersect and -mask_union

    For J Stoddard and J Jarcho.

----------------------------------------------------------------------

05 Oct 2016, RC Reynolds, afni-general, level 3 (MAJOR), type 1 (NEW_PROG)
    update from C Craddock and dclark87

    New Programs: 3dLFCD, 3dDegreeCentrality, 3dECM, 3dMSE, 3dsvm_linpredict.

----------------------------------------------------------------------

30 Sep 2016, RW Cox, AFNI plugins, level 3 (MAJOR), type 0 (GENERAL)
    A long list of little-used plugins has been disabled.

    They can all be re-enabled by setting environment variable
    AFNI_ALLOW_ALL_PLUGINS to YES.
    Or each one can be individually re-enabled by setting environment
    variable AFNI_ALLOW_somename_PLUGIN to YES, where the list of such
    plugins can be found in file README.environment.

30 Sep 2016, RW Cox, AFNI GUI, level 1 (MICRO), type 6 (ENHANCE)
    Let user specify length of adaptive mean Tran 1D function

    Through environment variable AFNI_AdptMeanWidth

----------------------------------------------------------------------

29 Sep 2016, RW Cox, 3dDespike, level 2 (MINOR), type 2 (NEW_OPT)
    -NEW25 is a slightly more aggressive approach

    (a) uses 25 point running median instead of 9 for pre-filtering
    (b) sets cut2=3.2 (4 MADs) instead of 4.0 (5 MADs)

29 Sep 2016, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    New 1D transform = AdptMean19 = 19 point adaptive local mean

----------------------------------------------------------------------

28 Sep 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -regress_ROI[_PC]_per_run options, to make per-run regressors

    Also, used 3dTproject to detrend PC regressors for appropriate censoring.

----------------------------------------------------------------------

23 Sep 2016, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -select_runs option

----------------------------------------------------------------------

19 Sep 2016, RC Reynolds, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    add glob2stdout, for converting glob forms to lists in stdout

19 Sep 2016, RC Reynolds, @move.to.series.dirs, level 1 (MICRO), type 2 (NEW_OPT)
    add -glob, for processing glob forms via afni_util.py and xargs

----------------------------------------------------------------------

16 Sep 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -radial_correlate option, to run @radial_correlate in proc script

16 Sep 2016, RC Reynolds, realtime_receiver.py, level 1 (MICRO), type 5 (MODIFY)
    continue even if requested GUI fails

----------------------------------------------------------------------

14 Sep 2016, P Taylor, 3dDWItoDT, level 2 (MINOR), type 2 (NEW_OPT)
    Have a new '-bmax_ref ...' option: if bref has b>0.

    Won't have much effective change *yet*, but will later. Possibly.

----------------------------------------------------------------------

13 Sep 2016, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    add -blip_opts_qw to pass options to 3dQwarp in the blip block

13 Sep 2016, RC Reynolds, 3dANOVA3, level 1 (MICRO), type 5 (MODIFY)
    change 'illegal argument after' errors to something more specific

13 Sep 2016, P Taylor, 1dDW_Grad_o_Mat, level 2 (MINOR), type 2 (NEW_OPT)
    New opt -bref_mean_top to average over mean bref when b>0.

    Also, totally reprogrammed most of interior; had been too scraggly.

----------------------------------------------------------------------

31 Aug 2016, P Taylor, 3dSpaceTimeCorr, level 3 (MAJOR), type 4 (BUG_FIX)
    Fixed bug in yet-unreleased function... and also changed a feature.

    Bug: ts = all0 -> GSL badness on some comp; now, exclude seedvox in corr.

31 Aug 2016, P Taylor, 3dSpaceTimeCorr, level 3 (MAJOR), type 1 (NEW_PROG)
    New function for calculating spatial corr of temporal corr maps.

    Calc spatial corr of WB/mask connectivity maps; useful for RSFC?

----------------------------------------------------------------------

30 Aug 2016, RW Cox, 3dClustSimX, level 4 (SUPER), type 1 (NEW_PROG)
    Generalized cluster simulation

    Hopefully, the new way forward.  Not ready for general users yet, but
    getting there.

30 Aug 2016, RW Cox, 3dtoXdataset, level 2 (MINOR), type 1 (NEW_PROG)
    Convert 3D datasets to a list of in-mask shorts

    Purpose = compression for use in 3dClustSimX simulations.  The '.sdat'
    format is now directly write-able from 3dttest++, so this program is
    probably not generally useful.

----------------------------------------------------------------------

29 Aug 2016, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    add a few more DYLD_FALLBACK_LIBRARY_PATH tests

----------------------------------------------------------------------

25 Aug 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fix output.proc prefix in case -script has a path

    Also, allow -mask_apply group in the case of -tlrc_NL_warped_dsets.
    Thanks to C Capistrano and P Kim for noting the output.proc problem.
    Thanks to C Connolly for noting the mask problem.

25 Aug 2016, RC Reynolds, afni_util.py, level 1 (MICRO), type 6 (ENHANCE)
    add append flag to change_path_basename()

----------------------------------------------------------------------

23 Aug 2016, RC Reynolds, file_tool, level 2 (MINOR), type 2 (NEW_OPT)
    add -fix_rich_quotes; if fixing a script, convert rich quotes to ASCII

    Done for G Chen.

----------------------------------------------------------------------

22 Aug 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    save all '3dAllineate -allcostX' anat/EPI costs to out.allcostX.txt

    This is another quality control measure.

----------------------------------------------------------------------

19 Aug 2016, RC Reynolds, slow_surf_clustsim.py, level 2 (MINOR), type 6 (ENHANCE)
    can use surf_mask to restrict surface clustering

    Use '-uvar surf_mask' to restrict on_surface clustering to mask.
    Append SSCS command to end of script and handle NIFTI surf_vol.
    The surf_mask mas added for C Thomas.

19 Aug 2016, DR Glen, 3dLocalstat, level 2 (MINOR), type 4 (BUG_FIX)
    Neighborhoods miscalculated

----------------------------------------------------------------------

18 Aug 2016, P Taylor, 3dReHo, level 2 (MINOR), type 4 (BUG_FIX)
    Used to not allow subbrik selection on input.

    Now it does.  Thanks to Daniel H. for pointing it out.

----------------------------------------------------------------------

17 Aug 2016, DR Glen, align_epi_anat.py, level 1 (MICRO), type 4 (BUG_FIX)
    History not updated properly on output with NIFTI dset1/anat

----------------------------------------------------------------------

16 Aug 2016, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    look for new ACF/FWHM blur estimates

----------------------------------------------------------------------

15 Aug 2016, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 6 (ENHANCE)
    default clustsim method is now mixed model ACF

    This marks afni_proc.py version 5.00.
      o run 3dFWHMx with -ACF
      o ACF and ClustSim files go into sub-directories, files_ACF/ClustSim
      o -regress_run_clustsim now prefers arguments, ACF, FWHM, both, no
      o default clustsim method is now ACF (via -regress_run_clustsim yes)

----------------------------------------------------------------------

10 Aug 2016, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    in Makefile.INCLUDE, have afni depend first on libmri.a

----------------------------------------------------------------------

09 Aug 2016, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    If A controller pops up with a negative x or y, move it

    This is an attempt to overcome some peculiar bug in XQuartz on El
    Capitan, where the A controller pops up, then disappears to a negative x
    location (off screen).

09 Aug 2016, RW Cox, 3dAllineate, level 1 (MICRO), type 6 (ENHANCE)
    Allow IDENTITY to specify the identity matrix for transformations

    In options -1Dparam_apply and -1Dmatrix_apply -- to make resampling
    simpler for the hopeless users out there

09 Aug 2016, DR Glen, @SUMA_MakeSpecFS, level 2 (MINOR), type 5 (MODIFY)
    Atlasize original unranked datasets too. They will have more reliable indices than the ranked

----------------------------------------------------------------------

06 Aug 2016, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    mri_read_ascii: check comment_buffer before strdup

----------------------------------------------------------------------

05 Aug 2016, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -marry_AM

    Added for J Wiggins.

05 Aug 2016, RC Reynolds, uber_subject.py, level 1 (MICRO), type 5 (MODIFY)
    make -help_install more current

----------------------------------------------------------------------

04 Aug 2016, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Changes to keep controller height from expanding on Linux

    Of course, being on a Mac, I can't actually test this change.

04 Aug 2016, RW Cox, 1dsum, level 1 (MICRO), type 6 (ENHANCE)
    Save # header lines from mri_read_1D; echo back in 1dsum output

    For use in combining 3dClustSim outputs, for example.

----------------------------------------------------------------------

01 Aug 2016, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    do more hunting and reporting on libgomp and libglib

01 Aug 2016, P Taylor, 3dRSFC, level 2 (MINOR), type 4 (BUG_FIX)
    In cases of *very large* N_pts, an error message appeared-- no more.

    Just changed default initialization of >f_N value.

----------------------------------------------------------------------

25 Jul 2016, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    fixed attaching lone '-' to following label

    No NI_malloc might lead to crash, and the '-' was overwritten.

----------------------------------------------------------------------

23 Jul 2016, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    if empty regressor, check for -GOFORIT (only suggest if not found)

----------------------------------------------------------------------

22 Jul 2016, RW Cox, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    New -nocov option for used with -Clustsim

    To avoid writing out the -covariates sub-bricks in the -Clustsim
    operation.  Not clear that it is useful otherwise.

----------------------------------------------------------------------

21 Jul 2016, RW Cox, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    if -clustsim, check for non-3D datasets (e.g., surfaces)

----------------------------------------------------------------------

20 Jul 2016, RW Cox, 3dttest++, level 1 (MICRO), type 2 (NEW_OPT)
    -tempdir for -Clustsim

----------------------------------------------------------------------

14 Jul 2016, RW Cox, 3dttest++, level 1 (MICRO), type 4 (BUG_FIX)
    Fix problem with -resid combined with -clustsim

    Program assumed prefix_resid was NIFTI format,so just add '.nii' if it doe
    s have that already.

14 Jul 2016, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    THD_open_tcat: print error and return NULL on bad wildcard match

----------------------------------------------------------------------

11 Jul 2016, DR Glen, 3dWarp tta2mni grid dimensions bug, level 2 (MINOR), type 4 (BUG_FIX)
    Ignored grid dimensions in transformation between Talairach to MNI

----------------------------------------------------------------------

08 Jul 2016, RW Cox, 3dttest++, level 3 (MAJOR), type 6 (ENHANCE)
    Extend -clustsim option

    Covariates and centering
    1- and 2-sided
    unpooled and paired
    1 sample as well as 2 sample

08 Jul 2016, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    add -read_all, in case it is useful for sorting (e.g. -order_as_zt)

    Added for K Vishwanath.

----------------------------------------------------------------------

07 Jul 2016, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    add -order_as_zt to re-order from -time:tz to -time:zt

07 Jul 2016, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    check for partial install of PyQt4 (might be common on OS X 10.11)

----------------------------------------------------------------------

06 Jul 2016, RW Cox, 3dQwarp, level 1 (MICRO), type 6 (ENHANCE)
    Allow .jpg or .png file as source/base 'dataset' for 2D warping

----------------------------------------------------------------------

30 Jun 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    allow single volume EPI input (e.g. to test blip correction)

    Also, auto -blip_forward_dset should come from tcat output.

30 Jun 2016, DR Glen, unWarpEPI.py anat to epi lpc+ZZ cost, level 2 (MINOR), type 4 (BUG_FIX)
    Mistakenly used lpa for anat to epi alignment

----------------------------------------------------------------------

29 Jun 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    can modify blip order; BLIP_BASE -> MEDIAN_BLIP; add BLIP_NOTE to help

29 Jun 2016, RC Reynolds, 3dfim, level 1 (MICRO), type 4 (BUG_FIX)
    fix crash for dset open error with long dset name

    Thanks to J Henry for reporting the problem.

29 Jun 2016, DR Glen, align_epi_anat.py flipping identity, level 2 (MINOR), type 4 (BUG_FIX)
    Case of mistaken IDENTITY for check_flip option

----------------------------------------------------------------------

27 Jun 2016, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    allow for blip datasets that are not time series

----------------------------------------------------------------------

24 Jun 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -requires_afni_hist; warp vr_base to make final_epi dset

----------------------------------------------------------------------

23 Jun 2016, RC Reynolds, plug_realtime, level 1 (MICRO), type 6 (ENHANCE)
    show pop-up if user selects Mask Vals without 3D RT registration

    Clarify this in the plugin Help.  For L Li and V Roopchansingh.

23 Jun 2016, RC Reynolds, @auto_tlrc, level 1 (MICRO), type 6 (ENHANCE)
    allow to work with NIFTI template

----------------------------------------------------------------------

22 Jun 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    do nothing, but work really hard at it

    Rewrite EPI transformation steps by storing and applying an array
    of transformations: this should make future changes easier.

22 Jun 2016, RC Reynolds, auto_warp.py, level 1 (MICRO), type 4 (BUG_FIX)
    correctly check base.exists()

22 Jun 2016, RC Reynolds, @diff.tree, level 1 (MICRO), type 2 (NEW_OPT)
    added -diff_opts; e.g. -diff_opts -w

22 Jun 2016, RC Reynolds, @diff.files, level 1 (MICRO), type 2 (NEW_OPT)
    added -diff_opts; e.g. -diff_opts -w

----------------------------------------------------------------------

21 Jun 2016, RW Cox, 3dmaskave, level 1 (MICRO), type 2 (NEW_OPT)
    Add -perc option for percentile

21 Jun 2016, P Taylor, @fat_tract_colorize, level 3 (MAJOR), type 1 (NEW_PROG)
    New function for coloring the volumetric tracking outputs.

    RGB coloration of local diffusion, esp. for PROB track output.

----------------------------------------------------------------------

20 Jun 2016, P Taylor, 3dLombScargle, level 2 (MINOR), type 4 (BUG_FIX)
    Fixing bug in delta F calculation.

    What more needs to be said?

----------------------------------------------------------------------

19 Jun 2016, DR Glen, align_epi_anat.py dset1/2 deobliquing, level 1 (MICRO), type 4 (BUG_FIX)
    Using dset1/2 terminology forced deobliquing off

----------------------------------------------------------------------

17 Jun 2016, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    w/dglen, dsets with HEAD in prefix (but no suffix) could not be opened

----------------------------------------------------------------------

16 Jun 2016, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 6 (ENHANCE)
    EPI blip up/blip down distortion correction is ready

    Thanks to S Torrisi and D Glen.

16 Jun 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    if NLwarp but no EPI warp, no NL; fix refit of blip median datasets

    User probably forgot -volreg_tlrc_warp, so warn them.

16 Jun 2016, P Taylor, 3dLombScargle, level 2 (MINOR), type 5 (MODIFY)
    Changed how number of output points/freqs is calc'ed.

    Should be more stable across group.).

----------------------------------------------------------------------

14 Jun 2016, RW Cox, 3dBlurInMask, level 2 (MINOR), type 2 (NEW_OPT)
    Option -FWHMdset allows specifying per-voxel blurring parameter

    For use with 3dLocalACF and scripting.  EXPERIMENTAL!

14 Jun 2016, RW Cox, 3dREMLfit, level 1 (MICRO), type 4 (BUG_FIX)
    Conversion to vector image fails for LARGE datasets

    The final step in the conversion to vectim is scanning the data for
    floating point errors (NaN, infinity).  If there are more than 2^31-1
    voxels, integer overflow caused problems.  Fixed by making the loop
    variables in the floatscan functions be size_t, not int.  This problem
    certainly lurks elsewhere in AFNI, waiting to pounce on Spaniards.

14 Jun 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -blip_forward_dset; if needed copy along any obliquity information

14 Jun 2016, P Taylor, 3dAmptoRSFC, level 3 (MAJOR), type 1 (NEW_PROG)
    New function for calculating RSFC params from one-side spectra.

    Complements 3dLombScargle. What an epithet.

14 Jun 2016, P Taylor, 3dLombScargle, level 2 (MINOR), type 5 (MODIFY)
    Making this output 'one-sided' spectra now.

    Easier for 3dAmpToRSFC calcs.

----------------------------------------------------------------------

13 Jun 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -align_unifize_epi : 3dUnifize EPI before anat alignment

    Thanks to D Glen and S Torrisi for suggesting it.

13 Jun 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add BLIP_BASE case for -volreg_align_to

    Use warped median forward blip volume as volreg alignment base.

13 Jun 2016, P Taylor, 3dLombScargle, level 3 (MAJOR), type 5 (MODIFY)
    Revamped LS program-- AGAIN**2!-- now has Welch windows+tapers.

    Scaling properly/consistently, couple bug fixes.

13 Jun 2016, DR Glen, 3dTstat - single sub-bricks, level 2 (MINOR), type 2 (NEW_OPT)
    For datasets with only a single sub-brick, 3dTstat would exit
with an error for many statistics. The new behavior makes the
program use the first value of the time series instead. Some other
requested statistics like the argmax type stats are now calculated
even for this trivial case. Optionally the user may use
-firstvalue for a statistic

----------------------------------------------------------------------

10 Jun 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -blip_reverse_dset for blip up/blip down distortion correction

----------------------------------------------------------------------

09 Jun 2016, RW Cox, 3dLocalACF, level 2 (MINOR), type 1 (NEW_PROG)
    Estimate ACF parameters locally.  Slow and experimental.

09 Jun 2016, P Taylor, 3dLombScargle, level 3 (MAJOR), type 5 (MODIFY)
    Revamped LS program-- AGAIN-- now has Welch windows+tapers.

    Several new options added (related to windows/tapers).

----------------------------------------------------------------------

03 Jun 2016, RW Cox, 3dQwarp, level 1 (MICRO), type 2 (NEW_OPT)
    -wtprefix to save computed weight to dataset

03 Jun 2016, DR Glen, 3dQwarp bug, level 2 (MINOR), type 4 (BUG_FIX)
    bug fix in option processing
Fixed wtprefix handling and gridlist option handling (with RCR)

----------------------------------------------------------------------

02 Jun 2016, RW Cox, afni GUI, level 2 (MINOR), type 6 (ENHANCE)
    Creation of All_Datasets session

    If more than one session is input or created, then the All_Datasets
    session is created as the catenation of all of them.  This will help
    people who want to look at data in multiple directories without moving
    them together.

02 Jun 2016, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    w/dglen: read num slices from Siemens 3D acquisition DICOM image files

----------------------------------------------------------------------

01 Jun 2016, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 6 (ENHANCE)
    minor updates to verbose output

----------------------------------------------------------------------

27 May 2016, P Taylor, 3dDWItoDT, level 2 (MINOR), type 2 (NEW_OPT)
    Have a new '-scale_out_1000' option: rescale output, if desired.

    Effectively: change output diff units of mm^2/s -> x10^{-3} mm^2/s.

----------------------------------------------------------------------

24 May 2016, RW Cox, 3dUnifize, level 2 (MINOR), type 5 (MODIFY)
    Alter default -clfrac value to 0.2

    Because old 0.1 default would often have too much noise outside the head
    when used with non-skull-stripped datasets.  User can still set '-clfrac
    0.1' if needed.

24 May 2016, RW Cox, 3dQwarp, level 1 (MICRO), type 5 (MODIFY)
    Remove second cubic and quintic iterations at lev=0

    Repeating these iterations almost never does any good, and takes up a
    fair amount of time.

24 May 2016, P Taylor, 3dLombScargle, level 3 (MAJOR), type 5 (MODIFY)
    Revamped LS program-- new implementation, directly from PR89.

    Several new options added (normalize, amplitudeize, etc.).

----------------------------------------------------------------------

23 May 2016, RC Reynolds, parse_fs_lt_log.py, level 2 (MINOR), type 1 (NEW_PROG)
    get an index list from a FreeSurfer labletable log file

----------------------------------------------------------------------

20 May 2016, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    alter 'Jumpto OLay Max/Min @Thr' menu button backgrounds to black

    Because I find them hard to find; from Hangzhou China - Ni Hao!

20 May 2016, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 2 (NEW_OPT)
    add options -dot_file_list/_pack/_show

    List, package (tgz) or show the contents of found 'dot' files.

----------------------------------------------------------------------

19 May 2016, RW Cox, 3dQwarp, level 2 (MINOR), type 2 (NEW_OPT)
    -wball = emphasize some (spherical) region in the weighting

    Written in Hangzhou China -- for Peng

19 May 2016, RC Reynolds, dicom_hdr, level 1 (MICRO), type 4 (BUG_FIX)
    do not crash on missing input

----------------------------------------------------------------------

17 May 2016, RW Cox, 3dUnifize, level 1 (MICRO), type 4 (BUG_FIX)
    -ssave option caused a crash :-(

    fixed in Hangzhou China

17 May 2016, RW Cox, 3dTshift, level 1 (MICRO), type 5 (MODIFY)
    Update error messages to be more informative

    To find problem in unWarpEPI.py script - from Hangzhou China

----------------------------------------------------------------------

16 May 2016, DR Glen, align_epi_anat.py - left/right test, level 2 (MINOR), type 2 (NEW_OPT)
    left/right checking using align_epi_anat.py
flipped datasets go unnoticed even in major publicly available
databases (initially noted by Brad Buchsbaum with FCON1000).
Now automatically determine mismatch in L/R with simple test
New -check_flip and -flip_giant options check alignment against
flipped data.

----------------------------------------------------------------------

15 May 2016, RW Cox, 3dNwarpApply, level 1 (MICRO), type 5 (MODIFY)
    Update error messages yet again (a little)

----------------------------------------------------------------------

12 May 2016, P Taylor, 3dLombScargle, level 3 (MAJOR), type 1 (NEW_PROG)
    New function for calculating LS (normalized) periodogram from time series.

    Calculate magnitude spectrum from non-equisampled data.

----------------------------------------------------------------------

06 May 2016, RW Cox, afni GUI, level 1 (MICRO), type 2 (NEW_OPT)
    -XXXnpane to set number of panes in pbar

    For the elusive ZXu, man of many nations.

----------------------------------------------------------------------

05 May 2016, RW Cox, 3dTstat, level 1 (MICRO), type 2 (NEW_OPT)
    Option -percentile P

    Computes the Pth percentile 0 <= P <= 100 of the data in each voxel. 
    Can only be used once per run!

05 May 2016, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    -defaults similarly implies -do_dotfiles and apsearch yes

----------------------------------------------------------------------

04 May 2016, RW Cox, 3dREMLfit, level 1 (MICRO), type 4 (BUG_FIX)
    -dsort always produced the _nods dataset; now, only if -nods is used

04 May 2016, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    add -do_dotfiles and -do_extras

    Running apsearch and possibly editing dot files is only on request.

----------------------------------------------------------------------

03 May 2016, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    suggest -regress_est_blur_epits for resting state

    Thanks to S Torrisi for bringing up the question.

03 May 2016, P Taylor, @GradFlipTest, level 2 (MINOR), type 5 (MODIFY)
    Using '-out_grad_cols_bwt' for grad stuff now-- use weights.

    Can deal well with multiple DW factors in gradient list now.

03 May 2016, DR Glen, whereami - atlas queries, level 1 (MICRO), type 4 (BUG_FIX)
    Removing structures that are all numbers was breaking atlas label queries

03 May 2016, DR Glen, @Atlasize no voxel regions, level 1 (MICRO), type 2 (NEW_OPT)
    Skip structures with no voxels

    New -skip_novoxels option in @Atlasize and @MakeLabelTable

----------------------------------------------------------------------

02 May 2016, P Taylor, 3dDWItoDT, level 2 (MINOR), type 2 (NEW_OPT)
    Have a new '-min_bad_md' option: use to threshold badness.

    Also now detect bad DT fits if MD is crazy big.  Whoa.

----------------------------------------------------------------------

28 Apr 2016, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 2 (NEW_OPT)
    add -local_package, to use an already downloaded package

    Requested by P Taylor.

28 Apr 2016, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    add initial #!prog to tops of some meica programs, and bricks_test.sh

    This corresponds with -x permission clearing by yarikoptic.

28 Apr 2016, RC Reynolds, 3dMVM.R, level 1 (MICRO), type 5 (MODIFY)
    prevent any unexpected writing of dbg.AFNI.args files

    Only write such files given -dbg_args.
    Affects 1dRplot, 3dLME, 3dMEMA, 3dMVM, 3dPFM, 3dRprogDemo
            3dSignatures, AFNIio, ExamineXmat, rPkgsInstall.
    The dbg files no longer start with '.'.

----------------------------------------------------------------------

27 Apr 2016, RW Cox, afni + 3dGroupInCorr, level 1 (MICRO), type 0 (GENERAL)
    Remind user of what to do after 3dGIC connects to afni GUI

    This is the Caballero-Rossi popup reminder.

27 Apr 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    prep for later: always extract volreg base, as vr_base*

----------------------------------------------------------------------

26 Apr 2016, RC Reynolds, tokens, level 1 (MICRO), type 6 (ENHANCE)
    handle arbitrarily long tokens

26 Apr 2016, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    Makefile.INCLUDE: moved SCRIPTS into scripts_install

----------------------------------------------------------------------

25 Apr 2016, DR Glen, afni GUI perc threshold flag, level 1 (MICRO), type 4 (BUG_FIX)
    percentile thresholding didn't work properly with warp-on-demand between views

----------------------------------------------------------------------

20 Apr 2016, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    new Jumpto IJK for Overlay button

    For someone in the Tulsa class :)

----------------------------------------------------------------------

19 Apr 2016, RC Reynolds, Dimon, level 1 (MICRO), type 4 (BUG_FIX)
    incorrectly reported 'IFM:RIF fatal error' for the case of no sorting

    Thanks to I Groen for reporting the problem.

19 Apr 2016, DR Glen, unWarpEPI.py, level 2 (MINOR), type 1 (NEW_PROG)
    blip-up/down distortion correction script

----------------------------------------------------------------------

18 Apr 2016, RW Cox, afni GUI, level 1 (MICRO), type 3 (NEW_ENV)
    Open all 3 image viewers by default

    New variables AFNI_OPEN_AXIAL (etc.) will turn off axialimage viwer (etc.)
     if set to NO -- for LIBR and Tulsa.

18 Apr 2016, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    THD_open_tcat: fix wildcard input lacking sub-brick selectors

    Forgot to regenerate catenated list, dlocal.

18 Apr 2016, RC Reynolds, 3dbucket, level 1 (MICRO), type 6 (ENHANCE)
    if THD_open_one_dataset fails, fall back to THD_open_dataset

    As with 3dTcat, fall back rather than failing outright.

----------------------------------------------------------------------

15 Apr 2016, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    added help macro CATENATE_HELP_STRING

    This displays a 'CATENATED AND WILDCARD DATASET NAMES' section in the
    help output from afni and 3dcalc (following 'INPUT DATASET NAMES').

15 Apr 2016, RC Reynolds, NIFTI-2, level 1 (MICRO), type 5 (MODIFY)
    print int64_t using PRId64 macro, which looks ugly, but avoids warnings

----------------------------------------------------------------------

14 Apr 2016, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Make AFNI_FLASH_VIEWSWITCH turn off all obnoxious stuff

    For Mr Neon (or is that Dr Neon?)

----------------------------------------------------------------------

08 Apr 2016, RW Cox, afni GUI, level 1 (MICRO), type 2 (NEW_OPT)
    Add '-XXX defaults'

08 Apr 2016, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    auto-tcat inputs with spaces, wildcards and global selectors

    For example, input of 'DA*.HEAD DB*.HEAD DC*.HEAD[3,4]' would create
    a dataset with sub-bricks 3 and 4 from all D[ABC]*.HEAD datasets.
    If sub-brick selectors appear only at the end, they are global,
    otherwise they can be per input, as in 'DA*.HEAD[0,1] DB*.HEAD[2,3]'.

08 Apr 2016, P Taylor, 3dDTtoDWI, level 2 (MINOR), type 5 (MODIFY)
    Work to deal with bvalue-weighted grads.

    This is useful esp. for new TORTOISE outputs.

----------------------------------------------------------------------

07 Apr 2016, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_GIC_DEBUG=YES will cause lots of debugging printouts

    For Sharyn and Cesar.

07 Apr 2016, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 2 (NEW_OPT)
    add options -proto and -test_proto

    One can specify the download protocol as http, https or NONE.

07 Apr 2016, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 5 (MODIFY)
    switch to have cjpeg depend on libjpeg.a, so it does not get rebuilt

----------------------------------------------------------------------

05 Apr 2016, RW Cox, 3dQwarp, level 2 (MINOR), type 2 (NEW_OPT)
    fix bug with -5final -- but still hide from user

05 Apr 2016, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    THD_open_tcat works as wildcard - can apply sub-brick selectors

05 Apr 2016, P Taylor, 3dDWUncert, level 2 (MINOR), type 2 (NEW_OPT)
    New inp format option-- for dealing with TORT export/import.

    -bmatrix_Z for reading in bmat in AFNI format; byebye -bmatr opt.

05 Apr 2016, P Taylor, 1dDW_Grad_o_Mat, level 2 (MINOR), type 2 (NEW_OPT)
    New I/O options-- for dealing with TORT export.

    Now have I/O of grad columns weighted by bvalues.

----------------------------------------------------------------------

04 Apr 2016, RC Reynolds, THD_load_tcat, level 2 (MINOR), type 4 (BUG_FIX)
    set factors and labels at open time, not at load time

    This fixes use with 3dcalc and 3dinfo, though stats are not yet loaded.

04 Apr 2016, RC Reynolds, 3dTcat, level 1 (MICRO), type 6 (ENHANCE)
    if THD_open_one_dataset fails, fall back to THD_open_dataset

    Fall back rather than failing outright.

----------------------------------------------------------------------

31 Mar 2016, RC Reynolds, 3dMVM.R, level 1 (MICRO), type 5 (MODIFY)
    do not create .dbg.AFNI.args files on -help usage

    Modified 1dRplot.R, 3dLME.R, 3dMEMA.R, 3dMVM.R, 3dPFM.R, 3dRprogDemo.R,
             3dSignatures.R, ExamineXmat.R and rPkgsInstall.R.

----------------------------------------------------------------------

30 Mar 2016, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    possibly update .bashrc if .cshrc is updated

----------------------------------------------------------------------

29 Mar 2016, RC Reynolds, gen_group_command.py, level 1 (MICRO), type 5 (MODIFY)
    3dMEMA no longer allows for a paired test

    One must now input contrast/stat from original regression.

29 Mar 2016, RC Reynolds, afni_restproc.py, level 1 (MICRO), type 5 (MODIFY)
    suggest that users consider afni_proc.py

    This was requested by Rayus.

29 Mar 2016, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 2 (NEW_OPT)
    add option -no_cert_verify, to skip server certificate verification

----------------------------------------------------------------------

26 Mar 2016, RC Reynolds, to3d, level 1 (MICRO), type 4 (BUG_FIX)
    another allowance for datasets exceeding 2 GB

    Thanks to SS Kim for noting the problem.

----------------------------------------------------------------------

25 Mar 2016, RW Cox, afni GUI, level 2 (MINOR), type 2 (NEW_OPT)
    A bunch of '-XXX' options to control colors and fonts

----------------------------------------------------------------------

24 Mar 2016, RW Cox, afni GUI, level 1 (MICRO), type 2 (NEW_OPT)
    Add -XXX option

    Moving towards letting user set X11 things (fonts, colors) on the
    command line.  Still needs work, but has some functionality now for the
    true Jedi AFNI Master.

24 Mar 2016, RC Reynolds, Dimon, level 1 (MICRO), type 2 (NEW_OPT)
    add option -use_obl_origin, to apply -oblique_origin to to3d command

    Also, run any to3d script via 'tcsh -x' so the users get to see.

----------------------------------------------------------------------

22 Mar 2016, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    modularize version checking

    Update .afni.vctime even if URL read fails, to not flood server.

----------------------------------------------------------------------

21 Mar 2016, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    run GLTsymtest on specified GLTs

21 Mar 2016, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    get slightly more accurate motion ave via 3dTstat -nzmean

21 Mar 2016, RC Reynolds, GLTsymtest, level 1 (MICRO), type 2 (NEW_OPT)
    added -badonly, to avoid screen clutter from many good GLTs

21 Mar 2016, RC Reynolds, 3dANOVA, level 1 (MICRO), type 6 (ENHANCE)
    allow for up to 666 observations

    Consider changing this to use a string_list or something similar.

----------------------------------------------------------------------

17 Mar 2016, RW Cox, 3dTproject, level 2 (MINOR), type 4 (BUG_FIX)
    Fix problem in setting count of bandpass regressors

    Typo meant that Nyquist frequency might not be counted properly,
    resulting in bad stuff (memory corruption).

17 Mar 2016, RW Cox, dataset input, level 1 (MICRO), type 6 (ENHANCE)
    Input random dataset or 1D file on command line

    jRandomDataset:64,64,32,22 creates a random dataset with nx=64, ny=64,
    nz=32, and 22 time points.
    jRandom1D:128,16 creates a random 1D file with 128 rows and 16 columns.
    These are shortcuts for testing programs, which avoid having to create
    temporary files via 3dcalc (say).  In other words, these 'inputs' are
    testaments to my preference to write C code than do actual work.

----------------------------------------------------------------------

15 Mar 2016, RC Reynolds, timing_tool.py, level 1 (MICRO), type 4 (BUG_FIX)
    -help_basis update: max convolved BLOCK() is ~5.1, not ~5.4

----------------------------------------------------------------------

10 Mar 2016, RW Cox, debugtrace.h, level 1 (MICRO), type 5 (MODIFY)
    Output command line, if available, in crash report

----------------------------------------------------------------------

08 Mar 2016, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Turn Auto-scaling on in graph windows by default

08 Mar 2016, RW Cox, 3dvolreg, level 1 (MICRO), type 5 (MODIFY)
    Default resampling now heptic, not Fourier.

08 Mar 2016, RW Cox, 3dTproject, level 1 (MICRO), type 5 (MODIFY)
    Add STATUS calls to 3dTproject for debugging

----------------------------------------------------------------------

07 Mar 2016, RW Cox, 3dDeconvolve, level 1 (MICRO), type 5 (MODIFY)
    Double default size of Xmat JPEG file

    To avoid losing resolution when looking at TENT designs.

07 Mar 2016, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed edge option change using too small neighborhood size

----------------------------------------------------------------------

01 Mar 2016, RC Reynolds, tokens, level 2 (MINOR), type 1 (NEW_PROG)
    program to extract valid text entries from a file

01 Mar 2016, RC Reynolds, GIFTI, level 1 (MICRO), type 4 (BUG_FIX)
    applied R Vincent fix for GIFTI datasets with Windows-style newlines

----------------------------------------------------------------------

29 Feb 2016, RC Reynolds, 3dANOVA3, level 1 (MICRO), type 6 (ENHANCE)
    show prior options to any 'Unrecognized command line option'

    Added disp_strings() to libmri.a.

----------------------------------------------------------------------

24 Feb 2016, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    replace tlrc_no_ss with anat_has_skull toggle and move to anat block

24 Feb 2016, RC Reynolds, timing_tool.py, level 2 (MINOR), type 4 (BUG_FIX)
    fix -warn_tr_stats crash on empty timing file

    Thanks to Z Reagh for noting the problem.

----------------------------------------------------------------------

22 Feb 2016, RW Cox, debugtrace.c, level 1 (MICRO), type 2 (NEW_OPT)
    Colorize WARNING and ERROR message prefixes.

    Can turn off by setting AFNI_MESSAGE_COLORIZE to NO. For Javier.

----------------------------------------------------------------------

19 Feb 2016, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    add many tests and summarize potential issues

----------------------------------------------------------------------

17 Feb 2016, RC Reynolds, afni_util.py, level 1 (MICRO), type 6 (ENHANCE)
    add function affine_to_params_6: where input is 12 element sub-matrix

----------------------------------------------------------------------

16 Feb 2016, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    add -ver and initial version reporting

----------------------------------------------------------------------

11 Feb 2016, RW Cox, 3dttest++, level 3 (MAJOR), type 2 (NEW_OPT)
    -clustsim option

    This option runs 3dttest++ with -randomize and then 3dClustSim with
    -inset, to produce cluster-threshold tables for inclusion in the output.
     It is my intention that this method will replace the use of 3dFWHMx and
    3dClustSim.  Knock wood, and help Make AFNI Great Again!

11 Feb 2016, RW Cox, afni version check, level 1 (MICRO), type 0 (GENERAL)
    add https support to thd_http.c

    Via wget or curl, plus popen+fread+pclose.  Cheap, but works.

11 Feb 2016, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 2 (NEW_OPT)
    Add -ztest option == test inputs if they are all zero

    For Cesar.

----------------------------------------------------------------------

10 Feb 2016, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    full update to use https://afni.nimh.nih.gov (no longer http)

10 Feb 2016, RC Reynolds, @ANATICOR, level 1 (MICRO), type 4 (BUG_FIX)
    fixed -radius option parsing

    Thanks to A Frithsen for noting the problem.

10 Feb 2016, DR Glen, afni, level 1 (MICRO), type 4 (BUG_FIX)
    fixed ignoring of -no1D option, and 1D files are not read on input

----------------------------------------------------------------------

09 Feb 2016, RW Cox, 3dQwarp, level 1 (MICRO), type 0 (GENERAL)
    Tested on 2D images (single-slice datasets)

    It actually worked.  Added a comment to that effect in the help output.

09 Feb 2016, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 2 (NEW_OPT)
    -read option

    To 'read()' data in, instead of 'mmap()' -- for network mounted data
    where 'mmap()' fails to work.  For Cesar Caballero.

09 Feb 2016, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    be sure isfinite is defined in FD2_inc.c, parser_int.c

09 Feb 2016, RC Reynolds, @GradFlipTest, level 1 (MICRO), type 5 (MODIFY)
    trap for missing inputs (e.g. used with just -help)

----------------------------------------------------------------------

08 Feb 2016, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    access afni site via https protocol

----------------------------------------------------------------------

05 Feb 2016, RW Cox, 3dClustSim, level 3 (MAJOR), type 2 (NEW_OPT)
    New -inset option

    Directly give the simulations, rather than generate them internally. 
    Intended for use with '3dttest++ -randomsign N -toz' and '3dttest++
    -resid' to get the cluster thresholds directly from the data rather than
    assumptions of Gaussianity.

05 Feb 2016, RW Cox, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    Add number of iterations to -randomsign option

    For use with 3dClustSim -inset

05 Feb 2016, RC Reynolds, thd_niftiread, level 1 (MICRO), type 4 (BUG_FIX)
    NIFTI files with no *form_codes should default to +orig, not NIFTI_default

----------------------------------------------------------------------

28 Jan 2016, RC Reynolds, 3dMean, level 1 (MICRO), type 5 (MODIFY)
    fix help to correctly report -stdev as sqrt(var)   {was var/(n-1)}

    Thanks to K Kerr (MB) for pointing out the mistake.

----------------------------------------------------------------------

27 Jan 2016, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    allow for tissue based regression with only regress block

----------------------------------------------------------------------

26 Jan 2016, RW Cox, 1dNLfit, level 2 (MINOR), type 1 (NEW_PROG)
    1D file nonlinear fitting

    Uses the 'calc' parser to define the function to fit.
    Mostly for the convenience of The Bob.

----------------------------------------------------------------------

22 Jan 2016, RW Cox, 1deval, level 1 (MICRO), type 2 (NEW_OPT)
    Fixed value assignments, as in '-a=3.7'

    For my convenience

22 Jan 2016, DR Glen, align_epi_anat.py, level 2 (MINOR), type 2 (NEW_OPT)
    rigid_body alignment option and better handling of user allineate options

22 Jan 2016, DR Glen, auto_warp.py, level 1 (MICRO), type 4 (BUG_FIX)
    skip_affine option previously skipped

22 Jan 2016, DR Glen, align_epi_anat.py, level 1 (MICRO), type 4 (BUG_FIX)
    Incorrect check for file output existence for oblique data

----------------------------------------------------------------------

06 Jan 2016, RW Cox, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    new -pnm option, to save to PNM image format

    To make it easier to manipulate results in scripts (e.g., pnmcat).

----------------------------------------------------------------------

05 Jan 2016, RW Cox, @get.afni.version, level 1 (MICRO), type 1 (NEW_PROG)
    Script to fetch source for a particular AFNI version tag

05 Jan 2016, P Taylor, 3dVecRGB_to_HSL, level 3 (MAJOR), type 1 (NEW_PROG)
    Take a 3-vec to a single index on RGB color scale, and glue FA brick.

    Replaces earlier version, 3dVec_to_RGBind.

----------------------------------------------------------------------

04 Jan 2016, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    add boundardy checks in get_1dcat_intlist and get_count_intlist

    Without the checks, using count or 1dcat as sub-brick selector method
    would lead to confusing crashes (if values exceeded #vols).
    Thanks to W Graves for reporting the problem.

04 Jan 2016, P Taylor, 1dDW_Grad_o_Mat, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed backwards output messages.

    Should now be easier to see what went bad in a case of mistaken input.

----------------------------------------------------------------------

03 Jan 2016, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 5 (MODIFY)
    truncate 'top history' text for data trees

----------------------------------------------------------------------

31 Dec 2015, RW Cox, 3dttest++, level 1 (MICRO), type 4 (BUG_FIX)
    Don't allow -resid and -zskip at the same time

    Because sorting out the residuals back to their proper places would
    be hard, if some inputs were skipped.

31 Dec 2015, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    include AFNI_version_base.txt in build of afni_src.tgz

----------------------------------------------------------------------

30 Dec 2015, RW Cox, 3dBlurToFWHM, level 2 (MINOR), type 2 (NEW_OPT)
    add -acf option, to estimate FWHM via the ACF method

30 Dec 2015, RC Reynolds, afni-general, level 3 (MAJOR), type 6 (ENHANCE)
    w/DRG implement new version system

    See https://afni.nimh.nih.gov/pub/dist/MOTD/MOTD_2015_12_30.txt .

----------------------------------------------------------------------

29 Dec 2015, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 4 (BUG_FIX)
    catch any empty directory listing from @FindAfniDsetPath

29 Dec 2015, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    updated gitignore.src.txt and main 2 .gitignore files

29 Dec 2015, RC Reynolds, @FindAfniDsetPath, level 1 (MICRO), type 5 (MODIFY)
    0 or bad # args returns 1 rather than 0

----------------------------------------------------------------------

28 Dec 2015, RC Reynolds, @diff.files, level 1 (MICRO), type 6 (ENHANCE)
    allow diffs to include existence of directories

----------------------------------------------------------------------

22 Dec 2015, RW Cox, 3dvolreg, level 1 (MICRO), type 5 (MODIFY)
    Make '-final linear' work, and put it in the help output.

    For Daniel Handwerker.  Don't say I never gave you a Christmas present!

----------------------------------------------------------------------

19 Dec 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    removed CSFe from Example 10 of the help, to not lead people to use it

----------------------------------------------------------------------

17 Dec 2015, RW Cox, stimband, level 1 (MICRO), type 1 (NEW_PROG)
    Computes freq band for stimuli extracted from .xmat.1D files

    For use in scripting bandwidths for pre- and post-processing.

----------------------------------------------------------------------

16 Dec 2015, P Taylor, 3ddot_beta, level 3 (MAJOR), type 1 (NEW_PROG)
    Copy calc of 3ddot-- uses same functions-- just faster.

    Right now, can only calculate eta2; was asked for by user.

----------------------------------------------------------------------

10 Dec 2015, RW Cox, afni Clusterize, level 1 (MICRO), type 6 (ENHANCE)
    Add 'large FDR q' warning to Clusterize report

----------------------------------------------------------------------

09 Dec 2015, RW Cox, 3dFWHMx, level 1 (MICRO), type 6 (ENHANCE)
    Add the 'classic' Gaussian ACF to the '-acf' plot, for comparison.

----------------------------------------------------------------------

08 Dec 2015, RW Cox, afni Clusterize, level 2 (MINOR), type 5 (MODIFY)
    Add Write button to save just one cluster to a dataset

08 Dec 2015, RW Cox, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    Allow constant value with -singletonA instead of a dataset

    Allows user to test -setB against a nonzero constant.

----------------------------------------------------------------------

07 Dec 2015, RW Cox, 3dttest++, level 2 (MINOR), type 2 (NEW_OPT)
    Add -resid option, to save residuals.

07 Dec 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    help update: modify example 11 to use SurfVol and add FREESURFER NOTE

07 Dec 2015, RC Reynolds, MatAFNI_Demo.m, level 1 (MICRO), type 4 (BUG_FIX)
    merge fix from J. Pfannmoller

    Done with G Chen.

----------------------------------------------------------------------

01 Dec 2015, RW Cox, 3dClustSim, level 3 (MAJOR), type 2 (NEW_OPT)
    Added -acf option!

    Non-Gaussian spherically symmetric AutoCorrelation Function (ACF) for
    the noise.  Uses FFTs to create the noise fields, via #include-d file
    mri_radial_random_field.c and #include-d csfft_OMP.c (thread-safe FFTs).
    This method in 3dFWHMx and 3dClustSim will be the favored cluster
    thresholding analysis going forward.

----------------------------------------------------------------------

30 Nov 2015, RW Cox, csfft_OMP, level 1 (MICRO), type 0 (GENERAL)
    Thread-safe version of csfft function, for use with OpenMP

    Meant to be #include-d into the main source file.

----------------------------------------------------------------------

27 Nov 2015, RW Cox, 3dFHWMx, level 1 (MICRO), type 5 (MODIFY)
    OpenMP-ize the FWHM and ACF calculations (across sub-bricks)

    Also, working on spherical non-Gaussian convolution by FFTs in
    mri_radial_random_field.c

----------------------------------------------------------------------

23 Nov 2015, RW Cox, many, level 1 (MICRO), type 0 (GENERAL)
    Tiny edits to eliminate compiler warnings from icc

    For example, change format '%ld' to '%lld' for numerous int64_t
    printouts in nifti/cifti codes.  Change 'finite()' to 'isfinite()'.

----------------------------------------------------------------------

17 Nov 2015, RC Reynolds, afni-general, level 1 (MICRO), type 0 (GENERAL)
    rename g_info to g_dicom_ctrl to avoid FreeBSD build conflict

    Thanks to J Bacon for noting the conflict.

----------------------------------------------------------------------

16 Nov 2015, P Taylor, 3dTrackID, level 3 (MAJOR), type 0 (GENERAL)
    Estimate mean and stdev of fiber lengths in bundles.

    These are now automatically output in *.grid file.

16 Nov 2015, P Taylor, 3dTrackID, level 3 (MAJOR), type 2 (NEW_OPT)
    Can limit tracts to 'between targets' in new ways.

    See '-targ_surf_stop' and '-targ_surf_twixt' in the help.

16 Nov 2015, P Taylor, fat_mat_sel.py, level 2 (MINOR), type 5 (MODIFY)
    New default for x-axis labels: rot=45 deg, horiz align=right.

    Better than previous defaults (rot=37 deg, horiz align=center).

----------------------------------------------------------------------

10 Nov 2015, RW Cox, 3dFWHMx, level 3 (MAJOR), type 2 (NEW_OPT)
    -ACF option to compute spatial autocorrelation function

    For enhancing 3dClustSim, et cetera.

10 Nov 2015, P Taylor, 3dVec_to_RGBind.c, level 3 (MAJOR), type 1 (NEW_PROG)
    Take a 3-vec to a single index on RGB color scale, and glue FA brick.

    This will be useful in prob tract result plotting... script to come.

----------------------------------------------------------------------

06 Nov 2015, RC Reynolds, to3d, level 1 (MICRO), type 6 (ENHANCE)
    allow for single volumes beyond 2^31-1 bytes

    Done for Z Saad.

06 Nov 2015, RC Reynolds, @Align_Centers, level 1 (MICRO), type 2 (NEW_OPT)
    add option -cm_no_amask; like -cm but without -automask

----------------------------------------------------------------------

04 Nov 2015, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    add -slice_order_to_times

    This converts a list of slice indices (sorted by acq time)
    to slice times (ordered by index).

----------------------------------------------------------------------

30 Oct 2015, RW Cox, images_equal, level 1 (MICRO), type 1 (NEW_PROG)
    Tests if 2 input 2D image files are equal.

----------------------------------------------------------------------

28 Oct 2015, RW Cox, 3dQwarp, level 1 (MICRO), type 5 (MODIFY)
    Allow minpatch to go as low as 5.

    Of course, such a small patch will be VERY slow indeed.  Also, bring out
    of hiding the '-ballopt' option, which changes the optimization strategy
    somewhat -- allowing for larger displacements in the incremental warps.

28 Oct 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    output anat/EPI Dice coefficient, rather than correlation

28 Oct 2015, RC Reynolds, 3ddot, level 2 (MINOR), type 2 (NEW_OPT)
    add -dodice, to get the Dice coefficient

28 Oct 2015, RC Reynolds, gen_ss_review_table.py, level 1 (MICRO), type 6 (ENHANCE)
    make 'a/E mask Dice coef' parent of 'mask correlation'

28 Oct 2015, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 6 (ENHANCE)
    look for dice coef file ae_dice, as well ae_corr

----------------------------------------------------------------------

26 Oct 2015, RW Cox, afni Clusterize, level 3 (MAJOR), type 6 (ENHANCE)
    Allow user to use multiple (up to 4) Aux datasets for Plot/Save

26 Oct 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    compute TSNR restricted to uncensored TRs

26 Oct 2015, RC Reynolds, afni, level 1 (MICRO), type 5 (MODIFY)
    move version to show_AFNI_version and call on -ver

----------------------------------------------------------------------

23 Oct 2015, RC Reynolds, afni, level 1 (MICRO), type 5 (MODIFY)
    move version output after some text requests

----------------------------------------------------------------------

21 Oct 2015, RC Reynolds, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -exec

----------------------------------------------------------------------

15 Oct 2015, RW Cox, afni Clusterize, level 1 (MICRO), type 5 (MODIFY)
    Switch F-stat from using 1-sided to 2-sided tables.

    To keep Chen Gang happy.

15 Oct 2015, RW Cox, afni Clusterize, level 1 (MICRO), type 5 (MODIFY)
    Modify linkRbrain stuff to NOT use unseen clusters

----------------------------------------------------------------------

14 Oct 2015, RW Cox, afni Clusterize, level 1 (MICRO), type 0 (GENERAL)
    Add toggle button to turn individual clusters on/off

    Hope it doesn't interfere with something else!  It's tricky modifying
    the functional overlay.

----------------------------------------------------------------------

13 Oct 2015, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 5 (MODIFY)
    Finally fixed -clust option to correspond to new 3dClustSim output

    That is, 9 NIML files instead of 3.

----------------------------------------------------------------------

07 Oct 2015, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Attempt to fix 'crash on re-open controller' problem

    Happened when Clusterize was used in A, then B opened, B closed, B
    re-opened -- boom.  Set deleted FD_bricks to NULL seems to help. 
    Fingers crossed.

----------------------------------------------------------------------

01 Oct 2015, RW Cox, AFNI clusterize, level 1 (MICRO), type 5 (MODIFY)
    Made showing linkRbrain button default now

    setenv AFNI_LINKRBRAIN NO to turn this button off

----------------------------------------------------------------------

28 Sep 2015, P Taylor, fat_mvm_scripter.py, level 2 (MINOR), type 4 (BUG_FIX)
    Use list of ROIs to select subnetwork of analysis for 3dMVM.

    Previously, sublist only applied to post hocs, not 3dMVM models.

----------------------------------------------------------------------

25 Sep 2015, RC Reynolds, suma, level 1 (MICRO), type 5 (MODIFY)
    volume rendering is no longer the default for SUMA_VO_InitSlices

    So Do_06_VISdti_SUMA_visual_ex1.tcsh defaults to showing 3 volume slices.

----------------------------------------------------------------------

24 Sep 2015, RC Reynolds, vol2surf, level 1 (MICRO), type 6 (ENHANCE)
    restrict THD_extract_series error messages (e.g. for RGB datasets)

    Requested by P Taylor.

24 Sep 2015, RC Reynolds, ccalc, level 1 (MICRO), type 5 (MODIFY)
    make dependency on libmri explicit

    Some of these operations are for building on Fedora 22.

24 Sep 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    allow 3dD to proceed with only extra_stim_files

24 Sep 2015, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    inline func with static vars should be static

    Fails to link in Fedora 22.

----------------------------------------------------------------------

22 Sep 2015, RW Cox, 3dDeconvolve, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_USE_ERROR_FILE = NO turns off creation of 3dDeconvolve.err

----------------------------------------------------------------------

18 Sep 2015, P Taylor, @GradFlipTest, level 1 (MICRO), type 5 (MODIFY)
    For DWI analysis: just linear fitting of tensor.

    Faster 3dDWItoDT usage, only do linear fit.

18 Sep 2015, DR Glen, @DBSproc bug fix, level 2 (MINOR), type 4 (BUG_FIX)
    Left-right coordinate flip in @DBSproc script for Silvina Horovitz

----------------------------------------------------------------------

16 Sep 2015, RC Reynolds, suma, level 1 (MICRO), type 5 (MODIFY)
    w/dglen SUMA_find_any_object: fixed loss of isGraphDset result

16 Sep 2015, P Taylor, @GradFlipTest, level 3 (MAJOR), type 1 (NEW_PROG)
    For DWI analysis: test whether grads need to be flipped.

    Use a few tracking calls to estimate 'best' grad orientations.

----------------------------------------------------------------------

11 Sep 2015, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    edt_floatize.c: for NIFTI float->float with scale factors, apply them

    Also, fix determination of when to convert.
    Thanks to Pengmin (MB) for noting this problem.

11 Sep 2015, RC Reynolds, 3dBandpass, level 1 (MICRO), type 5 (MODIFY)
    do not propagate scalars

----------------------------------------------------------------------

10 Sep 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix resulting aligned SurfVol if input is NIFTI

----------------------------------------------------------------------

09 Sep 2015, RW Cox, whereami (etc), level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug in parsing LinkRbrain output XML file

    Problem: fread() of file does not NUL terminate the string -- causes
    problems!  Simply solved.
    Also fixed problem in afni_cluster.c, where peak coords and cmass coords
    passed to LinkRbrain were being interchanged.

09 Sep 2015, RW Cox, afni clusterize, level 1 (MICRO), type 6 (ENHANCE)
    Add popup chooser for max number linkRbrain clusters

----------------------------------------------------------------------

03 Sep 2015, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    give REML priority in guessing stats_dset

----------------------------------------------------------------------

02 Sep 2015, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    some option vars were being over-written

02 Sep 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    add -errts_dset to gen_ss_review_scripts.py command

02 Sep 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    if rest and REML, use REML errts

----------------------------------------------------------------------

01 Sep 2015, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 6 (ENHANCE)
    track errts dset, and possibly use it for voxel dims

01 Sep 2015, DR Glen, 3dcalc extreme, absextreme, level 2 (MINOR), type 2 (NEW_OPT)
    New extreme and absextreme operators to find extreme values

----------------------------------------------------------------------

28 Aug 2015, RW Cox, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    Hack to allow -stim_times_IM to work with times > TMAX

    Times > TMAX are ignored.  In usual cases, this isn't a problem.  But
    with IM regression, each time gets a regressor, and times > TMAX produce
    all zero regressors -- which is a problem.  This hack will cut them off
    (at least in some cases).

----------------------------------------------------------------------

27 Aug 2015, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    check for R packages via 'rPkgsInstall -pkgs ALL -check'

----------------------------------------------------------------------

26 Aug 2015, RC Reynolds, Makefile.ptaylor.INCLUDE, level 1 (MICRO), type 6 (ENHANCE)
    put -L.. before $LFLAGS to link local libjpeg

----------------------------------------------------------------------

25 Aug 2015, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    if initial install, update .cshrc

    If initial install (afni not in PATH) and PATH not set in .cshrc,
    update path (PATH) and do 'apsearch -afni_help_dir' update in .cshrc.

----------------------------------------------------------------------

21 Aug 2015, RC Reynolds, cifti_tool, level 3 (MAJOR), type 1 (NEW_PROG)
    initial release: updated help and added -hist

    New program to evaluate CIFTI datasets.

21 Aug 2015, RC Reynolds, timing_tool.py, level 1 (MICRO), type 4 (BUG_FIX)
    start-of-run fix to -multi_timing_to_event_list offsets

21 Aug 2015, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 6 (ENHANCE)
    add more help for 'NOTE: distribution of ISI', including a short script

21 Aug 2015, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 6 (ENHANCE)
    move gifti_tool/cifti_tool from EXPROGS to PROGRAM_LIST

    Modified 28 Makefiles.

21 Aug 2015, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 6 (ENHANCE)
    make cifti_tool

----------------------------------------------------------------------

20 Aug 2015, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_isi_pdf and -show_isi_f_pdf

----------------------------------------------------------------------

19 Aug 2015, RC Reynolds, gen_ss_review_table.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -show_missing, to show all missing labels from all files

----------------------------------------------------------------------

14 Aug 2015, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    SUMA_CIFTI_2_edset: use 'no suma' version: SUMA_WriteDset_ns

----------------------------------------------------------------------

13 Aug 2015, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    megrged cifti-toy branch from Ziad, for viewing CIFTI dataset in suma

----------------------------------------------------------------------

12 Aug 2015, RC Reynolds, gen_group_command.py, level 2 (MINOR), type 6 (ENHANCE)
    allow for generic/unknown commands via -command (e.g. ls, 3dTcat)

    Done for W-L Tseng.

12 Aug 2015, RC Reynolds, @radial_correlate, level 1 (MICRO), type 2 (NEW_OPT)
    add -mask option, to apply instead of automask

    Done for Giri.

----------------------------------------------------------------------

11 Aug 2015, RW Cox, 3dFWHMx, level 2 (MINOR), type 2 (NEW_OPT)
    -1difMOD option

    Computes the moments of the 1st differences, then estimates the mean and
    standard deviation of the smoothness factors, then reports the mean
    smoothness adjusted upwards to allow for the fact that 3dClustSim
    depends more strongly on bigger smoothness than on smaller smoothness. 
    For use with single subject tests; probably too conservative for group
    analyses.

11 Aug 2015, RW Cox, 3dFWHMx, level 1 (MICRO), type 5 (MODIFY)
    Modify -2difMAD option calculations

    If smoothness calculation fails using Median Absolute Deviation, retry
    with Mean Absolute Deviation.

----------------------------------------------------------------------

10 Aug 2015, P Taylor, fat_mvm_scripter.py, level 2 (MINOR), type 2 (NEW_OPT)
    Minor new option: input list of ROIs with file.

    For minor convenience.

----------------------------------------------------------------------

09 Aug 2015, P Taylor, 3dROIMaker, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed minor bug when GM map has no ROIs/clusters.

    No more crashing... Won't produce GM or GMI volumes; message only.

----------------------------------------------------------------------

07 Aug 2015, RC Reynolds, model_conv_PRF_6, level 1 (MICRO), type 4 (BUG_FIX)
    make everything static, to avoid confusion; proto for conv_set_ref

07 Aug 2015, RC Reynolds, model_conv_PRF, level 1 (MICRO), type 5 (MODIFY)
    make everything static, to avoid confusion

07 Aug 2015, RC Reynolds, 3dhistog, level 1 (MICRO), type 2 (NEW_OPT)
    add -noempty option, to ignore empty bins

----------------------------------------------------------------------

05 Aug 2015, RC Reynolds, NIFTI, level 2 (MINOR), type 6 (ENHANCE)
    if conversion to NIFTI-1 header fails on write, try NIFTI-2

05 Aug 2015, RC Reynolds, nifti_tool, level 1 (MICRO), type 6 (ENHANCE)
    apply library updates for potentially writing NIFTI-2

05 Aug 2015, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    add some support for reading Voxel_Bucket datasets into AFNI

    That is a type that is currently specific to SUMA.

05 Aug 2015, P Taylor, fat_mvm_prep.py, level 1 (MICRO), type 4 (BUG_FIX)
    Micro ~bug fixed for inputting CSV headings.

    Now strip off lead/trail whitespace, then replace rest with underscore.

----------------------------------------------------------------------

03 Aug 2015, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    added DTYPE_3DTM (3D+timing) ACQUSITION_TYPE

    Treats data as per volume, but with slice timing.  This is needed for
    num_chan>0, but when data does not come in num_chan slices at a time.

03 Aug 2015, RC Reynolds, Dimon1, level 1 (MICRO), type 4 (BUG_FIX)
    fixed -drive_afni, -drive_wait and -rt_cmd command lists

03 Aug 2015, RC Reynolds, Dimon, level 1 (MICRO), type 4 (BUG_FIX)
    applied ACQUSITION_TYPE as 3d+timing

    Slice timing was lost (by the plugin) in the change to 3d+t ACQ TYPE.
    Thanks to H Mandelkow for bringing this up.

----------------------------------------------------------------------

31 Jul 2015, RC Reynolds, @FindAfniDsetPath, level 1 (MICRO), type 6 (ENHANCE)
    allow full paths to succeed ; no args gives help

----------------------------------------------------------------------

30 Jul 2015, RC Reynolds, @auto_tlrc, level 1 (MICRO), type 4 (BUG_FIX)
    check for template existence even given path

    Was failing with -init_xform.

----------------------------------------------------------------------

29 Jul 2015, RW Cox, 3dTstat, level 1 (MICRO), type 2 (NEW_OPT)
    add -nzstdev option

    Given a voxel, extract all the values.  Throw out those values that are
    nonzero.  Compute the stdev of the remaining set (assuming at least 2),
    with no further processing (no detrending).

29 Jul 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    ANATICOR now works with task analysis, using -regress_reml_exec

    Done for R W Cox.

29 Jul 2015, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    block any _REMLvar stats dset (was _REMLvar+)

    Might get stats*_REMLvar_nods, for example, via 3dREMLfit -dsort_nods.

29 Jul 2015, RC Reynolds, 3dcalc, level 1 (MICRO), type 5 (MODIFY)
    clarify error about mismatch in number of volumes

----------------------------------------------------------------------

28 Jul 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    ANATICOR now includes zero volumes at censor points

    This matches non-ANATICOR and fast ANATICOR cases.

----------------------------------------------------------------------

27 Jul 2015, RW Cox, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    -dsort_nods option

    When used with -dsort, this option will make 3dREMLfit calculate the
    results with the -dsort regressors(s) omitted as well as the results
    with the -dsort regressor(s) included -- so the user can compare the
    dsort and non-dsort results easily with 1 run of the program.  'nods' ==
    'no dsort'.  Each nods dataset will have the string '_nods' appended to
    the prefix.

27 Jul 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    renamed -regress_WMeL_corr to -regress_make_corr_AIC and default to 'no'

----------------------------------------------------------------------

24 Jul 2015, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    GIFTI datasets should have NODE_INDEX list as first DataArray

    Thanks to N Oosterhof for pointing this out.

----------------------------------------------------------------------

23 Jul 2015, RW Cox, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    Add -dsort option

    Allows the addition of voxel-wise baseline regressors.  To test out
    ANATICOR applied to task-based FMRI data, for example.

23 Jul 2015, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    allow Graph_Bucket niml.dsets to be read, but just as 1D

----------------------------------------------------------------------

22 Jul 2015, P Taylor, 3dROIMaker, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed minor bug when refset has negative values.

    No more crashing...

----------------------------------------------------------------------

17 Jul 2015, RW Cox, mri_write.c, level 1 (MICRO), type 4 (BUG_FIX)
    Make mri_write_1D("stdout:") work correctly

    Before you could get filename "stdout:.1D" which is not very useful.

17 Jul 2015, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    Dimon->afni: small TCP buffers cause volumes to be passed slowly

    In iochan_recvall, increase nap time only if packets < 4K are received.

----------------------------------------------------------------------

13 Jul 2015, RC Reynolds, nifti_tool, level 3 (MAJOR), type 6 (ENHANCE)
    nifti_tool is now based on NIFTI-2, with many corresponding new options

    The old nifti_tool (based on NIFTI-1) is now nifti1_tool.

13 Jul 2015, RC Reynolds, NIFTI-2, level 3 (MAJOR), type 6 (ENHANCE)
    added NIFTI-2 support into AFNI

    Main source update: nifti/nifti2 tree, then applied it in mostly
       thd_niftiread/write.c (plus gifti_io.h, 3ddata.h, mrilib.h).
    To compile into all of AFNI edit: Makefile.INCLUDE, SUMA_Makefile_NoDev,
       Makefile.avovk.INCLUDE and Makefile.ptaylor.INCLUDE.

13 Jul 2015, RC Reynolds, nifti1_tool, level 2 (MINOR), type 1 (NEW_PROG)
    nifti1_tool is the NIFTI-1 version of nifti_tool

----------------------------------------------------------------------

11 Jul 2015, RC Reynolds, @diff.files, level 1 (MICRO), type 2 (NEW_OPT)
    added -longlist

----------------------------------------------------------------------

09 Jul 2015, DR Glen, suma flip colormaps, level 1 (MICRO), type 5 (MODIFY)
    Colormaps imported from AFNI are now flipped 'properly'

----------------------------------------------------------------------

07 Jul 2015, P Taylor, fat_mat_sel.py, level 2 (MINOR), type 2 (NEW_OPT)
    Simple new option to exclude x-axis labels.

    They might just be annoying.

----------------------------------------------------------------------

06 Jul 2015, DR Glen, RedBlueGreen Colormap, level 1 (MICRO), type 5 (MODIFY)
    New RedBlueGreen colormap for afni and suma

----------------------------------------------------------------------

01 Jul 2015, RC Reynolds, cifti_tool, level 2 (MINOR), type 2 (NEW_OPT)
    reorg and more recur functions

01 Jul 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    clarified help for -anat_unif_GM

----------------------------------------------------------------------

26 Jun 2015, RW Cox, 3dPval, level 1 (MICRO), type 1 (NEW_PROG)
    3dPval converts statistics bricks to p-values

    For Isaac.  Non-statistic bricks are converted to float and passed
    through unchanged.

----------------------------------------------------------------------

24 Jun 2015, RC Reynolds, afni_xml_tool, level 2 (MINOR), type 2 (NEW_OPT)
    afni_xml updates, and start to afni_xml_tool

----------------------------------------------------------------------

22 Jun 2015, RW Cox, 3dvolreg, level 1 (MICRO), type 5 (MODIFY)
    Add output of max inter-TR displacement

    In addition to the max total displacement (as of old).

----------------------------------------------------------------------

18 Jun 2015, RC Reynolds, 3dExtrema, level 2 (MINOR), type 2 (NEW_OPT)
    added -nbest

    Output -nbest extrema; -quiet does not suppress extrema output.

----------------------------------------------------------------------

17 Jun 2015, RC Reynolds, GIFTI, level 2 (MINOR), type 2 (NEW_OPT)
    added functions for reading from a buffer

----------------------------------------------------------------------

16 Jun 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    applied -regress_stim_times_offset to typical timing files

    Allows for stim timing offset when copying to stimuli directory.

16 Jun 2015, RC Reynolds, CIFTI, level 2 (MINOR), type 0 (GENERAL)
    added initial nifti/cifti tree

----------------------------------------------------------------------

15 Jun 2015, RC Reynolds, nifti_tool, level 2 (MINOR), type 2 (NEW_OPT)
    added -disp_cext

----------------------------------------------------------------------

14 Jun 2015, DR Glen, align_epi_anat.py edge, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed broken edge option

----------------------------------------------------------------------

12 Jun 2015, RW Cox, plug_L1fit, level 1 (MICRO), type 5 (MODIFY)
    Modify Timeseries input to use all columns of file, not just 1st

----------------------------------------------------------------------

10 Jun 2015, RC Reynolds, @diff.tree, level 3 (MAJOR), type 1 (NEW_PROG)
    look for differences between files in two directories

    Should merge @diff.files and @diff.tree, and change to python.

10 Jun 2015, RC Reynolds, @diff.files, level 3 (MAJOR), type 1 (NEW_PROG)
    compare list of files with those in other directory

10 Jun 2015, RC Reynolds, auto_warp.py, level 1 (MICRO), type 4 (BUG_FIX)
    clear any AFNI_COMPRESSOR variable, so that scripts do not get confused

    NIFTI is the default, so avoid script confusion with automatic nii.gz.
    In the future, maybe process as AFNI.

10 Jun 2015, RC Reynolds, NIFTI, level 1 (MICRO), type 4 (BUG_FIX)
    THD_open_one_dataset: let THD_open_nifti look for alternate files

    CHECK_FOR_DATA() requires a file name match, but NIFTI is forgiving.

----------------------------------------------------------------------

08 Jun 2015, RC Reynolds, neuro_deconvolve.py, level 1 (MICRO), type 6 (ENHANCE)
    allow -inputs to include paths

----------------------------------------------------------------------

06 Jun 2015, RC Reynolds, timing_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -per_run_file

----------------------------------------------------------------------

05 Jun 2015, RW Cox, 3dSimARMA11, level 1 (MICRO), type 2 (NEW_OPT)
    Add hidden -tdof option

----------------------------------------------------------------------

02 Jun 2015, RC Reynolds, NIFTI, level 1 (MICRO), type 0 (GENERAL)
    NIFTI-1,2: added NIFTI_ECODE_CIFTI/VARIABLE_FRAME_TIMING/EVAL/MATLAB

02 Jun 2015, DR Glen, plugout_drive to stdout or file, level 1 (MICRO), type 3 (NEW_ENV)
    Allow plugout_drive to get xyz,ijk,AFNI environment to file

    plugout_drive for GET_DICOM_XYZ, GET_ENV was to stdout of afni
    GUI. This was difficult to parse. Allow resetting output to file
    using AFNI_OUTPLUG environment variable or SET_OUTPLUG command

02 Jun 2015, DR Glen, graph allow single time point for writing graph, level 1 (MICRO), type 5 (MODIFY)
    Allow single TR/anat dataset to work with 'w' in graph mode

----------------------------------------------------------------------

01 Jun 2015, RC Reynolds, nifti_tool, level 2 (MINOR), type 6 (ENHANCE)
    diff/disp_hdr detects type; diff_hdr1/2

01 Jun 2015, RC Reynolds, 3dttest++, level 1 (MICRO), type 2 (NEW_OPT)
    added -dupe_ok and more warnings when dataset labels match

----------------------------------------------------------------------

27 May 2015, RC Reynolds, @Install_TSrestMovieDemo, level 1 (MICRO), type 4 (BUG_FIX)
    set and applied $demo as Suma_TSrestMovieDemo

----------------------------------------------------------------------

26 May 2015, RW Cox, 3dClustSim, level 1 (MICRO), type 2 (NEW_OPT)
    Add secret -tdof option

26 May 2015, RC Reynolds, NIFTI, level 2 (MINOR), type 6 (ENHANCE)
    nifti_read_header returns generic pointer; rename N-1/2 header read funcs

26 May 2015, RC Reynolds, 3dBlurToFWHM, level 1 (MICRO), type 5 (MODIFY)
    make -help output consistent in using FWHM (along with 3dLocalstat)

----------------------------------------------------------------------

22 May 2015, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    allow for small differences when comparing oblique angles

    Define OBLIQ_ANGLE_THRESH=0.01 as a tolerance for the difference.
    This was done to fix registration to external dset in realtime.
    Thanks to V Roopchansingh for bringing up the problem.

22 May 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    help clarifications for -regress_ROI* options

22 May 2015, DR Glen, 3dLocalstat mode, level 2 (MINOR), type 2 (NEW_OPT)
    Find mode and non-zero mode in voxel neighborhood

----------------------------------------------------------------------

21 May 2015, P Taylor, fat_mvm_scripter.py, level 2 (MINOR), type 4 (BUG_FIX)
    Minor bug fixed for inputting sublist of ROIs.

    Short option for doing so worked, but not the long one; fixed now.

21 May 2015, P Taylor, 3dDWUncert, level 1 (MICRO), type 2 (NEW_OPT)
    Can choose to analyze only high-FA voxels: don't waste time on GM/CSF.

    Option to ignore low-FA vox for uncert, leave them 0.

----------------------------------------------------------------------

19 May 2015, RC Reynolds, 3dClustSim, level 1 (MICRO), type 5 (MODIFY)
    do not allow -pthr to precede -both or -niml

    Otherwise -pthr values would be lost.

----------------------------------------------------------------------

18 May 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    allow ROI PC regression for local masks (not just external ones)

    External ROIs should now be passed via -anat_follower_ROI, rather than
    -regress_ROI_*, the latter no longer taking dataset parameters.
    Also changed -regress_ROI_erode to -anat_follower_erode and
    removed option -regress_ROI_maskave (use -regress_ROI)
    Done for R W Cox.

18 May 2015, RC Reynolds, gen_ss_review_table.py, level 1 (MICRO), type 2 (NEW_OPT)
    mention gen_ss_review_scripts.py -help_fields in help

----------------------------------------------------------------------

15 May 2015, P Taylor, 1dDW_Grad_o_Mat, level 2 (MINOR), type 2 (NEW_OPT)
    Can output separate bval file.

    Useful in some TORT preprocessing.

----------------------------------------------------------------------

14 May 2015, RW Cox, afni Clusterize, level 1 (MICRO), type 5 (MODIFY)
    Add ' Detrend?? ' button to hidden popup

    Allows user (me) to detrend the aux data before plotting it.

14 May 2015, RW Cox, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    Add -demean option == remove mean from time series before plotting

    Multiple -demean options implies higher order polynomials!

----------------------------------------------------------------------

12 May 2015, RW Cox, 3dClustSim, level 2 (MINOR), type 5 (MODIFY)
    Eliminate edge effects of smoothing by padding and unpadding

    Simulate extra-size volumes then smooth, then cut back to the desired
    volume size.  Can use new '-nopad' option to try the old-fashioned
    method. (H/T to Anders Eklund and Tom Nichols.)

----------------------------------------------------------------------

08 May 2015, RW Cox, InstaCorr, level 1 (MICRO), type 4 (BUG_FIX)
    Change way index in 3D+time dataset is chosen from xyz

    Instead of just converting from xyz (eg, crosshair) coordinates via the
    standard grid transformation functions in thd_coords.c, what we want is
    the voxel in the 3D+time dataset that is closest in 3D to the xyz
    location AFTER it is transformed back to the underlay for display.  In
    this way, the center of correlation will map to the clicked voxel.  This
    selection is done in new function THD_find_closest_roundtrip() which
    searches the 27 points in a cube around the thd_coords.c derived point,
    in order to find the voxel in the 3D+time dataset that, when transformed
    back to the underlay dataset, is closest.  Brute force, but that's what
    you have to do when dealing with the Spanish Inquisition.

08 May 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_make_corr_vols

    Use this to compute average correlation volumes for various masks.

----------------------------------------------------------------------

07 May 2015, RW Cox, AFNI GUI, level 1 (MICRO), type 5 (MODIFY)
    Change 'List of AFNI papers' to be in HTML, not plain text

    So it appears in an htmlwin rather than a textwin, and there are links
    to the papers.  Works by a new convert_text_to_html() function.

07 May 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    replaced slow 3dTfitter with 3dTproject in anaticor

    This should not affect the result, just the processing time.

----------------------------------------------------------------------

05 May 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    added help (inc Ex 11), follower modifications, WMe corr diag change

----------------------------------------------------------------------

04 May 2015, RW Cox, GLTsymtest, level 2 (MINOR), type 1 (NEW_PROG)
    For testing symbolic GLTs in a script

    So that the big boy (3dDeconvolve) doesn't have to be run just for this
    purpose.  To help out with afni_proc.py

04 May 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -anat_follower, -anat_follower_ROI, -regress_anaticor_label

----------------------------------------------------------------------

01 May 2015, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    keep num regs of interest = 0 if num stim = 0

----------------------------------------------------------------------

30 Apr 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    allow AM2 centering param via basis backdoor (for now)

    For example, use basis function 'BLOCK(2) :x:0.176'
    Done for J Britton.

30 Apr 2015, DR Glen, Selenium webdriver for afni help page too, level 1 (MICRO), type 0 (GENERAL)
    Opens page for all afni help page using python selenium webdriver

----------------------------------------------------------------------

29 Apr 2015, RC Reynolds, NIFTI, level 2 (MINOR), type 5 (MODIFY)
    allow reading and writing unknown extensions

----------------------------------------------------------------------

28 Apr 2015, RC Reynolds, NIFTI, level 3 (MAJOR), type 6 (ENHANCE)
    apply updates to NIFTI-2 I/O library

    Also, include initial mods to nifti_tool, hidden under nifti2 dir.

28 Apr 2015, RC Reynolds, clib_02.nifti2, level 2 (MINOR), type 1 (NEW_PROG)
    added clib_02.nifti2.c demo and Makefile under nifti2 dir

28 Apr 2015, RC Reynolds, NIFTI, level 2 (MINOR), type 0 (GENERAL)
    add nifti/nifti2 directory with current NIFTI-1 versions of 4 files

    This tracks initial changes to nifti2_io.[ch] nifti_tool.[ch].

28 Apr 2015, DR Glen, to3d - do not write BRIK, level 1 (MICRO), type 2 (NEW_OPT)
    Do not write binary data with -nowritebrik

    May be useful for faster realtime acquisition with symlinks

----------------------------------------------------------------------

27 Apr 2015, RW Cox, debug tracing, level 1 (MICRO), type 0 (GENERAL)
    Added 'recent internal history' to .afni.crashlog

    The last few ENTRY/EXIT/STATUS updates are saved, to help pinpoint the
    sequence of events before the demise of the patient.

27 Apr 2015, P Taylor, 3dROIMaker, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed output when byte/short insets were used.

    Had been not writing data; needed to null brick_facs in outsets.

----------------------------------------------------------------------

24 Apr 2015, RC Reynolds, gen_group_command.py, level 1 (MICRO), type 6 (ENHANCE)
    tiny help update: examples of usage regarding subject IDs

----------------------------------------------------------------------

23 Apr 2015, RW Cox, AFNI GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Fix Aux.Dset button crash in Clusterize

    Because Ziad Saad is trouble, that's why.
    (Either that, or 'free(x)' should imply 'x=NULL'.)
    Also, catch SIGABRT signal, so Mac malloc() errors are tracebacked.

23 Apr 2015, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 2 (NEW_OPT)
    add -help_fields[_brief], to describe the 'basic' output fields

----------------------------------------------------------------------

22 Apr 2015, RC Reynolds, file_tool, level 2 (MINOR), type 6 (ENHANCE)
    add fix for non-unix files; allow for multiple tests with -prefix

22 Apr 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    put in cat_matvec string to create warp.all.anat.aff12.1D

    Thanks to sgreen (MB) for noting the problem.

22 Apr 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add -todo; help update; verify use of erode list

22 Apr 2015, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    Makefile.linux_fedora_19_64: alter -I dirs for glib to build on F21

----------------------------------------------------------------------

15 Apr 2015, ZS Saad, suma-general, level 3 (MAJOR), type 4 (BUG_FIX)
    Turned off USE_XOR for now.

    Was causing very mysterious problem with labels displaying atop each other
    in the SUMA viewer. Possibly other problems too like crash when opening  
    surface controller or changing threshold. No time to get to the bottom 
    of this at this time. But turning this off fixed problem on linux and osx.
    Valgrind had nothing to complain about...

----------------------------------------------------------------------

14 Apr 2015, RW Cox, AFNI GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Fix index text overlay clash in graph window

    Because Daniel Glen is trouble, that's why.

14 Apr 2015, RC Reynolds, uber_subject.py, level 1 (MICRO), type 2 (NEW_OPT)
    add MIN_OUTLIERS as an option for volreg base

14 Apr 2015, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 5 (MODIFY)
    PLOT_matrix_gray: add error messages to clarify malloc failures

----------------------------------------------------------------------

13 Apr 2015, RW Cox, all programs, level 1 (MICRO), type 0 (GENERAL)
    AFNI programs now write crash logs to file ~/.afni.crashlog

13 Apr 2015, RW Cox, AFNI itself, level 1 (MICRO), type 4 (BUG_FIX)
    Fix crash when ClustSim info in dataset header is incomplete

    Problem was if mask string was missing, it tried to read the
    mask idcode from a now-deleleted NIML element -- bad news.

----------------------------------------------------------------------

09 Apr 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix -tlrc_NL_warped_dsets for NIFTI anat; add some -regress_ROI_PC help

----------------------------------------------------------------------

08 Apr 2015, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    updated to Ziad's new -revert option

08 Apr 2015, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    check for FATCAT_DEMO

----------------------------------------------------------------------

07 Apr 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    TLRC_warped_dsets: no view update if type != BRIK

07 Apr 2015, RC Reynolds, afni_base.py, level 1 (MICRO), type 5 (MODIFY)
    ppves: no sel -> no quotes; dset_dims: check failures and return 4 vals

07 Apr 2015, RC Reynolds, 3dnvals, level 1 (MICRO), type 5 (MODIFY)
    have 3dnvals return status 1 if all dataset opens fail

----------------------------------------------------------------------

03 Apr 2015, ZS Saad, suma-general, level 2 (MINOR), type 5 (MODIFY)
    Changes to how labeled datasets (volumes in particular) are shown in SUMA

    Made atlas and labeled volumes appear in SUMA as they do in AFNI. 
    No labels show up upon clicking though. Appearance of labeled dataset 
    will change for labeled datasets created earlier, unless env.
    SUMA_Classic_Label_Colors is set to YES

03 Apr 2015, ZS Saad, suma-general, level 1 (MICRO), type 3 (NEW_ENV)
    SUMA_Classic_Label_Colors , see .sumarc after updating it for details

----------------------------------------------------------------------

02 Apr 2015, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Added ctrl+l and ctrl+L to globally dim/brighten lighting

02 Apr 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -tlrc_NL_warped_dsets to import 3dQwarp result

    Added for P Molfese and others.

02 Apr 2015, RC Reynolds, rickr/Makefile, level 1 (MICRO), type 4 (BUG_FIX)
    Imon and serial_helper should not use LLIBS

----------------------------------------------------------------------

01 Apr 2015, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT)
    anat followers and ROI_PC

    Datasets can follow the anatomical warps
    Added options -regress_ROI_PC, -regress_ROI_maskave, -regress_ROI_erode.
    PC allows for some number of principle components to be regressed, and
       maskave is for mask averages to be regressed.
    The _erode option applies to either, and happens before xform.
    Also, any anat with skull is applied as a follower.
    Also, -tcat_remove_first_trs can now take a list.

01 Apr 2015, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    allow -censor_fill_parent with 2D files

----------------------------------------------------------------------

31 Mar 2015, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    allow -censor_fill_parent with simple 1D files

    Done for 3dpc and censoring in afni_proc.py.

----------------------------------------------------------------------

30 Mar 2015, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    update for selenium

    Includes: Makefile.linux_openmp*, xorg7*, osx_10.7*, fedora19_64,
    as well as Makefile.INCLUDE and rickr/Makefile for LLIBS.

----------------------------------------------------------------------

27 Mar 2015, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Selection now possible on VR rendered image in SUMA

27 Mar 2015, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed syntax for env SUMA_VO_InitSlices, space chars are bad.

27 Mar 2015, RW Cox, 3dttest++, level 1 (MICRO), type 4 (BUG_FIX)
    linux_xorg7_64 distribution gets argv[nopt] wrong?!

    Fixed by putting in a debug printout statement for argv[nopt] at start
    of loop over options.  Even when not used, this fixes the problem --
    probably caused by the gcc optimizer.

27 Mar 2015, DR Glen, Selenium webdriver to open webpages, level 3 (MAJOR), type 0 (GENERAL)
    Opens webpages without multiple tabs using python selenium webdriver

----------------------------------------------------------------------

23 Mar 2015, ZS Saad, BrainSkin, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed projection error in  SUMA_NN_GeomSmooth?_SO 

23 Mar 2015, RW Cox, 3dttest++, level 3 (MAJOR), type 2 (NEW_OPT)
    Add -singletonA option

    For testing one subject vs a collection of 'normals'.  Works with
    covariates.

23 Mar 2015, RC Reynolds, python-general, level 2 (MINOR), type 6 (ENHANCE)
    broke VarsObject class out into separate file

----------------------------------------------------------------------

19 Mar 2015, RC Reynolds, unix_tutorial, level 2 (MINOR), type 6 (ENHANCE)
    populated AFNI_data6/unix_tutorial with Sphinx version

    The previous tutorial was moved under 'old'.

----------------------------------------------------------------------

18 Mar 2015, ZS Saad, suma-general, level 2 (MINOR), type 4 (BUG_FIX)
    Node depths were being computed along the principal direction closest to Z 

    The proper intent is along the principal direction, regardless of 
    whether or not it is closest to the Z direction

18 Mar 2015, ZS Saad, SurfPatch, level 2 (MINOR), type 2 (NEW_OPT)
    Added -node_depth 

18 Mar 2015, ZS Saad, SurfClust, level&nbs