AFNI Detailed History


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

23 Oct 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -volreg_no_volreg

    Replace the 3dvolreg alignment transformation with the identity.
    The B Feige option.

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

10 Oct 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    mask intersect inputs did not have views

    Thanks to martinsingua on the MB for pointing out the problem.

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

04 Oct 2024, RC Reynolds, gen_group_command.py, level 3 (MAJOR), type 2 (NEW_OPT)
    add -datatable 'command', to generate table for R stats programs

    Use gen_group_command.py -command datatable to generate datatable files
    for -dataTable options, for programs like 3dMVM, 3dLME, etc.

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

24 Sep 2024, RC Reynolds, 3dTsplit4D, level 2 (MINOR), type 4 (BUG_FIX)
    fix confusion over auto-gzip BRIK name

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

19 Sep 2024, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    allow use of build_afni.py for updating the current package

    If build_afni.py was used to create the current package, then @uab
    will also use it for updating (rather than downloading an official
    package.  One can also specify to use it via -build_afni.

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

16 Sep 2024, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    if which Xvfb fails, check for its existence on disk

    Also, include .login and report fewer homebrew link suggestions.

16 Sep 2024, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    apply LOCAL_CC_PATH in Makefile.macos_13_ARM and Makefile.macos_12_x86_64

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

13 Sep 2024, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    in eispack C files, include math.h before f2c.h

    This should generally have no effect, since the local f2c.h
    includes math.h.  However, if one is using cmake and the system
    f2c for linking (rather than using afni/src/f2c), then the f2c.h
    included with the eispack files will not have math.h.
    So locally include math.h, just to be sure.

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

12 Sep 2024, RC Reynolds, build_afni.py, level 2 (MINOR), type 6 (ENHANCE)
    add option -cc_path

    Allow one to pass an alternate compiler if the relevant Makefile
    uses LOCAL_CC_PATH.  If this option is not used and the default
    compiler does not exist, try to find the most recent similar version.

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

11 Sep 2024, P Taylor, gtkyd_check, level 2 (MINOR), type 7 (REMOVE)
    Remove the *tcsh script* version of gtkyd_check.

    This has now been superseded by a Python version of same name.

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

10 Sep 2024, P Taylor, gtkyd_check, level 3 (MAJOR), type 1 (NEW_PROG)
    A *Python* version of previously-written tcsh script of same name.

    Much faster way of checking/tabulating a glob of datasets for properties.

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

04 Sep 2024, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 5 (MODIFY)
    use uname -m for CPU, instead of platform.processor()

04 Sep 2024, RC Reynolds, OS_notes.macos_12_b_user.tcsh, level 2 (MINOR), type 6 (ENHANCE)
    allow the script to be re-run with no effect

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

30 Aug 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    many updates to help examples; separate paths in compare_opts

    - make example option order more consistent
    - add examples: publish 3e ... 3j
    - exclude 'noshow' examples from default help (currently 3e,f,g,h,j)
    - separate differing paths in -compare_opts

30 Aug 2024, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    mark linux_xorg7 and linux_xorg7_64 as being obsolete

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

05 Aug 2024, RC Reynolds, compute_ROI_stats.tcsh, level 2 (MINOR), type 5 (MODIFY)
    if ALL_LT includes an ROI value of zero, remove it

05 Aug 2024, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    add option -blip_warp_dset to input a pre-computed warp

    For example, one can import the warp from epi_b0_correct.py.

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

23 Jul 2024, RC Reynolds, @chauffeur_afni, level 2 (MINOR), type 4 (BUG_FIX)
    undo the the problematic -f change from 2024/04/26

    The -f was added to tcsh to prevent biowulf from updating the PATH
    when using whereami, as they have a different program with that name.
    But -f means that on macs DYLD vars would not be set, crashing afni
    when using the macos_10.12_local binaries.

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

25 Jun 2024, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    deal with -Wimplicit-int, mostly from old f2c, needed for gcc-14

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

24 Jun 2024, RC Reynolds, build_afni.py, level 2 (MINOR), type 6 (ENHANCE)
    when running 'make', warn if CC is set (which usually causes failure)

24 Jun 2024, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    display CC; warn if CPU type differs between platform and uname

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

20 Jun 2024, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    stop reporting assuming TR=1.0 warnings for now

    Requested by P Taylor.

20 Jun 2024, RC Reynolds, Dimon, level 2 (MINOR), type 5 (MODIFY)
    make -read_all the default

    Basically for real-time sorting, this forces the initial processing
    of all (found) images, rather than a limited subset.  It allows for
    proper sorting without requiring an initial alphabetical aspect.

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

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/whereami), 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

21 Mar 2024, P Taylor, gtkyd_check, level 2 (MINOR), type 1 (NEW_PROG)
    Add new program to make summaries of data file properties.

    Glob many datasets, get tables to compare for similarities/diffs.

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

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 warnings 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 2 (MINOR), type 2 (NEW_OPT)
    Added options -in_range, -ex_range for thresholding and output COM and Cent

    These changes resulted in numerous small changes throughout the code for 
    a more uniform handling of thresholding methods

18 Mar 2015, RC Reynolds, sphinx, level 3 (MAJOR), type 6 (ENHANCE)
    added unix_tutorial to the doc tree

18 Mar 2015, RC Reynolds, sphinx, level 1 (MICRO), type 5 (MODIFY)
    renamed tutorials.rst to SelfGuidedScripts.rst, along with tag

18 Mar 2015, RC Reynolds, 3dBandpass, level 1 (MICRO), type 6 (ENHANCE)
    let user know details of dimensionality reduction

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

13 Mar 2015, ZS Saad, ParseName, level 2 (MINOR), type 2 (NEW_OPT)
    Added ExistsAs in ParseName

    This can find whether or not you have datasets on disk with some 
    view (+tlrc), say given only a prefix.

13 Mar 2015, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    added code to receive and store ECHO_TIMES

    This is passed as control information and is stored in rtin->TE.

13 Mar 2015, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    added V Roopchansingh update for T2* est Merge function

13 Mar 2015, RC Reynolds, Dimon, level 1 (MICRO), type 2 (NEW_OPT)
    added option -te_list to pass ECHO_TIMES to plug_realtime

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

12 Mar 2015, ZS Saad, 3dROIstats, level 2 (MINOR), type 2 (NEW_OPT)
    Added -pc* and -key options to compute coordinate PC of clusters.

    See -help for details.

12 Mar 2015, RC Reynolds, afni_util.py, level 1 (MICRO), type 6 (ENHANCE)
    implemented fast=0 in get/show_process_stack

12 Mar 2015, RC Reynolds, afni_base.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed capture in shell_exec2 for old python, where readlines() would hang

12 Mar 2015, RC Reynolds, 3dDeconvolve.py, level 1 (MICRO), type 5 (MODIFY)
    allow for collinearity in regressor warnings

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

11 Mar 2015, ZS Saad, 3dSeg, level 3 (MAJOR), type 2 (NEW_OPT)
    Added -mixfloor to avoid getting NAN when certain classes disappear.

    Also added -mixfrac IGNORE to turn off any modulation by the mixing
    fraction during the EM routines.

11 Mar 2015, RW Cox, afni GUI, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_CROSSHAIR_THICKNESS

    Lets user set thickness of image crosshair lines.  For someone named
    Corianne, if that is a real name.

11 Mar 2015, RC Reynolds, afni_util.py, level 2 (MINOR), type 6 (ENHANCE)
    added covary and linear_fit; -listfunc takes -/stdin to read from stdin

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

04 Mar 2015, ZS Saad, suma, level 3 (MAJOR), type 2 (NEW_OPT)
    Added WHelp button to mimic BHelp but open online pages

    This required a few additional modifications to the auto-help
    generating functions. Lots of work under the hood.

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

03 Mar 2015, ZS Saad, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed misuse of strncat in distribution

03 Mar 2015, RC Reynolds, powell_int.c, level 1 (MICRO), type 4 (BUG_FIX)
    multiple include directives got joined on one line

03 Mar 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    added MIN_OUTLER as an option to -volreg_align_to

    Also, updated requirement data from Feb 9 to Nov 9.

03 Mar 2015, DR Glen, align_epi_anat.py align_centers on/off/yes/no, level 1 (MICRO), type 5 (MODIFY)
    align_centers can be on or yes, off or no

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

02 Mar 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed 3dTproject call for resting state on surface

    Thanks to Tara (message board) for noting the problem.

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

27 Feb 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -regress_WMeL_corr option, which I forgot about last time

27 Feb 2015, RC Reynolds, @compute_gcor, level 1 (MICRO), type 2 (NEW_OPT)
    added -corr_vol, to output a global correlation volume

    Note that afni_proc.py does these steps by default.

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

26 Feb 2015, ZS Saad, IsoSurface, level 2 (MINOR), type 2 (NEW_OPT)
    Added -autocrop and -mergerois+dset

    See help for details

26 Feb 2015, ZS Saad, BrainSkin, level 2 (MINOR), type 2 (NEW_OPT)
    Added -no_zero_attraction

    See help for details

26 Feb 2015, DR Glen, align_epi_anat.py align_centers bug, level 2 (MINOR), type 4 (BUG_FIX)
    align_centers always called by mistake

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

25 Feb 2015, ZS Saad, IsoSurface, level 2 (MINOR), type 2 (NEW_OPT)
    Added -remesh option to simplify meshes

25 Feb 2015, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Patched ID collisions for input datasets

25 Feb 2015, ZS Saad, suma, level 1 (MICRO), type 3 (NEW_ENV)
    Implemented dataset autoloading

    See env SUMA_AutoLoad_Matching_Dset in ~/.sumarc

25 Feb 2015, ZS Saad, suma, level 1 (MICRO), type 3 (NEW_ENV)
    Added env SUMA_AutoLoad_Matching_Dset to control transparency step

25 Feb 2015, ZS Saad, suma, level 1 (MICRO), type 3 (NEW_ENV)
    Added env SUMA_Transparency_Step to control transparency step

25 Feb 2015, ZS Saad, IsoSurface, level 1 (MICRO), type 2 (NEW_OPT)
    Added auto dset generation along with surfaces with -isorois+dsets

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

24 Feb 2015, RC Reynolds, neuro_deconvolve.py, level 2 (MINOR), type 6 (ENHANCE)
    re-wrote method: new decon, upsample, multiple files, reconvolve

    This is partially for evaluation of the decon/recon PPI steps.

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

23 Feb 2015, ZS Saad, suma-general, level 3 (MAJOR), type 5 (MODIFY)
    Allow SUMA to break a surface into multiple drawing patches

    This makes it possible to show certain parts of a mesh based on 
    a nodemask. The nodemask can be generated on the fly and updated with 
    mouse clicks. This is only available in -dev mode. See SUMA_DrawMesh_mask(
    )
    and temporary env SUMA_TEMP_NODE_CMASK_EXPR

23 Feb 2015, ZS Saad, IsoSurface, level 3 (MAJOR), type 2 (NEW_OPT)
    Made IsoSurface handle ROI volumes better

    See options -mergerois, -isorois for details

23 Feb 2015, ZS Saad, suma-general, level 2 (MINOR), type 2 (NEW_OPT)
    Set transparency and rendering modes per object

    See ctrl+o, ctrl+p

23 Feb 2015, ZS Saad, suma-general, level 1 (MICRO), type 4 (BUG_FIX)
    Patched source for hash collisions on file names

23 Feb 2015, ZS Saad, suma-general, level 1 (MICRO), type 2 (NEW_OPT)
    Added support for STL I/O format. It is handy for 3D printing.

23 Feb 2015, ZS Saad, afni-general, level 1 (MICRO), type 5 (MODIFY)
    Made SUMA_Swap_String handle increased string length.

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

19 Feb 2015, DR Glen, @Align_Centers child bug, level 2 (MINOR), type 4 (BUG_FIX)
    child datasets not created properly

    If creating new shift datasets (the default), the
    datasets would not be properly updated to reflect
    the new origin shift.

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

17 Feb 2015, DR Glen, align_epi_anat.py center alignment, level 2 (MINOR), type 2 (NEW_OPT)
    -ginormous_move and -align_centers added

    Added call to @Align_Centers for initial center alignment
    The -align_centers option can be used by itself with the 
    transformation matrix included in the combination transformation.
    Adding the center alignment on to giant_move, given the nom
    of ginormous_move. Note these options ignore any obliquity
    in the original datasets.

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

13 Feb 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    make WMeLocal for fast anaticor a float dataset

    Also, generate WMeL_corr as a diagnostic volume.

13 Feb 2015, RC Reynolds, 3dcalc, level 1 (MICRO), type 6 (ENHANCE)
    allow for longer -prefix, to include what would be set via -session

    Done for P Kohn.

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

12 Feb 2015, RW Cox, afni GUI graphs, level 1 (MICRO), type 0 (GENERAL)
    Labels for x-axis range

12 Feb 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_anaticor_fast/-regress_anaticor_fwhm

    This implements the 'fast' ANATICOR method, computing the WMeLocal
    voxel-wise regressors via an FWHM Gaussian sum of WMe voxels, rather
    than a uniform sum within a radius.

12 Feb 2015, RC Reynolds, make_stim_times.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -no_consec option, to block consecutive events

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

11 Feb 2015, RC Reynolds, model_conv_PRF, level 1 (MICRO), type 5 (MODIFY)
    use AFNI_MODEL_PRF_RAM_STATS to control RAM use reporting

    Maybe malloc_stats() is not available on macs.

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

10 Feb 2015, RW Cox, afni GUI, level 2 (MINOR), type 0 (GENERAL)
    Ability to graph time series with x-axis from another dataset

    Voxel-by-voxel x-axis selection.  Previously (Jan 1998) could only do
    x-axis as a 1D file == fixed for all sub-graphs.  Now each voxel can get
    its own x-axis.  God help you.

10 Feb 2015, RC Reynolds, make_stim_times.py, level 1 (MICRO), type 5 (MODIFY)
    clarify use of both -nruns, -nt

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

09 Feb 2015, RC Reynolds, file_tool, level 2 (MINOR), type 6 (ENHANCE)
    warn on '\' without preceding space

    Gang and J Rajendra ran into a problem on OS X 10.9.5.

09 Feb 2015, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    applied updates matching 3dClustSim (9 table output)

    Output from 3dClustSim is now 9 tables: NN=1,2,3 by 1-,2-,bi-sided tests.

09 Feb 2015, P Taylor, 3dTrackID, level 2 (MINOR), type 2 (NEW_OPT)
    Can threshold bundles with too few tracks; TRK files not default out.

    Useful to control false pos;  useful to save space outputting.

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

06 Feb 2015, ZS Saad, 3dSurfMask, level 1 (MICRO), type 2 (NEW_OPT)
    Added -meth peri to return intersection with surface only.

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

05 Feb 2015, ZS Saad, @Test_disk_IO, level 1 (MICRO), type 1 (NEW_PROG)
    Script to test disk I/O speeds

05 Feb 2015, ZS Saad, 3dinfill, level 1 (MICRO), type 2 (NEW_OPT)
    Added -mask option to restrict filling to holes within mask

05 Feb 2015, ZS Saad, 3danisosmooth.c, level 1 (MICRO), type 5 (MODIFY)
    More smoothing feature output.

    Output cosine of principal gradient eigen vector with radial direction in 
    debugging output.

05 Feb 2015, ZS Saad, 3dBrickStat.c, level 1 (MICRO), type 2 (NEW_OPT)
    added -stdev

05 Feb 2015, RW Cox, AFNI InstaCorr, level 2 (MINOR), type 0 (GENERAL)
    Add Iterate option

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

03 Feb 2015, RC Reynolds, model_conv_PRF, level 2 (MINOR), type 6 (ENHANCE)
    consolidate blur and reorg into one function, to reduce max memory usage

    This allows the program to run on weaker systems, cutting the max RAM
    usage by one half.  A prior step was to allocate main RAM early so that
    free() would release to the OS (Linux), but that is now moot.
    This change has no effect on the results (no binary diff).

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

02 Feb 2015, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Take coords from a surface rather than just a file for -com node_xyz

02 Feb 2015, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Add "_once" popup messages to AFNI GUI

    So the message only pops up once for each user -- function
    MCW_popup_message_once() in xutil.c -- first use is a popup message for
    Clusterize alpha values, mentioning the new tables.

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

30 Jan 2015, ZS Saad, BrainSkin, level 2 (MINOR), type 2 (NEW_OPT)
    Added -vol_skin and -vol_hull to create smooth contours of mask volume.

30 Jan 2015, ZS Saad, 3dinfill, level 2 (MINOR), type 2 (NEW_OPT)
    Improvements to SOLID fill method and addition of option -ed

30 Jan 2015, RW Cox, Clusterize, level 2 (MINOR), type 0 (GENERAL)
    Add Bi-sided clustering

    Goes along with the new 3dClustSim, which now generates tables for that
    case as well. 'Bi-sided' means positive above-threshold voxels are
    clustered separately from negative below-minus-threshold voxels.  Note
    that bi-sided is turned off for 1-sided thresholding and/or Pos func,
    even if the user turns bi-sided on in the Clusterize chooser.

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

29 Jan 2015, RW Cox, afni GUI, level 3 (MAJOR), type 0 (GENERAL)
    Use new 3dClustSim tables

    Now Clusterize chooses the table to use based on the threshold type (t-
    or F-stat, say), and if 1-sided thresholding was chosen by the user. 
    Also, the p-value below the slider now adjusts if the user chose to do
    1-sided thresholding on a 2-sided statistic (t-stat, correlation,
    z-score).

29 Jan 2015, RW Cox, 3dClustSim, level 3 (MAJOR), type 0 (GENERAL)
    Compute NN=1,2,3 and 1-sided, 2-sided, bi-sided tables

    In sum, all 9 tables are ALWAYS computed now.

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

28 Jan 2015, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    in mri_fdrize, warn user if p->q is skipped because of < 20 voxels

28 Jan 2015, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 5 (MODIFY)
    take SurfMesh out of SUMA_PROGS; use LC_COLLATE in sort for prog_list

    done to keep GTS progs out of macosx_10.6_Intel_64.no.fink build

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

27 Jan 2015, P Taylor, fat_mvm_scripter.py, level 2 (MINOR), type 5 (MODIFY)
    Include main effects of interaction vars in post hoc tests.

    Hadn't been testing these previously.

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

26 Jan 2015, P Taylor, fat_mvm_scripter.py, level 2 (MINOR), type 4 (BUG_FIX)
    Hadn't included part quantitative interaction term in qVars list.

    Program wouldn't run if interaction term had quant var.

26 Jan 2015, P Taylor, 3dTrackID, level 2 (MINOR), type 2 (NEW_OPT)
    Can dump output *maps*, not just masks, of each connection.

    See '-dump_rois AFNI_MAP' for how it works.

26 Jan 2015, P Taylor, fat_mvm_prep.py, level 1 (MICRO), type 0 (GENERAL)
    Ignore empty lines or whitespace lines in CSV file.

    Causes less hassle at times now.

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

23 Jan 2015, ZS Saad, 3dLocalstat, level 2 (MINOR), type 2 (NEW_OPT)
    Added -stat list and -stat hist* .

23 Jan 2015, P Taylor, 3dTrackID, level 2 (MINOR), type 4 (BUG_FIX)
    Rare scenario of -nifti -dump_rois AFNI not working.

    Needed to add a mkdir() internally.  Itsafinenow.

23 Jan 2015, DR Glen, whereami GUI, level 2 (MINOR), type 3 (NEW_ENV)
    Web-based links in Whereami GUI on by default

    Links will be available by default now. Effectively
    equivalent to setting these environment variables to YES:
    AFNI_WEBBY_WAMI, AFNI_SUMSDB and AFNI_NEUROSYNTH.

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

22 Jan 2015, P Taylor, 3dROIMaker, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed some issues when only a tiny number of voxels is in inset.

    Labelling wasn't correct when nvox < n_refset_roi.

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

21 Jan 2015, ZS Saad, 3dSkullStrip, level 1 (MICRO), type 4 (BUG_FIX)
    Made program take sub-brick selectors at input.

    Involved bringing SUMA_AfniExists() and SUMA_AfniPrefix() from stone age.

21 Jan 2015, ZS Saad, 3dGenPriors, level 1 (MICRO), type 2 (NEW_OPT)
    Made program output centrality measures with -do o .

    Documentation hidden until option is ready for mass usage.

21 Jan 2015, ZS Saad, 3dGenPriors, level 1 (MICRO), type 5 (MODIFY)
    Made it use labeltable from -cset if needed & check for empty init classes.

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

20 Jan 2015, RC Reynolds, timing_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    allow ',' as married timing separator (along with '*')

20 Jan 2015, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    added option -show_trs_to_zero, to compute length of iresp

    This is to computer the number of TRs until a curve bottoms out at 0.

20 Jan 2015, DR Glen, whereami GUI, level 2 (MINOR), type 3 (NEW_ENV)
    SumsDB link

    Link out from whereami GUI in afni to SumsDB database
    with new environment variable AFNI_SUMSDB (YES/NO).
    Must also set AFNI_WEBBY_WAMI to YES.

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

16 Jan 2015, ZS Saad, 3dHist, level 1 (MICRO), type 2 (NEW_OPT)
    Added -get outl

    Included fixing returned values in SUMA_hist_value() when out of bounds.

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

15 Jan 2015, ZS Saad, imcat, level 1 (MICRO), type 2 (NEW_OPT)
    -zero_wrap, and -gray_wrap for padding with black, white, or gray levels.

15 Jan 2015, ZS Saad, @ExamineGenFeatDists, level 1 (MICRO), type 2 (NEW_OPT)
    Added option -nx, padding with white, fixed couple of small glitches too.

15 Jan 2015, RC Reynolds, afni_util.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed () in case of r(A,B,unbiased=1), which matches correlation_p()

15 Jan 2015, RC Reynolds, afni_skeleton.py, level 1 (MICRO), type 1 (NEW_PROG)
    just to save a starting point for other new programs

15 Jan 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    include -demean when running 3ddot on masks

15 Jan 2015, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 2 (NEW_OPT)
    added -hist; if unknown opt and cur version, fail after check

15 Jan 2015, RC Reynolds, 3ddot, level 1 (MICRO), type 6 (ENHANCE)
    explicitly state 'Pearson' correlation in help

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

14 Jan 2015, RC Reynolds, read_matlab_files.py, level 2 (MINOR), type 1 (NEW_PROG)
    read and possibly convert MATLAB files to 1D format

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

13 Jan 2015, ZS Saad, afni-general, level 1 (MICRO), type 5 (MODIFY)
    Made R_io.so loading error a little more helpful.

13 Jan 2015, RW Cox, 3dQwarp, level 1 (MICRO), type 2 (NEW_OPT)
    Secret option '-ballopt'

    A step towards using more complex basis functions, by allowing
    optimization only over an L2-ball in parameter space, rather than a
    hypercube.

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

09 Jan 2015, ZS Saad, suma-general, level 2 (MINOR), type 5 (MODIFY)
    Released new documentation to the wild.

09 Jan 2015, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Made sure neighborhoods containing central voxel return its value 1st.

09 Jan 2015, ZS Saad, 3dLocalstat, level 2 (MINOR), type 5 (MODIFY)
    Added -*diffs options for computing local differences

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

08 Jan 2015, DR Glen, @Shift_Volume, level 1 (MICRO), type 4 (BUG_FIX)
    No need to update space for simple shift option

    Previous version reported error for RAI shift but produced correct results

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

07 Jan 2015, RW Cox, 3dQwarp, level 2 (MINOR), type 2 (NEW_OPT)
    Add -gridlist and -allsave options

    Allows specifying the exact list of patch/grid sizes to use, and also to
    save the output warp at each level.

07 Jan 2015, P Taylor, 3dTrackID, level 2 (MINOR), type 2 (NEW_OPT)
    Switch to output nifti files.

    For PAIRMAP, INDIMAP and -dump_rois output.

07 Jan 2015, P Taylor, 3dROIMaker, level 2 (MINOR), type 2 (NEW_OPT)
    Switch to output nifti files.

    For GM and GMI files.

07 Jan 2015, P Taylor, 3dNetCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Switch to output nifti files.

    For corr map or Z map files.

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

02 Jan 2015, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    added MIN_OUTLIER to example 7

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

29 Dec 2014, ZS Saad, suma-general, level 2 (MINOR), type 5 (MODIFY)
    Lot of additions to SphinxDocs/SUMA, plus auto-doc for SUMA controller

29 Dec 2014, ZS Saad, afni_open, level 1 (MICRO), type 5 (MODIFY)
    Made it open local .html files

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

22 Dec 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added All Objs button to initialize controllers for all objects if desired

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

21 Dec 2014, P Taylor, fat_mat_sel.py, level 4 (SUPER), type 1 (NEW_PROG)
    Plot, view and save matrix file info.

    Works for both 3dNetCorr and 3dTrackID info.

21 Dec 2014, P Taylor, 3dTrackID, level 2 (MINOR), type 0 (GENERAL)
    Change of string output in .niml.dset.

    Make the label match the ROI string labels.

21 Dec 2014, P Taylor, 3dNetCorr, level 2 (MINOR), type 0 (GENERAL)
    Output NIML dset automatically.

    This allows users to view connectivity matrix info in SUMA easily.

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

18 Dec 2014, RW Cox, 3dUnifize, level 1 (MICRO), type 2 (NEW_OPT)
    Add -T2 option

18 Dec 2014, RC Reynolds, afni_base.py, level 1 (MICRO), type 6 (ENHANCE)
    in shell_com:val(), if no stdout but have stderr, display stderr

18 Dec 2014, DR Glen, VmPFC atlas, level 2 (MINOR), type 0 (GENERAL)
    Ventro-medial prefrontal cortex atlas

    Worked with Scott Mackey to make maximum probability map atlas available

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

17 Dec 2014, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Modify colorscale to fade horizontally when Alpha is on

    And in the Saved colorscale image (which was also changed in default
    size).

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

15 Dec 2014, P Taylor, 3dROIMaker, level 3 (MAJOR), type 2 (NEW_OPT)
    Make a subset of an ROI by choosing maximal neighboring values.

    Start with peak value, add neighboring max until N voxels selected.

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

11 Dec 2014, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Change way opacity fades down to Floor value

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

10 Dec 2014, ZS Saad, imcat, level 2 (MINOR), type 2 (NEW_OPT)
    Added -autocrop* options

10 Dec 2014, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Driver for Alpha settings; fix outline of supra-threshold regions

    driver command SET_FUNC_ALPHA now works.
    Outline of supra-threshold regions is now the next set of pixels outside
    each region, rather than the border pixels inside the region (as
    before).

10 Dec 2014, RC Reynolds, meica.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed 3dTshift input in case of --no_despike

    Thanks to M Plitt for the code fix.

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

09 Dec 2014, RW Cox, afni GUI, level 2 (MINOR), type 5 (MODIFY)
    Add 'Alpha' fading to overlay

    In this mode, the outlines of the supra-threshold regions are outlined
    (unless AFNI_EDGIZE_OVERLAY is NO).  Alpha fading is turned off in
    Clusterize at this time, since it would be complicated to make the 2
    things work together.

09 Dec 2014, RW Cox, afni GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Make 'Alpha' mode work with Montages -- oops

    There's probably other stuff that doesn't work with RGBA overlays, but
    we'll have to see what happens.

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

05 Dec 2014, RW Cox, 3dNwarpApply, level 3 (MAJOR), type 4 (BUG_FIX)
    Forgot to index-ize the matrix warps before applying them!

    In the revised way of catenating time-dependent warps, the matrix warps
    are kept in xyz coords until they are actually used, when they should be
    transformed to ijk coords.  In the 'old' way, they were transformed
    directly on input.  But in the 'new' way, I forgot to transform them
    before applying them in the catenation loop, and the results were not
    pretty.  I'm still searching for someone to blame for this, since it
    clearly can't be MY fault.  Any volunteers?

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

04 Dec 2014, ZS Saad, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    Added -handedness option.

04 Dec 2014, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Default coloring of directions was using negative values.

    No so good for openGL colors. Negative values get clamped at 0.
    Default coloring is now ABS(X|Y|Z) now.

04 Dec 2014, DR Glen, @Align_Centers, level 2 (MINOR), type 2 (NEW_OPT)
    1Dmat_only_nodset option

    Undid former fix because other scripts may rely on these shifted datasets
    and added new option. Datasets will not be output or modified with
    new option, and just the transformation matrix is output

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

02 Dec 2014, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    added floatscan to THD_load_nifti for case of double->float conversion

    Thanks to M Gregory.

02 Dec 2014, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    -tlrc_NL_awpy_rm was not being applied

02 Dec 2014, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixes for child_anat and mean epi base

    Thanks to Isaac Schwabacher for the child_anat fix!

02 Dec 2014, DR Glen, @Align_Centers, level 1 (MICRO), type 4 (BUG_FIX)
    fix for 1Dmat_only output

    Datasets were output or modified even with this option,
    Now just the transformation matrix is output

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

01 Dec 2014, RW Cox, 3dNwarpApply, level 3 (MAJOR), type 0 (GENERAL)
    Extensive changes to make operations more general

    (1) Allow catenation of warps with different grid spacings -- the new
    Nwarp_catlist struct and functions will re-grid to make them match.
    (2) Allow input of affine warps with multiple time points, so that
    3D+time datasets can be warped with a time dependent Nwarp_catlist.
    (3) Allow input of multiple source datasets, so that several datasets
    can be warped the same way at once.  This is more efficient, since the
    auto-catenation in the Nwarp_catlist will only have to be done once.
    (3a) Specification of the output dataset names can be done via multiple
    arguments to the '-prefix' option, or via the new '-suffix' option.

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

26 Nov 2014, ZS Saad, 3danisosmooth, level 2 (MINOR), type 2 (NEW_OPT)
    Output of diffusion measures, along with adjustment of debug volumes

    For details, see tersely named option  -save_temp_with_diff_measures, 
    along with modified help for -savetempdata

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

25 Nov 2014, RC Reynolds, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    added get_process_depth()

    sample use: afni_util.py -print 'get_process_depth()'

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

24 Nov 2014, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Fixed clash between matrix.h and matrix_f.h

    Clash was my own doing, I had introduced it by including matrix.h
    via suma_string_utils.h into 3ddata.h. The conflict has been resolved
    now. Care must be taken to include matrix_f.h early in a .c file and
    that would stop the inclusion of matrix.h from suma_*.h files.

24 Nov 2014, ZS Saad, 3dRetinoPhase, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed floating point precision error that resulted in error message

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

21 Nov 2014, ZS Saad, afni-general, level 3 (MAJOR), type 5 (MODIFY)
    More and more and more changes to the -help

    Devised system to simplify, so to speak, the generation of 
    sphinxized help. Changes span multiple functions, most visible 
    are the sphinx_printf() and its siblings, and new options in apsearch.
    See program 3dToyProg.c for an example on how to write help for C programs
    .
    See also Writing_Help.rst for more details.

21 Nov 2014, RC Reynolds, meica.py, level 1 (MICRO), type 5 (MODIFY)
    merged -affter into -nwarp in 5 3dNwarpApply calls

21 Nov 2014, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    -anat_unifize_method none now means to skip, default means to do in AW

    Basically, this adds the ability to skip 3dUnifize completely.

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

19 Nov 2014, RC Reynolds, Dimon, level 1 (MICRO), type 4 (BUG_FIX)
    do not allow num_suffix to be processed as octal

19 Nov 2014, RC Reynolds, 3dclust, level 1 (MICRO), type 6 (ENHANCE)
    clarify -mni in help (do not use if already MNI)

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

18 Nov 2014, RW Cox, 3dTRfix, level 2 (MINOR), type 1 (NEW_PROG)
    Interpolate from a variable TR grid to a fixed TR grid

    For Javier et alii.  No T1 artifact correction, just interpolation.

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

11 Nov 2014, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    GraphCont->CN->Col now abide by the 'u' selection for unconnected nodes

11 Nov 2014, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Made matrix display labels track selection

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

10 Nov 2014, RC Reynolds, afni, level 1 (MICRO), type 6 (ENHANCE)
    added color maps Reds_and_Blues, and _w_Green

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

09 Nov 2014, DR Glen, whereami connections, level 2 (MINOR), type 5 (MODIFY)
    Web display includes connections links

    Developed for macaque connection webpages

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

07 Nov 2014, RC Reynolds, model_conv_PRF_6, level 2 (MINOR), type 1 (NEW_PROG)
    6 parameter population receptive field estimate model

    Added sigrat (sigma ratio) and theta parameters.
    For E Silson and C Baker.

07 Nov 2014, RC Reynolds, mri_nwarp.c, level 1 (MICRO), type 4 (BUG_FIX)
    applied update to free temporary warp on behalf of RWC

07 Nov 2014, RC Reynolds, auto_warp.py, level 1 (MICRO), type 5 (MODIFY)
    moved -affter warp to -warp in 3dNwarpApply

07 Nov 2014, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    moved -affter warp to -warp in 3dNwarpApply

    This applies the 22 Oct, 2014 change to 3dNwarpApply.

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

05 Nov 2014, P Taylor, 3dROIMaker, level 3 (MAJOR), type 3 (NEW_ENV)
    Default neighborhoods now AFNI standard; labeltable functionality in.

    Default 'hoods more standard, can still do other; labels by default.

05 Nov 2014, P Taylor, 3dTrackID, level 2 (MINOR), type 2 (NEW_OPT)
    Switch to not output INDI and PAIR map files.

    In connectome examples, this might save a lot of space.

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

04 Nov 2014, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Continued modifications for help generating functions, now with selfies

    Now SUMA can take selfies of the varied widget frames, making the  
    documentation easier to generate. This involved adding a new version
    of ISQ_snapfile() called ISQ_snapfile2() and a rendering of a colormap
    in X11. Search for Fake_Cmap for relevant locations in C code.

04 Nov 2014, RC Reynolds, CA_EZ_atlas.csh, level 1 (MICRO), type 5 (MODIFY)
    with unchecked -help this dumps TT_N27 in current directory

    Updated so that 'apearch -update_all_afni_help' does not dump dataset.
    Updated directly under pub/dist/bin.
    Should this script even be distributed?

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

03 Nov 2014, G Chen, rPkgsInstall, level 2 (MINOR), type 1 (NEW_PROG)
    Install/check/update/remove R packages on the terminal

    This is an R program that allows the user to install,
    check, update, or remove R packages on the shell terminal.

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

28 Oct 2014, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Add 2D Sharpness function to transformations.  For fun.

28 Oct 2014, RC Reynolds, timing_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    expanded -help_basis

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

27 Oct 2014, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    added 107 face images for 20 years

27 Oct 2014, RC Reynolds, Dimon, level 2 (MINOR), type 4 (BUG_FIX)
    fixed strcmp trap in -sbns; have -sb_num_suffix look for any last integer

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

24 Oct 2014, P Taylor, 3dTrackID, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed offset in track to volume coordinates 

    Effect of bug restricted to viewing of tracts rather than volume masks and
     connectivity matrices.
    Offset was by half a voxel in each of the three dims.

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

23 Oct 2014, RW Cox, 3dNwarpCat, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug introduced with changes made for 3dNwarpApply

23 Oct 2014, RW Cox, 3dNwarpApply, level 1 (MICRO), type 5 (MODIFY)
    Make the -interp option work properly for the warp input

23 Oct 2014, RC Reynolds, afni_util.py, level 2 (MINOR), type 6 (ENHANCE)
    enhanced read_text_file and added shuffle_blocks

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

22 Oct 2014, RW Cox, 3dNwarpApply, level 3 (MAJOR), type 5 (MODIFY)
    Alter -nwarp option a lot

    Specifically, allow time-dependent matrix inputs in any position in the
    -nwarp catenation stream (only for this program, not the fixed-warp
    programs 3dNwarpCat, 3dNwarpXYZ, 3dNwarpFuncs).  Removes the -affter
    option, which is now absorbed into the -nwarp processing.

22 Oct 2014, RC Reynolds, 3dmask_tool, level 1 (MICRO), type 4 (BUG_FIX)
    if padding for dilate/erode steps, preserve ijk_to_dicom_real

    Thanks to A Kurani for noting the problem.

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

20 Oct 2014, RC Reynolds, imcat, level 2 (MINOR), type 4 (BUG_FIX)
    z and r: fixed y-padding

20 Oct 2014, DR Glen, Haskins Pediatric templates and atlases, level 3 (MAJOR), type 0 (GENERAL)
    Nonlinear and affine versions of Haskins Pediatric templates and atlases

    New templates with matching segmentation atlases are provided for
    pediatric subjects, ages 8-12

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

17 Oct 2014, ZS Saad, suma, level 3 (MAJOR), type 0 (GENERAL)
    Modifications for help generating functions

    New tools allow for automatic Sphinx formatted documentation straight 
    from BHelp buttons. Added scrolling to arrow fields.

17 Oct 2014, ZS Saad, afni-general, level 3 (MAJOR), type 0 (GENERAL)
    Checked in first pass of SUMA sphinx documentation

    GUI documentation is automatically generated from BHelp text.

17 Oct 2014, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added -load_masks, -save_masks, and -masks for driving tract controller

    Options help in creating all GUI help and herald the automation of the 
    tract and tract masking controller.

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

16 Oct 2014, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added sort_methods: none, acq_time, default, num_suffix, zposn

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

15 Oct 2014, ZS Saad, imcat, level 2 (MINOR), type 2 (NEW_OPT)
    Added -respad_in, -gscale, and -pad_val options

    Process involved modifications to mri_read_resamp_many_files(),
    mri_zeropad_2D(), and a new mri_valpad_2D(). See imcat -help for details.

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

10 Oct 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added directions and point clouds as DOs

    See interactive help for #directions, #points

10 Oct 2014, RW Cox, 3dAllineate, level 1 (MICRO), type 2 (NEW_OPT)
    -realaxes ==> use ijk_to_dicom_real vs. ijk_to_dicom

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

09 Oct 2014, RW Cox, AFNI GUI, level 1 (MICRO), type 5 (MODIFY)
    'U' key does overlay/underlay switch on all controllers

    whereas 'u' does just one controller

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

08 Oct 2014, RC Reynolds, Dimon, level 2 (MINOR), type 4 (BUG_FIX)
    added -save_errors and more recovery chances, fixed sb_num_suffix app

    Stage 3 of sorting broke stage 2 of sorting.
    Thanks to V Roopchansingh for noting the problem.

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

07 Oct 2014, ZS Saad, AFNIio.R, level 2 (MINOR), type 2 (NEW_OPT)
    Allowed specification and inheritance of TR in write functions

07 Oct 2014, RW Cox, InstaCorr in AFNI GUI, level 2 (MINOR), type 5 (MODIFY)
    Multiple sections to be correlated

    Input 'Start,End' in the format 'Start@Length,Number,Delta' to get
    sections of the given 'Length'.

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

03 Oct 2014, RW Cox, 3dTsmooth, level 1 (MICRO), type 2 (NEW_OPT)
    Add adaptive mean filtering as an option

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

30 Sep 2014, ZS Saad, suma, level 3 (MAJOR), type 4 (BUG_FIX)
    Fixed bug with NUMLOCK keeping surfaces from rotating on linux!

30 Sep 2014, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Now show bundles labels recently added to FATCAT

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

26 Sep 2014, P Taylor, 3dTrackID, level 3 (MAJOR), type 2 (NEW_OPT)
    Allow labeltable reading and writing.

    This allows users to use labeltables, and output labelled values everywher
    e.

26 Sep 2014, P Taylor, 3dNetCorr, level 3 (MAJOR), type 2 (NEW_OPT)
    Allow labeltable reading and writing.

    This allows users to use labeltables, and output labelled values everywher
    e.

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

25 Sep 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 0 (GENERAL)
    sending QUIT signal (kill -s QUIT) will cause a graceful death

    'Live fast, Die young, Leave a pretty corpse'.  That is, break out of
    the optimization loops and write the current result out before exiting.

25 Sep 2014, RC Reynolds, Dimon, level 1 (MICRO), type 4 (BUG_FIX)
    fixed use of altered add_to_string_list()

    The changed usage broke options -drive_afni, -drive_wait and -rt_cmd.
    Thanks to V Roopchansingh for noting the problem.

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

24 Sep 2014, ZS Saad, ConvertSurface, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed bug with line projection of coordinates.

24 Sep 2014, RW Cox, 3dUnifize, level 1 (MICRO), type 0 (GENERAL)
    Add method description to -help

    There are some disgruntled users out there.  I hope this keeps them
    happy.  Otherwise ...

24 Sep 2014, RC Reynolds, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -list2 case under -listfunc

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

23 Sep 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Allowed interactive cluster thresholding by node number (-ve Area value)

    Previously this was possible only via command line's -n option.
    Command line now also supports negative -amm2 values if -n is not set.

23 Sep 2014, RC Reynolds, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    added some explicit -help and improved the few existing options

23 Sep 2014, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    cat_strings was missing trailing byte

    Thanks to Q Li for noting the problem.

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

22 Sep 2014, ZS Saad, 3dGenFeatureDist, level 2 (MINOR), type 2 (NEW_OPT)
    Added -hspec to explicitly set histogram generation parameters

22 Sep 2014, RW Cox, prefix handling, level 1 (MICRO), type 5 (MODIFY)
    Modify EDIT_dset_items to edit prefixes with +orig etc.

    So you don't end with a dataset like Fred+tlrc.HEAD+tlrc.HEAD

22 Sep 2014, RC Reynolds, column_cat, level 2 (MINOR), type 4 (BUG_FIX)
    fixed implementation of -line, which messed up default operation

22 Sep 2014, RC Reynolds, thd_http.c, level 1 (MICRO), type 5 (MODIFY)
    changed mktemp() to mkstemp() to get rid of those compile warnings

22 Sep 2014, RC Reynolds, SUMA_Makefile_NoDev, level 1 (MICRO), type 5 (MODIFY)
    removed ../suma_*.o from clean directive

22 Sep 2014, RC Reynolds, 3dexample1, level 1 (MICRO), type 6 (ENHANCE)
    made mention of 3dToyProg.c

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

19 Sep 2014, RC Reynolds, 3dexample1, level 2 (MINOR), type 1 (NEW_PROG)
    sample program to multiply a dataset by 2

    This is very basic example of reading/processing/writing AFNI datasets.

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

18 Sep 2014, P Taylor, fat_mvm_scripter.py, level 2 (MINOR), type 2 (NEW_OPT)
    Allow interaction terms in the user-defined statistical model.

    Allow cat+quant or cat+cat variable interactions, and posthoc testing.

18 Sep 2014, P Taylor, fat_mvm_prep.py, level 1 (MICRO), type 0 (GENERAL)
    Change internal var/par names, and how helpfile is thrown.

    More consistent naming, easier helpfile usage.

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

17 Sep 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    A few miscellaneous errors here and there

    One was caused by extra space in driver command
    Another was caused by loading multiple surfs on the command line
    followed by a command line drive command.
    Intersection parameters were not fully initialized under some conditions.

17 Sep 2014, ZS Saad, ConvertSurface, level 2 (MINOR), type 2 (NEW_OPT)
    Added -pc_proj and -node_depth options.

    These options are meant to help localizing seeds along DBS electrodes.
    Relevant C code functions: SUMA_NodeDepth(), SUMA_Project_Coords_PCA()
    and SUMA_*_PC_XYZ_Proj()

17 Sep 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 0 (GENERAL)
    Add 'secret' workhard variant

    Use in the form '-Workhard' and it will using cubic for the first pass
    at each level, and quintic for the second pass (vs. cubic for both).

17 Sep 2014, DR Glen, MNI nonlinear templates, level 2 (MINOR), type 5 (MODIFY)
    Nonlinear version of MNI-152 template in distribution

    The nonlinear 2009c version is more useful, particularly as a base for
    nonlinear alignment. AFNI_atlas_spaces.niml includes descriptions for
    native MNI152 2009c T1 template and a transformed version aligned to
    the TT_N27 dataset in Talairach space

17 Sep 2014, DR Glen, auto_warp.py, level 1 (MICRO), type 4 (BUG_FIX)
    Did not pass qw_opts properly to 3dQwarp

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

16 Sep 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Use of percentiles in range settings was broken. That is no more.

    Problem was caused by reliance on colp->V without resetting it
    when a new range was set. That is because colp->V gets clamped
    by the range of values being set.

16 Sep 2014, RC Reynolds, 3dmask_tool, level 2 (MINOR), type 2 (NEW_OPT)
    added -fill_dirs option, to specify directions for hole filling

    Added for D. Glen.

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

15 Sep 2014, RC Reynolds, file_tool, level 2 (MINOR), type 6 (ENHANCE)
    apply -prefix for -show_file_type (a dos2unix conversion)

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

12 Sep 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Crosshair mismatch when prying surfs in multiple linked viewers

12 Sep 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed crash caused by toggling off 'I' selection for volumes

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

10 Sep 2014, RC Reynolds, Dimon, level 1 (MICRO), type 6 (ENHANCE)
    handle num_chan > 1 in GERT_Reco scripts

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

08 Sep 2014, RC Reynolds, plug_realtime, level 1 (MICRO), type 4 (BUG_FIX)
    fixed free_PCOR_ivoxel_corr function call typos

    Thanks to Y Halchenko for noting the problem.

08 Sep 2014, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    round min dimension to 6 sig bits, then truncate to 3

    This helps catch cases where the dimension is just under
    some fairly 'round' number.

08 Sep 2014, RC Reynolds, Dimon, level 1 (MICRO), type 4 (BUG_FIX)
    num_chan > 1 needs 3D+t ACQ type

    Thanks to V Roopchansingh for noting the problem.

08 Sep 2014, P Taylor, fat_roi_row.py, level 4 (SUPER), type 1 (NEW_PROG)
    Select out one row of a matrix file, at user request.

    Useful, for example, if wanting to view connectivity one-to-many.

08 Sep 2014, P Taylor, fat_mvm_scripter.py, level 4 (SUPER), type 1 (NEW_PROG)
    Connect FATCAT with 3dMVM-- write a basic command call to 3dMVM.

    User specifies specific model, and awaaaay we go.

08 Sep 2014, P Taylor, fat_mvm_prep.py, level 4 (SUPER), type 1 (NEW_PROG)
    Connect FATCAT with 3dMVM-- combine CSV and matrix data.

    Build data table necessary for 3dMVM from MRI+other data.

08 Sep 2014, P Taylor, fat_mvm_gridconv.py, level 4 (SUPER), type 1 (NEW_PROG)
    Connect FATCAT with 3dMVM-- modernize format of old *.grid files.

    Prehistoric grid files had no labels. This updates them.

08 Sep 2014, P Taylor, 3dROIMaker, level 2 (MINOR), type 2 (NEW_OPT)
    Allow pre-inflation of an input ROI, at user request.

    Useful, for example, if wanting to go from WM->GM.

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

04 Sep 2014, RC Reynolds, r_idisp.o, level 1 (MICRO), type 5 (MODIFY)
    cast int64_t to long long to appease printf across multiple systems

04 Sep 2014, DR Glen, AFNI_ATLAS_PATH, level 2 (MINOR), type 3 (NEW_ENV)
    Atlases and templates may be stored in location set by AFNI_ATLAS_PATH

    Atlases and templates need not be in the default afni binary directory.
    This variable may hold multiple directories that specify the possible
    locations of atlases when the atlas definition does not include the
    path in the filename. The atlases are typically defined in 
    AFNI_atlas_spaces.niml file or in a CustomAtlases.niml file

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

03 Sep 2014, ZS Saad, 3dSetupGroupInCorr, level 2 (MINOR), type 4 (BUG_FIX)
    Made -labels option work well with -LRpairs

03 Sep 2014, RW Cox, sorting, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed bug in special qsort7_* code -- had wrong indexes!

    Affects any program calling qsort_float() for array of length 7

03 Sep 2014, RW Cox, r_idisp.c, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed formatting bugs (%ld changed to %lld) in 2 places

03 Sep 2014, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    merged in changes from C Craddock, with alterations

    This needs some more work.

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

02 Sep 2014, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Don't apply 0D and 2D transformations to overlay image in wiper mode

02 Sep 2014, RW Cox, 3dNwarpAdjust, level 1 (MICRO), type 4 (BUG_FIX)
    Tried to write out average dataset when it didn't exist -- Oops.

    Also fixed bug in mri_nwarp.c where extended warp dataset didn't get the
    same 'view' as the input dataset.

02 Sep 2014, RC Reynolds, 3dTcat, level 1 (MICRO), type 6 (ENHANCE)
    allow @filename format for -tpattern option

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

29 Aug 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added -drive_com to allow the driving of SUMA by its command line

29 Aug 2014, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Modify wiper scale to be attached to image window form

29 Aug 2014, RC Reynolds, slow_surf_clustsim.py, level 1 (MICRO), type 6 (ENHANCE)
    included blur in all help examples for clarity

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

28 Aug 2014, ZS Saad, 3dHist, level 2 (MINOR), type 2 (NEW_OPT)
    Added -equalized to do histogram equalization on the whole volume

28 Aug 2014, RC Reynolds, Dimon, level 1 (MICRO), type 6 (ENHANCE)
    test SOP IUID sorting

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

27 Aug 2014, RC Reynolds, 3dcalc, level 1 (MICRO), type 6 (ENHANCE)
    applied AFNI_ORIENT for -LPI/-RAI

    Requested by Shane M. via the message board.

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

26 Aug 2014, RW Cox, mri_nwarp.c, level 1 (MICRO), type 0 (GENERAL)
    Alter IW3D_read_catenated_warp() to do warp extension

    The amount of extension is based on the shifts in the affine components
    in the warp chain.  This change is to fix a problem with long distance
    shifts catenated with 3dQwarp output, where the input warp grid no
    longer encompasses all the requisite domain for the output warp.

26 Aug 2014, RW Cox, 3dNwarpApply and 3dNwarpCat, level 1 (MICRO), type 2 (NEW_OPT)
    Add '-expad' option for extra padding, if needed for some reason

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

25 Aug 2014, ZS Saad, ParseName, level 2 (MINOR), type 2 (NEW_OPT)
    Added -*PrefixView, and improved -out to multi-components

25 Aug 2014, ZS Saad, @Align_Centers, level 2 (MINOR), type 4 (BUG_FIX)
    Made program handle NIFTI input. Irrrrgh.

25 Aug 2014, RC Reynolds, gen_ss_review_table.py, level 1 (MICRO), type 4 (BUG_FIX)
    defined oind (for case that does not currently happen)

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

22 Aug 2014, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Add wiping and mixing between OLay and ULay images

    By pressing the '4', '5', or '6' key, user gets a slider for
    horizontal wiper, vertical wiper, or intensity mixing between
    the images (respectively).  This is Ziad's fault.

22 Aug 2014, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added -sort_method and -save_details

    Using the 'geme_index' sort method allows for real-time sorting
    of GE multi-echo data, before volumes are sent to 'afni'.
    Modification made for V Roopchansingh.

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

21 Aug 2014, RC Reynolds, model_conv_PRF, level 1 (MICRO), type 0 (GENERAL)
    minor details added to help output

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

13 Aug 2014, RC Reynolds, Dimon, level 1 (MICRO), type 0 (GENERAL)
    very minor update

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

12 Aug 2014, RC Reynolds, Dimon, level 3 (MAJOR), type 5 (MODIFY)
    this should basically work like the old version

    While no major change should be seen, this is an overhaul of
    the previous version, which should allow for realtime sorting.

12 Aug 2014, RC Reynolds, Dimon1, level 2 (MINOR), type 0 (GENERAL)
    Dimon1 is a fork of the previous working version of Dimon

    This can be a backup if there are troubles with the new Dimon.

12 Aug 2014, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 0 (GENERAL)
    afni -ver is now only 1 line of output

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

11 Aug 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 0 (GENERAL)
    Modify -duplo to only go to lev=3

11 Aug 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug with -pblur

    Problem: warped source image Haasrcim was created from source image
    blurred at lev=0, which means (with -pblur) it was blurred a lot.  Then
    at later levels, it is being slowly replaced with warped patches from a
    less-blurred source image.  This produces strange effects, as part of
    Haasrcim is now heavily blurred and part is less blurred.  Solution:
    re-create Haasrcim from the current warp and from the current amount of
    blurring at the start of each level.

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

07 Aug 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 0 (GENERAL)
    Add customized median filter to mri_nwarp.c

    To parallelize with OpenMP, since it might be used a lot with the new
    -pblur option.

07 Aug 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 2 (NEW_OPT)
    Add -pblur option, for progressive blurring

    That is, more blurring at coarse levels and less blurring at fine
    levels.  May become the default after some more experience.

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

05 Aug 2014, ZS Saad, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    Made program handle FreeSurfer's -contrasurfreg output

05 Aug 2014, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Modify -ver output to mollify Chen Gang

05 Aug 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 0 (GENERAL)
    Move basim blur from 3dQwarp.c to mri_nwarp.c

    Preparatory to adding the -pblur option

05 Aug 2014, RC Reynolds, to3d, level 1 (MICRO), type 0 (GENERAL)
    added more comments about -ushort2float

    Requested by J Butman.

05 Aug 2014, P Taylor, 3dTrackID, level 2 (MINOR), type 5 (MODIFY)
    Less memory usage and a bit faster.

    More efficient internal handling of quantities.

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

04 Aug 2014, P Taylor, 1dDW_Grad_o_Mat, level 3 (MAJOR), type 2 (NEW_OPT)
    Can edit dataset with averaging B0s and DWIs.

    Should make life easier for dual processing of vecs and datasets.

04 Aug 2014, P Taylor, 3dTrackID, level 2 (MINOR), type 2 (NEW_OPT)
    New option for PAIRMAP labelling by X, not 2^X; new *.grid NT scaling.

    Make PAIRMAP easier to view; user wanted extra matrices.

04 Aug 2014, P Taylor, 3dDWUncert, level 1 (MICRO), type 2 (NEW_OPT)
    Internal options for testing uncertainty things.

    For internal testing only at this point.

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

02 Aug 2014, RC Reynolds, make_stim_times.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -run_trs, for cases when the TRs per run vary

    Requested on message board by Rebecca and later by Lisam.

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

01 Aug 2014, ZS Saad, 3dGenFeatureDist, level 2 (MINOR), type 1 (NEW_PROG)
    Program written a while ago, placed in the distribution now

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

31 Jul 2014, ZS Saad, 3dpc, level 1 (MICRO), type 2 (NEW_OPT)
    Added option -nscale to scale covariance matrix by number of samples

    This would make output consistent with R and matlab decompositions
    Also changed output files names for 1D files to make program not clobber
    results in .1D mode

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

24 Jul 2014, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Print/Popup warning message if same OLay is Clusterize-d twice

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

23 Jul 2014, RW Cox, various, level 1 (MICRO), type 5 (MODIFY)
    Change format '%d' to '%lld' for a few MRI_IMAGE structs

    In various files, to eliminate compiler warnings about printing 64-bit
    integers with a 32-bit format.

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

21 Jul 2014, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Add 'Jumpto OLay Min' and 'Max' buttons to OLay popup menu

    Lets the user jump crosshairs to locations of (thresholded) min and max
    values. (May be inaccurate for non-NN resampling of overlay or threshold.)

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

18 Jul 2014, ZS Saad, 3dTstat, level 1 (MICRO), type 2 (NEW_OPT)
    Added option -nscale to avoid scaling with byte/short output

18 Jul 2014, RW Cox, 3dNwarpApply, level 1 (MICRO), type 2 (NEW_OPT)
    Add -iwarp option, to invert the result from -nwarp

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

17 Jul 2014, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Made ROIgrow work with single node ROIs, see help for -node_labels PER_NODE

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

16 Jul 2014, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Fixed bug with computation of tract_P0_offset_private values

16 Jul 2014, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Modify labels of shear parameters when '-EPI' is used

    Per user Mingbo on the message board

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

15 Jul 2014, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Added different ways to highlight masked tracts

15 Jul 2014, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    output average motion per stim over response

    This will probably be replaced by averages over stimulus only time.
    Requested by D Pine.

15 Jul 2014, RC Reynolds, 3dClustSim, level 1 (MICRO), type 0 (GENERAL)
    check for bad floats read for -fwhm[xyz]

    Requested by shanusmagnus.

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

14 Jul 2014, RW Cox, mri_nwarp.c, level 1 (MICRO), type 0 (GENERAL)
    Add a boatload of comments to explain how warping works

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

11 Jul 2014, ZS Saad, suma, level 1 (MICRO), type 5 (MODIFY)
    Changes to help functions to create Sphinx friendly keypress docs 

    See hidden options suma -help_interactive and -help_sphinx_interactive
    for sample output.

11 Jul 2014, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed 1d_tool.py -pad_into_many_runs for bpass w/varying run lengths

    Thanks to d6anders for noting the problem.

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

10 Jul 2014, RW Cox, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    -hist option for plotting histogram style

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

09 Jul 2014, RW Cox, 3dNwarpXYZ, level 1 (MICRO), type 5 (MODIFY)
    Modify the way -iwarp works

    Use backwards stream tracing only to initialize a search via Powell's
    NEWUOA.  Also, use quintic interpolation for the forward warp, instead
    of linear.

09 Jul 2014, DR Glen, 3dDWItoDT, level 2 (MINOR), type 2 (NEW_OPT)
    Mean b=0 values computed for linear estimate

    New -mean_b0 option allows for averaging of b=0 values
    used in linear model and initial linear estimate for nonlinear
    method.

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

07 Jul 2014, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Check if 2 pbars are equivalent before locking them

    Prevents unneeded flicker and redisplay

07 Jul 2014, RW Cox, 3dNwarpXYZ, level 1 (MICRO), type 2 (NEW_OPT)
    Add -iwarp option to allow for warp inversion

    For a few points, should be MUCH faster than using 'INV(warp)' for the
    -nwarp option.

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

03 Jul 2014, RW Cox, afni GUI, level 1 (MICRO), type 4 (BUG_FIX)
    pbar locks didn't work right all the time

    Needed to force things to happen more violently, and also to force
    overlay redraws.  Also, make a new controller be locked at startup
    instead of when the user does something.

03 Jul 2014, RW Cox, afni GUI, level 1 (MICRO), type 4 (BUG_FIX)
    'u' keypress failed when OLay and ULay datasets were the same

    Toggling between overlay and underlay as grayscale with 'u' failed when
    the 2 datasets were the same.  Problem devolved to a function Ziad put
    in to make the selection of sub-brick index to use -- which always
    favored the anat_index if the 2 datasets were the same, regardless of
    the image type requested.  Now it should work properly -- when the 2
    datasets are the same (fim and anat), then the sub-brick index will be
    chosen based on the type of image requested.

03 Jul 2014, RC Reynolds, model_conv_PRF, level 2 (MINOR), type 4 (BUG_FIX)
    fixed a name space problem on macs

03 Jul 2014, DR Glen, 3dAllineate, level 2 (MINOR), type 4 (BUG_FIX)
    oblique NIFTI dataset handling

    NIFTI datasets with oblique orientations were written
    with incorrect (original) orientations after alignment. Dataset is
    now cardinalized and input obliquity is ignored

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

02 Jul 2014, RW Cox, 3dNwarpXYZ, level 2 (MINOR), type 1 (NEW_PROG)
    Nonlinear transform of xyz coordinate triples -- for Ziad

02 Jul 2014, RC Reynolds, afni-general, level 1 (MICRO), type 0 (GENERAL)
    added model_conv_PRF in Makefile.INCLUDE for distribution

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

30 Jun 2014, RW Cox, 3dQwarp, level 2 (MINOR), type 2 (NEW_OPT)
    Add -lpc and -lpa options

    Sounds simple, but was really a lot of work to make these reasonably
    efficient.  And to work at all, for that matter.  Ugh.

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

27 Jun 2014, RW Cox, 3drefti, level 1 (MICRO), type 2 (NEW_OPT)
    Add -checkaxes option

27 Jun 2014, RC Reynolds, model_conv_PRF, level 3 (MAJOR), type 1 (NEW_PROG)
    population receptive field estimate model

    For E Silson and C Baker.

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

26 Jun 2014, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    full_mask is now byte (via 3dmask_tool); note correlation with anat mask

26 Jun 2014, RC Reynolds, 3dresample, level 2 (MINOR), type 2 (NEW_OPT)
    added -bound_type FOV/SLAB option (FOV is orig and default)

    FOV preserves the field of view, SLAB preserves the SLAB
    (so with SLAB the extents should not change)

26 Jun 2014, RC Reynolds, gen_ss_review_table.py, level 1 (MICRO), type 6 (ENHANCE)
    track 'degress of freedom' as 'degrees ...'

26 Jun 2014, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 6 (ENHANCE)
    note any anat/EPI mask correlation value; correct 'degress' as 'degrees'

    Typo noted by J Stoddard.

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

25 Jun 2014, RC Reynolds, to3d, level 2 (MINOR), type 6 (ENHANCE)
    allow -zorigin with x/y SLAB/FOV, particularly in case of nz==1

25 Jun 2014, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    removed SUMA/SUMA_MakeColorMap, SUMA/SUMA_MakeConsistent from source tree

    Thanks to Y Halchenko for bringing it up.

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

19 Jun 2014, RW Cox, @Install_ClustScat_Demo, level 2 (MINOR), type 1 (NEW_PROG)
    Installs demo for Clusterize scatter plotting

19 Jun 2014, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Modify shft+ctrl+drag InstaCorr slightly

    So that Clusterize report table is NOT updated until the user releases
    the mouse button -- otherwise, the constant table updating slows things
    down too much (per Ziad).

19 Jun 2014, P Taylor, 3dNetCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Added new feature: output partial correlation matrices.

    Can output r-like and beta-like partial correlation matrices.

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

18 Jun 2014, RW Cox, afni GUI, level 2 (MINOR), type 5 (MODIFY)
    Move Clusterize outside of Instastuff menu

    So Clusterize is now available for InstaCorr, etc.  The bkgd:xxxx box is
    gone, its functionality living on only in the 'u' image keypress.

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

16 Jun 2014, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Add SAVE_OVERLAY and SAVE_UNDERLAY commands to afni_driver.c

16 Jun 2014, RW Cox, afni Clusterize GUI, level 1 (MICRO), type 5 (MODIFY)
    Save->Mask??

    Toggle switch added to hidden popup on top part of report window.  If
    switched on, the cluster-wise 'Save' buttons become 'Mask' buttons,
    which lets the user save a single-cluster mask dataset (instead of the
    multi-cluster dataset of 'SaveMsk').

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

13 Jun 2014, DR Glen, afni, level 2 (MINOR), type 0 (GENERAL)
    Jump to MNI or any space coordinates

    Jump to MNI in afni GUI enhanced to recognize current dataset
    space and not assume MNI to TLRC transformation. Also can jump
    to other space coordinates by setting AFNI_JUMPTO_SPACE in
    .afnirc or Environment plugin

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

12 Jun 2014, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Add OLay thresholded range hint

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

10 Jun 2014, RW Cox, afni GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Fix crashing bug with PBAR_FULLRANGE

    b..._ulay pointers could become deranged via AFNI_setup_viewing() call
    to AFNI_reset_func_range() -- patched this, and also check for this type
    of derangement in various other places -- ERROR_message should appear if
    it raises its ugly head again.

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

07 Jun 2014, ZS Saad, auto_warp, level 2 (MINOR), type 2 (NEW_OPT)
    Made -dataTable options take text file instead of command line opts 

    This makes it possible to have very large tables without exceeding
    limit on command line length. File name has to begin with '@'
    in keeping with some C-language 3d progs.

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

06 Jun 2014, P Taylor, 3dTrackID, level 2 (MINOR), type 0 (GENERAL)
    Changed how it runs, mainly under the hood; added '-thru_mask' option.

    Cleared some old arrays; make runable as function; user wanted thru_masks.

06 Jun 2014, P Taylor, 3dEigsToDT, level 1 (MICRO), type 4 (BUG_FIX)
    Make help file option match with actual usage.

    Fixed a minor mismatch of helpfile name and actual option name.

06 Jun 2014, P Taylor, 3dEigsToDT, level 1 (MICRO), type 5 (MODIFY)
    Helpfile micro correction.

    Need parentheses around a couple entries.

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

04 Jun 2014, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    AFNI_PBAR_FULLRANGE fixes

    Made it work better with Range and Pbar locks.  Also added buttons for
    these types of locks to the Datamode->Lock menu for ease of use (instead
    of having to set environment variables in EditEnv).

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

03 Jun 2014, RW Cox, afni GUI, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_PBAR_FULLRANGE

    If this variable is set to YES, then the color pbar in Define Overlay
    will reflect the range set by the user for the colorization process.  At
    some point, this feature will become the default, and then you'll have
    to set this variable to NO to get the old behavior -- where the range
    set by the user is shown only at the bottom right of the Define Overlay
    panel, and it then multiplies the independently set top value of the
    pbar to get the colorization scale.  In the new method, the top value of
    the pbar cannot be set by the user independently of the range (or
    autorange) parameter.  The intention of this change is to make the
    number -> colors process somewhat more blatant.

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

02 Jun 2014, ZS Saad, auto_warp, level 2 (MINOR), type 2 (NEW_OPT)
    Added -qworkhard and -qw_opts for finer control of 3dQwarp step 

02 Jun 2014, RC Reynolds, slow_surf_clustsim.py, level 1 (MICRO), type 5 (MODIFY)
    niter defaults to 1000, to match recommendations and 'quick' example

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

30 May 2014, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    if PREFIX ends in .nii, all saved datasets will be in NIFTI format

    Added for V Roopchansingh.

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

23 May 2014, DR Glen, whereami linkrbrain, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed linkrbrain coordinates and malloc/free error

    Coordinates were not transformed properly from TLRC to MNI
    space. Crashes from clusterize in afni GUI caused by mismatched
    AFNI-friendly malloc, free in strdup function

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

21 May 2014, ZS Saad, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    Option -iname to give filename as appearing on the command line

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

20 May 2014, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    macs: look for PyQt4 from homebrew and fink

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

19 May 2014, RC Reynolds, column_cat, level 1 (MICRO), type 2 (NEW_OPT)
    added -line option, e.g. to print only (0-based) line 17

19 May 2014, DR Glen, align_epi_anat.py, level 1 (MICRO), type 4 (BUG_FIX)
    NIFTI dataset input and save_skullstrip

    Fixed bug with both NIFTI input and save_skullstrip

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

16 May 2014, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    a few updates:

      - if no AFNI binaries in path, try path to ASC.py
      - look for history files in data directories
      - print comments at end, so they are easier to notice

16 May 2014, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    changed default of -anat_unif_GM to no

    Use of -GM in 3dUnifiize was leading to some skull stripping failures.
    Thanks to J Stoddard for noting the problem.

16 May 2014, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    make space in case compression programs have longer paths

    Thanks to D Thompson for finding the problematic code.

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

13 May 2014, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    allow for no stats dset

    With resting state and 3dTproject, afni_proc.py will not create stats.

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

12 May 2014, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_use_tproject, and made the default=yes

    This will apply 3dTproject instead of 3dDeconvolve for resting
    state analysis.  It is much faster, and creates the same result.

12 May 2014, RC Reynolds, timing_tool.py, level 1 (MICRO), type 4 (BUG_FIX)
    -part_init 0 is not appropriate for -partition

    Text labels now apply, and the default is '-part_init INIT'.

12 May 2014, RC Reynolds, 3dTproject, level 1 (MICRO), type 6 (ENHANCE)
    allow for multiple -input dataset, without requiring quotes around them

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

09 May 2014, RC Reynolds, timing_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -part_init option; removed -chrono option

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

05 May 2014, ZS Saad, suma, level 2 (MINOR), type 3 (NEW_ENV)
    SUMA_HomeAfterPrying to avoid a 'home' reset with prying

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

02 May 2014, RW Cox, afni, level 1 (MICRO), type 2 (NEW_OPT)
    add -papers option, to list AFNI papers

    The list of papers is maintained in file afni_papers.txt
    which is turned into afni_papers.h via program quotize.

02 May 2014, DR Glen, align_epi_anat.py, level 2 (MINOR), type 0 (GENERAL)
    NIFTI dataset input

    align_epi_anat.py modified to allow NIFTI input for anat,epi,
    child_epi datasets. Output continues to be AFNI format.

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

01 May 2014, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 4 (BUG_FIX)
    added -quick option; fixed recursive backups

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

29 Apr 2014, RC Reynolds, uber_subject.py, level 1 (MICRO), type 5 (MODIFY)
    micro fix to clarify 'initialization' help

    Thanks to Ziad for noting it

29 Apr 2014, RC Reynolds, timing_tool.py, level 1 (MICRO), type 5 (MODIFY)
    update to run number display in case of -multi_timing_to_event_list

29 Apr 2014, P Taylor, 3dROIMaker, level 2 (MINOR), type 2 (NEW_OPT)
    Freedom in neighbor defs; also can keep just N peak values per ROI.

    User can specify face, edge or vertex ngbs. Also, search for N max vals.

29 Apr 2014, P Taylor, 3dNetCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Added new feature: output WB correlations as Zscores.

    Can output WB maps of ROI average time series correlations as Z-scores.

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

24 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Reading of OBJ file format for triangular meshes.

24 Apr 2014, ZS Saad, AFNIio.R, level 1 (MICRO), type 5 (MODIFY)
    Improvements for write.AFNI & read.AFNI to handle 1D files more smoothly

    Also added 'TR' to dset.attr() function.

24 Apr 2014, RW Cox, 3dClustSim, level 1 (MICRO), type 2 (NEW_OPT)
    add -ssave:TYPE option for saving the volumes as dataset

24 Apr 2014, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -multi_timing_to_event_list

    This allows one to generate simple or details event lists, or to
    partition one event class by its predecessors.
    Partitioning added for W Tseng.

24 Apr 2014, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    changed use of nlines in limited_shell_exec()

24 Apr 2014, RC Reynolds, afni_history, level 1 (MICRO), type 4 (BUG_FIX)
    added proto for restrict_hlist()

24 Apr 2014, RC Reynolds, afni_base.py, level 1 (MICRO), type 5 (MODIFY)
    shell_exec2() should always set so,se as arrays

24 Apr 2014, DR Glen, edge detect button in afni viewer, level 1 (MICRO), type 0 (GENERAL)
    Toggle edge detection with 'e' key in viewer

    Can toggle with keypress from viewer allowing plugout to drive
    edge detection.

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

21 Apr 2014, P Taylor, TORTOISEtoHere, level 4 (SUPER), type 1 (NEW_PROG)
    New program: convert TORTOISE DTs to AFNI format.

    This also allows flipping/rescaling to be done.

21 Apr 2014, P Taylor, 3dEigsToDT, level 4 (SUPER), type 1 (NEW_PROG)
    New program: take in eigen{values,vectors} and calculate DT.

    This also allows flipping/rescaling to be done.

21 Apr 2014, P Taylor, 3dNetCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Added new feature: do whole brain correlations.

    Can output individual WB maps of ROI average time series correlations.

21 Apr 2014, P Taylor, 1dDW_Grad_o_Mat, level 1 (MICRO), type 2 (NEW_OPT)
    Output grads as rows-- new option switch.

    Done at user request.

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

18 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Allow graph dataset bundle references to be located based on gdset's path

    This way if a graph dataset named GDSET refers to a tract file TRACT 
    using a relative path (./TRACT) and you use suma -gdset SOMEPATH/GDSET
    to load the graph, then the search for TRACT will also consider SOMEPATH/
    as an option

18 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Color map changes/thresholding changes now working with multi-viewers

    This was not the case before. Problem was that Texture had to be reloaded
    for all viewers displaying the volume, once the viewer's rendering context
    is current. That's all handled via per_sv_extra[]

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

17 Apr 2014, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added -controller_position to position object controller window

17 Apr 2014, ZS Saad, suma, level 1 (MICRO), type 5 (MODIFY)
    Distinguishing  window size and glxarea size in SUMA_SurfaceViewer struct

    The two are slightly different in size because of window decorations.
    This correct a silly resizing of the SUMA window when a new view state is
    loaded.

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

16 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed problem with opening new controllers when cont. window is closed

    See Apr. 16 2014 note in function SUMA_viewSurfaceCont()

16 Apr 2014, ZS Saad, 3dTcorr1D, level 2 (MINOR), type 5 (MODIFY)
    Turned heart of main() into a standalone function in thd_Tcorr1D.c

    This way we can run the equivalent of 3dTcorr1D from other C programs
    such as 3dNetCorr

16 Apr 2014, ZS Saad, 3dRprogDemo, level 2 (MINOR), type 1 (NEW_PROG)
    A toy program to show how to write a command line R program with AFNI

    Created to help Cesar Caballero and Natalia Petridou implement their
    Paradigm Free Mapping method.

16 Apr 2014, RW Cox, 3dNwarpAdjust, level 2 (MINOR), type 0 (GENERAL)
    Changes for grid size requirements

    Now the warps don't all have to be on the same grid (just conformant
    grids), and they will be extended to match each other.  And the source
    datasets (if present) don't have to be on the same grid as the warps,
    but DO have to be on the same grid as each other -- as before.

16 Apr 2014, RW Cox, afni GUI, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_SLAVE_THROLAY sets up Thr=OLay or Thr=OLay+1, for Paul Taylor

16 Apr 2014, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    added MIN_OUTLIER parameter option for -volreg_base_dset

    Using '-volreg_base_dset MIN_OUTLIER' will result in the volume with
    the minimum outlier fraction to be extracted as the volreg base.
    Thanks to T Ross for the good suggestion, so long ago

16 Apr 2014, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    internal re-org, should have no effect

16 Apr 2014, P Taylor, 3dNetCorr, level 2 (MINOR), type 5 (MODIFY)
    Reformatted output a bit, added features for J. Rajendra.

    Can output time series with labels, and as individual files.

16 Apr 2014, P Taylor, 3dMatch, level 2 (MINOR), type 4 (BUG_FIX)
    Bug when using mask on *some* files with Linux.

    Seems to be more stable criteria now.

16 Apr 2014, P Taylor, 3dROIMaker, level 1 (MICRO), type 4 (BUG_FIX)
    Hadn't made a problem if user didn't input 'prefix'.

    Fixed aforementioned loophole..

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

15 Apr 2014, RW Cox, 3dQwarp, level 2 (MINOR), type 0 (GENERAL)
    and other warping functions

    Changes to index warps, to extend them past their defining box by linear
    extrapolation from the last 5 layers on each face (vs. the previous
    method of just constant extrapolation).  Also use this in 3dNwarpApply
    to extend the warp before using it, so as to deal with peculiar results
    with non-padded inverse warps from 3dQwarp when there was a big
    displacement via '-allin'.  Speaking of which, I also extended the
    zero-padding in 3dQwarp to allow for the large displacements.  By
    default, WARP outputs from 3dQwarp are not truncated any more, but can
    be with the new '-nopadWARP' option.  Next up -- changes to
    @toMNI_Qwarpar to allow for collections of warps that may be on
    different grids.

15 Apr 2014, RC Reynolds, afni_util.py, level 2 (MINOR), type 6 (ENHANCE)
    added optional 'pid' parameter to the get_process_stack() functions

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

10 Apr 2014, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    @afni.run.me never made it into Makefile.INCLUDE for distribution

10 Apr 2014, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -index_to_run_tr, intended for use by afni_proc.py

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

09 Apr 2014, RC Reynolds, gen_ss_review_table.py, level 3 (MAJOR), type 1 (NEW_PROG)
    parse output from @ss_review_basic text into spreadsheet format

    This makes it easy to flag outlier subject values.
    Thanks to J Jarcho for encouragement.

09 Apr 2014, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    give priority to GCOR files with 'out' in the name

09 Apr 2014, DR Glen, whereami supplemental web-based info, level 2 (MINOR), type 0 (GENERAL)
    Atlases may have supplemental information available from a website

    Further information can be opened through a web browser for individual
    structures. This feature is implemented initially for the support of the 
    Saleem macaque atlas.

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

08 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added 'F10' to toggle prying axis between Z and Y

08 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 3 (NEW_ENV)
    SUMA_VO_InitSlices controls how volumes slices are shown at startup

    See ~/.sumarc for details, run suma -update_env if variable is missing.

08 Apr 2014, ZS Saad, afni, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_ICORR_UBER_USER allows access to special InstaCorr distance measures

    Set variable to YES to have access to special distance measures in
    the plugin

08 Apr 2014, RW Cox, afni, level 2 (MINOR), type 0 (GENERAL)
    Draw mask surface sent from SUMA, for delectation.

    Add a SUMA_mask struct type to afni_suma.h, and then process its
    corresponding NIML element in afni_niml.c.  Masks are stored in the
    THD_session struct, and are re-drawn when their center is altered by a
    simple command (unlike normal surfaces).  Also changed -- always send
    change of crosshairs to SUMA even if no surfaces are present -- let SUMA
    figure out what to do with it (e.g., move the mask).

08 Apr 2014, RW Cox, coxplot, level 1 (MICRO), type 0 (GENERAL)
    Change to X11 line drawing for thick lines

    Use 'CAP_ROUND' style of drawing for thicker lines, so that drawn
    figures (like SUMA surfaces) look better in AFNI interface -- the weird
    disjunction between short thick lines is mostly gone now.

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

04 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Made prying do both hinge rotation and translation

    Difference is in the direction of mouse motion.
    Also made vertical prying cause rotation about screen x axis for spheres

04 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 3 (NEW_ENV)
    SUMA_Dset_NodeConnections controls how connections to a node are displayed

    See ~/.sumarc for details, run suma -update_env if variable is missing.

04 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added three modes for controlling how connections to a node are shown.

    This makes it possible to greatly reduce the clutter of the display.
    See menu 'CN' that controls this

04 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    A double select click makes all graph edges appear.

    This only has an effect if the current object in focus is a
    graph object

04 Apr 2014, ZS Saad, suma, level 1 (MICRO), type 5 (MODIFY)
    Improved autopositioning of surf. controller. Better with dual displays.

    Also canceled repositioning after very first opening of controllers

04 Apr 2014, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    fixed reading NIFTI obliquity w/dglen (lost Mar 22)

    Thanks to P Kundu for noting the problem.

04 Apr 2014, DR Glen, whereami -linkrbrain, level 2 (MINOR), type 2 (NEW_OPT)
    New option for getting task or gene correlation with coordinate list

    Linkrbrain.org support is available in alpha form from whereami and
    the Clusterize GUI. AFNI_LINKRBRAIN needs to be set to YES to use new
    features.

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

03 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 3 (NEW_ENV)
    SUMA_Dset_Font to initialize text in graph datasets

    See ~/.sumarc for details, run suma -update_env if variable is missing.

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

02 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Made AFNI's crosshair changes move tract mask in SUMA

    This happens when the viewer is in Mask Manipulation Mode.

02 Apr 2014, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Made SUMA_crosshair_xyz carry information on overlay dataset

    This is in response to a request by Nick Oosterhoff

02 Apr 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 0 (GENERAL)
    Changes to way warps are combined

    In particular, outside their domain, warp displacements are now linearly
    extrapolated rather than set to zero.  Also, a number of smaller tweaks
    to the zero padding and iterative process.

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

31 Mar 2014, RW Cox, messages, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_MESSAGE_PREFIX will go before program messages to stderr

    The purpose of this is to allow the user to distinguish between messages
    from various instances of programs running in parallel, as in
      foreach fred ( 1 2 3 )
        setenv AFNI_MESSAGE_PREFIX case$fred
        run_some_program -option $fred &
      end

31 Mar 2014, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -anat_unif_GM (def=yes); improved message for bad ricor input

31 Mar 2014, RC Reynolds, auto_warp.py, level 1 (MICRO), type 5 (MODIFY)
    some help text indentation and fix for display of non-string defaults

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

28 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added 'F11' to allow users to set the object rendering order

    This is an interactive version of env: SUMA_ObjectDisplayOrder

28 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Implemented doppleganger for masks on pried surfaces

28 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added prying along the horizontal direction too

    This is most handy when you want to travel along the 
    lateral surface and still see what gives in tracts or on
    slices.

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

27 Mar 2014, ZS Saad, suma-general, level 1 (MICRO), type 3 (NEW_ENV)
    Added SUMA_ObjectDisplayOrder to control object display sequence

    This only affects the rendering in the few instances where alpha
    blending is used. Run suma -update_env then search for env in 
    ~/.sumarc for details.

27 Mar 2014, ZS Saad, @auto_tlrc, level 1 (MICRO), type 2 (NEW_OPT)
    Added -overwrite for Stephen Robinson

27 Mar 2014, DR Glen, align_epi_anat.py, level 1 (MICRO), type 4 (BUG_FIX)
    h_view help added

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

26 Mar 2014, ZS Saad, suma-general, level 2 (MINOR), type 2 (NEW_OPT)
    Wrote a new function to handle input events

    New function SUMA_RecordEvent() records X events into a structure
    that I can clone and attach into the Pick Results struct. Without
    this, I can't tell down the line if a pick was with shift+control
    or without it. A problem when deciding what to tell AFNI, for example
    The new functions (see also SUMA_ShftCont_Event() and other functions
    around it should replace all queries in SUMA_input() about event
    qualifiers. Still need to check about handling of button swap, or 
    conditions when drawing, etc.

26 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Made double-click right click outside of objects turn off mask movement

26 Mar 2014, ZS Saad, afni-general, level 2 (MINOR), type 2 (NEW_OPT)
    Shift+Control+right click in SUMA will trigger Instacorr refresh in AFNI

    This way you can click on an object in SUMA and still get AFNI to 
    so a volumetric ICOR computation, with all accompnaying talk back to SUMA.
    etc.

26 Mar 2014, RC Reynolds, auto_warp.py, level 2 (MINOR), type 4 (BUG_FIX)
    in 3dNwarpApply, use the base dataset as the -master, rather than WARP

    The WARP dataset is now often bigger, to handle warps to the dataset
    edges.  The result from auto_warp.py should match the template/base.
    Note: the problem applies to binaries from 3/21 until 3/25 (now).
    Thanks to V Zachariou for noting the problem.

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

25 Mar 2014, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added options -anat_uniform_method and -anat_opts_unif

    This correction may be particularly useful along with either
    -tlrc_NL_warp or -mask_segment_anat.

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

24 Mar 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 2 (NEW_OPT)
    -useweight is now the default; -noweight turns it off

24 Mar 2014, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_anaticor_radius

    This specifies the radius for the local white matter average.
    Option requested by S Torrisi.

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

21 Mar 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 4 (BUG_FIX)
    problem with zeropadding plus -iniwarp

    Zeropad produces a warp that is bigger than the dataset.  That's OK
    (even in 3dNwarpApply), but 3dQwarp would cut it off when writing it
    out.  That's still OK for 3dNwarpApply, but NOT OK for re-start with
    -iniwarp -- the zeropadded initial warp will have a discontinuity at the
    edge of the volume, and that's bad.  The fix is to allow input of the
    initial warp to be either at the dataset size OR at the zeropadded size.
    
    Also add the -pencut option, to give finer control over the penalty. 
    This needs some experimentation.

21 Mar 2014, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -data_root and enhancements for class data search

21 Mar 2014, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    if anaticor and censor, do not use keep_trs for blur est from errts

    Thanks to J Stoddard for noting the problem.

21 Mar 2014, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    removed -e from 'tcsh -ef @ss_review_basic', for grep failures

    Macs terminate (correctly) when grep/wc return non-zero status, but
    Linux systems do not.  Maybe tcsh authors did not like grep killing
    scripts, either...

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

20 Mar 2014, RC Reynolds, 1dUpsample, level 2 (MINOR), type 4 (BUG_FIX)
    fix reporting of file name in error messages; enhance said messages

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

18 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Improved selection logic on slices and for graphs.

    Graph selection was changed so that what is rendered is selectable.
    The alternate was too confusing.
    Fixed bug with selections on matrix where selections at times were 
    going to the volume, even though it is not displayed with the matrix.
    Fixed slice highlighting when in montage mode.
    Added alpha value threshold condition to slice picking. This slows the
    selection process a little, but it keeps one from selecting 'air' when
    when clicking on voxels that meet the threshold but are alpha masked.

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

17 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed residual surface shading after volume is selected.

    Problem was caused by residual emissivitiy colored left over 
    from the highlighting of the selected slice. Also wrote functions
    SUMA_DiffEnablingState*() to help identify such problems.

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

14 Mar 2014, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    added some data and OS-specific tests

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

13 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    More improvements to multiple object transparency.

    There's lots more than meets the eye. See comment in functions 
    SUMA_DrawVolumeDO_3D() and SUMA_StippleMask_shift()

13 Mar 2014, ZS Saad, afni_open, level 2 (MINOR), type 2 (NEW_OPT)
    A few more tweaks, like -aw and -d

    See afni_open -help for details

13 Mar 2014, RW Cox, fdrval, level 1 (MICRO), type 4 (BUG_FIX)
    two changes

    (a) bug fix in interp_inverse_floatvec(), where the last interval wasn't
    used -- in the context of fdrval, tiny qval (big zval at end of range)
    would be missed, giving bogus output
    (b) alteration in THD_fdrcurve_zqtot(), where if the input zval is past
    the end of the range, then the largest value in the threshold sub-brick
    is returned if it is bigger than the value returned by
    interp_inverse_floatvec()

13 Mar 2014, RW Cox, AFNI, level 1 (MICRO), type 4 (BUG_FIX)
    Didn't properly turn off dplot in Boxed graphing mode

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

12 Mar 2014, ZS Saad, afni_open, level 2 (MINOR), type 1 (NEW_PROG)
    A simple program to help us open certain files on typical machines

    There is no help for the program yet, it is also not part of the
    compiled binaries yet. New functions such as GetAfniWebDownloader(),
    GetAfniPDFViewer(), and GetAfniImageViewer() were added to machdep.c

12 Mar 2014, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    SUMA crashed if you deleted a tract mask that was being moved.

    This is now a thing of the past.

12 Mar 2014, ZS Saad, afni-general, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_IMAGE_VIEWER and AFNI_PDF_VIEWER for you know what.

12 Mar 2014, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    set errts_pre in anaticor block; apply extends in blur no scale

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

11 Mar 2014, RW Cox, 3dttest++, level 1 (MICRO), type 0 (GENERAL)
    Modify way copy of data into vectim works for -brickwise

    Makes it run much faster -- change is actually in thd_dset_to_vectim.c

11 Mar 2014, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 6 (ENHANCE)
    added gen_ss_review_scripts.py command comment at bottom of _basic script

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

10 Mar 2014, RW Cox, 3dttest++, level 1 (MICRO), type 4 (BUG_FIX)
    Fix memory handling errors

    (1) when loading a NIfTI dataset, it should be unloaded first to avoid
    memory leakage
    (2) when creating a vectim from a censored list, the correct check is if
    the subset is NOT loaded -- the test was backwards :-(

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

07 Mar 2014, RC Reynolds, afni, level 1 (MICRO), type 2 (NEW_OPT)
    added -no_detach, to prevent detaching from the terminal

    Useful since -DAFNI_DETACH=NO cannot work as written.

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

06 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added option to make rendered slices jump to new cross hair location

    See new function SUMA_VO_set_slices_XYZ() for details

06 Mar 2014, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 5 (MODIFY)
    changed some censoring and per-stim behavior

    - if censoring, create X.stim.xmat.1D from uncensored matrix
    - if no censor, still report num regs of interest and TRs per stim
    - report per-stim censoring only with stim classes

06 Mar 2014, P Taylor, 3dTrackID, level 5 (SUPERDUPER), type 5 (MODIFY)
    Have Cordelialy unified the three kingdoms of tracking, cLearing usage.

    This program does all tracking, including HARDI and mini-probabilistic.

06 Mar 2014, P Taylor, 3dProbTrackID, level 5 (SUPERDUPER), type 5 (MODIFY)
    Put out to pasture.

    This program is now retired, with usage cleanly transferred to 3dTrackID.

06 Mar 2014, P Taylor, 1dDW_Grad_o_Mat, level 3 (MAJOR), type 1 (NEW_PROG)
    Manipulate gradient/bmatrix files.

    Convert row/col and grad/bmatrix/gmatrix, use bval info, filter or not.

06 Mar 2014, P Taylor, 3dTrackID, level 2 (MINOR), type 2 (NEW_OPT)
    Changes for reading in DTI files.

    Allow NIML-formatted input file, as well as globbing in ordinary case.

06 Mar 2014, P Taylor, 3dNetCorr, level 2 (MINOR), type 5 (MODIFY)
    Reformatted output a bit.

    Make output easier to read, labelled, and matching *GRID files.

06 Mar 2014, P Taylor, 3dDWUncert, level 2 (MINOR), type 2 (NEW_OPT)
    Changes for reading in DTI files.

    Allow NIML-formatted input file, as well as globbing in ordinary case.

06 Mar 2014, P Taylor, 3dDWUncert, level 2 (MINOR), type 4 (BUG_FIX)
    Silly bug-- order of options not free.

    Changed how options were processed so they weren't order-dependent.

06 Mar 2014, P Taylor, 3dROIMaker, level 1 (MICRO), type 4 (BUG_FIX)
    Make parameter appear in help file correctly.

    Fixed silly Spoonerism in option names usage/help-representation.

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

05 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Fixed initial setting of masks to be relative to center of tracts object

    This required creation of SUMA_ADO_Center() and SUMA_ADO_Range() functions
    .

05 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Opening surf controller after selecting voxel on slice caused crash in demo

    This happened in FATCAT_DEMO's Do_09* script, example 1 (SET1). While I am
    still unsure what caused the Bad Window error, I now trap for it and keep
    the program from getting shutdown. Some day I'll track the source of the
    message, for now, recovery seems complete.

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

04 Mar 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Surface-based InstaCorr stopped refreshing with new click.

    The problem was caused by the failure to update the copies of I and 
    T columns in the overlay structure when a new dataset replaced an older
    version. For the fix, search for 'ResetOverlay_Vecs' string, and see 
    function SUMA_DSET_ClearOverlay_Vecs()

04 Mar 2014, RW Cox, 3dClustSim, level 1 (MICRO), type 0 (GENERAL)
    Change format of pthr and athr to allow for tiny values - for Gang

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

03 Mar 2014, P Taylor, 3dROIMaker, level 1 (MICRO), type 5 (MODIFY)
    Fixing option name agreement with help file.

    Modernizing language.

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

27 Feb 2014, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Add control to set (and fix) q-value

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

26 Feb 2014, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Add ability to set q-value (in addition to p-value)

    From threshold slider popup menu (top or bottom labels).

26 Feb 2014, RW Cox, afni GUI, level 1 (MICRO), type 3 (NEW_ENV)
    Remove AFNI_SLAVE_THRTIME and AFNI_SLAVE_BUCKETS_TOO variables

    The functionality of AFNI_SLAVE_THRTIME is improved via the newer
    'Thr=OLay?' controls.
    The functionality of AFNI_SLAVE_BUCKETS_TOO is simply now subsumed by
    AFNI_SLAVE_FUNCTIME.

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

25 Feb 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added loading/saving of masks and evaluation expressions to GUI.

25 Feb 2014, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added tract length masking in Masks GUI.

25 Feb 2014, ZS Saad, ConvertDset, level 2 (MINOR), type 2 (NEW_OPT)
    Added -dset_labels option to label dset sub-bricks.

    Normally 3drefit would handle that, but not for graph dsets, not yet 
    at least

25 Feb 2014, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Secret option for Javier to make graph dsets display on top of everything

    The option is hidden for now, requiring the use of both -dev and 
    a temporary env. The two can be combined on the command line with:
      suma -dev -setenv "'JAVIER_DEPTH_SPECIAL = YES'" ... 

25 Feb 2014, ZS Saad, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    Modified Makefile.macosx* to start building SurfMesh again.

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

24 Feb 2014, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Add index step size popup to 'Index' arrowval

    For Stephen Robinson

24 Feb 2014, RC Reynolds, realtime_receiver.py, level 1 (MICRO), type 6 (ENHANCE)
    added a little more detail to the demo example

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

20 Feb 2014, RC Reynolds, 3dClustSim, level 1 (MICRO), type 4 (BUG_FIX)
    break WARNING_message(amesg) up, until W_m gets enhanced

    Strings applied via the format are limited to 16K.

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

19 Feb 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed crash during crazy matrix rotations.

    The problem was caused by divisions by very small sizes under certain
    projection (viewing) angles

19 Feb 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed indexing errors in sparse matrices with certain node (point) lists.

    The problem occurred when point lists were supersets of the points used to
    define the edges.

19 Feb 2014, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added -Clst and -UseClst options to DriveSuma

19 Feb 2014, ZS Saad, ConvertDset, level 1 (MICRO), type 4 (BUG_FIX)
    Removed stringent test on number of points in edge list

    The program insisted on having the same number or points (nodes)
    in the node list as there are unique points making up the graph.

19 Feb 2014, RW Cox, afni GUI, level 1 (MICRO), type 4 (BUG_FIX)
    Some of the pbar 'flip' controls didn't redraw the overlay

    Also, scroll wheel in the pbar label (atop the color bar) will now do
    the flipping as well.

19 Feb 2014, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    if AM2 or IM, terminate extraction of ideals

    Ideal extraction should be done via 1d_tool.py, using the X-matrix.

19 Feb 2014, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 6 (ENHANCE)
    warn if GLOBAL times and 1 early stim per run (looks local)

    An early stim means t <= (NT_r-1)*TR, where NT_r is #TRs in run r.
    Negative times are included, as they may be fillers for empty runs.

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

18 Feb 2014, ZS Saad, suma, level 3 (MAJOR), type 5 (MODIFY)
    Added tract masking with boolean expressions

    This allows users to specify the masking function
    using the various masks as variables in a boolean expression.
    The interface also allows for the coloring of various tracts based
    on which masks they travel through. This addition is only available
    with the -dev option, though the restriction will soon be lifted.

18 Feb 2014, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Threshold slider popup menu now pops up on p-value label

    AND -- using the scrollwheel on the p-value label immediately pops up
    the 'Set p-value' chooser.

18 Feb 2014, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -test_local_timing, to look for local vs. global timing issues

    - in some cases, promote married types to combine/compare them
    - keep track of '*' entries from timing files

18 Feb 2014, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    minor help update

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

17 Feb 2014, DR Glen, @MakeLabelTable, level 1 (MICRO), type 4 (BUG_FIX)
    -centers option incorrect for some atlases

    incorrect centers of mass for datasets with missing ROI values

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

10 Feb 2014, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Changed ordering of objects displayed to prevent graph text masking

10 Feb 2014, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    show TRs per run, applied and censored

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

07 Feb 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 4 (BUG_FIX)
    Fix problem with -allineate option

    3dAllineate might choose to write out a .nii.gz file instead of the .nii
    file ordered.  In that case, 3dQwarp fails to read it in.  The fix -- if
    the .nii file doesn't exist, then add '.gz' to the end of the filename
    and try again, before giving up and going home to mother.

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

06 Feb 2014, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Increased Maximum number of viewers to 10 for Javier's desire

    To allow the increase without needlessly waisting memory,
    the color lists now only created if a viewer is open.
    That still means as many color lists for almost each type of data
    carrying object. But the allocation is only done if the viewer is
    open. Volume objects share the same color list and perhaps tracts
    should do the same, in the future. 
    The downside of sharing is that coloration will
    be the same across all viewers for the same object.

06 Feb 2014, RW Cox, 3dttest++, level 1 (MICRO), type 2 (NEW_OPT)
    -nomeans AND -notests to shut off more of the output

06 Feb 2014, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    -help examples start with 'Example', for searching

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

03 Feb 2014, RC Reynolds, apsearch, level 1 (MICRO), type 2 (NEW_OPT)
    added -global_help/-gopts_help to print help for global options

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

31 Jan 2014, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed problem with graph where segments were turning black.

    Problem was caused by a stale pointer copy stored in SDO->colv
    bad bad bad!

31 Jan 2014, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Lessened dependency on new libgsl to allow FATCAT build on xorg7

    This necessitated creating a double version of thd_correlate()
    and adding -DXORG7 to the xorg7 makefiles

31 Jan 2014, RW Cox, 3dttest++, level 1 (MICRO), type 0 (GENERAL)
    Make I/O more efficient and streamlined for -brickwise

31 Jan 2014, DR Glen, AFNI_IMAGE_GLOBALRANGE, level 2 (MINOR), type 3 (NEW_ENV)
    New options for scaling display in afni GUI

    AFNI_IMAGE_GLOBALRANGE can be set to SLICE (default), VOLUME (SUBBRICK),
    or DSET. The GUI applies the lookup table to color the underlay with the
    range determined from the slice, sub-brick or the whole multi-sub-brick
    dataset. This environment variable may be set in a user's .afnirc file,
    Additionally, the GUI allows changes from the environment plugin menu or
    in two new places - the right-click menu on the image viewer colorbar.
    Typing Control-m in an image viewer cycles among the global range types.
    Previous YES/NO definitions for this variable correspond to VOLUME and
    SLICE respectively and will continue to work as before. The lower right
    corner of the image viewer shows the current range setting:
    (2%-98%/Min2Max, Vol, Dset)

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

29 Jan 2014, RW Cox, 3dttest++, level 2 (MINOR), type 2 (NEW_OPT)
    -brickwise allows time-dependent t-test results

    For Stephen Robinson

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

23 Jan 2014, ZS Saad, suma, level 2 (MINOR), type 0 (GENERAL)
    Added transparency for slice displays

23 Jan 2014, ZS Saad, suma, level 2 (MINOR), type 0 (GENERAL)
    Added GUI for tract mask editing

23 Jan 2014, ZS Saad, suma, level 2 (MINOR), type 0 (GENERAL)
    Added volume rendering in addition to slice rendering 

    No clipping planes yet.

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

15 Jan 2014, RW Cox, afni image viewer, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_CROP_AUTOCENTER - automatically re-center crop sub-window

    If set to YES, then the crop sub-window (if cropping is active) will
    automatically re-center about the crosshair location -- as far as
    possible.  This feature can also be set for each image viewer window
    separately from the intensity bar right-click popup menu.  (NOW will
    John Butman be happy?)

15 Jan 2014, RW Cox, 3dQwarp, level 1 (MICRO), type 0 (GENERAL)
    Modified help to be more clear about -allineate

    In particular, that the output nonlinear warp also contains the affine
    warp, so you do NOT want to catenate the affine warp again when using
    3dNwarpApply!

15 Jan 2014, RC Reynolds, 3dLRflip, level 1 (MICRO), type 4 (BUG_FIX)
    used bad filename without -prefix

    Var ext was not initialized.

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

14 Jan 2014, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    added more system programs to check

14 Jan 2014, RC Reynolds, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    make mask failure message more clear

    In THD_create_mask_from_string(), if string is short enough for a file
    check, report error with entire string.

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

10 Jan 2014, ZS Saad, DriveSuma, level 1 (MICRO), type 3 (NEW_ENV)
    Added SUMA_DriveSumaMaxCloseWait env 

    This controls how long DriveSuma waits before it considers
    a currently open stream lost forever. Consider also
    env SUMA_DriveSumaMaxWait.

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

09 Jan 2014, DR Glen, 3dDWItoDT, level 2 (MINOR), type 4 (BUG_FIX)
    bmatrix options

    bmatrix_Z and bmatrix_NZ options replace old -bmatrix option
    The new options allow for a B=0 and no B=0 row in an optional
    b-matrix input. The b-matrix may be used as input instead of the
    gradient vector direction file. The former -bmatrix option
    resulted in an error or incorrect results. (Paul Taylor is mostly
    responsible for recognizing and fixing this. Thanks, Paul!)

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

08 Jan 2014, ZS Saad, ConvertDset, level 2 (MINOR), type 2 (NEW_OPT)
    Added -graph_XYZ_LPI to flip coords to RAI for the user.

08 Jan 2014, ZS Saad, ConvertDset, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed problem introduced by earlier -graph_named_nodelist_txt change

    Problem was one of parsing and made the program fail to read in all
    entries in labels file.

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

06 Jan 2014, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Set proper voxel identification in interface. No more resampling.

    RAI resampling is no longer needed, but stil available by setting
    SUMA_VO_Reorient.

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

03 Jan 2014, ZS Saad, suma, level 3 (MAJOR), type 5 (MODIFY)
    Big improvements to slice rendering

    Improvements include proper alpha masking and auto thresholding
    Montage-like capability.
    Percentile thresholding and intensity range setting
    Fixed intersection bug with multi-slice rendering

03 Jan 2014, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Modernized some driver handling functions to use ADO instead of SO

    Improvements will allow easier driving of SUMA for non-surface
    objects. For now we're not quite there yet. Soon one hopes.

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

31 Dec 2013, ZS Saad, suma, level 3 (MAJOR), type 5 (MODIFY)
    Improvements to tract rendering

    Added stenciling to allow for rendering of masked tracts without
    interfering with unmasked tracts

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

30 Dec 2013, RC Reynolds, file_tool, level 2 (MINOR), type 6 (ENHANCE)
    for -show_bad_backslash, check for '\' as the last file character

    The fix (with -prefix) is to delete the last '\' and end with a newline.

30 Dec 2013, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    madd initial NT parametercw_malloc.c: moved mcw_malloc_dump_sort below _dump for solaris

    Apparently it does not like inconsistent declaration in same file,
    and mcw_malloc.h does not offer prototypes to many functions in the
    case of DONT_USE_MCW_MALLOC, including this one.

30 Dec 2013, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 5 (MODIFY)
    skip polort against polort in -show_cormat_warnings

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

27 Dec 2013, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    also output censored TRs per run, along with fractions

27 Dec 2013, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_tr_run_counts and -show_num_runs, for gen_ss_review_scripts.py

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

26 Dec 2013, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 5 (MODIFY)
    max and jump to cluster max are now based on masked dset, if possible

26 Dec 2013, RC Reynolds, 3dBrickStat, level 1 (MICRO), type 5 (MODIFY)
    removed extra mask size output when using -mask option

    Text output is the intention of the program, so limit to requested text.

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

24 Dec 2013, ZS Saad, InstaTract, level 2 (MINOR), type 1 (NEW_PROG)
    Wrote the outlines of InstaTract to eventually perform miniprob tracking

    The program now talks to SUMA and receives queries from it.
    The queries return a dummy network for now. PT will make it interface
    with FATCAT to compute the actual tracts.

24 Dec 2013, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed SUMA's erroneous switch of colplanes for tracts

    Problem was in thoughtless use of SUMA_ADO_Overlay0() instead
    of available curColPlane pointer in SUMA_cb_createSurfaceCont_TDO().
    Similar changes were made to other SUMA_cb_createSurfaceCont_*() functions
    where curColPlane must be non null at the time of controller creation.

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

23 Dec 2013, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added option to hide graph nodes when nothing is connected to them

23 Dec 2013, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added support for F12 key from DriveSuma

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

22 Dec 2013, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed problem with graph edge selection when viewing connections from node

    Problem is mismatch between colid and what gets rendered when it is not
    the whole object being displayed. For now, everything BUT thresholded 
    edges will get rendered during selection, regardless of what is being
    displayed

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

20 Dec 2013, ZS Saad, 3dProbTrackID, level 1 (MICRO), type 5 (MODIFY)
    Fixed confusion with -algopts parsing

    Program will stop if it gets confused about parameters.
    Made annotations in options file match those in the help

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

18 Dec 2013, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 5 (MODIFY)
    if system files seem to exist in the abin directory, block update

    If AFNI seems to be installed in a system directory (i.e. with OS level
    programs), default to not letting the update proceed.  Options -sys_ok
    and -help_system_progs were added to provide control and details.

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

17 Dec 2013, ZS Saad, suma-general, level 2 (MINOR), type 4 (BUG_FIX)
    SUMA stopped building on systems lacking glCheckFramebufferStatus()

    That was basically all linux_* systems since they are quite a few
    versions behind. The patch is activated with a define at make time.
    Set SUMA_MDEFS = -DSUMA_GL_NO_CHECK_FRAME_BUFFER in Makefile.* if
    the OpenGL installed does not support  glCheckFramebufferStatus().
    Note that -DSUMA_GL_NO_CHECK_FRAME_BUFFER is not really needed for
    most build machines because the code uses other ways to check for
    glCheckFramebufferStatus(). However these auto checks failed on 
    hurin so SUMA_GL_NO_CHECK_FRAME_BUFFER is still necessary for the moment

17 Dec 2013, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Allowed graph node coloring based on a graph point's group ID

    To use such a coloring scheme, set Cl --> Grp in the surface controller
    for a graph dataset. To set group IDs and color, see ConvertDset's
    option -graph_named_nodelist_txt

17 Dec 2013, ZS Saad, ConvertDset, level 2 (MINOR), type 2 (NEW_OPT)
    ConvertDset's -graph_named_nodelist_txt now takes node grouping and color

    See -graph_named_nodelist_txt's help section for details

17 Dec 2013, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed SUMA's opacity cycling with 'o'

    NULL

17 Dec 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    use -NEW by default with 3dDespike

    Added -despike_new to override the default behavior.

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

16 Dec 2013, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed use of num_trs in the case of censoring

    Thanks to K Kerr for noting the problem.

16 Dec 2013, RC Reynolds, auto_warp.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -qblur option for P Molfese

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

11 Dec 2013, ZS Saad, apsearch, level 2 (MINOR), type 2 (NEW_OPT)
    Wildcard file expansion with extension and view trimming and sorting

    See apsearch's -help output with all the -wild_* options for detail.
    Functions at the heart of all this are unique_str() and MCW_wildcards().

11 Dec 2013, ZS Saad, apsearch, level 2 (MINOR), type 2 (NEW_OPT)
    Added -afni_web_downloader

    Done via GetAfniWebDownloader()

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

10 Dec 2013, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Reduced memory load by about a factor of 5 when dealing with volumes

    This was done by sharing color lists across viewers. This would be
    appropriate when volumes are colored the same way across viewers, a 
    likely scenario. Further reductions can be made by going from 
    GLfloat * to GLbyte *, sometime in the future perhaps.

10 Dec 2013, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed source of undefined buffer and problem with glXMakeCurrent on OS X

    Problem seems caused by attempting to create an X graphics context when
    creating a new suma viewer. XCreateGC is no longer needed - its context
    has not been used for a long while anyway.

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

09 Dec 2013, ZS Saad, suma-general, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed broken demo script run_stdmesh_demo from std_meshes.tgz

    Failure was in glXMakeCurrent which crashed rather than return in error.
    Not sure what was causing this, but it was the rapid succession of 
    controllers being open and repositioned that was causing this. Simply
    splitting the two operations into separate loops was enough to remedy
    this. Adding calls to glFinish() and XSync() did nothing to fix the
    problem reliably

09 Dec 2013, RC Reynolds, afni_util.py, level 2 (MINOR), type 4 (BUG_FIX)
    added backup function for get_process_stack

    BASE.shell_com() might return a short process list, probably from
    limited buffer space (for cmd.stdout).

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

06 Dec 2013, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Automated decision for calling glXMakeCurrent with SUMA_glXMakeCurrent()

    This fixes instances where surfaces were being rendered in the colorbar!Ev
    entually any use of SUMA_Si_Si_I_Insist() should be obsolete.

06 Dec 2013, RW Cox, 3dTproject, level 1 (MICRO), type 2 (NEW_OPT)
    Add new NTRP censor mode, just for the Spaniard.

    Where are my cookies?

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

04 Dec 2013, RW Cox, 3dTproject, level 1 (MICRO), type 0 (GENERAL)
    Output count of the various regressors

04 Dec 2013, RW Cox, 3dDespike, level 1 (MICRO), type 2 (NEW_OPT)
    Add -dilate option

04 Dec 2013, RC Reynolds, afni_runme, level 2 (MINOR), type 1 (NEW_PROG)
    added this (Ziad's) script to sysadmin/scripts

04 Dec 2013, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 4 (BUG_FIX)
    fixed ac++ condition and empty if

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

03 Dec 2013, RW Cox, afni GUI, level 1 (MICRO), type 5 (MODIFY)
    Add Set p-value button to Threshold slider popup menu

03 Dec 2013, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 2 (NEW_OPT)
    added -prog_list for Ziad

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

29 Nov 2013, RW Cox, 3dDespike, level 2 (MINOR), type 2 (NEW_OPT)
    add -NEW option

    Different fitting method than L1 -- much faster, results not identical,
    but does that matter for an ad hoc algorithm?

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

27 Nov 2013, ZS Saad, 3dCM, level 2 (MINOR), type 2 (NEW_OPT)
    Added -roi_vals to get COM for multiple ROIs

    Workhorse is THD_roi_cmass() in thd_center.c

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

26 Nov 2013, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Modify imseq.c Image Save function

    (a) Make 'Enter' on prefix field activate saving
    (b) Put all widgets for multiple image save in one window -- 19 years
    after first thinking about it!
    
    'Need brooks no delay, but late is better than never'

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

22 Nov 2013, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    Modify dmUBLOCK to allow peak=1 to occur at duration X

    By choosing Rmodel as 'dmUBLOCK(-X') -- per the request of Chen Gang.

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

15 Nov 2013, RW Cox, 3dDeconvolve, level 1 (MICRO), type 2 (NEW_OPT)
    Add -stim_times_FSL option

    Allows scripting from FSL-style timing files, as distributed by the
    Human Connectome Project.  God Save the Queen.

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

12 Nov 2013, RC Reynolds, 3dTfitter, level 1 (MICRO), type 6 (ENHANCE)
    added help example for PPI analysis

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

05 Nov 2013, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 4 (BUG_FIX)
    watch out of 'afni -ver' crashing because of missing libraries

    Trap check of $package, since it is included with $status.
    Thanks to CC Yen for noting the error.

05 Nov 2013, RC Reynolds, @FindAfniDsetPath, level 1 (MICRO), type 6 (ENHANCE)
    check AFNI_ATLAS_PATH and $HOME/.afni/atlases for datasets

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

04 Nov 2013, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Made functions transforming afni volumes to suma dsets preserve types

    Formerly much was changed into floats. Affected functions include:
    nsd_add_colms_type(), SUMA_afnidset2sumadset(), and nsd_add_sparse_data()

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

01 Nov 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    let all-1 input for extents mask vary per run (for diff # TRs)

01 Nov 2013, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    OS X now defaults to 10.7_Intel package

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

31 Oct 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    restrict blur estimation to uncensored TRs

31 Oct 2013, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_trs_run

    This will be used by afni_proc.py to restrict TRs for blur estimation
    to those that were not censored, per run.

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

30 Oct 2013, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Add 'blowup' to image viewer saver

    From interactive dialog AND from SAVE_xxx driver commands.

30 Oct 2013, RC Reynolds, gen_group_command.py, level 2 (MINOR), type 6 (ENHANCE)
    added -keep_dirent_pre, to expand subject ID to directory entry prefix

    Requested by  P Molfese.

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

28 Oct 2013, P Taylor, 3dROIMaker, level 2 (MINOR), type 5 (MODIFY)
    Allow multiple-brick masks.

    For N-brick data set, can input either 1- or N-brick mask.

28 Oct 2013, P Taylor, 3dMatch, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed subbrick labelling oddity.

    For some reason, subbrick selection with [i] was getting confusedwith i-th
     label (which was an integer). Solved by prefixing labeldesignation with a
     short string of useful letters.

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

24 Oct 2013, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 6 (ENHANCE)
    output global correlation, and DoF info from review_basic

24 Oct 2013, P Taylor, 3dROIMaker, level 2 (MINOR), type 4 (BUG_FIX)
    Fix segmentation error when not using -refset.

    Fixed error in defining/freeing a certain array.

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

23 Oct 2013, RW Cox, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    Add -xtran option (to complement -ytran)

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

22 Oct 2013, RW Cox, 1dplot, level 1 (MICRO), type 4 (BUG_FIX)
    Found that -noline didn't work right with 2 or more time series!

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

21 Oct 2013, RW Cox, 1dplot, level 2 (MINOR), type 2 (NEW_OPT)
    Add -xmulti option

    For graphing with different x-values for different y-value 1D files.

21 Oct 2013, RW Cox, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    And the -dashed option

21 Oct 2013, DR Glen, whereami GUI, level 2 (MINOR), type 3 (NEW_ENV)
    NeuroSynth.org link

    Link out from whereami GUI in afni to neurosynth.org
    with new environment variable AFNI_NEUROSYNTH (YES/NO).
    Must also set AFNI_WEBBY_WAMI to YES.

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

18 Oct 2013, RW Cox, 3dQwarp, level 1 (MICRO), type 2 (NEW_OPT)
    added -weight option

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

17 Oct 2013, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    avoid infinite loop on empty SYM: or SYM: rows

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

01 Oct 2013, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Made suma send filename of surface volume to AFNI

    In this manner a -sv volume that is not in AFNI's
    current session will still be loaded into the current session
    See afni function AFNI_append_dset_to_session() and wherever it
    is used for details

01 Oct 2013, ZS Saad, afni, level 2 (MINOR), type 5 (MODIFY)
    Made AFNI seek and add to session a missing SUMA surface volume

    See afni function AFNI_append_dset_to_session() and wherever it
    is used for details. That function is under afni_plugin.c which is one
    of the few .c files with access to the GLOBAL_library structure.

01 Oct 2013, ZS Saad, afni, level 2 (MINOR), type 5 (MODIFY)
    Reduced AFNI complaints of missing surface volumes and extra triangles.

    These messages come up for each surface component 'nel' and are highly
    redundant. Now messages are choked to about once every 2 seconds for 
    each message id. See whine_about_idcode() for details.

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

30 Sep 2013, RC Reynolds, unix_tutorial, level 2 (MINOR), type 6 (ENHANCE)
    updates to installs/unix_commands/scripts/basic_*/bin/*

    These are for the 2 Dec 2013 bootcamp.

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

26 Sep 2013, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    added more .h files to install_lib for compiling outside of afni_src

    Added rcmat.h, misc_math.h, thd_atlas.h, thd_ttatlas_query.h
    and thd_ttatlas_CA_EZ.h.

26 Sep 2013, P Taylor, TrackIO.c, level 2 (MINOR), type 5 (MODIFY)
    Improving ease of track handling.

    Updated TrackCreate function, which has simpler inputs from 3dProbTrackIDn
    ow; outputs unchanged.

26 Sep 2013, P Taylor, DoTrackit.c, level 2 (MINOR), type 5 (MODIFY)
    Improving ease of NOT-mask ROI inclusion and (internal) track handling.

    This is useful/necessary for handling new NOT-mask regionality in networkf
    iles for tracking; think it just streamlines various processing, as well.

26 Sep 2013, P Taylor, 3dROIMaker, level 2 (MINOR), type 5 (MODIFY)
    Allow negative ROIs in refset.

    This is useful/necessary for handling new NOT-mask regionality in networkf
    iles for tracking.

26 Sep 2013, P Taylor, 3dProbTrackID, level 2 (MINOR), type 5 (MODIFY)
    Improving ease of NOT-mask ROI inclusion and (internal) track handling.

    Instead of separate ROI NOT-masks, uses can build in ANTI-ROIs withnegativ
    e-valued (=-1) voxels.Under the hood track handling: smoother checking of 
    track ends, as well asof possibly breaking up tracks in event of NOT regio
    ns; simpler passingto track bundles, as well.

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

23 Sep 2013, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Numerous updates/bug fixes for graph dset handling

    Pick buffer update now synced with what viewer shows. 
    See SUMA_ADO_Flush_Pick_Buffer(). Text, whenever displayed,
    is turned into a solid rectangle in the pick buffer to facilitate
    selection.
    Point radius based on value was improperly scaled, same for stippling
    Gain arrows had a min of 1.0, now min is 0 and max 200
    Background of text now updates along with text color when color of viewer
    background is changed.
    Help message for picking updated.
    Shift+Alt+Button-3 press will now take a snapshot of the pick buffer
    to help with debugging.

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

20 Sep 2013, RW Cox, ccalc, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed Ziad's stupid sprintf(buf, ... , buf) bug

20 Sep 2013, RW Cox, 3dQwarp, level 1 (MICRO), type 5 (MODIFY)
    Make the penalty factor get bigger with level.

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

19 Sep 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    allow regress_polort -1; added help for -regress_RSFC

19 Sep 2013, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    allow AFNI_COMPRESSOR to init decompression tool between gzip/pigz

19 Sep 2013, RC Reynolds, afni-general, level 2 (MINOR), type 2 (NEW_OPT)
    show label->sub-brick index conversion via AFNI_SHOW_LABEL_TO_INDEX

19 Sep 2013, RC Reynolds, afni, level 2 (MINOR), type 2 (NEW_OPT)
    added options -get_processed_env[_afni] and -global_opts

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

17 Sep 2013, RW Cox, afni_driver.c, level 1 (MICRO), type 4 (BUG_FIX)
    Fix problem with SET_PBAR_ALL +99

    Didn't properly enforce the positivity.

17 Sep 2013, RC Reynolds, mpeg_encode, level 1 (MICRO), type 5 (MODIFY)
    on fatal error, print message; added stdlib.h for free()/exit() protos

    Thanks to TheChymera (Message Board) for mentioning compile warnings.

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

16 Sep 2013, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Switched functions of mouse buttons 1 and 2 when viewing GRAPH MATRIX

    This means matrix spatial rotation would be done with button 2 and
    shifting with button 1. Selection can also be done with button 3 whenever
    there is no selectable surface in sight.

16 Sep 2013, RW Cox, 3dQwarp, level 2 (MINOR), type 5 (MODIFY)
    Add zero-padding

    To allow for images that run right up to the edge of the volume, where
    displacements are defined to be zero, so those parts of the volume won't
    be warped.  Zero-padding extends the volume, which will avoid such
    issues.  It is turned on by default, and can be turned off by '-nopad'
    (as in 3dAllineate).

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

13 Sep 2013, ZS Saad, afni-general, level 1 (MICRO), type 5 (MODIFY)
    Added way to specify DICOM origin in function EDIT_geometry_constructor()

13 Sep 2013, ZS Saad, 3dToyProg, level 1 (MICRO), type 1 (NEW_PROG)
    A sample program to illustrate I/O API for intrepid C programmers

13 Sep 2013, RC Reynolds, model_conv_cosine4, level 1 (MICRO), type 6 (ENHANCE)
    updated help with a usage example

13 Sep 2013, RC Reynolds, 3dNLfim, level 1 (MICRO), type 4 (BUG_FIX)
    report an error instead of crashing if no -input is given

    This allows for getting individual signal help without the crash.

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

12 Sep 2013, ZS Saad, suma-general, level 2 (MINOR), type 5 (MODIFY)
    Added possibility to store network tracts in external file for graph dsets

    See 3dProbTrackID's -gdset_toy for an illustration.
    Some small changes were made to ptaylor/ files to allow for this.

12 Sep 2013, RC Reynolds, afni-general, level 2 (MINOR), type 0 (GENERAL)
    added P Taylor's Makefile and install notes

    Makefile.linux_ubuntu_12_64, OS_notes.linux_ubuntu_12_64

12 Sep 2013, RC Reynolds, afni-general, level 2 (MINOR), type 0 (GENERAL)
    added afni_src/other_builds directory

    This is for non-AFNI-build Makefiles and OS install notes.
    It has been initialized with:
       Makefile.linux_fedora_19_64
       OS_notes.linux_fedora_19_64.txt

12 Sep 2013, RC Reynolds, afni-general, level 1 (MICRO), type 0 (GENERAL)
    added SYSTEM_NAME to Makefile.linux_ubuntu_12_64

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

11 Sep 2013, ZS Saad, suma-general, level 2 (MINOR), type 5 (MODIFY)
    Small changes to make Yaroslav's Debian tests work better

    Changes to @DO.examples to fit Debian installations
    Changed SUMA_search_file to avoid searching entire path and
    focus on AFNI specific regions instead.
    Made DriveSuma's kill_suma command less onerous.

11 Sep 2013, ZS Saad, suma-general, level 2 (MINOR), type 2 (NEW_OPT)
    Allow for surface specification with symbolic notation

    Option -i now can parse strings like: ld60:MNI_N27:l:smoothwm
    to load surfaces from template volumes that would be stored 
    in the afni data directory (see THD_datadir()).
    Also the -spec option can now take such symbolic notation

11 Sep 2013, ZS Saad, apsearch, level 1 (MICRO), type 2 (NEW_OPT)
    Added -afni_data_dir to get the location of the data directory

11 Sep 2013, RC Reynolds, model_conv_cosine4, level 3 (MAJOR), type 1 (NEW_PROG)
    A four half-cosine convolvable model.

    Based on: Fully Bayesian Spatio-Temporal Modeling of FMRI Data
              IEEE Transactions on Medical Imaging,
              Volume 23, Issue 2, February 2004, Pages 213-231
              Woolrich, M.W., Jenkinson, M., Brady, J.M., Smith, S.M.
    Requested by C Connolly and Felix.

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

05 Sep 2013, ZS Saad, 3dSeg, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed crash happening after write operation in 3dSeg

    The problem happened when a dataset is written with a byte
    order that differs from the original one. Under this scenario
    the dataset gets purged from memory by the writing function.
    Kudos to Isaac Schwabacher for doggedly pursuing the bug.

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

03 Sep 2013, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Text annotation of graph dset representation with shadows.

03 Sep 2013, ZS Saad, MapIcosahedron, level 1 (MICRO), type 4 (BUG_FIX)
    Program was crashing with message about binSearch failing.

    Problem was caused by recent changes to binSearch that forced
    exact matching.

03 Sep 2013, RC Reynolds, Dimon, level 2 (MINOR), type 4 (BUG_FIX)
    Dimon -rt: if im_is_volume and single volume, get dz from image

    Thanks to A Nilsen for reporting the problem.

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

28 Aug 2013, RW Cox, 3dQwarp, level 1 (MICRO), type 2 (NEW_OPT)
    -allinkeep option ==> keep -allineate files around

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

27 Aug 2013, RW Cox, Continuing vectim saga, level 1 (MICRO), type 5 (MODIFY)
    More 64 bit fixes

    A few more 64 bit fixes in various MRI_vectim using codes.  Also, change
    the nvox field in MRI_IMAGE to int64_t.  However, generally allowing for
    more than 2G voxels in a 3D volume will be a very grueling change to
    make in thousands of places!

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

26 Aug 2013, RW Cox, 3dREMLfit, level 2 (MINOR), type 4 (BUG_FIX)
    Program crashes or gets bad answers on very large datasets

    Problem: with a vectim, the pointer to the k-th voxel time series array
    (of length nvals) is calculated as
      ptr = base + k * nvals
    where k and nvals are ints.  But with gcc, the k*nvals value is then
    computed in 32 bit arithmetic before being added to the 64 bit pointer
    'base'.  Not good when you pass the 2,147,483,647-th voxel -- that is,
    if the vectim is over 8 Gbytes.  With the Intel icc, it apparently works
    OK -- bravo for Intel.  Anyhoo, by casting k and nvals to size_t, this
    problem goes away.  For now.

26 Aug 2013, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -check_all, -find_prog, -casematch, -exact

    These changes are to add PATH searching for programs.

26 Aug 2013, P Taylor, DoTrackit.c, level 2 (MINOR), type 4 (BUG_FIX)
    Fix handling of non-RPI datasets.

    No ostensible output change, except to not produce an error message.

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

23 Aug 2013, RW Cox, 3dTproject, level 2 (MINOR), type 5 (MODIFY)
    Add catenation, for RCR

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

21 Aug 2013, P Taylor, 3dProbTrackID, level 3 (MAJOR), type 5 (MODIFY)
    Putting together old deterministic and probabilistic programs into 1.

    Unifying tracking, will be easier to update/improve in future.For determin
    istic tracking, allow networks of target ROIs for tracking,as well as bund
    ling outputs for SUMA network/matrix viewing.New option as well, `-mini_pr
    ob', to have some probabilistic aspect todeterministic/tract-based output.

21 Aug 2013, P Taylor, 3dTrackID, level 2 (MINOR), type 5 (MODIFY)
    Minor changes in internal trackbundle handling/NIML-output.

    Temporary step to SUMAfication of program; this program willeventually be 
    phased out in favor of 3dProbTrackID deterministic options.

21 Aug 2013, P Taylor, 3dRSFC, level 2 (MINOR), type 4 (BUG_FIX)
    Allow subset of time series to be selected.

    Minor tweaking of internal workings for writing output.
    No quantitative change.

21 Aug 2013, P Taylor, 3dROIMaker, level 1 (MICRO), type 5 (MODIFY)
    Minor change to INFO_message.

21 Aug 2013, P Taylor, 3dNetcorr, level 1 (MICRO), type 5 (MODIFY)
    Minor change to INFO_message.

21 Aug 2013, P Taylor, 3dMatch, level 1 (MICRO), type 5 (MODIFY)
    Minor change to INFO_message.

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

20 Aug 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_RSFS, to run 3dRSFC

    Would run 3dRSFC per run on errts, to bandpass and compute parameters.

20 Aug 2013, RC Reynolds, afni_system_check.py, level 1 (MICRO), type 6 (ENHANCE)
    update do search_path_dirs/show_found_in_path

20 Aug 2013, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    make 3dAutomask the default EPI strip method

    Suggested by D Glen.  I should have done so in the first place.

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

19 Aug 2013, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Dreaded __builtin_object_size came up for 3dTproject

    Replace memcpy with AAmemcpy in cs_symeig.c . Separated OMP
    macros from mrilib.h by putting them in Aomp.h

19 Aug 2013, ZS Saad, @DO.examples, level 1 (MICRO), type 5 (MODIFY)
    Changes to help with builds and tests on NeuroDebian

    Minor tweaks, cleanup and new option -timeout for prompt_user program.

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

16 Aug 2013, ZS Saad, suma-general, level 3 (MAJOR), type 5 (MODIFY)
    Yet another still hidden expansion of graph dsets

    Modifications to many data structures and handling functions
    to allow for the storage and display of graph datasets (such as
    correlation matrices, and the like.

16 Aug 2013, ZS Saad, afni-general, level 3 (MAJOR), type 5 (MODIFY)
    Changes to tractography I/O API to allow for graph dataset handling

    Effort in concert with Paul Taylor

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

15 Aug 2013, RW Cox, cs_symeig, level 1 (MICRO), type 4 (BUG_FIX)
    Modify backup for svd_double failure

    gcc-compiled source for eispack SVD function sometimes gives wrong
    results.  The backup code for this also sometimes fails.  So I modified
    the backup in 2 ways -- perturb the matrix by a factor of 1e-13, and if
    that fails, call a second backup SVD function.  Sheesh.

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

14 Aug 2013, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    removed '_' from PYTHON_PATH; note any /sw/bin/python* files

14 Aug 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added non-linear standard space registration via -tlrc_NL_warp

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

09 Aug 2013, RW Cox, 3dTproject, level 2 (MINOR), type 1 (NEW_PROG)
    Rapid orthogonal projection to remove unwanted time series

    To replace 3dBandpass when necessary

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

06 Aug 2013, ZS Saad, suma-general, level 2 (MINOR), type 5 (MODIFY)
    Recreated suma_MNI_N27.tgz and suma_TT_N27.tgz with LPI GIFTI

    The surfaces had to be recreated to fit LPI assumption.
    Old suma will not work with new archives and vice versa.
    SUMA will warn when using old archive to help users with transition
    See @SUMA_Make_Spec_FS -nocor and -GNIFTI options for more info.

06 Aug 2013, ZS Saad, MapIcosahedron, level 2 (MINOR), type 5 (MODIFY)
    Hard coded skipping of outer-pial-smoothed surfaces

    Those brain envelopes are not isotopic with the rest of 
    the surfaces so there is no point standardizing them.

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

05 Aug 2013, ZS Saad, inspec, level 2 (MINOR), type 2 (NEW_OPT)
    Added -remove_state to remove surfaces of specific state from spec file

05 Aug 2013, ZS Saad, @SUMA_Make_Spec_FS, level 2 (MINOR), type 5 (MODIFY)
    Option -nocor is now obsolete. -GNIFTI replaces it

    This was necessary to alert whoever was using -nocor that
    resultant GIFTI surfaces were being written in RAI and that now
    they are in LPI in keeping with the standard.
    See @SUMA_Make_Spec_FS -nocor and -GNIFTI options for more info.

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

02 Aug 2013, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    check for multiple R and python programs in PATH

02 Aug 2013, RC Reynolds, 3dANOVA, level 2 (MINOR), type 4 (BUG_FIX)
    if AFNI_COMPRESSOR and input nii.gz, 'remove()' would not remove BRIK.gz

    Thanks to P Molfese for noting the problem.

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

01 Aug 2013, RC Reynolds, suma-general, level 2 (MINOR), type 4 (BUG_FIX)
    in suma_gifti.c, convert GIFTI's LPI to and from AFNI's RAI

    Done with Ziad.  Thanks to N Oosterhof for bringing this up.

01 Aug 2013, RC Reynolds, 3dmask_tool, level 2 (MINOR), type 4 (BUG_FIX)
    fixed apparent pointer step issue, which happens on only some systems

    Apparent problem with MMAP (memory mapping of files).
    Thanks to W Gaggl for pointing out the problem.

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

31 Jul 2013, ZS Saad, ConvertSurface, level 2 (MINOR), type 2 (NEW_OPT)
    Added -xmat_1D NegXY to flip X Y coordinate sign of surfaces.

    This should make it easy to turn GIFTI files with RAI units to
    LPI with something like: 
    ConvertSurface -i toy.gii -o_gii toy -overwrite -xmat_1D NegXY

31 Jul 2013, ZS Saad, ConvertSurface, level 2 (MINOR), type 2 (NEW_OPT)
    Added -merge_surfs to facilitate ECOG strip merging.

31 Jul 2013, RC Reynolds, 3dmask_tool, level 2 (MINOR), type 4 (BUG_FIX)
    fixed failure to apply a negative dilation in non-convert case

    Thanks to W Gaggl for noting the problematic scenario.

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

29 Jul 2013, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Coordinates xform of GIFTI surfaces was applied too late

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

26 Jul 2013, ZS Saad, @RetinoProc, level 1 (MICRO), type 5 (MODIFY)
    Fixed bad option name in -help and clarified -delay option

26 Jul 2013, RW Cox, 3dNwarpFuncs, level 2 (MINOR), type 1 (NEW_PROG)
    Calculate various functions of a warp (e.g., Jacobian)

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

23 Jul 2013, RW Cox, afni, level 1 (MICRO), type 3 (NEW_ENV)
    Make AFNI_RECENTER_VIEWING an editable (in the GUI) variable

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

22 Jul 2013, RC Reynolds, nifti_tool, level 1 (MICRO), type 0 (GENERAL)
    re-applied 2012 change of originator to shorts (lost with ITK update)

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

19 Jul 2013, RW Cox, 3dQwarp, level 2 (MINOR), type 2 (NEW_OPT)
    -resample and -allinfast options

    For resampling (without registering) and fast affine registering -- both
    done via 3dAllineate.

19 Jul 2013, RW Cox, 3dDeconvolve, level 1 (MICRO), type 5 (MODIFY)
    Added warning if censor array is too long

19 Jul 2013, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    applied ITK compatibility updates from 11/2010 by H Johnson

19 Jul 2013, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 6 (ENHANCE)
    no options implies -h

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

18 Jul 2013, RW Cox, @toMNI_Awarp _Qwarpar, level 1 (MICRO), type 5 (MODIFY)
    Modified to gzip output BRIKs

18 Jul 2013, RW Cox, 3dQwarp, level 1 (MICRO), type 4 (BUG_FIX)
    Yet another indexing error (in argv[], no less)

18 Jul 2013, RC Reynolds, @move.to.series.dirs, level 2 (MINOR), type 6 (ENHANCE)
    added -dprefix option, for output directory prefix

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

17 Jul 2013, RW Cox, 3dQwarp, level 1 (MICRO), type 5 (MODIFY)
    clip output image to range of input image when interpolating

17 Jul 2013, RW Cox, 3dQwarp, level 1 (MICRO), type 4 (BUG_FIX)
    fixed indexing error in duplo_up for odd-sized grids

17 Jul 2013, RW Cox, 3dAllineate, level 1 (MICRO), type 4 (BUG_FIX)
    fixed problem with -zclip in the source volume - indexing error

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

16 Jul 2013, RW Cox, 3dQwarp, level 3 (MAJOR), type 2 (NEW_OPT)
    -allineate = run 3dAllineate first

    With this option, 3dQwarp can align datasets that are not so close, and
    are not on the same 3D grid (since the substitute source dataset output
    by 3dAllineate will be on the base grid).

16 Jul 2013, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 6 (ENHANCE)
    added checks for early python versions; added a little help

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

12 Jul 2013, RC Reynolds, suma, level 1 (MICRO), type 5 (MODIFY)
    return a good status (0) on -help

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

11 Jul 2013, RC Reynolds, afni_system_check.py, level 2 (MINOR), type 1 (NEW_PROG)
    perform many checks to validate a system for AFNI use

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

09 Jul 2013, RC Reynolds, to3d, level 2 (MINOR), type 2 (NEW_OPT)
    added -ushort2float, for converting unsigned shorts to floats

    Requested by D Handwerker.

09 Jul 2013, RC Reynolds, file_tool, level 2 (MINOR), type 6 (ENHANCE)
    added more info for locating bad chars with -test

09 Jul 2013, RC Reynolds, Dimon, level 2 (MINOR), type 6 (ENHANCE)
    if unsigned shorts are detected, add -ushort2float to to3d command

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

07 Jul 2013, RC Reynolds, @Install_FATCAT_DEMO, level 2 (MINOR), type 1 (NEW_PROG)
    replaces @Install_PTaylor_TractDemo

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

06 Jul 2013, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    use NIFTI_INTENT_NONE for case of intent_code = FUNC_BUCK_TYPE

    3dbucket's FUNC_BUCK_TYPE went to intent_code for 1 vol dset

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

01 Jul 2013, RC Reynolds, afni-general, level 1 (MICRO), type 2 (NEW_OPT)
    added AFNI_INCLUDE_HISTORY: set to No to omit history from output

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

28 Jun 2013, RC Reynolds, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    added get/show_process_stack(), get/show_login_shell()

    Can use these from command line, e.g. :
       afni_util.py -eval 'show_login_shell()'
       afni_util.py -eval 'show_login_shell(verb=1)'
       afni_util.py -eval 'show_process_stack()'

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

27 Jun 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_mot_as_ort

    Applies motion regressors via -ortvec, a potential future change.

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

26 Jun 2013, RW Cox, various files, level 2 (MINOR), type 0 (GENERAL)
    Allow individual sub-bricks over 2 GB in size

    By changing the brick_bytes[] array to int64_t from int, and then
    modifying all places that use it.

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

25 Jun 2013, RW Cox, AFNI_PBAR_TICK, level 1 (MICRO), type 3 (NEW_ENV)
    Ability to disable new tick marks for colorscales and image bars.

    Can set this to NO, or to the number of tick marks desired.

25 Jun 2013, RW Cox, 3dUnifize, level 1 (MICRO), type 2 (NEW_OPT)
    Add -ssave option, to save scaling dataset for perusal

25 Jun 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -volreg_motsim and -volreg_opts_ms

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

24 Jun 2013, RW Cox, distsend (script), level 1 (MICRO), type 0 (GENERAL)
    Modify to recursively mv contents of subdirectories properly

24 Jun 2013, RW Cox, all OpenMP progs, level 1 (MICRO), type 0 (GENERAL)
    Add AFNI_SETUP_OMP(0) macro at startup

    To limit number of threads to 12 if the system has more CPUs.  Will be
    over-ridden by OMP_NUM_THREADS, if it is set.

24 Jun 2013, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Add 'Thr=OLay?' to 'Thr=OLay+1?' repertoire

    Mostly because I wanted to do this a lot.  This is on the popup menu
    over the threshold slider bar in the 'Define OverLay' control panel.

24 Jun 2013, RW Cox, AFNI_HISTORY_NAME, level 1 (MICRO), type 3 (NEW_ENV)
    Lets user change username@machine in History notes

    Because super-heroes need to have a secret identity, right?

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

14 Jun 2013, ZS Saad, 1dmatcalc, level 1 (MICRO), type 5 (MODIFY)
    Set status to 1 on failure

14 Jun 2013, RC Reynolds, Makefile.NIH.openSUSE.11.4_64, level 1 (MICRO), type 6 (ENHANCE)
    added -fPIC to CCMIN (-fPIC is all over now, basically for R_io.so)

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

13 Jun 2013, RW Cox, 3dLocalHistog, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed bug that caused first value from label table to be lost

    Or actually, subsumed into the 0=Other histogram.  stupid stupid stupid

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

10 Jun 2013, RC Reynolds, @simulate_motion, level 2 (MINOR), type 6 (ENHANCE)
    added warp_methods, etc.

10 Jun 2013, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    added -select_groups, -show_cormat, -volreg2allineate

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

07 Jun 2013, RW Cox, 3dhistog, level 1 (MICRO), type 2 (NEW_OPT)
    Add -igfac option

    To ignore scale factors -- to histogram-ize the underlying shorts or
    bytes in a dataset.

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

04 Jun 2013, ZS Saad, SurfToSurf, level 2 (MINOR), type 2 (NEW_OPT)
    Added nearest neighbor search option

    There is no need to search along a certain direction when
    mapping between two spheres of identical radius and size.

04 Jun 2013, RW Cox, Nwarp programs, level 1 (MICRO), type 5 (MODIFY)
    Added 'FAC:x,y,z:dataset' input format for warps

    To allow separate scaling of each direction of a warp.

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

31 May 2013, RC Reynolds, @simulate_motion, level 3 (MAJOR), type 1 (NEW_PROG)
    program to create time series simulated by motion parameters

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

30 May 2013, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    AFNI_OVERRIDE_VIEW lets you force all datasets into one view

    Should be set to TLRC or ORIG

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

24 May 2013, RW Cox, 3dQwarp, level 1 (MICRO), type 2 (NEW_OPT)
    Add -noneg option, to crush negative values in input datasets.

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

22 May 2013, RW Cox, 3dUnifize, level 1 (MICRO), type 5 (MODIFY)
    Change default clip fraction for automask to 0.1 from 0.5

    For Juen -- to deal with heavily faded images.

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

17 May 2013, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    added -f to curl, so that failures propagate to $status

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

14 May 2013, RW Cox, 3dQwarp, level 2 (MINOR), type 2 (NEW_OPT)
    New -plusminus option

    'Meet-in-the-middle' matching: base(x-dis(x)) = source(x+dis(x)).
    For application to unwarping blip-up and blip-down EPI datasets.
    
    Also, fix bug when -no?dis options are used -- when the code for
    parameter sub-vector mapping was moved around, the 'free' call to get
    rid of any old mapping wasn't moved with it -- bad Bob, bad bad bad.

14 May 2013, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added options -show_argmin/max

14 May 2013, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    motion file renamed

    Renamed motion files for -save_vr without -epi2anat

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

13 May 2013, RC Reynolds, @RenamePanga, level 2 (MINOR), type 4 (BUG_FIX)
    added -column to count commands writing listfile

    There is a 4096 byte limit in addto_args(), which could be made dynamic.

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

10 May 2013, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    named glob functions as afni_*; R was using sys funcs, rather than local

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

09 May 2013, ZS Saad, R_io, level 2 (MINOR), type 4 (BUG_FIX)
    Temporary fix of segfault happening in R from R_io.so

    Source of problem is a call to COMPRESS_setup_programs()
    Not sure why the following crash was happening:
    *** caught segfault ***
    address 0x3800000100, cause 'memory not mapped'
    However a temporary env. SKIP_COMPRESS_SETUP will get around it.

09 May 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added options -write_3dD_script and -write_3dD_prefix

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

08 May 2013, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added options -rank, -rank_style, -reverse_rank

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

07 May 2013, RW Cox, 3dQwarp, level 1 (MICRO), type 2 (NEW_OPT)
    Add -Qfinal option (experimental)

07 May 2013, DR Glen, 3dAnatNudge, level 2 (MINOR), type 5 (MODIFY)
    always produce output with -prefix even if no shift

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

06 May 2013, RW Cox, 3dNwarpApply, level 1 (MICRO), type 2 (NEW_OPT)
    Add -short option == save results as shorts

    For use in warping label datasets.

06 May 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    added -regress_anaticor example; opt implies -mask_segment_anat/_erode

06 May 2013, RC Reynolds, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    added option -slice_timing

06 May 2013, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    added option -transpose_write

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

03 May 2013, RW Cox, thd_compress.c, level 1 (MICRO), type 5 (MODIFY)
    Substitute pigz for gzip and pbzip2 for bzip2 if present in path

03 May 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added options -regress_anaticor and -mask_segment_erode

    Use the -regress_anaticor option to regress the WMeLocal time series.
    This is the ANATICOR method of HJ Jo.

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

01 May 2013, RW Cox, 3dQwarp, level 2 (MINOR), type 5 (MODIFY)
    Minor updates

    Make -emask work with -duplo.
    Add SAMPLE USAGE section to help to show how to combine 3dAllineate with
    3dQwarp, and/or align_epi_anat.py also.
    Add -base and -source options, to make program look more like 3dAllineate.

01 May 2013, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    added -help example for -show_trs_uncensored

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

29 Apr 2013, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 6 (ENHANCE)
    set AFNI_NO_OBLIQUE_WARNING in scripts

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

26 Apr 2013, RW Cox, 3dQwarp, level 1 (MICRO), type 5 (MODIFY)
    Make -emask option work correctly with -duplo

26 Apr 2013, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_trs_censored/_uncensored (mostly for X-matrix datasets)

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

25 Apr 2013, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    strlist chooser stays in same place if re-opened - for Allison

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

24 Apr 2013, RC Reynolds, @move.to.series.dirs, level 2 (MINOR), type 1 (NEW_PROG)
    partition a list of DICOM files by series number

    Done for I Shapira.

24 Apr 2013, RC Reynolds, @2dwarper.Allin, level 2 (MINOR), type 4 (BUG_FIX)
    did not set 'ver' before goto START

    Thanks to I Schwabacher for noting the problem and fix.

24 Apr 2013, RC Reynolds, 3dinfo, level 2 (MINOR), type 4 (BUG_FIX)
    allow -space for nifti; actually exit if -view and result exists

    Thanks to I Schwabacher for noting the problem and fix.

24 Apr 2013, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -censor_next_TR

    Sticking with backward diff for deriv, as it makes sense for censoring.

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

23 Apr 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    added eroded ROIs for -regress_ROI: WMe, GMe, CSFe

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

22 Apr 2013, ZS Saad, 3dAutoTcorrelate, level 2 (MINOR), type 2 (NEW_OPT)
    Added -out1D option to output correlations in text format.

22 Apr 2013, RW Cox, 3dNwarpAdjust, level 2 (MINOR), type 1 (NEW_PROG)
    For template-building via @toMNI_Qwarp

    Computes the mean warp, and adjusts the individual warps to get rid of
    this mean warp (under the presumption that it is some kind of bias).

22 Apr 2013, RC Reynolds, auto_warp.py, level 2 (MINOR), type 0 (GENERAL)
    modified afni_base.afni_name.new() with 2 cases of parse_pref=1

    This is currently the only application of that parameter.

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

19 Apr 2013, DR Glen, 3dmaskdump, level 2 (MINOR), type 2 (NEW_OPT)
    lpi xyz output option

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

18 Apr 2013, RW Cox, 3dQwarp, level 1 (MICRO), type 4 (BUG_FIX)
    -useweight didn't actually do anything inside OpenMP

    Obviously, this can't be my fault.  I blame evil spirits.

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

17 Apr 2013, RC Reynolds, 3dAFNItoNIFTI, level 2 (MINOR), type 4 (BUG_FIX)
    fixed old use of use of strcat() after strdup()

    Thanks to B Benson and J Stoddard for noting the problem.

17 Apr 2013, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    save_vr result causes crash

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

16 Apr 2013, RC Reynolds, 3dmaxima, level 2 (MINOR), type 4 (BUG_FIX)
    modernize dataset coordinate reporting, using proper signs

    Thanks to G Pagnoni for reporting the issue.

16 Apr 2013, RC Reynolds, 3dmaskave, level 2 (MINOR), type 2 (NEW_OPT)
    added -sumsq (sum squares) and -enorm (Euclidean norm) options

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

15 Apr 2013, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    added RESTING STATE NOTE to help

15 Apr 2013, RC Reynolds, 3dSurf2Vol, level 1 (MICRO), type 4 (BUG_FIX)
    fixed crash when a surface was not found (struct init)

    Thanks to H Yang for noting the problem.

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

12 Apr 2013, RW Cox, 3dLocalHistog, level 2 (MINOR), type 1 (NEW_PROG)
    Collecting counts of labels in nbhd of each voxel

    For building atlases that allow for uncertainty in position

12 Apr 2013, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    detach from terminal and graph fading are now the defaults

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

09 Apr 2013, ZS Saad, @RetinoProc, level 2 (MINOR), type 2 (NEW_OPT)
    Added options for providing orts for each input time series

    See options -*_orts in the help output.

09 Apr 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed computed fitts for REML case (was from 3dDeconvolve)

    Thanks to G Pagnoni for noting the problem.

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

05 Apr 2013, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    added Help web link to class handouts

05 Apr 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    revert -save_orig_skullstrip to -save_skullstrip

    This should have no effect on results, except for rename of anat_strip
    to anat_ns.  It also gets around a temporary name change from AEA.py.

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

04 Apr 2013, RW Cox, 3dGroupInCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Add -Apair option

    For testing differences in correlations in 1 group from 2 different
    seeds -- the regular seed minus the 'Apair' seed.  Also changes to AFNI
    to set the Apair seed, etc.

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

02 Apr 2013, RW Cox, Nwarp, level 1 (MICRO), type 0 (GENERAL)
    Replace sqrt(nwarp) algorithm

    Schulz method gives unpleasant ringing artifacts in the square root. 
    Use the Denman-Beavers methods instead, which is slower and maybe a
    little less accurate, but doesn't do the ringing weirdness.

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

01 Apr 2013, ZS Saad, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    AFNIio.R's newid.AFNI() was duplicated and the more compact one was broken

01 Apr 2013, ZS Saad, 3dAutoTcorrelate, level 1 (MICRO), type 2 (NEW_OPT)
    Added option -mask_source

01 Apr 2013, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    motion file renamed

    Some output files like the motion files were accidentally renamed.

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

29 Mar 2013, DR Glen, general compression, level 2 (MINOR), type 3 (NEW_ENV)
    pigz for faster gzip-like compression

    pigz is a gzip utility that makes use of multiple CPU's.
    It produces and uses .gz files. To use, set AFNI_COMPRESSOR to PIGZ.

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

28 Mar 2013, ZS Saad, @RetinoProc, level 1 (MICRO), type 4 (BUG_FIX)
    Parsing of -on* and -off* options failed for non-integral values

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

27 Mar 2013, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_group_labels, -label_prefix_keep/_drop

    Option -label_prefix_drop can be used to remove bandpass regs for 3dRSFC.

27 Mar 2013, DR Glen, 3dBrickStat, level 2 (MINOR), type 2 (NEW_OPT)
    absolute value of voxels for statistics

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

26 Mar 2013, ZS Saad, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    Added option -inflate for automatic creation of semi-inflated surfaces

    See @SUMA_Make_Spec_FS -help for details

26 Mar 2013, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Loop variable error in 3DEdge/src/convert.c variable s32buf

    Affected regions in some locations under: case UCHAR and case SSHORT

26 Mar 2013, ZS Saad, suma, level 1 (MICRO), type 5 (MODIFY)
    AlignToExperiment transforms no longer applied to spherical surfaces 

    This makes spheres show up better by default in SUMA for prying.

26 Mar 2013, ZS Saad, SurfSmooth, level 1 (MICRO), type 2 (NEW_OPT)
    Added -match_center to force recentering of smoothed surfaces.

    SurfSmooth -help for details

26 Mar 2013, RW Cox, 3dttest++, level 2 (MINOR), type 2 (NEW_OPT)
    Add option -cmeth (MEAN or MEDIAN) for Steve Gotts

26 Mar 2013, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Minor changes to Fade feature in graph viewer

    Toggle button in Opt menu.
    AFNI_GRAPH_FADE environment variable.
    Make sure it works with Clusterize and InstaCorr updates.

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

25 Mar 2013, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Merged handling of CoordBias with Prying, all in VisX

    Lots of annoying little details there. See functions like:
      SUMA_*CoordBias*, SUMA_ApplyVisXform(), and SUMA_Apply_VisX_Chain()

25 Mar 2013, P Taylor, 3dReHo, level 2 (MINOR), type 2 (NEW_OPT)
    More voxelwise neighborhood shapes available.

    Voxelwise neighborhoods can be any sphere/radius size, and even
    ellipsoidal. Some memory stuff should be better as well.

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

22 Mar 2013, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added stippling for line segments DOs, see SUMA's ctrl+h for details.

22 Mar 2013, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Fading of graph sub-windows with the 'F' key

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

20 Mar 2013, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Texture demos in DriveSuma were failing.

    Problem was a combination of coordinate clipping when frame coords
    were at 0 or 1. That is now fixed. Also, demo.*do files needed changing
    to move texture on surface into mobile.niml.do
    Depth test is no longer disabled with textures.

20 Mar 2013, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Text was not appearing at times. Bug was in SUMA_SO_NIDO_Node_Texture()

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

19 Mar 2013, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Prying was off for new GIFTI standard-mesh surfaces.

    Bug was caused by a failure to identify LR sides of GIFTI
    surfaces. SUMA was not preserving the side of a GIFTI surface
    at write time in SUMA_GIFTI_Write(). Code was also modified
    to guess the side of pre-existing GIFTI surfaces.
    Prying was also off when a transform was found in the header
    of the surface volume because dimensions were not being recomputed
    after applying the VolPar transform. That is now fixed.

19 Mar 2013, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    alignment AddEdge error

    Error in resampling step of AddEdge procedure causes crash.
    Problem requires both -giant_move (or -prep_off or -resample off) and
    -AddEdge.

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

14 Mar 2013, ZS Saad, SurfToSurf, level 2 (MINOR), type 2 (NEW_OPT)
    NearestNodeCoords was added to -output_params

14 Mar 2013, ZS Saad, @auto_tlrc, level 1 (MICRO), type 2 (NEW_OPT)
    -init_xform now takes AUTO_CENTER_CM and CENTER_CM

14 Mar 2013, P Taylor, 3dNetCorr, level 4 (SUPER), type 1 (NEW_PROG)
    New function: calculate correlat/Z of ROIs in a network.

    This program works on several networks as separate subbricks simultan-
    eously.

14 Mar 2013, P Taylor, rsfc, level 2 (MINOR), type 5 (MODIFY)
    New functions; streamline some other functions.

    For addition of 3dNetCorr, mainly.

14 Mar 2013, P Taylor, 3dProbTrackID, level 2 (MINOR), type 5 (MODIFY)
    List ROI labels near start of *.grid; use floor to get NmNsThr

    This allows for more similarity with 3dNetCorr, and might be useful
    as well if the labeling of ROIs in a network is not just 1,..,max.
    The flooring vs ceiling is so that people don't have to use 0.00099
    as a relative fraction of MC iterations to get the number they want.

14 Mar 2013, P Taylor, 3dDWUncert, level 2 (MINOR), type 4 (BUG_FIX)
    Silly bug in e_{13}^* estimation.

    Mean and std of uncertainty of e1 toward e3 was buggy.

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

12 Mar 2013, RW Cox, 3dNwarpApply, level 2 (MINOR), type 2 (NEW_OPT)
    Various fixes

    -ainterp = lets you interpolate data differently from warp
    -affter  = lets you use a different affine warp for each sub-brick
    -nwarp   = allow catenation and inversion directly on the command line
    
    These last 2 options make the program 3dNwarpCat pleonastically
    redundant.

12 Mar 2013, DR Glen, align_epi_anat.py, level 2 (MINOR), type 2 (NEW_OPT)
    Handling input and output directories

    Output now goes to current directory (./) unless otherwise specified
    with -output_dir. Thanks a lot, Rick.

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

11 Mar 2013, DR Glen, align_epi_anat.py, level 2 (MINOR), type 2 (NEW_OPT)
    Handling input and output directories

    Output follows input directories unless specified with -output_dir
    Previously, all input files had to exist in current directory.
    Changes allow for output to follow anat or epi dataset directories
    or specified output directory. Also minor change to call tcsh without
    sourcing startup .cshrc

11 Mar 2013, DR Glen, @Atlasize center of mass, level 2 (MINOR), type 2 (NEW_OPT)
    Add -centers for center of mass locations in atlas regions

    -centers option added to @Atlasize and @MakeLabelTable
    This location is simple center of mass for now and may be
    outside region for non-blobbish regions

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

08 Mar 2013, RC Reynolds, 3dTcat, level 2 (MINOR), type 2 (NEW_OPT)
    added -TR and -tpattern options

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

07 Mar 2013, RC Reynolds, file_tool, level 2 (MINOR), type 6 (ENHANCE)
    handle -prefix and -overwrite for -show_bad_backslash

    The combination can be used to 'fix' bad files.

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

27 Feb 2013, RW Cox, 3dUnifize, level 1 (MICRO), type 2 (NEW_OPT)
    Added -GM option to stretch gray matter to a consistent-ish place

27 Feb 2013, RC Reynolds, python-general, level 1 (MICRO), type 2 (NEW_OPT)
    added Ziad's apsearch global options: -all_opts, -h_find, -h_view

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

22 Feb 2013, ZS Saad, suma, level 3 (MAJOR), type 2 (NEW_OPT)
    Prying hemispheres apart to see medial or lateral sides simultaneously

    This is controlled via the ctrl+Button 1-Motion. See SUMA's ctrl+h output
    for details. The prying behaviour is different for spheres and flat maps
    Just try it and see. ctrl+double click to get back to initial view.
    See also env: SUMA_LHunify

22 Feb 2013, ZS Saad, suma, level 3 (MAJOR), type 2 (NEW_OPT)
    Automatically adjust position of LR surfaces so that they don't overlap

    This is only done for anatomically incorrect surfaces, the others should
    not overlap of course. This allows for simultaneous viewing of inflated
    surfaces and flattened ones side by side.

22 Feb 2013, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Option -anatomical labels all -i_* -t_* surfs anatomically correct

22 Feb 2013, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Option -onestate put all -i_* surfs on command line in the same state

22 Feb 2013, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed FOV problems for auto setting and fixing zoom level across states

22 Feb 2013, ZS Saad, suma, level 2 (MINOR), type 3 (NEW_ENV)
    SUMA_LHunify to automatically merge LR hemispheres in all views

    This is done by discarding the _lh _rh to state names that are 
    created by @SUMA_Make_Spec_FS

22 Feb 2013, P Taylor, 3dProbTrackID, level 2 (MINOR), type 2 (NEW_OPT)
    Instead of just individual ROI masks, can get map of Ntracks/voxel.

    This allows a posteriori thresholding/comparisons/analysis.

22 Feb 2013, P Taylor, rsfc, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed potential float/double problem.

    When using 3dReHo to get ReHo for ROIs, could get *very* large numbers
    during part of calculations; floats were fine for 27 voxel neighborhood,
    but not with large ROIs. Thus, using doubles in the calc now.

22 Feb 2013, P Taylor, 3dReHo, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed mask misread which could cause error in some nonmasked data.

22 Feb 2013, P Taylor, 3dDWUncert, level 1 (MICRO), type 4 (BUG_FIX)
    Free as well as DELETE a dset.

    Ultraminor change.

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

21 Feb 2013, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    small help update to include tshift block in example 5c

    Thanks to J Gonzalez bringing it up.

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

20 Feb 2013, RW Cox, 3dUnifize, level 2 (MINOR), type 1 (NEW_PROG)
    Quick and dirty approximate spatial uniformization of T1 anats

    Mostly for use with 3dQwarp

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

19 Feb 2013, RW Cox, afni, level 2 (MINOR), type 3 (NEW_ENV)
    Histogram plugins can now do cumulative distributions

    set AFNI_HISTOG_CUMULATIVE to YES

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

15 Feb 2013, ZS Saad, ParseName, level 2 (MINOR), type 2 (NEW_OPT)
    Added -FNameNoAfniExt to -out option

15 Feb 2013, ZS Saad, @SUMA_AlignToExperiment, level 2 (MINOR), type 2 (NEW_OPT)
    Allowed script to work with NIFTI input for both -surf_anat and -exp_anat

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

14 Feb 2013, ZS Saad, suma, level 3 (MAJOR), type 2 (NEW_OPT)
    Added stippling-based transparency to surface viewing.

    Fancier blending-based transparency will have to wait.

14 Feb 2013, ZS Saad, @SUMA_Make_Spec_FS, level 3 (MAJOR), type 2 (NEW_OPT)
    Option -nocor to improve data import from FreeSurfer

    Option avoid COR images, produces NIFTI and GIFTI output that
    aligns with the initial volume passed to FreeSurfer. This required
    considerable changes to the script and will not be the default for
    a while longer.

14 Feb 2013, ZS Saad, apsearch, level 2 (MINOR), type 5 (MODIFY)
    Improved parsing for options to avoid getting options from sample commands

    Previously, if you used an example in the help that called
    a different program and you used options on clean lines as part of that
    example command, those options would get attributed to the program
    whose help you're reading. Pfew. Not anymore.

14 Feb 2013, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added -TransMode to control surface transparency.

14 Feb 2013, ZS Saad, @SUMA_Make_Spec_FS, level 1 (MICRO), type 2 (NEW_OPT)
    Option -set_space set space of output volumes

14 Feb 2013, RW Cox, 3dAllineate, level 1 (MICRO), type 2 (NEW_OPT)
    Add -emask option (exclude certain voxels)

    For use in registering pre- and post-surgery volumes (e.g.).

14 Feb 2013, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    handle surface data in -move_preproc_files

    Thanks to P Molfese for reporting the error.

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

13 Feb 2013, RC Reynolds, unix_tutorial, level 3 (MAJOR), type 1 (NEW_PROG)
    added tutorial to CVS tree, with processed files under AFNI_data6

13 Feb 2013, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    inform user of subj_dir when writing AP command

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

12 Feb 2013, RC Reynolds, afni_util.py, level 1 (MICRO), type 4 (BUG_FIX)
    updated duplicate dataset error message to match older code updates

    Thanks to HJ Jo for reporting the error.

12 Feb 2013, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 4 (BUG_FIX)
    if 'afni -ver' fails from libraries and $status not set, check $package

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

11 Feb 2013, RC Reynolds, file_tool, level 1 (MICRO), type 6 (ENHANCE)
    help updates

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

07 Feb 2013, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Add MASK= to driver for INSTACORR INIT

    Per the request of the esteemed Daniel Handwerker, scientist
    extraordinaire.

07 Feb 2013, DR Glen, 3dDWItoDT, level 2 (MINOR), type 2 (NEW_OPT)
    Added Greg Baxter's (UCSD) change for b-matrix input

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

06 Feb 2013, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Merged Paul Taylor's recent code changes

    Also created afni_history_ptaylor.c
    see afni_history -author ptaylor for details on the changes

06 Feb 2013, ZS Saad, MakeColorMap, level 2 (MINOR), type 2 (NEW_OPT)
    -suma_cmap, -usercolutfile, and -sdset* options for SUMA colormaps

    The new options allow users to create SUMA's colormaps with labels
    and turn datasets into labeled datasets with the user's colormap

06 Feb 2013, ZS Saad, ConvertDset, level 2 (MINOR), type 2 (NEW_OPT)
    -labelize for assigning a SUMA colormap to an integral valued dset

06 Feb 2013, ZS Saad, afni-general, level 1 (MICRO), type 2 (NEW_OPT)
    Added special filename '1D:stdin' to make mri_read get 1D from stdin

    In this manner, most 3d programs can now accept stdin input in 1D format
    This change was suggested by Isaac Schwabacher.

06 Feb 2013, P Taylor, 3dProbTrackID, level 2 (MINOR), type 2 (NEW_OPT)
    Add ability to output each WM-region mask as an individual ROI.

    This should make it simpler to use an ROI as a mask than 
    with the 2^(ROI number) labelling system within subbrick outputs.

06 Feb 2013, P Taylor, 3dTrackID, level 1 (MICRO), type 4 (BUG_FIX)
    Small bug in 3dTrackID fixed.

    In post-run freeing of variables, had been error for a char string.

06 Feb 2013, P Taylor, 3dRSFC, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed potential div by zero in 3dRSFC.

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

05 Feb 2013, RC Reynolds, python-general, level 1 (MICRO), type 4 (BUG_FIX)
    fixed (unused) cols_by_label_list functions

    Fix by I Schwabacher, who is actually using the function.

05 Feb 2013, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    updates to the help introduction

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

04 Feb 2013, ZS Saad, R, level 1 (MICRO), type 4 (BUG_FIX)
    Properly set IDCODE of new dsets, read .1D.dset as dset not matrix

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

01 Feb 2013, ZS Saad, suma, level 1 (MICRO), type 3 (NEW_ENV)
    SUMA_ContourThickness to control the thickness of dset contour lines

    Addition made in response to Valentinos' feedback.
    Documentation is in .sumarc file.

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

31 Jan 2013, RC Reynolds, uber_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed blist error that had not been converted to bdict

    Thanks to Piero C. for reporting the error.

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

30 Jan 2013, RC Reynolds, python-general, level 2 (MINOR), type 6 (ENHANCE)
    added less biased correlations and various gcor utility functions

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

24 Jan 2013, RC Reynolds, Dimon, level 2 (MINOR), type 6 (ENHANCE)
    be able to process a run of AFNI volumes (-file_type AFNI)

    added for Der-Yow Chen and Cecil Yen

24 Jan 2013, RC Reynolds, 3dinfo, level 1 (MICRO), type 5 (MODIFY)
    get -orient output via new THD_fill_orient_str_3

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

22 Jan 2013, ZS Saad, apsearch, level 2 (MINOR), type 2 (NEW_OPT)
    Added -bash option for bash filename completion, & -recreate_all_afni_help

    Thanks be to Isaac Schwabacher.

22 Jan 2013, ZS Saad, HalloSuma, level 2 (MINOR), type 1 (NEW_PROG)
    A sample light-weight program to illustrate 2-way communication with AFNI

    The program can be compiled in C or C++ along with the NIML library
    without having to link to AFNI/SUMA libraries.
    Documentation is the code.

22 Jan 2013, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added -echo_nel(*) option to show NIML communication elements

22 Jan 2013, ZS Saad, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    Added -hand for handeness of orientation

22 Jan 2013, ZS Saad, 3dLocalstat, level 1 (MICRO), type 5 (MODIFY)
    THD_localstat() was not applying mask to output under resam. mode

22 Jan 2013, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added -file_type, in prep for reading AFNI/NIfTI images

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

18 Jan 2013, RC Reynolds, @compute_gcor, level 2 (MINOR), type 1 (NEW_PROG)
    compute GCOR = global correlation of a dataset

18 Jan 2013, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    when jobs=1, only warn for -virtvec if the option was used

    The result was just a warning which did not affect processing.
    Thanks to J Britton and E Ronkin for reporting the warning.

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

16 Jan 2013, RC Reynolds, realtime_receiver.py, level 2 (MINOR), type 2 (NEW_OPT)
    added option -dc_params

    To go with new scripts AFNI_data6/realtime.demos/demo.2.fback.*.

16 Jan 2013, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added option -show_gcor (and _all and _doc)

    compute GCOR (average correlation) on 1D files

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

11 Jan 2013, ZS Saad, ConvertSurface, level 2 (MINOR), type 2 (NEW_OPT)
    Added -flip_orient option to change orientation of triangles.

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

09 Jan 2013, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added option -regress_compute_gcor

    If errts and EPI mask exist, GCOR is computed by default.

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

07 Jan 2013, ZS Saad, 3dinfill, level 2 (MINOR), type 2 (NEW_OPT)
    Added -radial_* options to test SUMA_Volume_RadFill() function.

07 Jan 2013, RC Reynolds, 3dTstat, level 2 (MINOR), type 2 (NEW_OPT)
    added option -l2norm, to compute L2 norm

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

04 Jan 2013, DR Glen, 3drefit, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bug that would make 3drefit exit if dataset contains a warpdrive attribute

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

02 Jan 2013, RW Cox, afni Clusterize, level 2 (MINOR), type 5 (MODIFY)
    Allow use of Spearman rather than Pearson for scatterplot correlation

    Set via environment variable AFNI_CLUSTER_SPEARMAN, or by popup menu
    attached to top of clusterize report form.  This is for PK.

02 Jan 2013, RC Reynolds, 3dCM, level 1 (MICRO), type 4 (BUG_FIX)
    in THD_cmass(), if mask is NOT set, clear data value

    Found with dglen.  This is an old bug, ick.

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

31 Dec 2012, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    is_in_labels(): search for longest match

    To fix failure in the case of both label and labelSUFFIX existing.

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

28 Dec 2012, RC Reynolds, suma-general, level 1 (MICRO), type 4 (BUG_FIX)
    mri_polyfit() now takes exar parameter, pass NULL

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

27 Dec 2012, ZS Saad, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    Increased buffer size for reading one line.

    See LBUF in mri_read.c, also added error message when
    line is too long for LBUF in afni_fgets()

27 Dec 2012, RW Cox, 3dPolyfit, level 1 (MICRO), type 2 (NEW_OPT)
    Add '-base' option

    To allow fitting (in space) arbitrary input images, as well as (spatial)
    polynomials.

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

26 Dec 2012, RW Cox, 3dDeconvolve, level 1 (MICRO), type 2 (NEW_OPT)
    -virtvec option for Javier

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

21 Dec 2012, ZS Saad, @clip_volume, level 1 (MICRO), type 2 (NEW_OPT)
    Added options -crop_allzero and -crop_greedy.

21 Dec 2012, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 4 (BUG_FIX)
    change check for recur download by looking for known string in script

    Thanks to S Lowell for reporting the error.

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

20 Dec 2012, RC Reynolds, uber_subject.py, level 2 (MINOR), type 4 (BUG_FIX)
    remove -volreg_tlrc_warp in case of no tlrc block

    Thanks to P Taylor for reporting the error.

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

19 Dec 2012, RC Reynolds, afni_restproc.py, level 2 (MINOR), type 0 (GENERAL)
    Update from Rayus for handling .nii files.

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

18 Dec 2012, ZS Saad, cat_matvec, level 1 (MICRO), type 2 (NEW_OPT)
    option -4x4 to output augmented matrix.

18 Dec 2012, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    have THD_subbrick_minmax fall back to THD_slow_minmax_dset if no STAT

    This is a fix for 3dSkullStrip on NIfTI dsets.
    Thanks to kelvin for reporting the error.

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

05 Dec 2012, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    add Detrend button to Opt menu

    Detrends each time series before plotting.  For Javier.

05 Dec 2012, RC Reynolds, serial_helper, level 1 (MICRO), type 0 (GENERAL)
    added useless string specifier in snprintf to block compier warnings

    Requested by Y Halchenko.

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

03 Dec 2012, ZS Saad, afni-general, level 1 (MICRO), type 5 (MODIFY)
    Added temporary overwriting without upsetting initial setting

    See THD_get_ok_overwrite()

03 Dec 2012, ZS Saad, 3dSkullStrip, level 1 (MICRO), type 5 (MODIFY)
    More modifications for head extraction

    Approach now uses 'Radial Stats' for head/non-head separation.
    See functions SUMA_THD_Radial_HeadBoundary(), SUMA_ShrinkSkullHull_RS()
    and SUMA_ExtractHead_RS()

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

29 Nov 2012, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    add -f to 'tcsh -c' for getting output from commands

    Thanks to P Molfese for the suggestion to avoid .cshrc text output.

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

28 Nov 2012, RW Cox, 3dGroupInCorr, level 2 (MINOR), type 2 (NEW_OPT)
    -dospcov

    Compute Spearman correlation of subject results with covariate.  Output
    sub-bricks are labeled with '_SP' at the end, as in 'LLL_cov_SP' to
    indicate the group with label 'LLL' correlated with the covariate with
    label 'cov'.  This is for the IMom (PK).

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

26 Nov 2012, RC Reynolds, align_epi_anat.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -save_script option

    added script history in afni_com class

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

23 Nov 2012, RW Cox, afni instacorr, level 2 (MINOR), type 5 (MODIFY)
    Allow Start and End indexes, rather than Ignore (=Start)

    To allow Instacorr-ing a subset of a time series.  Per the request of
    the Exceptional Javier Gonzalez-Castillo

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

15 Nov 2012, ZS Saad, AFNIio.R, level 2 (MINOR), type 5 (MODIFY)
    Made read.AFNI and write.AFNI more clever

    Changes included: AUTO method selection, dset.attr() improvements
    to handle dset structures or their headers from either clib or Rlib
    functions. Micro change to THD_dblkatr_from_niml which crashed for
    null strings.

15 Nov 2012, ZS Saad, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    Guarded against NULL strings in THD_dblkatr_from_niml()

    These strings came via R_io.c, but could come from elsewhere.

15 Nov 2012, RC Reynolds, 3dTqual, level 2 (MINOR), type 2 (NEW_OPT)
    added -mask option

    Requested by evangelou.

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

14 Nov 2012, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed check for random space in -max_consec case

    Thanks to Kristina for reporting the error.

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

13 Nov 2012, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    fixed fopen_maybe to check for .1D suffix on file streams

    Suffix might get added by EDIT_dset_items.
    Thanks to I Schwabacher for reporting the error.

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

12 Nov 2012, ZS Saad, @T1scale, level 2 (MINOR), type 2 (NEW_OPT)
    Straight and weighted divisions of T1 by PD, and initial alignment

    The weighted volume allows one to keep the high-res. aspect of
    PD division, while considerably reducing the extreme enhancement.

12 Nov 2012, ZS Saad, 3dHist, level 2 (MINOR), type 2 (NEW_OPT)
    Added -cmask and -quiet to 3dHist

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

09 Nov 2012, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed crash on OSX 10.7_64 apparently caused by gcc's optimization

    The fix entailed adding -O1 to target SUMA_xColBar.o in SUMA's
    SUMA_Makefile_NoDev. I also changed the way SurfaceControllers
    are put away. They are now minimized thus keeping the widgets
    realized.

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

06 Nov 2012, ZS Saad, 3dkmeans, level 2 (MINOR), type 2 (NEW_OPT)
    Added -write_dists to only output ascii files when users want them

    The changes were made to also cleanup the output of 3dSeg. 

06 Nov 2012, ZS Saad, 3dSkullStrip, level 2 (MINOR), type 2 (NEW_OPT)
    Added -head*, and -cut_below options to generate whole head masks

    This was needed because 3dAutomask or 3dSkullStrip would fail atcreating w
    hole head masks for cases with coil-array shading problems
    and/or lots of noise.

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

01 Nov 2012, ZS Saad, suma-general, level 1 (MICRO), type 3 (NEW_ENV)
    Abide by AFNI's AFNI_FLOATSCAN variable and look for bad values

    SUMA will now scan for bad floats (NAN, and INF) and sets them
    to 0, when the dataset is loaded. You can turn this feature off
    with AFNI_FLOATSCAN set to NO.

01 Nov 2012, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed problem with very large threshold ranges

    X11 scale cannot range more than MAX_INT/2. SUMA nowchecks for that and wa
    rns the user.

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

23 Oct 2012, RC Reynolds, to3d, level 2 (MINOR), type 4 (BUG_FIX)
    forgot to leave show_size_n_offset set

    Thanks to J Jarcho for reporting the to3d failure.

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

19 Oct 2012, RC Reynolds, file_tool, level 2 (MINOR), type 6 (ENHANCE)
    added test for BOM bytes (byte order mark)

19 Oct 2012, G Chen, 3dMVM, level 3 (MAJOR), type 1 (NEW_PROG)
    Multivariate modeling approach to group analysis

    This is an R program that performs conventional ANOVA or 
    ANCOVA-type analysis with no limit on the number of variables. 
    See more details at https://afni.nimh.nih.gov/sscc/gangc/MVM.html

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

18 Oct 2012, RW Cox, afni, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_CREEPTO modifies 'jumpto xyz' behavior

18 Oct 2012, RC Reynolds, uber_ttest.py, level 2 (MINOR), type 4 (BUG_FIX)
    small updates to correspond with library changes

18 Oct 2012, RC Reynolds, file_tool, level 2 (MINOR), type 6 (ENHANCE)
    added convenience option -test

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

17 Oct 2012, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add 'j' and 'f' keystrokes for image viewers

    Like 'Jump' and 'Flash' in the Clusterize Rpt windows, for the cluster
    in which the crosshairs currently reside.

17 Oct 2012, RC Reynolds, dicom_hdr, level 2 (MINOR), type 2 (NEW_OPT)
    added -no_length option, which helps when running diffs on output

17 Oct 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    removed unneeded -set_tr from 1d_tool.py -censor_motion

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

16 Oct 2012, ZS Saad, suma-general, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed functions that generate volume masks from surfaces

    There was a bug in SUMA_FindVoxelsInSurface() and SUMA_SurfGridIntersect()
    which made for ugly masks in the fast mode. This is no longer the case,
    SUMA_FindVoxelsInSurface() is about as good as its sister function
    SUMA_FindVoxelsInSurface_SLOW(), but considerably faster.
    This bug fix might affect some 3dSkullStrip and 3dSurfMask results. The 
    more voxel sizes differ from 1x1x1, the more noticeable the difference 
    might be.

16 Oct 2012, ZS Saad, 3dSurfMask, level 1 (MICRO), type 2 (NEW_OPT)
    Option -no_dist to avoid length distance computations.

    Also, the fast method was improved per the comment below.

16 Oct 2012, RC Reynolds, uber_subject.py, level 2 (MINOR), type 2 (NEW_OPT)
    added analysis type and processing block list

16 Oct 2012, DR Glen, afni show atlas colors, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bug that would crash afni if paned color and show atlas colors

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

15 Oct 2012, ZS Saad, @T1scale, level 2 (MINOR), type 2 (NEW_OPT)
    A better masking option using -brainhull

    The option seems pretty good at creating brain mask from pretty 
    lousy data.

15 Oct 2012, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Add 'range=a,b' option to ALTER_WINDOW command in AFNI driver

15 Oct 2012, RW Cox, 1dplot, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed bug with -CENSORTR run wildcards and coloring

15 Oct 2012, RW Cox, 1dplot, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed bug with 'push' and '-yaxis' interacting badly.

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

13 Oct 2012, ZS Saad, 3dHist, level 2 (MINOR), type 1 (NEW_PROG)
    Computes histograms using functions from the segmentation routines

    The program uses heuristics to automatically select histogram 
    parameters, and it allows histogram queries.
    It had to be separate from 3dhistog because it uses libSUMA.a and because
    the latter's interface was getting too complicated.

13 Oct 2012, ZS Saad, 3dinfo, level 1 (MICRO), type 2 (NEW_OPT)
    -voxvol returns a voxel's volume in mm cubed

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

12 Oct 2012, ZS Saad, 3dedge3, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed scaling problem for short/byte data.

12 Oct 2012, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    added byte-swapping for complex numbers in thd_niml.c

12 Oct 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    included tshift block in example #9 - resting state analysis

    Thanks to D Drake for reminding me to add it.

12 Oct 2012, RC Reynolds, @RetinoProc, level 1 (MICRO), type 4 (BUG_FIX)
    set AEA_opt in quotes, as it might be a list

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

10 Oct 2012, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Added yoking of 1_only, Dim, and Opacity controls

10 Oct 2012, ZS Saad, DriveSuma, level 1 (MICRO), type 2 (NEW_OPT)
    Added -Opa to control opacity

10 Oct 2012, ZS Saad, @RetinoProc, level 1 (MICRO), type 2 (NEW_OPT)
    Option -AEA_opts for passing arguments to align_epi_anat.py

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

09 Oct 2012, ZS Saad, suma-general, level 2 (MINOR), type 2 (NEW_OPT)
    Allow input of surface-based complex time series.

    SUMA will report and graph the magnitude of complex data
    Other transformations can be added when needed.
    Surface data I/O were modified to allow handling
    of complex-typed data including functions in thd_niml.c, and thd_gifti.c
    Programs like 3dDFT and 3dcalc can read/write complex surface-
    based datasets.

09 Oct 2012, ZS Saad, 3dDFT, level 2 (MINOR), type 2 (NEW_OPT)
    Allow handling of complex surface-based data

    Earlier versions could not output complex data for surface-based datasets.
    Minor changes to the help output to fix order of -cx2r option and
    allow option suggesting.

09 Oct 2012, ZS Saad, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    Micro modification of verbose output to flag paired from unpaired tests

09 Oct 2012, ZS Saad, 3dcalc, level 1 (MICRO), type 5 (MODIFY)
    Clarify help for -cx2r, and allowing -help in mid command.

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

05 Oct 2012, RC Reynolds, dicom_hinfo, level 2 (MINOR), type 2 (NEW_OPT)
    added option -no_name

05 Oct 2012, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added option -quick_censor_count

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

04 Oct 2012, ZS Saad, afni-matlab, level 2 (MINOR), type 2 (NEW_OPT)
    Minor tweaks to WriteBrik and BrikInfo

    WriteBrik can automatically set some header fields (AdjustHeader option)
    BrikInfo now loads IJK_TO_DICOM_REAL

04 Oct 2012, ZS Saad, MapIcosahedron, level 1 (MICRO), type 4 (BUG_FIX)
    Dset Mapping failed on sparse datasets, at times. 

04 Oct 2012, ZS Saad, 3dedge3, level 1 (MICRO), type 5 (MODIFY)
    Updated 3DEdge library to GPL version: 2012-02-22

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

03 Oct 2012, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    dashed parameters are now illegal for many options in many python programs

    Affects programs:
       1d_tool.pyafni_proc.py, gen_group_command.py, make_random_timing.py,
       make_stim_times.py, option_list.py, timing_tool.py

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

02 Oct 2012, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    added stim_type column to stim table

    This corresponds to the afni_proc.py option -regress_stim_types.

02 Oct 2012, RC Reynolds, model_conv_diffgamma, level 1 (MICRO), type 0 (GENERAL)
    small help update

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

01 Oct 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    added 'file' to list of -stim_types parameters

    The 'file' type would imply -stim_file in 3dDeconvolve, not timing.

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

28 Sep 2012, ZS Saad, afni-general, level 2 (MINOR), type 1 (NEW_PROG)
    Added Paul Taylor's map_TrackID to warp tracks by an affine transform

28 Sep 2012, ZS Saad, @auto_tlrc, level 2 (MINOR), type 2 (NEW_OPT)
    Enabled automatic centering via -init_xform

    You can use -init_xform AUTO_CENTER or -init_xform CENTER
    to perform center alignment during registration.

28 Sep 2012, ZS Saad, @T1scale, level 2 (MINOR), type 1 (NEW_PROG)
    A mini script to scale T1s by PD volumes

    Script uses method borrowed from @CalculateSignatures
    to reduce bias field in T1 using a PD volume. Script also
    works well without PD.

28 Sep 2012, ZS Saad, 3dTrackID, level 1 (MICRO), type 2 (NEW_OPT)
    Option -rec_orig to record dataset origin in tractography output

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

26 Sep 2012, RC Reynolds, nifti_tool, level 2 (MINOR), type 4 (BUG_FIX)
    changed ana originator field from char to short

26 Sep 2012, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 2 (NEW_OPT)
    added -apsearch; verify download for recursive step

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

25 Sep 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    use errts_REML to compute blur if 3dD_stop; apply compute_fitts if no reml

    Thanks to P Molfese for reporting the problem.

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

22 Sep 2012, ZS Saad, @SUMA_Make_Spec_Caret, level 1 (MICRO), type 5 (MODIFY)
    Updated script to work with current Caret release

22 Sep 2012, ZS Saad, 3dkmeans, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed default prefix which was overwriting input.

    Also added default selection when input has single value

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

21 Sep 2012, ZS Saad, afni-general, level 1 (MICRO), type 5 (MODIFY)
    pkundu update

21 Sep 2012, RC Reynolds, 3dNLfim, level 1 (MICRO), type 0 (GENERAL)
    added ConvDiffGam to help

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

20 Sep 2012, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    added some projection function to python libraries

20 Sep 2012, RC Reynolds, 3dClustSim, level 1 (MICRO), type 0 (GENERAL)
    added a note to the help about computing blur estimates

    Requested by J Weisberg.

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

19 Sep 2012, RW Cox, 3dGroupInCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Add -scale option for the Person from Kolkata

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

18 Sep 2012, ZS Saad, afni-general, level 2 (MINOR), type 1 (NEW_PROG)
    Checked in Prantik Kundu's MEICA tools.

    Try meica.py -help, also try @Install_MEICA_Demo

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

13 Sep 2012, ZS Saad, 3dhistog, level 2 (MINOR), type 2 (NEW_OPT)
    Added -pdf to 3dhistog to make area = 1

13 Sep 2012, RC Reynolds, afni_util, level 2 (MINOR), type 6 (ENHANCE)
    can call list functions via -listfunc (to avoid input formatting)

    Also, use -join after the LISTFUNC to remove list format on output, e.g.
    
    cd AFNI_data6
    afni_util.py -listfunc list_minus_glob_form -join group_results/OLSQ*.HEAD

13 Sep 2012, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    download and run the current version on the web site

    Good idea, Bob.

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

12 Sep 2012, ZS Saad, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    Stupid null character termination missing in THD_filepath()

12 Sep 2012, ZS Saad, 3dttest++, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed incorrect warning in 3dttest++ about labels and filenames

    The warning is intended to be sure users don't mess up the
    -setA option when using the long form. The warning message
    was being triggered incorrectly, this should no longer be the case.
    Warning did not affect results.

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

11 Sep 2012, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Began merger of surface controllers

    The idea is to have all surface controllers in one window
    in order to save on screen space. Looks promising but must be
    rolled out carefully because surface controllers permeate everything.Use e
    nvironment variable SUMA_SameSurfCont to turn feature on.
    Make sure it is debugged with valgrind too.

11 Sep 2012, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed 'potential' crash in SUMA_SetScaleThr_one()

11 Sep 2012, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed potential corruption in macro SUMA_NEL_REPLACE_STRING

    Not sure to make of this problem, but bad reads/writes
    are happening in m_rc[(row)] in the macro, and to cs[n0++]
    in cs[n0++] = lbl[i]; of SUMA_AddColAtt_CompString(). In fact
    the first problem happens in cs[n0++], so the problem might
    start there. In any case, the fix was to increase the length
    of allocated segment by +10 instead of +1 in SUMA_NEL_REPLACE_STRING
    That seems to do the trick.

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

10 Sep 2012, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Typing in sub-brick arrow fields was ignored on linux

    Problem due to incorrect error checking from strtod()

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

07 Sep 2012, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    SUMA now highlights cluster |max|, rather than max

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

06 Sep 2012, ZS Saad, @RetinoProc, level 2 (MINOR), type 2 (NEW_OPT)
    Added -no_volreg for time series already registered

06 Sep 2012, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    SUMA's sub-brick arrowfields were not updating properly

06 Sep 2012, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    if varying facs/types on NIfTI write, write floats instead of failing

06 Sep 2012, RC Reynolds, afni-general, level 2 (MINOR), type 2 (NEW_OPT)
    apply global opt -pad_to_node when going through AFNI format in thd_niml.c

06 Sep 2012, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    print missing xmat error w/out debug, as it is fatal

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

05 Sep 2012, ZS Saad, @CalculateSignatures, level 2 (MINOR), type 2 (NEW_OPT)
    Added possibility to scale by top percentiles with -FATscl

    This would produce .sc9 outputs. It looks like the scaling is
    more promising than by MEDIAN(20) or MAD(20).

05 Sep 2012, ZS Saad, 1dRplot, level 2 (MINOR), type 2 (NEW_OPT)
    Made program take in histograms produced by 3dGenFeatureDist

    This required changes to AFNIio.R so that NIML groups are not
    automatically sent to the distbin. Instead, the first element
    in the ni_group is returned.

05 Sep 2012, ZS Saad, 3dGenFeatureDist, level 1 (MICRO), type 2 (NEW_OPT)
    Program now creates the feature correlation matrix per class.

    Both histograms and correlation matrices are stored in NIML
    format under a directory named by the user.

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

04 Sep 2012, ZS Saad, 3ddot, level 2 (MINOR), type 2 (NEW_OPT)
    Made program output niml 1D format, makes it easy to plot with 1dRplot

04 Sep 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added option -regress_ROI

    This allows for tissue-based regression, with ROI averages from any of:
         brain (from full_mask), GM, WM and CSF (from Classes_resam)
    The 'mask' block is required for all ROIs, and option -mask_segment_anat
    is required for the latter 3.

04 Sep 2012, RC Reynolds, gen_group_command.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed error message in case of different group sizes

    Error pointed out by Priyank.

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

31 Aug 2012, RC Reynolds, 3dTstat, level 2 (MINOR), type 2 (NEW_OPT)
    added option -signed_absmax

    Requested by P Hamilton.

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

30 Aug 2012, ZS Saad, 3ddot, level 2 (MINOR), type 2 (NEW_OPT)
    Made program create corr. matrix as opposed to just one pair of sub-bricks

    Output is also beautified with option -show_labels

30 Aug 2012, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 5 (MODIFY)
    display -show_mmms output to 4 places

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

29 Aug 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Allowing yoking of intensity to node selection.

    Ctrl+Button-3 would select a node and switch intensity sub-brick
    to that node's index * K. This is only done if the dataset currently
    viewed has as K times as many sub-bricks as the surface has nodes.
    K being an integer, naturally.
     Nick Oosterhoff instigated this business

29 Aug 2012, ZS Saad, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    AFNI build was failing on machines where DONT_USE_MCW_MALLOC was defined

    The cause of failure was a missing #define NI_calloc() when 
     DONT_USE_MCW_MALLOC is defined. The one line needed is now in niml.h.
    Builds likely affected are solaris and macosx_10.7_Intel_64
    Affected build dates from about Aug. 24th  to Aug. 29th.

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

28 Aug 2012, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed interaction with L/R yoking asynchrony.

    Problems included interaction with clustering setting and with
    Intensity/Threshold/Brightness selectors.

28 Aug 2012, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Preserved controller settings for newly loaded or reloaded dsets

    The preserved settings include clustering options.

28 Aug 2012, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed some L/R yoking problems and a crash source in drive mode.

    The crash was caused when calling SUMA_Set_Menu_Widget() on a controller
    not fully realized.

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

27 Aug 2012, ZS Saad, afni-general, level 1 (MICRO), type 5 (MODIFY)
    Modified THD_load_tcat() to include subbrick labels in auto catenation

    Also, started checking for datatype mixing and issuing warning when needed
    .

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

24 Aug 2012, ZS Saad, suma, level 3 (MAJOR), type 2 (NEW_OPT)
    Added interactive clustering to surface controller

    The state of affairs:
      -Clustering tables are only output to the terminal 
         and the log window.
      -Clustering is yoked between hemispheres
      -Can control connectivity radius and min area or min nodes
      -When you click on a node inside a cluster, the node in that
         cluster with the highest value is highlighted with a black
         sphere.

24 Aug 2012, ZS Saad, afni-general, level 2 (MINOR), type 1 (NEW_PROG)
    Added Paul Taylor's 3dRSFC to the distribution

24 Aug 2012, ZS Saad, @CalculateSignatures, level 2 (MINOR), type 2 (NEW_OPT)
    Added coordinate feature generation, if TLRC xform is provided

    Note that the TLRC xform need not be too precise. The coordinate
    features are not intended to make sure of segmentation templates.

24 Aug 2012, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed SUMA<-->AFNI cross hair linkage with multiple anat. correct surfaces

    It used to be that a coordinate always got attached to the Local Domain
    Parent surface. Even if you clicked closest to a node on the Pial surface
    SUMA would jump to the corresponding node on the smoothwm surface. This wa
    s
    way uncool.

24 Aug 2012, ZS Saad, niprobe, level 1 (MICRO), type 1 (NEW_PROG)
    A variant on niccc to handle certain NIML file probing operations

24 Aug 2012, ZS Saad, SurfClust, level 1 (MICRO), type 2 (NEW_OPT)
    Allow -i* form of surface input

24 Aug 2012, ZS Saad, @ScaleVolume, level 1 (MICRO), type 4 (BUG_FIX)
    step(a) was used instead of bool(a) for masking operations

    This caused zeros in the output where input values were negative.
    Also added a modifier to the labels to highlight that features were
    scaled.

24 Aug 2012, ZS Saad, @SUMA_Make_Spec_FS, level 1 (MICRO), type 5 (MODIFY)
    Made script port more datasets from FreeSurfer (depth, curvature)

24 Aug 2012, RC Reynolds, column_cat, level 3 (MAJOR), type 1 (NEW_PROG)
    like 'cat', except horizontally (see recent Unix command, 'paste')

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

23 Aug 2012, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 2 (NEW_OPT)
    can pass -censor_dset

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

21 Aug 2012, RC Reynolds, slow_surf_clustsim.py, level 1 (MICRO), type 2 (NEW_OPT)
    added 'sigma' uvar, for passing to SurfSmooth

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

20 Aug 2012, ZS Saad, SurfExtrema, level 1 (MICRO), type 2 (NEW_OPT)
    Made default input the convexity of the surface

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

17 Aug 2012, RC Reynolds, 3dGroupInCorr, level 1 (MICRO), type 4 (BUG_FIX)
    pass 'batch mode' var to SUMA_init_GISET_setup to preserve dset

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

16 Aug 2012, RC Reynolds, gen_group_command.py, level 1 (MICRO), type 5 (MODIFY)
    show datasets names when a 'labels not unique' error occurs

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

15 Aug 2012, ZS Saad, 3drefit, level 2 (MINOR), type 2 (NEW_OPT)
    Added -sublabel_prefix and -sublabel_suffix

15 Aug 2012, DR Glen, whereami web, level 1 (MICRO), type 4 (BUG_FIX)
    Web-based atlases would not open webpage with ampersands, punctuation

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

14 Aug 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    match default class order for 3dSeg; copy labeltable into resampled dset

14 Aug 2012, DR Glen, whereami minimum probability, level 2 (MINOR), type 2 (NEW_OPT)
    Minimum probability option to consider for probabilistic atlases

    Can set option, -min_prob, or environment variable,
    AFNI_WHEREAMI_PROB_MIN, to control output of whereami reports or
    masks from probabilistic atlases

14 Aug 2012, DR Glen, 3drefit -epan error, level 2 (MINOR), type 4 (BUG_FIX)
    Removed error for refitting data type

    3drefit would exit with error for -epan and multi-subbrick data
    Removed incorrect checks against archaic timepoints per TR nvals

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

10 Aug 2012, RC Reynolds, afni_restproc.py, level 2 (MINOR), type 0 (GENERAL)
    Updates from Rayus.

    Fixed bugs with -outcensor and -snr.
    Added -bpassregs and -keepuncensored.
    Use variable detrending for -tsnr.

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

09 Aug 2012, RC Reynolds, afni_general, level 1 (MICRO), type 4 (BUG_FIX)
    definition after ENTRY in mri_genalign_util.c

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

08 Aug 2012, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Improved handling of coords in 'cm' units and better axis text layout

    Surfaces with coords in cm were poorly displayed and without warning.
    Now you are urged to make use of the SUMA_NodeCoordsUnits env . 
    Axis text labels were also improved to reduce clobbering.

08 Aug 2012, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added -use_slice_loc; fixed app of use_last_elem in mri_read_dicom

    g_info.use_last_elem has usurped the lone global

08 Aug 2012, RC Reynolds, slow_surf_clustsim.py, level 1 (MICRO), type 4 (BUG_FIX)
    currently need to pass -sv even for -on_surface; get rid of this later

08 Aug 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    do not update tlrc anat with strip if passed in

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

06 Aug 2012, DR Glen, NIFTI reading, level 2 (MINOR), type 3 (NEW_ENV)
    Handling view equivalents for NIFTI

    AFNI_NIFTI_VIEW sets default view for AFNI datasets marked as
    'aligned' (sform_code or qform_code = 2). This variable should
    be set to 'TLRC', 'ORIG' or 'ACPC'.

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

03 Aug 2012, RW Cox, 2perm, level 1 (MICRO), type 1 (NEW_PROG)
    For generating 2 random subsets of a sequence of integers

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

31 Jul 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    have -mask_segment_anat default to no (libgsl is not quite so common)

31 Jul 2012, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    speed up reading NIfTI files with long histories (THD_dblkatr_from_niml)

    Thanks to J Gonzalez for reporting the problem.

31 Jul 2012, RC Reynolds, 3dresample, level 2 (MINOR), type 4 (BUG_FIX)
    update IJK_TO_DICOM and _REAL at end of resample library function

    Thanks to I Schwabacher for reporting the IJK_TO_DICOM discrepancy.

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

30 Jul 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    if surface analysis, create run_suma script

30 Jul 2012, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_mmms

    Display min, mean, max, stdev of each column.

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

26 Jul 2012, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Modify wsinc5 (again) to be more flexible

26 Jul 2012, RC Reynolds, realtime_receiver.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_comm_times option to show communication times

    Added for J Evans (and to get it off an ancient todo list).

26 Jul 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -mask_segment_anat and -mask_rm_segsy

    If anat is stripped, create segmented anat unless user says not to.

26 Jul 2012, RC Reynolds, 3dttest++, level 2 (MINOR), type 4 (BUG_FIX)
    K text columns (after label) would result in K lost float columns

    Thanks to Phoebe of Harvard for reporting the problem.

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

23 Jul 2012, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Also, change wsinc5 taper from Hanning to Hamming

23 Jul 2012, RW Cox, 3dAllineate, level 1 (MICRO), type 3 (NEW_ENV)
    Allow 7x7x7 interpolation in wsinc5 + spherical mask

    via environment variables

23 Jul 2012, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    allow programs to read auto-tcat datasets using filelist:DSETS.txt

    If DSETS.txt contains a list of datasets, they will be read in using
    THD_open_tcat(), as if they were listed separated by spaces.
    
    Added for C Connolly.

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

20 Jul 2012, RC Reynolds, apsearch, level 1 (MICRO), type 5 (MODIFY)
    exclude README.* from program list

    Executable README files can be troublesome...

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

19 Jul 2012, ZS Saad, suma, level 3 (MAJOR), type 2 (NEW_OPT)
    Allow for L/R hemi yoking for many operations

    These include:Threshold setting. I,T,B sub-brick selection. Range 
    setting. Dset loading. Cmap changing. Dset switching.
    Order changing.

19 Jul 2012, ZS Saad, suma, level 1 (MICRO), type 3 (NEW_ENV)
    New variables to initialize range setting and symmetric range

    See SUMA_Auto_I_Range, SUMA_Auto_B_Range, and SUMA_Sym_I_Range
    in ~/.sumarc . If you don't see them, time to run: suma -update_env

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

18 Jul 2012, ZS Saad, afni-general, level 2 (MINOR), type 1 (NEW_PROG)
    Added Paul Taylor's 3dReHo to the distribution

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

17 Jul 2012, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 5 (MODIFY)
    added checks for volreg and uncensored X-mat; get view from volreg

17 Jul 2012, RC Reynolds, slow_surf_clustsim.py, level 1 (MICRO), type 5 (MODIFY)
    removed -Niter opt from SurfSmooth (let it decide)

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

12 Jul 2012, RW Cox, 3dDeconvolve, level 1 (MICRO), type 2 (NEW_OPT)
    added ':a:b:c' appendage to -stim_times_AM2

    To allow user to specify what values to subtract from modulation
    parameters (over-riding the default subtraction of the average).

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

11 Jul 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    fill gaps and holes in anatomical masks

    (now requires AFNI from 7 May, 2012)

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

10 Jul 2012, ZS Saad, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    Made default prefix path be ./ instead of path of input

    The change was done to function EDIT_empty_copy() which assigned
    to a pathless prefix the path of the input dataset if the latter
    was specified. The problem was that something like:
    3dMean -prefix mmm P1/joe+orig P2/jane+orig 
    would have written mmm+orig under P1/
    To make matters less palatable other programs like 3dcalc behaved 
    differently: 3dcalc -prefix ccc -a P1/joe+orig -expr 'a' 
    would produce ./ccc+orig 

10 Jul 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    let the user know whether 3dClustSim will be run

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

09 Jul 2012, RC Reynolds, align_epi_anat.py, level 1 (MICRO), type 5 (MODIFY)
    escape (unalias) every 'rm' command

09 Jul 2012, RC Reynolds, @auto_tlrc, level 1 (MICRO), type 5 (MODIFY)
    escape (unalias) every 'rm' command

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

06 Jul 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Use ArrowFields when datasets have large numbers of sub-bricks

    The switch is done automatically and is controlled with env:
    SUMA_ArrowFieldSelectorTrigger

06 Jul 2012, ZS Saad, suma, level 2 (MINOR), type 3 (NEW_ENV)
    SUMA_ArrowFieldSelectorTrigger set threshold for using ArrowFields

    For datasets with sub-bricks >= SUMA_ArrowFieldSelectorTrigger
    and arrow field is used to switch between sub-bricks

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

29 Jun 2012, RC Reynolds, @Install_RSFMRI_Motion_Group_Demo, level 2 (MINOR), type 1 (NEW_PROG)
    program is for installing demo of RSFMR on big and small motion groups

29 Jun 2012, RC Reynolds, prompt_user, level 1 (MICRO), type 2 (NEW_OPT)
    if MESSAGE is '-', read from stdin

29 Jun 2012, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 5 (MODIFY)
    moved ptaylor_install dependency from 'vastness' to 'install'

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

28 Jun 2012, ZS Saad, ROIgrow, level 2 (MINOR), type 2 (NEW_OPT)
    Added -insphere and -inbox options

    These options grow ROIs by finding nodes that fall inside a box or sphere
    of preset size around nodes in the original ROIs.

28 Jun 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed help error regarding IM

    Thanks to I Blair for reporting it.

28 Jun 2012, DR Glen, Draw Dataset plugin, level 2 (MINOR), type 4 (BUG_FIX)
    Resampling of atlas regions to lower resolution undercounted

    Draw Dataset plugin atlas resampling to a lower resolution dataset
    undercounts number of voxels. Incorrect usage of temporary volume
    in byte storage was fixed with float volume. Additionally, new
    environment variable, AFNI_DRAW_THRESH, allows for variable
    threshold level (done with RCR)

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

27 Jun 2012, RC Reynolds, 3dTstat, level 1 (MICRO), type 2 (NEW_OPT)
    added -nzmedian, requested on message board

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

25 Jun 2012, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed uninitialized cpad1,2 in the case of no censoring

25 Jun 2012, RC Reynolds, gen_group_command.py, level 1 (MICRO), type 6 (ENHANCE)
    added help for -factors and 3dANOVA3 -type 4 examples

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

22 Jun 2012, RC Reynolds, gen_group_command.py, level 2 (MINOR), type 2 (NEW_OPT)
    added commands 3dANOVA2 and 3dANOVA3; added option -factors

    Need to add help for -factors (i.e. for 3dANOVA3 -type 4).

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

20 Jun 2012, RC Reynolds, plug_realtime, level 1 (MICRO), type 4 (BUG_FIX)
    comment out plot_ts_setthik() type calls for now

    When registering, finalize_dset() will result in white image window.
    Thanks to V Roopchansingh for reporting the problem.

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

19 Jun 2012, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Ctrl+W was not saving datasets when filenames contained a path

    Problem had to do with clumsy prefix forming.

19 Jun 2012, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added -switch_cmode to allow switching how values map to colors

    This controls the 'Col' menu in SUMA's surface controller.

19 Jun 2012, RW Cox, 3dttest++, level 2 (MINOR), type 0 (GENERAL)
    Internal wildcard expansion with SHORT FORM '-set' options.

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

15 Jun 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_censor_extern

15 Jun 2012, RC Reynolds, GIFTI, level 2 (MINOR), type 5 (MODIFY)
    make num_dim violation a warning, because of mris_convert

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

14 Jun 2012, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    use afni -com instead of plugout_drive (for case of multiple users)

    Thanks to V Razdan and N Adleman for reporting the issue.

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

06 Jun 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    look for input of EPI datasets in standard space and NIfTI format

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

05 Jun 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    warn users if married types and files do not seem to match

05 Jun 2012, RC Reynolds, 3dmask_tool, level 1 (MICRO), type 4 (BUG_FIX)
    need to explicitly set DSET_BRICK_TYPE() on some systems

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

04 Jun 2012, ZS Saad, @Install_TSrestMovieDemo, level 1 (MICRO), type 1 (NEW_PROG)
    Demo script to make a resting state movie a la Daniel Margulies'

04 Jun 2012, ZS Saad, @Install_AfniRetinoDemo, level 1 (MICRO), type 1 (NEW_PROG)
    Demo script to download and run Retinotopy pipeline demo

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

03 Jun 2012, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    for variable updates: actually show list if it is short enough

03 Jun 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    for resting state analysis, suggest -regress_censor_motion 0.2

    Suggest a more strict limit for resting state than for task analysis.

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

01 Jun 2012, ZS Saad, 3dROIstats, level 1 (MICRO), type 4 (BUG_FIX)
    3dROIstats crashed on float dsets with scaling. Not anymore

    Problem was scaling brick pointer without mallocizing first.

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

31 May 2012, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Merged ptaylor's code changes into the distribution

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

30 May 2012, DR Glen, 3dinfo3drefit, level 2 (MINOR), type 5 (MODIFY)
    av_space option handling and orig/other space refitting

    3dinfo reports view extension for -av_space instead of generic
    space view extension. 3drefit will warn if setting non-orig
    space on orig view data or orig space on tlrc view data.

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

25 May 2012, ZS Saad, SurfToSurf, level 1 (MICRO), type 4 (BUG_FIX)
    Improve auto-name generation and enabled output format specification

25 May 2012, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    display modified options and subject defaults

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

24 May 2012, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Merger of changes in P. Taylor's code

24 May 2012, DR Glen, 3dDWItoDT, level 2 (MINOR), type 2 (NEW_OPT)
    csf_val and csf_fa options apply to linear solutions too

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

23 May 2012, ZS Saad, afni-general, level 1 (MICRO), type 2 (NEW_OPT)
    Allow label-based selection for annotation files

    See function: process_NSD_labeltable(), now you can do something like:
    3dcalc -a std.60.lh.aparc.a2009s.annot.niml.dset'<wm_lh_G_precentral>' \
           -expr 'step(a)' -prefix wm_lh_G_precentral.niml.dset 

23 May 2012, RW Cox, 3dGroupInCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Add -clust option, to allow 3dClustSim stuff to be used

23 May 2012, DR Glen, 3dinfo, @auto_tlrc, level 3 (MAJOR), type 4 (BUG_FIX)
    Generic space handling corrected for TT_N27 and other spaces

    @auto_tlrc would crash with improper generic spaces
    Generic space restricted to AFNI view names (orig, acpc, tlrc)

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

22 May 2012, RC Reynolds, uber_subject.py, level 2 (MINOR), type 2 (NEW_OPT)
    added regress_bandpass and regress_mot_deriv (probably for resting state)

22 May 2012, DR Glen, 3dDWItoDT, level 2 (MINOR), type 2 (NEW_OPT)
    csf_val and csf_fa options for default values if B=0 less than gradient values

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

21 May 2012, ZS Saad, MapIcosahedron, level 2 (MINOR), type 2 (NEW_OPT)
    Made program output mapping info file for use with SurfToSurf

    Also made microscopic improvement to automatic dset name generation for -d
    set_map

21 May 2012, ZS Saad, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    Made the script also port thickness data and take them to std. space

21 May 2012, ZS Saad, 3dTcorrelate, level 2 (MINOR), type 2 (NEW_OPT)
    Added -covariance option, turned off DOF setting for anything but pearson.

    See function THD_covariance()

21 May 2012, ZS Saad, SurfToSurf, level 1 (MICRO), type 4 (BUG_FIX)
    Microscopic improvement to automatic dset name generation for output dsets

21 May 2012, ZS Saad, ROIgrow, level 1 (MICRO), type 4 (BUG_FIX)
    ROIgrow was not taking -spec surface definition

21 May 2012, RW Cox, FDR calculations, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_NON_INDEPENDENT_FDR == YES --> like '-cdep' in 3dFDR.

21 May 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added the long-desired-but-not-so-needed -regress_stim_types option

    This allows users to specify -stim_times/_AM1/_AM2/_IM.

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

19 May 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    added help examples for resting state analysis

19 May 2012, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    allow for auto-tcat of 1D inputs that are separated by spaces

    For E Demir to use in 3dDeconovolve.

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

17 May 2012, RW Cox, 3dGroupInCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Add -donocov option

    When -covariates is used, -donocov says to also do the NO covariates
    analyses and tack them onto the end of the results -- for comparison fun

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

16 May 2012, RC Reynolds, @auto_tlrc, level 1 (MICRO), type 5 (MODIFY)
    do not ask for user input, even if centers are off by 80+ mm

16 May 2012, RC Reynolds, @GetAfniOrient, level 1 (MICRO), type 5 (MODIFY)
    suppress 3dinfo version text

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

15 May 2012, ZS Saad, afni-general, level 2 (MINOR), type 2 (NEW_OPT)
    Added '[1dcat FF.1D]' syntax for sub-brick selections in 1D file

    This was added for the same reason '[count ...]' was added, and 
    that is to allow for lengthy selection values. Dealing with selections
    of 100+ sub-bricks virtually guarantees some string limit is reached,
    somewhere. See 3dTcat -help for details

15 May 2012, ZS Saad, 1dRplot, level 1 (MICRO), type 2 (NEW_OPT)
    Added -load.Rdat to regenerate previous plot on command line

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

11 May 2012, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    also output average censored per-TR motion

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

10 May 2012, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    allow for a wider range of file names

    - handle case of more than 99 runs
    - look for files of the form *_rall.1D, as well as *.rall.1D

10 May 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    allow processing of more than 99 runs

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

08 May 2012, ZS Saad, count, level 2 (MINOR), type 2 (NEW_OPT)
    Added -form to count: count -form %c 49 130

08 May 2012, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Code updates for P. Taylor's tractography

08 May 2012, ZS Saad, 3dSeg, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed memory leak problem

08 May 2012, RW Cox, 1ddot, level 1 (MICRO), type 2 (NEW_OPT)
    Add -rank option to do Spearman correlations

08 May 2012, DR Glen, 3dinfo, level 1 (MICRO), type 2 (NEW_OPT)
    gen_space option to see generic space type for a dataset

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

07 May 2012, RW Cox, FIRdesign, level 1 (MICRO), type 1 (NEW_PROG)
    Finite Impulse Design filter design program -- for bandpass

07 May 2012, RW Cox, AFNI instacorr, level 1 (MICRO), type 5 (MODIFY)
    Modify treatment of Global Ort file

    If too short to allow for Ignore, then doesn't do Ignore on the Global
    Ort time series.  Otherwise, does the initial Ignore on that input.  The
    Help also reflects this change.  In the past, it always did the Ignore
    on the Global Ort data, and if it couldn't, then it skipped them
    entirely.

07 May 2012, RC Reynolds, 3dmask_tool, level 2 (MINOR), type 6 (ENHANCE)
    replaced THD_mask_erode with new THD_mask_erode_sym

    This change should make dilate and erosion operations symmetric.

07 May 2012, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added weighted_enorm method for -collapse_cols; added -weight_vec

07 May 2012, DR Glen, whereami, level 2 (MINOR), type 4 (BUG_FIX)
    Coordinate transformations in atlas access

    Coordinates were not transformed properly if an inverse affine
    transformation was required for the case of atlases in another
    space than the dataset.

07 May 2012, DR Glen, NIFTI input/output, level 2 (MINOR), type 5 (MODIFY)
    NIFTI qform/sform codes from generic space of template space

    qform and sform codes are set by string in generic space, not template
    space, of input dataset. For example, TT_N27 spaces will be marked for
    NIFTI output as TLRC. NIFTI data with any non-ORIG or ACPC space will
    be marked as an 'aligned' space in NIFTI with the sform and qform codes.
    Currently only TLRC/MNI/Aligned are supported spaces in NIFTI standard.
    'aligned' space datasets will be interpreted as equivalent to TLRC view
    datasets. See AFNI_atlas_spaces.niml for space definitions that include
    generic space names.

07 May 2012, DR Glen, to3d, level 1 (MICRO), type 5 (MODIFY)
    Clearer warning for illegal transfer syntax

07 May 2012, DR Glen, @auto_tlrc, level 1 (MICRO), type 2 (NEW_OPT)
    out_space option to force output space for auto-talairached data

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

04 May 2012, ZS Saad, afni, level 2 (MINOR), type 2 (NEW_OPT)
    Added inverse distance measures to InstaCorr

    For the moment, those options are only accessible to usernames 
     rwcox and ziad. Relevant functions are:
      THD_vectim_distance(), and THD_distance(). THD_distance() is not
    used at the moment, it would be from 3dLocalBistat once I get around
    to testing it. For now, its access from 3dLocalBistat is #if-ed out.

04 May 2012, RW Cox, 1dBport, level 1 (MICRO), type 2 (NEW_OPT)
    Add -quad option = linear and quadratic trend regressors

04 May 2012, RC Reynolds, afni_restproc.py, level 2 (MINOR), type 4 (BUG_FIX)
    submitting updates from Rayus

    Updates are in changelog.

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

03 May 2012, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -backward_diff and -forward_diff

    Note, -backward_diff is the same as -derivative.

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

02 May 2012, RW Cox, coxplot, level 1 (MICRO), type 0 (GENERAL)
    More minor changes to timeseries plotting

    Rounded joins for lines drawn in 'new' mode.  Use new mode for final
    rendering in plug_realtime.c (but not for realtime graphing).  Etc.

02 May 2012, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    added AFNI_PATH_SPACES_OK, for input of datasets with spaces in path

    Added for V Roopchansingh.

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

01 May 2012, RW Cox, mri_stats, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed student_t2z problem with very tiny p values (roundoff error)

01 May 2012, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 6 (ENHANCE)
    allowed -ordered_stimuli and -max_consec, together

    Requested by Liat.

01 May 2012, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    added -prefix option; added censor coloring to 1dplot commands

01 May 2012, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    added -looks_like_AM

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

30 Apr 2012, RW Cox, 1dplot, level 1 (MICRO), type 0 (GENERAL)
    Add anti-aliasing rendering to X11 drawing as well.

    Set AFNI_1DPLOT_RENDEROLD to YES to turn this feature off (but why?).

30 Apr 2012, RC Reynolds, afni_restproc.py, level 3 (MAJOR), type 1 (NEW_PROG)
    this program is by Rayus Kuplicki, please contact him for information

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

27 Apr 2012, ZS Saad, afni, level 2 (MINOR), type 2 (NEW_OPT)
    Added percentile thresholding to AFNI's interface

    Relevant functions:
      flush_vinfo_sort();
      flush_3Dview_sort();
      get_3Dview_sort();
      AFNI_thresh_from_percentile()
    Relevant structure variables:
      cont_perc_thr in Three_D_View;
      th_sort, N_th_sort, th_sortid in AFNI_view_info;
    Feature also accessible from plugout_drive with: SET_FUNC_PERCENTILE +/-

27 Apr 2012, RW Cox, 3dANOVA and 3dRegANA, level 1 (MICRO), type 0 (GENERAL)
    Modified to use a random SUFFIX for temp filenames

    To avoid conflict when running 2+ copies in the same directory.  Per the
    request of Tom Holroyd.

27 Apr 2012, RW Cox, 1dplot, level 1 (MICRO), type 0 (GENERAL)
    Modify rendering of images (jpeg, png) to look nicer

27 Apr 2012, RC Reynolds, 3dmask_tool, level 3 (MAJOR), type 1 (NEW_PROG)
    a program to manipulate mask datasets

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

26 Apr 2012, ZS Saad, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    Made header_name be same as brik_name for NIFTI dsets

    Changes were in EDIT_dset_items(), search for April 26

26 Apr 2012, RW Cox, 3dLocalBistat, level 2 (MINOR), type 2 (NEW_OPT)
    Allow 1 volume vs. multi-volume; Add slope options

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

25 Apr 2012, RW Cox, 3dNormalityTest, level 1 (MICRO), type 2 (NEW_OPT)
    Add -pval option, to get a 'pure' p-value out

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

24 Apr 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Can read .niml.tract files as DOs. Nothing too fancy yet

    Tractography files are loaded and handled like any DO.
    See function SUMA_DrawTractDO().

24 Apr 2012, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Wrote TrackIO.[ch] to handle tractography data I/O.

    All changes are under ptaylor/ . New tract format is in NIML.
    See functions in TrackIO.h for details.

24 Apr 2012, ZS Saad, 3dTrackID, level 2 (MINOR), type 5 (MODIFY)
    Modified 3dTrackID to make use of new track I/O functions.

24 Apr 2012, RW Cox, 1dplot, level 2 (MINOR), type 2 (NEW_OPT)
    Add censor stuff to 1dplot, for Colm

24 Apr 2012, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    if surface data with generic prefix, append surf-type suffix

    Done to fix ANOVA commands on surface.
    Thanks to R Ray for bringing this up.

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

18 Apr 2012, RW Cox, 3dDeconvolve, level 2 (MINOR), type 4 (BUG_FIX)
    Patch BLOCK and dmBLOCK to have their old non-unit-peak behavior

    New functions UBLOCK and dmUBLOCK now have the unit-peak behavior.

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

17 Apr 2012, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    added atlas/ROI label use with <> range selectors (MCW_get_angle_range)

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

16 Apr 2012, ZS Saad, suma-general, level 2 (MINOR), type 5 (MODIFY)
    New convenience functions for I/O

    SUMA_AddDsetIndexCol(), SUMA_CreateFullDsetPointer, and
    macro SUMA_DSET_NAME_CHECK Improved name parsing and format guessing.

16 Apr 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    More I/T selector linkage modes.

16 Apr 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Show data value at crosshair directly in display

    See SUMA_UpdateCrossHairNodeLabelFieldForSO(),
    SUMA_FormNodeValFieldStrings(), and SUMA_UpdateNodeValField()

16 Apr 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Better handling on multiline centering for display in viewer window.

16 Apr 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    New option to control which node-based DOs are displayed.

    See SUMA's interactive help on 'Ctrl+p' for details.

16 Apr 2012, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Created ptaylor/ under src/ to include Paul Taylor's code contributions

    To compile all of Paul's programs: cd src/ptaylor; make all 
    or from src/ make ptaylor_all
    Added macros AFNI_3D_to_1D_index and AFNI_1D_to_3D_index in 3ddata.h

16 Apr 2012, ZS Saad, SurfaceMetrics, level 2 (MINOR), type 5 (MODIFY)
    Improved output format and added Displayable Objects to output.

16 Apr 2012, ZS Saad, SurfToSurf, level 2 (MINOR), type 2 (NEW_OPT)
    Added -closest_possible

    For allowing the substitution of the projection result with 
    the closest node that could be found along any direction.
    See changes to SUMA_GetM2M_NN()

16 Apr 2012, ZS Saad, SampBias, level 2 (MINOR), type 5 (MODIFY)
    Improved I/O

16 Apr 2012, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added -do_draw_mask to restrict where node-based DOs are shown

16 Apr 2012, ZS Saad, plugout_drive, level 1 (MICRO), type 5 (MODIFY)
    Cosmetic error message handling to help debugging SLaconte problems

16 Apr 2012, ZS Saad, afni-general, level 1 (MICRO), type 5 (MODIFY)
    Added new help features to bunch of programs

    1dCorrelate, 1dTsort1ddot3dANOVA*, 1dplot3dAutobox, cat_matvec,
    waver

16 Apr 2012, ZS Saad, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Increased allocated space for bigmap variables in display.c

    This is to stop a a MCW_malloc post-corruption which happens
    under certain compiler/OS combinations. No big deal.

16 Apr 2012, ZS Saad, 1dTsort, level 1 (MICRO), type 2 (NEW_OPT)
    Added -imode to return the mode of 1D file content.

16 Apr 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -regress_bandpass, for bandpass filtering via regression

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

13 Apr 2012, RC Reynolds, @radial_correlate.py, level 1 (MICRO), type 6 (ENHANCE)
    accept +tlrc datasets

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

12 Apr 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    backport to python 2.2

    For files that should work on 2.2, avoid sum() and enumerate().
    Thanks to L Broster for reporting problems on python 2.2.

12 Apr 2012, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    backport to python 2.2

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

09 Apr 2012, DR Glen, whereami, level 1 (MICRO), type 4 (BUG_FIX)
    Typo in AFNI_WAMI_MAX_SEARCH_RAD

    Wrong name listed in AFNI GUI environment and README.environment

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

08 Apr 2012, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 6 (ENHANCE)
    -ordered_stimuli now takes labels

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

05 Apr 2012, RW Cox, 3dTnorm, level 2 (MINOR), type 1 (NEW_PROG)
    Normalize each time series in a dataset

    Like 1dnorm for 3D+time datasets

05 Apr 2012, RW Cox, 3dTstat, level 1 (MICRO), type 2 (NEW_OPT)
    Add -zcount option: count number of zero values in a voxel

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

04 Apr 2012, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    if prefix shows STORAGE_UNDEFINED, use BRIK only if not potential surface

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

03 Apr 2012, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    dmBLOCK now defaults to peak=0 ==> variable amplitude

    Former behavior is now achieved with dmBLOCK(1) ==> fixed amplitude.
    Also, the peak variable amplitude is now 1, rather than some annoying
    value that means nothing to nobody nohow.

03 Apr 2012, RC Reynolds, plug_realtime, level 1 (MICRO), type 5 (MODIFY)
    always print the name of the mask dataset in use (via GUI or env)

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

02 Apr 2012, RW Cox, Lion build, level 1 (MICRO), type 0 (GENERAL)
    Modify install process to include useful netpbm program binaries

    The stuff that imseq.c uses to write images out (GIF, TIFF, PNG, BMP),
    so that fink is not required.  Done via Makefile macro
    EXTRA_INSTALL_COMMANDS and copying all files in directory EXTRAPROGS to
    the output binaries.

02 Apr 2012, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    Add MIONN() function to repertoire (negative MION)

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

30 Mar 2012, RC Reynolds, plug_realtime, level 1 (MICRO), type 5 (MODIFY)
    let user know when AFNI_REALTIME_Mask_Dset is applied

30 Mar 2012, RC Reynolds, @auto_tlrc, level 1 (MICRO), type 2 (NEW_OPT)
    added option -inweight

    Added for S Horovitz and S Tinaz.

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

22 Mar 2012, ZS Saad, suma-general, level 2 (MINOR), type 2 (NEW_OPT)
    Improve display of node-based DOs. ctrl+p for showing subset of objects.

    Node-based DOs overwhelm the display. Ctrl+p allows one to show DOs
    only around the selected node, or just at it. 
    See also DriveSuma's -do_mask_mode option.

22 Mar 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Add values at node to the display.

    This involved an improvement to the centering of text so that
    one can center each line in a paragraph

22 Mar 2012, ZS Saad, @Spharm.examples, level 2 (MINOR), type 5 (MODIFY)
    Improvements to the script to make it work with new programe versions.

    It will now download its own data for demo purporses.

22 Mar 2012, ZS Saad, SurfaceMetrics, level 1 (MICRO), type 2 (NEW_OPT)
    Now outputs NIML dsets and Displayable objects for certain metrics

22 Mar 2012, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    apply AFNI_REALTIME_SHOW_TIMES in non-RT feedback case

22 Mar 2012, RC Reynolds, Dimon, level 1 (MICRO), type 6 (ENHANCE)
    if RT comm fails with afni, show iochan_error_string()

    It occasionally fails at TR=0.125 s.

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

21 Mar 2012, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 6 (ENHANCE)
    look for more motion files; minor changes to output format

21 Mar 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    use run_lengths for TR list; removed path from external motion file

21 Mar 2012, RC Reynolds, 3dcalc, level 1 (MICRO), type 6 (ENHANCE)
    added -help description to -help output

    To get apsearch to enable <tab> completion of -help option.

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

19 Mar 2012, RW Cox, Makefiles, level 1 (MICRO), type 0 (GENERAL)
    Remove -O3 and -ffast-math and -ftree-vectorize from all gcc cases

    Too many problems on Lion with -O3 make me suspicious of aggressive
    optimization in general.

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

15 Mar 2012, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    added AFNI_REALTIME_Mask_Dset for per-run control over Mask

    Also added some missing vars to README.environment.
    Done for J Evans.

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

14 Mar 2012, RW Cox, AFNI package, level 1 (MICRO), type 0 (GENERAL)
    Add Makefile for Mac OS X 10.7 == Lion

    No thanks to Apple, by the way -- breaking OpenMP -- what a bunch of
    maroons.

14 Mar 2012, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added -num_chan and -max_quiet_trs; default sleep = 1.1*TR, max of 2

    Added for J Evans and V Roopchansingh.

14 Mar 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    test for global timing before local, as it looks like bad local

    Thanks to P Pallett for reporting the problem.

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

13 Mar 2012, RC Reynolds, lib_qt_gui.py, level 1 (MICRO), type 5 (MODIFY)
    has main, so added trivial -help option

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

12 Mar 2012, RC Reynolds, @SUMA_AlignToExperiment, level 1 (MICRO), type 2 (NEW_OPT)
    added -overwrite_resp, so that processing does not have to stop and wait

    Also, used 'find' grab *.nii, to fix the failure reported by R Ray.
    Forgot to put this in with the afni_proc.py change...

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

09 Mar 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    added $hemi to rm.mean dset during scaling; added -overwrite_resp to SA2E

    Surface analysis would fail on 2nd hemi, as rm.mean dset would exist.Also,
     added new '-overwrite_resp S' to @SUMA_AlignToExperiement command.

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

08 Mar 2012, RW Cox, OpenMP program, level 1 (MICRO), type 4 (BUG_FIX)
    Replace memcpy/memset with AAmemcpy/AAmemset

    OpenMP has trouble with these, particularly on Mac Lion.  Files affected
    include:
    
    3dAutoTcorrelate.c  3dDespike.c  3dREMLfit.c
    3ddata.h            cs_qmed.c    mri_blur3d_variable.c
    mri_nwarp.c         mrilib.h     rcmat.c
    thd_incorrelate.c
    
    AAmemcpy and AAmemset are defined in mrilib.h.  In particular, this gets
    rid of the vastly annoying ___builtin_object_size undefined symbol error
    message when linking an OpenMP program with llvm-gcc-4.2 on Lion.

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

07 Mar 2012, RW Cox, many, level 1 (MICRO), type 0 (GENERAL)
    Many small changes to fix problems caught with the llvm compiler.

07 Mar 2012, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    existing package and install dir no longer required for -defaults

07 Mar 2012, RC Reynolds, GIFTI, level 1 (MICRO), type 4 (BUG_FIX)
    fixed sizeof in memset of gim (noted by B Cox)

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

06 Mar 2012, ZS Saad, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    Option completion killed filename completion. Not anymore.

06 Mar 2012, RW Cox, 3dNormalityTest, level 2 (MINOR), type 1 (NEW_PROG)
    Test voxel values for normality (Gaussianity).

    Uses the Anderson-Darling test.

06 Mar 2012, RC Reynolds, uber_subject.py, level 1 (MICRO), type 5 (MODIFY)
    move nokia help to -help_install_nokia (since it is not recommended)

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

05 Mar 2012, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Recorder saving was crashing for very long filenames. Not anymore.

    The shell however will not like very long names and will complain.

05 Mar 2012, ZS Saad, afni-general, level 2 (MINOR), type 2 (NEW_OPT)
    Added option auto-completion for AFNI's programs for csh users

    The implementation of this feature is via apsearch. In particular,
    apsearch -update_all_afni_help now creates the necessary commands
    for csh's complete program to know about available options.
    See apsearch -help for details.
    This was done in conjunction with Brian Pittman.

05 Mar 2012, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    EDIT_empty: only propagate writable storage_modes

    Added is_writable_storage_mode and DSET_STORAGE_MODE.
    Thanks to Eli for reporting the problem.

05 Mar 2012, RC Reynolds, uber_proc.py, level 1 (MICRO), type 5 (MODIFY)
    trivially apply -help option, for apsearch

05 Mar 2012, RC Reynolds, apsearch, level 1 (MICRO), type 5 (MODIFY)
    do not set shell variables

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

02 Mar 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    fixed $runs in multi-run ricor

    Thanks to I Mukai for reporting the problem.

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

01 Mar 2012, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed suma crash after a plot a certain plot freeze sequence

    The sequence was: create plot, freeze it, get another open
    then close the frozen one. At this point, suma lost control
    of the still unfrozen one, so it is practically frozen.
    Pressing Freeze twice on that remaining plot cause suma to crash.
    None of that occurs anymore.

01 Mar 2012, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed cutting plane motion while volume rendering under linux

    On Macs, the scroll wheel gives out button 6 and 7, on linux
    it is Buttons 4 and 5.

01 Mar 2012, ZS Saad, afni, level 2 (MINOR), type 4 (BUG_FIX)
    Some cleanups and tweaks of XmHTML library.

    Refresh was not working well when scrolling so I ended up adding a mini
    refresh routine that seems to do the trick. XmHTMLRefresh(Widget w)
    It is called each time there is a repositioning. Perhaps that is overkill,
    but no need to sweat this for now.

01 Mar 2012, RW Cox, 1dBport, level 2 (MINOR), type 2 (NEW_OPT)
    Several things to keep Rick happy

    Option '-band fbot ftop' can now be used more than once.
    
    New option '-nozero' means to NOT include the 0 frequency.
    
    New option '-invert' means to calculate the frequency indexes to remove
    from the various '-band' options, then invert them to KEEP only those
    frequencies instead.  That is, only the frequencies NOT specified via
    '-band' will be output in the resultant 1D file.

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

29 Feb 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added option to use html viewer for WAMI results.

    This is to allow users to click on a URL if one is available for a certain
    atlas result. For now the display is very crude and only accessible with
    -DWEBBY_WAMI=YES.

29 Feb 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added 'ctrl+W' that allows saving results from interactive correlations.

    This allows for convenient saving of interactively created datasets
    such as those from single-subject, or group correlation maps in resting
    state.

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

27 Feb 2012, ZS Saad, suma-general, level 2 (MINOR), type 2 (NEW_OPT)
    Allow on the fly definition of standard meshes with -i ld120, for example.

27 Feb 2012, ZS Saad, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bug in read_niml_file() that incorrectly set a read_header_only flag

27 Feb 2012, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 6 (ENHANCE)
    made a little more intelligent, e.g. make one backup by default

    Note: can run this without any existing AFNI binaries, e.g.
          @update.afni.binaries -bindir ~/abin -package linux_openmotif

27 Feb 2012, DR Glen, whereami, level 2 (MINOR), type 4 (BUG_FIX)
    Bug in combination of multiple affine transformations

    Computation error in combining affine transformations
    in whereami. Note all default transformations in whereami
    do not combine affine transformations. Instead, space
    transformations between TLRC and MNI_ANAT spaces are
    computed using a 12-piece or a Brett transformation combined
    with an affine in two stages.

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

24 Feb 2012, ZS Saad, general, level 3 (MAJOR), type 5 (MODIFY)
    I/O library for R now can use AFNI's c library.

    This new functionality allows the use a variety of formats
    both surface and volume-based for reading to and writing from R.
    3dMEMA can use this new functionality with option -cio

24 Feb 2012, ZS Saad, @RetinoProc, level 2 (MINOR), type 4 (BUG_FIX)
    Added number of volume registration regressors to -ort_adjust

24 Feb 2012, ZS Saad, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    Options -val_diff and -sval_diff to compare values in 2 dsets.

24 Feb 2012, ZS Saad, 3dMEMA, level 2 (MINOR), type 2 (NEW_OPT)
    3dMEMA can now handle surface-based data

    It makes use of the new I/O functions that use AFNI's
    C-library.

24 Feb 2012, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 5 (MODIFY)
    added -moderate_mask, fixed -extreme_mask help

    Thanks to R Kuplicki for reporting the help inconsistency.

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

23 Feb 2012, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Enable 'bigthree' mode for color pbar

    If AFNI_PBAR_THREE is YES, the color pbar in the AFNI GUI (but not the
    renderer) will start in 'bigthree' mode, with 3 panes -- the colorscale
    in the middle one, and the upper and lower panes adjustable to allow for
    scaling that is not symmetrical.

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

22 Feb 2012, ZS Saad, 3dROIstats, level 2 (MINOR), type 2 (NEW_OPT)
    Compute the mode of ROI voxels, see -mode and -nzmode

22 Feb 2012, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    moved GLOBAL_browser def from afni.h to thd_ttatlas_query.c

    - declared in TTQ.h
    - deleted #include thd_atlas.h from most .c files
    - #include thd_atlas.h in mrilib.h

22 Feb 2012, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -randomize_trs and -seed

    Affected 1d_tool.py, afni_util.py, lib_afni1D.py and lib_textdata.py.

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

21 Feb 2012, RW Cox, 3dAutobox, level 1 (MICRO), type 2 (NEW_OPT)
    Add -npad option, for Larry Frank

21 Feb 2012, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    if destination directory is not writable, let the user know

21 Feb 2012, DR Glen, whereami, level 4 (SUPER), type 2 (NEW_OPT)
    Web-based access atlases available

    Able to query web atlases from whereami and open webpages
    Support starting with rat brain atlas from Elsevier's
    BrainNavigator

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

17 Feb 2012, RW Cox, debugtrace.h, level 1 (MICRO), type 5 (MODIFY)
    Add printout of 'from' and 'to' information on ENTRY/RETURN macros

    Also patched up a missing ENTRY macro in new_MCW_optmenu() in bbox.c,
    that SOMEONE (who shall go un-named) criminally forgot when patching the
    code for LessTif compatibility.

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

16 Feb 2012, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    more quick termination updates

    - added -max_images
    - do not init vol search state to 2, would limit volumes to 40
    - include fl_start in no_wait test
    - look for new vol worth of images, but no volume match

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

14 Feb 2012, RC Reynolds, uber_ttest.py, level 2 (MINOR), type 6 (ENHANCE)
    release version 1.0: help, copy tables, scripts imply -no_gui

14 Feb 2012, RC Reynolds, Dimon, level 2 (MINOR), type 5 (MODIFY)
    if -no_wait, terminate on volume_match failure

    For F Ye.

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

13 Feb 2012, ZS Saad, 3dSkullStrip, level 2 (MINOR), type 4 (BUG_FIX)
    -orig_vol now forces datum type to be same as that of input.

    This fixed a problem with anatomicals ranging in the million(!) to
    come up the equivalent of a binary mask with -orig_vol.

13 Feb 2012, RW Cox, 3dPeriodogram, level 1 (MICRO), type 4 (BUG_FIX)
    pfact was not static

    But apparently worked OK until Ziad initialized it to zero.

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

10 Feb 2012, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Improved snapshot making. Previous bugs were caused by buffer swap problems

    This fixed (I hope for good), problems of recording ('r'), continuous 
    recording (OS X and Linux), and the oversampling.

10 Feb 2012, RC Reynolds, uber_ttest.py, level 2 (MINOR), type 6 (ENHANCE)
    added 'paired' toggle box to GUI

10 Feb 2012, RC Reynolds, slow_surf_clustsim.py, level 1 (MICRO), type 5 (MODIFY)
    tiny help update, as enforced by H Jo

10 Feb 2012, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    make tcat files optional; apply prefix to 'basic' commands in driver

10 Feb 2012, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -check_results_dir for Z Saad

    Also, changed -tcat_outlier_warn_limit to -tcat_preSS_warn_limit.

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

09 Feb 2012, ZS Saad, 3dSurf2Vol, level 2 (MINOR), type 2 (NEW_OPT)
    Added -sdata, making 3dSurf2Vol compatible with multitude of surface dsets

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

08 Feb 2012, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add ability to flip colors in a discrete paned pbar

    And a 'Flip Colors' button to do so.

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

07 Feb 2012, ZS Saad, SurfMeasures, level 2 (MINOR), type 2 (NEW_OPT)
    Added -out option to handle output in various formats.

    Also added -func ALL option.

07 Feb 2012, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added -bkg_col and -autorecord options

07 Feb 2012, ZS Saad, 3dcopy, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed problem with 3dcopy HHH.nii TTT+orig not producing output

    Problem was caused by new change to EDIT_empty_copy() which
    assigned storage mode to that of input dset instead of STORAGE_BY_BRICK
    Fix involved setting storage mode per the prefix or view in 
    EDIT_dset_items()

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

06 Feb 2012, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added automatic sub-brick selection matching IxT in interface

    Also see corresponding env var: SUMA_IxT_LinkMode

06 Feb 2012, ZS Saad, 3drefit, level 2 (MINOR), type 4 (BUG_FIX)
    3drefit was failing on the view change when target dset is under a path.

    Problem was with default catenation of path to DSET_BRIKNAME and 
    DSET_HEADNAME. Those now contain the path automatically.

06 Feb 2012, ZS Saad, 3dANOVA3, level 2 (MINOR), type 4 (BUG_FIX)
    Improved (I hope) sub-brick labels. Added FDR too.

    Same improvements to all 3dANOVA programs.

06 Feb 2012, ZS Saad, 3dANOVA3, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed compatibility with .niml.dset data

    This required more improvements (I hope) to THD_init_diskptr_names() and
    EDIT_empty_copy() for surface-based datasets.

06 Feb 2012, RC Reynolds, Dimon, level 2 (MINOR), type 6 (ENHANCE)
    added -no_wait option: never wait for new data

    Also, suppress new glob warnings.
    Done for F Ye and others.

06 Feb 2012, RC Reynolds, to3d, level 1 (MICRO), type 5 (MODIFY)
    tiny help update, as enforced by D Glen

06 Feb 2012, RC Reynolds, 3dsvm, level 1 (MICRO), type 5 (MODIFY)
    applied Makefile.INCLUDE updates for J Lisinski and S LaConte

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

03 Feb 2012, RC Reynolds, align_epi_anat.py, level 1 (MICRO), type 4 (BUG_FIX)
    updated @AddEdge command to match change to afni_base:shell_com

    Done with D Glen.

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

02 Feb 2012, RC Reynolds, uber_ttest.py, level 2 (MINOR), type 6 (ENHANCE)
    added basic 3dMEMA capabilities

    This affected afni_util.py, ask_me.py, gui_uber_ttest.py, lib_qt_gui.py
         lib_subjects.py, lib_uber_ttest.py, uber_subject.py, uber_ttest.py.

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

01 Feb 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    check for pre-steady state outlier counts

    Added option -tcat_outlier_warn_limit.

01 Feb 2012, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 6 (ENHANCE)
    check for pre-steady state outlier warnings

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

31 Jan 2012, RC Reynolds, to3d, level 2 (MINOR), type 4 (BUG_FIX)
    also update check for '### ASCCONV BEGIN' in to3d...

    Problem noted by J Lewis.

31 Jan 2012, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    look for aligned anat _al_junk/keep

31 Jan 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_apply_ricor

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

30 Jan 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    ricor block: no longer apply in later 3dDeconvolve

    The regressors for slice #0 from the ricor block were being applied in
    the final regression (to remove motion) for consistency in degrees of
    freedom.  But we might rather not do that, particularly since DOF are
    not important when proceeding with just correlation coefficients.

30 Jan 2012, RC Reynolds, uber_ttest.py, level 1 (MICRO), type 5 (MODIFY)
    all python files use '/usr/bin/env python' instead of '/usr/bin/python'

    modified afni_base.py, gui_uber_align_test.py, gui_uber_subj.py,
             uber_skel.py, @DoPerRoi.py, gui_uber_skel.py, gui_uber_ttest.py,
             uber_ttest.py

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

28 Jan 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    updates for surf analysis of subject FT under AFNI_data6

      - added -atlas_followers to @SUMA_AlignToExperiment
      - if surf analysis: no scaling mask (e.g. extents)
      - updated help example #8 for surf analysis of AFNI_data6 subject FT

28 Jan 2012, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    look for TSNR* in case of surf analysis

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

27 Jan 2012, RC Reynolds, to3d, level 2 (MINOR), type 4 (BUG_FIX)
    fix inf loop if some sSliceArray entries not set

    Also, now there might be junk between ASCCONV BEGIN and ###, grrrrr...
    Problem noted by J Lewis.

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

26 Jan 2012, ZS Saad, 3dinfill, level 2 (MINOR), type 1 (NEW_PROG)
    Fills holes in a volume based on neighboring values

    This program is a wrapper to function SUMA_VolumeInFill.
    Written in response to a query by Mike Beauchamp.

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

25 Jan 2012, RC Reynolds, Dimon, level 2 (MINOR), type 4 (BUG_FIX)
    back out overzealous -quit changes for now

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

24 Jan 2012, ZS Saad, SurfExtrema, level 2 (MINOR), type 1 (NEW_PROG)
    Finds nodes that are local extrema on the surface.

    Program in response to request by Daniel Margulies

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

23 Jan 2012, ZS Saad, suma-general, level 2 (MINOR), type 2 (NEW_OPT)
    Allowed addition of 'R' or 'L' when jumping to a node.

    This make DriveSuma work well with node indices that are specified
    for two hemispheres as is done in the batch mode of 3dGroupInCorr.
    This applies to both suma and DriveSuma

23 Jan 2012, ZS Saad, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    Added -ld and -no_ld options

    @SUMA_Make_Spec_FS by default now runs MapIcosahedron at two ld values.

23 Jan 2012, ZS Saad, @SUMA_AlignToExperiment, level 2 (MINOR), type 2 (NEW_OPT)
    Added -atlas_followers

    Automatically bring along atlas datasets under -surf_anat's directory.

23 Jan 2012, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Improved logic for assigning ROIs when parent is not present

    ROI parent assignment now takes into account last visited surfacein any of
     the open viewer, and hemisphere side when appropriate.

23 Jan 2012, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed bug in display of FRAME bound textures.

    Looks like it had to do with depth testing.

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

20 Jan 2012, ZS Saad, afni-general, level 1 (MICRO), type 2 (NEW_OPT)
    Added -h_web, and -Vname= to all C command-line programs.

    See also apsearch -web_prog_help option

20 Jan 2012, ZS Saad, afni, level 1 (MICRO), type 5 (MODIFY)
    Trim dset names to keep them readable in plugin dataset selector buttons

    See function TrimString() and how it is used in PLUG_finalize_dataset_CB()

20 Jan 2012, RC Reynolds, to3d, level 2 (MINOR), type 5 (MODIFY)
    mri_read_dicom: if there is no VALID vrCode, skip explicitVR

    Done for Chad N.

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

19 Jan 2012, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Allow definition of DO on the fly with -fixed_do, -mobile_do.

    See DriveAfni -help and suma -help_nido

19 Jan 2012, RC Reynolds, Dimon, level 2 (MINOR), type 5 (MODIFY)
    made -quit more aggressive

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

18 Jan 2012, ZS Saad, niccc, level 2 (MINOR), type 2 (NEW_OPT)
    -s option to test string NI elements

18 Jan 2012, ZS Saad, Surf2VolCoord, level 2 (MINOR), type 2 (NEW_OPT)
    -closest_* options to create find nodes that fall closest to XYZ locations

18 Jan 2012, ZS Saad, suma-general, level 1 (MICRO), type 3 (NEW_ENV)
    SUMA_Position_Original for controlling initial window position.

    Use suma -update_env ; to update env file, then look for
     env SUMA_Position_Original for help and default value.

18 Jan 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    force anat variable (and children) to be in AFNI format after 3dcopy

    Appropriate, and for compatibility with an afni_name.pv change.

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

17 Jan 2012, ZS Saad, 3dGroupInCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Allowed BATCH mode to work on surfaces.

17 Jan 2012, RC Reynolds, Dimon, level 2 (MINOR), type 5 (MODIFY)
    -gert_create_dataset now implies -GERT_Reco and -quit

    For Ziad and Daniel.

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

13 Jan 2012, ZS Saad, ParseName, level 2 (MINOR), type 2 (NEW_OPT)
    Options -pre and -app help in creating filenames regarding of type

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

12 Jan 2012, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed ricor block 3dcalc loop for varying run lengths

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

11 Jan 2012, ZS Saad, afni-general, level 1 (MICRO), type 5 (MODIFY)
    Added copying of label table and atlas point lists to aux copying function

    See functions THD_copy_labeltable_atr and THD_copy_datablock_auxdata
    for details.

11 Jan 2012, ZS Saad, 3drefit, level 1 (MICRO), type 2 (NEW_OPT)
    Added -copytables to copy label tables and atlas point lists

11 Jan 2012, ZS Saad, 3dROIstats, level 1 (MICRO), type 5 (MODIFY)
    Use ROI labels in output if label tables or atlas point lists are present

11 Jan 2012, RW Cox, many programs, level 1 (MICRO), type 0 (GENERAL)
    Print WARNING message if '-polort A' is used where not allowed

    This is the Inati's fault.

11 Jan 2012, RW Cox, 3dhistog, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bugs

    (a) fbin storing the counts was not always allocated the right length
    (b) changed it from int to int64_t to allow for really large datasets
    (c) there is no 3rd item

11 Jan 2012, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    dx and dy were reversed in mri_read_dicom.c

    Thanks to P Kaskan and F Ye for bringing this up.

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

10 Jan 2012, ZS Saad, 3dTagalign, level 1 (MICRO), type 2 (NEW_OPT)
    Added interpolation options.

10 Jan 2012, RW Cox, 1dBport, level 2 (MINOR), type 1 (NEW_PROG)
    Generates sin/cos waveforms for bandpass-via-regression

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

09 Jan 2012, ZS Saad, suma-general, level 1 (MICRO), type 2 (NEW_OPT)
    Added -setenv to all SUMA programs

09 Jan 2012, ZS Saad, DriveSuma, level 1 (MICRO), type 2 (NEW_OPT)
    Added -setSUMAenv,-N_fore_smooth, and -N_final_smooth

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

06 Jan 2012, ZS Saad, ROI2dataset, level 1 (MICRO), type 2 (NEW_OPT)
    Added -keep_separate to allow for another way to split ROIs

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

04 Jan 2012, ZS Saad, afni, level 2 (MINOR), type 2 (NEW_OPT)
    Automatically add an Atlas to whereami list if encountered in the session

04 Jan 2012, ZS Saad, ROI2dataset, level 1 (MICRO), type 2 (NEW_OPT)
    Added -nodelist_with_ROIval to facilitate splitting ROIs

04 Jan 2012, ZS Saad, @Atlasize, level 1 (MICRO), type 2 (NEW_OPT)
    Allow for delimiters in keys file and handle names with spaces

    Similar additions are made to @MakeLabelTable

04 Jan 2012, RW Cox, 1dsvd, level 1 (MICRO), type 5 (MODIFY)
    Add percent ability to -nev option

    That is, the ability to output (via -1Dleft) the set of vectors that
    make up the first 'n' percent of the column space.

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

03 Jan 2012, RW Cox, THD_dset_in_session, level 1 (MICRO), type 5 (MODIFY)
    Alter FIND_PREFIX to strip off '+view' if present.

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

30 Dec 2011, ZS Saad, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    NIFTI datasets used to loose their path information upon loading.

    This is problematic for a few reasons. For instance, afni ~/tmp/joe.niml
    will display the dataset as ./joe.niml. Some internal functions for
    conveniently dealing with atlases fail when the path is messed up in this
    way. Also, this problem occurred for NIFTI but NOT AFNI native formats 
    wich resulted in different behaviour for programs like 3drefit.
    For example: 3drefit -space MNI ~/tmp/joe.nii is not comparable to
    3drefit -space MNI ~/tmp/joe+tlrc. (Actually, that behaviour was patched
    on Dec 27 but explicitly setting the path at output. But the fix needed
    to happen for other programs so that is now done at the io level.)

30 Dec 2011, ZS Saad, afni, level 2 (MINOR), type 2 (NEW_OPT)
    Simplified how afni handles custom group or single-subject atlases

    By default, SessionAtlases and AFNI_SUPP_ATLAS_DIR/CustomAtlases.niml
    are added to the atlas list for whereami queries.

30 Dec 2011, ZS Saad, @MakeLabelTable, level 2 (MINOR), type 2 (NEW_OPT)
    Improved @MakeLabelTable's creation of ATLAS niml files

30 Dec 2011, ZS Saad, @Atlasize, level 2 (MINOR), type 1 (NEW_PROG)
    A convenience script to turn a dataset to an atlas

    The script makes it easy to create a group atlas or a single-subject
    atlas and place them automatically in a location that AFNI
    recognizes making them available to the user without bothering with
    too many environment variable settings.

30 Dec 2011, ZS Saad, @AfniEnv, level 2 (MINOR), type 1 (NEW_PROG)
    A convenience script to automatically edit .afnirc

30 Dec 2011, ZS Saad, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    Numerous new options to 3dinfo, including checks for dset presence on disk

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

27 Dec 2011, ZS Saad, 3drefit, level 2 (MINOR), type 4 (BUG_FIX)
    3drefit failed when refitting a NIFTI dset in another directory.

    If you did something like 3drefit -space MNI joe/jim/dset.nii
    you ended up with a new dataset ./dset.nii as opposed to modifying
    the one under joe/jim/ directory

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

23 Dec 2011, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Allow user to append a string to the overlay label

    Via environment AFNI_IMAGE_LABEL_STRING or by a new item on the
    intensity bar popup menu in the GUI -- the latter takes precedence. 
    This is Ziad's Xmas present.

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

22 Dec 2011, RW Cox, mycat, level 1 (MICRO), type 1 (NEW_PROG)
    Minor program to be sort of like 'cat' but un-Microsofts files.

22 Dec 2011, RW Cox, afni_fgets, level 1 (MICRO), type 5 (MODIFY)
    Modified to use system fgets if file pointer is a ttty

22 Dec 2011, RW Cox, afni realtime plugin, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_REALTIME_External_Dataset environment variable

    Lets the realtime user (let's call her/him 'CC') specify an external
    dataset to be used as the registration base.  CC doesn't have to use a
    dataset that is in the cwd, unlike the plugin's GUI selector.  Nor does
    the setting of this environment variable affect the plugin's GUI.

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

21 Dec 2011, RW Cox, afni_fgets, level 1 (MICRO), type 5 (MODIFY)
    Modify to use system fgets for stdin

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

20 Dec 2011, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    SUMA now allows for direct recording to disk.

    See SUMA's ctrl+h for key ctrl+R for details.
    Related environment variable is SUMA_AutoRecordPrefix.

20 Dec 2011, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    SUMA now displays area labels in the viewer, F9 key toggles it

    See SUMA's ctrl+h output in the section for F9
    Related environment variable is SUMA_ShowLabelsAtCrossHair.

20 Dec 2011, ZS Saad, 3dclust, level 2 (MINOR), type 4 (BUG_FIX)
    -prefix failed when input dset was mastered.

    Better use macro PREP_LOADED_DSET_4_REWRITE whenever modifying
    a dataset loaded from disk for the purporse of rewriting it.

20 Dec 2011, ZS Saad, 3dUpsample, level 2 (MINOR), type 2 (NEW_OPT)
    Allow for upsampling to go to 11 (actually 320) and control output datum

20 Dec 2011, RW Cox, fgets, level 1 (MICRO), type 0 (GENERAL)
    Replace (mostly) fgets with afni_fgets

    Recognizes CR and CR+LF and LF+CR as line enders, not just LF like the
    standard Unix library function -- these Microsofties are killing me.

20 Dec 2011, RW Cox, fdrval, level 1 (MICRO), type 5 (MODIFY)
    Add -inverse (AKA -qinput) option

    Allows user to compute the threshold, given the q-value.

20 Dec 2011, RW Cox, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    Add debug output to thd_table.c

    To help me (and users) figure out what might be wrong with a covariates
    table.  Also applies to 3dGroupInCorr

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

19 Dec 2011, RW Cox, THD_patch_brickim, level 1 (MICRO), type 5 (MODIFY)
    Modify to set zero dataset grids spacings to a nonzero value

    In the dataset struct itself, that is, not just the brick image structs.

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

16 Dec 2011, RW Cox, 3dLSS, level 1 (MICRO), type 0 (GENERAL)
    Added -nodata option, and fleshed out the help with an example.

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

15 Dec 2011, RW Cox, 3dLSS, level 1 (MICRO), type 1 (NEW_PROG)
    3dLSS implement LS-S regression

    As described in Mumford, Turner, Asby, and Poldrack, NeuroImage 2011. 
    See 3dLSS -help for more info.

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

13 Dec 2011, ZS Saad, @SUMA_AlignToExperiment, level 2 (MINOR), type 2 (NEW_OPT)
    -init_xform to allow for an initial transformation of -surf_anat

13 Dec 2011, ZS Saad, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    -same_* options return information about dset pairs

13 Dec 2011, ZS Saad, plugout_drive, level 1 (MICRO), type 4 (BUG_FIX)
    AFNI_drive_switch_* functions discriminated against short prefixes.

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

12 Dec 2011, ZS Saad, apsearch, level 2 (MINOR), type 2 (NEW_OPT)
    Small improvements and addition of logging option of search results

    See -apsearch_log_file option for details. Logging is only enabled
    if AFNI_LOG_BEST_PROG_OPTION is set to YES.

12 Dec 2011, ZS Saad, afni, level 2 (MINOR), type 2 (NEW_OPT)
    Slice displays can now show atlas labels in addition to slice location 

    The displays are turned on by right-clicking on the slice viewer's color
    bar and then setting the 'Label' to something other than 'OFF'
    See isqCR_getlabel, ISQ_getlabel, and AFNI_get_dset_val_label in code

12 Dec 2011, ZS Saad, @global_parse, level 2 (MINOR), type 1 (NEW_PROG)
    Script to simplify support of global options such as h_find from scripts

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

09 Dec 2011, ZS Saad, suma, level 1 (MICRO), type 3 (NEW_ENV)
    SUMA_DoNotSendStates restricts certain surfaces from getting sent to suma.

09 Dec 2011, RW Cox, afni (imseq.c), level 1 (MICRO), type 4 (BUG_FIX)
    Patch weird bug

    When the intensity bar popup menu is up, then the user clicks on an
    optmenu, then the next time the user button1 clicks in the image viewer
    (say to move the crosshairs), the values of last_bx and last_by are lost
    (reset to 0) so the move wrong.  Solution -- check if button release is
    in the same location (or close) as the button press, and only then allow
    a move.

09 Dec 2011, RW Cox, 3dttest, level 1 (MICRO), type 4 (BUG_FIX)
    Fix sub-brick selection bug

    in THD_multiplex_dataset(), the '$' was not treated right -- just set to
    999998.  Fix is to use MCW_get_thd_intlist() for proper expansion, which
    also will add sub-brick label selection capability.

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

07 Dec 2011, ZS Saad, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    Added atlas creation of aseg, aparc+aseg, in addition to aparc.a200*

    See whereami's example 3 for how to extract ROIs from FreeSurfer atlases.

07 Dec 2011, ZS Saad, @FS_roi_label, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed bug caused by not cleaning tmp files under /tmp/ with -rankmap

    This bug should not have affected anyone. It showed up as I
    was making @SUMA_Make_Spec_FS process more than one type of
    parcellation volume.

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

06 Dec 2011, ZS Saad, apsearch, level 1 (MICRO), type 2 (NEW_OPT)
    -stdin for input

    More tweaking of search distances and a battery of tests
    to help decide if tweak is in the right direction.

06 Dec 2011, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    Allow runs with -polort ONLY (no other regression model)

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

05 Dec 2011, ZS Saad, afni-general, level 1 (MICRO), type 2 (NEW_OPT)
    Added -h_view to all C command-line programs.

    See also apsearch -view_prog_help option

05 Dec 2011, ZS Saad, afni-general, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_GUI_EDITOR controls user's preferred text editor.

    See apsearch -afni_text_editor.

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

02 Dec 2011, ZS Saad, ConvertSurface, level 2 (MINOR), type 2 (NEW_OPT)
    -XYZscale is added to scale the coordinates of a surface

    Surface that are not in mm coordinates can look pretty bad in SUMA.
    This scaling option can be used to easily change coordinates from cm to mm
    for example.

02 Dec 2011, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Added 'Save' button to suma text info windows

02 Dec 2011, ZS Saad, suma, level 1 (MICRO), type 3 (NEW_ENV)
    SUMA_NodeCoordsUnits allows the specification of node coord. units

02 Dec 2011, ZS Saad, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    Wrote SOLARIS_strcasestr to replace missing strcasestr on SOLARIS

02 Dec 2011, RW Cox, 3dDeconvolve, level 1 (MICRO), type 2 (NEW_OPT)
    Add -ortvec option (to appease the Inati)

    Lets the pitiful user add multiple baseline (i.e., ort) vectors from a
    single file.

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

01 Dec 2011, RW Cox, p2t, level 1 (MICRO), type 0 (GENERAL)
    Remove this program from AFNI binary distributions

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

30 Nov 2011, ZS Saad, ConvertDset, level 1 (MICRO), type 2 (NEW_OPT)
    -pad_to_node 0 now padds output dset to max node in input dset

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

29 Nov 2011, ZS Saad, @clean_help_dir, level 1 (MICRO), type 1 (NEW_PROG)
    Removes redundant help files from the afni help directory.

29 Nov 2011, ZS Saad, @DeblankFileNames, level 1 (MICRO), type 1 (NEW_PROG)
    Replaces spaces in filenames with_something_less_annoying.

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

28 Nov 2011, ZS Saad, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed function THD_deplus_prefix to improve prefix cleanup

    Previous version cleaned +orig but not +orig.HEAD or +orig. for example.
    Current one removes +orig +orig. +orig.HEAD +orig.BRIK +orig.BRIK.gz and
    corresponding +acpc and +tlrc brethren.

28 Nov 2011, RC Reynolds, 1dnorm, level 1 (MICRO), type 4 (BUG_FIX)
    re-enabled use of '-' for stdin/stdout

    Requested by R Birn.

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

25 Nov 2011, ZS Saad, to3d, level 1 (MICRO), type 2 (NEW_OPT)
    Added -quit_on_err

    Keeps to3d from going in interactive mode in case of error.

25 Nov 2011, ZS Saad, Dimon, level 1 (MICRO), type 2 (NEW_OPT)
    Added -gert_quit_on_err

    Passes -quit_on_err option to to3d.

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

22 Nov 2011, ZS Saad, afni, level 1 (MICRO), type 2 (NEW_OPT)
    Added -h_find as a global option

    afni -help now outputs information about 'Global options'

22 Nov 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 2 (NEW_OPT)
    allow for passing variables directly, not via -svar

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

21 Nov 2011, ZS Saad, apsearch, level 1 (MICRO), type 2 (NEW_OPT)
    Added -all_opts to show all options for a program

21 Nov 2011, ZS Saad, afni, level 1 (MICRO), type 2 (NEW_OPT)
    Added -all_opts as a global option

    The option is the equivalent of running apsearch -all_opts 
    for a certain program.

21 Nov 2011, RC Reynolds, quick.alpha.vals.py, level 2 (MINOR), type 1 (NEW_PROG)
    a very simple program to tabulate the output from slow_surf_clustsim.py

    This ought to be improved, but at least it is now distributed...

21 Nov 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    small update to help text

21 Nov 2011, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed -ynames in plot of motion/outliers

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

18 Nov 2011, RW Cox, 3dUndump, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug introduced with -ROImask

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

17 Nov 2011, ZS Saad, apsearch, level 2 (MINOR), type 1 (NEW_PROG)
    This is a program to test approximate string matching functions

    The program is best described by its help output.
    It is meant to quickly test the behavior of the approx* functions
    in thd_ttatlas_query.c where approximate string matching will
    be useful is easily specifying an atlas areas by name.
    Another useful offshoot is the function: suggest_best_prog_option
    which can easily be called right after a command-line parsing error
    message is displayed. For example, in apsearch I have the following:
    
       { /* bad news in tennis shoes */
          fprintf(stderr,"** Error %s: bad option %s\n", argv[0], argv[iarg]);
          suggest_best_prog_option(argv[0], argv[iarg]);
          return 1;
       }
    So all is needed to retrofit an old program is the suggest function.
    That function will do nothing if environment variable AFNI_NO_OPTION_HINT
    is set.
    To use suggest_best_prog_option from a script, use:
         apsearch -popt `basnemane $0` -word ARG
    

17 Nov 2011, ZS Saad, afni, level 2 (MINOR), type 2 (NEW_OPT)
    If AFNI_NO_OPTION_HINT, don't bother with helpful suggestions

17 Nov 2011, ZS Saad, afni, level 1 (MICRO), type 3 (NEW_ENV)
    Added threshold locking capability under the 'Lock' menu

17 Nov 2011, RC Reynolds, afni, level 2 (MINOR), type 4 (BUG_FIX)
    if dset+orig is anat/func and dset+tlrc is func/anat, 'BAD dataset', man

    Altered logic in thd_initsess.c (done with dglen).

17 Nov 2011, RC Reynolds, @ROI_Corr_Mat, level 1 (MICRO), type 4 (BUG_FIX)
    fix complaint about unknown options for non-macs

17 Nov 2011, RC Reynolds, 3drefit, level 1 (MICRO), type 4 (BUG_FIX)
    changing 'type' should have an effect even if not a bucket

    Done with dglen.

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

16 Nov 2011, RW Cox, dicom_hinfo, level 1 (MICRO), type 0 (GENERAL)
    Minor edits, mostly to the help.

16 Nov 2011, RW Cox, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    Condition numbers were checked with SQUARES of singular values!

    Fixed by changing function matrix_singvals().  Also make clear in 1dsvd
    help that -vnorm option is needed to compare singular values with
    3dDeconvolve.

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

15 Nov 2011, ZS Saad, afni_general, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bug introduced by cleaning up header_name and brick_name

15 Nov 2011, ZS Saad, afni_general, level 2 (MINOR), type 4 (BUG_FIX)
    More changes regarding obliquity warnings.

       AFNI:
       Popups only appear when user is viewing dsets of different obliquity.
         See dset_obliquity_angle_diff()
          and THD_report_obliquity()
       
       The warnings only appear ONCE per pair of misfits, per afni process. 
          See AFNI_check_obliquity() for implementation details.
       
       Oblique notices no longer appear on the command line each time you 
       read a session or switch dsets. To tell you that you are viewing an 
       oblique dset and that the coords are not quite what they should be,
       I added a '*' next to the 'order:' descriptor in the top left corner. 
    
    Command Line programs:
       In most programs that should not care about obliquity, I add
       early under main():   
          set_obliquity_report(0); /* silence obliquity */ 
       
      Also, 3dcalc3dTcat3dbucket, and function THD_open_tcat() 
       Only complain when obliquity between dset pair differs. 
       The check is done right after checking for grid matching with
       EQUIV_DATAXES
       

15 Nov 2011, RW Cox, dicom_hinfo, level 2 (MINOR), type 1 (NEW_PROG)
    For printing out info from lots of DICOM files

    For each file input, prints 1 line with the values of only the desired
    tags.  The goal is to be helpful in figuring out which files go
    together.  See Example #2 in the help output for such a case.

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

10 Nov 2011, ZS Saad, afni, level 2 (MINOR), type 4 (BUG_FIX)
    Turned off obliquity popup warning when Ulay and Olay angles are similar

    AFNI issues warning when obliquity differs for a pair of viewed sets.
    It does not repeat warnings for a certain pair. It only output one set
    of warnings per dataset when 'switch ulay' is set, although I'd love to
    get rid of that habit as soon as possible.

10 Nov 2011, ZS Saad, 3dinfo, level 1 (MICRO), type 4 (BUG_FIX)
    Many new options for selective information.

10 Nov 2011, RW Cox, afni InstaCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Add ExtraSet option

    That is, to correlate seeds from the TimeSeries dataset with voxel data
    from the ExtraSet dataset.  Ziad asked for something like this, so here
    it is.

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

09 Nov 2011, RW Cox, 3dUndump, level 2 (MINOR), type 2 (NEW_OPT)
    Add -ROImask option

    To put values into locations defined by a mask dataset.

09 Nov 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    -surf_blur_fwhm is no longer valid, please use -blur_size

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

08 Nov 2011, RW Cox, afni, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_IMAGE_COLORANGLE

    Set this to 360 to get the 'Colr' image to be a full circle colormap.

08 Nov 2011, RC Reynolds, adwarp, level 1 (MICRO), type 6 (ENHANCE)
    added a help example for writing anat+tlrc.BRIK

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

07 Nov 2011, RW Cox, 3dDeconvolve, level 2 (MINOR), type 5 (MODIFY)
    No -iresp or -sresp for dmBLOCK

    Also, change definition of 'near-duplicate' times from 0.05*TR to 0.50*TR

07 Nov 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -blur_to_fwhm and -blur_opts_B2FW

    Added for E Nelson and J Jarcho.

07 Nov 2011, DR Glen, lost last character in sub-brick labels, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed miscount of characters

07 Nov 2011, DR Glen, deobliquing, level 2 (MINOR), type 5 (MODIFY)
    More programs lose original data obliquity

    3drefit3dWarp3daxialize3dZcutup3dCM3dZregrid
    added to the list of programs

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

04 Nov 2011, RC Reynolds, 3dSurf2Vol, level 2 (MINOR), type 6 (ENHANCE)
    added 'mode' mapping function

    Requested by R Mruczek.  Also done for Z Puckett.

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

03 Nov 2011, RC Reynolds, @2dwarper.Allin, level 2 (MINOR), type 2 (NEW_OPT)
    added -prefix option; allow for 3dAllin failures; copy time info

    Updates by N Mei and A Messinger.

03 Nov 2011, DR Glen, longer sub-brick labels, level 2 (MINOR), type 5 (MODIFY)
    Allow sub-brick labels to be up to 63 characters

03 Nov 2011, DR Glen, 3drefit, level 2 (MINOR), type 4 (BUG_FIX)
    Allow refitting of some attributes

    Some attributes like IJK_TO_DICOM_REAL and DELTA were not
    being updated correctly with the original values remaining
    in the dataset

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

02 Nov 2011, ZS Saad, 3dfim+, level 1 (MICRO), type 4 (BUG_FIX)
    Turned off scaling for Best Index in output dset

02 Nov 2011, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    added out.TENT_warn.txt to warning file review

02 Nov 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    if using TENT, run 'timing_tool.py -warn_tr_stats'

    Warnings are also saved in out.TENT_warn.txt.

02 Nov 2011, RC Reynolds, Dimon, level 2 (MINOR), type 6 (ENHANCE)
    allow -save_file_list to apply even with -infile_list

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

31 Oct 2011, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_tr_stats and -warn_tr_stats options

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

26 Oct 2011, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    Made SUMA hide overlay from SUMA whenever 'See Overlay' is off in AFNI

26 Oct 2011, ZS Saad, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed bug where AFNI sent the max voxel to suma despite threshold

    In BYTE and SHORT datasets the maximum voxel always got sent to
    suma, even if the threshold was higher than the maximum value in
    the dataset.

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

25 Oct 2011, RC Reynolds, timing_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    process married files with current operations

    1. AfniMarriedTiming inherits from AfniData (instead of local copies)
    2. add all AfniTiming methods to AfniMarriedTiming (as married timing)
    3. rename AfniMarriedTiming back to AfniTiming (but now married)

25 Oct 2011, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    look for more file name variants, including with '_' separators

    Added for J Weisberg.

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

20 Oct 2011, RC Reynolds, afni_general, level 2 (MINOR), type 5 (MODIFY)
    changed most resampling programs to deoblique inputs upon read

    THD_open*_dataset() was followed by THD_make_cardinal().
    modified: 3dresample3dfractionize3drotate, adwarp, 3dLRflip
              3dZeropad3dZcat3dAutobox
    not (yet) modified: 3dWarp(Drive), 3dAllineate

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

19 Oct 2011, RC Reynolds, GIFTI, level 2 (MINOR), type 6 (ENHANCE)
    can read/write ascii COMPLEX64, COMPLEX128, RGB24

    Requested by H Breman, J Mulders and N Schmansky.

19 Oct 2011, RC Reynolds, @2dwarper.Allin, level 1 (MICRO), type 2 (NEW_OPT)
    added a -mask option

    Added for A Messinger.

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

18 Oct 2011, ZS Saad, afni, level 1 (MICRO), type 2 (NEW_OPT)
    Added -available_npb* options to suggest available port blocks

18 Oct 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 2 (NEW_OPT)
    added blur size control; removed requirement of stim timing files

18 Oct 2011, RC Reynolds, @radial_correlate, level 1 (MICRO), type 6 (ENHANCE)
    require enough volumes per dataset, store file name correspondence

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

17 Oct 2011, RW Cox, 3dhistog, level 1 (MICRO), type 5 (MODIFY)
    removed DOS ctrl-M's in file, they screwed things up for compiling

17 Oct 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    added -help for new -surf_* options, along with example #8

17 Oct 2011, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    abin now has subdir (funstuff), so change 'mv' to 'rsync'

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

14 Oct 2011, ZS Saad, afni-general, level 2 (MINOR), type 0 (GENERAL)
    Improvements of atlas handling in whereami and afni

    1- In addition to loading atlas specs from environment variable
    AFNI_SUPP_ATLAS, AFNI will automatically search for a file
    named  SessionAtlases.niml which is created with @MakeLabelTable.
    2- AFNI will check if a viewed dataset is an atlas and will
    automatically add it to the atlas list. It will also show the label at 
    the cross-hair location.
    New functions of interest:
      get_Atlas_ByDsetID, is_Dset_Atlasy, 
      label_table_to_atlas_point_list, is_identity_xform_chain

14 Oct 2011, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT)
    now processes surface data

    - added 'surf' processing block, and corresponding '-surf_*' options:
       -surf_anat, -surf_spec, -surf_anat_aligned, -surf_anat_has_skull,
       -surf_A, -surf_B, -surf_blur_fwhm
    - compute errts and TSNR by default (had required option or blur est)

14 Oct 2011, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    allow modest handling of surface results

14 Oct 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    small -help_install update

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

13 Oct 2011, ZS Saad, whereami, level 2 (MINOR), type 4 (BUG_FIX)
    -omask failed if atlas was stored in float type.

13 Oct 2011, ZS Saad, 3drefit, level 2 (MINOR), type 4 (BUG_FIX)
    Added support for -atrstring operation on NIFTI datasets 

    This required making changes to THD_init_diskptr_names functions
    and a few more of its colleagues.

13 Oct 2011, RW Cox, 3dttest++, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed error in computing with un-centered covariates

    inv[Xt*X] matrix not computed correctly in mri_matrix_psinv_pair()
    function.

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

12 Oct 2011, RW Cox, NIML library, level 1 (MICRO), type 0 (GENERAL)
    Extend printout of floats to higher precision

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

11 Oct 2011, ZS Saad, @auto_tlrc, level 2 (MINOR), type 2 (NEW_OPT)
    Added support for NIFTI datasets

11 Oct 2011, ZS Saad, 3dinfo, level 2 (MINOR), type 2 (NEW_OPT)
    Added new options for extracting field values in scripts

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

07 Oct 2011, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Move splashes, faces, and poems to funstuff/ subdirectory

    funstuff/ is now a sub-directory of the binary install directory.

07 Oct 2011, RW Cox, 1dTsort, level 1 (MICRO), type 0 (GENERAL)
    Add -col option, to sort on just one column.

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

06 Oct 2011, RC Reynolds, 3dMean, level 1 (MICRO), type 4 (BUG_FIX)
    linux_xorg7_64 had optimizer error (and crashed), so altered loop method

    Thanks to P Kim for reporting the problem.

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

05 Oct 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 4 (BUG_FIX)
    do not re-create proc script on proc execution

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

04 Oct 2011, ZS Saad, GroupAna, level 2 (MINOR), type 2 (NEW_OPT)
    Added support for writing NIML files as output

    This also required writing a few new matlab functions such as
     BrikInfo_2_niml_writesimple.

04 Oct 2011, ZS Saad, CreateIcosahedron, level 1 (MICRO), type 2 (NEW_OPT)
    Added -min_nodes option

04 Oct 2011, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    changed basic script outputs

    - added 'max censored displacement', 'final anat dset' and
            'final voxel resolution' to basic script
    - removed 'num stim files found'

04 Oct 2011, RC Reynolds, to3d, level 1 (MICRO), type 5 (MODIFY)
    explicitly warn about illegal '/' characters in output filename

04 Oct 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -anat_has_skull option

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

03 Oct 2011, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -censor_infile (e.g. to remove TRs from motion params)

    Added for N Adleman.

03 Oct 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    changed default polort time back to TR*NT, to match 3dDeconvolve

03 Oct 2011, RC Reynolds, afni-general, level 1 (MICRO), type 6 (ENHANCE)
    update ADN_ONE_STEP to ten million, allowing that many output sub-bricks

    This affects programs like 3dbucket, when the output has many volumes.
    Done for HJ Jo, J Gonzalez-Castillo, M Robinson.

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

22 Sep 2011, RC Reynolds, uber_ttest.py, level 3 (MAJOR), type 1 (NEW_PROG)
    a graphical program for running either 3dttest++ or 3dMEMA

    Still under destruction.

22 Sep 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 5 (MODIFY)
    altered spacing and made other minor changes

22 Sep 2011, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 5 (MODIFY)
    added check_for_file and for_dset, updated find_x_mat, enorm, view_stats

22 Sep 2011, RC Reynolds, afni_util.py, level 2 (MINOR), type 6 (ENHANCE)
    various updates

    - updated quotize_list
    - added nuke_final_whitespace, flist_to_table_pieces, get_ids_from_dsets

22 Sep 2011, RC Reynolds, uber_align_test.py, level 1 (MICRO), type 5 (MODIFY)
    moved get_def_tool_path to library

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

21 Sep 2011, RW Cox, 3dTshift, level 1 (MICRO), type 2 (NEW_OPT)
    Add -voxshift option

21 Sep 2011, RW Cox, 3dClustSim, level 1 (MICRO), type 2 (NEW_OPT)
    Add -2sided option

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

13 Sep 2011, DR Glen, 3dMean, level 2 (MINOR), type 2 (NEW_OPT)
    Added non_zero and count options

13 Sep 2011, DR Glen, whereami, level 1 (MICRO), type 4 (BUG_FIX)
    Added trivial ability to invert identity transformation

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

07 Sep 2011, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 5 (MODIFY)
    added @radial_correlate to the install scripts (forgot earlier)

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

06 Sep 2011, RC Reynolds, Dimon, level 1 (MICRO), type 2 (NEW_OPT)
    added -fast option, short for: -sleep_init 50 -sleep_vol 50

06 Sep 2011, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    save_skullstrip option saved obliqued and skullstripped data

    Fixed to save only skullstripped

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

02 Sep 2011, DR Glen, 3dhistog, level 2 (MINOR), type 4 (BUG_FIX)
    Handle binning and output of integer and float data differently

    Distinguish between integer and float data. Added float and int
    options to enforce specified behavior.
    Done with Rick Reynolds.

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

01 Sep 2011, RC Reynolds, @radial_correlate, level 2 (MINOR), type 1 (NEW_PROG)
    compute voxelwise EPI correlations with local spherical averages

01 Sep 2011, RC Reynolds, afni_util.py, level 1 (MICRO), type 4 (BUG_FIX)
    get_default_polort: run time should be TR * (NT-1)

    This was changed back to TR*NT, to match 3dDeconvolve (3 Oct, 2011).

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

31 Aug 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    if censoring motion or outliers, add options to gen_ss_r command

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

30 Aug 2011, RC Reynolds, Dimon, level 1 (MICRO), type 4 (BUG_FIX)
    update volume delta to mean dz

    From text in DICOM files, initial dz values may not be sufficiently
    accurate, leaing to 'volume toasted' errors.
    Thanks to B Benson for reporting the problem.

30 Aug 2011, DR Glen, Draw Dataset, level 2 (MINOR), type 4 (BUG_FIX)
    Draw Dataset plugin incorrect label for current atlas

    Fixed current atlas to be updated properly if atlas is
    changed.

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

26 Aug 2011, RW Cox, afni Clusterize, level 1 (MICRO), type 0 (GENERAL)
    Modify to print out 3dclust and whereami commands when used

    Per the suggestion of Andy Connolly of Dartmouth College.

26 Aug 2011, RW Cox, 3dclust, level 1 (MICRO), type 2 (NEW_OPT)
    add -savemask option

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

19 Aug 2011, RW Cox, 3dNwarpCalc, level 2 (MINOR), type 5 (MODIFY)
    Fix &readpoly() and implement &read4x4()

    Modify 3dNwarpApply to use same function as &apply() so that the 2
    programs are in sync.
    Release 3dNwarpCalc into the wild:
    
    Born free, and code is worth running, but only worth running, because
    you're born freeware!

19 Aug 2011, RC Reynolds, 3dDeconvolve, level 2 (MINOR), type 5 (MODIFY)
    added the ability to output 1D sresp datasets

    Requested by S Baum.

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

18 Aug 2011, RW Cox, 3dttest++, level 1 (MICRO), type 0 (GENERAL)
    Add some clarify text about covariates to the -help output

    Also add an addition check to see if dataset name covariates are all the
    same, and print out some info about the covariates.

18 Aug 2011, RW Cox, 3dNwarpCalc, level 1 (MICRO), type 0 (GENERAL)
    Add '&apply' function

    To apply a calculated 3D warp to a dataset, without having to use
    3dNwarpApply

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

17 Aug 2011, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed some final anat dset assignments

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

15 Aug 2011, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    altered SUMA_ParseFname for parsing of relative pathnames

    Thanks to Ryan of Princeton for reporting the problem.

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

12 Aug 2011, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    gave volreg 3dAllineate command priority for final anat

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

11 Aug 2011, RW Cox, 3dNwarpCalc, level 1 (MICRO), type 0 (GENERAL)
    Added sqrt of a nonlinear warp to the repertoire.

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

09 Aug 2011, RW Cox, 3dNwarpCalc, level 2 (MINOR), type 1 (NEW_PROG)
    Implemented about 80% of it

    Seems to work, but needs a fair amount of fine tuning and testing.

09 Aug 2011, RW Cox, 3dTstat, level 1 (MICRO), type 2 (NEW_OPT)
    Add '-cvarinv' option for Vinai

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

04 Aug 2011, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    wrote loc_strcpy(/cat)_realloc for MCW_file_expand

    This is to allow for long sub-brick selectors.

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

03 Aug 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    changed aea.py -save_skullstrip to -save_orig_skullstrip

    The -save_skullstrip dataset might have an oblique transformation
    applied (which would throw off EPI if it is then sent to standard
    space).  Apply the new option to grab a simple skull-stripped anat.
    Thanks to A Ellenstein for reporting it and Z Saad for help understanding.

03 Aug 2011, RC Reynolds, align_epi_anat.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -save_orig_skullstrip, to avoid oblique transforms

    This was added for afni_proc.py.

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

02 Aug 2011, RW Cox, 3dclust, level 2 (MINOR), type 2 (NEW_OPT)
    Add '-inmask' option, to use internal mask

    To be compatible with AFNI's Clusterize GUI, which was also modified to
    output this option when appropriate.

02 Aug 2011, RC Reynolds, uber_skel.py, level 1 (MICRO), type 5 (MODIFY)
    main class inherits object - for older versions of python

02 Aug 2011, RC Reynolds, uber_align_test.py, level 1 (MICRO), type 5 (MODIFY)
    main class inherits object - for older versions of python

02 Aug 2011, RC Reynolds, gen_ss_review_scripts.py, level 1 (MICRO), type 5 (MODIFY)
    added control var out_prefix, a prefix for output files

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

01 Aug 2011, ZS Saad, whereami, level 2 (MINOR), type 4 (BUG_FIX)
    Whereami's symbolic notation failed with float valued atlases

    This is now fixed. Code also checks for scale factors.
    There was another bug waiting to happen with:
    !is_Atlas_Named(atlas, "CA_N27_PM"), which is now:
    !is_probabilistic_atlas(atlas)

01 Aug 2011, ZS Saad, Draw Dataset, level 2 (MINOR), type 5 (MODIFY)
    Changed the gap selection to arrows to allow for much larger gaps

01 Aug 2011, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Clusterize minor changes

    * Shift+3clust button = actually run the 3dclust command, in addition
    printing it out
    * Add a warning message if an internal 3dClustSim mask is present, since
    3dclust results will vary from Clusterize
    * Add Jumpto buttons to AFNI crosshair label popup menu

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

29 Jul 2011, RC Reynolds, slow_surf_clustsim.py, level 2 (MINOR), type 6 (ENHANCE)
    z.max files are now named by p-value

    And suggest a quick.alpha.vals.py command.

29 Jul 2011, RC Reynolds, make_pq_script.py, level 2 (MINOR), type 5 (MODIFY)
    changes to handle python 2.4, where shell output has extra blank lines

29 Jul 2011, RC Reynolds, 3dUniformize, level 2 (MINOR), type 4 (BUG_FIX)
    fixed checks against lower_limit in option processing (since -1 init)

    Thanks to A Waite for reporting the problem and cause in the code.

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

26 Jul 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    if e2a, update current anat to skull-stripped anat from align block

    This would avoid a second skull-strip step in @auto_tlrc.

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

25 Jul 2011, RC Reynolds, slow_surf_clustsim.py, level 2 (MINOR), type 6 (ENHANCE)
    added keepblocks var, to limit kept intermediate datasets

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

22 Jul 2011, ZS Saad, afni, level 1 (MICRO), type 3 (NEW_ENV)
    Added AFNI_TIME_LOCK to turn on AFNI's Time Lock by default

22 Jul 2011, RC Reynolds, slow_surf_clustsim.py, level 2 (MINOR), type 4 (BUG_FIX)
    after blur, rescale noise to be normally distributed

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

21 Jul 2011, RW Cox, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    Add column selection to -covariates for this, also

21 Jul 2011, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 5 (MODIFY)
    changed TR counts to come via awk instead of grep

21 Jul 2011, RC Reynolds, edt_blur.c, level 1 (MICRO), type 4 (BUG_FIX)
    fixed nz/sigmay typo, found by Patryk (on message board)

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

20 Jul 2011, ZS Saad, 1dcat, level 1 (MICRO), type 2 (NEW_OPT)
    added -sel option to 1dcat

    with -sel one can apply the same selection of columns and rows
    to all files on the command line, allowing the use of wildcards
    when specifying input 1D files.

20 Jul 2011, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 5 (MODIFY)
    Allow sub-brick selectors on the -covariates table

20 Jul 2011, RC Reynolds, make_pq_script.py, level 2 (MINOR), type 1 (NEW_PROG)
    program will generate a script to produce a p-value/q-value curve pair

20 Jul 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed aea.py -epi_base when: aea.py, -volreg_a2 last, variable run lens

    thanks to S Brislin and S White for reporting the problem

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

15 Jul 2011, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 2 (NEW_OPT)
    Add -center option for covariates (cf. Chen Gang)

15 Jul 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    save output from ss_review in out.ss_review.$subj.txt

15 Jul 2011, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 6 (ENHANCE)
    applied -d as -defaults

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

14 Jul 2011, RC Reynolds, gen_ss_review_scripts.py, level 2 (MINOR), type 6 (ENHANCE)
    added 'max motion displacement' to basic script

14 Jul 2011, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_max_displace, for maximum motion displacement

14 Jul 2011, RC Reynolds, slow_surf_clustsim.py, level 1 (MICRO), type 6 (ENHANCE)
    show date per iter block and add ./ to 3dcalc prefix

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

13 Jul 2011, RW Cox, 3dTcorrMap, level 2 (MINOR), type 4 (BUG_FIX)
    Bug in computation of indx

    The mask is turned into an index table of active voxel indx[].  However,
    constant voxels were removed from the mask AFTER indx[] was created,
    which is stupid.  This is fixed now, and Zhark will be chastised.

13 Jul 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    run gen_ss_review_scripts.py and any resulting 'basic' review script

13 Jul 2011, RC Reynolds, gen_group_command.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -exit0 and babbled about possible artifact tests

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

11 Jul 2011, RC Reynolds, gen_ss_review_scripts.py, level 3 (MAJOR), type 1 (NEW_PROG)
    for generating single subject review scripts

    To be run by the afni_proc.py proc script or directly by users.

11 Jul 2011, RC Reynolds, gen_group_command.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed case of partial path match to dsets

    Problem found by J Jarcho.

11 Jul 2011, DR Glen, whereami, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_ATLAS_COLORS and default atlas in AFNI GUI

    Set atlas to use for Atlas colors, Go to atlas location,
    Draw Dataset and Renderer. Name of atlas can be set in
    environment and modified in the AFNI GUI environmentalism menu.
    Several other environmental variables regarding atlas usage
    can also be modified there too.

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

08 Jul 2011, RW Cox, AFNI, level 1 (MICRO), type 4 (BUG_FIX)
    Tips HTML window crashes on kampos (Solaris)

    Debugging shows XmHTML crashed when rendering different-than-normal
    fonts.  Solution = strip font-changing HTML tags out of file before
    display -- only on systems marked as evil in this way.

08 Jul 2011, RC Reynolds, slow_surf_clustsim.py, level 2 (MINOR), type 5 (MODIFY)
    added -on_surface, which might not end up being so useful

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

06 Jul 2011, RC Reynolds, uber_align_test.py, level 1 (MICRO), type 5 (MODIFY)
    test use of SUBJ.set_var_with_defs

06 Jul 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    create anat_final dset, as one that is aligned with the stats

    Also, suggest use of uber_subject.py in the -ask_me dialog.

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

05 Jul 2011, RW Cox, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    add -NOLINE to include clipping of points outside the box

05 Jul 2011, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    minor enhancements to 5 python files (prep for gen_ss_review_scripts.py)

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

01 Jul 2011, RW Cox, afni, level 2 (MINOR), type 0 (GENERAL)
    Replace text-only AFNI Tips with HTML-based

    Allows incorporation of images and better formatting.
    Uses XmHTML widget set, whose source code is also added to AFNI.

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

30 Jun 2011, RC Reynolds, afni_proc.c, level 1 (MICRO), type 5 (MODIFY)
    renamed aligned anat output (from align_epi_anat.py)

    This should make it clear whether or not the output anat should be used

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

28 Jun 2011, RW Cox, 3dDeconvolve, level 1 (MICRO), type 3 (NEW_ENV)
    Ability to skip the 'centering' done in AM2 regression

    By setting environment variable AFNI_3dDeconvolve_rawAM2 to YES, as in
    the command
     3dDeconvolve -DAFNI_3dDeconvolve_rawAM2=YES ...

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

27 Jun 2011, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Add README.afnigui and AFNI Tips button

27 Jun 2011, RC Reynolds, gen_group_command.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -dset_index0_list/-dset_index1_list options, etc.

    - ttest++ and MEMA commands now apply directories to datasets
    - changed Subject.atrs to be VarsObject instance, not dictionary

27 Jun 2011, RC Reynolds, thd_table.c, level 1 (MICRO), type 5 (MODIFY)
    output warning hint on single column covariate file

27 Jun 2011, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    changed decode_1D_ints to take imax param

    Affects 1d_tool.py, xmat_tool.py and any utilities using lib_afni1D.py.
    Also added restrict_by_index_lists().

27 Jun 2011, DR Glen, whereami, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_WHEREAMI_DEC_PLACES

    Set precision for whereami output
    Higher field data and animal atlases require higher precision.
    The default value used for focus point among template spaces is
    still 0 decimal places (closest mm), but animal data requires three
    decimal places. Value may range from 0 to 10.

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

24 Jun 2011, ZS Saad, afni-general, level 1 (MICRO), type 2 (NEW_OPT)
    added global option -pif which is used to flag certain commands.

    -pif PROCESS_ID_FLAG is used to flag a particular AFNI command
    so that you can identify from the shell that command's process id
    by grepping for PROCESS_ID_FLAG on the output of 'ps -a'.

24 Jun 2011, RC Reynolds, slow_surf_clustsim.py, level 3 (MAJOR), type 1 (NEW_PROG)
    a temporary program until we do this in C

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

23 Jun 2011, RW Cox, afni InstaCorr, level 2 (MINOR), type 5 (MODIFY)
    Ability to INIT-ialize InstaCorr from a plugout

    Details are in README.driver, under the INSTACORR command section.

23 Jun 2011, DR Glen, whereami, level 2 (MINOR), type 3 (NEW_ENV)
    Desai MPM atlases

    New maximum probability map atlases derived from the Desai probability
    maps just introduced in distribution.

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

20 Jun 2011, ZS Saad, @ROI_Corr_Mat, level 1 (MICRO), type 4 (BUG_FIX)
    added support for +tlrc input, more debugging messages, -echo option.

20 Jun 2011, ZS Saad, 3drename, level 1 (MICRO), type 2 (NEW_OPT)
    added support for -overwrite

20 Jun 2011, RC Reynolds, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    added eta2 function (alongside '3ddot -doeta2')

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

17 Jun 2011, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Button3 (right) click image viewer 'Disp' to raise AFNI controller

17 Jun 2011, RC Reynolds, SUMA_MiscFunc.c, level 1 (MICRO), type 4 (BUG_FIX)
    set 0-length BmP array to matching length 3

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

16 Jun 2011, ZS Saad, 3dSurfMask, level 3 (MAJOR), type 2 (NEW_OPT)
    Major improvements for mask creation and voxel distance computations

    Option -fill_method SLOW produces more accurate masks for voxels
    inside the closed surface. In addition, the program outputs a dataset
    with the shortest distance of each voxel to the surface.
    See examples under 3dSurfMask -help.

16 Jun 2011, ZS Saad, SurfPatch, level 2 (MINOR), type 2 (NEW_OPT)
    -flip_orientation allows for reversing triangle orientation.

    See new examples under SurfPatch -help

16 Jun 2011, ZS Saad, SurfPatch, level 2 (MINOR), type 4 (BUG_FIX)
    No longer complains about not finding seed in cases where it should.

16 Jun 2011, RC Reynolds, 3ddot, level 2 (MINOR), type 2 (NEW_OPT)
    added -doeta2 via new THD_eta_squared_masked

    Added for Shinchan.

16 Jun 2011, RC Reynolds, 3dAutoTcorrelate, level 1 (MICRO), type 4 (BUG_FIX)
    allowed very small datasets

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

15 Jun 2011, RW Cox, 3dmaskave, level 1 (MICRO), type 2 (NEW_OPT)
    Add -sum option; rearrange -help output a little.

15 Jun 2011, RC Reynolds, gen_group_command.py, level 2 (MINOR), type 6 (ENHANCE)
    if constant dset names, extract SIDs from dir names

    Done for R Momenan.

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

10 Jun 2011, DR Glen, whereami, level 4 (SUPER), type 0 (GENERAL)
    Generic Atlas Support and new atlases

    Atlases, spaces and transformations are now defined in a NIML file,
    AFNI_atlas_spaces.niml. Transformations among spaces for coordinates
    are defined in that file for use by whereami and the whereami display
    in the AFNI GUI. The flexible naming of the spaces and atlases allows
    easy addition of new atlases to AFNI processing.
    Two new environment variables control what atlases and spaces are shown
    when no atlas is specified, AFNI_ATLAS_LIST and AFNI_TEMPLATE_SPACE_LIST
    The list of atlases now defaults to the TT_Daemon and the Eickhoff-
    Zilles atlases in MNI_ANAT space.
    
    Additionally, the cytoarchitectonic atlases from the Zilles, Eickhoff
    group have been updated to the most recent version, 1.8.
    ***The previous versions, 1.5, are not used in this release by default.
    Depending upon differences on how regions or codes are defined and used,
    it is possible that processing scripts and results may be affected.
    
    With this release, we also introduce three probabilistic atlases
    donated by the Desai group generated from a typical AFNI pipeline.
    These atlases contain a multitude of regions created using both
    @auto_tlrc and FreeSurfer.

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

08 Jun 2011, ZS Saad, afni-general, level 3 (MAJOR), type 2 (NEW_OPT)
    Added -npb and modified title bar to reflect bloc of ports

    You can have multiple instances of programs talking to each other.
    See afni's help for details on the -npb option.

08 Jun 2011, ZS Saad, @FSlabel2dset, level 2 (MINOR), type 1 (NEW_PROG)
    Script to change FreeSurfer ascii label file to SUMA dset

08 Jun 2011, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed print and added min_rest to durations in test of -tr_locked

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

07 Jun 2011, ZS Saad, afni-general, level 3 (MAJOR), type 2 (NEW_OPT)
    Allow multiple instances of communicating programs per machine.

    This was done by generalizing option -np PORT_OFFSET which 
    allows users to use a different set of ports for different AFNI/SUMA/etc.
    sessions.Port numbers should no longer be hard coded anywhere. New dedicat
    ed
    ports should be added to then new init_ports_list() function.

07 Jun 2011, ZS Saad, afni, level 2 (MINOR), type 2 (NEW_OPT)
    Added 'w' key for writing out colormap to disk.

    See suma's help for the colormap.
    (press ctrl+h with cursor over the colormap in the surface controller)

07 Jun 2011, ZS Saad, suma, level 1 (MICRO), type 2 (NEW_OPT)
    -np, -list_ports, -port_number* control and report port assignments

    See suma -help for details.

07 Jun 2011, ZS Saad, afni, level 1 (MICRO), type 2 (NEW_OPT)
    -list_ports, -port_number* give port assignment information

    See afni -help for details.

07 Jun 2011, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    modify number of points used for optimization

    Powell's NEWUOA algorithm requires specifying number of points kept at
    each stage for approximating the objective function.  Modification here
    is to change this number as the various steps of registration happen,
    using fewer points at the start and more at the final steps.  Speeds
    things up a little.

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

06 Jun 2011, RW Cox, powell_newuoa.c, level 1 (MICRO), type 0 (GENERAL)
    Remove 'static' and initialize all variables to 0.

    Makes tiny differences in 3dAllineate results.  Hmmm.

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

03 Jun 2011, RC Reynolds, Makefile, level 2 (MINOR), type 2 (NEW_OPT)
    removed -lpng from Makefile.macosx_10.6_Intel_64

    We added -lpng because we were compiling our own OpenMotif
    (configure option?), but fink's version does not need it.

03 Jun 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -volreg_compute_tsnr/-regress_compute_tsnr

    Volreg TSNR is no longer the default, but regress TSNR is.

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

02 Jun 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    compute TSNR datasets (added -compute_tsnr); added -regress_make_cbucket

02 Jun 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    de-meaned motion regressors is now the default

    - added -regress_apply_mot_types to specify motion types for regression
    - added -regress_no_motion_demean and -regress_no_motion_deriv
    - by default, demean and deriv motion parameters are created
    - by default, demean motion parameters are applied in the regression
      (replacing the original 'basic' parameters, which should have no
      change in betas of interest, just the constant polort betas)

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

31 May 2011, RW Cox, data loading, level 1 (MICRO), type 0 (GENERAL)
    Allow mmap for supra-2GB .BRIK files

    Change DBLK_mmapfix macro (3ddata.h) to work for larger files on 64-bit
    systems -- with sizeof(size_t) == 8.  Also print an informative message
    in thd_loaddblk.c when mmap-ing more than 1GB.

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

27 May 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    re-work of motion, as prep for more motion options

    - replaced -volreg_regress_per_run with -regress_motion_per_run
    - made uniq_list_as_dsets() a warning, not an error (for J Britton)

27 May 2011, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -split_into_pad_runs (for regress motion per run)

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

26 May 2011, RW Cox, thd_cliplevel, level 1 (MICRO), type 4 (BUG_FIX)
    Problem with overflow when image has tiny float values

    This affects a bunch of programs, including any program that has
    automasking.  In the computation of the cliplevel of a float dataset,
    the dataset is scaled to shorts for histogram-ization, and that scaling
    is computed as 10000/maxval -- but if maxval is very tiny (say 1e-35),
    then the scale factor is float overflow -- which doesn't work so well
    farther on.  The solution is to compute the scale factor in double
    precision.  Or to have less silly users.

26 May 2011, RW Cox, mri_read, level 1 (MICRO), type 5 (MODIFY)
    Add warning message for ANALYZE scale factors too big or too small

26 May 2011, RW Cox, All, level 1 (MICRO), type 0 (GENERAL)
    new AFNI version as of today

    Just because -- it's been 7 months.

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

25 May 2011, RW Cox, 3dDeconvolve, level 2 (MINOR), type 4 (BUG_FIX)
    Fix problem with TENT and CSPLIN

    For non-integer TR, could miss evaluating the last function in a TENT or
    CSPLIN series because of roundoff error pushing the evaluation time
    slightly past the 'top' value.  This is bad if the function is 1 at
    exactly this value, as the last functions are here.  Solution was to
    change the test to allow evaluation at values slightly larger than
    'top'.

25 May 2011, RW Cox, thd_zzprintf, level 1 (MICRO), type 4 (BUG_FIX)
    Patched to avoid string overruns for crazy users

25 May 2011, RW Cox, @1dDiffMag, level 1 (MICRO), type 1 (NEW_PROG)
    Computes magnitude of 1st differences of 1D file

25 May 2011, RW Cox, 3dTstat, level 1 (MICRO), type 2 (NEW_OPT)
    Add -tdiff option == statistics on first differences of data

25 May 2011, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -global_to_local and -local_to_global for G Chen

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

24 May 2011, RW Cox, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    Add -noline and -box options

    To plot markers at each point, without or with lines connecting them.

24 May 2011, RC Reynolds, 1dplot, level 2 (MINOR), type 4 (BUG_FIX)
    fixed plotting of varying length time series

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

20 May 2011, RW Cox, 1dCorrelate, level 2 (MINOR), type 2 (NEW_OPT)
    Add normal theory CI for Pearson; Add -block option

    Pearson correlation (the default) now gets the normal theory confidence
    interval printed at no extra charge.
    To allow for serial correlation, the -block option enables random length
    block resampling bootstrap.
    Add some more help text to explicate things a little better.

20 May 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 5 (MODIFY)
    execute via /usr/bin/env python

    Help now suggests fink as primary Mac source for PyQt4.

20 May 2011, RC Reynolds, uber_align_test.py, level 2 (MINOR), type 5 (MODIFY)
    execute via /usr/bin/env python

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

19 May 2011, ZS Saad, @RetinoProc, level 2 (MINOR), type 2 (NEW_OPT)
    Added support for multiple reference time series.

    Search for -var* options in @RetinoProc -help.

19 May 2011, ZS Saad, 3dRetinoPhase, level 2 (MINOR), type 2 (NEW_OPT)
    Added option to use best of multiple reference time series.

    Search for -multi_ref_ts in 3dRetinoPhase -help

19 May 2011, RW Cox, 1dCorrelate, level 2 (MINOR), type 1 (NEW_PROG)
    Compute correlation coefficients of 1D columns

    Pearson, Spearman, Quadrant, or Kendall tau_b.
    Main goal is to provide the bias-corrected bootstrap estimate of the 95%
    confidence interval.

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

18 May 2011, ZS Saad, @RetinoProc, level 3 (MAJOR), type 2 (NEW_OPT)
    Added options for mapping to specific layers, and the use of delay

    The options -wm, -pial, etc. allow for tight control of mapping
    onto specific layers in the cortex.
    Option -delay improves latency estimation compare to using the phase
    of the fundamental frequency.

18 May 2011, ZS Saad, 3dRetinoPhase, level 3 (MAJOR), type 2 (NEW_OPT)
    Added options to 3dRetinoPhase to estimate latency as in 3ddelay 

    The two options for computing delays, instead of phase, are 
    -phase_estimate DELAY, and -ref_ts REF_TS . See program's -help for 
    details.
    Also added -ort_adjust which is needed to account for lost DOF in 
    external detrending when estimating the significance of correlation 
    coefficients with delay estimation.
    The program now output a correlation coefficient with the visual field
    angles datasets. 
    And speaking of correlation coefficients, the significance levels should
    be taken with a grain of salt, especially in derived datasets such as 
    field angle, and VFR in SurfRetinoMap.

18 May 2011, ZS Saad, SurfRetinoMap, level 2 (MINOR), type 5 (MODIFY)
    Added a correlation coefficient with VFR output. 

18 May 2011, ZS Saad, 3ddelay, level 2 (MINOR), type 2 (NEW_OPT)
    Added options to 3ddelay to improve its utility for retinotopy analysis

    The new options are -phzreverse and -phzscale. Though useful, you are
    better off using 3dRetinoPhase -phase_estimate DELAY option. It is much
    more convenient for retinotopy analysis and fits better in @RetinoProc

18 May 2011, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Node value now updates when switching dsets while viewing surf patches.

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

16 May 2011, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Make 'Points' display in grapher get bigger with thicker lines

    Otherwise, thick lines hide the points.  Done via XFillArc function.

16 May 2011, RC Reynolds, uber_align_test.py, level 2 (MINOR), type 6 (ENHANCE)
    could be used as a release version

     - added 'check center dist' button, to display the current distance
     - added menu item to show afni command for viewing results
     - added menu items to show python and shell command windows
     - added much more help, including main and section buttons
     - added browsing of align_epi_anat.py help

16 May 2011, RC Reynolds, afni_util.py, level 1 (MICRO), type 6 (ENHANCE)
    added exec_tcsh_command function

16 May 2011, RC Reynolds, @Center_Distance, level 1 (MICRO), type 6 (ENHANCE)
    return something to $status, so we can detect success or failure

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

13 May 2011, RC Reynolds, uber_align_test.py, level 2 (MINOR), type 6 (ENHANCE)
    added working GUI (for options, GUI help still needs ... help)

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

12 May 2011, RC Reynolds, uber_skel.py, level 3 (MAJOR), type 1 (NEW_PROG)
    A working skeleton for future uber programs.

    This is based on uber_align_test.py, version 0.2.

12 May 2011, RC Reynolds, uber_align_test.py, level 2 (MINOR), type 6 (ENHANCE)
    many small updates

    This set of 3 files was broken off set uber_skel.py, meant to be a
    reasonable starting point for future uber programs.

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

11 May 2011, RC Reynolds, uber_align_test.py, level 3 (MAJOR), type 6 (ENHANCE)
    added basic graphical interface, still need to add variable fields

    o  also made single cost_list
    o  also added -help_howto_program, which might move to a skeleton program

11 May 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    small help/todo update

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

09 May 2011, RC Reynolds, to3d, level 1 (MICRO), type 6 (ENHANCE)
    applied formal parsing for CSA Image Header Info for Siemens slice timing

    Process field (0x0029 1010) as little-endian CSA1 or 2 header, tags
    and items.  Get slice times from MosaicRefAcqTimes item.
    Thanks to I Souheil for finding NiBabel CSA format description.

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

04 May 2011, RC Reynolds, to3d, level 1 (MICRO), type 4 (BUG_FIX)
    fixed case of simult tpattern (so time_dep, but ui.tpattern is not set)

    Problem noted by J Ostuni.

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

02 May 2011, RC Reynolds, Dimon, level 2 (MINOR), type 4 (BUG_FIX)
    added nul-termination and a.b[.d]+ rules for checking Siemens slice times

    Problem noted by D Kravitz and S Lee.

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

29 Apr 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    check that processing blocks are unique

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

28 Apr 2011, RC Reynolds, uber_align_test.py, level 3 (MAJOR), type 1 (NEW_PROG)
    for testing EPI/anat alignment with various align_epi_anat.py options

    This is a command-line version, with a GUI to come soon.

28 Apr 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 2 (NEW_OPT)
    reconcile LUS.py with LS.py in prep for uber_align_test.py

28 Apr 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -align_epi_strip_method

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

27 Apr 2011, RW Cox, 3dClustSim, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed nx!=ny error in NN2 and NN3 clusterization

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

25 Apr 2011, ZS Saad, afni-general, level 3 (MAJOR), type 5 (MODIFY)
    Major reorganization of 'whereami' functionality.

    The code changes affect anything related to atlas datasets and whereami
    functionality. The changes were made take advantage of Daniel Glen's new
    API to handle atlas, space, and template definitions.
    There is now very little reliance on hard coded atlas information in the
    source code. Whatever is left is needed to ensure backward compatibility.

25 Apr 2011, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    have Dimon send 'TPATTERN explicit' with slice timing to RT plugin

25 Apr 2011, RC Reynolds, Imon, level 2 (MINOR), type 5 (MODIFY)
    Imon is getting phased out of the distribution (see 'Dimon -use_imon')

    Requires compiling alterations to be put back in (if anyone wants it).

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

24 Apr 2011, RC Reynolds, @Align_Centers, level 2 (MINOR), type 6 (ENHANCE)
    allow -base dset to be in PATH, AFNI_PLUGINPATH, etc.

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

22 Apr 2011, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    if manual tlrc and -volreg_tlrc_adwarp, also transform extents mask

    Noted by J Britton.
    Also, if -regress_reml_exec, insert 3dClustSim table in stats_REML.
    Noted by R Momenan.

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

20 Apr 2011, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Boxed graphs: displace upwards by 9 pixels

    So that smallest graph box doesn't have zero height, which looks goofy.
    Also, change 'current time point' indicator to be a little bigger.

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

19 Apr 2011, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Let user select grid spacing=1 from menu

    Helpful for Boxes graphs

19 Apr 2011, RW Cox, afni, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_GRAPH_FONT lets user choose font for graph viewer text

    9x15bold looks solid on a 100dpi screen, for example.

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

18 Apr 2011, RW Cox, afni_graph, level 1 (MICRO), type 0 (GENERAL)
    Box graphs get sub-brick labels

    If matrix=1 and user sets AFNI_GRAPH_BOXLAB to 'ATOP', 'MAX', or 'ZERO'.
    For Shane.

18 Apr 2011, RW Cox, afni, level 1 (MICRO), type 3 (NEW_ENV)
    Add AFNI_GRAPH_CX2R to allow for graphing complex time series

18 Apr 2011, RW Cox, 3dDFT, level 1 (MICRO), type 0 (GENERAL)
    Small changes to help; -inverse option

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

15 Apr 2011, RC Reynolds, dicom_hdr, level 2 (MINOR), type 2 (NEW_OPT)
    added -slice_times and -slice_times_verb, to show siemens slice timing

15 Apr 2011, RC Reynolds, Dimon, level 2 (MINOR), type 6 (ENHANCE)
    added FROM_IMAGE as default Siemens slice pattern in to3d command

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

14 Apr 2011, RC Reynolds, thd_atlas.c, level 1 (MICRO), type 4 (BUG_FIX)
    for solaris, apply #def strcasestr strstr

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

13 Apr 2011, RC Reynolds, to3d, level 2 (MINOR), type 2 (NEW_OPT)
    added FROM_IMAGE timing pattern (for Siemens mosaic images)

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

11 Apr 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed lost warnings for no sid/gid

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

08 Apr 2011, ZS Saad, 3dLocalstat, level 2 (MINOR), type 2 (NEW_OPT)
    Added options -reduce* to compute results on reduced grid

    This would help in speeding up the computing of stats over large regions
    without paying too high a premium on processor time. 
    Changes were made in 3dLocalstat.c and mri_nstats.c. 
    Micro modification in r_new_resam.c's r_new_resam_dset.

08 Apr 2011, RC Reynolds, Makefile, level 1 (MICRO), type 5 (MODIFY)
    removed -lf2c from Makefile.INCLUDE, added to LLIBS in Makefile.*

    Also removed redundant -lmri from many Makefiles and Makefile.INCLUDE.

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

07 Apr 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 5 (MODIFY)
    backports for Ubuntu 9

    requested by J Bodurka

07 Apr 2011, DR Glen, whereami, level 3 (MAJOR), type 3 (NEW_ENV)
    Framework changes for generic atlases

    Atlases now can have segmentation in a NIML structure attribute
    in the atlas dataset header. The environment variable,
    AFNI_CUSTOM_ATLAS, can contain a custom atlas prefix. Details on
    NIML attributes will be forthcoming. In the meantime, existing
    atlases should work as before with the minor exception of mask
    datasets are now set to have voxel values of 1 rather than
    the values from the atlas dataset.

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

06 Apr 2011, RW Cox, 3dTfitter, level 1 (MICRO), type 5 (MODIFY)
    Minor patches to the LASSO stuff, plus expand the help output.

    LASSO-ing during deconvolution now un-penalizes all baseline (-LHS)
    parameters.

06 Apr 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 5 (MODIFY)
    make table size depend on font

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

05 Apr 2011, RC Reynolds, howto, level 2 (MINOR), type 6 (ENHANCE)
    updated the class setup and basic Linux instructions for PyQt4

05 Apr 2011, RC Reynolds, python_module_test.py, level 1 (MICRO), type 2 (NEW_OPT)
    added PyQt4 to test list

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

29 Mar 2011, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bug in default view of flat surfaces.

    The problem manifested itself when large rotations were present
    in the transform of the sv volume, resulting in flat meshes
    being incorrectly labeled as spherical.

29 Mar 2011, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Basic support for HTTP/1.1

    See functions read_URL_http11, and page_* in thd_http.c.

29 Mar 2011, ZS Saad, ConvexHull, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed error with proj_xy option.

29 Mar 2011, RW Cox, 3dClustSim, level 1 (MICRO), type 2 (NEW_OPT)
    Add -OKsmallmask option

    To let deranged users take their statistical fortunes into their own
    hands.

29 Mar 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    changed subject directory to group.GROUP/subj.SUBJ

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

24 Mar 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    added align and tlrc option boxes, adjusted spacing

24 Mar 2011, DR Glen, whereami, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bug for case of MNI_ANAT space as not processed

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

23 Mar 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    moved gltsym box to below stim, save AP output, small mac install update

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

22 Mar 2011, ZS Saad, 3dhistog, level 2 (MINOR), type 2 (NEW_OPT)
    -roi_mask allows creation of separate histogram for each ROI in mask.

22 Mar 2011, ZS Saad, afni-general, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_NIFTI_TYPE_WARN controls frequency of NIFTI type conversion warnings

    Default is to warn once per session. 
    Search for AFNI_NIFTI_TYPE_WARN in README.environment for details.

22 Mar 2011, RW Cox, 3dAllineate, level 2 (MINOR), type 4 (BUG_FIX)
    nwarp_pass != nwarp_type :-(

    Causing bug in application of nonlinear warps from external files.

22 Mar 2011, RW Cox, 3dTfitter, level 1 (MICRO), type 2 (NEW_OPT)
    Add -l2sqrtlasso option

    Yet another solution method, this time with SQRT(LASSO) penalty.

22 Mar 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    processing status, clear options/fields menu items, etc...

22 Mar 2011, RC Reynolds, to3d, level 2 (MINOR), type 4 (BUG_FIX)
    mri_read_dicom: if there is no vrCode, skip explicitVR

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

21 Mar 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    many updates, including extra regress options box

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

20 Mar 2011, RC Reynolds, uber_subject.py, level 3 (MAJOR), type 6 (ENHANCE)
    handle symbolic GLTs, etc.

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

19 Mar 2011, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bug for case master_dset2_dxyz was accidentally ignored

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

17 Mar 2011, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    modify mri_read() to fully read datasets as images (not just #0)

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

15 Mar 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    added -regress_make_ideal_sum, subject variables, GUI text changes

15 Mar 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    changed uncensored Xmat to X.nocensor.1D

15 Mar 2011, DR Glen, lpc_align.py, level 1 (MICRO), type 0 (GENERAL)
    lpc_align.py is superseded by align_epi_anat.py

    Program now exits with short message to use align_epi_anat.py

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

14 Mar 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    a handful of minor updates

14 Mar 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    if no mask but extents, apply in scale step

14 Mar 2011, DR Glen, afni GUI, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bugs when switching between ROI and continuous overlay datasets

    Colorscale (scale, range) is restored with continuous overlay dataset.
    Need to set AFNI_INT_CMAP or AFNI_INT_PBAR to use.

14 Mar 2011, DR Glen, Draw Dataset Plugin, level 2 (MINOR), type 5 (MODIFY)
    Update Draw Dataset for clarity and ROI labels

    Draw Dataset is clearer with regards to overlay/underlay drawing
    instead of the older func/anat terminology. Also an ROI color scale
    is used for drawing and labels are updated in the AFNI Overlay GUI
    immediately. Need to set AFNI_INT_CMAP or AFNI_INT_PBAR to use.

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

11 Mar 2011, RW Cox, 3dTfitter, level 1 (MICRO), type 2 (NEW_OPT)
    Add L2+LASSO regression option

    Mostly for experimentation at this moment in time.

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

09 Mar 2011, RW Cox, 3dTcat, level 1 (MICRO), type 5 (MODIFY)
    2 small changes

    (1) Bug fix -- change output type from FIM to FBUC -- to allow sub-brick
    statistics codes to properly used.
    (2) Add sub-bricks selector preservation to wildcard expansion
    (mcw_glob.c) and then add this internal globbing to 3dTcat.c

09 Mar 2011, RC Reynolds, uber_subject.py, level 1 (MICRO), type 6 (ENHANCE)
    updates to uber_subject.py, how could I possibly remember what they are...

09 Mar 2011, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed bug writing comment text in 3dD script

    Problem noted by Z Saad and P Kaskan.

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

08 Mar 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    uber_subject.py command menu item, ...

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

07 Mar 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    updates: command and pycommand windows, new Process classes, ...

07 Mar 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    make proc script executable

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

04 Mar 2011, RW Cox, 3dttest++, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bug with 1-sample results in -paired run

    Forgot to turn off the 'paired' opcode for the 1-sample (no covariates)
    analyses, so results were all zero!

04 Mar 2011, RW Cox, afni Clusterize, level 1 (MICRO), type 5 (MODIFY)
    Replace S:mean correlation confidence intervals

    From simple bootstrap to bias-corrected (BC, not BCa) bootstrap.

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

03 Mar 2011, RW Cox, mri_nstats.c, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug in correl_xxx functions

    Didn't allow nort == 0, which is a mistake; the real constraint is
    nfit+nort >= 1.  Fixed for Yisheng Xu of NIDCD.

03 Mar 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    updates: control vars, subj dir, view actions, result vars, ...

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

02 Mar 2011, RW Cox, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Clusterize: attempt to fix Flash bug

    If 2 controllers are open (and crosshairs are locked together), then
    Clusterize Flash doesn't work right.  This problem is rooted in an
    interaction of the way the clusterized dataset is stored and the way the
    locks are carried out.  This change is an attempt to fix this -- let me
    know if it introduces problems -- the code for these things is
    complicated and hard to figure out (and I wrote it!).
    
    I know that there is a clusterize display bug with 2 controllers open to
    the same overlay -- that is, the clusterized overlay may suddenly become
    un-clusterized and then go back to the clusterized state.  This is also
    related to the above interaction, but I don't see how to avoid this
    without a major restructuring of the clusterization mechanics in AFNI,
    and I just don't think this issue is worth the effort.

02 Mar 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 6 (ENHANCE)
    many updates, including write and exec of proc script

    There is still much to do before first release version.

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

01 Mar 2011, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add correlation and its 5%..95%  interval to Clusterize S:mean

    Via new bootstrapping THD_pearson_boot() function in thd_correlate.c

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

28 Feb 2011, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Clusterize: add scatterplot ('S:') options

    For Rasmus

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

25 Feb 2011, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    add sub-brick label to graph window subtext

25 Feb 2011, RW Cox, 3dTcorrMap, level 1 (MICRO), type 5 (MODIFY)
    Changes to -CorrMap output

    1) Make output dataset 3D+time rather than a bucket
    2) Add -CorrMask option to eliminate all-zero sub-bricks from output
    Per the request of Jonathan O'Muircheartaigh

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

23 Feb 2011, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Adjust default grayscale values (ncol and gamma)

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

22 Feb 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 5 (MODIFY)
    added interfaces for 'expected' option

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

18 Feb 2011, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Whatever you do, don't press F5 in an image or graph viewer!

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

17 Feb 2011, RC Reynolds, 3dROIstats, level 1 (MICRO), type 5 (MODIFY)
    make unknown option error more clear

17 Feb 2011, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 5 (MODIFY)
    make -CENSORTR run: warning more clear

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

16 Feb 2011, RW Cox, 3dTcorrMap, level 1 (MICRO), type 0 (GENERAL)
    Minor change to increase speed by 5% or so, with OpenMP.

16 Feb 2011, RC Reynolds, uber_subject.py, level 2 (MINOR), type 5 (MODIFY)
    epi or stim list from command line can init order/labels; file reorg

    Also, initiated regression testing tree.

16 Feb 2011, RC Reynolds, howto, level 2 (MINOR), type 5 (MODIFY)
    updated the main page and basic Linux instructions

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

15 Feb 2011, RC Reynolds, uber_subject.py, level 4 (SUPER), type 1 (NEW_PROG)
    added CLI (command-line interface), generates basic afni_proc.py script

    Many enhancements yet to come.

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

14 Feb 2011, RW Cox, 3dUndump, level 1 (MICRO), type 4 (BUG_FIX)
    Fix comma -> blank conversion

    Also make semicolons and colons into blanks.
    Skip any line starting with an alphabetic character.

14 Feb 2011, RC Reynolds, uber_proc.py, level 2 (MINOR), type 0 (GENERAL)
    moved uber program into main repository

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

12 Feb 2011, RC Reynolds, afni_util.py, level 2 (MINOR), type 6 (ENHANCE)
    updates for uber_subject.py

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

11 Feb 2011, RC Reynolds, lib_subjects.py, level 1 (MICRO), type 6 (ENHANCE)
    more updates for uber_subject.py

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

08 Feb 2011, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 3 (NEW_ENV)
    Add AFNI_INSTACORR_XYZ_LPI environment variable

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

07 Feb 2011, RW Cox, 3dGroupInCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Added -batch mode of operation

    To appease the Lebanese and Italian masses.

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

01 Feb 2011, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    Adjust ceil and floor functions slightly

    myceil(x)  =  ceil( x - 0.000005 )
    myfloor(x) = floor( x + 0.000005 )
    
    The changes are in order to avoid very close situations from roundoff
    error -- that is, don't want 6.0000001 being ceil-inged up to 7, or
    5.9999999 being floor-ed down to 5.

01 Feb 2011, RC Reynolds, afni_util.py, level 2 (MINOR), type 6 (ENHANCE)
    updates for parsing a stim file list

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

31 Jan 2011, RC Reynolds, afni_util.py, level 1 (MICRO), type 6 (ENHANCE)
    updates for uber_subj.py

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

28 Jan 2011, RW Cox, plug_aslA3D3, level 1 (MICRO), type 0 (GENERAL)
    Remove CR (ctrl-M) characters from source code

    For reasons known only to Satan, the Sun C compiler doesn't like
    multiline macros with a CR character at the end of the line (after the
    backslash).

28 Jan 2011, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Make descendants for read-in sessions

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

27 Jan 2011, ZS Saad, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed problem in THD_add_bricks when dset in AFNI is not malloc-ed.

27 Jan 2011, RW Cox, 3dGroupInCorr, level 2 (MINOR), type 2 (NEW_OPT)
    Add -sendall option, to palliate the Texan hordes.

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

26 Jan 2011, ZS Saad, afni, level 1 (MICRO), type 5 (MODIFY)
    Made THD_add_bricks add labels to new bricks 

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

25 Jan 2011, ZS Saad, suma, level 1 (MICRO), type 5 (MODIFY)
    Improved logic for assigning ROI parent.

25 Jan 2011, RC Reynolds, lib_subjects.py, level 1 (MICRO), type 6 (ENHANCE)
    updates to the VarsObject class

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

24 Jan 2011, RW Cox, afni_setup.c, level 1 (MICRO), type 4 (BUG_FIX)
    Re-definition of pre-defined colors

    Before this fix, when a user re-defined a pre-defined color in a
    ***COLORS section, this would go into a new entry for later setup in
    MCW_new_DC.  But later, the duplicate labels (e.g., 'yellow') would
    cause only 1 entry to actually be created -- which would screw up the
    indexing of later new colors that were actually created de novo.  This
    was fixed by re-defining the reused color entries immediately.

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

21 Jan 2011, RW Cox, afni, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_ENVIRON_RESET allows .afnirc to re-set existing variables

    Per the suggestion of Alex Waite of MCW.

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

20 Jan 2011, RW Cox, 3dClustSim, level 2 (MINOR), type 4 (BUG_FIX)
    Small ROI masks could give weird and wrong results

    Problem was when a desired alpha level (say 0.10) simply couldn't be
    found -- e.g., only 6% of simulations had ANY above-threshold voxels in
    the mask.  Bad-ositiness ensued since the program didn't check for this
    case.  Now it checks, uses N=1 as the result in such cases, and
    stderr-ifies a warning message also.
    
    The problem with developing software is users.  If we didn't have them,
    life would be much easier.

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

19 Jan 2011, RW Cox, 3dClustSim, level 1 (MICRO), type 5 (MODIFY)
    -niml now implies -NN 123 as well

    Plus explain in the help output that afni_proc.py will automatically do
    the ClustSim-ization of statistics datasets for you.

19 Jan 2011, RC Reynolds, lib_subjects.py, level 2 (MINOR), type 6 (ENHANCE)
    many updates to the VarsObject class

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

18 Jan 2011, RW Cox, 3dClustSim, level 1 (MICRO), type 4 (BUG_FIX)
    Fix NN buglets identified by Nick Oosterhof.

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

13 Jan 2011, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added -gert_write_as_nifti and -gert_create_dataset

    requested by V Roopchansingh

13 Jan 2011, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    small changes to warnings for missing stimulus files

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

10 Jan 2011, RC Reynolds, 3dttest, level 1 (MICRO), type 0 (GENERAL)
    fail with error message when -set2 is not the final option

    It had already been assumed to be the final option.

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

07 Jan 2011, RC Reynolds, rickr/Makefile, level 1 (MICRO), type 4 (BUG_FIX)
    Dimon: forgot to reconcile use of expat (with LGIFTI)

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

06 Jan 2011, RW Cox, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Fix crash when using '-img' with dataset files (.HEAD or .nii)

    Problem was mri_imcount didn't give a correct count, but mri_read_file
    did.  Easily patched up in time for tiffin.  And we take tiffin mighty
    durn early in these parts, buckaroo.

06 Jan 2011, RW Cox, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    Fix problem with auto-catenation of datasets with length 1

    Bug is that each dataset is a separate run, so you have lots of baseline
    models!  Patch is to find shortest length of the component datasets --
    if this is 1, then treat them as one big happy run.  Also, the new
    -noblock option will do the same regardless of the structure of the
    inputs.

06 Jan 2011, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    ComputeObliquity() mosaic shift should be dcK*(nK-1)/2 in each direction

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

04 Jan 2011, ZS Saad, SurfSmooth, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed SurfSmooth to work with the combination HEAT07+Sparse Dsets+cmask 

    The problem was caused by a bad masking operation at the detrending
    function when sparse datasets with cmask option are used. The detrending
    is used to estimate the FWHM in the blurmaster. As a result, SurfSmooth 
    would not converge under such circumstances.
    In addition there was an optimizer related bug in the macro SUMA_COL_FILL
    Thanks to Christopher Ackerman from JHMI for reporting the bug.

04 Jan 2011, ZS Saad, SurfFWHM, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed SurfFWHM which had the same masking problem as SurfSmooth.

04 Jan 2011, RC Reynolds, Dimon, level 3 (MAJOR), type 6 (ENHANCE)
    version 3.0 : handle Siemens Mosaic formatted files

    - depend on libmri, return MRI_IMARR from mri_read_dicom, changes
      for oblique and mosaic processing
    - mri_read_dicom.c: g_info (process control), g_image_info (Dimon)
      replaced DEBUG_ON/debugprint with g_info.verb, many small changes
    - mri_dicom_elist.h: merged with dimon_afni.h
    - mcw_glob.[ch]: control sort direction via rglob_set_sort_dir()

04 Jan 2011, RC Reynolds, afni, level 1 (MICRO), type 0 (GENERAL)
    do not open default windows in case of real-time

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

03 Jan 2011, ZS Saad, 3dUniformize, level 2 (MINOR), type 2 (NEW_OPT)
    Changed 3dUniformize to accept byte, short, or float input.

    These changes also avoid data clipping that was necessary
    when output data was handled as shorts.
    The output format is similar to that of the input.
    -auto_clip is now the default.

03 Jan 2011, ZS Saad, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    Modified decode_*linebuf to better treat the 'i' character in 1D files

03 Jan 2011, RW Cox, 3dNwarpApply, level 1 (MICRO), type 0 (GENERAL)
    change name from 3dApplyNwarp

    Will be the first in a series of 3dNwarp* programs.

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

30 Dec 2010, RW Cox, 3dApplyNwarp, level 2 (MINOR), type 1 (NEW_PROG)
    Applies -nwarp_save output from 3dAllineate

    Lets you apply a 3D nonlinear deformation to another file.  Works OK,
    but changes will come.

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

27 Dec 2010, RW Cox, plugout_drive, level 1 (MICRO), type 2 (NEW_OPT)
    -maxwait option limits amount of time waiting for AFNI

    Instead of old fixed value of 9 s.
    Also, if program can't connect to AFNI at all, exit status will be 1. 
    This feature can be used in a script to check if AFNI is running with
    plugouts enabled, and if not, then start a copy.

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

23 Dec 2010, RW Cox, 3dPolyfit, level 2 (MINOR), type 1 (NEW_PROG)
    Fits a polynomial (spatially) to a dataset

23 Dec 2010, RC Reynolds, to3d, level 2 (MINOR), type 2 (NEW_OPT)
    added -use_old_mosaic_code

    This is phase 1 of dealing with Siemens mosaic format in Dimon.
    Siemens mosaic functions we moved to new mri_process_siemens.c,
    with the ability to use the old code preserved with this option.

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

21 Dec 2010, ZS Saad, @help.AFNI, level 2 (MINOR), type 1 (NEW_PROG)
    A simple script to look at AFNI's all help page

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

16 Dec 2010, RW Cox, mri_read, level 1 (MICRO), type 0 (GENERAL)
    Modify ragged read to allow for empty vectors

    That is, a string like '**8' means '8 filler values'.  This is for the
    case where someone needs to provide a -stim_times_AM2 file with all '*'
    times (and with -allzero_OK), but with no actual stimulus times.

16 Dec 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    updates to file type (looks like) errors and warnings

16 Dec 2010, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    updates to file type (looks like) errors and warnings

16 Dec 2010, RC Reynolds, @ANATICOR, level 1 (MICRO), type 0 (GENERAL)
    HJ change: small updates to the help

    changes were submitted for Hang Joon Jo

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

15 Dec 2010, RC Reynolds, timing_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    use lib_textdata.py for reading timing files, allow empty file

    empty file update for C Deveney

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

14 Dec 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed problem with timing file tests on 'empty' files with '*'

    problem noted by C Deveney and R Momenan

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

13 Dec 2010, RW Cox, many, level 1 (MICRO), type 3 (NEW_ENV)
    Add AFNI_ECHO_COMMANDLINE environment variable

    Runs inside afni_logger, for Daniel Handwerker

13 Dec 2010, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Add hexahedron volume warp to output of 3D warp displacements

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

10 Dec 2010, ZS Saad, 3BrickStat, level 2 (MINOR), type 2 (NEW_OPT)
    Added -mrange and -mvalue options to 3dBrickStat

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

09 Dec 2010, ZS Saad, 3dhistog, level 2 (MINOR), type 2 (NEW_OPT)
    Made 3dhistog output NIML 1D format with -prefix option

    With -prefix's output users can get properly labeled 
    output with a simple command like 1dRplot -input hist.1D

09 Dec 2010, RW Cox, @2dwarper.Allin, level 1 (MICRO), type 0 (GENERAL)
    Added saved of warping parameters (slice-wise) to 1D files

    Modified 3dAllineate to give meaningful-ish symbolic names to polynomial
    warp parameters.  Modified 1dcat to use and preserve these with the
    -nonfixed option.

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

08 Dec 2010, RW Cox, 3dXYZcat, level 2 (MINOR), type 1 (NEW_PROG)
    Generalized 3dZcat.

    No generalized 3dZcutup yet, though.

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

07 Dec 2010, RW Cox, @2dwarper, level 1 (MICRO), type 0 (GENERAL)
    Various mods for David Leopold

    (a) Modify to allow general (non-axial) orientation of slices
    (b) new script @2dwarper.Allin that uses polynomial warping via
    3dAllineate to try and do a better job
    (c) modify 3drefit to allow -TR option to take a dataset name to provide
    the new TR (rather than require a numeric value on the command line)

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

06 Dec 2010, RW Cox, @2dwarper, level 2 (MINOR), type 0 (GENERAL)
    Modify script to deal with non-axial slices

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

02 Dec 2010, ZS Saad, afni, level 1 (MICRO), type 5 (MODIFY)
    Made afni startup with two windows when no layout is present

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

30 Nov 2010, RC Reynolds, afni_history, level 2 (MINOR), type 2 (NEW_OPT)
    added option -final_sort_by_prog

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

24 Nov 2010, ZS Saad, 3dTcat, level 1 (MICRO), type 4 (BUG_FIX)
    3dTcat was forcing sub-brick selection at times

    Say each of dset1 and dset2 has 10 subbricks. 
    A command like this:
     3dTcat dset1+orig[0..8] dset2+orig 
    used to produce a dataset that is 18 sub-bricks, not
    19. That is because the [0..8] selection was applied
    to dset1 and all subsequent dsets on the command that
    did not explicitly have selectors in their name.

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

22 Nov 2010, ZS Saad, 3dRowFillin, level 2 (MINOR), type 2 (NEW_OPT)
    Added XYZ.OR, and XYZ.AND to 3dRowFillin

22 Nov 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    small improvements to line wrapping

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

19 Nov 2010, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    add -write_all_rest_times, moved write_to_timing_file to afni_util.py

    option added for J Poore

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

18 Nov 2010, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Add 9th order (nonic) polynomial warp.

    And fixed a couple of annoying bugs in the other polynomial warp codes:
    * Memory overrun because MAXPAR was exceeded.
    * Indexing error because I used kk++ instead of ++kk.

18 Nov 2010, RC Reynolds, make_stim_times.py, level 1 (MICRO), type 4 (BUG_FIX)
    fix for '*' in max 1 stim per run case

18 Nov 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed stim_files to stim_times conversion after multi_basis change

    problem noted by M Weber

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

17 Nov 2010, RW Cox, many programs, level 1 (MICRO), type 4 (BUG_FIX)
    Move AFNI_OMP_START / _END macros outside of OpenMP sections

    Otherwise tracing control on/off doesn't work - D'oh!

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

16 Nov 2010, ZS Saad, ExamineXmat, level 2 (MINOR), type 2 (NEW_OPT)
    A major rewrite of ExamineXmat

    see ExamineXmat -help for details

16 Nov 2010, RW Cox, 3dAllineate, level 1 (MICRO), type 2 (NEW_OPT)
    Add cubic, quintic, and heptic polynomial warps.

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

10 Nov 2010, RW Cox, 3dttest++, level 2 (MINOR), type 2 (NEW_OPT)
    Add -rankize and -no1sam options

10 Nov 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    added new NOTE sections for ANAT/EPI ALIGNMENT to -help output

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

08 Nov 2010, RW Cox, 3dttest++, level 1 (MICRO), type 0 (GENERAL)
    Allow -zskip option to take a fraction (or %-age).

    Per the request of the esteemed and estimable Rick Reynolds.

08 Nov 2010, RC Reynolds, gen_group_command.py, level 3 (MAJOR), type 2 (NEW_OPT)
    can now generate 3dttest++ commands

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

05 Nov 2010, ZS Saad, 3dkmeans, level 3 (MAJOR), type 1 (NEW_PROG)
    3dkmeans is a program for performing kmeans clustering

    Program was written by A. Vovk and Z. Saad, based on 
      The C clustering library.
    Copyright (C) 2002 Michiel Jan Laurens de Hoon.
    See suma -sources for copyright details
    
    See 3dkmeans -help for usage details.

05 Nov 2010, ZS Saad, niccc, level 2 (MINOR), type 2 (NEW_OPT)
    Added -attribute, -match, and -f options to niccc

    See niccc -help for details.

05 Nov 2010, RW Cox, 3dttest++, level 2 (MINOR), type 2 (NEW_OPT)
    New -BminusA option

    This is Ziad's fault (again).

05 Nov 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Make colorscale switching go to AFNI_COLORSCALE_DEFAULT

    Rather than Ziad's pitiful fixed choice that screws up the user's setup
    for no good reason at all.

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

04 Nov 2010, RW Cox, afni, level 1 (MICRO), type 3 (NEW_ENV)
    Re-invoked AFNI_PBAR_AUTO / AFNI_CMAP_AUTO

    Which Ziad had commented out for reasons he won't explain.

04 Nov 2010, RW Cox, afni, level 1 (MICRO), type 3 (NEW_ENV)
    Add AFNI_THRESH_TOP_EXPON to allow larger range of thresholds.

    For Phil Kohn.

04 Nov 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added regress_basis_multi, -regress_no_ideal_sum

    One can specify either one basis function or one per stim_times file.

04 Nov 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    use X.uncensored.xmat.1D instead of X.full_length.xmat.1D

04 Nov 2010, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed print problem in -show_indices

    Problem noted by Mingbo Cai.

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

02 Nov 2010, RC Reynolds, 3dTstat, level 2 (MINOR), type 6 (ENHANCE)
    allow single volume input for functions mean, max, min, sum

    Other functions can be added to this list as needed.

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

01 Nov 2010, ZS Saad, 3dBrickStat, level 2 (MINOR), type 4 (BUG_FIX)
    3dBrickStat's percentile option did not work with byte datasets

01 Nov 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Remove the large notice about 'Define Markers' being gone

01 Nov 2010, RW Cox, 3dTstat, level 1 (MICRO), type 2 (NEW_OPT)
    Add -centromean statistic to the mix

01 Nov 2010, RW Cox, 3dClipLevel, level 1 (MICRO), type 2 (NEW_OPT)
    Add -doall option

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

29 Oct 2010, ZS Saad, @ElectroGrid, level 2 (MINOR), type 1 (NEW_PROG)
    A script for facilitating ECOG grid creation

29 Oct 2010, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_indices_baseline, _motion and _interest

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

28 Oct 2010, ZS Saad, @RegroupLabels, level 2 (MINOR), type 1 (NEW_PROG)
    A script for regrouping label datasets

28 Oct 2010, ZS Saad, 3dcopy, level 1 (MICRO), type 2 (NEW_OPT)
    Support for -overwrite

28 Oct 2010, RC Reynolds, 3dMean, level 1 (MICRO), type 4 (BUG_FIX)
    do not proceed in case of no input datasets

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

27 Oct 2010, RW Cox, cs_symeig, level 1 (MICRO), type 4 (BUG_FIX)
    Patch failure on Mac gcc in svd_double

    Mac OS X gcc compilation of svd function can produce bad results -- NaN
    values -- when there are too many all zero columns.  Solution: check for
    NaNs in the result, then switch to 'slow' mode AND fill all zero columns
    with tiny random values.

27 Oct 2010, RC Reynolds, file_tool, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_bad_char and -show_bad_all

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

26 Oct 2010, RC Reynolds, gen_group_command.py, level 2 (MINOR), type 2 (NEW_OPT)
    solidified 3dMEMA commands

    This is now used to generate AFNI_data6/group_results/s4.3dMEMA.V-A.

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

25 Oct 2010, RC Reynolds, gen_group_command.py, level 3 (MAJOR), type 1 (NEW_PROG)
    a program to generate group commands (3dMEMA for now)

    Commands to come: 3dttest(++), 3dANOVA*, GroupANA.

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

22 Oct 2010, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed rendering of spheres, which were affected by ambient light.

    Thanks to MSB for the complaint.

22 Oct 2010, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added NodeMarker field to the spec file

    The NodeMarker is a NIDO object that gets replicated at all nodes.
    Replicated markers inherit the color of the nodes IF the NodeMarker
    has no color attribute.

22 Oct 2010, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added -RenderMode option to control how a surface is rendered

    This option is the same as Surface Controller-->RenderMode menu

22 Oct 2010, ZS Saad, ConvexHull, level 2 (MINOR), type 2 (NEW_OPT)
    Added -q_opt option to allow for delaunay triangulation of 2D coordinates

    This new option makes it easy to create a surface from a set
    of ECOG electrodes.

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

21 Oct 2010, RC Reynolds, timing_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -shift_to_run_offset

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

20 Oct 2010, ZS Saad, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Added NI_duplicate* functions to niml

20 Oct 2010, ZS Saad, niccc, level 1 (MICRO), type 1 (NEW_PROG)
    Started making niccc as part of the default compilation

    The program, originally written by Bob, 
    is useful for testing NIML functions

20 Oct 2010, RW Cox, afni and 3dGroupInCorr, level 1 (MICRO), type 0 (GENERAL)
    Clusterize and GrpInCorr together are tricky :-(

    (1) remove the Cluster option from the GrpInCorr setup panel, since this
    only causes trouble (clustering was not re-done when changing thresholds
    or sub-bricks).
    (2) explain in the 3dGroupInCorr help text how to combine Clusterize
    with GrpInCorr in two tricky (and slightly clumsy) ways.

20 Oct 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add 'INSTACORR SET' to the drive command list

20 Oct 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -tcat_remove_last_trs, -ricor_regs_rm_nlast

    Added for J Czarapata.

20 Oct 2010, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added -sort_by_acq_time for -dicom_org on Philips data

    Added for Manjula.

20 Oct 2010, RC Reynolds, thd_niftiwrite.c, level 1 (MICRO), type 4 (BUG_FIX)
    brick stats to intent codes was off by 1 index

    Problem noted by P Kohn.

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

19 Oct 2010, ZS Saad, 3dcopy, level 2 (MINOR), type 5 (MODIFY)
    Allowed 3dcopy to take . or ./ as output options

    Other changes make the error message a little more
    informative

19 Oct 2010, RW Cox, 3dttest++, level 1 (MICRO), type 0 (GENERAL)
    Do t-test of covariates between groups (2-sample case)

    Only for fixed covariates (not those from datasets, which would be a
    per-voxel test).  Intended to help guide understanding when two groups
    of subjects differ markedly in some input factor.

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

18 Oct 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add SaveAs buttons to Datamode panel

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

16 Oct 2010, RC Reynolds, timing_tool.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed timing_to_1D fractions

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

15 Oct 2010, RW Cox, afni InstaCald, level 1 (MICRO), type 0 (GENERAL)
    Save expression info to dataset header attributes -- for Jill

15 Oct 2010, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -multi_timing_to_events, -multi_timing_to_event_pair, -per_run

    - Modified timing_tool.py, lib_timing.py, lib_textdata.py, afni_util.py.
    - Added for N Adleman.

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

14 Oct 2010, RW Cox, afni InstaCorr, level 1 (MICRO), type 2 (NEW_OPT)
    Add Despike option

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

12 Oct 2010, RC Reynolds, 3dREMLfit, level 1 (MICRO), type 0 (GENERAL)
    small help update to clarify slice-based regressor warnings

    Requested by D Handwerker.

12 Oct 2010, DR Glen, 3dDTtoDWI, level 2 (MINOR), type 1 (NEW_PROG)
    Program to compute DWI images from diffusion tensor

    Release from old code, bug fix for scale factors and lower
    triangular order.

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

08 Oct 2010, RW Cox, 3dBandpass, level 1 (MICRO), type 2 (NEW_OPT)
    Add -despike option to program.

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

07 Oct 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add Despike 1D Transformation function, just for fun.

07 Oct 2010, DR Glen, Plugout commands, level 2 (MINOR), type 2 (NEW_OPT)
    Commands to get current RAI xyz or IJK coordinates in a plugout script

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

06 Oct 2010, RW Cox, 3dttest++, level 2 (MINOR), type 2 (NEW_OPT)
    Add -zskip option

    Lets users skip the processing of voxel values that are
    exactly zero -- to allow for non-overlap between subjects.

06 Oct 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add AFNI_IDEAL_COLORS and AFNI_ORT_COLORS environment vars

    For controlling the colors in the graph window overlays.
    Per the request of Giuseppe Pagnoni.

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

04 Oct 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add 'Voxel Indexes' button to crosshair popup menu

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

01 Oct 2010, DR Glen, afni GUI, level 2 (MINOR), type 4 (BUG_FIX)
    Overlay color autorange, range settings not initialized properly

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

29 Sep 2010, G Chen, 1dSVAR.R, level 3 (MAJOR), type 1 (NEW_PROG)
    Structural vector autoregression (SVAR)

    This is an R program that incorporates both instantaneous and 
    lagged effects in an SVAR model for ROI-based network analysis.
    See more details at https://afni.nimh.nih.gov/sscc/gangc/SVAR.html

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

27 Sep 2010, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Began code changes to allow for volume rendering

    Changes mostly involve SUMA_volume_render.c and were
    made with Joachim Bottger's help. Of note is the additionof the Volume Obj
    ect structure SUMA_VolumeObject.

27 Sep 2010, RW Cox, small fixes, level 1 (MICRO), type 0 (GENERAL)
    To patch minor problems pointed out by icc

27 Sep 2010, DR Glen, afni GUI, level 2 (MINOR), type 5 (MODIFY)
    Datasets and atlas datasets show labels in overlay panel

    Atlases distributed with afni have been updated to include labels
    in the header that show a label for each value. If a dataset has
    been created with the Draw Dataset plugin or a label table has been
    applied with 3drefit, then the labels will be displayed next to the
    corresponding value in the Overlay panel. Integral ROI colormaps are
    used for any dataset with label tables assigned or with an INT_CMAP
    attribute.

27 Sep 2010, DR Glen, 3dWarp, level 1 (MICRO), type 5 (MODIFY)
    Output using mni2tta or tta2mni are marked with an appropriate space

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

24 Sep 2010, RW Cox, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug in afni_receive.c

    When a receiver shuts down its own reception, then the pointer to the
    receive structure is freed.  In AFNI_process_alteration(), this caused
    the time STAMPER macro to de-ref the NULL pointer.  STAMPER was modified
    to avoid this problem, which would cause afni to crash if the user
    switched to +tlrc during drawing in +orig.  This, of course, is Daniel
    Glen's fault (because surely I am guiltless).

24 Sep 2010, RW Cox, afni, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_SQRT_AUTORANGE is no more

    Instead, AFNI_AUTORANGE_POWER is born.

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

23 Sep 2010, RW Cox, 3dUndump, level 1 (MICRO), type 0 (GENERAL)
    Clarify help a little with some examples.

----------------------------------------------------------------------

22 Sep 2010, RW Cox, 3dttest++, level 1 (MICRO), type 4 (BUG_FIX)
    Ensure no division by zero if covariates matrix has all zero column

22 Sep 2010, RW Cox, 3dttest++, level 1 (MICRO), type 5 (MODIFY)
    Skip voxels whose data is constant

----------------------------------------------------------------------

21 Sep 2010, RW Cox, 3dttest++, level 2 (MINOR), type 4 (BUG_FIX)
    Fix memory leak and paired t-test bug.

----------------------------------------------------------------------

18 Sep 2010, ZS Saad, DriveSuma, level 1 (MICRO), type 2 (NEW_OPT)
    Added -Dsp option to allow control of Dset display mode

----------------------------------------------------------------------

17 Sep 2010, RC Reynolds, 3dttest++, level 2 (MINOR), type 4 (BUG_FIX)
    init workspace with 0

    Trouble noted by M Choi

----------------------------------------------------------------------

15 Sep 2010, RW Cox, 3dROIstats, level 1 (MICRO), type 0 (GENERAL)
    Force float-to-short conversion of mask if mask is really integers

----------------------------------------------------------------------

13 Sep 2010, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 4 (BUG_FIX)
    Add missing free(xar) to 1-sample t-test loop [oops]

----------------------------------------------------------------------

10 Sep 2010, RC Reynolds, @SUMA_Make_Spec_FS, level 1 (MICRO), type 4 (BUG_FIX)
    removed extra endif's in case of $label_dir

10 Sep 2010, DR Glen, afni_all, level 3 (MAJOR), type 5 (MODIFY)
    Introduce code allowing multiple space sessions but limited to existing

    spaces (ORIG, ACPC, TLRC) so should continue to be transparent.
    Datasets are now tagged with space attribute, TLRC/MNI/MNI_ANAT,
    and defines which kind of template a dataset has been aligned to.
    This attribute is handled by @auto_tlrc, adwarp, 3drefit, whereami,
    and the AFNI GUI using the whereami GUI. In the AFNI GUI, this
    has the effect of allowing a dataset to be identified by its template
    with the transformation to the TLRC or other atlas space handled
    automatically. Other AFNI programs should apply the template space of
    the master dataset or first dataset to the output.
    cvs tag marked on code before this change as mid-atlantic

----------------------------------------------------------------------

08 Sep 2010, RC Reynolds, afni_util.py, level 1 (MICRO), type 6 (ENHANCE)
    added wildcard construction functions

----------------------------------------------------------------------

07 Sep 2010, ZS Saad, 3dRetinoPhase, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed crash caused by bad function prototype.

    Crash only occurred on linux. Thanks to P. J. Kohler for 
    tests and bug report.

----------------------------------------------------------------------

03 Sep 2010, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed inappropriate read in SUMA_Draw_SO_Dset_Contours

    This bug had caused a crash on one machine, but had the potential
    for bad surprises in the future.

03 Sep 2010, ZS Saad, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    Script now process v1.label files from FreeSurfer

    The output is two datasets per hemisphere, one for the ??.v1.prob.label
    and one for the ??.v1.predict.label.

----------------------------------------------------------------------

01 Sep 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    tiny changes to help output (e.g. 3dAllineate options)

----------------------------------------------------------------------

30 Aug 2010, RC Reynolds, @CheckForAfniDset, level 1 (MICRO), type 4 (BUG_FIX)
    replaced use of {$var} with ${var}

    Problem noted by R Mruczek.

30 Aug 2010, RC Reynolds, 3dVol2Surf, level 1 (MICRO), type 4 (BUG_FIX)
    check for -sv dataset before proceeding

----------------------------------------------------------------------

26 Aug 2010, ZS Saad, @auto_tlrc, level 3 (MAJOR), type 4 (BUG_FIX)
    Fixed bug in @auto_tlrc in usage 2 mode AND with no suffix

    There was a bug in @auto_tlrc  for the last 2 months: 
       from June 30, 2010 until  August 26, 2010. 
    
    It occurs only when using auto_tlrc in: 
      usage 2 mode 
            AND 
      with -suffix omitted, or set to NONE.
    
    This bug does not affect your data if you had used adwarp -apar, 
      or if you put your data in TLRC space via afni_proc.py
      or align_epi_anat.py.
    
    The bug essentially results in a renaming of your follower dataset, 
     without the spatial transformation. So, if you were applying the 
     transform to epi+orig, it practically got renamed to epi+tlrc. 
     Despite the +tlrc in the name, epi+tlrc would still be in +orig 
     view and you no longer have epi+orig on disk. 
       
    Examples of affected commands would be:
     @auto_tlrc  -apar anat+tlrc                 -input epi+orig 
    or
     @auto_tlrc  -apar anat+tlrc  -suffix NONE   -input epi+orig  
    
    The script did produce Error messages but it failed to stop.
    
    If you think you ran the buggy command (a clear symptom would be 
    missing +orig datasets AND bad alignment in TLRC of course), you 
    must download the latest binaries and rerun @auto_tlrc after you 
    have recreated the +orig files. You can also just get @auto_tlrc 
    at the link below.
    
    Sorry for this, I had tested complicated option combinations on 
    the last release, but all tests had used the -suffix option.
    (<https://afni.nimh.nih.gov/afni/community/board/read.php?f=1&i=34139&t=34
    139>)
    
    Binaries postdating this message will contain the new script. 
    You can also get a corrected version of @auto_tlrc at this link:
    <https://afni.nimh.nih.gov/sscc/staff/ziad/Misc_Download/tmp/@auto_tlrc>
    
    Thanks To James Blair for finding the bug.

----------------------------------------------------------------------

25 Aug 2010, ZS Saad, ConvertDset, level 1 (MICRO), type 2 (NEW_OPT)
    Added -no_history option

25 Aug 2010, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 5 (MODIFY)
    update polort and write -nodata TR using 3 decimal places

----------------------------------------------------------------------

24 Aug 2010, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Improved SUMA's DotXform (InstaCorr) and GroupInCorr interface

    Changed interface so that shft+ctrl+right click is needed to initiate 
    callback. This makes it consistent with AFNI's interface.
    shft+ctrl+right click and drag now a little faster.

----------------------------------------------------------------------

23 Aug 2010, ZS Saad, SurfRetinoMap, level 3 (MAJOR), type 1 (NEW_PROG)
    Calculates Visual Field Signs from visual field angle data

23 Aug 2010, ZS Saad, @RetinoProc, level 3 (MAJOR), type 1 (NEW_PROG)
    Packages processing step for phase-based retinotopic mapping.

    See @RetinoProc -help for details

23 Aug 2010, ZS Saad, 3dRetinoPhase, level 3 (MAJOR), type 1 (NEW_PROG)
    Calculate visual field angle from phase-based retinotopy data.

23 Aug 2010, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Fixed bug in sub-brick selection lists

    Before the bug fix, once a sub-brick selection list was open
    (right-click on 'I', 'T', or 'B') for one dataset, it never got
    updated after switching to another dataset, rendering it quite useless.
    Thanks to Adam Greenberg for reporting the error.

23 Aug 2010, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    SUMA now detects retinotopy results and displays them appropriately

23 Aug 2010, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Shift+Ctrl left, right rotates surface about Z axis

    Useful for rotating flat surfaces

23 Aug 2010, ZS Saad, suma, level 2 (MINOR), type 3 (NEW_ENV)
    Allow users to specify colormaps for retinotopy results

    See help section for variables:
      SUMA_RetinoAngle_DsetColorMap and SUMA_VFR_DsetColorMap
    in your ~/.sumarc, after running suma -update_env.

23 Aug 2010, ZS Saad, @SUMA_Make_Spec_FS, level 1 (MICRO), type 5 (MODIFY)
    Script now looks for brain envelope surface from FreeSurfer

    Thanks to Mike Beauchamp for the modification.

----------------------------------------------------------------------

18 Aug 2010, ZS Saad, @DriveSuma, level 2 (MINOR), type 5 (MODIFY)
    Improvements to @DriveSuma to make it more didactic

18 Aug 2010, ZS Saad, DriveSuma, level 1 (MICRO), type 5 (MODIFY)
    Added -echo_edu option for edification purposes

18 Aug 2010, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    changed Makefile.linux_openmp (and _64) building on F10 (was F12)

18 Aug 2010, RC Reynolds, @build_afni_Xlib, level 1 (MICRO), type 2 (NEW_OPT)
    added -lib32 for building 32-bit on a 64-bit Linux box

----------------------------------------------------------------------

17 Aug 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    allowed married timing files

    Also, delete output script on failure (have -keep_script_on_err option).

----------------------------------------------------------------------

16 Aug 2010, RC Reynolds, lib_textdata.py, level 2 (MINOR), type 6 (ENHANCE)
    new module to deal with reading/writing 1D/timing/married text files

    heading towards handling married timing in afni_proc.py

16 Aug 2010, RC Reynolds, timing_tool.py, level 1 (MICRO), type 5 (MODIFY)
    use lib_textdata.py for I/O

16 Aug 2010, RC Reynolds, make_stim_times.py, level 1 (MICRO), type 5 (MODIFY)
    use lib_textdata.py for I/O

16 Aug 2010, RC Reynolds, lib_afni1D.py, level 1 (MICRO), type 5 (MODIFY)
    use lib_textdata.py for I/O (deleted read_1D_file)

16 Aug 2010, RC Reynolds, afni_xmat.py, level 1 (MICRO), type 5 (MODIFY)
    use lib_textdata.py for I/O (deleted read_1D_file)

16 Aug 2010, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    rewrote and moved text data I/O routines into lib_textdata.py

----------------------------------------------------------------------

13 Aug 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add 'Thr=OLay+1' button to threshold slider popup

    Enforces threshold sub-brick index = overlay sub-brick index + 1.
    For David Perlman at UW Madison, who wants to lock the statistical
    threshold to the effect of interest to which it is yoked.

13 Aug 2010, RW Cox, 3dFWHMx, level 1 (MICRO), type 0 (GENERAL)
    Check if -detrend option is needed, if not given

    Compare each voxel's median to its MAD -- if the median is too big, then
    print a warning if there a lots of such voxels.

13 Aug 2010, RC Reynolds, Makefile.INCLUDE, level 1 (MICRO), type 0 (GENERAL)
    explicitly link the math library for the balloon target

----------------------------------------------------------------------

09 Aug 2010, ZS Saad, suma-general, level 1 (MICRO), type 2 (NEW_OPT)
    Allows reading 5-column colormaps

09 Aug 2010, ZS Saad, MapIcosahedron, level 1 (MICRO), type 4 (BUG_FIX)
    Changed 2 sprintf lines writing and reading from same address.

09 Aug 2010, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    Add duration 'd' parameter to GAM basis function.

    Also add some various comments to the help; in particular, advertising
    afni_proc.py

----------------------------------------------------------------------

06 Aug 2010, ZS Saad, 3dSetupGroupInCorr, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed bug with LRpairs when time series had different lengths.

    Also fixed minor bug with error message about data size

06 Aug 2010, ZS Saad, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Tiny changes to functions prettyfying numeric outputParticularly functions approximate_number_string, and 
commaized_integer_string, and macro MEMORY_CHECK in 3dREMLfit

----------------------------------------------------------------------

05 Aug 2010, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed crash when using group instant correlation on 1 surface.

05 Aug 2010, RC Reynolds, afni-general, level 1 (MICRO), type 0 (GENERAL)
    do not let THD_write_3dim_dataset fail silently

----------------------------------------------------------------------

04 Aug 2010, RW Cox, afni, level 2 (MINOR), type 0 (GENERAL)
    Add 'WamI' button to Clusterize GUI

    Runs 'whereami -omask' and displays the output in a text window, to show
    the user where the atlases think each cluster is located.

04 Aug 2010, RW Cox, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Restore 'jump to' capability when selecting a marker

    Removed accidentally when disabling the popup marker toggles.

04 Aug 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_CS_NN, default to 123

    Also, changed -niml to -both so that 1D files are output, and changed
    the prefix to ClustSim (from rm.CS) so those files are not deleted.
    If ClustSim is explicitly requested, require blur estimation.

----------------------------------------------------------------------

03 Aug 2010, RW Cox, afni Clusterize, level 1 (MICRO), type 0 (GENERAL)
    put limits on range of choosers in the popup control

    NN = 1..3   Voxels = 2..99999

03 Aug 2010, RC Reynolds, afni_history, level 1 (MICRO), type 4 (BUG_FIX)
    fixed -check_date test to see if version is current

    This problem affects afni_proc.py script execution.

----------------------------------------------------------------------

02 Aug 2010, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed default naming for interactive dsets.

    The older naming, based on label, rather than filename
    created some conflicts under certain cases.
    Repair job in SUMA_dot_product.

02 Aug 2010, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 2 (NEW_OPT)
    Add -np option to change NIML port used to talk to AFNI

    Per the request of Andreas Hahn.

02 Aug 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    check that stim_file/_time files match datasets, and that dsets exist

    - default is to check that files are appropriate for the input data
    - default is to check that input datasets exist
    - added options -test_stim_files and -test_for_dsets
    - afni_proc.py now depends on lib_afni1D

02 Aug 2010, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    small looks_like text change and remove TR from look_like_1D

----------------------------------------------------------------------

30 Jul 2010, RW Cox, 3dttest++, level 2 (MINOR), type 0 (GENERAL)
    Renamed from 3dttest_new

    Because the others in the group were whining, not wining.
    Also added '-center' option to allow user a little more control over the
    de-meaning of the covariates.

30 Jul 2010, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added options to evaluate whether a file is valid as 1D or stim_times

    Added -looks_like_1D, -looks_like_local_times, -looks_like_global_times
    and -looks_like_test_all.
    The main purpose is to have tests that afni_proc.py can apply.

----------------------------------------------------------------------

29 Jul 2010, RW Cox, 3dttest_new, level 3 (MAJOR), type 1 (NEW_PROG)
    New and improved version of 3dttest!

    With covariates, including per-voxel covariates! It slices, it dices! 
    But wait, there's more!  For no extra charge, it masks!

29 Jul 2010, RW Cox, 3dcalc, level 1 (MICRO), type 0 (GENERAL)
    Add '-n' predefined value [for Ziad].  n = voxel 1D index.

29 Jul 2010, RW Cox, 3dPeriodogram, level 1 (MICRO), type 0 (GENERAL)
    Expand the help (again)

----------------------------------------------------------------------

28 Jul 2010, ZS Saad, plugout_drive, level 2 (MINOR), type 2 (NEW_OPT)
    Added SET_INDEX to plugout_drive

28 Jul 2010, RC Reynolds, zfun.c, level 1 (MICRO), type 4 (BUG_FIX)
    fixed small typos in the case of HAVE_ZLIB not being defined

    - zzb64_to_array (return) and array_to_zzb64 (missing arg)

----------------------------------------------------------------------

27 Jul 2010, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    propagate storage_mode in THD_open_tcat

    This is for non-AFNI formatted datasets, and fixes the problem where
    3dDeconvolve would not propagate nnodes/node_list of surface datasets.
    Problem noted by N Oosterhof.

27 Jul 2010, RC Reynolds, thd_table.c, level 1 (MICRO), type 4 (BUG_FIX)
    strtod typo

----------------------------------------------------------------------

26 Jul 2010, ZS Saad, 3dclust, level 2 (MINOR), type 4 (BUG_FIX)
    Mean calculations were off for large clusters with large values.

----------------------------------------------------------------------

23 Jul 2010, RW Cox, 3dDeconvolve, level 2 (MINOR), type 2 (NEW_OPT)
    Add TENTzero and CSPLINzero response models

    To allow the HRF to be required to be zero at the start and stop times
    (i.e., it will be continuous, not suddenly drop off to zero).

23 Jul 2010, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    print out list of offending times for the PSFB syndrome

23 Jul 2010, RC Reynolds, afni-general, level 2 (MINOR), type 6 (ENHANCE)
    added Makefile.linux_openmp (and _64) for building with OpenMP support

    Those distribution binaries will be built on a 64-bit Fedora 12 system.

----------------------------------------------------------------------

22 Jul 2010, RW Cox, afni GUI, level 1 (MICRO), type 0 (GENERAL)
    Set 'autoRange' to sqrt(largest value) rather than largest value.

    To make the color scaling a little nicer, usually.
    Can be turned off by setting environment variable AFNI_SQRT_AUTORANGE to
    NO (this is interactively editable).

22 Jul 2010, RW Cox, 3dPeriodogram, level 1 (MICRO), type 0 (GENERAL)
    Add more details about what it does to -help

22 Jul 2010, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    move -x1D_stop exit to AFTER the condition number stuff is output

    Per the request of Christy Wilson

22 Jul 2010, RW Cox, 3dClustSim, level 1 (MICRO), type 2 (NEW_OPT)
    Add -both option (get NIML and 1D output in one run)

22 Jul 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added options -regress_run_clustsim and -regress_opts_CS

    This is to apply 3dClustSim results for multiple comparison correction
    to the stats dataset output from 3dDeconvolve.

----------------------------------------------------------------------

21 Jul 2010, RW Cox, afni Clusterize, level 1 (MICRO), type 0 (GENERAL)
    Allow user to choose from NN1 or NN2 or NN3 cluster methods

    And selects the corresponding ClustSim table, if present.  Also, modify
    3dClustSim to output 3drefit command fragment if appropriate.  For
    Shruti, who we all love.

----------------------------------------------------------------------

20 Jul 2010, RW Cox, 3dFourier, level 1 (MICRO), type 0 (GENERAL)
    Propagate history unto the next generation.

20 Jul 2010, RW Cox, 3dAutoTcorrelate, level 1 (MICRO), type 2 (NEW_OPT)
    -mmap option -- output large .BRIK file in a faster way

20 Jul 2010, RC Reynolds, xmat_tool.py, level 1 (MICRO), type 5 (MODIFY)
    made small improvement out text formatting for cormat and cosmat

----------------------------------------------------------------------

19 Jul 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -check_afni_version and -requires_afni_version

    This will allow the processing script to verify that the AFNI version
    is recent enough for the enclosed commands.

19 Jul 2010, RC Reynolds, afni_history, level 2 (MINOR), type 2 (NEW_OPT)
    added -check_date, to verify whether the distribution is current

19 Jul 2010, RC Reynolds, @DriveAfni, level 1 (MICRO), type 2 (NEW_OPT)
    added -help

19 Jul 2010, RC Reynolds, 3dFWHMx, level 1 (MICRO), type 4 (BUG_FIX)
    fixed -arith mean

----------------------------------------------------------------------

16 Jul 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add C(p,alpha) threshold label for alpha=0.10,0.05,0.01

    Plus fix bug that caused crash when switching to overlay of different
    spatial dimensions when Clusterize was on.

16 Jul 2010, RW Cox, 3dAutoTcorrelate, level 1 (MICRO), type 0 (GENERAL)
    OpenMP-ized for HJJ

    Required inverting dataset to MRI_vectim struct to solve memory
    thrashing problem.  Otherwise, speedup was marginal at best.

16 Jul 2010, RC Reynolds, 3dMean, level 2 (MINOR), type 2 (NEW_OPT)
    added -mask_union and -mask_inter, for creation of mask datasets

16 Jul 2010, RC Reynolds, afni, level 1 (MICRO), type 4 (BUG_FIX)
    added legendre to forced_loads array for plugin use

----------------------------------------------------------------------

15 Jul 2010, RW Cox, 3dREMLfit+3dDeconvolve, level 1 (MICRO), type 2 (NEW_OPT)
    Add -STATmask option

    Allows user to specify mask for FDR calculations, when no -mask is used.

15 Jul 2010, RW Cox, 3dClustSim, level 1 (MICRO), type 0 (GENERAL)
    -niml now implies -LOTS as well

----------------------------------------------------------------------

14 Jul 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Clusterize now uses the mask from 3dClustSim, if available

14 Jul 2010, RW Cox, 3dClustSim, level 1 (MICRO), type 0 (GENERAL)
    Changes to write mask info to output, to use in Clusterize

14 Jul 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    added -mask_test_overlap and -regress_cormat_warnigns

    Unless the user sets these options to 'no', the processing script
    will now use 3dABoverlap to evaluate the anat/EPI mask overlap, and
    1d_tool.py to check the X-matrix for large pairwise correlations
    between any two regressors.

14 Jul 2010, RC Reynolds, Makefile.linux_gcc33_64, level 1 (MICRO), type 5 (MODIFY)
    use staic link of SUMA programs to Motif, as AFNI programs already do

14 Jul 2010, RC Reynolds, 3dABoverlap, level 1 (MICRO), type 6 (ENHANCE)
    added -no_automask to allow mask datasets as input

14 Jul 2010, DR Glen, afni_all, level 3 (MAJOR), type 5 (MODIFY)
    Beginning to introduce code for allowing multiple spaces and atlases

    These code changes should initially have no effect on functionality
    and provide only a framework for introducing changes
    cvs tag marked on code before this change as pre-atlantic

----------------------------------------------------------------------

13 Jul 2010, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    added channel list selection, for choosing which channels to merge

13 Jul 2010, DR Glen, 3dresample, level 2 (MINOR), type 5 (MODIFY)
    Allowed for wider range of voxel sizes

----------------------------------------------------------------------

12 Jul 2010, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Clusterize features modified and enhanced

    1) Only NN clustering is now allowed in the AFNI Clusterize GUI, and so
    the only parameter left is the 'Voxels' count for the smallest cluster
    to retain.
    
    2) If attribute AFNI_CLUSTSIM_NN1 is attached (via 3dClustSim), then the
    Clusterize GUI will use this to show the approximate alpha level for
    each cluster -- provided the threshold has a p-value associated with it,
    et cetera, et cetera, et cetera.

12 Jul 2010, RW Cox, 3dDeconvolve, level 1 (MICRO), type 2 (NEW_OPT)
    add MION to the -stim_times HRF repertoire

    Now will they stop bugging me?!  (of course not)

12 Jul 2010, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -truncate_times and -round_times for S Durgerian

----------------------------------------------------------------------

11 Jul 2010, RC Reynolds, timing_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    show TR offset stats if -tr and -show_isi_stats

----------------------------------------------------------------------

09 Jul 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Remove marker controls from image viewer popup menu.

09 Jul 2010, RW Cox, 3drefit, level 1 (MICRO), type 0 (GENERAL)
    add 'file:' input to -atrstring option

    The ability to read the attribute value from a file, rather than from
    the command line.

09 Jul 2010, RW Cox, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    Skip FDR masking if dataset isn't really 3D

----------------------------------------------------------------------

08 Jul 2010, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed striping with contour objects

08 Jul 2010, RW Cox, 3dClustSim, level 1 (MICRO), type 2 (NEW_OPT)
    Add -NN option (clustering method) and -prefix (output filename)

08 Jul 2010, RW Cox, 3dClustSim, level 1 (MICRO), type 0 (GENERAL)
    'LOTS' for more output; malloc tweaks for OpenMP speedup

08 Jul 2010, G Chen, 3dICC_REML.R, level 2 (MINOR), type 1 (NEW_PROG)
    IntraClass Correlation (ICC) with REML Method

    This is an R program that calculates ICC with REML method on 3D 
    volume data based on linear mixed-effects modeling scheme. See 
    more details at https://afni.nimh.nih.gov/sscc/gangc/ICC_REML.html

----------------------------------------------------------------------

07 Jul 2010, RW Cox, 3dClustSim, level 3 (MAJOR), type 1 (NEW_PROG)
    Like AlphaSim, but faster and terser output

    Computes C(p,a) = cluster size threshold for a range of p and a values:
     p = per-voxel (uncorrected) threshold p-value
     a = corrected probability level desired = probability of at least one
    noise-only cluster happening when the cluster size threshold is C(p,a)
    Optimized to use OpenMP for speed.

07 Jul 2010, RW Cox, 3dClustSim, level 1 (MICRO), type 2 (NEW_OPT)
    Added info to output header; also, added -niml option

07 Jul 2010, RC Reynolds, NIFTI, level 2 (MINOR), type 4 (BUG_FIX)
    fixes for large files (noted/investigated by M Hanke and Y Halchenko)

    - fixed znzread/write, noting example by M Adler
    - changed nifti_swap_* routines/calls to take size_t

07 Jul 2010, RC Reynolds, nifti_tool, level 1 (MICRO), type 4 (BUG_FIX)
    fixed nt_read_bricks bsize computation for large files

07 Jul 2010, RC Reynolds, NIFTI, level 1 (MICRO), type 4 (BUG_FIX)
    fixed znzread/write to again return nmembers

    Also, added M Hanke's update to CMakeLists.txt for new release number.

----------------------------------------------------------------------

06 Jul 2010, ZS Saad, suma, level 2 (MINOR), type 3 (NEW_ENV)
    Added SUMA_Cmaps_Dir to point to directory with colormaps

    With this environment variable, users can point to a 
    directory containing SUMA colormaps (*.cmap) that should
    be made available to SUMA. For help on colormap file formats,
    open a surface controller ('View'-->'Surface Controller'), 
    click on BHelp (bottom left) and then click on 'New' button
    which is to the right of the colormap selector.

----------------------------------------------------------------------

01 Jul 2010, ZS Saad, SurfToSurf, level 2 (MINOR), type 2 (NEW_OPT)
    Added -mapfile option, allowing SurfToSurf to reuse an existing mapping.

----------------------------------------------------------------------

30 Jun 2010, ZS Saad, @auto_tlrc, level 2 (MINOR), type 5 (MODIFY)
    Added -onewarp, and -init_xform to @auto_tlrc

    I have made some small improvements to @auto_tlrc, but avoided changing 
    its default operation, except in one case.
    
    In 'Usage 2', the old version performed two resampling operations. One in 
    3dWarp with the default quintic kernel, the other in 3dresample with the 
    Bk kernel. The new version can perform only one resampling thereby  
    reducing the smoothness of the final result. To change from the default
    behavior,use the new option -onewarp. 
    The help output of the old version stated that -rmode controlled the 
    interpolation kernel in 'Usage 1'. That was not the case. In Usage 1,
    interpolation was always linear. It remains so in the current version,
    but the -rmode option can now be used to change the kernel.
    
    The change in default operation between this version and the previous 
    concerns 'Usage 1'. In the old version, the brain was skull stripped, AND
    its intensities adjusted by 3dSkullStrip. It was this adjusted brain that
    was then output in TLRC space. In other terms, the output was with 
    no skull, but its values differed from those of the input.
    This is no longer the case. In the current version, you will 
    get a skull-stripped version of the input in TLRC space 
    (no intensity adjustment).
    Behavior of the -warp_orig_vol is unchanged.
    This change in 'Usage 1' does not affect the registration transform, 
    nor 'Usage 2'.
    If you insist on the old mode of operation, then contact me and I will 
    send you an older version of @auto_tlrc.

----------------------------------------------------------------------

28 Jun 2010, RW Cox, 3dTcorr1D, level 2 (MINOR), type 0 (GENERAL)
    1 output brick per column of input 1D file

    Before: only used 1st column of 1D file.
    Now: also uses OpenMP to parallelize across columns.
    Also: -short and -mask options.

28 Jun 2010, RC Reynolds, 3dAutoTcorrelate, level 2 (MINOR), type 2 (NEW_OPT)
    added -eta2 (Cohen eta squared) for HJ Jo

    Also added -mask and -mask_only_targets.

28 Jun 2010, RC Reynolds, GIFTI, level 1 (MICRO), type 6 (ENHANCE)
    applied CMakeLists.txt update from M Hanke for Debian release

28 Jun 2010, RC Reynolds, GIFTI, level 1 (MICRO), type 5 (MODIFY)
    the most significant dimension cannot be 1

    Requested by N Schmansky

----------------------------------------------------------------------

22 Jun 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    3dToutcount detrending now defaults to Legendre polynomials

      Using Legendre polynomials, 3dToutcount polort can exceed 3
      (limit noted by I Mukai and K Bahadur).
      Added options -outlier_legendre and -outlier_polort.

22 Jun 2010, RC Reynolds, 3dToutcount, level 2 (MINOR), type 2 (NEW_OPT)
    added -legendre option, which also allows polort > 3

----------------------------------------------------------------------

18 Jun 2010, RW Cox, 3dSimARMA11, level 1 (MICRO), type 1 (NEW_PROG)
    Simulating ARMA(1,1) time series for testing 3dREMLfit + 3dMEMA

----------------------------------------------------------------------

17 Jun 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    apply default polort in 3dToutcount

17 Jun 2010, RC Reynolds, 3dTcat, level 1 (MICRO), type 6 (ENHANCE)
    removed sub-brick length limit

----------------------------------------------------------------------

16 Jun 2010, RW Cox, mri_read_1D, level 1 (MICRO), type 5 (MODIFY)
    If filename is of form xxx'[...]', quotes will be ignored.

----------------------------------------------------------------------

14 Jun 2010, RW Cox, AFNI GUI, level 2 (MINOR), type 5 (MODIFY)
    Added 'Automask' toggle button to image viewer bar popup menu

    In combination with 'Zero Color', provides an easy way to fill
    the background with a solid color, such as white, as requested
    by Adriana di Martino (among others).
    ALSO: modified 'Zero Color' to fill zero values with that color,
          rather than fill pixels assigned the bottom-most color
          (so images with negative values can be treated properly).
    N.B.: Automasking in the image viewer is done with a special 2D
          function in thd_automask.c, different than 3D Automasking.

14 Jun 2010, RW Cox, 3dDeconvolve, level 1 (MICRO), type 5 (MODIFY)
    Changed error message when user tries '1D:' with -stim_times_AM2

----------------------------------------------------------------------

10 Jun 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed copying EPI and anat as NIFTI

----------------------------------------------------------------------

08 Jun 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_censor_outliers and -regress_skip_first_outliers

08 Jun 2010, RC Reynolds, timing_tool.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed partitioning without zeros

08 Jun 2010, DR Glen, RetroTS.m, level 2 (MINOR), type 2 (NEW_OPT)
    Allowed for alt+z2 slice timing

----------------------------------------------------------------------

04 Jun 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    moved outlier counting outside of tshift block

    - if only one regressor, use 1dcat for 'sum' ideal
    - added -count_outliers, default to 'yes'
    - outlier counting is now at end of tcat block

04 Jun 2010, RC Reynolds, 3dToutcount, level 1 (MICRO), type 2 (NEW_OPT)
    added -fraction to output fraction of bad voxels, instead of count

    This will be used by afni_proc.py for censoring.

----------------------------------------------------------------------

03 Jun 2010, RC Reynolds, plug_realtime, level 3 (MAJOR), type 6 (ENHANCE)
    added ability to register merged data and possibly all channels

    Via MergeRegister, one can request to register the ChannelMerge dataset.
    The individual channels can also be 'registered' via the same parameters
    as the ChannelMerge dataset.
    Requested by J Hyde, A Jesmanowicz, D Ward of MCW.

03 Jun 2010, RC Reynolds, afni_history, level 1 (MICRO), type 6 (ENHANCE)
    added TYPE_ENHANCE, often a more appropriate term

----------------------------------------------------------------------

01 Jun 2010, RC Reynolds, afni_util.py, level 2 (MINOR), type 6 (ENHANCE)
    added variance and t-test routines (1-sample, paired, pooled, unpooled)

----------------------------------------------------------------------

27 May 2010, RW Cox, 3dGroupInCorr, level 2 (MINOR), type 4 (BUG_FIX)
    Fix bug in paired t-test for covariates regression

27 May 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed use of -volreg_regress_per_run and -regress_censor_motion pair

    Problem found by D Drake.

----------------------------------------------------------------------

26 May 2010, RW Cox, 3dGroupInCorr, level 3 (MAJOR), type 5 (MODIFY)
    Add -covariates option

    With coordinated changes to AFNI to deal with the possibly more
    complicated dataset that will arrive.  And some minor changes to
    3dSetupGroupInCorr to match.

----------------------------------------------------------------------

25 May 2010, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added click and drag for third mouse button

----------------------------------------------------------------------

21 May 2010, ZS Saad, SurfToSurf, level 2 (MINOR), type 2 (NEW_OPT)
    Added -dset option to take in niml dsets

----------------------------------------------------------------------

20 May 2010, RC Reynolds, Makefile.NIH.CentOS.5.3_64, level 1 (MICRO), type 5 (MODIFY)
    update CCOLD to compile with gcc version 3.4

----------------------------------------------------------------------

19 May 2010, RW Cox, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    Bug: 'filename' copy from argv[] can be too long for 1D: input

    Especially if the user is named Handwerker.  Solution: compute length of
    'filname' before malloc-izing, vs. fixed length THD_MAX_NAME.

19 May 2010, RC Reynolds, Makefile.*, level 2 (MINOR), type 4 (BUG_FIX)
    add CCOLD to all for compiling nifticdf.o on linux_xorg7_64 using gcc v3

    This is a bug in the gcc compiler code, not in AFNI.  So the workaround
    is to compile nifticdf.o with a different version of the compiler.
    
    The gcc compiler versions 4.1-4.3 (at least) had an optimization bug
    when compiling nifticdf.o.  The result was an inaccurate conversion
    from F-stats to p-values (in some cases).
    Test with the command:     cdf -t2p fift 1.0 10 100
       good result: 0.448817, bad result: 0.0472392
    Problem found by L Thomas and B Bones.

----------------------------------------------------------------------

18 May 2010, RW Cox, 3dTfitter, level 2 (MINOR), type 2 (NEW_OPT)
    New option -vthr, to set threshold for ignoring regression vectors

    In the olden version, vectors whose L1 norm was less than 0.000333 times
    the largest vector's L1 norm were cast out before the analysis -- this
    was to fix a problem of Rasmus Birn's.  However, some people whose
    initials are HJJ want to use LHS vectors whose magnitude varies a lot. 
    So now the user has to specify the 'cast out' vector threshold with the
    -vthr option, whose default is NOT 0.000333 but is 0.0 -- that is, only
    exactly zero vectors will be unused by default.

18 May 2010, DR Glen, model_demri_3, level 2 (MINOR), type 3 (NEW_ENV)
    Allowed for flip angle variation through volume with scaling dataset

----------------------------------------------------------------------

17 May 2010, RW Cox, 3dREMLfit, level 2 (MINOR), type 4 (BUG_FIX)
    Program would crash when only -Obuck given, no -Rstuff

    Problem was that GLT data structure setup was done in the Rstuff loop,
    and if no Rstuff datasets are computed, then doing GLT stuff in the
    Ostuff loop would crash.  Fix: test if GLTs are added to the REML setup
    structures in the Ostuff loop, and add them if they aren't already
    there.

----------------------------------------------------------------------

14 May 2010, RW Cox, 3dcalc, level 1 (MICRO), type 0 (GENERAL)
    Remove '-b3' style of input from -help output.

    It's be obsolete for over 10 years -- time to be hidden from view!

14 May 2010, RW Cox, 3dMean, level 1 (MICRO), type 4 (BUG_FIX)
    Fix scaling problem

    As in 3dcalc: if scaling is not forced (no -fscale or -gscale) but is
    optional (no -nscale, either), then check if the values in a sub-brick
    are non-integral -- if so, do scaling anyway to minimize truncation
    problems.

----------------------------------------------------------------------

13 May 2010, RC Reynolds, ui_xmat.py, level 1 (MICRO), type 0 (GENERAL)
    tiny update: check for set_afni_xmat() failure

13 May 2010, RC Reynolds, 3dbucket, level 1 (MICRO), type 0 (GENERAL)
    tiny help update to clarify -glueto and -aglueto

----------------------------------------------------------------------

12 May 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_censor_first_trs for A Barbey

    This is needed when also using -regress_censor_motion.

12 May 2010, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -censor_first_trs, to mix with -censor_motion results

----------------------------------------------------------------------

11 May 2010, DR Glen, model_demri_3, level 2 (MINOR), type 5 (MODIFY)
    Changed minor defaults and error handling in DEMRI model

----------------------------------------------------------------------

10 May 2010, RC Reynolds, ktaub.c, level 1 (MICRO), type 4 (BUG_FIX)
    allow for build on SOLARIS_OLD

----------------------------------------------------------------------

07 May 2010, RW Cox, bilinear_warp3D.c, level 1 (MICRO), type 5 (MODIFY)
    Minor changes and additions

07 May 2010, RW Cox, afni, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_FILE_COORDS_x

    If this environment variable is set (for x=A,B,C,...), then AFNI
    controller 'x' will write each viewpoint change xyz coordinates to the
    file whose name is given by the variable value.  For example
      afni -DAFNI_FILE_COORDS_A=stdout
    will write each new (x,y,z) triple to standard output.  Coords are
    written in DICOM order (natch).  This feature is called the Jennifer
    Evans special.

----------------------------------------------------------------------

06 May 2010, RW Cox, bilinear_warp3D, level 1 (MICRO), type 0 (GENERAL)
    Add functions for manipulating bilinear warps

    bilinear_warp3d.[ch] -- for Daniel

06 May 2010, RW Cox, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Fix NULL pointer de-reference from renderer

    When colorscale is changed to one of the ROI colormaps, Ziad the Wise
    added a 'feature' to automatically change the im3d viewer data range for
    the user's convenience.  However, this doesn't work when the colorscale
    isn't in an im3d -- such as in the renderer.

06 May 2010, RC Reynolds, Dimon, level 2 (MINOR), type 6 (ENHANCE)
    allow negatives in -sort_by_num_suffix, look for '0054 1330' in sorting

----------------------------------------------------------------------

04 May 2010, ZS Saad, 3dROIstats, level 2 (MINOR), type 2 (NEW_OPT)
    Added -nzsigma to 3dROIstats

04 May 2010, ZS Saad, 1dtranspose, level 1 (MICRO), type 2 (NEW_OPT)
    Allowed 1dtranspose to accept -overwrite

    The main reason for this is to allow such a command:
      1dtranspose -overwrite FILE.1D FILE.1D
    without having to create temporary files.

----------------------------------------------------------------------

02 May 2010, ZS Saad, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed Instacorr update failure when A_ICOR dset is present on disk.

----------------------------------------------------------------------

01 May 2010, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -max_consec for Liat of Cornell

----------------------------------------------------------------------

30 Apr 2010, RW Cox, 3dTcorr1D, level 2 (MINOR), type 1 (NEW_PROG)
    Like 3dTcorrelate, but between a 1D file and a 3D+time dataset

    Really a very simple program, with 4 options for the 'correlation'
    coefficient computation: Pearson, Spearman, Quadrant, and Kendall tau_b.

30 Apr 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Right-click in DataDir label turns markers controls on/off.

----------------------------------------------------------------------

29 Apr 2010, ZS Saad, 3dMean, level 1 (MICRO), type 5 (MODIFY)
    Allowed program to work with only one dset for input.

29 Apr 2010, RW Cox, InstaCorr, level 1 (MICRO), type 2 (NEW_OPT)
    Add Kendall Tau_b to the correlation menu

    For fun, and as a start towards something else.

29 Apr 2010, RW Cox, 3dTcorrelate, level 1 (MICRO), type 2 (NEW_OPT)
    add -ktaub option

29 Apr 2010, RC Reynolds, @DriveAfni, level 1 (MICRO), type 6 (ENHANCE)
    minor updates

----------------------------------------------------------------------

28 Apr 2010, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Hide markers stuff from the user

    Unless AFNI_ENABLE_MARKERS is set to YES

28 Apr 2010, RC Reynolds, NIFTI, level 1 (MICRO), type 6 (ENHANCE)
    added NIFTI_ECODE_CARET for J. Harwell

----------------------------------------------------------------------

26 Apr 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_opts_reml

26 Apr 2010, RC Reynolds, 3dDeconvolve, level 2 (MINOR), type 6 (ENHANCE)
    add $* to end of 3dREMLfit script command, for additional arguments

    Finally getting around to afni_proc.py option -regress_opts_reml...

----------------------------------------------------------------------

21 Apr 2010, ZS Saad, 3ddelay, level 2 (MINOR), type 4 (BUG_FIX)
    -nodtrnd option was setting polort to 1, as opposed to 0.

----------------------------------------------------------------------

16 Apr 2010, ZS Saad, 3dbucket, level 2 (MINOR), type 2 (NEW_OPT)
    -agluto option = amalgamated -prefix and -glueto

----------------------------------------------------------------------

12 Apr 2010, ZS Saad, afni, level 2 (MINOR), type 4 (BUG_FIX)
    Added AFNI_GUI_WRITE_AS_DECONFLICT to modify interactive 'Write' overwrite.

    The default is to have the interactive 'Write' buttons overwrite existing
    volumes. If this env variable is set to YES, the 'Write' behaviour follows
    env AFNI_DECONFLICT

12 Apr 2010, ZS Saad, afni, level 2 (MINOR), type 4 (BUG_FIX)
    Made InstaCorr SeedJump work with GroupInCorr

----------------------------------------------------------------------

08 Apr 2010, RW Cox, 3dBandpass, level 2 (MINOR), type 4 (BUG_FIX)
    Fix -localPV implementation

----------------------------------------------------------------------

30 Mar 2010, RW Cox, 3drefit, level 1 (MICRO), type 0 (GENERAL)
    Keeps track of if it actual does something

    And then will only re-write dataset header if a change was made.
    Also, prints a message if it has to re-write entire dataset (e.g., .nii)

30 Mar 2010, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 5 (MODIFY)
    Munge input filenames if user just gives prefix

----------------------------------------------------------------------

29 Mar 2010, RW Cox, afni_history, level 1 (MICRO), type 5 (MODIFY)
    Add -dline option, alternative to -html option

29 Mar 2010, RW Cox, 3dAllineate, level 1 (MICRO), type 4 (BUG_FIX)
    Make sure auto_tstring is set to something reasonable

----------------------------------------------------------------------

28 Mar 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    applied fitts computation to REML case

----------------------------------------------------------------------

25 Mar 2010, RW Cox, help_format, level 2 (MINOR), type 5 (MODIFY)
    Hyperlink refs to other program names in -help Web pages

25 Mar 2010, RC Reynolds, plug_crender, level 1 (MICRO), type 0 (GENERAL)
    changed name in plugin list to original 'Render Dataset'

    Also changed plug_render to 'Render [old]', though it is no longer
    built by default.

25 Mar 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 6 (ENHANCE)
    small help update describing help sections

25 Mar 2010, RC Reynolds, 3dcopy, level 1 (MICRO), type 0 (GENERAL)
    on failure, warn user that sub-brick selection is not allowed

    Requested by T Nycum.

25 Mar 2010, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    small help update

----------------------------------------------------------------------

24 Mar 2010, RW Cox, 3dFWHMx, level 1 (MICRO), type 2 (NEW_OPT)
    Add -2difMAD option, for dealing with PET data, maybe.

24 Mar 2010, DR Glen, align_epi_anat.py, level 2 (MINOR), type 5 (MODIFY)
    Some flexibility with animal alignment and giant move.

    feature_size, rat_align options used for fineblur option

----------------------------------------------------------------------

23 Mar 2010, ZS Saad, 1dplot, level 2 (MINOR), type 2 (NEW_OPT)
    Added -jpgs, and -pngs to allow easier size setup.

23 Mar 2010, ZS Saad, 1dplot, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed unreported bug related to wintitle variable.

23 Mar 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_compute_fitts option, to save memory in 3dDeconvolve

----------------------------------------------------------------------

19 Mar 2010, ZS Saad, SurfDist, level 2 (MINOR), type 2 (NEW_OPT)
    Added option to calculate Euclidean distance

19 Mar 2010, RW Cox, 3dGroupInCorr, level 1 (MICRO), type 5 (MODIFY)
    Unroll correlation inner loop by 2 == speedup of 30% for this part

19 Mar 2010, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    round to 3 bits below 4 (above, truncate to int)

19 Mar 2010, RC Reynolds, 3dfractionize, level 1 (MICRO), type 0 (GENERAL)
    added 3dAllineate example of inverse tlrc warp

----------------------------------------------------------------------

18 Mar 2010, ZS Saad, RetroTS, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed crash in function remove_PNduplicates

18 Mar 2010, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Added Shft+Ctrl+click/drag to dynamic Group InstaCorr as well

18 Mar 2010, RW Cox, cs_misc.c, level 1 (MICRO), type 0 (GENERAL)
    Comma-ize function, and used in various places, for pretty print

18 Mar 2010, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    handle args with '\n' in them (probably from quoted newlines)

18 Mar 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    small updates to help for alignment options

----------------------------------------------------------------------

17 Mar 2010, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Add Shift+Ctrl+Button1 seed dragging in individual InstaCorr

17 Mar 2010, RC Reynolds, timing_tool.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed timing_to_1D when some runs are empty

    Problem found by L Thomas and B Bones.

----------------------------------------------------------------------

16 Mar 2010, ZS Saad, 3dcalc, level 2 (MINOR), type 2 (NEW_OPT)
    -within option to test Min <= X <= Max

16 Mar 2010, RW Cox, 3dREMLfit, level 2 (MINOR), type 5 (MODIFY)
    Allow all zero columns in regression matrix, with -GOFORIT option

    * Use SVD to desingularize matrix when QR factorizing (not elsewhere)
    * Remove coefficients for all zero columns from GLT matrices
    * Adjust DOF to compensate
    * This is Thalia Wheatley's fault -- blame her for any problems

16 Mar 2010, RW Cox, 3dbucket, level 1 (MICRO), type 0 (GENERAL)
    Make -glueto keep compressed form of the first dataset

    Same change made for 3dTcat

16 Mar 2010, RC Reynolds, 3dbucket, level 2 (MINOR), type 4 (BUG_FIX)
    fixed getting incorrect FDR curves (noted by D Glen)

16 Mar 2010, RC Reynolds, NIFTI, level 1 (MICRO), type 6 (ENHANCE)
    added NIFTI_ECODE_VOXBO for D. Kimberg

16 Mar 2010, RC Reynolds, 3dAttribute, level 1 (MICRO), type 6 (ENHANCE)
    set_dataset_attributes() on read - so can use on non-AFNI datasets

----------------------------------------------------------------------

15 Mar 2010, DR Glen, 3dTstat3dMean, level 1 (MICRO), type 5 (MODIFY)
    Minor text changes to refer to the other program in help

----------------------------------------------------------------------

11 Mar 2010, RC Reynolds, 3dsvm_common.c, level 1 (MICRO), type 0 (GENERAL)
    some compilers choke on mid-block variable definitions

----------------------------------------------------------------------

09 Mar 2010, ZS Saad, 3dclust, level 2 (MINOR), type 4 (BUG_FIX)
    -isomerge and -isovalue options were being ignored

09 Mar 2010, ZS Saad, 3dROIstats, level 2 (MINOR), type 2 (NEW_OPT)
    -nomeanout to get rid of mean in output

09 Mar 2010, RC Reynolds, thd_gifti.c, level 1 (MICRO), type 5 (MODIFY)
    init ptr and clear accidental debug output

09 Mar 2010, RC Reynolds, 3dNotes, level 1 (MICRO), type 0 (GENERAL)
    send -help output to stdout, not stderr (req by T Nycum)

----------------------------------------------------------------------

08 Mar 2010, ZS Saad, 3dTcat, level 2 (MINOR), type 4 (BUG_FIX)
    Program was not working with string label sub-brick selection

08 Mar 2010, RC Reynolds, GIFTI, level 2 (MINOR), type 5 (MODIFY)
    GIfTI LabelTable format change: Index to Key

    modified gifti_xml.[ch], gifti_io.[ch]

08 Mar 2010, RC Reynolds, thd_gifti.c, level 1 (MICRO), type 5 (MODIFY)
    corresponding update of lt->index to lt->key

08 Mar 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    modified option order in some help examples

----------------------------------------------------------------------

05 Mar 2010, ZS Saad, 3dLocalstat, level 2 (MINOR), type 2 (NEW_OPT)
    Added -stat P2skew to calculate Pearson's second skewness coefficient

05 Mar 2010, RW Cox, mri_read, level 1 (MICRO), type 5 (MODIFY)
    Modify to allow row and col selectors on stdin

05 Mar 2010, RC Reynolds, thd_gifti.c, level 1 (MICRO), type 5 (MODIFY)
    try to read gifti UINT32 as INT32 (for FreeSurfer aparc files)

----------------------------------------------------------------------

04 Mar 2010, RW Cox, 3dGroupInCorr, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed crash with paired t-test opcode

    Didn't switch to 1-sample mode when opcode was for paired, but no second
    data vector was passed in.  This, of course, is Mike Beauchamp's fault.

04 Mar 2010, RC Reynolds, GIFTI, level 2 (MINOR), type 5 (MODIFY)
    minor changes (also see NITRC IDs 4619 and 4644)

     - for integers, make default approx test to be equality
     - small changes to zlib failure strings
     - cast to avoid compile warning on some systems
     - made NITRC gifti.dtd link that will not change

----------------------------------------------------------------------

03 Mar 2010, ZS Saad, 3dmerge, level 2 (MINOR), type 2 (NEW_OPT)
    -isomerge and -isovalue options that mimic 3dclust's options

03 Mar 2010, ZS Saad, 3dmerge, level 2 (MINOR), type 2 (NEW_OPT)
    -1clust_depth option to determine how deep voxel is in cluster

03 Mar 2010, ZS Saad, 3dAutomask, level 2 (MINOR), type 2 (NEW_OPT)
    -depth option to determine how deep voxel is in mask

03 Mar 2010, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    GroupInstaCorr dataset now can be +orig

    If user sets environment variable AFNI_GROUPINCORR_ORIG to YES, as in
    
      afni -niml -DAFNI_GROUPINCORR_ORIG=YES

03 Mar 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    when censoring, create uncensored ideals and sum

----------------------------------------------------------------------

02 Mar 2010, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    moved weight sum in LPC

    * Old way: count a BLOK even if it doesn't contribute to correlation sum
    * New way: don't count it
    * If'n you want the old way, setenv AFNI_LPC_OLDWSUM YES
    * Also: used OpenMP to speedup coordinate transformations

02 Mar 2010, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    add overlap 'ov' to lpc+ functional

    Kind of slow -- OpenMP mabye?

----------------------------------------------------------------------

01 Mar 2010, ZS Saad, FSread_annot, level 2 (MINOR), type 5 (MODIFY)
    Allow FSread_annot to work with 2009 parcellation results.

01 Mar 2010, ZS Saad, FSread_annot, level 2 (MINOR), type 2 (NEW_OPT)
    Added -FSversoin, -hemi, and -FScmap* options for 2009 parcellations

01 Mar 2010, ZS Saad, @SUMA_Make_Spec_FS, level 2 (MINOR), type 5 (MODIFY)
    Script now deals with 2009, and 2005 parcellations.

01 Mar 2010, ZS Saad, @FS_roi_label, level 2 (MINOR), type 2 (NEW_OPT)
    Modified -name to accept 'ALL' 

01 Mar 2010, RW Cox, InstaCorr, level 1 (MICRO), type 2 (NEW_OPT)
    Add Spearman and Quadrant correlation options

01 Mar 2010, DR Glen, align_epi_anat.py, level 2 (MINOR), type 5 (MODIFY)
    Changed default options used with giant_move and 3dAllineate.

    Changed with version 1.30 of align_epi_anat.py

----------------------------------------------------------------------

26 Feb 2010, ZS Saad, afni, level 2 (MINOR), type 5 (MODIFY)
    Insert Dtable structure (Label_Dtable) in dset

    Inserted Dtable structure (dset->Label_Dtable) in THD_3dim_dataset.
    The hash table is used to report on the label corresponding to a voxel's
    integer value. Inserting a label table into the header can be done
    with 3drefit.
    Labels are reported in the ULay and OLay value fields in the bottom right
    corner of AFNI's Define Overlay panel. The hint at that location also 
    shows the labels, which could be quite long.

26 Feb 2010, ZS Saad, 3drefit, level 2 (MINOR), type 2 (NEW_OPT)
    -labeltable option to add a label table to a dataset

26 Feb 2010, RW Cox, afni InstaCorr, level 1 (MICRO), type 0 (GENERAL)
    Add polort option to InstaCorr setup

    Beware the frumious Bandersnatch, Ziad.

----------------------------------------------------------------------

24 Feb 2010, RW Cox, 3dAllineate, level 2 (MINOR), type 2 (NEW_OPT)
    New cost functional -lpc+

    Combination of lpc + hel + crA + nmi + mi.
    Also some micro changes to allow more -twobest starting points and the
    like.

----------------------------------------------------------------------

20 Feb 2010, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -timing_to_1D, -tr and -min_frac for PPI scripting (and B Benson)

----------------------------------------------------------------------

19 Feb 2010, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Turn up -twoblur limit from 7 to 11.

----------------------------------------------------------------------

18 Feb 2010, RW Cox, 3dDespike, level 1 (MICRO), type 5 (MODIFY)
    Add printout of Laplace distribution percentages

    And fix normal CDF calculation

18 Feb 2010, RC Reynolds, SUMA_Makefile_NoDev, level 1 (MICRO), type 0 (GENERAL)
    added '--includedir /usr/local/netpbm' for libgts.a build on new Linux

----------------------------------------------------------------------

15 Feb 2010, ZS Saad, afni, level 2 (MINOR), type 5 (MODIFY)
    Automatically setup range and sign for ROI colorbars

15 Feb 2010, ZS Saad, 3dTstat, level 2 (MINOR), type 2 (NEW_OPT)
    -arg*1 options to keep from getting 0 in arg* output

15 Feb 2010, ZS Saad, 3dTstat, level 2 (MINOR), type 2 (NEW_OPT)
    -*mask options to allow masking

----------------------------------------------------------------------

12 Feb 2010, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Better setup of left and right flat surfaces.

12 Feb 2010, ZS Saad, MapIcosahedron, level 2 (MINOR), type 2 (NEW_OPT)
    -*_cut_surfaces to deal with bad triangles on standard flat surfaces

12 Feb 2010, ZS Saad, 3dTstat, level 2 (MINOR), type 2 (NEW_OPT)
    Added -argmin1, -argmax1, -argabsmax1 options to increment argument by 1

----------------------------------------------------------------------

09 Feb 2010, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed silly bug introduced in previous version

    isdigit() method not called properly (Thanks Rick)

----------------------------------------------------------------------

08 Feb 2010, RW Cox, 3dSetupGroupInCorr, level 1 (MICRO), type 5 (MODIFY)
    Change default storage to -byte from -short

08 Feb 2010, RW Cox, 3dSatCheck, level 1 (MICRO), type 1 (NEW_PROG)
    Program to check for initial transients

    i.e., if the FMRI time series has non-saturated time points at the
    beginning (on average) -- uses the code thd_satcheck.c for the real work
    -- the same as used in 3dBandpass.  At this time, 3dSatCheck is not
    compiled in the binary distributions of AFNI.

08 Feb 2010, RW Cox, 3dBandpass, level 1 (MICRO), type 5 (MODIFY)
    Check for initial transients

    i.e., non-saturated MRI signal in the first few time points

08 Feb 2010, RW Cox, 3dBandpass, level 1 (MICRO), type 5 (MODIFY)
    OpenMP-ize the -blur option

----------------------------------------------------------------------

05 Feb 2010, RC Reynolds, GIFTI, level 2 (MINOR), type 5 (MODIFY)
    thd_gifti: if LabelTable use INTENT_LABEL, suma_gifti.c: no normals

    done with Ziad

----------------------------------------------------------------------

04 Feb 2010, RW Cox, Group InstaCorr, level 1 (MICRO), type 0 (GENERAL)
    Set more informative labels for results sub-brick

    With the addition of the -label[AB] options to 3dGroupInCorr.c, the
    sending of labels to AFNI, and the setting of labels in
    afni_pplug_instacorr.c

----------------------------------------------------------------------

03 Feb 2010, RW Cox, Group InstaCorr, level 2 (MINOR), type 0 (GENERAL)
    2-sample case now also sends back 1-sample results

    With this, you can look at the 2-sample difference in controller A, and
    the 2 1-sample results in controllers B and C.  This lets you see the
    difference AND similarities at the same time.

03 Feb 2010, RW Cox, Group InstaCorr, level 1 (MICRO), type 0 (GENERAL)
    -byte option to save memory

    3dSetupGroupInCorr and 3dGroupInCorr can now use bytes to store the huge
    datasets, which will save disk space and memory.  Results are virtually
    identical.

----------------------------------------------------------------------

28 Jan 2010, DR Glen, align_epi_anat.py, level 2 (MINOR), type 2 (NEW_OPT)
    Options for multiple cost functionals,edge control

    multi_cost option for trying out different cost functionals.
    check_cost option for comparing for big differences among cost
    functionals
    edge_erodelevel option for adjusting the number of layers to erode
    for edge option

----------------------------------------------------------------------

21 Jan 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -tlrc_opts_at; made tiny mod to scaling operation

----------------------------------------------------------------------

15 Jan 2010, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -regress_fout yes/no option for G. Pagnoni

----------------------------------------------------------------------

14 Jan 2010, ZS Saad, 3dLocalstat, level 2 (MINOR), type 2 (NEW_OPT)
    Added -rank and -frank options to 3dLocalstat

14 Jan 2010, RC Reynolds, 3dVol2Surf, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed crash w/labels on '-map_func seg_vals' -> NIML

    Problem found by Swaroop at Dartmouth.

----------------------------------------------------------------------

12 Jan 2010, RC Reynolds, 2dImReg, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed crash if ny > nx.  Go back to failure and ponder fix.

----------------------------------------------------------------------

07 Jan 2010, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    stdint.h should not be included on a SOLARIS_OLD system

----------------------------------------------------------------------

06 Jan 2010, RC Reynolds, thd_intlist.c, level 2 (MINOR), type 4 (BUG_FIX)
    fixed sub-brick selection of datasets without labels (e.g. NIfTI)

----------------------------------------------------------------------

31 Dec 2009, RW Cox, 3dGroupInCorr, level 3 (MAJOR), type 1 (NEW_PROG)
    Group InstaCorr

    With changes to afni and also new program 3dSetupGroupInCorr

31 Dec 2009, RW Cox, many, level 1 (MICRO), type 0 (GENERAL)
    Remove 'cast ... different size' warnings

    Macros: ITOP and PTOI to cast without warnings.  For Z.

----------------------------------------------------------------------

24 Dec 2009, RC Reynolds, gifti_tool, level 2 (MINOR), type 2 (NEW_OPT)
    added -approx_gifti option

24 Dec 2009, RC Reynolds, GIFTI, level 2 (MINOR), type 6 (ENHANCE)
    added approximate difference functions

    - added gifti_approx_gifti_images, DA_pair, labeltables, diff_offset
    - added gifti_triangle_diff_offset
    - gifti_compare_coordsys takes comp_data param

----------------------------------------------------------------------

23 Dec 2009, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Minor changes to 'DataDir' to appease DRG

----------------------------------------------------------------------

18 Dec 2009, RW Cox, 3dBandpass, level 1 (MICRO), type 1 (NEW_PROG)
    Finally finished this!

----------------------------------------------------------------------

15 Dec 2009, ZS Saad, afni, level 2 (MINOR), type 2 (NEW_OPT)
    Allow label based sub-brick selection in AFNI and SUMA

15 Dec 2009, RW Cox, 3dmaskSVD, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed 2 problems with -ort option

    1) It didn't work, since the wrong array name was used :-(
    2) It could fail, since the detrend routine didn't like collinear orts
    -- replaced it with one that is happier with such things.

----------------------------------------------------------------------

14 Dec 2009, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    New environment variable AFNI_RECENTER_VIEWING

14 Dec 2009, DR Glen, McRetroTS, level 2 (MINOR), type 4 (BUG_FIX)
    Variable Opt parameters were not parsed correctly

    Options structure fields should be added correctly into Opt structure

----------------------------------------------------------------------

12 Dec 2009, DR Glen, 1dSEM, level 2 (MINOR), type 4 (BUG_FIX)
    modify parsimonious fit index to be based on null model

    Previous calculation used chi-square from minimum model without adjusting
    for number of parameters in model.

----------------------------------------------------------------------

08 Dec 2009, RC Reynolds, GIFTI, level 2 (MINOR), type 6 (ENHANCE)
    added ability to read/write GIFTI LabelTables with colors in thd_gifti.c

----------------------------------------------------------------------

04 Dec 2009, RW Cox, 3dLocalPV, level 1 (MICRO), type 5 (MODIFY)
    OpenMP changes.  Speedup about factor of 3 using 6 CPUs.

04 Dec 2009, RC Reynolds, 3dWarp, level 1 (MICRO), type 0 (GENERAL)
    add help example of going from +tlrc space to +orig space

----------------------------------------------------------------------

03 Dec 2009, RW Cox, 3dLocalPV, level 2 (MINOR), type 1 (NEW_PROG)
    Speeded up version of 3dLocalSVD

    Speed comes with some small limitations.  About 30% faster.

03 Dec 2009, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Modify GUI to add a Read session button next to the Switch button

    Because of complaints that it's hard to figure out what to do if AFNI
    doesn't start in the right directory.

----------------------------------------------------------------------

01 Dec 2009, ZS Saad, suma-general, level 2 (MINOR), type 4 (BUG_FIX)
    Ignore triangles from Caret with nodes that have all zero coords

    Not doing so results in bad display of some flat meshes because
    the .topo file contains triangles with nodes that appear masked by
    0.0 0.0 0.0 in the .coord file

01 Dec 2009, ZS Saad, @SUMA_Make_Spec_Caret, level 2 (MINOR), type 4 (BUG_FIX)
    Improved script to make it pick up new naming convention.

----------------------------------------------------------------------

30 Nov 2009, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Modify license to specify GPL v2 OR ANY LATER VERSION

30 Nov 2009, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    afni crashes on short ANALYZE file from double fclose()

----------------------------------------------------------------------

25 Nov 2009, ZS Saad, MapIcosahedron, level 3 (MAJOR), type 2 (NEW_OPT)
    Added -NN_dset_map and -dset_map options to map dsets onto new meshes

    The program now automatically warps LabelDsets specified in the spec
    file, or any dataset specified on the command line.

----------------------------------------------------------------------

24 Nov 2009, ZS Saad, afni-matlab, level 2 (MINOR), type 4 (BUG_FIX)
    Stopped writing empty attributes which caused trouble in AFNI.

    Empty attributes make AFNI halt the parsing of the header.

24 Nov 2009, ZS Saad, 1dmatcalc, level 2 (MINOR), type 2 (NEW_OPT)
    Added &read4x4Xform to read in spatial affine transformations.

    1dmatcalc can now take in spatial affine transforms in vector
    or matrix form

24 Nov 2009, RW Cox, thd_atr.c, level 1 (MICRO), type 4 (BUG_FIX)
    Allow 'count = 0' in attributes

    Formerly was a fatal error.  Now just skips to next attribute.  For
    Ziad.

----------------------------------------------------------------------

23 Nov 2009, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Workaround for connection drop between AFNI and SUMA in Shared Memory Mode.

    Env SUMA_AttemptTalkRecover allows SUMA to recover from drop.
    This ENV is set by default to No.

23 Nov 2009, ZS Saad, afni, level 1 (MICRO), type 4 (BUG_FIX)
    A couple of small fixes to drive_switch functions.

    The problem with with sscanf reading past string end
    in certain cases.

23 Nov 2009, RW Cox, 3dmaskSVD, level 1 (MICRO), type 2 (NEW_OPT)
    Add -bpass option

23 Nov 2009, RW Cox, 3dTcorrMap, level 1 (MICRO), type 2 (NEW_OPT)
    Add various options in the last few days

    * -seed = a different dataset for the seed time series
    * -bpass = instead of -polort
    * -Gblur = blurring
    * -Mseed = extra smoothing around the seed
    * -Hist = output the histogram of the correlations

23 Nov 2009, G Chen, 3dKS.R, level 2 (MINOR), type 1 (NEW_PROG)
    Kolmogorov-Smirnov test

    This is an R program that runs Kolmogrov-Smirnov test between
    two groups of subjects. It takes individual sub-brick files from
    each subject as input and spills two sub-bricks in the output,
    first one being the Kolmogorov-Smirnov statistic D, while the 2nd
    the corresponding Z-score.

----------------------------------------------------------------------

20 Nov 2009, DR Glen, 3dAutomask, level 2 (MINOR), type 2 (NEW_OPT)
    apply_prefix option to save automasked input

    avoids 3dcalc step that is usually used to apply an automask.

----------------------------------------------------------------------

19 Nov 2009, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed recorder lag on OS X machines.

    On OS X platforms, the 'r' or 'R' recording modes
    used to record the previous image it seems. 

----------------------------------------------------------------------

18 Nov 2009, RW Cox, mri_read.c, level 1 (MICRO), type 0 (GENERAL)
    Fix Ziad's stupid error printout in reading .1D files

    To indicate which file is causing the trouble.
    To limit the number of such Failure messages to a reasonable level.
    Sheesh.

----------------------------------------------------------------------

17 Nov 2009, ZS Saad, suma, level 3 (MAJOR), type 2 (NEW_OPT)
    SUMA now handles labeled datatets in a special manner

    An example of a labeled dataset would be FreeSurfer's annotation files.
    If an annotation file is present in the spec file (@SUMA_Make_Spec_FS),
    SUMA will display it as part of the background.
    You can chose to display the labeled dataset in color, contours, or both.
    Data from labeled datasets is now shown under the 'Lbl' field in the
    surface controller's Xhair block.

17 Nov 2009, ZS Saad, suma_general, level 2 (MINOR), type 3 (NEW_ENV)
    SUMA_AlwaysAssignSurface (see suma -environment for details)

17 Nov 2009, ZS Saad, suma_general, level 2 (MINOR), type 3 (NEW_ENV)
    SUMA_LabelDsetOpacity (see suma -environment for details)

17 Nov 2009, ZS Saad, suma_general, level 2 (MINOR), type 3 (NEW_ENV)
    SUMA_ConvexityDsetOpacity (see suma -environment for details)

17 Nov 2009, ZS Saad, suma_general, level 2 (MINOR), type 3 (NEW_ENV)
    SUMA_ShowLabelDsetAtStartup (see suma -environment for details)

17 Nov 2009, ZS Saad, ROI2dataset, level 2 (MINOR), type 2 (NEW_OPT)
    Option -label_dset creates a labeled dataset from ROIs.

    Labeled datasets are now rendered in a special manner in SUMA

17 Nov 2009, ZS Saad, FSread_annot, level 2 (MINOR), type 2 (NEW_OPT)
    Option -dset creates a labeled dataset from annotation file.

    Labeled datasets are now rendered in a special manner in SUMA

17 Nov 2009, ZS Saad, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    Script now automatically sets up the spec file with labeled datasets

    Labeled datasets are created from annotation files,
    and are now rendered in a special manner in SUMA

17 Nov 2009, RW Cox, 3dTfitter, level 1 (MICRO), type 0 (GENERAL)
    Let FALTUNG kernel be longer that N/2

    Also add synonyms '-L2' and '-L1'

----------------------------------------------------------------------

16 Nov 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    allow motion censoring with varying run lengths

    Also, if a max is applied in scaling, explicitly limit to [0,max].

16 Nov 2009, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 6 (ENHANCE)
    allow motion censoring with varying run lengths

----------------------------------------------------------------------

09 Nov 2009, ZS Saad, SurfPatch, level 2 (MINOR), type 2 (NEW_OPT)
    Added options to check for, and correct 'bowties' in pathches.

    Bowties in patches result in non 2-manifold stiched surfaces whose
    volume cannot be calculated. The *bowtie option deal with such cases.

09 Nov 2009, ZS Saad, SurfPatch, level 2 (MINOR), type 2 (NEW_OPT)
    Added options to shrink patch contours at nodes not in selected nodes.

    See options -adjust_contour for details.

09 Nov 2009, ZS Saad, SurfMeasures, level 2 (MINOR), type 2 (NEW_OPT)
    Added option for improved node volume estimation.

    The new measure, called node_volg, uses Gauss' Theorem to estimate
    the volume associated with a node in two isotopic surfaces. This option
    is more robust to surface curvature variations.

----------------------------------------------------------------------

04 Nov 2009, RC Reynolds, Dimon, level 1 (MICRO), type 5 (MODIFY)
    small change to check on sort problems

04 Nov 2009, DR Glen, align_epi_anat.py, level 2 (MINOR), type 2 (NEW_OPT)
    3dAllineate option for motion correction

    volreg_method allows 3dAllineate, which is useful for DTI data.
    Bug fix for post-transformation matrix and dataset view

----------------------------------------------------------------------

03 Nov 2009, ZS Saad, MapIcosahedron, level 1 (MICRO), type 5 (MODIFY)
    Minor code change, EdgeList was computed twice for no reason.

03 Nov 2009, RW Cox, 3dREMLfit, level 1 (MICRO), type 0 (GENERAL)
    Modify default -CORcut value from 0.0025 to 0.0011

    To reduce likelihood of Choleski failure.

----------------------------------------------------------------------

27 Oct 2009, RC Reynolds, GIFTI, level 2 (MINOR), type 6 (ENHANCE)
    added support for optional LabelTable RGBA attributes

----------------------------------------------------------------------

23 Oct 2009, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -censor_fill and -censor_fill_par

    These options are to zero-pad TRs that were censored by 3dDeconvolve.

----------------------------------------------------------------------

21 Oct 2009, RW Cox, 1dAstrip, level 1 (MICRO), type 1 (NEW_PROG)
    To remove Alpha characters from 1D-like files.

    For my own ill-conceived plans for global domination.  Cheap and not
    perfect.

----------------------------------------------------------------------

19 Oct 2009, RW Cox, 3dBlurInMask, level 1 (MICRO), type 2 (NEW_OPT)
    add -preserve option, to keep Rick Reynolds from defecting to SPM

19 Oct 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added options for using 3dBlurInMask, instead of 3dmerge

    - added -blur_in_mask, -blur_in_automask and -blur_opts_BIM
    - added -sep_char and -subj_curly

19 Oct 2009, DR Glen, align_epi_anat.py, level 3 (MAJOR), type 2 (NEW_OPT)
    New master options, dset1/2 terminology

    New master_nnn_dxyz options to specify output resolution
    dset1 and dset2 for non-EPI/anat alignment with lpa cost function
    and turns off preprocessing steps
    giant_move option turns off resampling and changes master options
    Expanded help - including fuller description of edge method
    Removed volume registration (motion correction) for anat2epi option
    by default.
    AFNI dataset views (+orig/+acpc/+tlrc) are maintained in output
    depending on BASE, SOURCE or external dataset names for all output

----------------------------------------------------------------------

16 Oct 2009, ZS Saad, afni, level 1 (MICRO), type 5 (MODIFY)
    Turned off zeroing of uncommented text in .1D files

    You can turn this behaviour back on by setting env
    AFNI_1D_ZERO_TEXT to YES

16 Oct 2009, ZS Saad, 1dSEM, level 1 (MICRO), type 5 (MODIFY)
    Setenv AFNI_1D_ZERO_TEXT to YES  

16 Oct 2009, RW Cox, cs_qmed.c, level 1 (MICRO), type 0 (GENERAL)
    added function to compute biweight midvariance

16 Oct 2009, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -demean, to demean motion parameters, for example

    The polort 0 values should be more accurate baseline constants.
    Useful for creating a proper polort baseline w/3dSynthesize.

----------------------------------------------------------------------

15 Oct 2009, ZS Saad, afni, level 1 (MICRO), type 5 (MODIFY)
    Manual graph scaling forces AUTOSCALE [A] off

----------------------------------------------------------------------

14 Oct 2009, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Direct viewing of pre-processed datasets in Dot xform

14 Oct 2009, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    New help window for Dot xform

14 Oct 2009, RC Reynolds, 3dTcat, level 1 (MICRO), type 6 (ENHANCE)
    allow creation of single volume dataset

    as requested by N Vack (among many others)

----------------------------------------------------------------------

13 Oct 2009, ZS Saad, quickspec, level 1 (MICRO), type 2 (NEW_OPT)
    -tsnad to allow for setting anatomical flag and local domain parent

13 Oct 2009, ZS Saad, ConvertSurface, level 1 (MICRO), type 2 (NEW_OPT)
    -xmat_1D allows for single row transform definition

----------------------------------------------------------------------

08 Oct 2009, RW Cox, 3dPeriodogram, level 1 (MICRO), type 1 (NEW_PROG)
    Does what it sound like, more or less, I hope.

----------------------------------------------------------------------

07 Oct 2009, ZS Saad, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    1dplot's window frame now shows a title. See 1dplot -wintitle for details.

07 Oct 2009, RW Cox, 3dBlurInMask, level 2 (MINOR), type 2 (NEW_OPT)
    Add -Mmask option to allow multiple mask values

    For independent blurring (e.g., blur WM and GM separately).

07 Oct 2009, RW Cox, various, level 1 (MICRO), type 5 (MODIFY)
    Modify srand48() init to use time()+getpid()

    To make close-in-time runs have independent seeds.

----------------------------------------------------------------------

06 Oct 2009, ZS Saad, suma, level 3 (MAJOR), type 4 (BUG_FIX)
    More bug fixes related to ROI loading, and OSX's GLX problem

06 Oct 2009, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -set_run_lengths option, for varying run lengths

    Added for motion censoring and run padding.

----------------------------------------------------------------------

02 Oct 2009, RW Cox, calc, level 1 (MICRO), type 5 (MODIFY)
    Add mod(a,b) function to please RCR

02 Oct 2009, RW Cox, 1dgenARMA11, level 1 (MICRO), type 1 (NEW_PROG)
    Generates ARMA(1,1) correlated noise time series

    For simulation purposes.

02 Oct 2009, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    also output cosines with -show_cormat_warnings

----------------------------------------------------------------------

01 Oct 2009, RC Reynolds, afni-general, level 1 (MICRO), type 0 (GENERAL)
    9/29, defined isblank() in case of SOLARIS_OLD ... and then removed it

01 Oct 2009, RC Reynolds, @Reorder, level 1 (MICRO), type 5 (MODIFY)
    minor changes:

    - changed warnings on varying incidence counts (JB's woriding)
    - discard indices which are not valid sub-bricks
    - do not call 3dTstat if only one sub-brick

----------------------------------------------------------------------

30 Sep 2009, RW Cox, 3dDeconvolve, level 1 (MICRO), type 5 (MODIFY)
    Let user modulate amplitude of dmBLOCK

    In particular, dmBLOCK(0) means the program modulates the amplitude
    based on duration.

30 Sep 2009, RW Cox, 3dDeconvolve, level 1 (MICRO), type 5 (MODIFY)
    Transpose row-wise 1D file on input when user screws up

    1D files input to 3dDeconvolve are expected to have 1 column and many
    rows.  If the user gets this backwards, the program now transposes the
    file internally, with an INFO message.

----------------------------------------------------------------------

29 Sep 2009, RW Cox, afni, level 3 (MAJOR), type 5 (MODIFY)
    InstaCalc is more-or-less ready

    At least, I let Mike Beauchamp test it for his cunning plans.

29 Sep 2009, RW Cox, afni InstaCorr, level 1 (MICRO), type 0 (GENERAL)
    Modify SeedBlur to SeedRad

    Flat average over a sphere of given radius, instead of a Gaussian blur. 
    For Steve and Alex.

29 Sep 2009, RC Reynolds, @Reorder, level 2 (MINOR), type 1 (NEW_PROG)
    script version of reorder plugin, for J. Bjork

29 Sep 2009, DR Glen, RetroTS, level 2 (MINOR), type 2 (NEW_OPT)
    Flexible slice timing options

    SliceOrder option allows for standard slice timing order
      alt+z, alt-z, seq+z, seq-z, Custom and 1D text file input

29 Sep 2009, DR Glen, McRetroTS, level 2 (MINOR), type 2 (NEW_OPT)
    Opt options available to compiled version

    All options available through the Opt structure are now available
    even with the compiled version of McRetroTS, making the compiled version
    functionally equivalent to the RetroTS.m version

----------------------------------------------------------------------

25 Sep 2009, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    InstaCalc is starting to work! Sort of. Crudely.

----------------------------------------------------------------------

24 Sep 2009, ZS Saad, suma, level 3 (MAJOR), type 4 (BUG_FIX)
    Fixed crashes on OS X 10.5 caused by OS X's buggy GLX implementation

24 Sep 2009, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Improved the 'star' blurring interface.

24 Sep 2009, ZS Saad, suma, level 2 (MINOR), type 3 (NEW_ENV)
    Setup final color blurring level.

24 Sep 2009, RW Cox, thd_1Ddset.c, level 1 (MICRO), type 0 (GENERAL)
    Allow writing of 1D complex datasets instead of convert to float

    For Larry Frank, who I love like a brother.  Or a second cousin once
    removed.

----------------------------------------------------------------------

18 Sep 2009, ZS Saad, SurfClust, level 2 (MINOR), type 2 (NEW_OPT)
    Added option -n minnodes

18 Sep 2009, ZS Saad, FSread_annot, level 2 (MINOR), type 2 (NEW_OPT)
    Allow specifying external FreeSurfer color table.

----------------------------------------------------------------------

17 Sep 2009, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Started writing InstaCalc

----------------------------------------------------------------------

16 Sep 2009, RW Cox, parser,f, level 1 (MICRO), type 5 (MODIFY)
    Add 'NOT' function as a synonym for 'ISZERO'

16 Sep 2009, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    FIx recursive calls to AFNI_set_viewpoint()

    Caused by the UNCLUSTERIZE macro, which now checks to see if the
    function redisplay is really needed.

16 Sep 2009, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Make the AFNI_FLASH_VIEWSWITCH variable default to NO, not YES

    Sorry, Adam, but Ziad matters more to me than you do.

16 Sep 2009, RW Cox, All, level 1 (MICRO), type 0 (GENERAL)
    Oh, and did I mention that Ziad Saad is Trouble?

    Rasmus Birn isn't far behind, either.

16 Sep 2009, RC Reynolds, 3ddot, level 2 (MINOR), type 4 (BUG_FIX)
    de-meaning data causes permission-based seg fault, apply means upon read

    Problem found by Giuseppe Pagnoni.

16 Sep 2009, RC Reynolds, timing_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -scale_data for J Meltzer

16 Sep 2009, RC Reynolds, plug_vol2surf, level 1 (MICRO), type 6 (ENHANCE)
    can init debug level via AFNI_DEBUG_PLUG_VOL2SURF

----------------------------------------------------------------------

14 Sep 2009, ZS Saad, SurfClust, level 2 (MINOR), type 2 (NEW_OPT)
    Allow specifying rmm in number of edges connecting nodes.

----------------------------------------------------------------------

09 Sep 2009, ZS Saad, @fast_roi, level 2 (MINOR), type 2 (NEW_OPT)
    Allow @fast_roi to accept existing TLRC transformed anatomy

09 Sep 2009, RW Cox, 3dmaskdump, level 2 (MINOR), type 2 (NEW_OPT)
    Add 'ball' options for mask generation

09 Sep 2009, RW Cox, 3dmaskave, level 1 (MICRO), type 2 (NEW_OPT)
    Add box and ball options to this program, per Kyle Simmons

----------------------------------------------------------------------

08 Sep 2009, RC Reynolds, realtime_receiver.py, level 1 (MICRO), type 5 (MODIFY)
    bind to open host, so a /etc/hosts entry is not required

08 Sep 2009, DR Glen, whereami, level 2 (MINOR), type 5 (MODIFY)
    Allows MNI_ANAT space for whereami

    Subtracts 8mm I-S and uses MNI space transform to TTA

08 Sep 2009, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    Properly allows post-transformation matrix

----------------------------------------------------------------------

04 Sep 2009, RC Reynolds, plug_realtime, level 2 (MINOR), type 6 (ENHANCE)
    registration can now be consistent across runs

    Reg Base can be 'Current': to set the base volume from the current run
    (call this the old way), 'Current & Keep': use current run, but then
    store that base and apply it to future runs, 'External Dataset': fix the
    base from some chosen dataset.
    
    Using 'Current & Keep' makes sense for realtime registration.

04 Sep 2009, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 2 (NEW_OPT)
    if wget fails, try curl; added -curl and -testing options

----------------------------------------------------------------------

03 Sep 2009, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    Bug fixes for certain combinations

    Allowed BASE and SOURCE specification for oblique data
    Allowed 3dWarpDrive volume registration with mean/max base
    Removed anatomical output with oblique data and only epi2anat

----------------------------------------------------------------------

02 Sep 2009, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Add ZeroToOne 1D transform function

----------------------------------------------------------------------

28 Aug 2009, RC Reynolds, afni_util.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed make_CENSORTR_string, comma delimitation needs run: prefix

----------------------------------------------------------------------

27 Aug 2009, RW Cox, AFNI image viewer, level 1 (MICRO), type 0 (GENERAL)
    Keyboard Home key centers zoom window at crosshairs

    Doesn't work if cropping and zooming are mixed.  (The logistics are too
    hard for my feeble brain.)

27 Aug 2009, RW Cox, AFNI image viewer, level 1 (MICRO), type 5 (MODIFY)
    More crop region features

    * Shift+Home centers crop region on the crosshairs
    * Shift/Ctrl+arrow now respect image flip status
    * Environment variable AFNI_IMAGE_CROPSTEP sets sign and size of crop
    region shifting with Shift+arrow keys
    * If this doesn't make John Butman happy, I don't know what will.

27 Aug 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed motion_ prefix in '3dDeconvolve -censor'

    Problem found by B Bones.

27 Aug 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -regress_local_times, -regress_global_times

    Since the -local_times and -global_times options in 3dDeconvolve must be
    processed before the stimuli they refer to, it does nothing to pass them
    via -regress_opts_3dD.  Hence, the options are needed.

----------------------------------------------------------------------

26 Aug 2009, RW Cox, 3dFFT, level 2 (MINOR), type 1 (NEW_PROG)
    Compute spatial 3D FFT of a dataset

    * This is for John Butman
    * Was started a long time ago, but only finished today
    * Probably useless

26 Aug 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    in scaling block, explicitly remove any negative data values

----------------------------------------------------------------------

25 Aug 2009, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Provide keystroke fine control over cropping in image viewer

    Shift+arrowkey = scroll crop window
    Ctrl+arrowkey  = resize crop window
    Right-click on crop button = menu to set size exactly
    Hint on crop button = shows crop parameters

25 Aug 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 6 (ENHANCE)
    if volreg block, always create motion_${subj}_enorm.1D

25 Aug 2009, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 6 (ENHANCE)
    with -censor_motion, also output PREFIX_enorm.1D

----------------------------------------------------------------------

24 Aug 2009, RW Cox, mrilib.h, level 1 (MICRO), type 4 (BUG_FIX)
    CABS macro fails if complex number has huge components

    This is Larry Frank's fault, of course.

24 Aug 2009, RW Cox, 3dAFNItoNIML, level 1 (MICRO), type 2 (NEW_OPT)
    Add -ascii option == way to dump dataset in plain text

----------------------------------------------------------------------

21 Aug 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_censor_motion and -regress_censor_prev

    Motivated by L Thomas and B Bones.

21 Aug 2009, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -show_censor_count

----------------------------------------------------------------------

20 Aug 2009, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added motion censoring options

    Added -censor_motion, -censor_prev_TR,  -collapse_cols, -extreme_mask,
          -set_tr, -write_censor and -write_CENSORTR.
    Also modified afni_util.py, lib_afni1D.py and option_list.py.

----------------------------------------------------------------------

14 Aug 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -align_epi_ext_dset, to align anat to external EPI

    This may be important for multi-channel coil EPI data with low internal
    structural contrast.  Users might align to the first (pre-steady-state)
    TR, even though that volume is not used in the analysis.

----------------------------------------------------------------------

13 Aug 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -volreg_tlrc_adwarp, to apply a manual Talairach transformation

----------------------------------------------------------------------

11 Aug 2009, RW Cox, cs_symeig.c, level 1 (MICRO), type 0 (GENERAL)
    Speedup first_principal_vectors() -- for 3dmaskSVD and 3dLocalSVD

    By hand tweaking the normal matrix calculation loops

11 Aug 2009, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Make handedness warning more explicit

----------------------------------------------------------------------

10 Aug 2009, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Fix crash reported by Ziad and Rick

    In afni_setup_viewing(), fim_now might not be valid -- so allow for
    that.

10 Aug 2009, RW Cox, 3dABoverlap, level 1 (MICRO), type 5 (MODIFY)
    Modified to skip automask if dataset is byte-valued with 1 volume

10 Aug 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    truncate min dim to 3 sig bits for -volreg_tlrc_warp/-volreg_align_e2s

    The old default was 2 bits, -volreg_warp_dxyz overrides.

10 Aug 2009, RC Reynolds, 3dSurf2Vol, level 2 (MINOR), type 6 (ENHANCE)
    allow processing of -overwrite and AFNI_DECONFLICT

----------------------------------------------------------------------

06 Aug 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed problems found by I Mukai and K Bahadur

    - fixed -volreg_align_to base as applied in align_epi_anat.py
    - fixed blur 'averages' computation when only one run

----------------------------------------------------------------------

04 Aug 2009, RC Reynolds, realtime_receiver.py, level 2 (MINOR), type 6 (ENHANCE)
    added basic demo interface and itemized exception traps

----------------------------------------------------------------------

31 Jul 2009, RC Reynolds, prompt_user, level 1 (MICRO), type 6 (ENHANCE)
    apply some escape sequences, mostly to display newlines

----------------------------------------------------------------------

29 Jul 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed creation of extents mask when only 1 run

----------------------------------------------------------------------

28 Jul 2009, RC Reynolds, 3dREMLfit, level 2 (MINOR), type 5 (MODIFY)
    if known, require proper slice regressor ordering in -slibase* opts

----------------------------------------------------------------------

27 Jul 2009, RW Cox, libmri, level 1 (MICRO), type 5 (MODIFY)
    Add function mri_get_tempfilename() to mri_purger.c

    To return a unique filename in a temp directory.  Sort of like a fancy
    version of the C library function tmpnam().

27 Jul 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    use -slibase_sm instead of -slibase in 3dREMLfit

27 Jul 2009, RC Reynolds, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    added -slibase_sm, for slice-major ordering of regressors

    RetroTS and afni_proc.py were incorrectly using this ordering.
    ** Analysis done prior to this probably needs to be re-done.

27 Jul 2009, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_labels and -show_label_ordering

27 Jul 2009, RC Reynolds, plug_realtime, level 1 (MICRO), type 6 (ENHANCE)
    added Y/N AFNI_REALTIME_reset_output_index, to start each dset at 001

    Also, changed prefix separator to double underscore '__'.

27 Jul 2009, RC Reynolds, afni-general, level 1 (MICRO), type 0 (GENERAL)
    added SOLARIS_OLD atanhf #define to machdep.h

----------------------------------------------------------------------

24 Jul 2009, RW Cox, afni.h, level 1 (MICRO), type 0 (GENERAL)
    Replaced VERSION with AVERZHN to avoid conflicts with SVMlight

    So AFNI doesn't have a VERSION any more, it has an AVERZHN.

24 Jul 2009, RW Cox, THD_open_3dcalc(), level 1 (MICRO), type 0 (GENERAL)
    Modify to use globally unique filename every time, fer shur.

    cf. code in file thd_mastery.c, using the UNIQ_idcode() function in
    niml_uuid.c to create a unique filename

----------------------------------------------------------------------

23 Jul 2009, RW Cox, 3dTfitter, level 1 (MICRO), type 2 (NEW_OPT)
    Added -errsum option, to save error sums per voxel.

    And a -help example showing how the error sum of squares can be used to
    compute partial correlation coefficients of a fit.

23 Jul 2009, RW Cox, 3dLocalSVD, level 1 (MICRO), type 4 (BUG_FIX)
    Fix bug when all vectors are zero.

23 Jul 2009, RC Reynolds, timing_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -partition option

23 Jul 2009, RC Reynolds, afni_run_R, level 2 (MINOR), type 6 (ENHANCE)
    allow any number of args, but where first is program, last is output

23 Jul 2009, DR Glen, MEMRI models, level 2 (MINOR), type 2 (NEW_OPT)
    Single and Dual exponential models

    New models for 3dNLfim that use single and dual exponential models
    that are appropriate for MEMRI (Manganese Enhanced MRI

----------------------------------------------------------------------

22 Jul 2009, RC Reynolds, realtime_receiver.py, level 3 (MAJOR), type 1 (NEW_PROG)
    python replacement for serial helper

    New 'data_choice' options can be added to compute_data_for_serial_port
    for sending results of a different computation to the serial port.

----------------------------------------------------------------------

21 Jul 2009, RW Cox, niml_feedme, level 2 (MINOR), type 1 (NEW_PROG)
    Test and demo program showing how to set datasets to AFNI via NIML

    An analog to rtfeedme.  Sends volumes to AFNI using VOLUME_DATA
    elements.  Pretty rudimentary.

21 Jul 2009, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Update widgets and viewing when VOLUME_DATA is added to a dataset

    * Fix AFNI_setup_viewing() to update widgets properly when dataset nvals
    changes
    * Add function AFNI_update_dataset_viewing() to deal with viewing
    changes that might be needed if a dataset is altered

----------------------------------------------------------------------

17 Jul 2009, RW Cox, 3dLocalstat, level 1 (MICRO), type 5 (MODIFY)
    speedup for OpenMP

    Modify mri_nstats.c to use pre-malloc-ed workspaces, instead of a new
    one for each calculation, which makes a big difference in OpenMP.

----------------------------------------------------------------------

16 Jul 2009, ZS Saad, afni, level 2 (MINOR), type 2 (NEW_OPT)
    Added option to force autoscale on the graphing window

    The option is accessible by pressing 'A' in the graph window
    or under 'Graph->Opt->Scale->AUTO'. 

16 Jul 2009, RW Cox, 3dmaskSVD, level 1 (MICRO), type 5 (MODIFY)
    Speedup (a lot for large masks) by using new SVD routine.

16 Jul 2009, RC Reynolds, @update.afni.binaries, level 1 (MICRO), type 5 (MODIFY)
    check for 'wget' and whine to user if missing

----------------------------------------------------------------------

15 Jul 2009, RW Cox, 3dLocalSVD, level 1 (MICRO), type 0 (GENERAL)
    Modify to use more efficient SVD routine

----------------------------------------------------------------------

14 Jul 2009, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -max_rest, to limit the maximum duration of rest periods

14 Jul 2009, DR Glen, afni, level 2 (MINOR), type 3 (NEW_ENV)
    Added AFNI_ONE_OBLIQUE_WARNING

    AFNI_ONE_OBLIQUE_WARNING = YES makes interactive spit out ONE warning
    about obliquity per session then go quiet.

----------------------------------------------------------------------

13 Jul 2009, RW Cox, 3dLocalstat, level 2 (MINOR), type 5 (MODIFY)
    OpenMP

    Also added option '-use_nonmask' to allow statistics to be computed for
    voxels not in the mask (but presumably whose neighbors are in the mask).

----------------------------------------------------------------------

07 Jul 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    warn users to modify script for _AM1 in case of basis function dmBLOCK

----------------------------------------------------------------------

01 Jul 2009, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Modify AFNI_START_SMALL to pick smallest dataset of all.

    Rather than the smallest 'anat' and smallest 'func', separately.

----------------------------------------------------------------------

30 Jun 2009, RW Cox, various 3D programs, level 1 (MICRO), type 4 (BUG_FIX)
    Remove keywords propagation stuff

    e.g., 3dTcat and 3dbucket
    Also, fix keywords printout buffer overflow in thd_info.c

----------------------------------------------------------------------

29 Jun 2009, RW Cox, 3dREMLfit, level 1 (MICRO), type 4 (BUG_FIX)
    Fix memcpy bug in data extraction when using OpenMP.  Ugghh.

----------------------------------------------------------------------

26 Jun 2009, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Add 1D index jumping to "Jump to (ijk)"

26 Jun 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    comment changes and mod to afni_util.py for line wrapping

----------------------------------------------------------------------

25 Jun 2009, RW Cox, 3dREMLfit, level 1 (MICRO), type 5 (MODIFY)
    More tweaks to the OpenMP-ization.  Only slightly better.

25 Jun 2009, RC Reynolds, Dimon, level 2 (MINOR), type 4 (BUG_FIX)
    fixed dz sent to RT plugin for oblique datasets

25 Jun 2009, RC Reynolds, 3dretroicor, level 1 (MICRO), type 4 (BUG_FIX)
    pass MRI_IMAGE structs without const

----------------------------------------------------------------------

24 Jun 2009, RW Cox, 3dREMLfit, level 2 (MINOR), type 0 (GENERAL)
    Modify to use OpenMP more effectively.

    Have to avoid use of Doug's matrix.c functions in the main loops, since
    they do so much malloc/free, which blocks other threads from running. 
    Instead, rewrote versions of the needed functions that use pre-allocated
    workspace arrays.  Speedup is very good now for the REML setup and REML
    voxel loops.  Haven't decided whether to OpenMP-ize the GLSQ or OLSQ
    loops, since these usually take much less time.

24 Jun 2009, RC Reynolds, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    applied print changes from B Feige (26 files):

    3dfim.c afni.c afni_niml.c mri_free.c mrilib.h 3dmatmult.c NLfit_model.c
    suma_datasets.h gifti/gifti_tool.c rickr/serial_helper.c
    SUMA/  SUMA_3dSurfMask.c SUMA_ConvertSurface.c SUMA_CreateIcosahedron.c
           SUMA_Load_Surface_Object.c SUMA_MapIcosahedron.c SUMA_NikoMap.c
           SUMA_ParseCommands.h SUMA_SphericalMapping.c
           SUMA_Surf2VolCoord_demo.c SUMA_Surface_IO.c SUMA_SurfWarp.c
           SUMA_compare_surfaces.c SUMA_xColBar.c
    svm/3dsvm.c svm/3dsvm_common.c volpack/vp_octree.c

----------------------------------------------------------------------

23 Jun 2009, RW Cox, 3dTcorrMap, level 1 (MICRO), type 2 (NEW_OPT)
    Add -Pmean option, based on poster I saw at HBM.

23 Jun 2009, RC Reynolds, NIFTI, level 2 (MINOR), type 4 (BUG_FIX)
    added 4 checks of alloc() returns

----------------------------------------------------------------------

17 Jun 2009, RW Cox, 3dREMLfit, level 1 (MICRO), type 0 (GENERAL)
    OpenMP-ization

    Some speedup, but need to work on not doing malloc/free so much in the
    REML_func function!

17 Jun 2009, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT)
    version 2.0 : call e2a alignment and warp to standard space ready

    - mask warped EPI by its extents (at volreg step)
    - added -volreg_no_extent_mask, to block this masking
    - added 'extents' to list of mask in -mask_apply
    - change block dividers to more visual '===' with block names

17 Jun 2009, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -make_3dd_contrasts and used general accuracy in block durations

17 Jun 2009, DR Glen, RetroTS.m, level 2 (MINOR), type 4 (BUG_FIX)
    Number of TRs found incorrectly because of rounding

17 Jun 2009, DR Glen, McRetroTS.m, level 2 (MINOR), type 1 (NEW_PROG)
    Matlab Compilable version of RetroTS.m

    This version calls the RetroTS function, but can be compiled
    for users that either do not have Matlab, a required toolbox
    or want to use this function in a shell script more easily.

----------------------------------------------------------------------

16 Jun 2009, RW Cox, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    Add '-ytran' option

    Apply an expression to the time series, to transform it prior to
    plotting.  To elide the use of 1deval.

----------------------------------------------------------------------

15 Jun 2009, RW Cox, AlphaSim, level 1 (MICRO), type 4 (BUG_FIX)
    OpenMP: cdfnor() and other functions are not thread-safe

    Make use of cdfnor() 'critical'.  Longer term: should patch the nifti
    CDF functions to avoid static variables where possible.

15 Jun 2009, RC Reynolds, 3dmerge, level 2 (MINOR), type 6 (ENHANCE)
    allowed short/byte datasets to use FIR blur, so no Fourier interpolation

    Also added Y/N AFNI_BLUR_INTS_AS_OLD env var to use previous method.

15 Jun 2009, DR Glen, BrikLoad.m, level 2 (MINOR), type 4 (BUG_FIX)
    Typo in BrikLoad

    Gremlin got to Pixy

----------------------------------------------------------------------

12 Jun 2009, RC Reynolds, xmat_tool.py, level 1 (MICRO), type 0 (GENERAL)
    used some wx IDs, per Daniel's suggestion

----------------------------------------------------------------------

11 Jun 2009, RW Cox, AlphaSim, level 2 (MINOR), type 5 (MODIFY)
    Added computation of analytic approximation of Alpha(i) for large i

    Uses a modified extreme value distribution, which looks pretty good.

11 Jun 2009, RW Cox, zgaussian, level 1 (MICRO), type 4 (BUG_FIX)
    'long' should be 'int' on 64 bit systems, when doing bit twiddling

11 Jun 2009, RW Cox, parser, level 1 (MICRO), type 5 (MODIFY)
    Added posval() function, and treat '[]' as '()' for clarity.

11 Jun 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added masking abilities

    - in mask block, try to create anat and group masks
    - added -mask_apply option, for choosing mask to apply to regression
    - added -align_opts_aea, for extra opts to align_epi_anat.py

----------------------------------------------------------------------

09 Jun 2009, RW Cox, AlphaSim, level 1 (MICRO), type 0 (GENERAL)
    Modify to use OpenMP (parallelize across iterations)

----------------------------------------------------------------------

08 Jun 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -despike_mask, fixed missing block warning, reordered terminal opts

08 Jun 2009, RC Reynolds, afni_base.py, level 1 (MICRO), type 0 (GENERAL)
    added many afni_name descripts to __doc__ lines, check error in dset_dims

----------------------------------------------------------------------

03 Jun 2009, RW Cox, bbox.c, level 1 (MICRO), type 5 (MODIFY)
    Modify string list chooser to do Browse select callback via arrows

    To make consistent the ways of browsing thru the dataset choosers in
    AFNI.

03 Jun 2009, RC Reynolds, 3dcopy, level 1 (MICRO), type 5 (MODIFY)
    changed 'missing dataset' ERROR to 'missing view dataset' WARNING

----------------------------------------------------------------------

01 Jun 2009, RW Cox, debugtrace.h, level 1 (MICRO), type 5 (MODIFY)
    Add ability to suspend/restore function traceback stack

    Disable stack when OpenMP parallel section is engaged.

----------------------------------------------------------------------

29 May 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -execute and now fail if block options have no corresponding blocks

29 May 2009, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    improved line wrapping

29 May 2009, RC Reynolds, @build_afni_Xlib, level 1 (MICRO), type 5 (MODIFY)
    added -m64 if building for lib64 on a mac, fixed CFLAGS to allow a list

----------------------------------------------------------------------

28 May 2009, RC Reynolds, strblast, level 2 (MINOR), type 4 (BUG_FIX)
    partial words had resulted in skipping ahead

    found by R Notestine of UCSD

28 May 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 0 (GENERAL)
    example updates for AFNI_data4 and new options

----------------------------------------------------------------------

27 May 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    updates for alignment/warp/varying run lengths

    - added -volreg_warp_dxyz option
    - if align a2e, add -no_ss to @auto_tlrc
    - for varying run lengths, fixed application of '-volreg_align_to last'
      and the -regress_est_blur_* options
      (blur estimation loops were modified for this)
    - warping to new grid truncates to 2 significant bits (if < 2 mm)

----------------------------------------------------------------------

26 May 2009, RW Cox, thd_1Ddset.c, level 1 (MICRO), type 5 (MODIFY)
    Change way names are used in output of .1D 'datasets'

    (a) If prefix starts with '-' or 'stdout', write results to stdout as a
    'pure' 1D formatted file (no NIML header),
    (b) Otherwise, if -prefix option had a directory name attached, use that
    instead of always using the current working directory.

----------------------------------------------------------------------

22 May 2009, ZS Saad, @FS_roi_label, level 2 (MINOR), type 1 (NEW_PROG)
    A script to get FreeSurfer parcellation and annotation labels

    The script is used to return a label associated with a FreeSurfer
    annotation or parcellation integer label.

22 May 2009, RW Cox, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Check if im3d->fim_now is NULL in AFNI_func_overlay()

----------------------------------------------------------------------

21 May 2009, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Additional check for caret-version string

    It seems that the syntax for caret-version has changed
    slightly and was being missed by SUMA. As a result, Caret
    surfaces were not being properly aligned with the volumes.

21 May 2009, ZS Saad, imcat, level 1 (MICRO), type 2 (NEW_OPT)
    Now output a grayscale 1D version of an image

    That is done by adding a .1D to the -prefix parameter.

21 May 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added 'align' processing block and -volreg_align_e2a option

----------------------------------------------------------------------

20 May 2009, RW Cox, realtime plugin, level 2 (MINOR), type 5 (MODIFY)
    Modified to allow realtime 3D registration on complex inputs

    Mostly a change in mri_3dalign.c, to take the movement estimation done
    on the magnitude image and apply it to the 2 component images.

20 May 2009, RW Cox, realtime plugin, level 1 (MICRO), type 3 (NEW_ENV)
    Also modify it to limit the number of open controllers.

    cf. AFNI_REALTIME_MAX_CONTROLLERS

20 May 2009, G Chen, 3dMEMA.R, level 4 (SUPER), type 1 (NEW_PROG)
    Mixed-Effects Meta Analysis (MEMA)

    This is an R program that runs group analysis in a truly random
    mixed-effects sense by taking both beta and t-statistic as input
    instead of beta value only in the conventional method. See more 
    details at https://afni.nimh.nih.gov/sscc/gangc/MEMA.html

----------------------------------------------------------------------

19 May 2009, ZS Saad, @ROI_Corr_Mat, level 3 (MAJOR), type 1 (NEW_PROG)
    A script to calculate correlation matrices between ROI time series

    Calculates the correlation matrices between average time series from ROIs
    defined in a mask volume. Script was written with Hang Joon Jo.

19 May 2009, ZS Saad, prompt_user, level 2 (MINOR), type 1 (NEW_PROG)
    Prompts user for input with an X window

19 May 2009, ZS Saad, 3dROIstats, level 2 (MINOR), type 2 (NEW_OPT)
    Added -zerofill and -roisel options

    Added options to force output for empty ROIs.

19 May 2009, ZS Saad, 1ddot, level 2 (MINOR), type 2 (NEW_OPT)
    Added -okzero to keep program from exiting with all zero input

    Added options to force output for empty ROIs.

19 May 2009, ZS Saad, DriveSuma, level 1 (MICRO), type 2 (NEW_OPT)
    Modified time out for DriveSuma to 5 minutes

    Time out can be controlled by environment variable SUMA_DriveSumaMaxWait

19 May 2009, RC Reynolds, 3dbucket, level 1 (MICRO), type 0 (GENERAL)
    suggest -overwrite if -glueto is not allowed (for Mike B)

----------------------------------------------------------------------

18 May 2009, RW Cox, 3dDespike, level 1 (MICRO), type 0 (GENERAL)
    Speedup by OpenMP

    Also required changes to mcw_malloc.c to mark various sections as
    'critical' and to cl1.c to remove 'static' from all variables generated
    from Fortran.

----------------------------------------------------------------------

15 May 2009, RW Cox, afni InstaCorr, level 2 (MINOR), type 0 (GENERAL)
    Remove OpenMP; carry out setref on all locked controllers

15 May 2009, RW Cox, afni InstaCorr, level 1 (MICRO), type 0 (GENERAL)
    SeedBlur + locked InstaCorr-ology

15 May 2009, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT)
    added -volreg_tlrc_warp option: can warp to standard space at volreg step

15 May 2009, RC Reynolds, afni_util, level 1 (MICRO), type 2 (NEW_OPT)
    added get_truncated_grid_dim

----------------------------------------------------------------------

14 May 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    no 'rm rm.*' if such files were not created

14 May 2009, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    fixed -glt_label > -num_glt error message and -dmbase def for polort >= 0

----------------------------------------------------------------------

13 May 2009, RW Cox, InstaCorr+3dBlurInMask, level 2 (MINOR), type 0 (GENERAL)
    Added OpenMP support for blurring to these programs

    Parallelization occurs across sub-bricks -- speedup is significant.

----------------------------------------------------------------------

12 May 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed 'cat' of 'across-runs' ricor regressors

----------------------------------------------------------------------

11 May 2009, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    InstaCorr changes

    * Save seed time series into the 1D timeseries library for graphicking
    * Modify progress printouts slightly

----------------------------------------------------------------------

08 May 2009, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Better display of ROI contours on patches

    Suma now correctly handles ROI display when the ROIs
    contain nodes that are not in the patch. Also, on flat surfaces,
    ROI contours are drawn raised so that they float over flat surfaces.

08 May 2009, ZS Saad, @SUMA_Make_Spec_FS, level 2 (MINOR), type 2 (NEW_OPT)
    The script now automatically turns FS annot files to SUMA ROI files

08 May 2009, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Instacorr updates

    * Can Write A_ICOR datasets using new allow_directwrite variable
    * Disable InstaCorr when switching sessions and views
    * Notify renderer (DRAWNOTICE) when changes made
    * Shift-Ctrl-Left-Click does crosshair shift + InstaCorr Set

08 May 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    tlrc (for anat) is now a processing block, for easy manipulation

08 May 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    small cut-n-paste errors in db_mod.py and afni_util.py

----------------------------------------------------------------------

07 May 2009, RW Cox, afni, level 2 (MINOR), type 0 (GENERAL)
    FIxes/upgrades for InstaCorr

    * memory problem fixed by malloc-ing sizeof(float *)
      -- not sizeof(float) -- for a float ** variable!
    * add dataset labels
    * add statistical parameters (including FDR)
    * add help

----------------------------------------------------------------------

06 May 2009, RW Cox, afni, level 3 (MAJOR), type 2 (NEW_OPT)
    First edition of InstaCorr!

    Rough around the edges, but gnarly-ific to the level of the first
    inaccessible cardinal!

----------------------------------------------------------------------

05 May 2009, ZS Saad, DriveSuma, level 2 (MINOR), type 4 (BUG_FIX)
    Added 'd' and 'j' keys

05 May 2009, ZS Saad, 3dRank, level 2 (MINOR), type 1 (NEW_PROG)
    A program that substitutes a voxel's value by that value's rank

05 May 2009, RC Reynolds, plug_render, level 2 (MINOR), type 5 (MODIFY)
    now built from plug_null.c, so it will no longer be available

05 May 2009, RC Reynolds, @update.afni.binaries, level 2 (MINOR), type 1 (NEW_PROG)
    another script to update the AFNI package

----------------------------------------------------------------------

01 May 2009, RW Cox, 3dBlurInMask, level 2 (MINOR), type 1 (NEW_PROG)
    Like 3dBlurToFWHM, but simpler.

01 May 2009, RW Cox, thd_bandpass.c, level 1 (MICRO), type 4 (BUG_FIX)
    modified to make it actually work, including lowpass and highpass

01 May 2009, RC Reynolds, Makefile.linux_xorg7_64, level 1 (MICRO), type 5 (MODIFY)
    link to local libGLws.a, as with 32-bit xorg7 package

01 May 2009, DR Glen, 1dSEM, level 2 (MINOR), type 4 (BUG_FIX)
    Tree growth fix

    Fixed bug in tree growth and improved output text

----------------------------------------------------------------------

30 Apr 2009, RW Cox, 1dBandpass, level 1 (MICRO), type 1 (NEW_PROG)
    for .. Bandpassing!

    Really just to test the new bandpassing functions for inclusion into
    AFNI's InstaCorr feature.

30 Apr 2009, RC Reynolds, vol2surf, level 2 (MINOR), type 2 (NEW_OPT)
    return a node v2s time series when afni changes xhair position

30 Apr 2009, RC Reynolds, thd_niftiread, level 2 (MINOR), type 5 (MODIFY)
    be sure to warn users when nifti is converted to float (w/dglen)

30 Apr 2009, RC Reynolds, 3dcalc, level 2 (MINOR), type 5 (MODIFY)
    changed atan2(y,x) to proceed if y OR x is non-zero

----------------------------------------------------------------------

29 Apr 2009, ZS Saad, SurfSmooth, level 2 (MINOR), type 4 (BUG_FIX)
    -detprefix_* options now do something!

29 Apr 2009, ZS Saad, ROI2dataset, level 2 (MINOR), type 2 (NEW_OPT)
    -nodelist* options to output node sequence forming ROI

29 Apr 2009, ZS Saad, MapIcosahedron, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed crash when using -it option for geometry smoothing

29 Apr 2009, ZS Saad, ConvertDset, level 2 (MINOR), type 2 (NEW_OPT)
    -node_select_1D now respects node ordering

29 Apr 2009, ZS Saad, 3dTcorrMap, level 2 (MINOR), type 2 (NEW_OPT)
    -VarThresh* options for obtaining counts at different thresholds

29 Apr 2009, RW Cox, afni, level 2 (MINOR), type 3 (NEW_ENV)
    Make 'Where am I?' font size user controllable.

    via AFNI_TTATLAS_FONTSIZE environment variable (editable).

29 Apr 2009, RW Cox, 3dTcorrMap, level 1 (MICRO), type 0 (GENERAL)
    Add OpenMP support

29 Apr 2009, RW Cox, 3dTcorrMap, level 1 (MICRO), type 0 (GENERAL)
    unroll innermost loop -- makes little difference :-(

29 Apr 2009, RC Reynolds, to3d, level 2 (MINOR), type 4 (BUG_FIX)
    when opening -geomparent, allow for known non-afni extensions

29 Apr 2009, RC Reynolds, vol2surf, level 1 (MICRO), type 5 (MODIFY)
    prep to return node v2s time series to suma, just check-in for now

    modified: afni.h, afni_niml.c, afni_vol2surf.c, vol2surf.c, vol2surf.h

----------------------------------------------------------------------

28 Apr 2009, RW Cox, 3dDeconvolve, level 2 (MINOR), type 2 (NEW_OPT)
    Add duration argument to SPMGx basis functions for deconvolution.

    For Tracy Doty, apparently.

28 Apr 2009, RC Reynolds, NIFTI, level 2 (MINOR), type 5 (MODIFY)
    uppercase file extensions are now valid

----------------------------------------------------------------------

27 Apr 2009, RC Reynolds, 3dresample, level 1 (MICRO), type 5 (MODIFY)
    show help if no arguments

----------------------------------------------------------------------

23 Apr 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    updates to help and tcsh options

    - added -f as a recommended tcsh option
    - added help section 'SCRIPT EXECUTION NOTE'
    - reordered help: intro, BLOCKS, DEFAULTS, EXAMPLES, NOTEs, OPTIONS
    - shifted execution command to separate line

23 Apr 2009, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    moved function comments into the functions as docstrings

23 Apr 2009, RC Reynolds, 3dresample, level 1 (MICRO), type 5 (MODIFY)
    small changes to help

----------------------------------------------------------------------

22 Apr 2009, DR Glen, @AddEdge, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    Oblique edge display

    Fixed bug with oblique data in edge display

----------------------------------------------------------------------

20 Apr 2009, DR Glen, 3dAllineate, misc, level 1 (MICRO), type 5 (MODIFY)
    1D file handling

    Handle row and column selectors for 1D files better for most
    AFNI programs. Returns error if improper row or column selection

----------------------------------------------------------------------

17 Apr 2009, RC Reynolds, GIFTI, level 1 (MICRO), type 5 (MODIFY)
    more -set_extern_filelist help, allow DA size to vary over external files

----------------------------------------------------------------------

16 Apr 2009, RW Cox, All, level 2 (MINOR), type 4 (BUG_FIX)
    Inadvertent recursion in afni_environ.c now blocked.

----------------------------------------------------------------------

15 Apr 2009, RW Cox, 1dplot, level 1 (MICRO), type 2 (NEW_OPT)
    Add -thick option

    Plus: modify plot_ts.c to thicken the lines used for plotting the labels
    (so the fancy characters are filled in a little).

----------------------------------------------------------------------

14 Apr 2009, ZS Saad, suma-general, level 2 (MINOR), type 4 (BUG_FIX)
    niml ROI files with empty ROI no longer crash suma/ROI2dataset

14 Apr 2009, RC Reynolds, NIFTI, level 2 (MINOR), type 2 (NEW_OPT)
    added sample nifticlib program: clib_01_read_write.c

14 Apr 2009, RC Reynolds, afni_util.py, level 1 (MICRO), type 4 (BUG_FIX)
    possible to have truncation cause a negative variance in stdev_ub

----------------------------------------------------------------------

13 Apr 2009, RW Cox, 3dREMLfit, level 1 (MICRO), type 4 (BUG_FIX)
    fixed bug in printing censor message for -addbase and -slibase

----------------------------------------------------------------------

11 Apr 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -volreg_regress_per_run

    This is to apply the motion parameters of each run as separate regressors.

11 Apr 2009, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -derivative and -set_nruns, fixed -show_cormat_warnings typo

11 Apr 2009, RC Reynolds, option_list.py, level 1 (MICRO), type 2 (NEW_OPT)
    enhanced special option processing

    - added check_special_opts(), to be called before any processing
    - renamed -verbose_opts to -optlist_verbose
    - added -optlist_no_show_count

11 Apr 2009, RC Reynolds, eg_main_chrono.py, level 1 (MICRO), type 5 (MODIFY)
    removed -verbose opts (see -optlist_ options)

11 Apr 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 4 (BUG_FIX)
    fixed use of -regress_errts_prefix with blur est

11 Apr 2009, RC Reynolds, afni-general, level 1 (MICRO), type 2 (NEW_OPT)
    added calls to opts.check_special_opts() in 7 more python programs:

    gen_epi_review.py, make_random_timing.py, make_stim_times.py
    neuro_deconvolve.py, python_module_test.py, timing_tool.py, ui_xmat.py

----------------------------------------------------------------------

10 Apr 2009, RW Cox, 3dREMLfit, level 2 (MINOR), type 4 (BUG_FIX)
    Error in processing -slibase file with censoring

    Typo in replacing input image with censored image caused the end of the
    world (SEGV crash).

10 Apr 2009, RC Reynolds, to3d, level 2 (MINOR), type 2 (NEW_OPT)
    added -use_last_elem option for setting DICOM elements

    Can also use AFNI_DICOM_USE_LAST_ELEMENT environment variable.

10 Apr 2009, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added -use_last_elem option for setting DICOM elements

10 Apr 2009, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 5 (MODIFY)
    fix for old versions of python, like on solaris

    Each of copy.deepcopy(), sum(), and sort(reverse=True) failed.

----------------------------------------------------------------------

09 Apr 2009, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT)
    'official' release with RETROICOR processing block: ricor

    o  added 'across-runs' ricor_regress_method
    o  added ricor information and usage to help (see 'RETROICOR NOTE')
    o  maintain unscaled shorts if they are input
    o  added -ricor_datum

09 Apr 2009, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_cormat_warnings and -cormat_cutoff

----------------------------------------------------------------------

08 Apr 2009, RW Cox, thd_filestuff.c, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_ALLOW_ARBITRARY_FILENAMES

    Set this environment variable to YES to allow 'strange' characters into
    AFNI created filenames.  You should know what you are doing if you use
    this variable!

08 Apr 2009, RW Cox, AFNI image viewer, level 2 (MINOR), type 5 (MODIFY)
    Set MPEG 'pattern' for frames to reflect the Anim_dup setting.

    This small change will make MPEG-1 (.mpg) files that are slowed down by
    setting Anim_dup > 1 not significantly larger than full speed files, by
    setting the frame pattern to 'IPPPP' where the number of Ps is the
    number of duplicate frames (Anim_dup-1).

08 Apr 2009, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_rows_cols option

----------------------------------------------------------------------

06 Apr 2009, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added support for '.', ',', and space keys, and 'shw_0'

06 Apr 2009, RW Cox, 3dmaskSVD, level 1 (MICRO), type 2 (NEW_OPT)
    Modify to allow output of more than 1 singular vector.

    Also, make the help more helpful.

06 Apr 2009, RW Cox, 3dLocalSVD, level 1 (MICRO), type 2 (NEW_OPT)
    Add -vproj option

    To project central voxel onto low-dimensional local SVD space.

----------------------------------------------------------------------

04 Apr 2009, RW Cox, 3dmaskSVD, level 2 (MINOR), type 1 (NEW_PROG)
    Like 3dmaskave, but does SVD principal vector instead of average

----------------------------------------------------------------------

02 Apr 2009, RW Cox, 3dTcorrMap, level 2 (MINOR), type 2 (NEW_OPT)
    Add -Thresh option

    To save a count of how many other voxels are above threshold correlated
    with each seed voxel.

02 Apr 2009, RW Cox, 3dLocalSVD, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed a little bug in 3dLocalSVD.

02 Apr 2009, RC Reynolds, 3dDeconvolve, level 2 (MINOR), type 5 (MODIFY)
    changed CHECK_NIFTI to CHECK_NEEDS_FLOATS, including other dset types

02 Apr 2009, DR Glen, align_epi_anat.py, level 1 (MICRO), type 5 (MODIFY)
    help update

    Incorporated Bob's recommendations into help to make
    various options clearer

----------------------------------------------------------------------

01 Apr 2009, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Arrow keys based navigation along surface.

    See 'Alt+U-D' section in SUMA's interactive usage help.

01 Apr 2009, ZS Saad, suma, level 1 (MICRO), type 3 (NEW_ENV)
    Added SUMA_KeyNodeJump variable 

    This variable controls number of nodes to jump with arrow keys navigation.
    See suma -environment for complete list and defaults.

01 Apr 2009, RW Cox, realtime plugin, level 1 (MICRO), type 0 (GENERAL)
    Enhanced a few error messages.

    I wish people would READ the damn things, instead of calling me to
    complain.

01 Apr 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    added 'ricor' processing block, for RETROICOR regressor removal

01 Apr 2009, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    slight change in add_line_wrapper()

----------------------------------------------------------------------

31 Mar 2009, ZS Saad, suma-general, level 2 (MINOR), type 5 (MODIFY)
    Handling of double precision datatypes.

31 Mar 2009, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added 'on the fly' dot product computation

    This feature is only available with SUMA's -dev
    option. It is still in testing mode and its 
    interface may change. If intrigued, see 'D' key's
    help in SUMA's interactive usage help.

31 Mar 2009, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added support for '[' and ']' keys and -view_surf

31 Mar 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    small changes, and prep for retroicor

    - by default, the script will now terminate on any error
    - added -exit_on_error, -check_setup_errors
    - whine about block order problems

31 Mar 2009, RC Reynolds, 1d_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -pad_to_many_runs, -reverse

31 Mar 2009, RC Reynolds, option_list.py, level 1 (MICRO), type 2 (NEW_OPT)
    added global -verbose_opts option

31 Mar 2009, RC Reynolds, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    added get_typed_dset_attr_list, enhanced decode_1D_ints

----------------------------------------------------------------------

30 Mar 2009, RW Cox, 3dABoverlap, level 2 (MINOR), type 1 (NEW_PROG)
    Computes various overlap and non-overlap statistics for 2 datasets.

    Will resample dataset #B to match dataset #A, if needed.  This program
    is intended to check if two datasets are grossly not aligned, and has
    little other purpose.

----------------------------------------------------------------------

27 Mar 2009, RW Cox, FDR calculations, level 2 (MINOR), type 5 (MODIFY)
    Changes/additions to mask operations for FDR curves.

    3dREMLfit and 3dDeconvolve now generate an automask for the FDR curving
    purposes, if no other mask is used.  3drefit has a new -FDRmask option
    for computing the FDR curves correctly if no mask was used before.

----------------------------------------------------------------------

26 Mar 2009, ZS Saad, suma-general, level 2 (MINOR), type 2 (NEW_OPT)
    Support for reading/writing MNI .obj surfaces

26 Mar 2009, RW Cox, FDR, level 1 (MICRO), type 5 (MODIFY)
    Change the way m1 is estimated for MDF 'hint'.

26 Mar 2009, RC Reynolds, option_list.py, level 1 (MICRO), type 5 (MODIFY)
    base 'name' size on max len in show()

26 Mar 2009, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    added helpstr to options

26 Mar 2009, RC Reynolds, 1d_tool.py, level 1 (MICRO), type 4 (BUG_FIX)
    small array fix for older python in write()

----------------------------------------------------------------------

25 Mar 2009, RW Cox, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    Add -nobout option, to suppress baseline betas from -Rbeta/-Obeta.

    Per the request of Michael S Beauchamp, University of Texas.

25 Mar 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    +view now comes from data: so it works with +tlrc

----------------------------------------------------------------------

24 Mar 2009, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    Added -stim_times_subtract option

    To allow adjustment of stimulus times due to removal of some images at
    the start of each run.
    ALSO: added -stim_time_millisec option, to allow -stim_times inputs to
    be in milliseconds rather than seconds.

24 Mar 2009, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    Expand the -help output somewhat.

    Based on feedback and confusion from the Dartmouth bootcamp.

24 Mar 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    by default now, no mask is applied in the scale and regression steps

    Also added -regress_apply_mask option.

----------------------------------------------------------------------

20 Mar 2009, RC Reynolds, @build_afni_Xlib, level 2 (MINOR), type 1 (NEW_PROG)
    moved from X/@build.Xlib, for distribution

    and added to SCRIPTS for building afni_src.tgz in Makefile.INCLUDE

----------------------------------------------------------------------

19 Mar 2009, RC Reynolds, 1d_tool.py, level 3 (MAJOR), type 1 (NEW_PROG)
    added lib_afni1D.py and 1d_tool.py

    This is a library and tool for manipulating 1D files.
    Many functions will still be added.

19 Mar 2009, RC Reynolds, eg_main_chrono.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -verbose_opts option, for being verbose during option processing

19 Mar 2009, RC Reynolds, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    a few additions and changes

    - allow container chars (e.g. []) in decode_1D_ints()
    - added is_valid_int_list()
    - changed str vars to istr (as str is a keyword)

----------------------------------------------------------------------

18 Mar 2009, RC Reynolds, eg_main_chrono.py, level 2 (MINOR), type 1 (NEW_PROG)
    sample main python program using a library and chronological options

18 Mar 2009, DR Glen, 3dZcat3daxialize, level 2 (MINOR), type 2 (NEW_OPT)
    NIFTI support

    Fixed support for NIFTI output in 3dZcat and 3daxialize
    Added -frugal option to 3daxialize to keep old behavior
    for AFNI format datasets. Existing -frugal option in
    3dZcat imposes 'oldish' behavior too.

----------------------------------------------------------------------

16 Mar 2009, RC Reynolds, 3dBrickStat, level 2 (MINOR), type 4 (BUG_FIX)
    malloc extra val in case of percentile truncation

----------------------------------------------------------------------

12 Mar 2009, ZS Saad, suma-general, level 2 (MINOR), type 2 (NEW_OPT)
    SUMA talks to matlab.

12 Mar 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    warn user about masking in orig space

    - if despiking and no regression mask, apply -nomask
    - added 'MASKING NOTE', to suggest no regression mask until group space

12 Mar 2009, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_reml_exec and -regress_3dD_stop

    One can execute 3dREMLfit and/or 3dDeconvolve.  Error blur is from each.

----------------------------------------------------------------------

11 Mar 2009, RW Cox, 3dANOVA, level 2 (MINOR), type 2 (NEW_OPT)
    Add -mask option to 3dANOVA, 3dANOVA23dANOVA3

----------------------------------------------------------------------

10 Mar 2009, RC Reynolds, NIFTI, level 1 (MICRO), type 5 (MODIFY)
    added NIFTI_ECODEs 18-28 for the LONI MiND group

10 Mar 2009, DR Glen, 3dLocalstat, level 2 (MINOR), type 2 (NEW_OPT)
    Sum option

    Sum option (for functional weighting of interiorosity measure)

----------------------------------------------------------------------

09 Mar 2009, RW Cox, 3dDeconvolve, level 1 (MICRO), type 2 (NEW_OPT)
    Add SPMG1 to -stim_times repertoire, and update help.

09 Mar 2009, RC Reynolds, suma-general, level 1 (MICRO), type 5 (MODIFY)
    removed r_sprintf_long_to_hex from SUMA_Color.[ch]

09 Mar 2009, RC Reynolds, suma, level 1 (MICRO), type 2 (NEW_OPT)
    added -motif_ver option

09 Mar 2009, RC Reynolds, 3dcalc, level 1 (MICRO), type 5 (MODIFY)
    added edge/erode/dilate example to 3dcalc -help

----------------------------------------------------------------------

06 Mar 2009, RW Cox, 3dDeconvolve, level 2 (MINOR), type 2 (NEW_OPT)
    Add 'WAV' function (from waver) to -stim_times repertoire.

06 Mar 2009, RC Reynolds, 3dDeconvolve, level 2 (MINOR), type 4 (BUG_FIX)
    if mri_automask_image() input is not really 3D, only apply clip

    3dD uses automask for misfit warning, let this apply to niml.dset

06 Mar 2009, RC Reynolds, lesstif-general, level 1 (MICRO), type 5 (MODIFY)
    motif/lesstif : put AFNI_MOTIF_TYPE in Xm.h.in : see 'afni -motif_ver'

----------------------------------------------------------------------

05 Mar 2009, RC Reynolds, afni, level 2 (MINOR), type 4 (BUG_FIX)
    free vox_warp via KILL_list rather than directly when deleting dataset

    Fixes afni crash: set acpc markers -> acpc view -> orig view 
                   -> new markers -> acpc view -> death ...

05 Mar 2009, RC Reynolds, lesstif-general, level 1 (MICRO), type 5 (MODIFY)
    init for every assignable argument to XtVaGetValues (12 files)

05 Mar 2009, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    init for every assignable argument to XtVaGetValues (19 files)

05 Mar 2009, RC Reynolds, @build.Xlib, level 1 (MICRO), type 2 (NEW_OPT)
    change -noinstall option to -localinstall

----------------------------------------------------------------------

04 Mar 2009, RW Cox, 3ddata.h, level 1 (MICRO), type 4 (BUG_FIX)
    Fix usage of realpath() array dimension with RPMAX macro

04 Mar 2009, RC Reynolds, X-general, level 2 (MINOR), type 5 (MODIFY)
    added openmotif build tree, updated @build.Xlib and README under X

04 Mar 2009, RC Reynolds, afni, level 1 (MICRO), type 2 (NEW_OPT)
    added -motif_ver option

04 Mar 2009, RC Reynolds, @build.Xlib, level 1 (MICRO), type 2 (NEW_OPT)
    added -noinstall option

----------------------------------------------------------------------

03 Mar 2009, RC Reynolds, @build.Xlib, level 2 (MINOR), type 1 (NEW_PROG)
    this is a build script for the local X packages

03 Mar 2009, RC Reynolds, xutil.c, level 1 (MICRO), type 5 (MODIFY)
    another probably useless init (being cautious)

03 Mar 2009, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    modified Makefile.linux_xorg7 and _64 for local X builds

----------------------------------------------------------------------

02 Mar 2009, RW Cox, zfun, level 2 (MINOR), type 0 (GENERAL)
    add compression functions (using zlib) to libmri in zfun.c

----------------------------------------------------------------------

27 Feb 2009, RC Reynolds, X-general, level 2 (MINOR), type 5 (MODIFY)
    added lesstif and libXt trees to cvs

----------------------------------------------------------------------

20 Feb 2009, RC Reynolds, afni-general, level 1 (MICRO), type 4 (BUG_FIX)
    many inits to appease lesstif and Xt (w/Ziad)

----------------------------------------------------------------------

13 Feb 2009, RW Cox, 3dRBFdset, level 1 (MICRO), type 0 (GENERAL)
    Test program to make a dataset defined by RBF.

    Mostly built to test the Radial Basis Function expansion functions in
    mri_rbfinterp.c.

13 Feb 2009, RC Reynolds, dmat44.c, level 1 (MICRO), type 4 (BUG_FIX)
    cut-and-paste error ...

13 Feb 2009, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    malloc changes: 5 more files

    Friday the 13th, oooooooo...  @ 18:31:30 EST: time will be 1234567890.

----------------------------------------------------------------------

12 Feb 2009, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    added memsets following some malloc calls, or used calloc (14 files)

----------------------------------------------------------------------

11 Feb 2009, RW Cox, 3dvolreg, level 2 (MINOR), type 4 (BUG_FIX)
    replace DMAT_svdrot_old with DMAT_svdrot_newer

    Old function fails sometimes, making the output rotation be garbage and
    producing junk image results; the newer one seems more robust.

11 Feb 2009, RC Reynolds, 3dDeconvolve, level 1 (MICRO), type 5 (MODIFY)
    removed duplicate -Rerrts option in output 3dREMLfit command

----------------------------------------------------------------------

10 Feb 2009, ZS Saad, DriveSuma, level 1 (MICRO), type 2 (NEW_OPT)
    Added -anim_dup to slow down movies

10 Feb 2009, RW Cox, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    fixed premature mask free-ing bug

----------------------------------------------------------------------

09 Feb 2009, RW Cox, imseq.c, level 2 (MINOR), type 3 (NEW_ENV)
    Add AFNI_ANIM_DUP environment variable.

    Allows user to duplicate images when writing an animation (AGIF or
    MPEG) file.  A simple and stoopid way to slow down an MPEG.

09 Feb 2009, RC Reynolds, xmat_tool.py, level 2 (MINOR), type 5 (MODIFY)
    random updates, plus those for Fedora 10

09 Feb 2009, RC Reynolds, python-general, level 1 (MICRO), type 0 (GENERAL)
    added new beginning-stage libraries lib_matplot.py and lib_wx.py

----------------------------------------------------------------------

06 Feb 2009, RC Reynolds, NIFTI, level 1 (MICRO), type 5 (MODIFY)
    added NIFTI_ECODE_PYPICKLE for MH; imported HJ's cast changes

----------------------------------------------------------------------

05 Feb 2009, RW Cox, 3dREMLfit, level 1 (MICRO), type 4 (BUG_FIX)
    typo ==> DOF params for Full_Fstat weren't in output dataset

05 Feb 2009, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 5 (MODIFY)
    added timing_tool.py use to sort times in example #7

----------------------------------------------------------------------

04 Feb 2009, RC Reynolds, vol2surf, level 2 (MINOR), type 4 (BUG_FIX)
    fixed norm reversal application and norm dir check computation

    Thanks to Xiaopeng Zong for finding these problems.

04 Feb 2009, RC Reynolds, suma-general, level 1 (MICRO), type 5 (MODIFY)
    update SUMA_paperplane.c and Makefile.solaris28_gcc for v1280 builds

    Makefile now uses PREREQ=suma, gmake, -L/usr/dt/lib.

----------------------------------------------------------------------

03 Feb 2009, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    No longer crashes with old format ROIs

03 Feb 2009, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed free-related error messages on OS X

    These errors were generated because some pointers
    were allocated with MCW_MALLOC and freed without it.
    solution was to include mcw_malloc.h in coxplot and
    gifti_choice.c

03 Feb 2009, RC Reynolds, afni-general, level 1 (MICRO), type 5 (MODIFY)
    fix machdep.h Makefile.solaris28_gcc for v1280 builds

----------------------------------------------------------------------

02 Feb 2009, ZS Saad, SurfDist, level 2 (MINOR), type 2 (NEW_OPT)
    SurfDist now outputs distances from one node to a set of other nodes

02 Feb 2009, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    Added load_col option to DriveSuma

02 Feb 2009, RW Cox, parser (calc programs), level 2 (MINOR), type 5 (MODIFY)
    Add hrfbk4 and hrfbk5(t,T) functions to parser

    To imitate the BLOCK4 and BLOCK5 response functions in 3dDeconvolve.

----------------------------------------------------------------------

13 Jan 2009, ZS Saad, afni-matlab, level 2 (MINOR), type 1 (NEW_PROG)
    Added GS_orth_1D.m to perform Gram-Schmidt orthogonalization

13 Jan 2009, ZS Saad, afni-general, level 2 (MINOR), type 4 (BUG_FIX)
    AFNI should now be Lesstif compliant

    Made numerous changes with Rick Reynolds. The biggest modification
    regards buttons inside popup menus. Those buttons are no longer
    inside rowcolumn widgets and had to be directly managed by afni.

----------------------------------------------------------------------

08 Jan 2009, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Added OpenMP directives as a test of multi-threading speedup.

----------------------------------------------------------------------

07 Jan 2009, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Added more references to the help page.

07 Jan 2009, RC Reynolds, plug_crender, level 1 (MICRO), type 5 (MODIFY)
    if lesstif, set threshold slider bar width

----------------------------------------------------------------------

05 Jan 2009, ZS Saad, MapIcosahedron, level 2 (MINOR), type 2 (NEW_OPT)
    Program no longer confined to FreeSurfer surfaces

    The program now allows the user to specify any morph sphere,
    not just sphere.reg or sphere. This required rewriting much of
    of the program's main section but the algorithm for the mapping
    remains unchanged.

05 Jan 2009, ZS Saad, CreateIcosahedron, level 1 (MICRO), type 2 (NEW_OPT)
    Program uses new Spec writing function and writes different surface formats

05 Jan 2009, RW Cox, 3dAllineate, level 1 (MICRO), type 5 (MODIFY)
    Change wsinc5 interpolation from radial to tensor product weight.

    Speedup is about a factor of 6, which is worth the effort.

----------------------------------------------------------------------

02 Jan 2009, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    Add '-final wsinc5' interpolation mode.

    Slow but accurate.  Weight function is 'designed' to reduce the variance
    smoothing artifact.

02 Jan 2009, RC Reynolds, afni_environ.c, level 1 (MICRO), type 4 (BUG_FIX)
    fixed bad lvalue when USE_TRACING is not defined

    also fixed define for USE_TRACING in solaris and cygwin Makefiles

02 Jan 2009, RC Reynolds, Makefile, level 1 (MICRO), type 5 (MODIFY)
    do not build balloon in Makefile.macosx_10.5_Intel_64 - libgsl is 32-bit

----------------------------------------------------------------------

31 Dec 2008, RW Cox, 3dUndump, level 1 (MICRO), type 5 (MODIFY)
    Make sure NaN values don't get into the dataset!

31 Dec 2008, RC Reynolds, afni, level 2 (MINOR), type 4 (BUG_FIX)
    fix for lesstif crash on 'where am i', along with ziad

----------------------------------------------------------------------

30 Dec 2008, RW Cox, 3dTfitter, level 2 (MINOR), type 5 (MODIFY)
    For FALTUNG, use sparse matrix operations for pure least squares.

    Deconvolution + penalty matrix is sparse.  Uses the 'rcmat' functions
    originally developed for 3dREMLfit.  Speeds things up a lot when the
    time series is long.

----------------------------------------------------------------------

29 Dec 2008, RW Cox, 3dTfitter, level 1 (MICRO), type 0 (GENERAL)
    Added better error messages if program runs out of memory.

----------------------------------------------------------------------

24 Dec 2008, RC Reynolds, timing_tool.py, level 1 (MICRO), type 5 (MODIFY)
    redefine 'sum' for older python versions

    This also affects afni_util.py and make_random_timing.py.

----------------------------------------------------------------------

23 Dec 2008, RW Cox, 3dDeconvolve, level 1 (MICRO), type 4 (BUG_FIX)
    Program wouldn't read a -stim_times file that was all '*'

    Actual change was in mri_read.c.

----------------------------------------------------------------------

22 Dec 2008, G Chen, 3dICC.R, level 3 (MAJOR), type 1 (NEW_PROG)
    IntraClass Correlation (ICC) with ANOVA scheme

    This is an R program that calculates ICC on 3D volume data based on a
    two- or three-way random-effects ANOVA scheme. See more details at
    https://afni.nimh.nih.gov/sscc/gangc/ICC

----------------------------------------------------------------------

19 Dec 2008, RW Cox, 3dREMLfit, level 1 (MICRO), type 5 (MODIFY)
    Added condition number checking and -GOFORIT

    Also added floatscan checking for all output datasets, to be careful.

19 Dec 2008, DR Glen, align_epi_anat.py, level 1 (MICRO), type 4 (BUG_FIX)
    Slice timing for children can be ignored

    If child epi data does not need slice timing correction, script will
    continue instead of exiting

----------------------------------------------------------------------

16 Dec 2008, RW Cox, 3dREMLfit, level 1 (MICRO), type 0 (GENERAL)
    Fixed bug in linear solution when #columns%4==3 (unrolling).

    Actually in matrix.c, in function vector_multiply_transpose(), which is
    only  used in remla.c,  which is only used in 3dREMLfit.c.

16 Dec 2008, G Chen, 3dGC.R, level 3 (MAJOR), type 1 (NEW_PROG)
    Bivariate Granger causality analysis

    This is an R program that runs Granger causality analysis with a
    seed region versus the rest of the brain. See more details at
    https://afni.nimh.nih.gov/sscc/gangc/3dGC

----------------------------------------------------------------------

15 Dec 2008, RC Reynolds, Makefile, level 1 (MICRO), type 5 (MODIFY)
    added USE_LESSTIF directive

    Modified Makefile.linux_xorg7[_64], Makefile.macosx_10.5_Intel[_64].

----------------------------------------------------------------------

13 Dec 2008, ZS Saad, afni-matlab, level 3 (MAJOR), type 1 (NEW_PROG)
    RetroTS creates regressors for cardiac, respiratory, and RVT filtering

    RetroTS.m and accompanying functions create slice-based regressors
    for regressing out the effects of cardiac, respiratory, and RVT effects
    from FMRI time series. The regressors generated are meant to be used 
    with 3dREMLfit.

----------------------------------------------------------------------

11 Dec 2008, RW Cox, 3dREMLfit, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed -slibase bug.

    Oopsie.  -slibase didn't work properly with more than 1 added column per
    slice.  Also, per the request of ZSS, you can now input more than 1
    column set per image file, in repetitive slice order:
      0 1 2 3 0 1 2 3 0 1 2 3
    if there are 4 slices in the dataset, for example.

11 Dec 2008, RW Cox, 3dREMLfit, level 1 (MICRO), type 5 (MODIFY)
    Should behave better with ocllinear regression matrix.

    Modified the QR decomposition to adjust 'tiny' diagonal elements of R,
    to avoid division by zero (or near-zero).  Prints a warning message when
    this adjustment is made.

----------------------------------------------------------------------

10 Dec 2008, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added new options for extra stimuli, RONI and an external volreg base

    - allow NIfTI datasets as input (but process as AFNI)
    - added -regress_extra_stim_files and -regress_extra_stim_labels
    - added -regress_RONI and -volreg_base_dset (for Jill Weisberg)

----------------------------------------------------------------------

09 Dec 2008, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed (potential) SUMA crash when Draw ROI interface is first opened

09 Dec 2008, ZS Saad, @Align_Centers, level 2 (MINOR), type 2 (NEW_OPT)
    Added -cm option to allow centering based on the center of mass

09 Dec 2008, ZS Saad, 3dCM, level 1 (MICRO), type 5 (MODIFY)
    Added history note to 3dCM

09 Dec 2008, RW Cox, 3dDeconvolve, level 2 (MINOR), type 5 (MODIFY)
    Added 'dmBLOCK' to the '-stim_times_IM' repertoire.

----------------------------------------------------------------------

08 Dec 2008, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    SUMA works now with LESSTIF, interface is almost the same as in MOTIF

08 Dec 2008, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    Expand -stim_times_AM modulation abilities even more.

    Now allow 'duration modulation' via the 'dmBLOCK' response model.  A
    general facility for allowing up to 3 nonlinear function parameters has
    been built into the code, for future expansion.  'dmBLOCK' can also be
    amplitude modulated.

08 Dec 2008, RC Reynolds, xmat_tool.py, level 1 (MICRO), type 5 (MODIFY)
    allow -test_libs to proceed without numpy

08 Dec 2008, RC Reynolds, Makefile, level 1 (MICRO), type 0 (GENERAL)
    added Makefile.macosx_10.5_G4

----------------------------------------------------------------------

05 Dec 2008, DR Glen, to3d, level 2 (MINOR), type 5 (MODIFY)
    Siemens DICOM handling

    added -oblique_origin and -reverse_list to help handle Siemens
    DICOM data. oblique_origin option added to to3d and 3drefit
    Rick added flipped slice handling to oblique mosaic handling

----------------------------------------------------------------------

04 Dec 2008, RW Cox, 3dDeconvolve, level 2 (MINOR), type 2 (NEW_OPT)
    Extend -stim_times_AM2 option to allow multiple amplitudes

04 Dec 2008, RW Cox, 1dMarry, level 2 (MINOR), type 5 (MODIFY)
    Allow multiple marriages, to go with 3dDeconvolve changes

04 Dec 2008, RC Reynolds, Makefile.INCLUDE, level 2 (MINOR), type 5 (MODIFY)
    added balloon target for M Belmonte

    Also modified Makefile.linux_xorg7_64 and macosx_10.4_G5/Intel and 5_Int*.

04 Dec 2008, RC Reynolds, balloon, level 1 (MICRO), type 1 (NEW_PROG)
    new program by M Belmonte

----------------------------------------------------------------------

02 Dec 2008, ZS Saad, SpharmReco, level 3 (MAJOR), type 1 (NEW_PROG)
    Reconstructs data from spherical harmonics decomposition.

    See SpharmDeco -help and the demo script @Spharm.examples
    for details.

02 Dec 2008, ZS Saad, SpharmDeco, level 3 (MAJOR), type 1 (NEW_PROG)
    Performs spherical harmonics decomposition.

    This program performs spherical harmonics decomposition
    for surfaces' geometry and/or surface-based data
    See SpharmReco -help and the demo script @Spharm.examples
    for details.

02 Dec 2008, ZS Saad, @Spharm.examples, level 3 (MAJOR), type 1 (NEW_PROG)
    A script to demonstrate the usage of SpharmDeco and SpharmReco

02 Dec 2008, ZS Saad, @NoisySkullStrip, level 3 (MAJOR), type 1 (NEW_PROG)
    A script to improve skull stripping in noisy of heavily shaded data

02 Dec 2008, ZS Saad, general, level 1 (MICRO), type 4 (BUG_FIX)
    Environment vars. set in the shell override those in .afnirc or .sumarc

----------------------------------------------------------------------

01 Dec 2008, RC Reynolds, timing_tool.py, level 3 (MAJOR), type 1 (NEW_PROG)
    a tool for manipulating and evaluating stimulus timing files

    This is useful for getting statistics on rest timing.

01 Dec 2008, RC Reynolds, option_list.py, level 1 (MICRO), type 5 (MODIFY)
    added 'opt' param to more get_* functions

01 Dec 2008, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 5 (MODIFY)
    moved min_mean_max_stdev to afni_util.py and modified help examples

----------------------------------------------------------------------

24 Nov 2008, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added options -infile_list and -show_sorted_list

    The -show_sorted_list option will print a list of files by run/index.

----------------------------------------------------------------------

21 Nov 2008, ZS Saad, @fast_roi, level 3 (MAJOR), type 1 (NEW_PROG)
    Creates Atlas-based ROIs in original space for real-time experiments 

21 Nov 2008, RC Reynolds, xmat_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added Options menu, Show Cosmat and GUI help

    This is the initial release version, 1.0.

21 Nov 2008, RC Reynolds, xmat_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -test_libs option

21 Nov 2008, RC Reynolds, python_module_test.py, level 2 (MINOR), type 2 (NEW_OPT)
    removed 'R' from basic test list, and applied verb 2 to base usage

----------------------------------------------------------------------

20 Nov 2008, RC Reynolds, plug_realtime, level 2 (MINOR), type 2 (NEW_OPT)
    incorporated real-time volume writing from V. Roopchansingh of MCW

----------------------------------------------------------------------

18 Nov 2008, RW Cox, 3dANOVA programs, level 2 (MINOR), type 2 (NEW_OPT)
    Add option to output float-valued datasets.

    Set the AFNI_FLOATIZE environment variable to YES, and the output of
    3dANOVA, 3dANOVA2, and 3dANOVA3 will be stored in float format instead
    of in scaled short format.  [Per the request of Paul Hamilton]

18 Nov 2008, RC Reynolds, xmat_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -test, -show_col_types, -show_cosmat, -show_fit_ts, -cormat_cutoff

    also added the main help

18 Nov 2008, RC Reynolds, afni_xmat.py, level 1 (MICRO), type 5 (MODIFY)
    added extra_cols param to make_show_conds_str

----------------------------------------------------------------------

14 Nov 2008, RW Cox, help_format, level 1 (MICRO), type 1 (NEW_PROG)
    For formatting -help output into Web pages with hyperlinks.

    To be used with the dist_help script for making the help Web pages from
    the -help outputs of all AFNI programs.

----------------------------------------------------------------------

13 Nov 2008, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Added a NIDO sphere as Displayable Object 

    See suma -help_nido for details.

13 Nov 2008, ZS Saad, @SUMA_AlignToExperiment, level 2 (MINOR), type 2 (NEW_OPT)
    Added -al option to use 3dAllineate -lpa 

----------------------------------------------------------------------

11 Nov 2008, RW Cox, 3dREMLfit, level 1 (MICRO), type 0 (GENERAL)
    -usetemp now also saves output dataset stuff to TMPDIR.

----------------------------------------------------------------------

10 Nov 2008, RW Cox, 3dUndump, level 1 (MICRO), type 5 (MODIFY)
    Add warning if non-integer values are being saved to shorts/bytes.

----------------------------------------------------------------------

07 Nov 2008, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Write Clust_table.1D into dataset directory, not startup directory.

07 Nov 2008, RC Reynolds, xmat_tool.py, level 2 (MINOR), type 5 (MODIFY)
    more updates:

    - scipy is only tested for when necessary
    - compute norms locally if no scipy
    - solve_against_1D, linear_combo: return error string instead of code
    - added -chrono option, to make all options chronological
      (so options are essentially scriptable)

07 Nov 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    tlrc view handling

    fixed view name of tlrc output with tlrc_master set to SOURCE

----------------------------------------------------------------------

06 Nov 2008, RW Cox, 3dDeconvolve, level 2 (MINOR), type 0 (GENERAL)
    Add 'scale to shorts misfit' warning messages.

    Also added to 3dcalc and some other programs.

06 Nov 2008, RC Reynolds, xmat_tool.py, level 2 (MINOR), type 2 (NEW_OPT)
    pre-release updates:

      - added many initial command-line options
      - added plot_xmat_as_one toggle button
      - added computation of cosine matrix and cosmat_warnings
      - separated GUI code into new file gui_xmat.py

06 Nov 2008, RC Reynolds, python_module_test.py, level 2 (MINOR), type 2 (NEW_OPT)
    added option -full_test

06 Nov 2008, RC Reynolds, option_list.py, level 1 (MICRO), type 2 (NEW_OPT)
    added opt param to get_type_opt and get_type_list

    had to modify calls in make_random_timing.py and gen_epi_review.py

06 Nov 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    Oblique children handling

    fixed combination of oblique with child epis for epi2anat output

----------------------------------------------------------------------

05 Nov 2008, RW Cox, model_expr2.c, level 1 (MICRO), type 0 (GENERAL)
    Modified to allow up to 9 parameters -- see code for details.

05 Nov 2008, RW Cox, 3dREMLfit, level 1 (MICRO), type 0 (GENERAL)
    If it saves memory, convert dataset to new MRI_vectim format.

    That is, an array of time series vectors, of voxels in the mask.  Will
    save memory if the number of voxels in the mask is less than 1/2 the
    volume.

----------------------------------------------------------------------

04 Nov 2008, RW Cox, 3dNLfim, level 2 (MINOR), type 0 (GENERAL)
    Added model_expr2.c

    Model that uses an arbitrary 3dcalc-like expression with 2 free
    parameters (any letters but 't', which is used for the time axis).

04 Nov 2008, RW Cox, 3dBlurToFWHM, level 2 (MINOR), type 4 (BUG_FIX)
    skip all zero sub-bricks in the blurmaster - for Tomski Rosski

04 Nov 2008, RC Reynolds, vol2surf, level 1 (MICRO), type 5 (MODIFY)
    only complain about statsym_string in debug mode

04 Nov 2008, RC Reynolds, plug_vol2surf, level 1 (MICRO), type 5 (MODIFY)
    fail if NIML output dataset does end in .niml.dset

04 Nov 2008, RC Reynolds, 3dVol2Surf, level 1 (MICRO), type 5 (MODIFY)
    fail if NIML output dataset does end in .niml.dset

----------------------------------------------------------------------

03 Nov 2008, ZS Saad, 3dNLfim, level 1 (MICRO), type 2 (NEW_OPT)
    Added Exp (single exponential) model 

03 Nov 2008, RW Cox, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    Several changes

    Finished -gltsym, -Rglt, and -Oglt options = add GLTs on the 3dREMLfit
    command line and output those exclusively to new files.
    
    Modified -addbase and -slibase to do censoring if input 1D files are the
    same length as the uncensored matrix.
    
    Also fixed bugs in -ABfile.  Oopsie.

----------------------------------------------------------------------

31 Oct 2008, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -show_timing_stats option

    Also, made a small change affecting timing (old results will not match).

31 Oct 2008, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    moved functions encode_1D_ints and decode_1D_ints here

31 Oct 2008, DR Glen, 3drefit, level 2 (MINOR), type 5 (MODIFY)
    Time axis attributes

    Added support in 3drefit for applying time axis attributes

----------------------------------------------------------------------

30 Oct 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    AddEdge with epi2anat

    fixed AddEdge option for epi2anat output

----------------------------------------------------------------------

29 Oct 2008, RC Reynolds, xmat_tool.py, level 2 (MINOR), type 5 (MODIFY)
    if the X-matrix has a constant regressor, do not de-mean it

    In such a case, the cormat would not exactly be a correlation matrix.

29 Oct 2008, RC Reynolds, python_module_test.py, level 2 (MINOR), type 1 (NEW_PROG)
    program to test python module imports (interface to module_test_lib.py)

----------------------------------------------------------------------

28 Oct 2008, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    add '3' checkerboard (inverse stippling to '#' key)

28 Oct 2008, RC Reynolds, module_test_lib.py, level 2 (MINOR), type 1 (NEW_PROG)
    library to test python module imports

    One might want to apply this module at the top of any python file.

28 Oct 2008, RC Reynolds, xmat_tool.py, level 1 (MICRO), type 5 (MODIFY)
    use module_test_lib to test imports

----------------------------------------------------------------------

27 Oct 2008, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Checkerboard underlay and overlay images

    For Ziad -- to help judge image alignment.  Use the # key to turn
    checkerboarding on and off.  The grayscale intensity bar popup menu has
    a new sub-menu to select the check size in units of underlay pixels.  At
    this time, checkerboarding does NOT work with image Save, RowGraphs, or
    SurfGraph, or just about any other feature.  If you want a picture of a
    checkerboarded image, you'll have to use a snapshot utility to grab the
    window.

27 Oct 2008, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -offset option

27 Oct 2008, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 4 (BUG_FIX)
    actually applied -min_rest, sorry...

27 Oct 2008, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -regress_motion_file option

----------------------------------------------------------------------

24 Oct 2008, RC Reynolds, xmat_tool.py, level 4 (SUPER), type 1 (NEW_PROG)
    program to inspect a .xmat.1D X-matrix, possibly against a time series

    This is a Graphical tool for plotting a design matrix, reviewing
    condition numbers or the correlation matrix, and fitting to a 1D
    time series.

----------------------------------------------------------------------

23 Oct 2008, RW Cox, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    Added -rout option, by popular 'demand'

23 Oct 2008, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Add MDF estimate to FDR q-value

    MDF = Missed Detection Fraction = estimate of what fraction of true
    positives are below any given threshold (analogous to FDR = estimate of
    what fraction of above threshold voxels are true negatives).  Displays
    in the hint attached to the label below the threshold slider.  Purely
    experimental, since estimating the number of true positives in a given
    collection of p-values is not a well-defined concept by any means.

23 Oct 2008, RC Reynolds, Makefile.INCLUDE, level 2 (MINOR), type 4 (BUG_FIX)
    removed reference to cdflib, for 'make afni_src.tgz'

23 Oct 2008, RC Reynolds, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    added lists_are_same function

----------------------------------------------------------------------

20 Oct 2008, RC Reynolds, afni_util.py, level 2 (MINOR), type 2 (NEW_OPT)
    added write_text_to_file function

20 Oct 2008, RC Reynolds, afni_driver.c, level 2 (MINOR), type 2 (NEW_OPT)
    added 'GETENV' to the list of DRIVE_AFNI commands

----------------------------------------------------------------------

17 Oct 2008, ZS Saad, imcat, level 1 (MICRO), type 2 (NEW_OPT)
    -crop is a new option for cropping an image 

----------------------------------------------------------------------

16 Oct 2008, RC Reynolds, thd_mastery, level 1 (MICRO), type 5 (MODIFY)
    THD_copy_dset_subs should not need to add a warp structure

----------------------------------------------------------------------

15 Oct 2008, RW Cox, fdrval, level 2 (MINOR), type 1 (NEW_PROG)
    Compute FDR value on command line, from dataset header

15 Oct 2008, RW Cox, 3dREMLfit, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed errts (etc) outputs: censored values not set to zero!

15 Oct 2008, DR Glen, afni plugouts, @AddEdge, level 2 (MINOR), type 5 (MODIFY)
    quiet communications

    @AddEdge silences communications as plugout

----------------------------------------------------------------------

14 Oct 2008, RW Cox, 3dAllineate, level 2 (MINOR), type 4 (BUG_FIX)
    If source=scaled shorts, then output will be scaled as well.

14 Oct 2008, RC Reynolds, thd_mastery, level 1 (MICRO), type 5 (MODIFY)
    verify sub-brick list in THD_copy_dset_subs()

14 Oct 2008, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    added wrap string param to add_line_wrappers (to wrap with newlines)

14 Oct 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 5 (MODIFY)
    minor updates

    AddEdge option enhanced and help updated

14 Oct 2008, DR Glen, @AddEdge, level 2 (MINOR), type 5 (MODIFY)
    Help and options

    More user options, improved help, removed temporary files 

----------------------------------------------------------------------

09 Oct 2008, G Chen, 1dGC.R, level 4 (SUPER), type 1 (NEW_PROG)
    Multivariate Granger causality analysis

    This is an R program that runs Granger causality analysis among a few
    pre-select regions. See more details at
    https://afni.nimh.nih.gov/sscc/gangc/1dGC

----------------------------------------------------------------------

08 Oct 2008, RC Reynolds, NIFTI, level 1 (MICRO), type 5 (MODIFY)
    allow cbl with indices in 0..nt*nu*nv*nw-1

----------------------------------------------------------------------

07 Oct 2008, RC Reynolds, NIFTI, level 1 (MICRO), type 5 (MODIFY)
    added nifti_NBL_matches_nim() check for write_bricks()

----------------------------------------------------------------------

06 Oct 2008, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    FDR curves can now be fetched from warp_parent

    If a func dataset is missing FDR curves, then the program tries to get
    them from the warp_parent dataset.  Also, AFNI no longer allows you to
    add FDR curves to a dataset without actual bricks (warp-on-demand).

06 Oct 2008, DR Glen, 3drefit, level 2 (MINOR), type 5 (MODIFY)
    -atrfloat and -atrint options

    Allows addition and modification of dataset attributes
    including modifying IJK_TO_DICOM_REAL. Not all attributes
    can be modified if fairly basic to dataset.

----------------------------------------------------------------------

03 Oct 2008, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    SUMA accepts text, images, and textures as Displayable Objects

    See SUMA's interactive help for ctrl+alt+s for more information
    on Displayable Objects (DOs). The new DOs are in a simple 
    NIML format. It is simplest to look at the script @DO.examples
    for illustrations of the various forms of DOs that SUMA supports.
    Sample NIML DOs (called NIDOs) are now provided with the distribution
    They are called demo.*.niml.do.

03 Oct 2008, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    -viewer_position/_width/_height/_size to control window placement

    See DriveSuma -help for details.

03 Oct 2008, ZS Saad, @DO.examples, level 2 (MINOR), type 1 (NEW_PROG)
    A script that demonstrates the use of Displayable Objects

    See SUMA's interactive help for ctrl+alt+s for more information
    on Displayable Objects (DOs). 

03 Oct 2008, ZS Saad, suma, level 1 (MICRO), type 3 (NEW_ENV)
    SUMA_StartUpLocation to control initial window placement 

    See output for suma -environment for details.

----------------------------------------------------------------------

02 Oct 2008, RC Reynolds, GIFTI, level 1 (MICRO), type 5 (MODIFY)
    minor changes

    - separate diffs in DAs from those in gifti_image
    - decode additional data types: INT8, UINT16, INT64
    - add link flags to libgiftiio_la target

----------------------------------------------------------------------

30 Sep 2008, RW Cox, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    added -gltsym option

    Makes it easy for the user to add GLTs without using 3dDeconvolve.

----------------------------------------------------------------------

29 Sep 2008, RC Reynolds, 3dmatmult, level 3 (MAJOR), type 1 (NEW_PROG)
    program to multiply AFNI datasets slice-by-slice as matrices

----------------------------------------------------------------------

26 Sep 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 5 (MODIFY)
    -child_anat option

    Convenience option to align follower anat datasets to epi

----------------------------------------------------------------------

25 Sep 2008, RW Cox, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    added -usetemp option

    Saves REML setup matrices for various cases to tmp disk files.  Is
    necessary for -slibase and -Grid 5 combined, if anyone ever actually
    wants to run such a case.

----------------------------------------------------------------------

24 Sep 2008, RW Cox, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    -addbase and -slibase options to add baseline columns to matrix

    In particular, -slibase is intended for per-slice modeling of
    physiological noise effects.  Sucks up a lot of memory and CPU time.

----------------------------------------------------------------------

23 Sep 2008, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    save last jumpto_xyz string, etc.

23 Sep 2008, RC Reynolds, gen_epi_review.py, level 2 (MINOR), type 5 (MODIFY)
    in script, check for existence of given datasets

23 Sep 2008, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -remove_preproc_files option (akin to -move_preproc_files)

----------------------------------------------------------------------

22 Sep 2008, RW Cox, 3dREMLfit, level 1 (MICRO), type 0 (GENERAL)
    got rid of some big memory leaks

----------------------------------------------------------------------

19 Sep 2008, RW Cox, NIML library, level 1 (MICRO), type 0 (GENERAL)
    modify NI_alter_veclen to allow conversion to non-empty from empty

19 Sep 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 5 (MODIFY)
    -giant_move option

    For data that are very far apart
    Fixed bug using long path names

----------------------------------------------------------------------

18 Sep 2008, RW Cox, Vecwarp, level 1 (MICRO), type 4 (BUG_FIX)
    Only require +orig dataset if user actually NEEDS it

    Program required the +orig version of the -apar dataset, which is needed
    for SureFit work, even if it wasn't actually going to be used.  Not any
    more.

18 Sep 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 5 (MODIFY)
    More options

    Intermediate file saved optionally now,
    partial_axial,sagittal,coronal options
    Edge-based method, nocmass default, resample step optional,
    Added options to support searching for smaller structures,
    3dWarpDrive can be used optionally as volume registration program
    prep_off option to turn off several preprocessing steps
    AddEdge option uses simplified names in output in new directory

----------------------------------------------------------------------

17 Sep 2008, RC Reynolds, make_stim_times.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -labels option, for including labels in filenames

----------------------------------------------------------------------

16 Sep 2008, ZS Saad, SurfDist, level 2 (MINOR), type 2 (NEW_OPT)
    -node_path_do outputs the shortest path between two nodes

    The shortest path(s) are stored as a SUMA Displayable Object
    which can be loaded into SUMA with ctrl+alt+s or using DriveSuma.

16 Sep 2008, ZS Saad, DriveSuma, level 2 (MINOR), type 2 (NEW_OPT)
    -load_do sends SUMA Displayable Objects to be rendered

    See SUMA's interactive help for ctrl+alt+s for more information
    on Displayable Objects.

16 Sep 2008, RW Cox, 3dDeconvolve, level 1 (MICRO), type 5 (MODIFY)
    Made 3dREMLfit command echo more complete for user's convenience

16 Sep 2008, RC Reynolds, 3drefit, level 2 (MINOR), type 4 (BUG_FIX)
    allow attribute editing of NIfTI datasets

----------------------------------------------------------------------

15 Sep 2008, RW Cox, Draw Dataset plugin, level 2 (MINOR), type 5 (MODIFY)
    Keystrokes F3 and F3 now decrement/increment drawing value in plugin

----------------------------------------------------------------------

10 Sep 2008, RW Cox, 3dTfitter, level 1 (MICRO), type 5 (MODIFY)
    skip all zero voxels; add voxel ID to error messages

10 Sep 2008, RC Reynolds, plug_realtime, level 1 (MICRO), type 4 (BUG_FIX)
    re-added sending of magic_bye string on MP socket close

----------------------------------------------------------------------

09 Sep 2008, RW Cox, 3dAllineate, level 1 (MICRO), type 5 (MODIFY)
    add savehist to allcost output

----------------------------------------------------------------------

03 Sep 2008, RC Reynolds, plug_realtime, level 1 (MICRO), type 5 (MODIFY)
    moved drive_wait execution to RT_tell_afni

----------------------------------------------------------------------

02 Sep 2008, ZS Saad, 3dSkullStrip, level 2 (MINOR), type 4 (BUG_FIX)
    Starting sphere center was incorrectly initialized

02 Sep 2008, RW Cox, 3dAllineate, level 1 (MICRO), type 2 (NEW_OPT)
    -allcostX1D option (for Chairman Z)

02 Sep 2008, RC Reynolds, GIFTI, level 1 (MICRO), type 5 (MODIFY)
    have distribution Makefiles build with GIFTI/expat/zlib

----------------------------------------------------------------------

29 Aug 2008, ZS Saad, ExamineXmat, level 3 (MAJOR), type 1 (NEW_PROG)
    An interactive tool to examine a design matrix

29 Aug 2008, ZS Saad, 3ddelay, level 2 (MINOR), type 4 (BUG_FIX)
    Uninitialized pointer in 3ddelay

29 Aug 2008, ZS Saad, afni-general, level 1 (MICRO), type 0 (GENERAL)
    Added toy programs 3dTsmoothR.c and toyR.c to test C<-->R interface

    The programs demonstrate how to call R functions from C.
    To build them one needs to run tcsh ./@RmakeOpts
    Add 'include Makefile.R.INCLUDE' to Makefile
    Then make 3dTsmoothR toyR
    The programs demonstrate time series processing and plotting in R.

29 Aug 2008, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    More small changes, to speed the program up a little

    * reduce the number of function evals used in the coarse refinements
    * after coarse refinements, cast out parameter sets that are very close
      to the best set, to avoid duplicative work at the fine pass

29 Aug 2008, RC Reynolds, vol2surf, level 2 (MINOR), type 5 (MODIFY)
    fill in COLMS_STATSYM attribute when writing .niml.dset dataset

29 Aug 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 5 (MODIFY)
    Feature size, AddEdge, skullstrip,rat options

    Added options to support searching for smaller structures,
    an option for rat brain alignment, alternate options for 3dSkullstrip
    and an optional call for @AddEdge

----------------------------------------------------------------------

28 Aug 2008, RW Cox, 3dAllineate, level 3 (MAJOR), type 5 (MODIFY)
    A number of changes to improve robustness.

    * Don't smooth noise added to source image outside of the mask
    * Reduce default smoothing level for -lpc in coarse pass
    * Increase number of points used for matching in the coarse pass
    * More refinements of the twobest results in the coarse pass
    * Refinements (-num_rtb option) of the twobest results in the fine pass
    All this adds CPU time, but seems to make the program more reliably
    convergent.  Also:
    * Restored operation of the -check option, to restart the optimization
      at the final solution with other methods, to see what results they
      give compared to the original method.

28 Aug 2008, RW Cox, miscellaneous, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed 'is used uninitialized' errors in several codes.

    Via the new macro ZZME() in 3ddata.h, which zeros out a struct.

----------------------------------------------------------------------

27 Aug 2008, DR Glen, 3danisosmooth, level 2 (MINOR), type 4 (BUG_FIX)
    Initialized variable for 3D case

----------------------------------------------------------------------

26 Aug 2008, RW Cox, 3dTcorrMap, level 2 (MINOR), type 1 (NEW_PROG)
    Average correlations with every other voxel time series.

    Kind of slow.  For Kyle Simmons.  And I still don't recognize Missouri!

26 Aug 2008, RC Reynolds, 3dAllineate, level 2 (MINOR), type 4 (BUG_FIX)
    initialized ntask in all cases

----------------------------------------------------------------------

25 Aug 2008, RW Cox, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    Added residual outputs to 3dREMLfit.

----------------------------------------------------------------------

22 Aug 2008, RW Cox, 3dREMLfit, level 2 (MINOR), type 2 (NEW_OPT)
    Add FDR curves and -?fitts options.

22 Aug 2008, RC Reynolds, plug_realtime, level 2 (MINOR), type 2 (NEW_OPT)
    added DRIVE_WAIT command string

    The command will be executed after the first volume is processed,
    which is good for opening windows appropriate to a new dataset.

22 Aug 2008, RC Reynolds, Dimon, level 1 (MICRO), type 2 (NEW_OPT)
    added -drive_wait option

----------------------------------------------------------------------

21 Aug 2008, RW Cox, 3dREMLfit, level 4 (SUPER), type 1 (NEW_PROG)
    Program to mimic 3dDeconvolve, but with serial correlations

    Uses ARMA(1,1) model of noise, separately for each voxel.

21 Aug 2008, RC Reynolds, afni-general, level 2 (MINOR), type 5 (MODIFY)
    in edt_dsetitems, if storage mode can be inferred from prefix, apply it

21 Aug 2008, RC Reynolds, afni, level 2 (MINOR), type 2 (NEW_OPT)
    added -disable_done option to safeguard real-time mode

21 Aug 2008, RC Reynolds, ANOVA, level 2 (MINOR), type 5 (MODIFY)
    use DSET_BRIKNAME for dataset control, as that is updated for smode

21 Aug 2008, RC Reynolds, Dimon, level 1 (MICRO), type 5 (MODIFY)
    updated help and suggest -num_slices with -sleep_init

----------------------------------------------------------------------

18 Aug 2008, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    add -force_TR option to override input dataset TR from header

    Also added a printout of the dataset TR if the PSFB warning gets
    printed.

18 Aug 2008, RC Reynolds, plug_realtime, level 2 (MINOR), type 5 (MODIFY)
    increase DRIVE_LIMIT to 4Kb, read env vars each run

    These variables can now be controlled through drive_afni 'SETENV'
    (either via 'plugout_drive' or 'Dimon -drive_afni'):
        - AFNI_REALTIME_Mask_Vals  : specify what gets sent to serial_helper
        - AFNI_REALTIME_SHOW_TIMES : specify whether to show data timestamps
        - AFNI_REALTIME_SEND_VER   : specify whether to send comm version

----------------------------------------------------------------------

15 Aug 2008, RC Reynolds, afni, level 2 (MINOR), type 4 (BUG_FIX)
    init graph->grid_spacing, to prevent potential div by 0 via DRIVE

----------------------------------------------------------------------

14 Aug 2008, RC Reynolds, 3dBrickStat, level 2 (MINOR), type 4 (BUG_FIX)
    do not automatically print -max along with -var

14 Aug 2008, RC Reynolds, Dimon, level 1 (MICRO), type 5 (MODIFY)
    moved num_slices check to separate function

----------------------------------------------------------------------

05 Aug 2008, RC Reynolds, to3d, level 2 (MINOR), type 4 (BUG_FIX)
    re-added the un16 fix from July 1

----------------------------------------------------------------------

03 Aug 2008, RC Reynolds, nifticlib, level 2 (MINOR), type 5 (MODIFY)
    added swap ability for ANALYZE 7.5 format, and made swapping complete

    - added nifti_analyze75 struct
    - modified swap_nifti_header to swap all fields (analyze or nifti)
    - added regression testing script c16.rand.swap
    These changes were motivated by C Burns.

03 Aug 2008, RC Reynolds, nifti_tool, level 2 (MINOR), type 2 (NEW_OPT)
    added -help_ana, -disp_ana, -swap_as_analyze, -swap_as_nifti, -swap_as_old

----------------------------------------------------------------------

31 Jul 2008, RC Reynolds, serial_helper, level 2 (MINOR), type 2 (NEW_OPT)
    added HELLO version 2 to work as -disp_all

    See 'HELLO versions' from 'serial_helper -help' for details.
    See 'example E' from 'Dimon -help' for a complete testing example.

31 Jul 2008, RC Reynolds, plug_realtime, level 2 (MINOR), type 2 (NEW_OPT)
    enhancements to communication with serial helper

    - added 'Motion Only' to methods
    - parameter methods can easily be switched per run
    - SEND_VER replaces HELLO_VER as Y/N variable

31 Jul 2008, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added -num_slices option, and full real-time example E

----------------------------------------------------------------------

30 Jul 2008, RC Reynolds, serial_helper, level 2 (MINOR), type 2 (NEW_OPT)
    added HELLO version 1 and -show_times option

30 Jul 2008, RC Reynolds, plug_realtime, level 2 (MINOR), type 2 (NEW_OPT)
    added HELLO version 1 and show_times option

    These are set via AFNI_REALTIME_SEND_VER and AFNI_REALTIME_SHOW_TIMES.

30 Jul 2008, DR Glen, 3dinfo.c, level 1 (MICRO), type 5 (MODIFY)
    Exit codes set to 1 on error

----------------------------------------------------------------------

29 Jul 2008, ZS Saad, afni, level 2 (MINOR), type 5 (MODIFY)
    Changed transform used to crete mni coord. in interactive whereami

    The transform from TLRC to MNI used to be via the manually TLRCed
    N27 brain. However this created inconsistency in the second line of the 
    Focus point output (MNI Brain) on the order of a couple of mm
    with the command-line whereami program. 
    Now both interactive and command-line whereami produce the same 
    Focus Point output. Note that the rest of the whereami
    output remains unchanged.

29 Jul 2008, RC Reynolds, serial_helper, level 2 (MINOR), type 5 (MODIFY)
    captured and output more signal and error info, flushed output buffer

29 Jul 2008, RC Reynolds, plug_realtime, level 2 (MINOR), type 5 (MODIFY)
    print more socket error info, send MP vals w/out mask

----------------------------------------------------------------------

28 Jul 2008, RC Reynolds, plug_realtime, level 2 (MINOR), type 4 (BUG_FIX)
    alter check for bad socket: use tcp_alivecheck over tcp_writecheck

28 Jul 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 5 (MODIFY)
    Pre and post transformation matrices

    Allow pre-transformation matrix instead of oblique transformation
    and post-transformation instead of tlrc transformation.
    Fixed concatenated matrices for oblique data. Master options
    allow specification of dimension size on output. Script arguments
    saved in output dataset.

----------------------------------------------------------------------

25 Jul 2008, RC Reynolds, Dimon, level 2 (MINOR), type 5 (MODIFY)
    allow -sleep_vol to be very small without early run termination

----------------------------------------------------------------------

23 Jul 2008, RC Reynolds, 3dttest, level 2 (MINOR), type 2 (NEW_OPT)
    added -base1_dset option, where -base1 value can vary over voxels

    Added for M Beauchamp.

----------------------------------------------------------------------

18 Jul 2008, RC Reynolds, 3dNLfim, level 2 (MINOR), type 5 (MODIFY)
    listed signal and noise models in -help output

18 Jul 2008, DR Glen, to3d, level 2 (MINOR), type 5 (MODIFY)
    Reverse order of slices in Siemens Mosaic data

    Some Siemens Mosaic data can be in reverse order depending upon
    obscure Siemens private DICOM tags.
    Thanks to Doug Greve in Freesurfer group for edifying this situation

----------------------------------------------------------------------

17 Jul 2008, RC Reynolds, 3dNLfim, level 2 (MINOR), type 5 (MODIFY)
    warn the user if DSET_NVALS is not the same as DSET_NUMTIMES

    That would suggest the dataset has no time axis.

----------------------------------------------------------------------

16 Jul 2008, RC Reynolds, serial_helper, level 2 (MINOR), type 2 (NEW_OPT)
    added -disp_all to give formatted display of 'all' mask data

    This was added for P Kundu.

16 Jul 2008, RC Reynolds, plug_realtime, level 2 (MINOR), type 2 (NEW_OPT)
    added choice of 'Vals to Send' to serial_helper

    Can now send index,i,j,k,x,y,z,value for every value in mask.

----------------------------------------------------------------------

15 Jul 2008, RW Cox, count, level 1 (MICRO), type 4 (BUG_FIX)
    Make '-suffix' work correctly for last item (per Fred Tam).

    Also, make '-sep' and '-suffix' work as separate items,
    instead of as synonyms for the same thing, which is stoopid.

15 Jul 2008, DR Glen, general, level 2 (MINOR), type 5 (MODIFY)
    Can turn off all obliquity warnings

    AFNI_NO_OBLIQUE_WARNING variable is extended to turn off warnings
    about using oblique data in commandline programs and in GUI

15 Jul 2008, DR Glen, 3dWarp, level 2 (MINOR), type 4 (BUG_FIX)
    Print correct obliquity transformation matrix

----------------------------------------------------------------------

14 Jul 2008, RW Cox, 3dDeconvolve, level 1 (MICRO), type 5 (MODIFY)
    Add 'RunStart' field to xmat.1D output, to indicate start of runs.

14 Jul 2008, RC Reynolds, plug_realtime, level 2 (MINOR), type 5 (MODIFY)
    terminate TCP transmission to serial_helper if mask is bad

14 Jul 2008, RC Reynolds, afni_history, level 2 (MINOR), type 5 (MODIFY)
    a single integer option is interpreted as with -past_entries

14 Jul 2008, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added -sleep_init, -sleep_vol, -sleep_frac

    These options control the timeout periods between data checks.

----------------------------------------------------------------------

11 Jul 2008, RC Reynolds, Dimon, level 1 (MICRO), type 5 (MODIFY)
    include last 4 elements of obl_matrix, even though probably useless

----------------------------------------------------------------------

10 Jul 2008, RC Reynolds, plug_realtime, level 3 (MAJOR), type 5 (MODIFY)
    receive oblique transform matrix via new OBLIQUE_XFORM interface

10 Jul 2008, RC Reynolds, Dimon, level 3 (MAJOR), type 5 (MODIFY)
    if the data is oblique, pass the transformation matrix to plug_realtime

----------------------------------------------------------------------

09 Jul 2008, RC Reynolds, plug_realtime, level 1 (MICRO), type 5 (MODIFY)
    if user closes graph window, allow comm with serial_helper to proceed

----------------------------------------------------------------------

07 Jul 2008, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    move extra newline from args_as_command to show_args_as_command

----------------------------------------------------------------------

03 Jul 2008, RW Cox, matrix.c, level 1 (MICRO), type 5 (MODIFY)
    Add QR function matrix_qrr() to matrix.c library file.

03 Jul 2008, RC Reynolds, plug_drawdset, level 1 (MICRO), type 4 (BUG_FIX)
    edt_dset_items.c: for .hdr, use .img brick file, storage_mode = BY_NIFTI

----------------------------------------------------------------------

02 Jul 2008, RC Reynolds, Dimon, level 1 (MICRO), type 5 (MODIFY)
    provide suggestions in the case of a real-time TCP connection failure

----------------------------------------------------------------------

01 Jul 2008, RC Reynolds, to3d, level 2 (MINOR), type 4 (BUG_FIX)
    fixed crash in case of mosaic and un16, no longer having im data

    Problem found by R. McColl.

01 Jul 2008, RC Reynolds, Makefile.INCLUDE, level 2 (MINOR), type 5 (MODIFY)
    modified the make system for building programs in the install directory

    - modified Makefile.INCLUDE's INFLAGS and ISFLAGS
    - modified SUMA_INPATH in SUMA_Makefile_NoDev.
    - removed 'rickr/' dirs from includes in mrilib.h, plug_crender.c and
      3dAllineate.c
    
    Requested by V. Roopchansingh of MCW.

----------------------------------------------------------------------

30 Jun 2008, RC Reynolds, gen_epi_review.py, level 2 (MINOR), type 5 (MODIFY)
    make script executable, decrease sleep, add usage comment in script

30 Jun 2008, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added -gen_epi_review and -no_epi_review options

    By default, a drive_afni script to review EPI data is now generated.

----------------------------------------------------------------------

27 Jun 2008, RC Reynolds, gen_epi_review.py, level 3 (MAJOR), type 1 (NEW_PROG)
    generate afni/drive_afni script to review initial EPI data

    This program was written to be called from the afni_proc.py output script.

27 Jun 2008, RC Reynolds, afni_util.py, level 1 (MICRO), type 5 (MODIFY)
    small modification to find_command_end

----------------------------------------------------------------------

25 Jun 2008, RC Reynolds, howto, level 2 (MINOR), type 5 (MODIFY)
    put disclaimers at the tops of HowTo #1, #2, and #5

    references to current AFNI class handouts were included

25 Jun 2008, RC Reynolds, afni_history, level 2 (MINOR), type 2 (NEW_OPT)
    added -past_entries option

----------------------------------------------------------------------

24 Jun 2008, RW Cox, afni, level 2 (MINOR), type 5 (MODIFY)
    Extend max number of clusters reportable, for Shruti.

24 Jun 2008, RC Reynolds, 3dDeconvolve, level 2 (MINOR), type 5 (MODIFY)
    added the ability to output 1D iresp datasets

----------------------------------------------------------------------

20 Jun 2008, RC Reynolds, libmri, level 2 (MINOR), type 5 (MODIFY)
    thd_niftiread: do not scale to float if scale=1 and inter=0

----------------------------------------------------------------------

19 Jun 2008, RC Reynolds, make_stim_times.py, level 2 (MINOR), type 5 (MODIFY)
    help update, added -show_valid_opts, use '*' as separator w/amplitudes

19 Jun 2008, RC Reynolds, file_tool, level 1 (MICRO), type 5 (MODIFY)
    removed printing of pointers in disp_ functions

----------------------------------------------------------------------

18 Jun 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    Bug fixes - duplicate master options, mislabeled variable

----------------------------------------------------------------------

16 Jun 2008, RC Reynolds, file_tool, level 2 (MINOR), type 5 (MODIFY)
    show output for multiple bad files when using -show_bad_backslash

----------------------------------------------------------------------

13 Jun 2008, RC Reynolds, nifticlib, level 2 (MINOR), type 2 (NEW_OPT)
    added nifti_compiled_with_zlib()

13 Jun 2008, RC Reynolds, nifti_tool, level 2 (MINOR), type 2 (NEW_OPT)
    added -with_zlib, and ability to add extensions via 'file:FILENAME'

    extension update added for J. Gunter

13 Jun 2008, RC Reynolds, 3dclust, level 2 (MINOR), type 5 (MODIFY)
    in the help, Volume defaults to microliters, unless -dxyz=1 is used

----------------------------------------------------------------------

12 Jun 2008, RC Reynolds, neuro_deconvolve.py, level 2 (MINOR), type 1 (NEW_PROG)
    generate 3dTfitter script to deconvolve a BOLD signal into a neuro signal

12 Jun 2008, RC Reynolds, afni_util.py, level 1 (MICRO), type 2 (NEW_OPT)
    added get_dset_reps_tr, get_default_polort, get_dset_reps_tr, max_dim_1D

    also, updated find_last_space to deal with long strings

12 Jun 2008, RC Reynolds, afni_proc.py, level 1 (MICRO), type 5 (MODIFY)
    shifted code to afni_util.get_dset_reps_tr and .get_default_polort

----------------------------------------------------------------------

11 Jun 2008, DR Glen, align_epi_anat.py, level 3 (MAJOR), type 5 (MODIFY)
    Obliquity handling in alignment, more grid options

11 Jun 2008, DR Glen, afni_base.py, level 1 (MICRO), type 5 (MODIFY)
    Added isFloat method to python support

11 Jun 2008, DR Glen, 3dWarp.c, level 1 (MICRO), type 5 (MODIFY)
    Prints oblique transformation matrix

----------------------------------------------------------------------

10 Jun 2008, RW Cox, 3dLocalCormat, level 2 (MINOR), type 2 (NEW_OPT)
    Add -ARMA option to estimate ARMA(1,1) parameters

----------------------------------------------------------------------

06 Jun 2008, RW Cox, 3dLocalCormat, level 2 (MINOR), type 1 (NEW_PROG)
    Compute correlation matrix of a time series, averaged locally.

06 Jun 2008, RW Cox, 3dErrtsCormat, level 2 (MINOR), type 1 (NEW_PROG)
    Compute correlation matrix of a time series, globally.

06 Jun 2008, RC Reynolds, plug_crender, level 2 (MINOR), type 4 (BUG_FIX)
    integral threshold was off by 1

06 Jun 2008, RC Reynolds, make_random_timing.py, level 1 (MICRO), type 5 (MODIFY)
    get_*_opt now returns an error code

----------------------------------------------------------------------

03 Jun 2008, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Made AFNI_IMAGE_TICK_DIV_IN_MM editable (in 'Edit Environment')

    This is Rick's method for putting a physical scale around the edge of an
    image.  Of course, you have to use the grayscale intensity bar popup
    menu to actually put the tick marks on.  This just converts the
    'division' count to mm.

----------------------------------------------------------------------

02 Jun 2008, RC Reynolds, model_demri_3, level 1 (MICRO), type 5 (MODIFY)
    small help update to clarify residual C curve input

02 Jun 2008, RC Reynolds, GIFTI, level 1 (MICRO), type 0 (GENERAL)
    added CMakeLists.txt and XMLCALL update from Simon Warfield

    also added LICENSE.gifti

----------------------------------------------------------------------

29 May 2008, ZS Saad, 3dfim+, level 2 (MINOR), type 5 (MODIFY)
    allowed for -polort -1 and for sub-brick selection with dataset names

29 May 2008, RC Reynolds, model_demri_3, level 1 (MICRO), type 4 (BUG_FIX)
    help update to clarify use of AFNI_MODEL_D3_R1I_DSET

----------------------------------------------------------------------

22 May 2008, RC Reynolds, 3dTshift, level 2 (MINOR), type 4 (BUG_FIX)
    with -rlt, slices without any time shift must still be processed

    problem noticed by Jie Huang

----------------------------------------------------------------------

21 May 2008, RW Cox, afni, level 1 (MICRO), type 4 (BUG_FIX)
    Put -1dindex into '3dclust' output from Clusterize report.  Oops.

21 May 2008, RC Reynolds, model_demri_3, level 2 (MINOR), type 4 (BUG_FIX)
    fixed incorrect scaling in Cp computation

    The error was introduced on April 8, 2008.

21 May 2008, RC Reynolds, make_stim_times.py, level 1 (MICRO), type 2 (NEW_OPT)
    added -amplitudes option (for Rutvik Desai)

----------------------------------------------------------------------

20 May 2008, RW Cox, afni, level 2 (MINOR), type 0 (GENERAL)
    Clusterize: '-' as the filename means write to stdout.

20 May 2008, RW Cox, plugout_drive, level 1 (MICRO), type 2 (NEW_OPT)
    Make TCP/IP to 'localhost' the default.  Add option '-shm' if needed.

20 May 2008, RW Cox, afni_cluster.c, level 1 (MICRO), type 0 (GENERAL)
    Added BHelp to a bunch of buttons.

----------------------------------------------------------------------

18 May 2008, RC Reynolds, make_random_timing.py, level 2 (MINOR), type 2 (NEW_OPT)
    added options for TR-locking and storing '3dDeconvolve -nodata' examples

    - added shuffle() to replace that from random (cannot produce all perms)
    - added options -tr, -tr_locked and -save_3dd_cmd
    - changed -stim_time option to -stim_dur

18 May 2008, RC Reynolds, afni_history, level 1 (MICRO), type 5 (MODIFY)
    sped up comparison (since histories have gotten long)

----------------------------------------------------------------------

17 May 2008, RC Reynolds, afni_proc.py, level 2 (MINOR), type 5 (MODIFY)
    check result of 3dDeconvolve execution in output script

    If 3dDeconvolve fails, terminate the script so that the user can
    see what happened.

----------------------------------------------------------------------

15 May 2008, ZS Saad, 3dmaskdump, level 2 (MINOR), type 2 (NEW_OPT)
    added -n_rand and -n_randseed

15 May 2008, ZS Saad, 3dfim+, level 2 (MINOR), type 4 (BUG_FIX)
    Fixed memory corruption when using more than 20 regressors

15 May 2008, RW Cox, thd_initdblk.c, level 1 (MICRO), type 3 (NEW_ENV)
    AFNI_IGNORE_BRICK_FLTFAC = YES means ignore brick factors on input

    This is a quick hack for Ziad, and must be used with care!  Example:
      3dBrickStat -DAFNI_IGNORE_BRICK_FLTFAC=YES -max -slow fred+orig

----------------------------------------------------------------------

14 May 2008, RC Reynolds, model_demri_3, level 2 (MINOR), type 4 (BUG_FIX)
    fixed application of decay term

14 May 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    1D file names for child epi data,micro changes

----------------------------------------------------------------------

13 May 2008, RC Reynolds, gifti_tool, level 2 (MINOR), type 2 (NEW_OPT)
    added -set_extern_filelist option, and help for using external data files

13 May 2008, RC Reynolds, GIFTI, level 2 (MINOR), type 2 (NEW_OPT)
    gifticlib-1.0.0: initial release

    includes support for (set/clear/read/write) external data files

----------------------------------------------------------------------

09 May 2008, ZS Saad, 3dROIstats, level 3 (MAJOR), type 2 (NEW_OPT)
    Added option -1Dformat to output results in 1D format

09 May 2008, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Modify PUTENV macro to malloc new string for each variable

    Previously used an array str[256] that would go away, and that's
    actually not legal in Linux -- the array must be permanent, since its
    pointer is what gets put in the environment, not a copy of the string. 
    That's why the PUTENV didn't work on Linux (but worked for some reason
    on Mac OS X)!  Sheesh.

09 May 2008, RC Reynolds, GIFTI, level 2 (MINOR), type 5 (MODIFY)
    gifticlib-0.0.18: giiCoordSystem is now an array of struct pointers

    modified GIFTI library, along with suma_gifti.c

----------------------------------------------------------------------

08 May 2008, ZS Saad, 3dsvm, level 3 (MAJOR), type 4 (BUG_FIX)
    Fixed memory corruption caused by improper declaration of combName

08 May 2008, RW Cox, edt_dsetitems.c, level 1 (MICRO), type 0 (GENERAL)
    new prefix *.hdr gets a 2-file NIfTI format output

08 May 2008, RW Cox, afni, level 1 (MICRO), type 0 (GENERAL)
    Add 'u' or 'o' marker in titlebar to indicate what's the grayscale

08 May 2008, RW Cox, ROI drawing plugin, level 1 (MICRO), type 0 (GENERAL)
    Change info label to show BRIK filename rather than dataset prefix

08 May 2008, RW Cox, 3dAllineate, level 1 (MICRO), type 0 (GENERAL)
    small changes to bilinear optimization parameters

08 May 2008, RC Reynolds, model_demri_3, level 2 (MINOR), type 5 (MODIFY)
    updated help, NFIRST does not need to imply injection time

----------------------------------------------------------------------

07 May 2008, RC Reynolds, make_random_timing.py, level 3 (MAJOR), type 1 (NEW_PROG)
    generate random stimulus timing files

    This generates random timing files suitable for use in 3dDeconvolve.
    The timing is not restricted to a TR grid, though that is possible.
    Consider use with '3dDeconvolve -nodata'.

07 May 2008, RC Reynolds, plug_3Ddump_V2, level 2 (MINOR), type 4 (BUG_FIX)
    allow 4D datasets to be opened (so that buckets are again usable)

    PLUGIN_dset_check() now checks NVALS instead of NUM_TIMES...

07 May 2008, RC Reynolds, option_list.py, level 2 (MINOR), type 2 (NEW_OPT)
    added get_type_list and other accessor functions

----------------------------------------------------------------------

02 May 2008, RW Cox, mcw_glob.c, level 1 (MICRO), type 0 (GENERAL)
    added message from Graham Wideman when readdir() fails

----------------------------------------------------------------------

01 May 2008, RW Cox, afni_cluster.c, level 1 (MICRO), type 0 (GENERAL)
    Add SaveMask button to Clusterize report window.

    Saves the clusters as a mask dataset (cluster #1 has value=1, etc.). 
    Uses the prefix in the text field for the dataset name -- will overwrite
    existing dataset if the same name is used twice.  Equivalent 3dclust
    command is saved in History Note in output mask dataset (as if you had
    pressed the '3dclust' button).

01 May 2008, RC Reynolds, model_demri_3, level 2 (MINOR), type 4 (BUG_FIX)
    treat RESID_CT as Ct(t), not C(t)

----------------------------------------------------------------------

30 Apr 2008, RW Cox, mcw_glob.c, level 2 (MINOR), type 3 (NEW_ENV)
    setenv AFNI_SHELL_GLOB YES == wildcard expansion via the shell

    For Graham Wideman and Mac OS X Server 10.5 problems.

30 Apr 2008, RC Reynolds, make_stim_times.py, level 1 (MICRO), type 4 (BUG_FIX)
    replaced make_stim_files with make_stim_times.py in help

----------------------------------------------------------------------

24 Apr 2008, ZS Saad, SurfSmooth, level 1 (MICRO), type 4 (BUG_FIX)
    Fixed leaky SurfSmooth.

    Leak was from one of fin_float pointers in Head07
    Also found leak in THD_extract_detrended_array and a few
    more small leaks in other SUMA function. Valgrind is good.

----------------------------------------------------------------------

23 Apr 2008, ZS Saad, afni-python, level 1 (MICRO), type 5 (MODIFY)
    Changed methods in afni_name class

    .path is now absolute
    .inp() and .out() should be used to specify input and output volumes
    Updated lpc_align.py and align_epi_anat.py to reflect changes.

----------------------------------------------------------------------

17 Apr 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 5 (MODIFY)
    minor changes

    Child epi datasets can be volume registered even if parent epi
    is a single sub-brick

----------------------------------------------------------------------

16 Apr 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    multiple changes

    Naming conventions for tlrc output, generic shell compatible,
    regridding options for epi and tlrc epi output

----------------------------------------------------------------------

14 Apr 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 4 (BUG_FIX)
    minor change

    3dAllineate options are also applied to epi to anat alignment,
    so output EPI datasets get original resolution and type.

----------------------------------------------------------------------

10 Apr 2008, RC Reynolds, afni_proc.py, level 1 (MICRO), type 0 (GENERAL)
    updated the -help with information regarding runs of different lengths

10 Apr 2008, DR Glen, align_epi_anat.py, level 2 (MINOR), type 5 (MODIFY)
    minor changes

    remove tabs in file, change output file names for epi children,
    changes to help, and renamed tlrc parent option

----------------------------------------------------------------------

08 Apr 2008, RW Cox, 3dUpsample, level 2 (MINOR), type 1 (NEW_PROG)
    Upsample a 3D+time dataset (in the time direction)

08 Apr 2008, RW Cox, 3dTfitter, level 1 (MICRO), type 4 (BUG_FIX)
    Deal with ref (LHS) vectors that are very tiny.

    Modify thd_fitter.c so that ref vectors that are very tiny compared to
    the largest one will not be included in the regression.  Per the
    unreasonable request of Rasmus Birn.

08 Apr 2008, RW Cox, 3dAllineate, level 1 (MICRO), type 4 (BUG_FIX)
    Weighting in LPC cost function

    Realized that weighting in computing the LPC was only done on the blok
    level computation of the PC.  All the blok PC values were averaged
    together without weighting.  Modified code to use sum of weights over a
    blok as a weight for its PC.  This can be turned off by setting
    environment variable AFNI_LPC_UNWTBLOK to YES (to restore the LPC
    function to its previous behavior).

08 Apr 2008, RC Reynolds, model_demri_3, level 2 (MINOR), type 3 (NEW_ENV)
    allow residual Ct values via AFNI_MODEL_D3_RESID_CT_DSET dataset

    e.g. setenv AFNI_MODEL_D3_RESID_CT_DSET residual_Ct+orig

08 Apr 2008, RC Reynolds, 2dImReg, level 2 (MINOR), type 4 (BUG_FIX)
    allow zero slices, passing input as result

    Choleski factorization would fail on an empty slice.  In this case,
    return the input slices as the result (instead of crashing).
    Done with D Glen.

08 Apr 2008, RC Reynolds, 3dNLfim, level 1 (MICRO), type 5 (MODIFY)
    only update output every 100 voxels

----------------------------------------------------------------------

07 Apr 2008, RW Cox, 1dUpsample, level 2 (MINOR), type 1 (NEW_PROG)
    Upsample a 1D time series

07 Apr 2008, DR Glen, align_epi_anat.py, level 4 (SUPER), type 1 (NEW_PROG)
    Alignment of EPI and Anatomical datasets

    Aligns anat and EPI data. Alignment is in either direction of anat to
    epi or epi to anat. Transformations are combined where possible as
    from time series registration and talairach transformations. Multiple
    child epi datasets may be aligned at the same time.

----------------------------------------------------------------------

04 Apr 2008, RW Cox, 3dAllineate, level 2 (MINOR), type 0 (GENERAL)
    Added '-nwarp bilinear' option

    Experimental nonlinear warping comes to 3dAllineate at last. 
    Preliminary test looks good, but more work is needed to be sure it's OK.

04 Apr 2008, RW Cox, 3dDeconvolve, level 1 (MICRO), type 0 (GENERAL)
    Check for ' ' option, which means a blank after a '\' character

----------------------------------------------------------------------

02 Apr 2008, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Changed suma -environment's output to reflect user's current environment.

    With this change, users can always replace their .sumarc with
    the one output by suma -environment without worrying about losing
    their preferred settings.

02 Apr 2008, RC Reynolds, ANOVA, level 2 (MINOR), type 5 (MODIFY)
    extended maximum number of contrasts to 75

----------------------------------------------------------------------

01 Apr 2008, RC Reynolds, ANOVA, level 2 (MINOR), type 5 (MODIFY)
    increased internal memory for 3dbucket and 3drefit command creation

----------------------------------------------------------------------

31 Mar 2008, RC Reynolds, ANOVA, level 2 (MINOR), type 5 (MODIFY)
    extended maximum number of means, diffs and contrasts to 50

----------------------------------------------------------------------

28 Mar 2008, RW Cox, 3dcalc, level 1 (MICRO), type 5 (MODIFY)
    Treat auto-transposed .1D\' files as datasets, not as timeseries.

28 Mar 2008, RC Reynolds, gifti_tool, level 2 (MINOR), type 2 (NEW_OPT)
    added -copy_gifti_meta and -copy_DA_meta options

28 Mar 2008, RC Reynolds, gifticlib, level 1 (MICRO), type 2 (NEW_OPT)
    added routines to copy MetaData

28 Mar 2008, DR Glen, 3dDTeig, level 2 (MINOR), type 4 (BUG_FIX)
    small negative eigenvalues are set to zero as in 3dDWItoDT

    This fix avoids FA being set to 0 for those affected voxels

----------------------------------------------------------------------

27 Mar 2008, ZS Saad, afni-matlab, level 2 (MINOR), type 5 (MODIFY)
    Added other return options for Read_1D.m and BrikLoad.m

27 Mar 2008, ZS Saad, suma-general, level 1 (MICRO), type 5 (MODIFY)
    Changed internal handling of various MATVEC sources.

    Simplified handling of different sources of MATVECs from
    AFNI's headers. Added handling of ALLINEATE_MATVEC to the
    mix.

----------------------------------------------------------------------

26 Mar 2008, ZS Saad, cat_matvec, level 2 (MINOR), type 5 (MODIFY)
    cat_matvec can now output IJK_TO_CARD_DICOM and IJK_TO_DICOM_REAL

26 Mar 2008, ZS Saad, @SUMA_AlignToExperiment, level 2 (MINOR), type 2 (NEW_OPT)
    Added -align_centers as an option to deal with very large moves

    It used to be that users had to run @Align_Centers on all their
    data when big moves were needed to align the surface's antaomy
    to that of the experiment. This is no longer needed.

26 Mar 2008, ZS Saad, @Align_Centers, level 2 (MINOR), type 5 (MODIFY)
    Script now outputs a matrix that represents the shift

    This matrix can be used with 3dAllineate to perform the shift.

26 Mar 2008, ZS Saad, 3dvolreg, level 2 (MINOR), type 4 (BUG_FIX)
    3dvolreg's -1Dmatrix_save was not always accounting for centers of rotation

    Now the output of -1Dmatrix_save always matches what one would get for
    the first sub-brick from
       cat_matvec FRED+orig::VOLREG_MATVEC_000000 -I 

26 Mar 2008, RW Cox, 1dplot, level 2 (MINOR), type 2 (NEW_OPT)
    Add -norm2 and -normx options: normalize time series before plotting

26 Mar 2008, RC Reynolds, gifticlib, level 1 (MICRO), type 5 (MODIFY)
    in compare, if comp_data is not set, state the fact

26 Mar 2008, DR Glen, python, level 2 (MINOR), type 4 (BUG_FIX)
    repaired support for dry_run mode in python scripts

26 Mar 2008, DR Glen, matrix.c, level 1 (MICRO), type 4 (BUG_FIX)
    freed matrix used in matrix_sqrt functions

----------------------------------------------------------------------

25 Mar 2008, ZS Saad, suma-general, level 2 (MINOR), type 5 (MODIFY)
    Instead of SAME, one can use surface's name as LocalDomainParent

25 Mar 2008, ZS Saad, suma, level 2 (MINOR), type 4 (BUG_FIX)
    ROIs drawn on different surfaces now handled properly

25 Mar 2008, ZS Saad, ConvertSurface, level 1 (MICRO), type 2 (NEW_OPT)
    Added option -ixmat_1D to apply inverse of affine transform

25 Mar 2008, ZS Saad, @auto_tlrc, level 1 (MICRO), type 5 (MODIFY)
    Improvements on -rigid_equiv output and .1D transform output

25 Mar 2008, ZS Saad, @SUMA_AlignToExperiment, level 1 (MICRO), type 5 (MODIFY)
    View is now changed even if rigid-body registration is used.

25 Mar 2008, RW Cox, 3dDetrend, level 2 (MINOR), type 4 (BUG_FIX)
    -normalize didn't work -- what the hellll was I thinking?

    Also, added some help to explain how to use 3dDetrend on 1D files.

25 Mar 2008, RW Cox, 1dnorm, level 2 (MINOR), type 4 (BUG_FIX)
    Forgot the sqrt()!  kudos to David Perlman.

25 Mar 2008, RC Reynolds, gifti_tool, level 2 (MINOR), type 5 (MODIFY)
    the -compare_data option is not separate from -compare_gifti

25 Mar 2008, RC Reynolds, GIFTI, level 2 (MINOR), type 5 (MODIFY)
    minor changes:

      - NIFTI_INTENT_NONE is considered valid
      - added compare_gifti_data functions
      - LabelTables are now written using CDATA

----------------------------------------------------------------------

24 Mar 2008, RW Cox, 3dTfitter, level 2 (MINOR), type 5 (MODIFY)
    deconvolution with penalty factor = 0 is modified

    Now the criterion for choosing the penalty factor is based on curvature
    rather than distance from the origin.  Seems to be more robust, but
    probably will require yet more tweaking.

24 Mar 2008, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    added GERT_Reco options (request of D Glen)

      -gert_filename    : specify a name for the GERT_Reco script
      -gert_nz          : override nz=1 in mosaic image files
      -gert_to3d_prefix : specify a dataset prefix for the to3d command

24 Mar 2008, RC Reynolds, @Align_Centers, level 2 (MINOR), type 4 (BUG_FIX)
    applied proper follower dataset orientation and floating point shifts

    The shift applied to the child datasets was based on the parent's
    orientation.  The shifts were also being truncated to integers.
    Changed with D Glen.

----------------------------------------------------------------------

21 Mar 2008, ZS Saad, 3dnvals, level 1 (MICRO), type 2 (NEW_OPT)
    Added -all to 3dnvals to output all 4 dimensions. 

21 Mar 2008, RW Cox, 3dTfitter, level 1 (MICRO), type 5 (MODIFY)
    Modified operation of FALTUNG penalty=0 option

    Implemented the L-curve method for selecting the penalty factor, when
    user sets the factor to 0.

----------------------------------------------------------------------

20 Mar 2008, RW Cox, 3dTfitter, level 2 (MINOR), type 2 (NEW_OPT)
    Add -polort option, to keep Gang Chen happy.

20 Mar 2008, RC Reynolds, GIFTI, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_WRITE_1D_AS_PREFIX allows writing 1D or surface data given the prefix

    For example, setting this to YES will allow writing surface data to NIfTI.

----------------------------------------------------------------------

18 Mar 2008, RC Reynolds, gifti_tool, level 2 (MINOR), type 2 (NEW_OPT)
    added -compare_gifti option

    See 'gifti_tool -help' for details, including example #7.

18 Mar 2008, RC Reynolds, GIFTI, level 2 (MINOR), type 2 (NEW_OPT)
    added comparison functions to gifticlib

----------------------------------------------------------------------

17 Mar 2008, ZS Saad, lpc_align.py, level 1 (MICRO), type 2 (NEW_OPT)
    Added -big_move and -partial_coverage.

    -big_move is for when large displacements are needed for alignment.
    -partial_coverage is for when EPI covers a portion of the brain.

17 Mar 2008, RC Reynolds, Dimon, level 2 (MINOR), type 5 (MODIFY)
    if 1 volume, GERT_Reco_dicom does not give (useless) timing to to3d

----------------------------------------------------------------------

14 Mar 2008, RW Cox, 3dROIstats, level 1 (MICRO), type 2 (NEW_OPT)
    Sub-brick label printing (and -nobriklab option)

    Per the noble Vince Hradil.

----------------------------------------------------------------------

13 Mar 2008, RC Reynolds, 3dmerge, level 2 (MINOR), type 0 (GENERAL)
    added some examples to the -help output

----------------------------------------------------------------------

12 Mar 2008, ZS Saad, suma, level 2 (MINOR), type 5 (MODIFY)
    Changed surface controller font to 8. 

    You can get the old font size with environment
    variable SUMA_SurfContFontSize BIG.
    The default is now SMALL.

12 Mar 2008, ZS Saad, suma, level 1 (MICRO), type 4 (BUG_FIX)
    Changed crash in SurfaceMetrics when -spec and -i options are mixed. 

----------------------------------------------------------------------

11 Mar 2008, RC Reynolds, model_demri_3, level 2 (MINOR), type 2 (NEW_OPT)
    added control of hematocrit via AFNI_MODEL_D3_HCT

----------------------------------------------------------------------

10 Mar 2008, RC Reynolds, SUMA_SurfMeasures, level 3 (MAJOR), type 4 (BUG_FIX)
    averages did not include nodes lost to -cmask

    Noticed by M Beauchamp.

10 Mar 2008, RC Reynolds, GIFTI, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_GIFTI_VERB sets the verbose level in the gifti I/O library

    The default is 1, 0 is quiet, and values go up to 7.

10 Mar 2008, RC Reynolds, GIFTI, level 2 (MINOR), type 0 (GENERAL)
    AFNI can read/write .gii.dset as with .gii

10 Mar 2008, RC Reynolds, Dimon, level 2 (MINOR), type 2 (NEW_OPT)
    applied -gert_outdir in the case of dicom images

10 Mar 2008, RC Reynolds, Dimon, level 2 (MINOR), type 5 (MODIFY)
    if only 1 run, GERT_Reco_dicom is named per run

----------------------------------------------------------------------

07 Mar 2008, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    Color map in surface controller can be flipped and rotated

    * f key for flipping colormap
    * Up/Down keys for rotating color map
    * Home for home
    Hit ctrl+h on Surface Controller's colormap for more help.

07 Mar 2008, RW Cox, Dataset#N, level 2 (MINOR), type 3 (NEW_ENV)
    AFNI_DATASETN_NMAX sets number of datasets allowed

    New environment variable AFNI_DATASETN_NMAX sets the number of datasets
    allowed in Dataset#N plugin, from 9..49.  This is for Shruti.

07 Mar 2008, RC Reynolds, make_stim_times.py, level 2 (MINOR), type 4 (BUG_FIX)
    properly ignore empty lines, and exit on short files

----------------------------------------------------------------------

06 Mar 2008, ZS Saad, suma, level 2 (MINOR), type 3 (NEW_ENV)
    Added three variables affecting the surface controller

    * SUMA_ShowOneOnly: Sets '1 Only' on or off. On by default
    * SUMA_GraphHidden: Update open graphs even if corresponding dset
                        is hidden.* SUMA_ColorMapRotationFraction: Fraction of
     colormap to rotate
                        up or down with arrow keys.
    See suma -environment for a complete list.

06 Mar 2008, RW Cox, 3dcalc, level 1 (MICRO), type 5 (MODIFY)
    Add cbrt (cube root) function to parser; affects 1deval and ccalc

06 Mar 2008, RC Reynolds, GIFTI, level 1 (MICRO), type 5 (MODIFY)
    allow functional control over GIFTI encoding

----------------------------------------------------------------------

05 Mar 2008, ZS Saad, suma-general, level 3 (MAJOR), type 0 (GENERAL)
    Support for GIFTI surface format writing

    GIFTI writing can now be done with SUMA programs.
    For example, see options -o_gii and -xml* in ConvertSurface program.

05 Mar 2008, RW Cox, afni-general, level 2 (MINOR), type 5 (MODIFY)
    Change the way 1D datasets are written to disk from 3D programs

    In programs that analyze time series files (such as 3dTfitter), you can
    input 1D files and make the column direction be the time axis by using
    suffixing the file with \' -- but when it comes to writing the results
    dataset out, the standard AFNI I/O method is to write the time axis
    along the row direction.  With this change, if you input a 1D file in
    the place of a 3D dataset AND put '.1D' at the end of the output file
    prefix, then the output dataset will be written so that the time axis
    is along the column direction.

05 Mar 2008, RW Cox, 3dTfitter, level 2 (MINOR), type 2 (NEW_OPT)
    added '-fitts' option to produce fitted time series dataset

05 Mar 2008, RW Cox, afni, level 1 (MICRO), type 5 (MODIFY)
    Added 'AFNI History' button to the Datamode->Misc menu

05 Mar 2008, RC Reynolds, GIFTI, level 2 (MINOR), type 4 (BUG_FIX)
    fixed passing of INDEX_LIST

05 Mar 2008, RC Reynolds, GIFTI, level 2 (MINOR), type 5 (MODIFY)
    do not duplicate data when reading and writing GIFTI from AFNI

----------------------------------------------------------------------

04 Mar 2008, RW Cox, 3dDeconvolve, level 2 (MINOR), type 4 (BUG_FIX)
    couple of small changes to help the hapless users

    * add more informative error message if allocate_memory() fails
    * force '-float' if any output prefix is NIfTI-1 format (.nii)

04 Mar 2008, RC Reynolds, 3dTstat, level 2 (MINOR), type 2 (NEW_OPT)
    added -accumulate option, to output each partial sum

    for k = 0..N-1 : output[k] = sum(input[i]) over i = 0..k

----------------------------------------------------------------------

03 Mar 2008, RW Cox, ++AFNI_History++ plugin, level 1 (MICRO), type 2 (NEW_OPT)
    Small changes to make onscreen wordwrap match printout wordwrap

03 Mar 2008, RC Reynolds, website, level 2 (MINOR), type 5 (MODIFY)
    updated the AFNI History website pages, with a table of entries

----------------------------------------------------------------------

01 Mar 2008, RW Cox, ++AFNI_History++ plugin, level 1 (MICRO), type 1 (NEW_PROG)
    Provides a way to create and insert entries into afni_history_NAME.c

    User must set two environment variables:
     AFNI_HISTORY_PERSONAL_FILE = full path to your personal version of
       afni_history_NAME.c
     AFNI_HISTORY_USERNAME = what you want for the username in your file
    My values of these are
     AFNI_HISTORY_PERSONAL_FILE = /Users/rwcox/AFNI/src/afni_history_rwcox.c
     AFNI_HISTORY_USERNAME      = RWC
    You also need to add one of two lines to your afni_history_NAME.c file:
    
    /*=====below THIS LINE=====*/
    or
    /*=====above THIS LINE=====*/
    
    as shown, with no blanks before or after on the same line (except that
    you must make 'BELOW' or 'ABOVE' all caps!).
    New history entries are placed below the 'BELOW' line (if present), or
    above the 'ABOVE' line.
    
    If you set AFNI_HISTORY_DONTSAVE to YES, then the afni_history_NAME.c
    file won't be edited, and the new entry is just written to stdout.

----------------------------------------------------------------------

29 Feb 2008, RW Cox, afni_history, level 1 (MICRO), type 0 (GENERAL)
    with HTML output, put a rule between different dates

29 Feb 2008, RC Reynolds, afni_history, level 2 (MINOR), type 2 (NEW_OPT)
    added a TYPE, -type, a new level, and a string to identify each level

29 Feb 2008, G Chen, 3dICA.R, level 4 (SUPER), type 1 (NEW_PROG)
    Independent component analysis

    This is an R program that runs independent component analysis. It
    takes one dataset that presumably has already been properly
    pre-processed.already been properly pre-processed. See more details at
    https://afni.nimh.nih.gov/sscc/gangc/ica.html

----------------------------------------------------------------------

28 Feb 2008, ZS Saad, suma-general, level 3 (MAJOR), type 3 (NEW_ENV)
    Support for GIFTI surface format reading

28 Feb 2008, RW Cox, 3dUndump, level 2 (MINOR), type 0 (GENERAL)
    allow input of NO text files, to produce an 'empty' dataset

28 Feb 2008, RW Cox, 3dTfitter, level 2 (MINOR), type 2 (NEW_OPT)
    allow constraints on sign of deconvolved function

28 Feb 2008, RW Cox, 3dTfitter, level 2 (MINOR), type 2 (NEW_OPT)
    allow combination of penalty functions in deconvolution

28 Feb 2008, RC Reynolds, afni_history, level 2 (MINOR), type 2 (NEW_OPT)
    added -list_authors option and adjusted spacing

----------------------------------------------------------------------

27 Feb 2008, ZS Saad, suma, level 3 (MAJOR), type 0 (GENERAL)
    Addition of p and q values under threshold bar

    Use BHelp on p and q text in suma to get more info.

27 Feb 2008, ZS Saad, suma-general, level 1 (MICRO), type 4 (BUG_FIX)
    Another bout of initialization and leak fixes based on valgrind's output

    The hope is that some weird X behavior is caused by uninitialized
    variables.

27 Feb 2008, RW Cox, 3dTfitter, level 3 (MAJOR), type 2 (NEW_OPT)
    add deconvolution via the '-FALTUNG' option

    Unlike 3dDeconvolve, this deconvolution is to find the input time
    series, given the impulse response function.

27 Feb 2008, RC Reynolds, afni_history, level 4 (SUPER), type 1 (NEW_PROG)
    program to display the history of AFNI updates

    This will be used to create a web page of AFNI updates.
    Please see 'afni_history -help' for more details.

27 Feb 2008, RC Reynolds, afni_proc.py, level 2 (MINOR), type 4 (BUG_FIX)
    fixed -regress_use_stim_files typo (was -regress_use_stim_times)

----------------------------------------------------------------------

26 Feb 2008, RC Reynolds, afni_history, level 1 (MICRO), type 0 (GENERAL)
    checked in initial afni_history files

----------------------------------------------------------------------

25 Feb 2008, RW Cox, 1dsvd, level 2 (MINOR), type 2 (NEW_OPT)
    add '-vmean' and '-vnorm' options, to mirror capabilities in 3dpc

25 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Make 3dTfitter work when -RHS is a '1D:' input (-LHS already worked).
    * -vnorm and -vmean options for 1dsvd.c (as in 3dpc.c).

25 Feb 2008, RC Reynolds, plug_vol2surf, level 3 (MAJOR), type 4 (BUG_FIX)
    fixed application of cluster for sending data to suma

    Previously, clustering was only applied when the Olay and Thr sub-bricks
    were the same.

----------------------------------------------------------------------

24 Feb 2008, RC Reynolds, GIFTI, level 2 (MINOR), type 5 (MODIFY)
    GIFTI library now considers MetaData without Value as valid

----------------------------------------------------------------------

22 Feb 2008, RW Cox, 3dpc, level 2 (MINOR), type 2 (NEW_OPT)
    add '-eigonly' and '-reduce' options; output eigenvalues to a 1D file

    '-eigonly' causes 3dpc to print eigenvalues to stdout and stop there.
    '-reduce n pp' outputs a reduced dataset, using only the largest 'n'
    eigenvalues.

22 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to 3dpc.c: -reduce and -eigonly options.

----------------------------------------------------------------------

21 Feb 2008, RC Reynolds, GIFTI, level 4 (SUPER), type 0 (GENERAL)
    AFNI programs can now read and write GIFTI datasets

    GIFTI datasets are for data in the surface domain, with file suffix .gii.
    Support must be requested at compile time, and it requires libexpat.
    Please see http://www.nitrc.org/projects/gifti for many details.

----------------------------------------------------------------------

20 Feb 2008, RW Cox, 1deval, level 2 (MINOR), type 2 (NEW_OPT)
    add '-1D:' option, to write output that is usable on the command line

    Sample usage:
     1dplot `1deval -1D: -num 71 -expr 'cos(t/2)*exp(-t/19)'`
    The backquotes `...` capture command's output and put this string on
    the command line.  The '-1D:' option formats the 1deval output so that
    it is ready to be used in this way.

20 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add cl2.c constrained least squares function to the library.
    * Use this in thd_fitter.c and thence in 3dTfitter.c.
    * Add '-1D:' option to 1deval.c.

----------------------------------------------------------------------

19 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Bug fixes in 3dTfitter.c and thd_fitter.c.

----------------------------------------------------------------------

16 Feb 2008, RW Cox, 3dTfitter, level 4 (SUPER), type 1 (NEW_PROG)
    new program = linear fits to voxel time series

    Uses L1 or L2 regression, with optional constraints to fit each voxel
    time series as a sum of basis time series, which can be 1D files or
    3D+time datasets.  Basis time series that are 1D time series are
    the same for all input voxels.  Basis time series that are 3D+time
    datasets are different for each voxel.
    Differences from 3dDeconvolve:
    * Basis time series can vary across voxels.
    * Fit coefficients can be found with L1 or L2 error functions, and
      can be constrained to be positive or negative.
    * 3dTfitter does not compute goodness-of-fit statistics.

16 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New program 3dTfitter.  And fitting function THD_fitter().

----------------------------------------------------------------------

14 Feb 2008, ZS Saad, suma, level 3 (MAJOR), type 0 (GENERAL)
    Graphing of dset content with 'g'

    A graph of the column content at a node can be plotted
    This would be the surface equivalent to AFNI's graphing function.
    See suma's interactive help 'ctrl+h' for more info.

14 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Similar changes to de-clusterize when a forced view switch occurs when
       switching datasets, or when switching datasets to something that
       doesn't have data available.
    * Also, AFNI_FLASH_VIEWSWITCH to disable Adam Thomas's view switching
       flashiness.

----------------------------------------------------------------------

13 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify mcw_glob.c and thd_mastery.c to pre-expand '~/' at the start of
       a filename to '${HOME}/' to help some pitiful users (e.g., me).
    * Modify afni.c to turn off clusterizing when switching coordinate systems
    .

----------------------------------------------------------------------

12 Feb 2008, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    An option to show all of suma's environment variables

    See help for -environment in suma -help.

----------------------------------------------------------------------

11 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c and thd_mastery.c to work better with '3dcalc' command
       line datasets.

----------------------------------------------------------------------

07 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * DSET_overwrite() macro, and THD_force_ok_overwrite() function.
    * Modify plug_drawdset.c to use DSET_overwrite(), and a few other
       plugins and 3d*.c programs as well.
    * Fix drawing of surface overlay when the functional overlay is being
       shown as the underlay: must use the underlay dataset for coordinate
       checking even if overlay dataset is actually being drawn as underlay,
       since the coordinates for the images are still the underlay's in
       this situation.
    * Fix 3dvolreg to work properly with sub-brick scale factors.

----------------------------------------------------------------------

06 Feb 2008, ZS Saad, SurfDist, level 3 (MAJOR), type 1 (NEW_PROG)
    Program to calculate geodesic internodal distances

06 Feb 2008, RC Reynolds, 3dbucket, level 2 (MINOR), type 0 (GENERAL)
    modified to copy FDR curves

----------------------------------------------------------------------

05 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fix over-write checks in mri_write.c by moving all file open/close
       operations to new fopen_maybe() and fclose_maybe() functions.
    * Move THD_deathcon() and THD_ok_overwrite() functions to afni_environ.c,
       where they belong.
    * New function EDIT_geometry_constructor() to make an empty dataset from
       a string specifying it's geometry.  Also, print this geometry string
       in 3dinfo.

----------------------------------------------------------------------

04 Feb 2008, RW Cox, Miscellaneous, level 2 (MINOR), type 3 (NEW_ENV)
    Older History stuff

    * AFNI_NEWSESSION_SWITCH in afni_func.c == switch to new session?

----------------------------------------------------------------------

01 Feb 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * VOLUME_DATA_SPARSE in thd_nimlatr.c.
    * READ_NIML_FILE in afni_driver.c.
    * Force re-clustering when doing a redraw in the ROI plugin.
    * Modify NIML+PO button label to reflect status of NIML and plugouts
       at time button is created.

----------------------------------------------------------------------

31 Jan 2008, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * Modify plug_crender.c to obey AFNI_SLAVE_THRTIME.

----------------------------------------------------------------------

29 Jan 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 4 (BUG_FIX)
    Older History stuff

    * Fixed bug in 3dFDR -new handling of mask -- ooooppssssie.
    * And bug in FDR curves generated from signed statistics (like t).

----------------------------------------------------------------------

28 Jan 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 4 (BUG_FIX)
    Older History stuff

    * Added PRINT_COMPILE_DATE macro to mrilib.h and to a lot of programs'
       -help output.
    * Fixed 'rule of 15' bug in afni_cluster.c, where the initial display only
       showed a max of 15 widget rows, even if there were more clusters, but
       the number of rows would be reset correctly on any re-clusterizing.
       Problem: didn't initialize maxclu_default at the right location.
    * Fixed problem with display of clusterized dataset which is both the
       Underlay and Overlay: the Underlay was being shown as the edited
       volume, but that looks real bad.  Solution: disable vedit feature
       in AFNI_dataset_slice() when calling from the 'get anat image' place
       in afni.c, and then re-enable it right afterwards.

----------------------------------------------------------------------

25 Jan 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * mri_read_1D_stdin() in mri_read.c.

----------------------------------------------------------------------

24 Jan 2008, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * Add FDR curve generation to 3dANOVA.lib, 3dNLfim, 3dRegana, 3dttest.
    * Fix little problems with AFNI threshold scale display as q-value alters.
    * Fix bug in thd_mastery.c in assigning FDR curves to mastered sub-bricks.
    * Add '-killSTAT' option to 3drefit.

----------------------------------------------------------------------

23 Jan 2008, RW Cox, Miscellaneous, level 3 (MAJOR), type 2 (NEW_OPT)
    Older History stuff

    * FDR thresh-vs-z(q) curve generation and storage in datasets.
    * Display FDR q in AFNI pval label.
    * Generate FDR curves automatically in 3dDeconvolve, and with
       '-addFDR' option in 3drefit.

----------------------------------------------------------------------

22 Jan 2008, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Minor changes to 3dFDR: better help, -float, -qval.
    * Add -sort and -SORT options to 3dcalc, for no good reason.
    * Add 'help' command to ccalc, to give parser info.

22 Jan 2008, RC Reynolds, afni_proc.py, level 2 (MINOR), type 2 (NEW_OPT)
    added options to estimate smoothness in data for use in AlphaSim

    See help options -regress_est_blur_epits and -regress_est_blur_errts.

----------------------------------------------------------------------

18 Jan 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Incorporate mri_fdrize() into 3dFDR.

----------------------------------------------------------------------

17 Jan 2008, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * AFNI_FLOATIZE environment variable for 3dDeconvolve.c and 3dcalc.c.
    * mri_fdrize.c function for FDR-z conversion.

----------------------------------------------------------------------

16 Jan 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 4 (BUG_FIX)
    Older History stuff

    * Fix clusterize so that too small a value of vmul means just set the
       min cluster volume to 2 voxels.
    * Unfixed bug: display of clusterized func+tlrc.BRIK when func+tlrc datase
    t
       is warped from func+orig -- must fix afni_warp.c in this case.

----------------------------------------------------------------------

12 Jan 2008, ZS Saad, suma, level 3 (MAJOR), type 0 (GENERAL)
    Scroll lists for I T and B selectors in suma

    Right click on pulldown menu titles to get
    a scroll list instead. This makes selecting from
    a long list of options, or columns, much easier.
    Right click on 'I' to the left of suma's Intensity Selection
    button for an illustration.

----------------------------------------------------------------------

11 Jan 2008, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Small changes to AlphaSim.c, like using -fast option and better help.
    * Scrolling window changes to afni_cluster.c (Clusterize report panel).
    * mri_alphasim.c seems to work now.

----------------------------------------------------------------------

09 Jan 2008, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * SIGQUIT delay in afni.c, for Jerzy.

----------------------------------------------------------------------

28 Dec 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Popup menu in clusterize report to set histogram range.

28 Dec 2007, RC Reynolds, gifti_tool, level 3 (MAJOR), type 1 (NEW_PROG)
    program to read and write GIFTI datasets

----------------------------------------------------------------------

27 Dec 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Upgrades to clusterize reporting window: histograms, from/to indexes
       on auxiliary dataset, 3dclust and save table buttons, &c.
    * Fixed bug in DG's obliquity reporting function in thd_coords.c -- it
       didn't check if the input dataset was valid -- caused AFNI to crash.

----------------------------------------------------------------------

20 Dec 2007, RW Cox, Miscellaneous, level 3 (MAJOR), type 2 (NEW_OPT)
    Older History stuff

    * Clusterize reporting window.

----------------------------------------------------------------------

19 Dec 2007, ZS Saad, suma-general, level 3 (MAJOR), type 0 (GENERAL)
    Use of '[i]' to select node index from surface dset

    Square bracket '[]' selection works for surface-based
    datasets much like it does for volume-based ones.
    In addition, one can use '[i]' to select the indices
    of nodes for which data are defined in a particular 
    surface-based dataset.
    For more information, see 'SUMA dataset input options:' 
    section in the output of ConvertDset -help .

----------------------------------------------------------------------

18 Dec 2007, ZS Saad, ROIgrow, level 2 (MINOR), type 1 (NEW_PROG)
    Grows regions separately, depending on labels

18 Dec 2007, ZS Saad, ROI2dataset, level 2 (MINOR), type 0 (GENERAL)
    Output full datasets if needed

----------------------------------------------------------------------

17 Dec 2007, ZS Saad, ConvertDset, level 2 (MINOR), type 0 (GENERAL)
    Output of full dsets if needed

    This can be used to force a dataset with data
    defined on a few nodes to be written out with a
    complete list of nodes, using 0 where no data are defined.

----------------------------------------------------------------------

06 Dec 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * Add -jpg and -png options to 1dplot.c.
    * Add thick line drawing to mri_coxplot.c (by repeated thin line drawing).

----------------------------------------------------------------------

05 Dec 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify plot_motif.c to allow saving plots (as in 1dplot.c) to .jpg and
       .png files (if the proper suffix is given).

----------------------------------------------------------------------

04 Dec 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add AFNI_driver_register() to afni_driver.c to allow a plugin (say) to
       register a driver callback function.

----------------------------------------------------------------------

03 Dec 2007, RC Reynolds, GIFTI, level 3 (MAJOR), type 0 (GENERAL)
    initial release of gifti I/O C API

----------------------------------------------------------------------

23 Nov 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 1 (NEW_PROG)
    Older History stuff

    * Modify NI_decode_one_string() in niml_elemio.c to auto-expand buffer
       size if string is too long.  For festering Lebanese programmers.
    * Similarly, modify scan_for_angles() if element header is bigger than
       buffer size.
    * 'Histogram: Multi' (plug_histog_multi.c) plugin, for Kyle, Alex, & Pat.

----------------------------------------------------------------------

20 Nov 2007, RW Cox, 3dTsort, level 3 (MAJOR), type 1 (NEW_PROG)
    new program = sorts voxel data along the time axis

    This might be useful for sorting the -stim_time_IM beta weights
    output be 3dDeconvolve.  Perhaps for something else, too?

20 Nov 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 1 (NEW_PROG)
    Older History stuff

    * Copy auxdata from source to output in 3dAllineate.c (oops).
    * Changed 'report' from mri_clusterize.c and added info to the
       clusterize vector chooser using about BHelp to see this report.
    * New program 3dTsort.c.  Will this grow to be a monster?

----------------------------------------------------------------------

19 Nov 2007, ZS Saad, Surf2VolCoord, level 2 (MINOR), type 1 (NEW_PROG)
    Program to show surface-node to voxel correspondence

    This can be used to understand how surface coordinates
    relate to voxel coordinates.

----------------------------------------------------------------------

16 Nov 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * Added -global_times, -local_times, and -guess_times to 3dDeconvolve.c
    * For ragged 1D input files, arbitrary text starting with alphabetic
       character is same as '*' for filler.
    * AFNI_RESCAN_AT_SWITCH is on by default now.
    * 1dplot takes a 1 row file and flips it to a column for plotting; however
    ,
       when 2 single row files were input, they'd be catenated and THEN
       flipped, producing erroneous joined plot.  Now, they are flipped
       THEN catenated, which does the right thing.
    * Speaking of 1dplot, '-nopush' now works for multiple graphs, rather
       than just for '-one'.
    * Modify AlphaSim.c so that rmm defaults to -1 ==> nearest neighbors,
       and so that '-seed 0' generates a custom seed.
    * Add some extra text to the 'Clusterize' label (afni_setup.c) to
       explain that rmm=0 means NN clustering with vmul in voxel count.

----------------------------------------------------------------------

15 Nov 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Changes to interactive AFNI to save '1D:' ref and ort files in the
       header of interactive fim files; example
         1dplot '`3dAttribute -ssep ' ' AFNI_FIM_REF r1_time@1+orig`'
    * Changes to mri_read_1D() to allow arbitrarily long filenames.
    * New function mri_1D_tostring(), to create '1D:' strings from MRI_IMAGEs.
      (see file mri_fromstring.c)

----------------------------------------------------------------------

13 Nov 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * SAVE_RAW and SAVE_RAWMONT commands in afni_driver.c (and so imseq.[ch]).
    * Fix error in mri_genalign.c for allcost: the various 'cr?' functions
       weren't being properly separated.
    * Added multiple -check ability to 3dAllineate.c, and -allcost now printed
       for each alternative checked parameter set as well.

----------------------------------------------------------------------

09 Nov 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in build_2Dhist() in thd_correlate.c equal sized bin code,
       where 'ytop-xbot' was used instead of 'ytop-ybot'.  This is obviously
       the work of Dutch saboteurs.

----------------------------------------------------------------------

05 Nov 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 4 (BUG_FIX)
    Older History stuff

    * Insert some sleeping to try to avoid X11 errors that have been reported
       (but not seen by me) about XGeometry.
    * If DONT_USE_XTDESTROY is #define-d, then XtDestroyWidget() is replaced b
    y
       XtUnrealizeWidget() -- this is used in the Makefile for linux_xorg7,
       where the old bug in that Xt library function seems to have risen
       from the dead.

----------------------------------------------------------------------

29 Oct 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Change 'workmem' default to 266 in several of Doug Ward's programs.
    * Added warning message to 3dDeconvolve if TENT() or CSPLIN() inter-knot
       TR is smaller than the output TR for -iresp.
    * Added message to 3dSynthesize.c to indicate type of -cenfill being done.

----------------------------------------------------------------------

26 Oct 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified ranks.c and 3dMannWhitney.c to create sorted list all at once
       (via qsort_float), hopefully speeding things up.  Also increased
       default workmem and MAX_OBSERVATIONS.
    * Same deal for 3dWilcoxon.c.

----------------------------------------------------------------------

25 Oct 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Minor change to RegAna.c to use matrix_psinv() as a backup to
       matrix_inverse_dsc() when inverting GLT matrix.

----------------------------------------------------------------------

24 Oct 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Minor fix to 3dAllineate.c to setup 'blok' stuff when allcost is on.

----------------------------------------------------------------------

16 Oct 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 4 (BUG_FIX)
    Older History stuff

    * Small bug in decode_linebuf() in mri_read.c -- if a non-number character
       is encountered in non-slowmo mode, infinite loop ensues and that's bad.
       Now, such an encounter leads to an immediate break out of the loop.
    * Small changes to approximate_number_string() and it's usage in 3dDeconvo
    lve.
    * Fix to afni_graph.c so that 'Boxes' plot mode turns off 'Double Plot'.

----------------------------------------------------------------------

12 Oct 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * Changes to bbox.c to add an arrowval index selector to the single-select
    ion
       mode strlist chooser (per Shruti Japee's unreasonable demand).

----------------------------------------------------------------------

11 Oct 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * Modify edt_filtervol.c to clip off voxels outside the fmask.
    * Modify 3dmerge.c to add -1fm_noclip and -1filter_blur options.

----------------------------------------------------------------------

10 Oct 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Changes to 3dDeconvolve.c to check -stim_label values: for un-assigned
       values, and for duplicate values.
    * Change a few programs to check EQUIV_GRIDS() as well as voxel counts,
       when combining multiple datasets (3dTcat, etc).
    * Modify plug_nth_dataset.c to use different set of default overlay colors
    .
       Modify afni_plugin.[ch] to allow this.
    * Modify afni_graph.c to make 'Transform 1D' menu re-activate a button eve
    n
       if it is already the activated one.  Goal: popup Dataset#N plugin
       controls more easily.
    * Modify 3dttest.c to add the -sdn1 option (for Tom Johnstone).

----------------------------------------------------------------------

04 Oct 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modify afni_graph.c to turn Double Plot on when Dataset#N is invoked,
       and to not double plot transformed time series that didn't change.
    * Print 'NFirst > 0' informational message in 3dDeconvolve.c.
    * Change OPACITY_BOT from 0 to 1 in imseq.c.

----------------------------------------------------------------------

26 Sep 2007, ZS Saad, SurfFWHM, level 4 (SUPER), type 1 (NEW_PROG)
    Program to estimate FWHM of data on surface

26 Sep 2007, ZS Saad, SurfSmooth, level 3 (MAJOR), type 5 (MODIFY)
    Big changes to data smoothing functions

    * HEAT_07 method does controlled blurring, with options
    to blur 'to' a particular FWHM. No guessing needed for
    iterative kernel bandwidth or number of iterations.
    * HEAT_05 method improved to reduce numerical precision
    problems.

----------------------------------------------------------------------

21 Sep 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified MCW_choose_vector() in bbox.c to make initvec a float array,
       and then fixed the clusterize and graph pin stuff to match.
    * Modified thd_info.c to print out a more prominent warning message
       from 3dinfo.c when sub-brick stats are hidden from the user.
    * Warning message popup when Define Markers is first opened on a
       marker-less dataset.

----------------------------------------------------------------------

20 Sep 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add '-allcost' options to 3dAllineate.c and mri_genalign.c.
    * Neuter program 3dAcost.c.
    * Environment variable AFNI_INDEX_SCROLLREV.

20 Sep 2007, G Chen, 3dLME.R, level 4 (SUPER), type 1 (NEW_PROG)
    An R program for linear mixed-effects analysis at group level in AFNI

    See more details at https://afni.nimh.nih.gov/sscc/gangc/lme.html

----------------------------------------------------------------------

18 Sep 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added 'RGB:r,g,b' format to DC_parse_color() in display.c.
    * Fixed some bugs in 'Clipped' display.

----------------------------------------------------------------------

17 Sep 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added 'Clipped' option to image grayscaling, in imseq.c and afni.c.

----------------------------------------------------------------------

12 Sep 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added 'All AFNI Splashes' button to 'hidden' menu, just for fun.

----------------------------------------------------------------------

11 Sep 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 4 (BUG_FIX)
    Older History stuff

    * Modified 3dBlurToFWHM.c to remove scale factors from 'outset' if 'inset'
       had them.  Oopsie.

----------------------------------------------------------------------

10 Sep 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * Minor changes to 3dAllineate.c: '-autoweight**1.5' sub-option;
       '-autoweight' now the default for '-ls' cost function.
    * Re-insert older fixes to afni.c that were lost in CVS.

----------------------------------------------------------------------

31 Aug 2007, RC Reynolds, DECONFLICT, level 3 (MAJOR), type 5 (MODIFY)
    modified default behavior of programs from deconflict to no overwrite

    See AFNI_DECONFLICT in README.environment.

31 Aug 2007, RC Reynolds, model_conv_diffgamma, level 2 (MINOR), type 1 (NEW_PROG)
    NLfim model to compute the convolution of the difference of gammas

----------------------------------------------------------------------

20 Aug 2007, RW Cox, Miscellaneous, level 3 (MAJOR), type 2 (NEW_OPT)
    Older History stuff

    * First version of '-lpc' Local Pearson Correlation cost function in
       3dAllineate.c, with rhombic dodecahedra as the default building bloks.

----------------------------------------------------------------------

16 Aug 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 4 (BUG_FIX)
    Older History stuff

    * Modify 3dDeconvolve.c to check -stim_times files for 0-1 inputs and for
       duplicate times.

----------------------------------------------------------------------

14 Aug 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * Modify 3dDeconvolve.c to allow 'POLY' model to have order up to 20.
    * Modify 3dLocalBistat.c to allow '-weight' option for '-pearson' statisti
    c.

----------------------------------------------------------------------

08 Aug 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * Add threshold signage feature to AFNI threshold menu ('Pos & Neg', etc).

----------------------------------------------------------------------

03 Aug 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 3 (NEW_ENV)
    Older History stuff

    * AFNI_SEE_OVERLAY environment variable.
    * Turn overlay on when user first-time switches Overlay, and turn TTatlas
       colors on when user pops up atlas color chooser panel.

----------------------------------------------------------------------

01 Aug 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify to3d.c to warn users of '-xFOV 120A-P' (e.g.) that this is a 240 
    mm
      field of view (warn in the -help output, and in the program running).

----------------------------------------------------------------------

31 Jul 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 2 (NEW_OPT)
    Older History stuff

    * Make -cmass the default in 3dAllineate.c.
    * Also add '+clip' feature to '-autoweight' in 3dAllineate.c.

----------------------------------------------------------------------

30 Jul 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modify thd_read_vecmat.c to use mri_read_double_ascii() to read a file r
    ather
       than read it directly.  This way, comments will be skipped properly and
       the '1D: ...' format can be used.
    * Fix afni_plugin.c to initialize loading of matrix_initialize(), to fix a
       problem left in plug_deconvolve.c by RCR's matrix.c changes.
    * Matrix square root in mri_matrix.c, and thence to 1dmatcalc and cat_matv
    ec.

30 Jul 2007, RC Reynolds, regression_tests, level 3 (MAJOR), type 0 (GENERAL)
    added setup for regression testing to NIFTI package

    This can be used as a template for testing any command-line programs.

----------------------------------------------------------------------

27 Jul 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add 'SPMG3' to 3dDeconvolve.c.
    * Fix bug in -1Dmatrix_save in 3dAllineate, when dealing with zero-padded 
    base.

----------------------------------------------------------------------

25 Jul 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modify 3dAllineate, 3dvolreg, and 3dWarpDrive to output base-to-source m
    atrices.
    * Modify cat_matvec to deal with files of multiple matrices.
    * Modify 3dAllineate to make '-clbin 0' the default.
    * Modify afni to add an AutoThreshold button to the threshold popup menu.

----------------------------------------------------------------------

19 Jul 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add THD_multiplex_dataset() to thd_mastery.c, and thence 3dttest.c.
    * Modify 3dAllineate to reuse last row of -1Dapply input if needed, and
       also to print a warning that -master may be needed with -1Dapply.

----------------------------------------------------------------------

16 Jul 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add -stim_times_IM to 3dDeconvolve.c, to get individual event amplitudes
    .

----------------------------------------------------------------------

11 Jul 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Minor tweaks to algorithm for setting voxel-dependent blur factors in
       3dBlurToFWHM.c.
    * Various #define's for SOLARIS bad functions like fabsf() in 64 bit mode.

----------------------------------------------------------------------

29 Jun 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Boxed plots work with Dataset#N now, in glorious colors and thinned.
       But not with Double Plot.

----------------------------------------------------------------------

28 Jun 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Threshold on/off in reactivated thr_label popup menu in Define Overlay.
    * -x1D_stop in 3dDeconvolve.

----------------------------------------------------------------------

26 Jun 2007, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL)
    Older History stuff

    * Boxed plots in afni_graph.[ch].  Probably a can of worms.

----------------------------------------------------------------------

25 Jun 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Changes to 3dDeconvolve and 3dSynthesize so that censored time points
       can be reconstructed in some fashion in the latter program.
    * -x1D_uncensored in 3dDeconvolve.

----------------------------------------------------------------------

06 Jun 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modify thd_writedset.c to always do THD_deconflict_prefix(), unless told
       not to by AFNI_DONT_DECONFLICT.  Modify a bunch of 3d programs to NOT
       check for filename conflict on output.
    * Modify thd_correlate.c build_2Dhist() to avoid histogram overflow (oops)
    .

----------------------------------------------------------------------

05 Jun 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modify 3dBlurToFWHM.c and 3dFWHMx.c to use detrending.
    * Add THD_patch_dxyz_* functions to thd_auxdata.c, to make sure MRI_IMAGE'
    s
       in a dataset have the correct dx,dy,dz fields.

----------------------------------------------------------------------

04 Jun 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify 3dDeconvolve.c to use .xmat.1D instead of .x1D as output filename
       for matrices.

----------------------------------------------------------------------

01 Jun 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify mri_dicom_hdr.c to use a larger buffer for RWC_printf() function,
       which may help with really big DICOM header files.

----------------------------------------------------------------------

30 May 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modify 3dDeconvolve mmap() usage to include MAP_NORESERVE flag.
    * Add -allzero_OK option to 3dDeconvolve.c.
    * Make 3dttest check for duplicate dataset filenames.

----------------------------------------------------------------------

29 May 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Enforce RadioAlwaysOne behaviour on marks toggles.
    * Modify 3dDeconvolve to do proper kill-off of children when fork() fails.
    * Fix SPMG model power from 4 to 5.
    * Modify symeigval_double() to report nonzero error code from rs_().

----------------------------------------------------------------------

10 May 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * -izz option to 3dAllineate.
    * L1 detrending in thd_detrend.c (and retrending).

----------------------------------------------------------------------

09 May 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * New advanced histogram options '-clbin' and '-eqbin' for 3dAllineate.

----------------------------------------------------------------------

04 May 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * 'amongst' function in parser.f and so in 3dcalc.c.
    * Added more warnings to 3dDeconvolve.c, including a parametrized -GOFORIT
    .

----------------------------------------------------------------------

03 May 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added 'crop=' to afni_driver.c image window opening, and also to afni_sp
    lash.c
       when saving .afni.startup_script file.  [Per John Butman]
    * Modified 3dDeconvolve.c to print clearer messages when -gltsym errors
       occur, and also to allow the Decon -bucket dataset to be overwritten,
       and also to add the -nobucket option.  [Per Mike Beauchamp]

----------------------------------------------------------------------

30 Apr 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Included 3dinfo.c patch from Colm Connolly with -label2index option.

----------------------------------------------------------------------

27 Apr 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_niftiread.c to always do floatscan on datasets.
    * Modified 3dDeconvolve.c to make 0.0 ABI paired values not require -GOFOR
    IT.

----------------------------------------------------------------------

26 Apr 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modify imseq.[ch], afni.c, and afni_graph.c to use '[' and ']' keys for
       time index incrementing, per John Butman.

----------------------------------------------------------------------

04 Apr 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modify 3dDespike.c to add -localedit option.
    * Modify 3dAllineate.c to save matrices into header of output.

----------------------------------------------------------------------

03 Apr 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify edt_blur.c to compute FIR Gaussian weights as a local sum across
       each cell, rather than just the weight at the center of the cell.

----------------------------------------------------------------------

27 Mar 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Help for cluster editing, and some rationalization (e.g., reset it when
       changing datasets, turn widgets off if it's not available, et cetera).

----------------------------------------------------------------------

26 Mar 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Moved on-the-fly cluster editing to Define Overlay panel, from popup men
    u.

----------------------------------------------------------------------

23 Mar 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * New function THD_deconflict_prefix() in thd_opendset.c.
    * Modify 3dDeconvolve.c to deconflict output prefixes (instead of failing)
    ,
       and to compute Full F by default, unless -nofullf_atall is given.
    * AFNI_IMAGRA_CLOSER, for the FC5 abusers out there.

----------------------------------------------------------------------

22 Mar 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Make THD_filesize() return a 'long long', and change mri_read_3D() to
       match.  (This is Colm Connolly's fault.)

----------------------------------------------------------------------

21 Mar 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * New program 3dEmpty.c.
    * Fix 3dinfo.c to allow empty datasets (duh).

----------------------------------------------------------------------

20 Mar 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * MCW_discard_events_all() in xutil.c, and its application to stop
       over-scrolling in imseq.c, et cetera.
    * -nox1D in 3dDeconvolve.c.
    * Make -bout be always on for 3dDeconvolve -input1D.

----------------------------------------------------------------------

16 Mar 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * -polort A and polort degree warning message.
    * Change CTENT() to CSPLIN().

----------------------------------------------------------------------

15 Mar 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added CTENT() to 3dDeconvolve.c, for experimental purposes.
    * Modified bucket labels in 3dDeconvolve.c to be clearer (to me, anyhoo).

----------------------------------------------------------------------

14 Mar 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * New program 1dMarry.c.

----------------------------------------------------------------------

13 Mar 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Minor changes to 3dSynthesize.
    * Change PRINT_VERSION() macro in mrilib.h to include compilation __DATE__
       in output.
    * '-float' option to 3dDeconvolve.  Also a few little other fixes.

----------------------------------------------------------------------

12 Mar 2007, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL)
    Older History stuff

    * New program 3dSynthesize.c.

----------------------------------------------------------------------

10 Mar 2007, ZS Saad, MapIcosahedron, level 2 (MINOR), type 5 (MODIFY)
    Better handling of surface centers

----------------------------------------------------------------------

09 Mar 2007, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL)
    Older History stuff

    * First test of -stim_times_AM? looks good.
    * MCW_discard_events() for Button4/5 ScrollWheel actions.

----------------------------------------------------------------------

08 Mar 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add mri_read_ascii_ragged_complex() to mri_read.c.
    * And modify mri_write_ascii() in mri_write.c to write complex numbers
       with ';' as a real/imag separator, instead of ' '.

----------------------------------------------------------------------

07 Mar 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * 3dDeconvolve.c: -GOFORIT, check_matrix_condition(), report -stim_times
       values outside of run intervals, condition numbers with and without
       baseline regressors.

----------------------------------------------------------------------

06 Mar 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed pairmin() bug in parser.f.
    * Store column_metadata in 3dDeconvolve.c, and write it to -x1D file
       if AFNI_3dDeconvolve_NIML is YES.

----------------------------------------------------------------------

05 Mar 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added -nfft and -detrend options to 3dDFT.
    * Added 'u' and 'o' image viewer keypress handling to afni.c.
    * Added Mod+Button4+5 threshold slider changing to imseq.c and afni.c.
    * Added AFNI_THRESH_AUTO to afni_func.c.

----------------------------------------------------------------------

04 Mar 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed overrun bug in THD_extract_array() for raw data -- code was never
       tested!  Affected 3dDFT.c.

----------------------------------------------------------------------

02 Mar 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified -CENSOR to -CENSORTR (for Rick's sake) and added '*' capability
      to the run syntax.
    * Added 3dDFT.c, from Kevin Murphy.

----------------------------------------------------------------------

01 Mar 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add dilation to -automask option in 3dAllineate.  And -ignout option.
    * Add -CENSOR to 3dDeconvolve.c.

----------------------------------------------------------------------

27 Feb 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 3 (NEW_ENV)
    Older History stuff

    * AFNI_DISABLE_TEAROFF environment variable.

----------------------------------------------------------------------

26 Feb 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c to make the Session selection dialog directory-
       specific, and the 1D selection dialog regular-file-specific.  Also
       changed the labels on top of the file list for each case.
    * Modified xutil.c so that MCW_expose_widget() doesn't do anything for
       a non-widget (e.g., gadget) input.
    * Added Ziad's Xt translations for Button4 and Button5 scrolling.
    * Fixed mri_medianfilter.c: had logic for usedxyz exactly backwards! Oopsi
    e.
    * Added Button4+5 image window scrolling to imseq.c, and to afni_graph.c
    * If only dummy dataset is present, then 'Switch Session' opens up the
       'Read Session' dialog.

----------------------------------------------------------------------

23 Feb 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Change XmNtraversalOn from False to True in about 1 zillion places, to
       make keyboard focus be kept better in text widgets.
    * Added 'dset=NULL' initializer to THD_open_one_dataset() in thd_opendset.
    c,
       per Bernd Feige of Freiburg.
    * Modified bbox.c to make AFNI_list_doubleclick default be 'Apply' rather
       than 'Set'.
    * Modified afni_func.c to replace 'RescanTh' button with 'EditEnv' if
       Ziad's AFNI_RESCAN_AT_SWITCH is turned on.
    * Modified afni_func.c to do AFNI_RESCAN_AT_SWITCH only for 'Overlay'
       and 'Underlay' buttons.  (It's pointless for 'Switch Session'.)

----------------------------------------------------------------------

22 Feb 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_loaddblk.c to do floatscan on ANALYZE (etc.) datasets.
    * Also modified thd_floatscan.c to add functions to scan MRI_IMAGEs
       and other AFNI-ish assemblies of numbers.
    * Modified afni.c to parse multiple commands in a single '-com' option,
       separated by ';' (or by the choice in '-comsep').
    * Modified afni_driver.c to allow use of 'axial_image' (etc.) as easy
       typos for 'axialimage' (etc.).
    * Modified dist_help script to include README.* files.

----------------------------------------------------------------------

21 Feb 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified Edit Environment pseudo-plugin (afni_pplug_env.c) to sort
       controls by variable name.
    * Added 'instant switch on selection' mode to 'Overlay' and 'Underlay'
       dataset choosers, controlled by AFNI_DATASET_BROWSE variable.
    * And to 'Talairach To' controls.
    * Fixed bug when '-R' would fail to find any datasets, and would then
       try to reconcile parents, look for duplicates, etc., de-referencing
       NULL pointers.  Not sure what happened, actually, but one technique
       was to avoid trying to read directories as regular file datasets.

----------------------------------------------------------------------

20 Feb 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify list choosers in bbox.c to add XmNtraversal = True, so that arrow
       keys can be used to move around in lists.
    * Also add TEAROFFIZE() macro to xutil.h and use it to make most popup or
       pulldown menus in AFNI have the 'tear off' feature.
    * When Datamode->Misc->Purge Memory is used, and mcw_malloc() is turned on
    ,
       prints out the before and after usage, just for fun.

----------------------------------------------------------------------

18 Feb 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * When running 'afni' (no directory args) and no data is found is './',
       then afni.c will now recurse 1 level on './' to see if any datasets
       can be found 1 level deeper.  Inspired by Korea workshop and Hame Park.

----------------------------------------------------------------------

15 Feb 2007, ZS Saad, suma, level 2 (MINOR), type 2 (NEW_OPT)
    High resolution image saving with ctrl+r

    Very high resolution images can be created.
    See suma's interactive help 'ctrl+h' for more info.

----------------------------------------------------------------------

05 Feb 2007, ZS Saad, SurfDsetInfo, level 2 (MINOR), type 1 (NEW_PROG)
    Program to display surface dataset information

    Output is crude at the moment.

05 Feb 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add AFNI_OVERLAY_ONTOP environment variable, to move 'Overlay' button
       above 'Underlay'.  Also, change bg of 'Underlay' to black, to
       distinguish it better from 'Overlay'.

----------------------------------------------------------------------

02 Feb 2007, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added a 'Rescan' button next to 'Overlay' and 'Underlay' in the main
       AFNI controller.  At the demand of Ziad Saad.
    * Later: and a 'NIML+PO' button below that.

----------------------------------------------------------------------

01 Feb 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_purger.c to use a process-specific 3 code suffix after
       TIM_ to make it easier to clean up after a crash when multiple
       jobs are running.
    * Modified mri_genalign.c to patch a memory leak in some floatvec's
       not being freed before being reused.
    * Modified 3dAllineate.c to use mri_purge() on the output dataset's
       sub-bricks as they are being created.
    * Modified thd_writedblk.c to deal with datasets that have mri_purge()-ed
       sub-bricks.  Need to do the same for NIfTI someday, I suppose.
    * New function mri_clear() in mri_free.c, to free an MRI_IMAGE's data arra
    y
       and get rid of it's purged TIM file, if necessary.

----------------------------------------------------------------------

26 Jan 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dDeconvolve.c to echo -gltsym files as well as the matrices
       they generate.

----------------------------------------------------------------------

19 Jan 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dDeconvolve.c and mri_fromstring.c to use '|' as a line
       separator in 'SYM:' and '1D:' inputs (as well as '\').

----------------------------------------------------------------------

17 Jan 2007, G Chen, 1dSEM, level 4 (SUPER), type 1 (NEW_PROG)
    Path analysis (or structural equation modeling) at group level.

    See more details on: https://afni.nimh.nih.gov/sscc/gangc/PathAna.html

----------------------------------------------------------------------

15 Jan 2007, ZS Saad, suma, level 3 (MAJOR), type 0 (GENERAL)
    Allow replacement of pre-loaded DO and Dsets

    When a dataset is reloaded, it replaces the one
    already loaded in suma.

15 Jan 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added mri_gamma_rgb_inplace() to mri_to_rgb.c.
    * Modified 1dsvd.c to change Left for Right.

----------------------------------------------------------------------

10 Jan 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified svd_double() in cs_symeig.c to sort singular values and vectors
    .
    * Modified 1dsvd.c to have a '-sort' option.

----------------------------------------------------------------------

05 Jan 2007, ZS Saad, imcat, level 2 (MINOR), type 1 (NEW_PROG)
    Program to stitch images.

05 Jan 2007, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify mri_read.c to allow 'ragged' input from '1D:' strings
      (e.g., for use with 3dDeconvolve).

----------------------------------------------------------------------

28 Dec 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify afni_splash.c to save current dataset names and xyz coords in
       the startup script.
    * Modify afni_driver.c to allow multiple 'keypress=' options to OPEN_WINDO
    W.

----------------------------------------------------------------------

21 Dec 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made the change to 'void *' -- no more im.short_data (etc.).  Changes
       in a bunch more places.
    * Modified mri_purger.c to delete extant TIM_* files when exit() happens.
    * When AFNI_IMAGE_GLOBALRANGE is yes, don't do redisplay on isqDR_setrange
    .
       Causes an unpleasant flickering in the image viewer window.  Changes
       to afni.c (AFNI_range_setter()), imseq.c, etc.

----------------------------------------------------------------------

20 Dec 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * mri_purge.c for purging/unpurging MRI_IMAGEs to disk files.
    * modify thd_cliplevel.c to do float->int conversion inline, rather
       than through a temp image (saves on memory).
    * modify mrilib.h to change MRI_BYTE_PTR() (etc.) macro to use
       mri_data_pointer() function, which will invoke mri_unpurge()
       if necessary.  This also entailed changing a lot of functions
       to avoid using the im.*_data pointers, which I eventually want
       to eliminate entirely.

20 Dec 2006, RC Reynolds, afni_proc.py, level 4 (SUPER), type 1 (NEW_PROG)
    program to write complete single subject FMRI processing script

----------------------------------------------------------------------

19 Dec 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New constrained optimizer in powell_int.c.

----------------------------------------------------------------------

15 Dec 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made SAVE_FILTERED work with graph windows -- by modifying mri_write_pnm
    ()
       to write through a filter if the output filename starts with '|'.

----------------------------------------------------------------------

14 Dec 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added SAVE_FILTERED to the roster of AFNI driver commands.

----------------------------------------------------------------------

11 Dec 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * More changes to 3dBlurToFWHM.c -- de-median and de-MAD before blurring a
    nd
       before estimating blur, to be somewhat more self-consistent.
    * Added SAVE_PNG to the roster of AFNI driver commands.

11 Dec 2006, RC Reynolds, make_stim_times.py, level 2 (MINOR), type 1 (NEW_PROG)
    program to convert stim_files to stim_times files

----------------------------------------------------------------------

08 Dec 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added -dem option to 1ddot.c.

----------------------------------------------------------------------

07 Dec 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added movie saving commands to afni_driver.c.
    * Modified 3dFWHMx.c -geom option to add up logs rather than multiply up
       results -- for large numbers of sub-bricks, can get overflow the old wa
    y.
    * Added THD_medmad_bricks() and THD_meansigma_bricks() functions to
       thd_median.c -- get location and dispersion statistics at same time,
       for speed.

----------------------------------------------------------------------

06 Dec 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added ISQ_snap_agif() and ISQ_snap_mpeg().

----------------------------------------------------------------------

30 Nov 2006, ZS Saad, suma, level 2 (MINOR), type 0 (GENERAL)
    Addition of new Displayable Objects (DO)(ctrl+Alt+s)

    Allows display of segments, spheres and other markers
    See suma's interactive help 'ctrl+h' for more info.

----------------------------------------------------------------------

20 Nov 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Multitudinous changes to 3dBlurToFWHM.c.

----------------------------------------------------------------------

15 Nov 2006, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL)
    Older History stuff

    * New program 3dBlurToFWHM.c.

----------------------------------------------------------------------

09 Nov 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified 3dFWHM to do what 3dFWHMx does -- not use a voxel in a differen
    ce
       unless it is in the mask as well.

----------------------------------------------------------------------

31 Oct 2006, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL)
    Older History stuff

    * New program 3dFWHMx -- does all sub-bricks.

----------------------------------------------------------------------

30 Oct 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified plug_scatplot.c to copy 'Aboot' option from plug_histog.c.
    * Modified THD_pearson() stuff in thd_correlate.c to remove mean.
    * New program 3dLocalBistat.c -- joint local statistics between 2
       datasets.

----------------------------------------------------------------------

24 Oct 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified 3dAutomask.c (etc.) to add -peel and -nbhr options, with
       also a fix to stupid error made a couple days before.

----------------------------------------------------------------------

22 Oct 2006, RC Reynolds, model_demri_3, level 3 (MAJOR), type 1 (NEW_PROG)
    NLfim model for Dynamic Enhanced MRI

----------------------------------------------------------------------

18 Oct 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Ugh.
    * Modified afni_warp.c to only use warp_parent if the dataset being
       sliced is an AFNI dataset (not NIfTI, MINC, etc.).
    * Modified afni_func.c to print warning when forced view change
       when switching datasets or sessions - for Adam Thomas.

----------------------------------------------------------------------

12 Oct 2006, RC Reynolds, serial_writer, level 2 (MINOR), type 1 (NEW_PROG)
    program to send data from a file, pipe or made up to a given serial port

----------------------------------------------------------------------

10 Oct 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified 3dClipLevel.c to allow float input datasets.
    * Modified 3drefit.c to make '-TR' option add a timeaxis to a non-3D+time
       dataset.
    * More changes to 3dAllineate.c.
    * Program 3dAcost.c to compute 3dAllineate costs on 2 bricks [now gone].

----------------------------------------------------------------------

29 Sep 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * 3dAllineate.c edited to make -linear the default interpolation during
       alignment process, and -cubic for the output dataset.

----------------------------------------------------------------------

27 Sep 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified correlation ratio in thd_correlate.c to use both Var(y|x) and
       Var(x|y) for symmetry between base and target.  Seems to make
       registration work better.
    * Added -check and -master options to 3dAllineate.c.

----------------------------------------------------------------------

21 Sep 2006, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL)
    Older History stuff

    * Put 3dAllineate into the distribution.  But is not finished.
    * Modified plug_nlfit.c to allow AFNI_NLFIM_METHOD to select optimizer.

----------------------------------------------------------------------

20 Sep 2006, ZS Saad, DriveSuma, level 3 (MAJOR), type 1 (NEW_PROG)
    Program to control SUMA from the command line

----------------------------------------------------------------------

08 Sep 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Cosmetic changes to AlphaSim to make '-quiet -quiet' turn off all
       stdout printing except numerical table at end.

----------------------------------------------------------------------

06 Sep 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to let Ziad/SUMA initialize colors for surfaces.
    * Check input datasets for the Mike Beauchamp syndrome.

----------------------------------------------------------------------

05 Sep 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Mod mri_read_1D() so that ending filename in ' character causes
       transposition.  Removed this feature from thd_1Ddset.c to match.
    * Changes to AFNI to allow on-the-fly cluster editing.

----------------------------------------------------------------------

31 Aug 2006, ZS Saad, AnalyzeTrace, level 1 (MICRO), type 1 (NEW_PROG)
    Program to analyze the output of -trace option.

----------------------------------------------------------------------

22 Aug 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add WARPDRIVE_ROTMAT_* attribute outputs to 3dWarpDrive.c.

----------------------------------------------------------------------

14 Aug 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add pairmax() to parser.f.

----------------------------------------------------------------------

08 Aug 2006, RC Reynolds, C++, level 2 (MINOR), type 5 (MODIFY)
    afni program compiles in C++ (effort with Rich and Greg Balls)

----------------------------------------------------------------------

04 Aug 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add max displacement to 3dvolreg.c.

----------------------------------------------------------------------

03 Aug 2006, RC Reynolds, NI_SURF_DSET, level 4 (SUPER), type 0 (GENERAL)
    added a new surface dataset format, with read/write ability in AFNI

----------------------------------------------------------------------

24 Jul 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * model_linplusort.c (Linear+Ort) for 3dNLfim.c.

----------------------------------------------------------------------

21 Jul 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * NEWUOA stuff into 3dNLfim.c and simplex.c.

----------------------------------------------------------------------

18 Jul 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Fixed -xyzsave option in 3drefit.c to make multiple datasets match.

----------------------------------------------------------------------

17 Jul 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added options -keepcen and -xyzscale to 3drefit.c.

----------------------------------------------------------------------

05 Jul 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_dicom.c to deal with big-endian file transfer syntax.
    * Also check for overflow in 16-bit unsigned integer DICOM images.

----------------------------------------------------------------------

02 Jul 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Inserted Powell's NEWUOA code into AFNI libmri.a.

----------------------------------------------------------------------

19 Jun 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed flip_memplot() error in coxplot/plot_cox.c, where non-line element
    s
       were being flipped when they shouldn't be.

----------------------------------------------------------------------

01 Jun 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New AFNI splash photograph!
    * imseq.c now doesn't append '.jpg' if Save filename already ends in it.

----------------------------------------------------------------------

24 Apr 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add -sum option to 3dTstat.c.

----------------------------------------------------------------------

13 Apr 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * mri_matrix_evalrpn() ==> 1dmatcalc.c and 3dmatcalc.c.
    * Modify mri_fromstring.c to allow 1D:... generation of multiple columns.

----------------------------------------------------------------------

10 Apr 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add -polort option to 3dDetrend.c.

----------------------------------------------------------------------

05 Apr 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add -frugal option to 3dZcat.c.

----------------------------------------------------------------------

04 Apr 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to 3dInvFMRI.c: -mapwt, better help, God knows what else.

----------------------------------------------------------------------

31 Mar 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * to3d.c: if first filename is 'something.img', check if 'something.hdr'
       exists, and if so, suggest that the .hdr file is more likely to be
       what they want to input.
    * Added '-method' and smoothing options to 3dInvFMRI.c.

----------------------------------------------------------------------

29 Mar 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * First version of 3dInvFMRI.c.

----------------------------------------------------------------------

28 Mar 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modify 3dDeconvolve.c to set ival=-1 on various inputs, before
       sscanf()-ing it, so that bad values give error messages.
    * Also add -x1D option to 3dDeconvolve.c, to save X matrix to a .1D file.

----------------------------------------------------------------------

25 Mar 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify matrix.c and matrix_f.c to unroll matrix-vector multiply by
       four rather than two, after profiling with Shark on the MacIntel
       (which showed that loop overhead was a significant factor).

----------------------------------------------------------------------

24 Mar 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify thd_niftiread.c to prioritize sform over qform (to match
       other packages), but to allow user to set environment variable
       NIFTI_FORM_PRIORITY to 'Q' or 'S' to signify the priority.
    * Also, if both qform and sform are present, check to see if they
       have the same handedness -- if not, print a warning message.

----------------------------------------------------------------------

20 Mar 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modify 3dAutomask.c and thd_automask.c to add new -clfrac option.
    * Modify matrix_f.c to use Solaris BLAS in single precision.

----------------------------------------------------------------------

13 Mar 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Checks in afni_func.c, adwarp.c, and thd_writedblk.c for free disk
       space, just before actual writing of .BRIK file.
    * 3dTwotoComplex.c from 3dThreetoRGB.c

----------------------------------------------------------------------

10 Mar 2006, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Mods to 3dcalc.c to allow use of complex-valued dataset on input.

----------------------------------------------------------------------

09 Mar 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * A little more dynamical action when a few environment variables are
       changed via external scripts.
    * WAV_duration in waver.c was an int, not a double (thanks, Rasmus!).

----------------------------------------------------------------------

08 Mar 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Bug fix in afni_version.c for MOTD failure when network down.
    * Modify PERROR() macro in thd_iochan.c to NOT print so many duplicate
       messages.
    * Modified afni_environ.c so that setting AFNI_ALWAYS_LOCK immediately
       changes the lock situation.

----------------------------------------------------------------------

25 Jan 2006, RC Reynolds, model_michaelis_menton, level 3 (MAJOR), type 1 (NEW_PROG)
    NLfim model function for ethanol studies

----------------------------------------------------------------------

09 Jan 2006, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * mri_warp3D_align.c now will revert to 'best' fit if final fit is
       much worse in RMS terms.

----------------------------------------------------------------------

30 Dec 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Web browser stuff in afni.h, afni_func.c, afni_widg.c.

----------------------------------------------------------------------

28 Dec 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * fixes to mri_warp3D_align.c and thd_automask.c to deal with problems
       with -parfix, and with doing mask stuff on 2D images.

----------------------------------------------------------------------

21 Dec 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * afni_broutext.h

----------------------------------------------------------------------

06 Dec 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * -coarserot in 3dWarpDrive.c, too.

----------------------------------------------------------------------

02 Dec 2005, RC Reynolds, ANOVA, level 5 (SUPERDUPER), type 5 (MODIFY)
    changed variance computations in 3dANOVA programs to not assume sphericity

    For details, see https://afni.nimh.nih.gov/sscc/gangc/ANOVA_Mod.html .

----------------------------------------------------------------------

01 Dec 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * -coarserot in 3dvolreg.c

01 Dec 2005, G Chen, 3dANOVA3, level 3 (MAJOR), type 2 (NEW_OPT)
    New options to run 2nd-order general linear contrasts in 3dANOVA3. 

    See more details on: https://afni.nimh.nih.gov/sscc/gangc/ANOVA_Mod.html

----------------------------------------------------------------------

30 Nov 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Change sub-bricks stuff in afni_driver.c.

----------------------------------------------------------------------

29 Nov 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Message of the Day (motd) stuff.

----------------------------------------------------------------------

22 Nov 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * [l] in imseq.c.

----------------------------------------------------------------------

18 Nov 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * AUTHOR AUTHOR.

----------------------------------------------------------------------

14 Nov 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to afni_splash.c to try to avoid the 'Mr Freeze' bug (e.g.,
       unrealize image viewer rather than destroy it).

----------------------------------------------------------------------

08 Nov 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * rint(x) -> rint(x+.00001) in edt_coerce.c, to avoid an artifact in
       3dMean.c when the number of averages is a small even integer.

----------------------------------------------------------------------

02 Nov 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Another small change to imseq.[ch] to the winfo label.

----------------------------------------------------------------------

31 Oct 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Small changes to imseq.c, to display 'Min2Max' and 's=%d' modes, and
       to update winfo label when Keypress 'l' is used.

----------------------------------------------------------------------

26 Oct 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Mod to symeig_3 (in cs_symeig.c) to avoid problems that are invisible.
    * Mod to plot_x11.c (in coxplot/) and 1dgrayplot.c, to plot correctly.

----------------------------------------------------------------------

25 Oct 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Makefiles for macosx_10.4_G5 and solaris29_suncc_64.

----------------------------------------------------------------------

24 Oct 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dDeconvolve.c to use mmap() with MAP_ANON instead of shmem
       for inter-process storage.  Can go beyond 2 GB barrier this way,
       on 64-bit compiles.

----------------------------------------------------------------------

21 Oct 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dToutcount.c to check for float_scan type errors.

----------------------------------------------------------------------

18 Oct 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added -usetemp option to 3dcalc.c.
    * Added some timing delays to popup/popdowns.

----------------------------------------------------------------------

11 Oct 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_niftiwrite.c and 3dAFNItoNIFTI.c so that specifying a .hdr
       output filename means you get a .hdr/.img NIfTI-1.1 file pair.  Note
       that thd_analyzeread.c and thd_niftiread.c already allow for .hdr/.img
       NIfTI-1.1 file pair inputs.

11 Oct 2005, RC Reynolds, 3dmaxima, level 3 (MAJOR), type 1 (NEW_PROG)
    command-line version of maxima plugin

----------------------------------------------------------------------

06 Oct 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified edt_blur.c to skip min/max clip calculations when all direction
    s
       are done with FIR.
    * Modified thd_dsetatr.c to write BRICK_STATSYM attribute not just for
       func bucket datasets but for fitt, fift (etc.) legacy types.
    * Fixed bug in 3dbucfim.c where the stat_aux array was possibly loaded
       with illegal array access values.

----------------------------------------------------------------------

04 Oct 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified edt_blur.c to do small Gaussian blurs in real-space, with the
       fir_blur?() functions.  Also added FIR_blur_volume() function to allow
       user to invoke FIR explicitly, rather than implicitly.
    * Add 'TRACE' command to afni_driver.c.

----------------------------------------------------------------------

30 Sep 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * 2x2 and 3x3 special cases for cs_symeig.c.

----------------------------------------------------------------------

28 Sep 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Changes to 3dWarpDrive.c to summarize results (-summ) and to prevent ste
    ps
       that make the RMS error much worse.

----------------------------------------------------------------------

23 Sep 2005, G Chen, 3dANOVA2 and 3dANOVA3, level 4 (SUPER), type 4 (BUG_FIX)
    Significant modifications in 3dANOVA2 and 3dANOVA3

    The changes were made to avoid statistics inflation for general linear
    contrasts when coefficients don't add up to 0. See more details at
    https://afni.nimh.nih.gov/sscc/gangc/ANOVA_Mod.html

----------------------------------------------------------------------

21 Sep 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified thd_writedset.c and 3dAFNItoNIFTI.c so that if AFNI_AUTOGZIP is
       YES, then .nii.gz files will be written instead of .nii files.

----------------------------------------------------------------------

01 Sep 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Fixed 3drotate.c so that '-rotate 0 0 0' doesn't fail.

----------------------------------------------------------------------

26 Aug 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * THD_check_AFNI_version() function in thd_vcheck.c.  Use this in a few
       popular '3d' programs.

----------------------------------------------------------------------

24 Aug 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Ugghh.  More SVD trouble.

----------------------------------------------------------------------

23 Aug 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * -FILE option for waver.c.
    * In imseq.c: 's' (sharpen), 'D', 'M', 'S' (Disp, Mont, Save).

----------------------------------------------------------------------

22 Aug 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * New program 3dLocalstat.
    * In imseq.c: 'm' (toggle Min-to-Max), 'a' (fix aspect), 'l' (LR mirror).
    * '%s' in thd_compress.h means that you can now read .gz files with spaces
       in their names.

----------------------------------------------------------------------

15 Aug 2005, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL)
    Older History stuff

    * From now on, unless AFNI_ALLOW_MILLISECONDS is set to YES, AFNI programs
     will
       convert MSEC time unit datasets to SEC on input and output.

----------------------------------------------------------------------

12 Aug 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Start editing 3dDeconvolve.c to have -slice_base option, for slice-depen
    dent
       baseline regressors. [never finished]

----------------------------------------------------------------------

10 Aug 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified cat_matvec.c to allow ::WARP_DATA input, and MATRIX() output.

----------------------------------------------------------------------

08 Aug 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'AFNI Version Check!' logo to afni.c & afni_widg.c in case user is
       out of date.

----------------------------------------------------------------------

03 Aug 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dWarp.c to save WARPDRIVE_MATVEC_ attributes into the header
       of the output, assuming that they were used (with '-matparent') on inpu
    t.
    * Modified 3drefit.c to add '-atrcopy' and '-atrstring' options to copy an
    d
       set attributes.

----------------------------------------------------------------------

29 Jul 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added '-com' option to afni.c.
    * Added grapher windows to SAVE_JPEG in afni_driver.c.

----------------------------------------------------------------------

28 Jul 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added stuff to afni_driver.c (SAVE_JPEG, SET_DICOM_XYZ, SET_SPM_XYZ,
       SET_IJK, SET_XHAIRS), and imseq.[ch].

----------------------------------------------------------------------

27 Jul 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Removed -ffast-math from Makefile.linux_gcc32, since it seems to cause
       problems in eis_svd.c (at the least).

----------------------------------------------------------------------

25 Jul 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New program im2niml.c, and '-p' option to aiv.c.

----------------------------------------------------------------------

19 Jul 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * 3dWarpdrive '-bilinear_general' now works.  Usefulness is another questi
    on.
    * Fixed 'EMPTY IMAGE' display problem in afni_warp.c -- DSET_INMEMORY()
       macro in 3ddata.h needed to check for STORAGE_UNDEFINED.

----------------------------------------------------------------------

13 Jul 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify afni_widg.c and afni.c so that a Button-3 click on an Image or
       Graph button will recall the open window from offscreen purgatory.

----------------------------------------------------------------------

12 Jul 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify thd_1Ddset.c so that a 1D filename ending in a ' character will b
    e
       transposed on input (as a dataset), so that columnar datasets can be
       treated as time, without using 1dtranspose and a temporary file.  Also,
       if prefix starts with '-' character, will write .1D datasets to stdout.

----------------------------------------------------------------------

08 Jul 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed Makefile.macosx_10.? to suppress multiply-defined symbol errors.
    * Modified 3drefit.c and 3dcopy.c to add '-denote' option, to remove notes
       and other potentially identifying attributes.

----------------------------------------------------------------------

07 Jul 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dWarpDrive.c to save affine matrix to output file header attri
    butes
       (named WARPDRIVE_MATVEC_*), and also to base the coordinates on the act
    ual
       dataset rather than the center of the volume.
    * Modified 3dWarp.c to read matrix from header attribute WARPDRIVE_MATVEC_
    *.

----------------------------------------------------------------------

05 Jul 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dAFNItoANALYZE.c to scale TR by 0.001 if units are msec.
    * Modified thd_writeatr.c and thd_writedset.c to correctly write NIML-styl
    e
       .HEAD file from to3d.c (the blk->parent pointer wasn't set correctly).

05 Jul 2005, RC Reynolds, Dimon, level 4 (SUPER), type 1 (NEW_PROG)
    program to monitor real-time acquisition of DICOM images

----------------------------------------------------------------------

17 Jun 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add overlay labels (accum_lab stuff) to plug_crender.c.  Added by the
       right-click popup on the 'Accumulate' label.

----------------------------------------------------------------------

10 Jun 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to niml/niml_stream.c to make atexit() stuff work properly
       when NI_stream_reopen() is used (this is Ziad's fault, of course).

----------------------------------------------------------------------

09 Jun 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Warnings when adwarp.c or afni_func.c is about to write a .BRIK file
       over 500 MB in size.

----------------------------------------------------------------------

08 Jun 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * A number of small changes to get AFNI to compile on Tiger.

----------------------------------------------------------------------

06 Jun 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added 'Brodmann Areas' image popup to the 'Hidden' popup menu.

----------------------------------------------------------------------

03 Jun 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in 3dAFNIto3D; if input is a .1D file and no -prefix was given
    ,
       the output file would overwrite the input!
    * Modified the .3D I/O functions to
       (a) allow binary format for the data;
       (b) allow a time step to indicate 3D+time status;
       (c) if the output prefix ends in '.3D', automatically write this format
    .
       Binary vs text format is setup by environment variable AFNI_3D_BINARY.
       prefix
    * Moved AFNI_setenv() function to afni_environ.c for librariness.

----------------------------------------------------------------------

02 Jun 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify thd_nimlatr.c to split large String attributes into multiple
       substrings when using NIML, so as to avoid buffer size problems.
    * Fixed bug in niml/niml_stat.c decoding of strings such as 'Ftest(3,7)'
       (forgot to skip the comma!).
    * Remove AFNI_niml_atexit() from afni_niml.c since it is now redundant
       with the atexit stuff in niml/niml_stream.c (oopsie).

----------------------------------------------------------------------

01 Jun 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modifications to thd_atr.c, etc., to allow .HEAD files to be stored
       using XML.
    * Warn user when ~/.afni.log file goes over 100 MB (the Kevin Murphy bug).

----------------------------------------------------------------------

31 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified various things (like thd_nimlatr.c) to change names of some
       NIML attributes, in concordance with the treaty reached today with
       Ziad Saad.

----------------------------------------------------------------------

24 May 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add 'i' and 'I' keystrokes to afni_graph.c, to move init_ignore down/up.

----------------------------------------------------------------------

23 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add checks for data axes mismatch when inputting multiple datasets to
       3dcalc.c, 3dTcat.c, 3dbucket.c, and thd_opentcat.c.  Because of
       stoopid lusers.
    * Add 'Ignore xxx' label to bottom of afni_graph.c window, for stupid
       users like me.

----------------------------------------------------------------------

18 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add '-dicom' and '-spm' options to 3dcalc.c.
    * Add a couple of warnings for stupid new users.
    * Fix parser.f so that acos(1) and asin(1) work (tested .LT., not .LE.).

----------------------------------------------------------------------

17 May 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added 'Draw ROI plugin' menu item to image viewer popup, in afni.[ch].

----------------------------------------------------------------------

16 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Some minor changes to help AFNI compile on Tiger, as reported by Frank
       Haist of UCSD.

----------------------------------------------------------------------

13 May 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added 'xamplitude' option to waver -tstim option.
    * Oops.  Fixed bug in 3dDeconvolve for -iresp/-sresp options: malloc-ed
       the 'hout' float** array with sizeof(float) not sizeof(float*), which
       doesn't work too good on 64 bit systems.
    * Modified 1dplot.c to
       (a) allow reading up to 10000 numbers on a line from stdin, and
       (b) transpose input file if it has only 1 line, so that a long
           single line of numbers becomes a decent plot.

----------------------------------------------------------------------

12 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'NIfTI_num' signature to thd_niftiwrite.c and thd_niftiread.c.

----------------------------------------------------------------------

11 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify the NIfTI-1.1 extension stuff to be more robust.  Also add
       environment variable AFNI_NIFTI_NOEXT to turn extensions off, and
       use this to provide a '-pure' option to 3dAFNItoNIFTI.c.

----------------------------------------------------------------------

10 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify thd_initdblk.c, thd_niftiread.c, thd_niftiwrite.c to store AFNI
       header data in a NIfTI-1.1 extension, making it more feasible to use
       .nii datasets in AFNI as a primary storage mechanism.

----------------------------------------------------------------------

09 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify plug_nudge.c to deal with RGB-valued datasets.

----------------------------------------------------------------------

06 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * non-AFNI datasets (e.g., .nii files) now have ID code set via hashing
       their realpath, rather than a random ID code.
    * Modify EDIT_dset_items() to change the brick_name correctly when the
       new prefix ends in '.nii' or '.nii.gz'.
    * Modify a bunch of programs that print 'Writing dataset' messages to
       always use the DSET_BRIKNAME() macro, for consistency.

----------------------------------------------------------------------

04 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Oops.  Fix atexit() bug in niml/niml_stream.c -- had logic inverted on
       when to remove a stream from the 'open list'.

----------------------------------------------------------------------

03 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * More changes to 3drotate.c along the same line.
    * Edit afni.c to set width of bucket label AVs (in Define Overlay) based o
    n
       max width of input sub-brick labels, for each dataset separately.

----------------------------------------------------------------------

02 May 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added plot of least squares overlay line to the Scatterplot plugin.
    * 3drotate.c now records the applied matvec into the AFNI header attribute
    s.

----------------------------------------------------------------------

29 Apr 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Moved extras printout in 3dDeconvolve -nodata to be optional with
       an environment variable.
    * Fixed bug in range locking in afni_lock.c -- if range is locked but
       only one controller open, couldn't turn autoRange on.

----------------------------------------------------------------------

28 Apr 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified 3dDeconvolve to add -basis_normall option, and a couple of
       other minor tweaks.

----------------------------------------------------------------------

27 Apr 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified 3dDeconvolve.c to allow -stim_times to be used with -nodata.
       To do this, you use '-nodata NT TR' to specify the number of time
       points and their TR.
    * Modified imseq.c to make up/down movement of stroking affect RGB,
       additively, much as left/right does multiplicatively.

----------------------------------------------------------------------

26 Apr 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to apply 0D and 2D transforms to RGB images (that is,
       in the intensity channel).  And afni_func.c to apply to RGB overlays.

----------------------------------------------------------------------

25 Apr 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Minor changes to NIML.
    * Gamma variation allowed for RGB display in imseq.c.

25 Apr 2005, RC Reynolds, NIFTI, level 4 (SUPER), type 0 (GENERAL)
    AFNI can read and write NIFTI datasets (effort with Bob and Rich)

----------------------------------------------------------------------

21 Apr 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Where AFNI_COLORSCALE_0x is allowed in pbar.c, also check for
       AFNI_COLORSCALE_x and AFNI_COLORSCALE_Ox, to allow for stupid users.
       Similar changes in a few other places, as well.
    * Modified niml/niml_rowtype.c and niml_stream.c to re-enable input
       of Base64-encoded data elements (capability had been lost with
       the advent of rowtypes and var-dim arrays).

----------------------------------------------------------------------

20 Apr 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c to let 0 values in the overlay image get color
       if environment variable AFNI_OVERLAY_ZERO is set to YES.

----------------------------------------------------------------------

19 Apr 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified niml/niml_element.c to add NI_alter_veclen() function, and
       NI_insert_string() function.
    * Modified plug_tag.c and a couple others to allow func datasets as
       inputs, as well as anats.

----------------------------------------------------------------------

18 Apr 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_write.c functions to write to stdout if the output
       filename is the string '-'.  This mod affects mri_write_pnm(),
       mri_write(), and mri_write_ascii().  Indirectly affects program
       imupsam.c.

----------------------------------------------------------------------

15 Apr 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add -automask option in 3dDeconvolve.c.
    * Add mri_write_jpg() to mri_write.c.  Now mri_write() automatically
       writes a .jpg file for RGB and BYTE images if the filename ends
       in '.jpg'.

----------------------------------------------------------------------

13 Apr 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added one to the count of the basis function -iresp and -sresp
       counts, to ensure getting the last point!

----------------------------------------------------------------------

07 Apr 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_niftiread.c to use the NBL functions in rickr's
       nifti1_io.c to read the data from a .nii file -- this makes
       .nii.gz files work as well, automagically.
    * Fixed bug in imseq.c -- logic for taking the button box value
       for animations to/from the integer flags was bad in the case
       where an aGif filter doesn't exist.
    * Fixed bug in thd_niftiwrite.c -- 'if( nparam = 3)' was amended
       to '=='.
    * Modified thd_niftiwrite.c to allow output of func bucket as
       the 'u' dimension.

----------------------------------------------------------------------

06 Apr 2005, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL)
    Older History stuff

    * Added '.nii' output feature to THD_writedset() function, and did
       a few other similar things hither and yon.

----------------------------------------------------------------------

04 Apr 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added 'Pleg' function to parser and thence to 3dcalc, etc.

----------------------------------------------------------------------

31 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Oops.  Fixed bug in afni_niml.c wrt <?drive_afni ... ?> processing
       instruction: needed to put the command into an attribute.
    * Added a 1 ms wait to niml/niml_stream.c when a tcp: or shm: stream
       is closed.  This is to let the application on the other end have
       a decent interval to fetch any just-transmitted data.
    * Modified thd_opendset.c to NOT print an error message when trying to
       open a non-existent file -- now just prints a message if the file
       exists but has no data.

----------------------------------------------------------------------

30 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in AFNI_range_label() in afni_func.c about brick range
       setup change of yesterday (forgot to initialize stats_*_ok).

----------------------------------------------------------------------

29 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c to call AFNI_reset_func_range() at start of
       AFNI_func_overlay() to make sure brick ranges are set properly
       for display.
    * Modified fim+.c and 3dfim+.c to allow polort > 2, by using Legendre
       polynomials for the baseline model.
    * Fixed bug in NIML, where the new 'outmode' field in elements wasn't
       being initialized to -1 like it should have been.

----------------------------------------------------------------------

28 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to the AFNI update script written out in afni_version.c.
    * Modified total_bytes field in datablock structure to be int64_t rather
       than int, to better deal with huge datasets.  Modified a lot of places
       that refer to this field, especially places dealing with reading and
       writing datasets.
    * Modified thd_loaddblk.c to auto-update brick statistics for non-AFNI
       datasets.

----------------------------------------------------------------------

22 Mar 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * mean(), stdev(), and sem() for parser and 3dcalc.
    * Modify Ziad's plugout_drive.c '-com' option to execute commands in
       order given, rather than the reverse order.
    * Fix REDISPLAY in afni_driver.c (oopsie).
    * Added '<MRI_IMAGE ...>' input to afni_niml.c, to store as .1D files.
    * Added '-Dname=val' option to afni.c (set environment variables).

----------------------------------------------------------------------

21 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Edgize the overlay.

----------------------------------------------------------------------

18 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Finished up NIML bulk transfer of datasets to AFNI, etc.

----------------------------------------------------------------------

11 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed up the NIML-ization of datasets, and their transmission into
       AFNI.

----------------------------------------------------------------------

09 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New functions to (a) write dataset struct stuff into attributes (moved
       out of THD_write_dataset and THD_write_datablock); to (b) convert
       dataset attributes to/from a NIML group; to (c) populate datablock
       from attributes, rather than do so on-the-fly as they are read in.

----------------------------------------------------------------------

08 Mar 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Including retroicor stuff from Fred Tam.

----------------------------------------------------------------------

07 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Ooops.  Have to '#include <machdep.h>' into matrix_f.h to make sure
       DONT_USE_MATRIX_MAT is defined.

----------------------------------------------------------------------

04 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Further matrix.c changes: store as one array, not an array-of-arrays,
       except on Solaris, where the array-of-array approach is faster(!?).

----------------------------------------------------------------------

02 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Further matrix.c changes for BLAS-1 on Solaris.

----------------------------------------------------------------------

01 Mar 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified matrix.c and matrix_f.c to use BLAS-1 on the SGI Altix.

----------------------------------------------------------------------

28 Feb 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Oops -- used '&&' instead of '||' in byte swap test in new thd_ctfread.c
    .
    * More surgery on NIML registry and Htables.

----------------------------------------------------------------------

26 Feb 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_ctfread.c to seek backwards from end rather than forwards; 
    this
       makes it work with the new CTF svl format.

----------------------------------------------------------------------

25 Feb 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Add -min option to 3dmaskave.c.
    * Fixed memory leak in niml_dtable.c (forgot to free second copies of stri
    ngs).
    * New niml_registry.c stuff, for allocating 'registered' structs.

----------------------------------------------------------------------

24 Feb 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified 3dmaskave.c to have -max option.
    * Modified niml/ functions to generalize NI_group elements so that any
       element name is OK, provided attribute ni_form='group' is present.

----------------------------------------------------------------------

23 Feb 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified to3d.c to accept -Torg option.  Also to thd_info.c to print
       out the ttorg field.

----------------------------------------------------------------------

22 Feb 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified 3dTshift.c and to3d.c to have new 'alt+z2' option.
    * New program 3dMedianFilter.
    * Added I:*.1D stuff to 3dcalc.c.

----------------------------------------------------------------------

18 Feb 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified afni_driver.c, imseq.c, and afni_graph.c to add 'keypress='
       modifiers to the OPEN_WINDOW commands for driving AFNI.

----------------------------------------------------------------------

16 Feb 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified 3dhistog.c to remove -thr stuff and add -doall stuff.

----------------------------------------------------------------------

07 Feb 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in Deconvolve.c with removing mean of -stim_base columns.

----------------------------------------------------------------------

01 Feb 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added -redo_bstat option to 3drefit.c.

----------------------------------------------------------------------

24 Jan 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added environment variable AFNI_SLAVE_THRTIME to afni.c.

----------------------------------------------------------------------

14 Jan 2005, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added program whereami, from Mike Angstadt of U Chicago.

----------------------------------------------------------------------

07 Jan 2005, RC Reynolds, nifti_tool, level 4 (SUPER), type 1 (NEW_PROG)
    program to directly manipulate or compare NIFTI dataset headers

07 Jan 2005, RC Reynolds, NIFTI, level 4 (SUPER), type 0 (GENERAL)
    initial release of NIFTI library

----------------------------------------------------------------------

06 Jan 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to free the pen_bbox and labsz_av when destroying an im
    age
       viewer -- somehow these got overlooked in ISQ_free_alldata().

----------------------------------------------------------------------

05 Jan 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 1dsvd.c to add -1Dright option.
    * Fixed bug in 1dplot.c -stdin option: failed to skip leading blanks prope
    rly
       when scanning input lines for '#' comment characters!  (Stupid)
    * Modified imseq.[ch] to add saving of overlay MEM_plotdata stuff with the
       recorder, as well as the images.

----------------------------------------------------------------------

04 Jan 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_warp3D_align.c and 3dWarpDrive.c to fix up some issues with
       -twopass on small (EPI-sized) bricks and to add -1Dfile option.

----------------------------------------------------------------------

03 Jan 2005, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_imcount() in mri_read.c to not do '3D:' counting on a file
       unless there is actually a colon in the filename!  D'oh.

----------------------------------------------------------------------

22 Dec 2004, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Incorporated 3dMean.c changes from Mike Beauchamp to add standard deviat
    ion
      option.
    * Fixed stupid scale_thr bug in afni_func.c.

----------------------------------------------------------------------

21 Dec 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c to allow dataset 'label2' field to be displayed in
      window titlebars, instead of filenames.  Also affected: afni_pplug_env.c
      and 3drefit.c (to let user change label2 field).
    * Replaced VERSION with AFNI_label.h header, generated by script Ctag.

----------------------------------------------------------------------

20 Dec 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c to allow user to threshold RGB-valued overlays.

----------------------------------------------------------------------

17 Dec 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * AFNI_faceup() in afni_splash.c and on the hidden popup menu.

----------------------------------------------------------------------

09 Dec 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * PURGE_MEMORY addition to afni_driver.c.

----------------------------------------------------------------------

06 Dec 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed '<a..b>' dataset input without '[...]' input to not print a warnin
    g
       message about the lack of sub-brick subscripts.
    * Modified 3dmaskave.c to add '-mask SELF' option.

----------------------------------------------------------------------

01 Dec 2004, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added -twopass option to 3dWarpDrive, etc.

----------------------------------------------------------------------

30 Nov 2004, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL)
    Older History stuff

    * First version of 3dWarpDrive released.
    * 3dcalc now prints a warning if outputting a byte-valued dataset when the
       calculated results had some negative values.

----------------------------------------------------------------------

16 Nov 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to print warnings when it can't find Save filter progra
    ms.

----------------------------------------------------------------------

03 Nov 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Some changes to 3dAnhist.c for Lukas and Katie.

----------------------------------------------------------------------

29 Oct 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dfim+.c to make Spearman and Quadrant CC bricks fico.
    * Modified niml/niml_rowtype.c to auto-define VEC_basictype_len types
       when first referenced.

----------------------------------------------------------------------

22 Oct 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_shear3d.c to use true SVD in computing the rotation for
       3dTagalign, rather than the symmetric eigensolution method.

----------------------------------------------------------------------

21 Oct 2004, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Also added ISPOSITIVE and ISNEGATIVE functions to parser.f

----------------------------------------------------------------------

20 Oct 2004, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified parser.f to add NOTZERO, ISZERO, and EQUALS functions.

----------------------------------------------------------------------

06 Oct 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.[ch] to add a chooser to set the thickness of
       'Thick' lines in the graph viewers (on the 'Opt->Colors, Etc.' menu).
       Also, afni.c to add AFNI_graph_gthick to initialize this value.

----------------------------------------------------------------------

05 Oct 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to write animated GIF files with a fixed colormap,
       to avoid color flashing when (e.g.) rotating a volume rendering.

----------------------------------------------------------------------

04 Oct 2004, RC Reynolds, vol2surf, level 4 (SUPER), type 0 (GENERAL)
    added vol2surf interface for real-time mapping from afni to suma

----------------------------------------------------------------------

15 Sep 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New function THD_get_voxel() in thd_loaddblk.c, returns a float for a
       single voxel (not very efficient to use this in mass).
    * Used the above in thd_fdto1D.c to deal with returning time series from
       datasets with mismatched sub-brick types.
    * Also, print a warning for such datasets in thd_initdblk.c.

----------------------------------------------------------------------

09 Sep 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_version.c to use TCP/IP to communicate with version
       sub-process rather than shared memory.

----------------------------------------------------------------------

07 Sep 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed some stuff in the -help output of afni.c.

----------------------------------------------------------------------

02 Sep 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_symbolize.c to correctly use the intlist() function.
    * Patched thd_auxdata.c and thd_initdblk.c not to create brick labels
       over 32 characters in length.  (Someone who shall remain nameless
       created one several thousand characters long, and thd_info.c didn't
       like that much.)

----------------------------------------------------------------------

30 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dDeconvolve.c basis_write_response() to be more efficient (don
    't
       evaluate basis expressions so often).
    * Added basis_write_sresp() to 3dDeconvolve.c to write standard deviation
       of the IRFs.

----------------------------------------------------------------------

29 Aug 2004, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added EXPR(bot,top) basis function to 3dDeconvolve.c.

----------------------------------------------------------------------

23 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug with polort=-1; program creates a baseline model matrix with
       0 columns, and matrix_psinv() didn't like that.
    * Add basis_write_response() to 3dDeconvolve.c to actually write out the
       computed IRF for symbolic models.

----------------------------------------------------------------------

19 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * eis_svd.c sometimes works wrong with 'gcc -O', so modified Makefile.INCL
    UDE
       and eispack/Makefile to turn optimization off for this file.

----------------------------------------------------------------------

12 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified Deconvolve.c and 3dDeconvolve.c to remove mean from baseline
       timeseries if polort>0, and -nodmbase option is not given.
    * 3dDeconvolve saga: Generate response vectors from stimulus timing and
       user-specified model.

----------------------------------------------------------------------

11 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added environment variable AFNI_3dDeconvolve_nodup to 3dDeconvolve.c,
       to stop processing if duplicate columns are discovered.

----------------------------------------------------------------------

10 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Started work on 3dDeconvolve.c to add -stim_times option for direct
       input of models to fit.
    * Modified mri_read_ascii_ragged() to read a '*' character as a fill,
       thus allowing lines with no entries or intermediate missing entries.

----------------------------------------------------------------------

06 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in 3dDeconvolve.c where -cbucket bricks were colliding with
       -bucket bricks, vi bar[] and attach_sub_brick().

----------------------------------------------------------------------

05 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Polished up the 3dDeconvolve.c changes.
    * Added 'README.environment' text to Datamode->Misc menu in AFNI.

----------------------------------------------------------------------

04 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * At long last, removed the ill-fated 'merger' stuff from 3ddata.h and
       all AFNI functions.
    * Added THD_open_tcat() in thd_opentcat.c, to open a list of datasets as
       on long 3D+time dataset.  Also modified 3ddata.h, THD_open_dataset(),
       and so forth.
    * Modified 3dDeconvolve.c to use this feature to allow input catenation
       (if the input_filename field has blanks in it).

----------------------------------------------------------------------

03 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified matrix_print() in matrix.c and matrix_f.c to print shorter stri
    ngs
       when the matrix comprises all 1 digit integers.
    * Modified 3dDeconvolve.c to print -gltsym matrices when AFNI_GLTSYM_PRINT
       environment variable is YES.
    * Modified matrix_f.c to use Altivec on Mac for matrix-vector multiplies.
       Adds about 10% to speed on G5, over the loop unrolling from yesterday.

----------------------------------------------------------------------

02 Aug 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified matrix_f.c to include loop unrolling found in matrix.c.
    * Modified mri_symbolize.c and 3dDeconvolve.c to use '[[...]]' subscriptin
    g
       for -gltsym multi-row expansion.

----------------------------------------------------------------------

29 Jul 2004, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Added mri_symbolize.c, and -gltsym option to 3dDeconvolve.

----------------------------------------------------------------------

28 Jul 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Finished (I hope) addition of -xsave and -xrestore options to 3dDeconvol
    ve.
    * Fixed (I hope) bug in AFNI_setup_viewing() in afni.c, where the ULay
       sub-brick chooser optmenu wouldn't be configured correctly in controlle
    r
       [B] (etc.) due to anat_old check not also checking im3d_old.
    * Modified mri_read_ascii() and my_fgets() in mri_read.c to not malloc/fre
    e
       line buffer for each line read.  Also, removed the '' feature.
    * Added mri_read_ascii_ragged() to mri_read.c.

----------------------------------------------------------------------

27 Jul 2004, G Chen, PathAna, level 4 (SUPER), type 1 (NEW_PROG)
    A Matlab package that runs group analysis of up to 5-way ANOVA

    This package adopts the conventional ANOVA approach to handling gorup
    analysis. And it requires Statistics Toolbox other than the basic Matlab.
    See more details on: https://afni.nimh.nih.gov/sscc/gangc

27 Jul 2004, G Chen, IndiAna, level 4 (SUPER), type 1 (NEW_PROG)
    A Matlab package for individual subject analysis

    See more details at https://afni.nimh.nih.gov/sscc/gangc

----------------------------------------------------------------------

22 Jul 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_drawing.c and coxplot/plot_cox.c to allow for opacity.
       Used this in -xjpeg option in 3dDeconvolve.c.

----------------------------------------------------------------------

21 Jul 2004, RW Cox, Miscellaneous, level 2 (MINOR), type 0 (GENERAL)
    Older History stuff

    * Modified MCM_get_intlist() to print error messages when the user inputs
       values off the top end of the range, instead of silently turning them
       into the top (stupid users).
    * Modified afni_fimmer.c to correctly use scaling factors if present in
       the time series data (oops, for about 8 years).
    * Added printout of pseudo-inverse to 1dsvd.c.
    * Added -svd option to 3dDeconvolve.  Also, if SVD is on, then DON'T
       remove all zero stimuli from the list.
    * Added -xjpeg option to 3dDeconvolve: grayplot of X matrix.

----------------------------------------------------------------------

20 Jul 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_get1D.c to limit loading of 1D files in AFNI to a max size
       set by environment variable AFNI_MAX_1DSIZE (default 123K).
    * Modified mri_read_ascii() in mri_read.c to use the 'n@val' method for
       value duplication.  Also modified my_fgets() to return a duplicate
       of the previous line if the first two nonblank characters on the line
       are ''.

----------------------------------------------------------------------

19 Jul 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified matrix.c and RegAna.c to do matrix solutions with pseudo-invers
    e
       from SVD, rather than normal equations.
    * Adapted svd.f into eis_svd.c a little more, and also wrote a wrapper
       function into cs_symeig.c, and a test program 1dsvd.

----------------------------------------------------------------------

16 Jul 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified Deconvolve.c to use correctly normalized Legendre polynomials,
       for potential ease-of-use for people who want to know what the
       baseline functions are.

----------------------------------------------------------------------

15 Jul 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dDeconvolve.c and Deconvolve.c to have -legendre option, for
       use of better polynomials for the baseline estimation.
    * Modified matrix.c and matrix_f.c to have matrix_inverse_dsc() function,
       to use diagonal scaling before/after the matrix inversion.  Modified
       RegAna.c to use this function, to avoid stupid scaling issues.
       Also modified condition number calculation to take this into account.

----------------------------------------------------------------------

14 Jul 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dDeconvolve.c to make some basic checks
       - equal filenames for -stim_file options
       - zero columns in X matrix
       - collinear column pairs in X matrix
       - compute matrix condition number
    * Modified matrix.[ch] and matrix_f.[ch] to support this stuff.
    * Disabled 3dDeconvolve_f binary, sort of.

----------------------------------------------------------------------

08 Jul 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read.c to allow line lengths of up to 512K in *.1D files.
    * Modified coxplot/plot_ts.c to correctly remove labels from separate plot
       boxes if input nnayy==0.
    * Modified 1dgrayplot.c to have new '-sep' option.

----------------------------------------------------------------------

23 Jun 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified AFNI_leave_EV in bbox.c to avoid memory leak (must free up the
       retrieved textfield string if an early exit is taken).

----------------------------------------------------------------------

22 Jun 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to set various environment variables to new defaults
      - crosshair lines are on instead of off
      - controllers are locked instead of unlocked
      - save square is on instead of off

----------------------------------------------------------------------

21 Jun 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dclust -help to print out info about coordinate systems.
    * Modified afni_func.c to add environment variable AFNI_BUCKET_LABELSIZE
       to modify bucket label sizes.

----------------------------------------------------------------------

08 Jun 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added call to THD_copy_auxdata() to mri_warp3D.c, and -copyaux option to
       3drefit.c
    * Added AFNI_IMAGE_SAVESQUARE environment variable to imseq.c; added
       functions to mri_warp.c to implement re-aspectizationing.

----------------------------------------------------------------------

12 May 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dvolreg.c to make -sinit turn scale init off for -twopass.

----------------------------------------------------------------------

11 May 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to apply Zero Color to RGB images.

----------------------------------------------------------------------

09 Apr 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed lack of fclose() in ts.c (a 10 year old bug!).

----------------------------------------------------------------------

08 Apr 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * AFNI_X11_REDECORATE in xutil.h and afni_pplug_env.c, to replace MCW_isit
    mwm().

----------------------------------------------------------------------

05 Apr 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixes to afni_graph.c to spackle over unexplainable crashes on Mac when
       a timeseries chooser is opened and later the graph window is closed.

----------------------------------------------------------------------

02 Apr 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Mods to fix auto_grid()-ing in afni_graph.[ch].

----------------------------------------------------------------------

31 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Weird Mac problem: afni_graph.c crashes when destroying graph viewer
       Widgets, but only after the timeseries chooser is popped up.  Stupid
       solution is to only unrealize widgets if this chooser was opened by
       the user.  WTF?

31 Mar 2004, RC Reynolds, serial_helper, level 3 (MAJOR), type 1 (NEW_PROG)
    program to pass realtime registration params from TCP to serial port

----------------------------------------------------------------------

24 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify Intracranial.c to deal with an optimizing bug on Mac OS X
       -- doesn't work well with large auto arrays.

----------------------------------------------------------------------

23 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * 3dZeropad.c gets new -RL, -AP, -SI options.

----------------------------------------------------------------------

22 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * AFNI_SLAVE_FUNCTIME in afni.c.
    * Modified 3dvolreg.c to make -wtrim always be on, and to scale init
       for the twopass iteration.

----------------------------------------------------------------------

21 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * AFNI_DISABLE_CURSORS in xutil.c.

----------------------------------------------------------------------

19 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added vector chooser to bbox.[ch] and used in afni_graph.[ch] for choosi
    ng
       graph pin top and bottom together.

----------------------------------------------------------------------

18 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed plug_nth_dataset.c to right fill short time series with WAY_BIG,
       and then afni_graph.c to not plot these tails in the dplot overlay.
    * Modified afni_graph.[ch] to allow pin_bot as well as pin_top (ugh).

----------------------------------------------------------------------

17 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * AFNI_GRAPH_AUTOGRID variable in afni_graph.c.
    * Fixed memory estimate in 3dAutoTcorrelate.c.

----------------------------------------------------------------------

15 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * More 'Anatomy' -> 'Underlay' and 'Function' -> 'Overlay' stuff.
    * Added optmenu_EV_fixup() to bbox.c - change cursor arrow on optmenu popu
    ps.

----------------------------------------------------------------------

12 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.[ch], afni_widg.c, to put popup DICOM/SPM coordinate menu
       on crosshair coordinate label.
    * 'Anatomy' -> 'Underlay' and 'Function' -> 'Overlay' in several places.

----------------------------------------------------------------------

11 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified use of SPM originator field in thd_analyzeread.c to subtract
       1 from indexes.
    * Modified mri_warp3D.c and 3dWarp.c to do MNI<->TTA transforms.
    * Don't need '-eval' option on ccalc command line anymore.

----------------------------------------------------------------------

09 Mar 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'ms' time unit selection to 3dcalc.c -dt/-taxis options.

----------------------------------------------------------------------

29 Feb 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Re-fixed the thd_shear3d.c bug of 24,FEB,2004, since it was wrong.

----------------------------------------------------------------------

24 Feb 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in thd_sheard3d.c, when input matrix to rot_to_shear_matvec()
       is identity, could get a bad shear.  In this case, just manually put
       the correct shear into place.

----------------------------------------------------------------------

23 Feb 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added range locking to afni_lock.c and afni_func.c.
    * Added tick marks to imseq.c.
    * Rick Reynolds added NN interpolation option for zooming to mri_dup.c.

----------------------------------------------------------------------

19 Feb 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -mask and -srad and 5th-value=radius features to 3dUndump.c.

----------------------------------------------------------------------

12 Feb 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Oooops.  '\noesc' should be '\\noesc' in several places.  My bad.
    * Modified mri_read.c to allow GE 'IMGF' flag to be anywhere in 1st 4K
       of file, if file starts with 'GEMS' instead of 'IMGF'.

----------------------------------------------------------------------

11 Feb 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in afni_graph.c about average time series, when graph is
       too short.  I think.  [cf. 27,JAN,2004]

----------------------------------------------------------------------

10 Feb 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made threshold locking move sliders during drag, not just end of drag.
       Also change pval at bottom of locked sliders during drag.  Also put
       Edit Environment button on top-of-pbar popup menu.

----------------------------------------------------------------------

07 Feb 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added pbar locking (via environment variable AFNI_PBAR_LOCK), and
       threshold p-value locking.
    * Added AFNI_DISP_SCROLLBARS to afni_pplug_env.c, to control if Disp
       menu in image viewer gets scrollbars.

----------------------------------------------------------------------

06 Feb 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added threshold locking (via environment variable AFNI_THRESH_LOCK).
       Also, moved lock code from afni.c to new file afni_lock.c.

----------------------------------------------------------------------

29 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added the cute little diagonal 'AFNI' to various windows.
    * Modified rtfeedme.c to add the '-gyr' option to test GRAPH_[XY]RANGE.

----------------------------------------------------------------------

28 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added hints to various menu items that were lacking them in afni_graph.c
    .

----------------------------------------------------------------------

27 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'WinAver' feature to afni_graph.[ch] and afni.c.  This shows the
       'ideal' waveform as the average of all the timeseries in a graphing
       window.
    * Modified afni.[ch] and afni_widg.c to set a flag in each im3d, so that
       if it is created when the dummy dataset is present, then when a real
       dataset becomes available, the controller will get set to the middle
       of THAT dataset's coordinates, rather than the dummy's middle.  This
       is useful for realtime imaging (which is why the dummy is there).

----------------------------------------------------------------------

23 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modifications to put surfaces into sessions rather than directories.
    * Modified ISQ_show_zoom() in imseq.c to avoid infinite recursion that
       seems to happen when user zooms, crops, then changes image fraction
       (with the 'i' arrows). WTF?
    * Modified imseq.[ch] to NOT place dialog near changed window when closing
       the Montage control dialog, since that hangs up for a while on the Mac.
    * Modified afni.c to make sure surface boxes are plotted with line
       thickness zero.

----------------------------------------------------------------------

16 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dFDR.c to produce some output when -input1D option is used!

----------------------------------------------------------------------

15 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c so that -skip_afnirc option works again (was being screw
    ed
       up in machdep() function).  Also added a couple friends.
    * When re-f2c-ing a .f file, must remove declarations of built-in function
    s
       from the C code, since they cause the g++ compilation to fail to link.
       Also, in coxplot/*.c functions, must manually change the COMMON struct
       definitions to extern.
    * Added SHORTIZE() and BYTEIZE() to mri_to_short.c and mri_to_byte.c to
       avoid integer overflow problems when scaling and/or changing data types
    .

----------------------------------------------------------------------

14 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot/pwritf.f to allow color changes in the text, and to
       allow disabling of the escape mechanism (so filenames with '_' are OK).
    * Modified 3drotate.c, 3AnatNudge.c, 3dLRflip.c, 3dTagalign.c, 3copy.c to
       allow processing of non-AFNI (e.g., MINC) datasets.  The problem was
       that these program open/load a dataset, modify it in-place, rename it,
       then write it out.  That won't quite work for non-AFNI datasets, since
       the dataset is still marked as being MINC (say), and we can't write
       those directly.  Solution: mark the dataset as AFNI-format, after
       loading it and before changing its name.
    * Modified Makefile.* to use a 'MAKE' macro instead of the fixed 'make'
       command.

----------------------------------------------------------------------

13 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_dicom.c to alter operation of AFNI_SLICE_SPACING_IS_GA
    P
       so that 'NO' means use the Spacing attribute even if it is smaller than
       the Thickness attribute.  Seems to be needed for Phillips.

----------------------------------------------------------------------

12 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to draw graymap in histogram style.  Also added
       'ent=' entropy value to numerical range display.

----------------------------------------------------------------------

10 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mrilib.h, mri_read.c, and to3d.c to allow use of inter-slice
       spacing to override slice thickness, at least for GE I.* files.

----------------------------------------------------------------------

08 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modifications to mcw_malloc.c to print out traceback chain when
       corruption is detected.
    * Added ENTRY()/RETURN() to a number of mri_*.c functions.
    * Modified afni.c to display surface overlay from other datasets in
       the same directory, if the current underlay datasets doesn't have
       any surfaces.

----------------------------------------------------------------------

07 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modifications to plugins and models to make them work with g++.

----------------------------------------------------------------------

02 Jan 2004, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * More annoying bugs in NIML stream I/O.  Also, when a socket is
       closed, send 1 byte of OOB data so that the receiving process
       will receive SIGURG.  The new SIGURG handler will then shut
       the socket down on the other end, without the user having to
       read the 'close_this' element.

----------------------------------------------------------------------

30 Dec 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed annoying bugs in NIML stream I/O.
    * Modified niml/niml_do.c to allow user to register callbacks that
       supplement builtin verbs.

----------------------------------------------------------------------

23 Dec 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Checked in many changes to deal with compilation of afni with g++
       (version 3.2 or later).

----------------------------------------------------------------------

17 Dec 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed Amalloc.h bug.

----------------------------------------------------------------------

16 Dec 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to niml/ functions to make them g++ compatible.
    * Added 'r/R' to imseq.[ch] and afni_graph.[ch].

----------------------------------------------------------------------

07 Dec 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified ts.c to allow '#' comments in RWC_read_time_series().

----------------------------------------------------------------------

05 Dec 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Some tweaks to mpegtoppm and mri_read_mpeg.
    * Fixed bug in niml/niml_element.c -- NI_free_element() would fail if
       nel->vec was NULL.
    * Similar problem in thd_3Ddset.c.

----------------------------------------------------------------------

04 Dec 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Change 'm/M' to 'v/V', and also add to afni_graph.c.

----------------------------------------------------------------------

03 Dec 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Program mpegtoppm -- in mpegtoppm_dir/.
    * Read images and datasets from MPEG files, via mpegtoppm.
    * 'm' and 'M' keys in imseq.c.

----------------------------------------------------------------------

01 Dec 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to add AFNI_IMAGE_ZEROCOLOR environment variable.
    * Modified mcw_glob.[ch] to add simple-to-use function MCW_wildcards().
       Used this in afni_splash.c as a test.

01 Dec 2003, RC Reynolds, SurfMeasures, level 3 (MAJOR), type 1 (NEW_PROG)
    program to compute various measures over surfaces

----------------------------------------------------------------------

24 Nov 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fun with Apple's speech synthesis.

----------------------------------------------------------------------

21 Nov 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added ability to undo Linear Fillin to plug_drawdset.c.

----------------------------------------------------------------------

20 Nov 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in arrowpad movement, in afni.c: must do LOAD_DSET_VIEWS(im3d)
    .
    * Modified afni.c and afni_version.c to write UPDATER script, if possible.

----------------------------------------------------------------------

19 Nov 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Multiple level undo/redo in plug_drawdset.c.

----------------------------------------------------------------------

18 Nov 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to prevent beep when user tries to zoom when Mont
       is on, or vice-versa.

----------------------------------------------------------------------

14 Nov 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * More minor changes to 3dcalc.c and parser.f for slight speedups.

----------------------------------------------------------------------

13 Nov 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added argmax() and argnum() functions to parser.f and 3dcalc.c.
    * Modified Makefile.solaris28_suncc per Vince Hradil's experience.
    * Split up load vector loops in PAREVEC() in parser.c, for speed.

----------------------------------------------------------------------

05 Nov 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to auto-popdown graymap plot if it was auto-popupped
       in the first place.
    * Also added 'Edit Environment' button to image window popup menu.

----------------------------------------------------------------------

04 Nov 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to move crosshair focus on Button1 release, rather than
       press.  This makes the graylevel change via Button1 motion not have
       the annoying focus change side effect.
    * Modified afni.c, etc., to implement new environment variables
       AFNI_IMAGE_MINTOMAX and AFNI_IMAGE_GLOBALRANGE.
    * Modified afni_plugin.[ch] to allow plugins to change the 'Run' button
       labels to something else.

----------------------------------------------------------------------

30 Oct 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Some changes (f2cdir/ and afni_plugin.c) for Mac OS X 10.3 compilation.

----------------------------------------------------------------------

29 Oct 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Allow '# ' as a comment in .afnirc -- changes to afni_setup.c GETSTR mac
    ro.

----------------------------------------------------------------------

28 Oct 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to thd_automask.c and 3dAutomask.c to implement -eclip option.

----------------------------------------------------------------------

27 Oct 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Auto-popup and auto-place graymap plot.
    * Change plug_drawdset.c to disable auto-popup of graymap plot when plugin
       is open, and re-enable it when plugin closes.

----------------------------------------------------------------------

24 Oct 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Graymap Plot' to imseq.c.

----------------------------------------------------------------------

23 Oct 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified Button1 in intensity bar to always do re-aspect, even if free
       aspect is on.
    * Added Button1 stroke right/left in image window to change contrast and
       brightness together; changes to imseq.[ch], display.[ch], and
       afni_pplug_env.c.

----------------------------------------------------------------------

22 Oct 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Inten->Save Palette with colorscales now saves a colorscale file.
    * Inten->Read Palette with colorscales now reads a colorscale file.
    * AFNI_MPEG_FRAMERATE in imseq.c.
    * Extend short input time series in 3dDeconvolve.c.

----------------------------------------------------------------------

21 Oct 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added label popup menu to Draw Dataset plugin.
    * Added Button1 click in intensity bar to re-aspect image window.
       Also, skip attempt to reconfigure if happened before within last 33 ms.
       This is to avoid getting into fights with the window manager.

----------------------------------------------------------------------

20 Oct 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed scaling bug in mri_warp3D.c -- datasets with scaling factors were
       being scaled before warp, but not unscaled after warp, so that the
       surviving scale factor would be applied twice.
    * Added labelizing to Draw Dataset plugin.

----------------------------------------------------------------------

15 Oct 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added poetry.
    * Removed 'points'.
    * Added Dtables to niml.

----------------------------------------------------------------------

28 Aug 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Widespread changes, including addition of thd_niftiread.c, to read
       NIFTI-1 formatted files as datasets.
    * Modified afni.c to read datasets individually from command line argv's
       if they can't be read as sessions.

----------------------------------------------------------------------

26 Aug 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c to skip printing adoption warnings unless user
       explicitly requests them with an environment variable.

----------------------------------------------------------------------

24 Aug 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dLRflip.c to give output dataset a new prefix (oops).

----------------------------------------------------------------------

23 Aug 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added AFNI_MAX_OPTMENU environment variable (bbox.c, etc.).
    * Modified Makefile.INCLUDE to chmog ugo+x the ./configure files
       in a couple of subdirectories.

----------------------------------------------------------------------

15 Aug 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -version option to afni.c, per Rick Reynolds.

----------------------------------------------------------------------

11 Aug 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in afni_sumafunc.c, where func threshold image is bytes -- was
       using index ar_thr[ii] instead of ar_thr[jj] -- not good.

----------------------------------------------------------------------

08 Aug 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Problem: when anat_now == fim_now, and fim_now got set to
       'Warp Func on Demand', then trouble.  Solutions
       - make AFNI_VIEW_FUNC_BRICK and AFNI_VIEW_ANAT_BRICK default to YES.
       - make sure if anat_now == fim_now, Func WOD is turned off.

----------------------------------------------------------------------

07 Aug 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed small typo in index in mri_warp3D.c quintic code.
    * Fixed CYGWIN bracket placement at end of thd_loaddblk.c.

----------------------------------------------------------------------

06 Aug 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Somehow, a bug crept into the Read Session function (in afni_func.c) tha
    t
       rejected new sessions with # datasets > 0 rather than # datasets == 0.
    * Added quintic interpolation to mri_warp3D.c, and 3dWarp.c.
    * Added -fsl_matvec option to 3dWarp.c.
    * plug_3ddup.c created (but not part of the binaries, yet).

----------------------------------------------------------------------

05 Aug 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_1Ddset.c to read a multi-column .1D file as a 3D+time datas
    et
       rather than a bucket, if AFNI_1D_TIME is set to YES.
    * Modified mri_write_ascii() to write the stdout if the filename is '-'.
    * Modified various *.c files to avoid warning messages on OS X compiles.

05 Aug 2003, RC Reynolds, 3dVol2Surf, level 4 (SUPER), type 1 (NEW_PROG)
    program to map data from the volume to domain to the surface domain

----------------------------------------------------------------------

30 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_nudge.c to add NN interpolation option.
    * Modified THD_open_3dcalc() to make dataset directory './' after it is in
    put,
       so that EDIT_empty_copy() of it will not put new dataset into /tmp.
    * Modified afni_func.c and afni_sumafunc.c to threshold byte and short
       overlays in float rather than int.
    * Modified FUNC_IS_STAT() and FUNC_HAVE_PVAL() macros in 3ddata.h to retur
    n 1
       only if the code supplied corresponds to a valid statistic code.
    * Various fixes to the anat/func interchangeability stuff.

----------------------------------------------------------------------

29 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Many many changes to make func and anat datasets work interchangeably in
       the interactive AFNI.
    * 3dmerge.c now has -verb option.

----------------------------------------------------------------------

28 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dcalc.c to force scaling for short and byte output datum when
       non-integer values are found in the dataset.

----------------------------------------------------------------------

23 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to thd_info.c to print more than 8000 characters from the Histor
    y.
    * Changes to thd_notes.c to make Addto_History work right.
    * Changes to 3dcalc.c to use Addto_History correctly.

----------------------------------------------------------------------

22 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * More expansion in parser.f, etc.
    * Modified coxplot/plot_ts.c and 1dplot.c to let user control x- and y-axe
    s
       in more detail.

----------------------------------------------------------------------

21 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified all uses of XmCreatePopupMenu() to make parent widget different
     than
       the Button-3 popup widget when using Solaris -- some bug in Solaris see
    ms to
       cause a popup problem when the parent of the menu is also the one getti
    ng
       the ButtonPress event.
    * Modified afni_graph.c, imseq.c, afni.c, plug_nth_dataset.c, etc., to hav
    e
       the Dataset#N, Dataset#2, and Expr0D plugin windows open when these
       transformations are selected from menus.
    * Modified the parser to take longer expressions.

----------------------------------------------------------------------

18 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.[ch] (etc.) to include a 'pen' box to turn on the 'pen dr
    awing'
       Button-1 mode (only available when drawing has been enabled).

----------------------------------------------------------------------

15 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Included FreeBSD patches from Jason Bacon.

----------------------------------------------------------------------

10 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in afni_graph.c of colors in dplots from Dataset#N plugin.

----------------------------------------------------------------------

06 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dmaskave.c to add -median option.

----------------------------------------------------------------------

03 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added ISQ_snapsave() to imseq.c, which lets the user supply the image to
     be
       saved in a snapshot, rather than acquire it from a widget like ISQ_snap
    shot().

----------------------------------------------------------------------

01 Jul 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c to change pbar hints when 'Func=Threshold' is press
    ed.
    * Added RWC_XtPopdown() to xutil.[ch], and modified most code to use this
       rather than XtPopdown().
    * Added empty XtErrorHandler to afni.c to try to avoid crashes when an Xt
       error occurs.
    * Added mri_equal.c, which checks if 2 images are equal.  Used in ISQ_snap
    shot()
       to avoid saving duplicate images in succession.

----------------------------------------------------------------------

26 Jun 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Moved some snapshot stuff to xim.c rather than imseq.c.
    * Modified afni.c to have it continue after fatal X11 errors.
    * New program 1ddot.c.

----------------------------------------------------------------------

25 Jun 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * ISQ_snapfile(Widget) added to imseq.c; other tweaks to ISQ_snapshot().

----------------------------------------------------------------------

20 Jun 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to add ISQ_snapshot(Widget) functionality.  Tested
       in Xphace program.
    * Modified Makefile.INCLUDE to make libmrix.a that includes all the
       X11 utilities (imseq.c, xutil.c, xim.c, etc.).

----------------------------------------------------------------------

16 Jun 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * SUMA+AFNI ROI stuff.

----------------------------------------------------------------------

13 Jun 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to prevent resized windows from getting bigger than
       AFNI_IMAGE_MAXFRAC (default=0.9) times the screen dimensions.
    * Modified niml/niml_elemio.c to make attribute string buffer size expand
       when Ziad writes huge attributes, the fiend.  Also put a newline before
       each attribute, whether we want it or not.

----------------------------------------------------------------------

11 Jun 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c NOT to call AFNI_set_thresh_top() in AFNI_setup_viewing(
    )
       when changing functional datasets.

----------------------------------------------------------------------

06 Jun 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified niml/niml_stream.c to disable reopen of tcp: stream as shm: if
       AFNI_NOSHM environment is set to YES.

----------------------------------------------------------------------

29 May 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dttest.c to output t-statistic brick in floats if diff brick i
    s
       stored as floats.
    * Modified 3dcalc.c to floatize datasets that don't have constant sub-bric
    k
       datum.
    * Per the request of Ziad Saad, added function NI_add_column_stride() to
       niml/niml_element.c.

29 May 2003, RC Reynolds, 3dSurf2Vol, level 4 (SUPER), type 1 (NEW_PROG)
    program to map data from the surface domain to the volume domain

----------------------------------------------------------------------

14 May 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in thd_intlist.c, where ']' or '}' might not stop the scanning
     of
       the string.  This was a problem when dealing with inputs that have both
       types of selectors -- one might run over another in the parsing.

----------------------------------------------------------------------

13 May 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added '-Fourier_nopad' option to 3drotate.c, plug_nudge.c, and thd_rot3d
    .c.
    * Modified afni.c to have arrowpad keys do wraparound when they hit the ed
    ge.

----------------------------------------------------------------------

12 May 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_initdkptr.c to have prefixes that start with '/' override a
    ny
       input directory name.
    * Modified waver to allow 'a:b' and 'a%c' durations for '-tstim' input.

----------------------------------------------------------------------

09 May 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * AFNI_THRESH_BIGSTEP environment variable.
    * Boxes in 3dmaskdump.c.

----------------------------------------------------------------------

07 May 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Parallel computation (-jobs option) additions to 3dNLfim.c.
    * Mods to mri_dicom_hdr.c to subtract 1 from rwc_err for each error messag
    e.
       This way, will normally only print 1 such message per to3d run, which w
    ill
       make the users happier, I hope.
    * Add mri_possibly_dicom() function to mri_read_dicom.c, and use it to cen
    sor
       which files get the full DICOM reading treatment.

----------------------------------------------------------------------

06 May 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Minor changes to 3dDeconvolve.c.
    * From Rich Hammett, AFNI_TRY_DICOM_LAST environment variable.

----------------------------------------------------------------------

04 May 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Parallel computation (-jobs option) additions to 3dDeconvolve.c.

----------------------------------------------------------------------

01 May 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified NLfit.c and plug_nlfit.c to have NLfit_error() be able to use l
    ongjmp()
       to deal with errors, rather than exit().
    * Modified afni_func.c to rotate color bar in steps of 4 if Shift key is p
    ressed.

----------------------------------------------------------------------

30 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_intlist.c to let '{}' bound the list as well as '[]'.
    * Modified mri_read_1D() to use intlist of the form '{..}' to do row sub-s
    election,
       as well as the older '[..]' for column sub-selection.
    * Modified most programs that used mri_read_ascii() to read timeseries fil
    es to
       use mri_read_1D() instead, so that the '{..}' feature can be supported.

----------------------------------------------------------------------

29 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c and machdep.h to add ENFORCE_ASPECT #define (for Mac OS
     X).

----------------------------------------------------------------------

28 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dcalc to add -taxis option.
    * Added mri_fromstring.c, to input 1D data in the form '1D:5@0,10@1,5@0', 
    etc.

----------------------------------------------------------------------

24 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dTshift.c and thd_tshift.c to negate time shift, since it seem
    s have
       been wrong all these years :( [later: SPM and FSL were wrong, too!]

----------------------------------------------------------------------

22 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dTagalign.c (and thd_shear3d.c) heavily to use THD_warp3D() in
    stead
       of rotation-only functions, and to allow different kinds of transformat
    ion
       matrices to be used.

----------------------------------------------------------------------

18 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New program 3dWarp.c (along with mri_warp3D.c).
    * Minor changes to 3dAnhist.c for Lukas Pezawas.

----------------------------------------------------------------------

16 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dUniformize.c to allow byte-valued datasets, and added to stan
    dard
       distributions.  Also modified estpdf3.c and pdf.c to obey the global
       'quiet' variable, if the USE_QUIET macro is defined.

----------------------------------------------------------------------

15 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in mri_overlay.c (using data from imover instead of imov!).

----------------------------------------------------------------------

12 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified waver.c -tstim option to skip argv[]'s that start with whitespa
    ce
       -- this is to deal with evil Microsoft CR-LF line breaks.

----------------------------------------------------------------------

11 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot/plot_ts.c to allow setting of line colors using
       AFNI_1DPLOT_COLOR_xx environment variables.

----------------------------------------------------------------------

09 Apr 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed thd_shear3d.h function DMAT_svdrot() to work properly when input m
    atrix
       is singular.

----------------------------------------------------------------------

29 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_resize() [in mri_warp.c] to properly deal with images of
       MRI_byte, MRI_short, and MRI_rgb types.

----------------------------------------------------------------------

28 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to afni_splash.[ch] to include faces!

----------------------------------------------------------------------

27 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified NIML to allow ni_dimen=0 on input, and then infer length of vec
    tors
       from input data.

----------------------------------------------------------------------

23 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -xyz option to 3dmaskdump.c.

----------------------------------------------------------------------

21 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added thd_3Ddset.c to read AFNI datasets from NIML-formatted
       .3D files.  Corresponding changes to 3ddata.h, etc.
    * Changes from Doug Ward
       1) Program 3dDeconvolve:  Added -quiet option to suppress screen output
    .
       2) Plugin Deconvolve:  Additional input error protection for -censor an
    d
        -concat options.  These options could cause afni to crash if the input
        files were not set up correctly.
       3) Program RSFgen:  Added -table option, to generate random permutation
    s of
        the rows of an input column or table of numbers.  Useful for randomiza
    tion
        studies of statistical thresholds, about which more later.
       4) Libraries matrix.c and matrix_f.c:  The recently added/modified matr
    ix
        routines vector_multiply and vector_multiply_subtract would produce a
        segmentation fault for certain input matrices (e.g., null baseline mod
    el).
        This has now been corrected (hopefully).

----------------------------------------------------------------------

20 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c, 3ddata.h, afni_graph.c to allow graphing of
       datasets with only 1 point along a spatial dimension (i.e., '.1D'
       files).
    * Modified niml/elemio.c to allow writing and reading of elements
       with the '# ...' line format for header/trailer fields.  Also
       modified thd_1Ddset.c to write .1D dataset files out in this
       format.

----------------------------------------------------------------------

19 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dAFNItoANALYZE.c to add -orient option.
    * Added mri_flip3D.c to flip 3D images around.
    * Added thd_getorient.c to get axis direction in a dataset for
       a given orientation code.
    * Modified mri_copy.c to work if input image doesn't have data array.
    * Added environment variable AFNI_MINC_SLICESCALE to thd_mincread.c.
    * Fixed bug in thd_mincread.c in slice-scaling when datum is floats
       (subtracted intop instead of inbot in scaling formula).
    * Modified thd_mincread.c to downscale short or byte datasets if
       slice scaling would push them past the maxval for that data type.
       Also, use calloc() on im_min and im_max arrays to avoid problems
       when those arrays in the MINC file are incomplete.
    * Modified 3drefit.c, and thd_delete.c to skip CTF and 1D files.
    * Modified 3drotate.c to skip rotation if rotation matrix is identity.
       Also modified 3dvolreg.c and 3drotate.c to use '%.4f' format when
       writing command string to THD_rotcom_to_matvec().

----------------------------------------------------------------------

18 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed 1dplot.c -stdin option to work again (oops).

----------------------------------------------------------------------

14 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * A few more changes to 3dAnhist.c.
    * Modified thd_opendset.c to also deal with .1D inputs.

----------------------------------------------------------------------

13 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to 3dAnhist to regress histogram and plot it.
    * Changes to coxplot/plot_ts.c to have it avoid 'pushing' data limits out.
    * Changes to 1dplot.c: -xzero and -nopush options.
    * Added THD_generic_detrend() to thd_detrend.c, and used this to add a
       -ort option to 3dTcorrelate.
    * Modified thd_notes.c and 3dNotes.c to avoid escaping the '\' character
       for notes input from the command line.

----------------------------------------------------------------------

11 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified tagset.h to increase number of allowed tags.

----------------------------------------------------------------------

10 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.[ch] to make F2 button have Button1 operate as Button2,
       and to show cursor as a pencil shape for drawing when this mode is on.

----------------------------------------------------------------------

07 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New program 3dAnhist.c.

----------------------------------------------------------------------

06 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dWinsor.c to use -mask option.

----------------------------------------------------------------------

05 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a bug in AFNI_setup_viewing() that crept in - assumed existence
       of fim_now, which might not be true.
    * Incorporated fix of mri_read_dicom.c from Rich Hammett, to skip false
       targets in the Siemens extra info.  (Will no one rid me of this
       troublesome mosaic format?)
    * Modified 1dplot.c to accept multiple timeseries file inputs.
    * Modified thd_automask.c to have a mri_automask() function as well.
    * Modified 3dAutomask.c to do fillin and exterior-clipping if -dilate
       option is used.

----------------------------------------------------------------------

04 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to get rid of bug when de-sensitizing thr_rowcol for RGB
       images.  Now it is always sensitized.  Also, afni_func.c now will deal
       with RGB images as thresholds (just converts them to floats, though).
    * Added thd_1Dtodset.c, functions to read and write 1D files as AFNI datas
    ets.
    * Added niml/niml_stat.c to be a place to store statistics code for NIML.

----------------------------------------------------------------------

03 Mar 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Created matrix_f.[ch] as float alternatives to matrix.[ch].  Then used t
    his
       in 3dDeconvolve.c and RegAna.c to create a program 3dDeconvolve_f compi
    led
       from 3dDeconvolve.c when the FLOATIZE C macro is defined.  Speedup on a
       Linux box is about 40% (due to less memory fetch).
    * Modified mri_read_dicom.c to allow user to skip stupid GE fixup entirely
    .

----------------------------------------------------------------------

28 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Per Lukas Pezawas of CBDB, modified 1dgrayplot.c to have -ps option,
       like 1dplot.c.  While doing so, also fixed a bug in coxplot/plot_ps2.c
       where the rectangle case didn't have a 'break', so fell through and
       drew a circle as well.
    * Modified mritopgm.c to have a clipping option.

----------------------------------------------------------------------

27 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dDeconvolve.c to get multiple timeseries at once, to reduce
       cache thrashing.
    * Modified thd_notes.c to add function to append one dataset's history
       to another's.  Used this in 3dcalc.c as a starter.

----------------------------------------------------------------------

26 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.c and afni_sumafunc.c to allow drawing of triangle
       intersections at edges of slice plane, as well as at center.
    * Modified 'view_setter' code to work more intuitively when only one
       image viewer is open, etc.

----------------------------------------------------------------------

24 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to draw a * in the box of the closest surface node.
    * Modified 3dhistog.c to print '#' at start of header lines, so that
       result can be read by mri_read_1D(), etc.
    * Incorporated changes from KRH to fix mri_read_dicom.c for Siemens
       mosaics with incomplete slice coordinates.
    * Modified afni_graph.c to fix problem with double plot introduced
       when multiple timeseries graphing was introduced - forgot to
       reset tsar pointer to original data when graphing double plot
       in plus/minus mode.

----------------------------------------------------------------------

23 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.[ch] and afni_sumafunc.c to create boxsize and linewidth
       controls on the 'Control Surface' popup.
    * Modified coxplot/plot_x11.c to flip line segments if that will make
       them join. Also, initialize thickness of plots to 0, to allow for
       special case (circle, box, ...) that is first item plotted.

----------------------------------------------------------------------

21 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to use '-bpp 24' in ppmtobmp output to BMP files, avoid
    ing
       quantization problems.
    * Modified afni.c to add a '#NodeID' string to the Button-3 image viewer p
    opup,
       when a surface is present.

----------------------------------------------------------------------

20 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to imseq.c, afni.[ch], afni_receive.c, and plug_drawdset.c to ma
    ke
       the keypad 'Delete' key(s) operate like the Undo button in the drawing
       plugin.
    * Modified afni_receive.c to have a string name debug output for each
       receive callback (and all the functions that call this).  Also fixed a
       bug that would have functions registered for different receive cases
       get inappropriate calls (forgot to enclose the call in {..} in an if).
    * Modified afni_suma*.c to send closest surface node ID to SUMA when viewp
    oint
       change callback is invoked.

----------------------------------------------------------------------

19 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a couple little points in niml_rowtype.c.
    * Modified afni_sumafunc.c (afni.h, etc.) to change 'Control Surface'
       label for each surface into a toggle button, to make it easier to
       turn surface on and off quickly.

----------------------------------------------------------------------

18 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c to add a hint to the colorscale.
    * Modified NIML stuff to use rowtypes more properly (niml_element.c, etc.)
    .
    * Modified various Makefile.* to define SHOWOFF macro (once again).
    * Modified afni_version.c to print out appropriate wget command for update
    .
    * Modified afni.c to printout precompiled version, if present.

----------------------------------------------------------------------

12 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified niml/ to read/write full type names rather than just abbreviati
    ons
       to the 'ni_type' attribute of data elements.
    * Modified niml/niml_do.c to add a 'typedef' verb, and to let the user pro
    gram
       define its own verb/callback pairs.
    * Modified afni_niml.c to define a 'ni_do' verb 'DRIVE_AFNI', to let exter
    nal
       program (hint: SUMA) access this stuff.

----------------------------------------------------------------------

11 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dfractionize.c to set default clip value to a very tiny positi
    ve
       value, rather than 0.
    * Modified pbar.[ch] to use a popup menu to deal with Button-3 events, rat
    her
       than directly do stuff.  Included a value+color label on this menu.

----------------------------------------------------------------------

10 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.[ch] and afni.c to allow initializing graph matrix s
    ize
       to value other than 3, through AFNI_graph_matrix environment variable.
    * Modified 3dcalc.c to allow RGB dataset input.

----------------------------------------------------------------------

06 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * This time, modified 3ddata.h, afni.c, afni_func.c to ALWAYS keep thresho
    ld
       slider active, and when there is no threshold, use the function for the
       threshold.  (However, RGB overlays are not thresholded, so this is the
       only case in which the threshold slider is desensitized.  Also, the fir
    st
       time the user switches to a fim dataset, the threshold slider is set to
     0.)
    * Modified to3d.c to deal with double input images (to be converted to flo
    ats).
       Also changed mri_read.c, mcw_glob.c, mri_swapbytes.c, 3ddata.h to add
       a '3Dd:' input format for reading doubles from arbitrary files.
    * Added some new default colorscales to pbar.c.

----------------------------------------------------------------------

05 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'OPEN_PANEL' command to afni_driver.c, and to afni_splash.c.

----------------------------------------------------------------------

04 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Moved user-defined colorscale setup to pbar.c from afni.c.
    * In afni_widg.c, use AFNI_COLORSCALE_DEFAULT to setup initial colorscale.

----------------------------------------------------------------------

03 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to afni_driver.c to support colorscales.
    * Saving .afni.startup_script now also saves the Autorange/funcrange setti
    ng.

----------------------------------------------------------------------

02 Feb 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_sumafunc.c to use 'big' mode colorscales.
    * Modified afni.c, pbar.c (etc.) to read in user-defined colorscales
       from files.

----------------------------------------------------------------------

31 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to de-sensitize threshold slider when not needed, rather
       than hide it.  This is to get around a problem with the size of the pba
    r
       being adjusted slightly incorrectly, for reasonse I don't understand.
    * Modified pbar.c to give choice of colormaps for 'big' mode.  Programmed
       a startup set of 4 colormaps.

----------------------------------------------------------------------

30 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified pbar.c, afni_func.c, etc., to add a 'big' mode to the pbar, wit
    h
       128 colors.  More work is needed here for SUMA, rendering, scripting,
       loading colormaps, etc.

----------------------------------------------------------------------

29 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3drefit.t to add -Torg option (for MEG guys).

----------------------------------------------------------------------

28 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_ctfread.c to correct nx,ny,nz calculation for SAM images.
    * Modified afni.c to do the time lock properly when the anat has no
       time axis but the func does.
    * Modified 3dcopy.c to work with copying non-AFNI datasets.

----------------------------------------------------------------------

27 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added messages to afni_version.c when version checking is disabled, fail
    s,
       or when the current version is different than the last version.

----------------------------------------------------------------------

24 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added special function key stuff to imseq.c (arrows, PgUp/PgDn).

----------------------------------------------------------------------

23 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made AFNI_VALUE_LABEL default be YES instead of NO.
    * Added AFNI_DEFAULT_OPACITY environment variable, for image overlay opaci
    ty.
    * Added AFNI_DEFAULT_IMSAVE environment variable, for .jpg, .tif, etc.
    * Fixed bug in afni_driver.c SETENV function - space used for putenv() mus
    t
       be permanent memory, not temporary!

----------------------------------------------------------------------

22 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Run Script' button to Datamode->Misc menu.
    * Made 'Save Layout' button save setup script to .afni.startup_script
       if no filename is entered.

----------------------------------------------------------------------

21 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * More additions to afni_driver.c.
    * Changes to afni.[ch] to allow startup script to drive AFNI setup.

----------------------------------------------------------------------

16 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to let user setenv AFNI_AGIF_DELAY to control speed
       of animated GIF output.
    * Modified afni_driver.c to allow remote changing of thresholds, the
       addition of overlay colors, and the setting of pbar pane number.

----------------------------------------------------------------------

15 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to let user set SUMA line thickness via environment
       variable.  Also changed afni_pplug_env.c to match.
    * Modified afni_func.c to purge all datasets in a session after rescan.

15 Jan 2003, RC Reynolds, Imon, level 3 (MAJOR), type 2 (NEW_OPT)
    added connection to the realtime plugin in afni

----------------------------------------------------------------------

10 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified edt_blur.c to clip output to input range.

----------------------------------------------------------------------

02 Jan 2003, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a error message to mcw_malloc.c to note when an allocation fails.

----------------------------------------------------------------------

31 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified niml/niml_rowtype.c to deal with String type and debugged
       stuff with output of var dim arrays.

----------------------------------------------------------------------

30 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Minor change to AFNI_rescan_session() users to print out number of
       new datasets rows.

----------------------------------------------------------------------

29 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Minor change to afni_version.c to print out 'Latest News' web page
       when version comparison fails.

----------------------------------------------------------------------

28 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified AFNI_rescan_session() in afni_func.c to NOT clobber existing
       dataset pointers when adding datasets to a session.
    * Removed all instances of OMIT_DATASET_IDCODES.

----------------------------------------------------------------------

27 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dttest.c to save DOF dataset if -unpooled is used.

----------------------------------------------------------------------

24 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_dicom.c to save Siemens extra info string even if
       file isn't a mosaic.

----------------------------------------------------------------------

23 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_dicom.c to correct error in z-axis orientation from
       multiple 1-slice datasets - code had been copied from mri_read.c, but
       that was for GE LPI coords, and DICOM is RAI.
    * Modified mri_read_dicom.c to use Rescale and Window tags, if turned on
       by the relevant environment variables.
    * Modified aiv.c to use globbing on input filenames.

----------------------------------------------------------------------

20 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified niml/niml_do.c to add verb 'close_this' to close a stream.
       This is to let a stream be closed from the other end.
    * Modified niml/niml_stream.c to send a 'close_this' message when
       a tcp: or shm: stream is closed.
    * Modified niml/niml_stream.c to mark NI_stream's for 'death' in
       NI_stream_close_keep(), and then avoid using such streams in
       other functions.  This is to let a stream be closed without
       freeing its struct.

----------------------------------------------------------------------

19 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added THD_mkdir(), THD_is_ondisk(), THD_cwd() to thd_filestuff.c.
    * Modified afni_driver.c to add commands SYSTEM and CHDIR, which call
       system() and chdir() [pretty clever names, huh?].  Also modified
       afni_driver.c to trim trailing blanks from the input command
       before passing it to the handler functions.

----------------------------------------------------------------------

18 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_realtime.c to add ZGAP and XYZOFF features from Larry Fran
    k.
    * Fixed bug in niml/niml_util.c decode_string_list() function where
       the sar->str array was allocated with sizeof(char)*num rather than
       sizeof(char *)*num.  Not good in the long run.
    * Modified niml/niml_rowtype.c to allow rowtypes to have 1D variable dimen
    sion
       arrays.

----------------------------------------------------------------------

16 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Moved niml.[ch] into niml/ subdirectory, and modified Makefile.INCLUDE
       accordingly.

----------------------------------------------------------------------

12 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_niml.c and afni_sumafunc.c to create functional
       colormaps for all surfaces on the anat dataset, not just the
       first surface.  Also fixed it so that fim=0 is not overlaid.
    * Modified thd_iochan.c to use IOCHAN_DELAY_RMID environment variable
       to indicate that deletion of shm segments should only occur when
       no one is attached to them.  This is to get around a problem on
       some Unices.
    * Modified Makefile.INCLUDE rule for cjpeg to remove old Makefile and
       jconfig.h, since these are re-made by the configure script.
    * Modified niml.c to shmdt() before shmctl(IPC_RMID) instead of after.
    * Modified afni.c to skip version check if realtime is on.  Also modified
       afni_version.c to add an atexit() handler to delete the child-parent
       shared memory IOCHAN when the program exit()'s.
    * Modified rtfeedme.c to add a signal handler to close the data IOCHAN
       if the program crashes.

----------------------------------------------------------------------

11 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_realtime.c to allow termination of a dataset without
       closing the data IOCHAN.  Also added new XYZFIRST metadata command,
       to allow setting of all 3 axis offsets.
    * Modified rtfeedme.c to test the above features.

----------------------------------------------------------------------

09 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to save temporary files for animated GIF or MPEG
       output with a random suffix, to avoid collisions if 2 copies
       of AFNI (or aiv) are running.
    * Modified niml.[ch] to allow definition of 'NI_rowtypes' to make it easie
    r
       to deal with structs (with all fixed length elements, alas).
    * Modified nids.[ch] to deal with vectors of arbitrary NI_rowtype.

----------------------------------------------------------------------

07 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to change image number on '<' or '>' keys (like
       the graph windows).

----------------------------------------------------------------------

05 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added CTF SAM file input to thd_ctfread.c.
    * Modified 3dIntracranial.c to convert input dataset to shorts if it is
       stored as bytes.  The output will still be shorts.

----------------------------------------------------------------------

04 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added thd_ctfread.c to read CTF MRI files as datasets.
    * Modified thd_initsess.s, thd_opendset.c, thd_loaddblk.c, 3ddata.h to
       use the CTF functions.

----------------------------------------------------------------------

03 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified niml.c to use setsockopt() to change socket buffer sizes only
       if getsockopt() says they are too small.

----------------------------------------------------------------------

02 Dec 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_crender.c to use mcw_graf.c stuff of 30,NOV,2002.
    * Modified mri_read_dicom.c to deal with Siemens Mosaic differently, to
       accommodate variations from NYU's Allegra scanner (vs. NIDA's).
    * Modified to3d.c to show NX x NY along with Datum in GUI.

----------------------------------------------------------------------

30 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mcw_graf.[ch] to draw a coordinate label during drag of graf
       handle with Button 3.
    * Modified mri_read_dicom.c to deal with GE's incorrect use of Slice Spaci
    ng
       as gap, rather than center-to-center distance.  Ugh.

----------------------------------------------------------------------

29 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_stuff.c to allow for case when initial 4096 byte buffe
    r
       contains all the image data (i.e., for tiny images).
    * Modified coxplot/plot_ps.c to allow output to stdout.
    * Modified 1dplot.c to allout PostScript output to stdout.

----------------------------------------------------------------------

27 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_dicom.c to allow for stupid GE case where slice spacin
    g is
      incorrectly set to slice gap instead.

27 Nov 2002, RC Reynolds, Imon, level 4 (SUPER), type 1 (NEW_PROG)
    program to monitor GE I-files as they are written to the scanner

----------------------------------------------------------------------

25 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_friends.c to add date-based trivia (also, afni.[ch]).

----------------------------------------------------------------------

23 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_version.c to only do a check once every 12 hours.

----------------------------------------------------------------------

22 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added mri_read_stuff.c to filter input from JPEGs, TIFFs, BMPs, etc., in
    to
       mri_read.c.
    * Added afni_version.c to check AFNI version at startup.
    * Modified edt_dsetitems.c to strip '+orig' etc. from tail of new prefix.

----------------------------------------------------------------------

21 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added some extra programs (gifsicle, mpeg_encode, cjpeg, etc.) to the PR
    OGRAMS
       macro in Makefile.INCLUDE.

----------------------------------------------------------------------

18 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified niml.[ch] to make the NI_malloc() package use tracking function
    s,
       which I stole from mcw_malloc.c - of course, I wrote that, too, so 'sto
    le'
       may be too strong a verb.

----------------------------------------------------------------------

13 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_splash.[ch] to allow color top overlays.  Incorporated SSC
    C group
       picture.

----------------------------------------------------------------------

12 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changed MAX_CONTROLLERS in afni.h for Mike Beauchamp.

----------------------------------------------------------------------

05 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program rotcom.c, to print out matrix+vector from '-rotate ... -as
    hift ...'
       options that would be input to 3drotate.
    * Fixed mri_read.c, mri_read_dicom.c, mri_dicom_hdr.c to stop annoying pri
    ntout of
       messages about bad DICOM files when trying to read GE I.* files.

----------------------------------------------------------------------

04 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added MRI_rgb type to thd_zeropad.c and to BRICK_*_MASK macros in afni_p
    lugin.h.
    * Took changes from Rasmus Birn to add a '-gamd' delay option to waver.c.

----------------------------------------------------------------------

01 Nov 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * More changes for mosaic input.

----------------------------------------------------------------------

28 Oct 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to mri_dicom_hdr.c and mri_read_dicom.c to deal with Siemens' st
    upid
       mosaic format.

----------------------------------------------------------------------

25 Oct 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_drawdset.c to use sorting to prevent vast numbers of dupli
    cates
       when inserting large R circles/spheres.

----------------------------------------------------------------------

17 Oct 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_drawdset.c sphere/circle insertion not to test for duplica
    te
       insertions from the 1st input point - this speeds things up for large R
    .

----------------------------------------------------------------------

16 Oct 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_drawdset.c to add '2D Circle' and '3D Sphere' drawing mode
    s.

----------------------------------------------------------------------

10 Oct 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_analyzeread.c to correct signs of origin when orientation h
    as
       some negative axes.

----------------------------------------------------------------------

08 Oct 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_drawdset.c (and imseq.[ch], afni_receive.c, afni.h) to mak
    e
       button2 drawing overlay have thicker lines, closer to what will actuall
    y
       be filled.  Also added 1 larger '3D Nbhd' stencil.

----------------------------------------------------------------------

07 Oct 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_drawdset.c to add '2D Nbhd' and '3D Nbhd' drawing modes.
    * Also rearranged the Copy and Choose Dataset buttons.

----------------------------------------------------------------------

04 Oct 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Took modified plug_deconvolve.c from Doug Ward, to fix bug when baseline
       is disabled.
    * Modified thd_analyzeread.c to add AFNI_ANALYZE_AUTOCENTER option.
    * Modified 3drefit.c to add -xorigin_raw (etc.) options.
    * Modified thd_intlist.c to skip blanks in the [] sub-brick selector strin
    g.

----------------------------------------------------------------------

03 Oct 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to allow use of Shift+Button1 for drawing as well as
       Button2.  Changes also to afni_graph.c and plug_drawdset.c (the
       latter just to change the help text).
    * Modified 3dTcat.c to use last '+' as marker for '+orig' (etc.)
       rather than 1st.

----------------------------------------------------------------------

01 Oct 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_realtime.c to allow input of notes via a NOTE command.
       Also modified rtfeedme.c with -note option to test this out.

01 Oct 2002, RC Reynolds, file_tool, level 4 (SUPER), type 1 (NEW_PROG)
    program to perform generic manipulations of binary files

----------------------------------------------------------------------

30 Sep 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dAFNItoANALYZE.c (and mri_write_analyze.c) to allow output of
       AFNI datasets into a 4D ANALYZE format file.

----------------------------------------------------------------------

10 Sep 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_dicom.c to print out at most 9 warning messages of
       each type.
    * Modified to3d.c to open X11 immediately when -nosave is used.  Also adde
    d
       a bunch of ENTRY/RETURNs to ferret out a bug (it's still hidden).
    * Oops.  Forgot to fclose() the fopen()-ed file in mri_read_dicom.c.  This
       was causing the problems in to3d mentioned above.
    * New program dicom_to_raw.c.

----------------------------------------------------------------------

09 Sep 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * ISHEADTYPE macro in 3ddata.h used '=' instead of '=='; this was bad.
    * 'Q' and 'q' quits in afni_widg.c and afni_func.c (hidden_EV).

----------------------------------------------------------------------

04 Sep 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * More cosmetic changes to 3dDespike.c.

----------------------------------------------------------------------

03 Sep 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modify 3dDespike.c to allow float datasets, print nicer messages, etc.
    * Fix my_tanh() bug in 3dDespike.c, which was returning NaN for very
       large inputs.

----------------------------------------------------------------------

01 Sep 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Program 3dDespike.c, to patch a problem with the 3T-1 scanner.

----------------------------------------------------------------------

28 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_initsess.c and thd_analyzeread.c to support FSL/FEAT
       input .map files.

----------------------------------------------------------------------

27 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read*_analyze() functions to always floatize ANALYZE
       data if the SPM funused1 scale factor is present.
    * Added ANALYZE (thd_analyzeread.c) file input to datasets.

----------------------------------------------------------------------

26 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added Htable (string/pointer pair) hash table functions to niml.[ch].
    * Added mri_read3D_analyze75() to mri_read.c, to read an ANALYZE file
       as an array of 3D images, rather than 2D images.

----------------------------------------------------------------------

23 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_loaddblk.c to print (stderr) a message when loading a
       large dataset.
    * Modified niml.[ch] to implement NI_reopen_stream() and make a first
       cut at NI_do().

----------------------------------------------------------------------

21 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified niml.c to add NI_mktemp(), and change use of /dev/urandom.
    * Modified machdep.c to change use of mallopt() for Linux - seems to
       make big malloc()'s work better (?).
    * Modified thd_fetchdset.c to use niml.c functions, instead of the
       older thd_http.c functions.

----------------------------------------------------------------------

20 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modifications to surface controls: hints, help, comments.
    * Added UUID functions to niml.[ch].

----------------------------------------------------------------------

19 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_sumafunc.c (afni.h, etc.) to have a control panel for
       surface stuff.  At this time, lets user set colors.

----------------------------------------------------------------------

16 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.[ch] and afni.c to suppress multiple image redraws
       when an image window is first opened.
    * Modified plug_nudge.c to extend range of angle and shift choosers.
    * Modified xutil.h WAIT_for_window() macro to wait a little longer.
       This is in an attempt to get rid of random problems with graph
       windows opening with bad Pixmap contents.

----------------------------------------------------------------------

14 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified various things (afni.h, afni.c, afni_niml.c, afni_suma.c)
       to allow for multiple surfaces per dataset.
    * Modified niml.h to disable shm stuff for Cygwin.

----------------------------------------------------------------------

13 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to destroy dialog widget before imseq top widget.
    * Fixed array overflow by 1 bug in mri_percents.c.
    * Modified mri_read.c to check for .hdr files before DICOM.
    * Modified 3dToutcount.c to save result as a FIM, and to save history.

----------------------------------------------------------------------

08 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added color save/load to afni_ttren.c.

----------------------------------------------------------------------

07 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed cl1.c and incorporated into libmri.a.
    * Added plugin plug_L1fit.c to provide a L1 analog to plug_lsqfit.c.
    * Modified 3dToutcount.c to use cl1_solve to remove trends before
       outlier-ing.

----------------------------------------------------------------------

06 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_driver.c to allow 'iconify' option on OPEN_WINDOW commands
    .
    * Modified afni_driver.c to return controller index only if the input
       string is only 1 character long or the 2nd character is a '.'.
    * Modified afni_func.c and bbox.c to deal with potential strlist[] overflo
    w
       problems.

----------------------------------------------------------------------

05 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Removed DEBUGTHISFILE macro from all places that used it.
    * Modified plug_realtime.c to deal with case when more channels than
       controllers are in use.

----------------------------------------------------------------------

02 Aug 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_realtime.c to deal with multiple input channels.
    * Modified rtfeedme.c to send multiple dataset channels.

----------------------------------------------------------------------

31 Jul 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New function EDIT_wod_copy() to create a warp-on-demand copy, like 3ddup
    .
    * Use this in afni.c when a directory has only functions, no anats.
    * Modified afni.c to allow -TRACE to work in realtime mode.
    * Modified afni.c, afni_widg.c to make plugouts not crash during realtime
       mode (we hope).

----------------------------------------------------------------------

30 Jul 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_realtime.c to accept DRIVE_AFNI commands in the image prol
    og.
    * Modified afni.c to allow plugouts during realtime.
    * Modified rtfeedme.c to send DRIVE_AFNI commands with the -drive option.

----------------------------------------------------------------------

29 Jul 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified AFNI_read_images() in afni.c to use im->dx,dy,dz in '-im' usage
       of program, if images read have voxel spacing (e.g., Analyze).
    * Modified imseq.c to NOT turn off widgets if only 1 slice to display.

----------------------------------------------------------------------

24 Jul 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified UNIQ_idcode() in niml.c to get 4 extra bytes from /dev/urandom,
       if it is readable.

----------------------------------------------------------------------

23 Jul 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_dicom.c to get slice orientation and offsets.

----------------------------------------------------------------------

19 Jul 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New function mri_read_dicom() to read images from DICOM files.

----------------------------------------------------------------------

15 Jul 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added mri_dicom_hdr.c and dicom_hdr.c - function and program to read/pri
    nt
       DICOM header info.  Adapted from dcm_dump_file.c from RSNA, per the
       suggestion of Jack Lancaster.

----------------------------------------------------------------------

14 Jul 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Removed the dicomm<->surefit functions from Vecwarp.c since they are now
       in libmri.a via afni_suma.c, and the Sun compiler doesn't like this.

----------------------------------------------------------------------

05 Jul 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dmerge.c to prevent use of -keepthr on fim and fbuc datasets.

----------------------------------------------------------------------

27 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified niml.c to add debugging output option (NIML_DEBUG).
    * Fixed scan_for_angles() in niml.c to disable timeouts in case (b).

----------------------------------------------------------------------

25 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified rtfeedme.c a little for debugging purposes.
    * Modified thd_iochan.c to print better messages with PERROR().
    * Modified plug_realtime.c to popup message when disk I/O is finished
       after an acquisition ends.

----------------------------------------------------------------------

24 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_analyze75() in mri_read.c to store funused1 scale
       factor into dv MRI_IMAGE header field, for use in 3dANALYZEtoAFNI.c.
    * Modified thd_writedset.c to allow re-writing of a VOLUMES dataset
       .HEAD file.
    * Modified plug_realtime.c to allow single slice dataset input (nzz=1).

----------------------------------------------------------------------

21 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_info.c to print out disk storage mode of dataset.
    * Started work on 3dANALYZEtoAFNI.c.

----------------------------------------------------------------------

20 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_ascii() to catenate lines that end in '\', and do
       some other minor stuff ('//' as a comment line, etc.).
    * Modified thd_loaddblk.c (etc.) to support STORAGE_BY_VOLUMES.

20 Jun 2002, RC Reynolds, @make_stim_file, level 2 (MINOR), type 1 (NEW_PROG)
    script to create binary stim files

----------------------------------------------------------------------

19 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed clipping error in plot_cox.c (dangling else problem, d'oh).

----------------------------------------------------------------------

17 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'crop' pushbutton to imseq.[ch].
    * Modified default font for imseq to 7x13 in afni.c, and
       modified imseq.c to shrink button margins, to squish widgets together.

----------------------------------------------------------------------

14 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot/plot_x11.c to remove offset of 0.5 pixels from
       line drawing code.
    * Modified imseq.c to fix scaling of memplot overlays when cropping.

----------------------------------------------------------------------

12 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.[ch] to add image cropping facility (Shift+Button2).
    * Added function RWC_drag_rectangle() to xutil.c.
    * Put MRI_COPY_AUX() into mri_cut.c (oops).

----------------------------------------------------------------------

10 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.h and afni.c to incorporate RGBCYC cyclic color map from
       Ziad Saad.

----------------------------------------------------------------------

07 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Refined default threshold for termination of 3dvolreg.c.

----------------------------------------------------------------------

06 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New programs 3dAutobox.c and 3dLRflip.c.
    * New function mri_cut_3D() in mri_cut.c.
    * Modified mri_3dalign.c to do trimming to save memory.
    * Modified 3dvolreg.c to add -wtrim and -wtinp options.

06 Jun 2002, RC Reynolds, @SUMA_Make_Spec_FS, level 3 (MAJOR), type 1 (NEW_PROG)
    script to import FreeSurfer surfaces into SUMA

----------------------------------------------------------------------

04 Jun 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dAutomask.c to print out how many planes are cut off in the
       the mask.
    * Modified thd_automask.c to be faster.

----------------------------------------------------------------------

31 May 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Adapted shm stuff from thd_iochan.c to niml.c.

----------------------------------------------------------------------

28 May 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3drefit.c to add -clear_bstat option.
    * Modified 3dAutomask.c to remove -fillin option.
    * Modified thd_automask.c to make fillin = brick size/60, and to make
       final mask = complement of largest component of zeros.

----------------------------------------------------------------------

21 May 2002, RC Reynolds, 3dresample, level 4 (SUPER), type 1 (NEW_PROG)
    program to change a dataset orientation and/or grid spacing

----------------------------------------------------------------------

17 May 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to allow image fraction change with 'i', 'I' keys.

----------------------------------------------------------------------

14 May 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dZeropad.c to have -master option.
    * Modified thd_zeropad.c to return full copy of dataset if input add/cut
      values are all zero (used to return NULL).

----------------------------------------------------------------------

11 May 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to put global session datasets into sessions as they
      are read, rather than later - this allows the anats in the global
      session to allow a session to be used, even if there are no funcs
      in the directory.

----------------------------------------------------------------------

07 May 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

     Changes from Doug Ward
    * The -one_col option has been added to program RSFgen.  With this option,
       the input stimulus functions are written as a single column of decimal 
    integers
       (rather than multiple columns of binary numbers).
    * The -stim_base option was added to Program 3dDeconvolve.  This modificat
    ion
       allows the user to specify which input stimulus functions are to be inc
    luded
       as part of the baseline model.  By default, the input stimulus function
    s are
       not included in the baseline model.  This option will effect the output
     values
       for the Full Model R^2 and Full Model F-stat, since these statistics in
    dicate
       the significance of the full regression model relative to the baseline 
    model.
       This option might be useful, for example, when the estimated motion par
    ameters
       are included as input stimulus functions.  In most cases, the user woul
    d want
       the motion parameters to be part of the baseline model.  By indicating 
    that
       the motion parameters are part of the baseline model, they will not con
    tribute
       to the full regression model sum of squares.
    * The Deconvolution plugin was also modified to incorporate the above chan
    ge.
       On the far right of each stimulus function input line of the Deconvolut
    ion
       plugin interface, there is a new option chooser labeled 'Base', which a
    llows
       the user to specify that this stimulus function is to be considered as 
    part of
       the baseline model.
    * The Deconvolution plugin was modified to allow a better graphical
       representation of the estimated impulse response function when the user
     selects
       option DC_IRF under Tran 1D of the graph options menu.  When using the 
    DC_IRF
       function, note that the Double Plot option should be set to 'Off'.
    * The 3dDeconvolve documentation was updated to reflect the above changes.
       In particular, see Examples 1.4.3.2 and 2.3.2 of the Deconvolution manu
    al in
       file 3dDeconvolve.ps.

----------------------------------------------------------------------

01 May 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Jump to (MNI)' button to image popup menu (afni_widg.c and afni.c
    ).

----------------------------------------------------------------------

30 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dclust.c to add -mni option.
    * Modified 3dclust.c, edt_clust.c, edt_clustarr.c, edt_onedset.c to allow
       cluster rmm=0 to imply 6 NN clustering, vmul=0 to mean no volume editin
    g,
       and vmul<0 to mean min volume = fabs(vmul) voxels.
    * Modified plug_drawdset.c to add 'Flood->Val/Zer' option.  Also to turn
       'See Function' on if the edited dataset is functional type.
    * Added edt_clust2.c (NIH_find_clusters) to implement ISOVALUE_MODE and
       ISOMERGE_MODE.
    * Incorporated Ziad Saad's Ifile program into AFNI distribution.

----------------------------------------------------------------------

29 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New functions in thd_mnicoords.c to translate TT atlas coords to/from
       MNI template coords.
    * Used above in thd_ttatlas_query.c.
    * Samia Saad was born today!

----------------------------------------------------------------------

28 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added the orientation changes to plug_render.c as well.

----------------------------------------------------------------------

26 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * At last seem to have figured out how to make the orientations change
       w.r.t. spatial axes - added these changes to plug_crender.c.

----------------------------------------------------------------------

22 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified debugtrace.h to include 'last_status' variable: keeps of copy o
    f the
       last STATUS() string, and prints it when the program crashes.
    * Modified thd_dsetdblk.c to deal with NULL dataset at very end - the SUMA
     stuff
       didn't check for that, which caused a crash if the dataset couldn't be
       constructed.

----------------------------------------------------------------------

19 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_automask.c to have fill in functions.
    * Modified 3dAutomask.c to have -fillin option.
    * Modified cox_render.c to remove memset() of new image to 0, since
       mri_new() does this since 01,NOV,2001.

----------------------------------------------------------------------

18 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_automask.c to erode/dilate the result, so as to clip off
       tenuously connected blobs.
    * Modified edt_clust.c to make MCW_erode_clusters() return void, not
       void *, since it doesn't actually return anything.

----------------------------------------------------------------------

17 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_sumafunc.c to allow for MRI_rgb fim overlays.

----------------------------------------------------------------------

16 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_mincread.c to correctly use lower end of valid_range[].
    * Modified thd_mincwrite.c to use '-range -scan_range' flags with
       rawtominc program.
    * Modified 3dvolreg.c and 3drotate.c to make -clipit the default.
    * New program 3dThreetoRGB.c to create RGB datasets from 3 bricks.
    * Modified mri_read.c to use new '3Dr:' input format for RGB files.
    * Modified 3dAutomask.c to add history note.
    * Modified afni_plugin.h and NLfit_model.h to read dlfcn.h from
       dlcompat/ subdirectory on Darwin systems.
    * Modified afni.c to allow environment variables to set +tlrc box size.

----------------------------------------------------------------------

15 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to afni.c, afni_func.c, afni_slice.c, afni_warp.c, etc., to allo
    w
       MRI_rgb-valued datasets.  These can be created in to3d from ppm input
       files.

----------------------------------------------------------------------

11 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New program 3dAFNItoMINC.c, and new function thd_mincwrite.c.
    * Fixed bug in thd_mincread.c: it formerly scaled float inputs, which
       apparently is wrong.

----------------------------------------------------------------------

10 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Remove malloc.h include from mpeg_encode files for OS X compatibility.
    * Modify thd_automask.c to only keep largest connected component.
    * New program 3dAutomask.
    * Modified a few programs to use -automask as a synonym for -autoclip
       3dAutoTcorrelate.c, 3dTcorrelate.c, 3dToutcount.c, and 3dTqual.c.

----------------------------------------------------------------------

09 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Some minor changes to machdep.[ch] to make AFNI work on Mac OS X 10.1.3.

----------------------------------------------------------------------

05 Apr 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added (x,y,z) coord printout to 'Where Am I' window.
    * Modified imseq.[ch] to remove ALLOW_ZOOM conditional, and allow zoom/pan
       from 'z', 'Z', and 'p' keystrokes.

----------------------------------------------------------------------

29 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.c to accept multi-plot timeseries.
    * Added plug_nth_dataset.c to generate multi-plot timeseries.
    * Fixed bug in to3d.c that disabled -4swap option (from 07,MAR,2002).

----------------------------------------------------------------------

28 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added function mri_move_guts() to mri_free.c, in preparation for multi-
       plotting in afni_graph.c.

----------------------------------------------------------------------

27 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dinfo.c, thd_info.c to have a -short option.
    * Modified imseq.c to have isqDR_options save the output filter, rather th
    an
       reset it. (Otherwise, Left-is-Left loses the new default 'Save to .ppm'
    .)
    * Modified parser.f and 3dcalc.c to include a mad() function.

----------------------------------------------------------------------

26 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to save zoomed images in filtered Save many code as wel
    l
       (including animations).  Also set 'Save to .ppm' as the default save mo
    de,
       if possible.

----------------------------------------------------------------------

25 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to crop saved zoomed images if ordered by environment
       variable AFNI_CROP_ZOOMSAVE.

----------------------------------------------------------------------

23 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to zoom and draw overlays on Save One images.

----------------------------------------------------------------------

22 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_dup.c to correctly shift RGB images by 1/2 pixel.
    * Modified afni.c to correctly draw coordinates for lines shifted by 1/2 p
    ixel.
    * Modified afni.c and afni_pplug_env.c to allow user to draw crosshairs wi
    th
       lines instead of overlay pixels.

----------------------------------------------------------------------

18 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to make it necessary to use -niml or AFNI_NIML_START to
       have NIML listening activated from the beginning.

----------------------------------------------------------------------

17 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_niml.c to disable NIML listening if all potential sockets
       are busy.  This is to prevent an endless series of error messages
       when 2 AFNIs are running at once.
    * Modified afni.c to add option '-noniml'.

----------------------------------------------------------------------

16 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to not start NIML until the startup timeout is called.
       Otherwise, very early data might try to popup a window before that
       is possible.  Also, made NIML be turned on by default.
    * Modified afni_niml.c to have the popup messages include the I/O and
       processing time for large data elements.
    * Modified imseq.c (and afni_pplug_env.c) to keep panning mode on if
       AFNI_KEEP_PANNING is yessish.
    * Modified xim.c to speed up rgb_to_XImage(), by doing TrueColor and
       PseudoColor in separate functions.

----------------------------------------------------------------------

15 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c ISQ_show_zoom() function to discard old zoomed image if
       the pixmap had to be re-created.
    * Modified mri_dup.c to do 3x RGB upsample in special function, too.
    * Modified imseq.c to do panning with Button1 when the new 'pan' button
       is on - the 'old' arrowpad buttons have been excised.

----------------------------------------------------------------------

14 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_dup.c to use 171/256, 85/256 as approximations to 2/3, 1/3 
    for
       upsampling byte arrays by 3 - this avoids a division, and should be
       faster.  Also a function to do upsample by 4 of 2D RGB images all at
       once - this turns out to be worth the effort - speeds up nearly twice.
    * Modified thd_loaddblk.c to check if sub-bricks are all the same datum; i
    f
       not, always uses malloc() and also prints a warning to stderr.
    * Incorporated changes from Doug Ward
       * The group statistical analysis programs (3dANOVA3dANOVA23dANOVA3,
         3dRegAna3dMannWhitney3dWilcoxon3dKruskalWallis3dFriedman), wh
    en
         creating an AFNI 2-subbrick dataset or a bucket-type dataset, previou
    sly
         used the following format for the output datum types
            'intensity' sub-bricks -- same as input dataset
            statistical sub-bricks -- scaled short integer
         The above programs have been changed so that all output subbricks
         will now have the scaled short integer format.
       * Modified program 3dbucket, so that if there is more than one input
       dataset, it will copy the command line history from the first input
       to the output bucket dataset.

----------------------------------------------------------------------

13 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to not reload the zoomed Pixmap if the image isn't new.
       This speeds up scrolling the zoomed image quite a lot.
    * Modified coxplot/plot_x11.c to work properly if the first call to the
       rendering function is into a Pixmap instead of a Window.
    * Fixed a bug in niml.c that created NIML_TRUSTHOST_%2d environment variab
    le
       names - should have been NIML_TRUSTHOST_%02d (D'oh).
    * Modified mri_dup.c to upsample byte-values images by 2/3/4 in special co
    de.
       This makes imseq.c zooming faster.

----------------------------------------------------------------------

12 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Implemented 'zoom' feature in imseq.c (with a little help from bbox.h).
    * Modified mri_dup.c to allow linear as well as heptic upsampling.
       Use this for faster zooming in imseq.c.

----------------------------------------------------------------------

11 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to have SUMA overlay box and line color environment
       strings set to 'none' mean to skip that overlay step.  (The lines
       look better without the boxes.)

----------------------------------------------------------------------

10 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot/plot_cox.c, plot_x11.c, plot_ps2.c to allow circles.
    * Modified afni.c, afni_pplug_env.c to use environment variables to set
       SUMA overlay box size and color.
    * Modified imseq.c so that 'q' keypress causes a window close (to make
       this window like the various graph windows).
    * Modified afni_niml.c to receive SUMA_ijk triangles.
    * Modified afni.c to draw triangle/slice intersection lines.
    * Modified afni.c to allow specification of AFNI_FIM_IDEAL on startup.
    * Modified afni.c to set Dummy session directory to 1st argv directory.

----------------------------------------------------------------------

08 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.c and afni.c to add 2 environment variables to
       let user set the initial graph baseline parameters.
    * Modified afni_func.c, afni.c, and afni.h to allow the Define Function
       value label to be recomputed/redisplayed even if only 1 image
       window is open.

08 Mar 2002, RC Reynolds, plug_crender, level 4 (SUPER), type 1 (NEW_PROG)
    added rendering plugin to afni

----------------------------------------------------------------------

07 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.c (and afni_pplug_env.c) to make Button3 popup
       text info window be a scrollable textwin rather than a menu popup
       if the number of lines is too long; 'too long' is defined by new
       environment variable AFNI_GRAPH_TEXTLIMIT.
    * Modified mrilib.h to add field 'was_swapped' to MRI_IMAGE struct.
       Then modified mri_read.c to set this field if it auto-swaps the
       image on input.  Then modified to3d.c to skip doing -2swap/-4swap
       on such images.

----------------------------------------------------------------------

06 Mar 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Many changes over the last few weeks to include NIML support for
       talking to Ziad Saad's SUMA program.

----------------------------------------------------------------------

28 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a small problem with thd_info.c (damn you, Jim Haxby).
    * Incorporated a few more 3dDeconvolve changes from Doug Ward.
    * First cut at putting niml.[ch] into AFNI, along with afni_niml.c.

----------------------------------------------------------------------

27 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified various files to replace 'AGNI' with 'SUMA' (SUrface MApper).
       For example, we now have afni_suma.[ch] instead of agni.[ch].

----------------------------------------------------------------------

26 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to fix up the bucket widgets in AFNI_setup_viewing() aga
    in
       (cf. 29,JAN,2002)

----------------------------------------------------------------------

25 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Adapted modified 3dDeconvolve.c from Doug Ward.
    * Modified thd_getpathprogs.c to skip path elements that aren't directorie
    s
       (some people have no clue, do they?).

----------------------------------------------------------------------

19 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dAutoTcorrelate.c to add '-time' option.

----------------------------------------------------------------------

07 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c to allow AFNI_RESCAN_METHOD environment variable to
       choose old rescan method (cf. 28,DEC,2002).

----------------------------------------------------------------------

06 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Adapted modified plug_histog.c from Vinai Roopchansingh (added the
       'Output' option to write results to a file).

----------------------------------------------------------------------

05 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Put #undef USE_TRACING in FD2.c, since it uses STATUS() for something
        else.

----------------------------------------------------------------------

04 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_getpathprogs.c to correctly skip searching the same
       directory twice, rather than the cheap (strstr) way done before.
       The old way caused problems when /usr/bin/ was ahead of /bin/,
       for example.
    * Similar changes to NLfit_model.c, afni_plugin.c, and thd_get1D.c.
    * Removed the NULLIFY_ON_DESTROY() call for the whereami textwin in
       afni.c, since the kill function for this window does the same
       thing.  This may be the cause of the bug that Jill Weisberg
       reported (that the whereami function stops working and then
       crashes AFNI when the user presses the Quit button).

----------------------------------------------------------------------

02 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added extreme_proj() to afni_transforms.c.

----------------------------------------------------------------------

01 Feb 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Put most transform functions from afni.c and imseq.c into new file
         afni_transforms.c.
    * Added 3dFDR.c from Doug Ward, and some changes to 3dDeconvolve.

----------------------------------------------------------------------

31 Jan 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to allow scrollbars on the Disp button dialog, if
        AFNI_DISP_SCROLLBARS is yessish.
    * Modified imseq.[ch] and afni.[ch] to provide slice_proj projection
        functionality.

----------------------------------------------------------------------

30 Jan 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New program 3dAutoTcorrelate.c for PAB.

----------------------------------------------------------------------

29 Jan 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c function AFNI_setup_viewing() to correct problem when
       viewing the same functional bucket in two controllers - the bucket
       widgets might not get set up correctly due to false memories.

----------------------------------------------------------------------

28 Jan 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified cs_qhull.c to use centroid instead of normal for midpoint.

----------------------------------------------------------------------

13 Jan 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified Makefile.solaris28_gcc on hador system - plugins would no longe
    r
       load.  Use of GNU ld instead of UCB ld fixes this, but for unknown
       reasons.  Evil spirits?

----------------------------------------------------------------------

08 Jan 2002, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modifications to make AFNI work under CYGWIN (www.cygwin.com)
       - Removed shm stuff from thd_iochan.c
       - Compile plugins directly into afni.exe (no dlopen)
       - Changing Makefile.cygwin and Makefile.INCLUDE to make
         PLUGIN_init() function have different names for each
         plugin compiled on CYGWIN
       - At this time, 3dNLfim3dTSgen, plug_nlfit, and plug_wavelets
         are not compiled for CYGWIN since they present difficulties.

----------------------------------------------------------------------

28 Dec 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified matrix.[ch] and RegAna.c to speed up some of Doug Ward's
        matrix-vector calculations, to make 3dDeconvolve faster.  Makes
        it about 22% faster on an Athlon/Linux box.

----------------------------------------------------------------------

21 Dec 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed up some rescan session problems with AFNI_GLOBAL_SESSION datasets.
        (We don't want to let them be destroyed or descendant-ized.)

----------------------------------------------------------------------

20 Dec 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified ge_header.c to use -verb option to print out more stuff.
    * Modified to3d.c to set default dataset type to ANAT_EPI_TYPE (-epan)
        if user is creating a 3D+time dataset.
    * Modified mri_read.c and to3d.c to correctly calculate and use
        MRILIB_xoff and MRILIB_yoff for GEMS images.
    * Modified afni.h, afni.c, afni_func.c to implement AFNI_GLOBAL_SESSION
        environment variable.

----------------------------------------------------------------------

13 Dec 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified bbox.c to do XUngrabPointer if user presses Button-2 to try
        to popup a list chooser for optmenus.  If the optmenu is inside a
        popup menu, Motif never does an XUngrabPointer, thus freezing the
        X server until afni is killed from outside.  This seems to avoid
        that problem.

----------------------------------------------------------------------

11 Dec 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed stupid errors in the cursor stuff, and propagated the changes
        to more places, so that most AFNI windows should now be properly
        cursorized.
    * Fixed bug in to3d.c - 1 slice with TR=0 on command line would crash.
    * Modified bbox.[ch] to allow user to set menu column length via
        environment variable AFNI_MENU_COLSIZE.
    * Modified bbox.c to allow user to use Button-3 to popup a list chooser
        for optmenus.

----------------------------------------------------------------------

07 Dec 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3daxialize.c to allow arbitrary orientation of output
        (-orient option).  Also changes to ORCODE() macro in thd.h
        and to3d.h, and added new function to thd_fdbrick.c.
    * Modified imseq.c, afni_widg.c, afni.c, afni_graph.c, plug_render.c
        and xutil.h to change cursor slightly when it moves over a
        window that has a hidden Button-3 popup menu.
    * Modified 3dTstat.c to have NOD (no-detrend) versions of -stdev
        and -cvar.
    * Modified afni_widg.c to implement AFNI_START_SMALL.

----------------------------------------------------------------------

04 Dec 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Cleaned up mri_read.c and to3d.c a little.
    * Got some small changes to 3dIntracranial.c from Doug Ward (-nosmooth).
    * New program ge_header.c prints out GEMS header information.

----------------------------------------------------------------------

03 Dec 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to mri_read() in mri_read.c to understand GEMS headers.
    * Changes to to3d.c to understand the GEMS header stuff, including
        a default TR (if user supplies TR=0).

----------------------------------------------------------------------

29 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * mri_write_analyze() function to write an MRI_IMAGE to Analyze files.
    * 3dAFNItoANALYZE program to write a dataset to Analyze files.
    * Added -prefix option to 3dclust.c.

----------------------------------------------------------------------

28 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read.c to also allow floatizing of Analyze .img files,
        and guessing at orientation via SPM.

----------------------------------------------------------------------

27 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read.c to apply the 'funused1' entry in the Analyze .hdr
        file as a scale factor.
    * Added mri_scale_inplace() function (mri_scale.c).

----------------------------------------------------------------------

21 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_iochan.[ch] to set an error string in some functions.
        This can be retrieved with iochan_error_string().
    * Modified afni_plugout.[ch] to listen for connections on socket ports
        7955..7959.
    * Modified afni_plugout.[ch] to break input command strings from plugouts
        into substrings (separated by NULs) and execute them all.  This will
        let AFNI catch up when a plugout races ahead during a dataset read
        or a window resize, for example.

----------------------------------------------------------------------

20 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot/plot_cox.c to have functions to convert between
        user and memplot coordinates.
    * Modified afni_driver.c to remove debug print statements, and to
        add some comments.

----------------------------------------------------------------------

16 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot/plot_strip.c to add an X at the end of each
        evolving graph.
    * Modified afni_driver.c to have command SET_GRAPH_GEOM.

----------------------------------------------------------------------

15 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added plot_strip.c to coxplot/, for doing timeseries plots with
       recycling back to the left when the graph is full.
    * Added OPEN_GRAPH_1D (etc.) to afni_driver.c.
    * Added cutoff() to afni_plugout.c when it closes a socket.

----------------------------------------------------------------------

14 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added OPEN_GRAPH_XY (etc.) to afni_driver.c, to display graphs
       from plugout data.

----------------------------------------------------------------------

13 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_driver.c to allow OPEN_WINDOW to open a plugin.
    * Modified afni_splash.c so that layout code doesn't check plugin
       widgets if this is a custom plugin (which won't put widgets
       into the 'plint' struct).

----------------------------------------------------------------------

12 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imreg.c to have -cmass option for pre-alignment of
       center of mass.

----------------------------------------------------------------------

09 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Replaced isblank() in afni_driver.c with isspace() - the former
       is a GNU extension, the latter is standard.

----------------------------------------------------------------------

08 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_driver.c to allow the OPEN_WINDOW function to have
       layout parameters geom=, ifrac=, mont=, matrix=, and pinnum=.

----------------------------------------------------------------------

07 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_plugout.c to call AFNI_driver() function in response
       to 'DRIVE_AFNI' commands.
    * Added afni_driver.c and AFNI_driver() function to carry out some
       user interface functionality from a plugout
         - open windows, close windows
         - switch sessions, datasets
         - rescan this
         - quit
    * Added a button to the Datamode->Misc menu to start plugouts.

----------------------------------------------------------------------

05 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_dsetto1D.c to break THD_extract_series() into two
       functions.  The new function THD_extract_array() returns data
       in an array supplied by the caller.  This is used in thd_median.c
       and thd_outlier_count.c to avoid the malloc/free cycle on
       thousands of voxel time series.
    * Modified thd_cliplevel.c to check bounds on hist[] array when
       loading it with shorts, and to increase size of hist[] by 1.
       (This last problem was causing to3d to crash.)  Also modified
       3dClipLevel.c in the same way.
    * Modified coxplot/plot_motif.c to disable 'PS->printer' button if
       environment variable AFNI_PSPRINT isn't set.
    * Modified machdep.c to do enable_mcw_malloc() if environment variable
       AFNI_FORCE_MCW_MALLOC is yessish.  Modified mcw_malloc.c to have
       enable_mcw_malloc() return immediately if it is already enabled.
    * Modified qmedmad_float() in cs_qmed.c to free workspace array when
       done with it (oopsie).

----------------------------------------------------------------------

02 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dmerge.c to protest if an input dataset (for merge)
       can't be loaded.  Also changed edt_onedset.c to use DSET_LOADED()
       macro.

----------------------------------------------------------------------

01 Nov 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_mincread.c to allow :step attribute of dimensions
       to be missing (default=1), and even to allow the dimension
       variables to be missing.
    * Modified mri_new.c to use calloc() instead of malloc().
    * Modified MCW_choose_string() in bbox.c to use length of 1st line
       of label arg as size of text box, rather than strlen(label).
    * Modified afni_func.c to change way the 'Read Web' button presents
       its chooser, and put some sample Web datasets on the server.

----------------------------------------------------------------------

30 Oct 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified MINC stuff to use AFNI_MINC_FLOATIZE environment to
       control conversion to internal floats, and to use
       AFNI_MINC_DATASETS to control whether AFNI itself looks
       at .mnc files.
    * Added program 3dMINCtoAFNI.c to re-write a MINC file into an AFNI
       dataset; 3drefit may be useful afterwards.

----------------------------------------------------------------------

29 Oct 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added thd_mincread.c to read MINC format files as AFNI datasets.
       Also changed 3ddata.h, afni.c, thd_initsess.c, thd_mastery.c,
       thd_opendset.c, etc., and include subdirectory netcdf-3.5.0/
       that hold the NetCDF library.

----------------------------------------------------------------------

26 Oct 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added THD_surefit_to_dicomm() to agni.[ch] (from Vecwarp.c).
    * Modified agni.c to allow SureFit coord files to be read directly
       using <SureFit coord=filename IDadd=number/> in .SURF file.

----------------------------------------------------------------------

25 Oct 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added '-q' (quiet) option to afni.c (also affected afni.h, afni_widg.c,
       and afni_plugin.c).
    * Fixed bug in AFNI_set_viewpoint() in afni.c, so that the AGNI node
       is looked up only if we are in 'view brick' mode.
    * Added program Vecwarp.c, at the request of David van Essen of Wash U.

----------------------------------------------------------------------

22 Oct 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in 3dvolreg.c about -twopass weight brick (noted by
       William Gandler of the NIH).

----------------------------------------------------------------------

19 Oct 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in imseq.c: if pnmtops was NOT found but epstopdf WAS found,
       then the program would crash (this is the Ben Xu memorial bug).
    * Modified thd_winsor.c and 3dWinsor.c to have new '-clip' option.

----------------------------------------------------------------------

18 Oct 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_loaddblk.c to make THD_load_datablock() have only 1 argumen
    t;
       the 'freeup' argument is moved to a file-scope variable, and is set
       by calling new function THD_set_freeup().
    * Modified lots of programs to use modified THD_load_datablock() correctly
    .
    * Modified DSET_load() macro in 3ddata.h.
    * Modified afni.c to use THD_set_freeup() with AFNI_purge_unused_dsets().
    * Added macro mri_zero_image() to mrilib.h.
    * Modified thd_fdto1D.c to zero output, then only access non-NULL bricks;
       this is to prevent crashes when a user tries to graph a dataset that
       didn't load correctly (cf. Sally Durgerian).
    * On some Solaris systems, displayed to SGI systems (cf. Mike Beauchamp),
       Button 3 doesn't always seem to get passed through.  The following
       changes are to let Button 1 also popup 'hidden' menus
         - imseq.c for wbar menu
         - imseq.c for wimage menu (if Ctrl or Shift also pressed)
         - afni_setup.c for Inten menu
         - afni_func.c for Hidden menu (in logo square)
         - plug_render.c for Inten menu and Xhair menu (latter is Button 2)
       However, these changes don't seem to work - the mouse events aren't
       received.  Ugh.

----------------------------------------------------------------------

16 Oct 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Took new FD2.c from Andrzej Jesmanowicz, with changes to run with X11
       TrueColor visual.

----------------------------------------------------------------------

01 Oct 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_plugin.c to make plugin alphabetization the default (that
       is, the user has to 'setenv AFNI_PLUGINS_ALPHABETIZE NO' to get the
       old behavior).

----------------------------------------------------------------------

27 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_md5.c to add UNIQ_idcode() function, which produces strings
       like 'USA_mFs+P-tnCc1vQQM0UuL0Hg', using a modified Base64 encoding of
       the MD5 sum of some system info and the current time.
    * Modified thd_base64.c to avoid use of mrilib.h (so it can be easily used
       by non-AFNI programmers).
    * Modified thd_idcode.c to use UNIQ_idcode() instead of older method.
    * Modified 3ddata.h to extend length of MCW_idcode string to 32 (so can
       use results of UNIQ_idcode()).

----------------------------------------------------------------------

25 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_drawdset.c to have a new drawing mode, 'Filled Curve'.
    * Modified mri_read.c to allow .HDR and .IMA suffixes for Analyze
       and Siemens files, respectively (in addition to .hdr and .ima).
    * Modified mri_read_siemens() in mri_read.c so that if the environment
       variable AFNI_SIEMENS_INTERLEAVE is set to 'Y' or 'y', then the
       multi-images in a Siemens file are assumed to be interleaved rather
       than presented in order.
    * Modified to3d.c to have new option -sinter: sets AFNI_SIEMENS_INTERLEAVE
       to 'Yes'.
    * Modified plug_drawdset.c to do EVERYTHING_SHUTDOWN after Quit is pressed
    .
       For some reason, this was blocking proper Undo-ing if the user did Quit
    ,
       then restarted the editor.

----------------------------------------------------------------------

24 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New program 3dcopy.c does what it sounds like: copies datasets.
    * Modified plug_drawdset.c to allow the user to make a copy of a
       dataset on input, and to have a SaveAs button.

----------------------------------------------------------------------

23 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a setback environment variable to let image label placement be
       adjusted.
    * Modified afni_widg.c to load a color pixmap for use with the 'wait'
       picture, if the visual is TrueColor.

----------------------------------------------------------------------

21 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.[ch] to adjust the way labels are drawn.
    * Fixed ISQ_saver_CB() bug in imseq.c: when Save:one was active and images
       were sent to an output filter, they needed to be forced into RGB mode
       even if they were grayscale.
    * Changes to afni.c and imseq.c to allow label and agni overlay colors to 
    be
       controlled by environment variables.
    * Added function DC_parse_color() to display.[ch] to parse a color string 
    into
       a (float) RGB triple.

----------------------------------------------------------------------

20 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to do the overlay plot montage more efficiently
       (using less memory).
    * Modified imseq.c to draw labels returned by the get_image() function
       for each slice, both in single and montage images.
    * Modified afni.c to return a label for each slice.
    * Modified coxplot/plot_cox.c to have new function, create_memplot_surely(
    ).
       Modified a number of functions/programs to use this instead of looping
       over create_memplot() a number of times.

----------------------------------------------------------------------

19 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * In imseq.c, realized that the 'Empty Image' memplot was being re-created
       multiple times, and this is stupid.  Now it is only created once, and
       is reused from then on.
    * Also in imseq.c, realized that if last image in a Save sequence is
       NULL, and we are saving to an animation, then the animation won't be
       written and the saved images will never be deleted.  At least they
       will be deleted now (animation still won't be written, but at least
       an error message will be output).
    * Also in imseq.c, added montage overlay plots to function
       ISQ_make_montage().

----------------------------------------------------------------------

18 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added mri_drawing.c to draw things into RGB images, and mri_coxplot.c,
       to use that to draw coxplot stuff into RGB images.

----------------------------------------------------------------------

17 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read.c to add new function mri_read_ppm_header(),
       and to make mri_read_ppm() scale a PPM image to maxval=255.
    * Modified afni_splash.c to look for .afnisplash*.ppm files for the
       splash image override.

----------------------------------------------------------------------

13 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_plugin.c and NLfit_model.c to properly load .so objects
       on Mac OS X (DARWIN).

----------------------------------------------------------------------

12 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Wrote thd_autonudge.c and 3dAnatNudge.c to try to fit EPI volume
       on top of scalped SPGR volume.

----------------------------------------------------------------------

11 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_render.[ch] and plug_render.c to allow depth cueing of
       ShowThru overlays (new option ST+Dcue on overlay opacity menu).

----------------------------------------------------------------------

07 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified agni.[ch] to put a mask into the vmap to mark the level
       of expansion at which the voxel was mapped.
    * Modified agni.c to using ENTRY/RETURN.
    * Modified agni.c to check for duplicate node id's when creating a surface
    .
    * Modified afni.c and afni_plugout.c to strip off the vmap mask when
       querying this array.
    * Modified machdep.c to get the _Xsetlocale() fixup function; added
       machdep() to a lot of programs (for Mac OS X compilation).

----------------------------------------------------------------------

06 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_plugout.[ch] to have 'NO_ACK' option, so that plugout
       messages aren't acknowledged.  This is necessary to avoid race
       conditions with a plugout that both sends and receives messages.
    * Modified afni_plugout.[ch] to allow sending and receiving of SURFID
       for surface node identifiers.
    * Wrote plugout_surf.c as a demo of the SURFID interchange.

----------------------------------------------------------------------

05 Sep 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified machdep.[ch] to provide some support for Mac OSX (Darwin).
    * Modified agni.c to do volume map (vmap) correctly, and faster.

----------------------------------------------------------------------

30 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot/plot_cox.c to have a flip_memplot() function, for use
       in imseq.c graphing overlay.
    * Modified coxplot/plot_x11.c to draw a Point rather than a Rectangle
       if the rectangle has width=height=0.
    * Modified afni.c to draw surface nodes in correct places, rather than
       in center of their voxels.  Also involved changes to thd_coords.c,
       to have new functions for floating point coords in FD_bricks.

----------------------------------------------------------------------

29 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Created cs_sort_template.h, a file to generate quicksort functions from
       a macro-defined type and macro-defined order.
    * Adapted 1st version of agni.[ch] to fit into afni, for surface display.
       Changes also to afni.c (to draw the damn thing), imseq.c, and some
       other minor junk.

----------------------------------------------------------------------

28 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_correlate.c Pearson routine to initialize sums (oops).

----------------------------------------------------------------------

26 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified to3d.c to have -save_outliers option.

----------------------------------------------------------------------

24 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dTcorrelate.c to have '-polort -1' option.
    * Modified afni_friends.c.
    * Modified to3d.c, which tried to popup outlier message in batch mode.
       Also, made it check for negatives again after 2swap; skip outlier
       check if too many negatives (more than 1%); print percentage of
       negatives in negatives report.

----------------------------------------------------------------------

23 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 3dTcorrelate.c to compute correlation coefficient of
       2 3D+time datasets, voxel by voxel.
    * New file thd_correlate.c computes various correlation coefficients
       between vectors.
    * Added constant detrending to thd_detrend.c.

----------------------------------------------------------------------

22 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_drawdset.c to allow loading of overlay data from the
       TTatlas+tlrc dataset, on a region-by-region basis.

----------------------------------------------------------------------

20 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Incorporated revised TD database from San Antone.  Also penciled in
       the Nucleus Accumbens, since they seem to have missed it.

----------------------------------------------------------------------

16 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c to hintize the pbar in function AFNI_underlay_CB().
    * Modified the outlier stuff in to3d.c some.

----------------------------------------------------------------------

15 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dToutcount.c to have a -range option, a la 3dTqual.c.
    * Added function THD_outlier_count() to do more or less what 3dToutcount.c
     does.
    * Used this in to3d.c to automatically check new 3D+time datasets for outl
    iers.

----------------------------------------------------------------------

14 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified a bunch of programs to use AFNI_logger().

----------------------------------------------------------------------

13 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -dt option to 3dcalc.c.
    * Added routine AFNI_logger() in afni_logger.c.

----------------------------------------------------------------------

12 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in 3dClipLevel.c that used 1 past the end of the histogram
       array (bad Bob, bad).
    * Added functions thd_median_brick() and thd_cliplevel() in files
       THD_median.c and THD_cliplevel.c to the library.
    * Modified 3dTqual.c to use these library functions.
    * Modified 3dToutcount.c to have -autoclip option.

----------------------------------------------------------------------

11 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_scatplot.c to print correlation coefficient.

----------------------------------------------------------------------

10 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added TENT() function to parser.f and parser.inc.
    * Added thd_dsetto3D.c, to extract/scale a float copy of a sub-brick.
    * New program 3dTqual.c computes a 'quality index' of each sub-brick
       in a 3D+time dataset.
    * Modified 1dplot.c so that -stdin option can read more than 1 column.

----------------------------------------------------------------------

09 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 3dZcat.c to put datasets together in the slice
       direction.
    * (Re)modified to3d.c to allow creation of 1 slice datasets.  Hope it
       works out this time.

----------------------------------------------------------------------

08 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.c and xutil.c to use new environment variable
       AFNI_DONT_MOVE_MENUS - if this is 'Yes', then the menu movement
       functions will be skipped.  Also added this to afni_pplug_env.c.
       (As usual, this is in response to a problem on Solaris.)
    * Added program 3dZcutup.c to cut slices out of a dataset.
    * Modified various functions to work with single-slice datasets.
       Probably missing some still.

----------------------------------------------------------------------

07 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.[ch] and afni.c to extend graph baseline concept
       to have a global baseline for all graphs (that doesn't change when
       the user moves around).
    * Modified afni_graph.[ch] to add a new Double Plot mode Plus/Minus to
       make the transformed function be added/subtracted from the dataset's
       time series, so we can see error bars from 3dDeconvolve's
       -iresp/-sresp outputs!
    * Added afni_pplug_1dfunc.c to make 1DChain pseudoplugin (also affected
       afni_func.c and afni_widg.c).

----------------------------------------------------------------------

06 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot/plot_motif.c to have plotting window close when
       user presses 'Q' or 'q' keystroke in the drawing area.

----------------------------------------------------------------------

02 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in waver.c -EXPR option, so that if waveform_EXPR(t) is
       called with t < 0, it returns 0.
    * Included mpeg_encode directory into AFNI distribution, and added to
       Makefile.INCLUDE to make mpeg_encode.
       However, neither of these program is made by default.
    * Added Sav:mpeg to imseq.[ch].

----------------------------------------------------------------------

01 Aug 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Realized that the TT atlas overlay was setup for the small Talairach
       box, and most people now have large Talairach box datasets.  To make
       the system work, modified thd_ttatlas_query.c to allow programs to
       load an atlas with 141 I-S slices (the one on disk), or an atlas
       with 151 I-S slices (created via zero-padding).  Then modified places
       that retrieved the atlas dataset: afni_func.c, plug_render.c.  Ugh.
    * Also modified afni.c so that the 'Atlas Colors' popup button is only
       enabled in +tlrc view.
    * Modified waver.c to add to -EXPR option.
    * Added -stdin option to 1dplot.c.

----------------------------------------------------------------------

31 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified xutil.[ch] to add a routine to NULL out an arbitrary pointer
       when a widget is destroyed.
    * Used the above in afni.c to NULL out the pointer to the 'Where Am I?'
       text window when the text window is destroyed because the user
       destroyed its parent imseq.

----------------------------------------------------------------------

30 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed color pbar hintize alterations when user changes sub-bricks,
       in plug_render.c.

----------------------------------------------------------------------

29 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.[ch] to add a range hint to the intensity bar.

----------------------------------------------------------------------

27 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.[ch] to add 'Sav:aGif' to save a sequence of images
       into animated GIF format (using gifsicle or whirlgif).
    * Included gifsicle directory into AFNI distribution, and added to
       Makefile.INCLUDE to make gifsicle (whirlgif was already there).
       However, neither of these program is made by default.

----------------------------------------------------------------------

26 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.[ch] to allow 'Save One' to be independent of the
       output filter (e.g., so can save a montage into a JPEG file).

----------------------------------------------------------------------

25 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_render.c to histogram new dataset bricks and choose
       99.5% point as the default upper level for scaling.
    * Modified afni.c, afni_func.c, afni_widg.c, afni_warp.c to enable
       rendering of TT Atlas regions as overlays in 2D image viewers.

----------------------------------------------------------------------

24 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_ttatlas_query.c to return up to 9 results, and to print
       a cautionary tail.
    * Modified plug_render.c to display TT atlas regions.

----------------------------------------------------------------------

13 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * OK, made afni_ttren.c work with the volume renderer.
    * Modified mcw_glob.c to only print warning message if allowed to.
       Modified various codes that use MCW_file_expand() to turn such
       messages on or off, depending on what I feel like.

----------------------------------------------------------------------

12 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added afni_ttren.c, to control the colors of the display of the
       Talairach atlas regions (when I get around to it, that is).

----------------------------------------------------------------------

11 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified xutil.[ch] to add function MCW_unregister_hint().
    * Modified afni.c to add hint/help to 'Where Am I?' textwin (and to
       remove help when the window is destroyed).

----------------------------------------------------------------------

10 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Where Am I?' Talairach Daemon feature to afni_widg.c, afni.[ch].
       Actual calculations done in thd_ttatlas_query.c.
    * Modified xutil.[ch] to add function to alter contents of a textwin.
    * Added edt_sortmask.c to sort a MCW_cluster based on its contents.

----------------------------------------------------------------------

09 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified AFNI_transform_vector() in afni.c to use anat_parent
       transformations if the datasets aren't directly related.
    * Used this to modify the 'Talairach to' feature (AFNI_talto_CB() in afni.
    c)
       to allow jumping even if the dataset is not in Talairach view, but just
       has a way of transforming the vector to Talairach view.

----------------------------------------------------------------------

06 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dUndump.c to print a message if a voxel is written to
       more than once.
    * Added Doug Ward's changes to 3dDeconvolve.c, 3dConvolve.c, etc.

----------------------------------------------------------------------

05 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.[ch] to include CM's from Talairach Daemon database,
       and re-enabled the long-dormant 'Talairach to' button.
    * Added option '-nosum' to 3dclust.c.
    * Modified thd_loaddblk.c to skip byte order tests if all sub-bricks
       have byte datum.

----------------------------------------------------------------------

03 Jul 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to correct usage of pnmtotiff, which is NOT the
       same as ppm2tiff (first one writes to stdout, second to a file
       named on the command line).

----------------------------------------------------------------------

29 Jun 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program strblast.c to blast strings out of image files.
    * Modified 3dclust.c to use THD_open_dataset() instead of
       THD_open_one_dataset().

----------------------------------------------------------------------

27 Jun 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added ability to save images in various formats (.jpg, .gif, etc.)
       to imseq.[ch], using external programs such as ppmtogif, etc.

----------------------------------------------------------------------

26 Jun 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added function THD_is_executable() in thd_filestuff.c.
    * Added thd_getpathprogs.c to get list of all executables in the path.

----------------------------------------------------------------------

22 Jun 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a bug in 3dUndump.c where it checked the wrong value against
       the z coordinate bounds - it would report illegal inputs when
       the (x,y,z) values were in fact legal.

----------------------------------------------------------------------

19 Jun 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3drotate.c to take the new -dfile/1Dfile options, per
       the request of David Glahn of UCLA.

----------------------------------------------------------------------

18 Jun 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read_ascii() in mri_read.c to skip lines that start
       with '#' character.

----------------------------------------------------------------------

07 Jun 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add cs_qhull.c to drive qhull program and compute Voronoi areas
       on sphere surface.

----------------------------------------------------------------------

06 Jun 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added directory qhulldir/ to contain the qhull program from UMN.
    * Fixed afni_vcheck.c to reflect the new webserver.

----------------------------------------------------------------------

05 Jun 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_plugin.c to move some routines into the 'always
       compiled' section; and afni_plugin.h to reflect this change.
       Small changes also to afni.h, afni_func.c, and afni_pplug_*.c.
       (All of this is to get afni to compile again without plugins.)

----------------------------------------------------------------------

04 Jun 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_iochan.c iochan_fork_delay() to retry communications,
       and to print more error messages.
    * Added DONT_USE_DEBUGTHISFILE to machdep.h and debugtrace.h.

----------------------------------------------------------------------

24 May 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_plugin.c to fprintf(stderr) the error message if
       a plugin library cannot be loaded into the system.  (This way
       it always appears, even if trace is turned off.)

----------------------------------------------------------------------

23 May 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_iochan.[ch] to add function iochan_fork_delay(),
       which allows relays of data from a shm IOCHAN to a tcp IOCHAN
       through a child process.

----------------------------------------------------------------------

22 May 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_iochan.[ch] to add function iochan_recvloop(), which
       loops to receive as much data as possible without waiting.

----------------------------------------------------------------------

18 May 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_plugin.[ch] to STATUS() an error message if a
       plugin library cannot be loaded into the system.

----------------------------------------------------------------------

16 May 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified waver.c to add new -tstim option (for specifying stimulus
       times directly on command line).

----------------------------------------------------------------------

10 May 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a bug in to3d.c with the Analyze/Siemens header geometry info
       it was only processed AFTER the autosave test was executed.  It was
       moved before the autosave.  Also added the -zorigin option to let
       the user set the slice offset (a la 3drefit).

----------------------------------------------------------------------

09 May 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a scale-resize bug in Solaris (why does this keep happening,
       and only on Solaris?!) in afni.c, afni_func.c, and plug_render.c.

----------------------------------------------------------------------

04 May 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_loaddblk.c to print a message if a mmap()-ed file isn't
       big enough for the dataset byte count.

----------------------------------------------------------------------

30 Apr 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mcw_glob.c to print an message if an attempted expansion
       produces no files.

----------------------------------------------------------------------

25 Apr 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c recording a little.
    * Fixed a bug in 3dAttribute.c in which the tross_Expand_string()
       result might be NULL, in which case printing it would crash
       on some systems.  Also, free()-ed the data from that call.

----------------------------------------------------------------------

24 Apr 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'record' capability to imseq.[ch].

----------------------------------------------------------------------

23 Apr 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c to draw 'EMTPY IMAGE' string into image window if
       a NULL image is returned.

----------------------------------------------------------------------

20 Apr 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'addto_args' to a bunch of programs, to let them use the '-@'
       command line switch.
    * Added call to machdep() in a bunch of programs.

----------------------------------------------------------------------

18 Apr 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added some more printouts to 3dcalc.c and thd_loaddblk.c when malloc()
       fails on dataset input.
    * Added '-sum' and '-sqr' options to 3dMean.c.
    * Added program 1dsum.c.
    * Added machdep.c to do machine-dependent runtime startup (supplementing
       machine-dependent compile time stuff in machdep.h).

----------------------------------------------------------------------

10 Apr 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a bug in 3dvolreg.c, where the '-base dset' option used a
       sub-brick index 'bb' that was no longer initialized (bug reported
       by Tom Ross of MCW).

----------------------------------------------------------------------

03 Apr 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified xim.[ch] to add a 'force rgb' option to function XImage_to_mri(
    ),
       so that one can always be sure of getting a MRI_rgb image (and so be
       sure of writing a PPM file with mri_write_pnm()).  Modified imseq.c and
       afni_graph.c to fit the new usage.

----------------------------------------------------------------------

30 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Rota' buttons to afni_widg.c and plug_render.c, to rotate
       the colors on the pbars.
    * Added range hints to the pbar in afni_func.c and plug_render.c.

----------------------------------------------------------------------

26 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_func.c, afni_widg.c to add a 'Read Web' button.
    * Modified thd_fetchdset.c to allow fetch of *.1D files as well.

----------------------------------------------------------------------

23 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added thd_fetchdset.c, to get a dataset from a Web link.  This is
       called from THD_open_dataset() in thd_mastery.c.  Thus, you can
       now do something like
         afni -dset http://some.place/dir/anat+orig
       and see the dataset!

----------------------------------------------------------------------

22 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -save option to 3dToutcount.c, to leave markers of outliers
       behind.
    * Added script moveAFNI to install changed files from afni98.tgz into
       the current directory.

----------------------------------------------------------------------

21 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot to draw filled rectangles when thickness is set
       to -1.0.  Files affected are coxplot.h, plot_cox.c, plot_ps.c,
       plot_ps2.c, and plot_x11.c.
    * Added program 1dgrayplot.c to plot timeseries files (vertically)
       in grayscale, a la SPM.
    * Modified afni_plugin.c to remove the MCW_TIMER_KILL from the
       ButtonPress frivolity in image popups.  Also, hid this stuff
       behind the NO_FRIVOLITIES macro and NO_frivolities global variable.
    * Added program 3dToutcount.c to count outliers at each time point in
       a 3D+time dataset (idea from Bill Eddy).

----------------------------------------------------------------------

20 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 3dDeconvolve.c update from Doug Ward.
    * Modified plug_histog.c to add 'Aboot' feature.

----------------------------------------------------------------------

19 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in thd_dsetrow.c, where putting a row back in for byte
       or float cases didn't have break statements, so it would be
       put twice, which is real bad (i.e., segment fault).
    * Added Linear Fillin to plug_drawdset.c.

----------------------------------------------------------------------

15 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in thd_shift2.c: when the shift was larger than the data
       line size, buffer overrun could occur.  In this case, the proper
       result is all zeros, so that's what I substituted.

----------------------------------------------------------------------

12 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read.c to read Siemens Vision format .ima files.
    * Modified mrilib.h to have global variables MRILIB_* that hold
       orientation info from image files, if present.  Modified to3d.c
       to use this information.
    * New program siemens_vision.c prints out info from the .ima format
       files' header.

----------------------------------------------------------------------

09 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed 1deval.c so that '-v' option becomes '-verb' (since '-v' had
       another meaning in that program).  Also modified several other
       programs so that '-verb' is accepted (instead of '-v' or '-verbose').
    * Modified imseq.c to de/re-sensitize overlay opacity arrowval when
       'See Overlay' is turned off/on.

----------------------------------------------------------------------

08 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added median+MAD function to cs_qmed.c.
    * Added display of median+MAD to popup stats in afni_graph.[ch].
    * Added thd_dsetrow.c, thd_rowfillin.c, 3dRowFillin.c to do row filling
       between gaps (zeros) of like values.  Intended to complement the
       drawing plugin.
    * Modified plug_render.c to allow user to display the xhairs in the
       color overlay (meaning they can ShowThru).

----------------------------------------------------------------------

07 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.[ch] to add controls and functions for translucent color
       overlays, if X11 Visual is TrueColor.
    * Modified to3d.c, afni_plugin.c, and plug_render.c to turn off the
       overlay opacity arrowval for their particular image windows
       (since they don't use overlays anyhoo).
    * Modified rwc.xbm logo bitmap to include NIH logo along with MCW logo.

----------------------------------------------------------------------

06 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified display.[ch] to store RGB bytes for the underlay and overlay
       colors in the MCW_DC structure.  This is preparation for allowing
       direct RGB overlays into imseq.c.
    * Modified mri_new.c (and mcw_glob.c) to allow use of the special filename
       ALLZERO in 3D: input.  This will make it simple to create an empty
       dataset using to3d, for example.
    * Added -min and -max options to 3dTstat.c.
    * Modified 3dClipLevel.c to use all sub-bricks instead of just the first.
    * Added function ISQ_overlay() into imseq.[ch], to do the overlaying of
       underlay and color of MRI_short and MRI_rgb in all cases.

----------------------------------------------------------------------

05 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified Ziad Saad's plug_delay_V2.h to use remainder() instead of
       drem() for Solaris, since Solaris doesn't have that BSD function
       for some stupid SysV reason.

----------------------------------------------------------------------

04 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New program ent16.c computes 16-bit entropy of stdin stream.  Can be
       used in a script to decide when to gzip datasets.

----------------------------------------------------------------------

03 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dTsmooth (yet again) to allow for different options for
       dealing with points past the beginning and end of time.

----------------------------------------------------------------------

02 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added thd_entropy16.c to compute entropy (bits/short) of a dataset.
    * Used entropy to force gzip of highly redundant datasets in
       thd_writedblk.c -- if AFNI_AUTOGZIP is on.
    * Modified afni_environ.c so that yesenv() and noenv() use my_getenv().
    * Modified afni_pplug_env.c to include AFNI_AUTOGZIP.
    * Modified afni.c to put DBG_trace= statements inside #ifdef USE_TRACING.
    * Modified 3dZeropad.c to not overwrite existing datasets [Oopsie squared]
    .
    * Modified 3dmerge.c to print warning message for default indexes
       (if -1dindex and/or -1tindex is not used).
    * Added 3ddelay.c from Ziad Saad.

----------------------------------------------------------------------

01 Mar 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Max Count' input to plug_histog.c.
    * Fixed incorrect error message for '-nrep' option in 3dWinsor.c.
    * Added -blackman and -hamming options to 3dTsmooth.c [per MSB].

----------------------------------------------------------------------

29 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_initdkptr.c to properly treat directory components stored
       in prefixname.  [Ugh]

----------------------------------------------------------------------

28 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New program 3dZregrid.c is for resampling a dataset along the slice-
       direction to change the grid spacing, etc.  Mostly intended to
       fixup user stupidities (e.g., not acquiring data on the same subject
       using the same slice thickness; d'oh!).
    * Modified thd_filestuff.c to remove '/' from THD_filename_ok() function.
       This lets the '-prefix' option of 3d* programs put the output dataset
       into a new directory.  New function THD_filename_pure() also checks
       for the '/'.

----------------------------------------------------------------------

27 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added macro SAVEUNDERIZE() to xutil.h, and used it to make popup
       menus have the SaveUnder property in imseq.c, afni_graph.c,
       afni_widg.c, and plug_render.c.
    * Modified imseq.c to use AFNI_IMAGE_MINFRAC environment variable
       to set minimum size for image windows.  Also added this to the
       variables that can be controlled by afni_pplug_env.c.
    * Added fields does_saveunders and does_backingstore to display.[hc]
       (but don't use them anywhere - yet).
    * Modified thd_mismatch.c to do MISMATCH_DELTA only if voxel sizes
       differ by at least a factor of 0.001 (rather than perfect ==).
       Also fixed a typobug where the datasets would always compare
       as identical.
    * Modified 3dvolreg.c to fail if stupid users try to register dataset
       to base that doesn't match.

----------------------------------------------------------------------

26 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plot_cox.c to allow copying, rescaling, and appending of
       vector plots, and plot_x11.c to allow setting rendering to a
       sub-box of the window (rather than the whole window).
    * Modified imseq.[ch] to allow fetching of a vector plot to be
       rendered into the window.
    * Modified afni_splash.c to draw 'friends' stuff into the splash
       screen (after the first popup).
    * Added function mri_zeropad_2D() in mri_zeropad.c.  Changed name
       of MRI_zeropad() to mri_zeropad_3D() in edt_volpad.c.

----------------------------------------------------------------------

22 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 3dClipLevel.c to estimate the cutoff value to excise
       background regions from anatomical datasets (especially EPI).
    * Added AFNI_CWD variable to afni_pplug_env.c, to let user change
       working directory (where output files like 'Save:One' go).
    * Modified 3dOverlap.c to optionally save counts to a new dataset.
    * Fixed thd_mastery.c so that <a..a> works properly (<= vs. <).

----------------------------------------------------------------------

21 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to disable use of mmap() from malloc() on Linux
       (malloc() would fail when memory was still available!).
    * Modified thd_mastery.c to force dset[] inputs to be relabeled
       as bucket types if they are not time-dependent.  This is to
       prevent interpretation as fico, etc.
    * Modified 3dmerge.c to allow use of sub-brick selectors on input
       datasets.
    * Modified thd_trusthost.c to make it easier to add hosts by name
       or by number, using a new function TRUST_addhost().
    * Added function PLUTO_turnoff_options() to afni_plugin.c; used this
       in plug_realtime.c to turn off all input options after processing.
    * Added AFNI_TRUSTHOST to afni_pplug_env.c so that user can add trusted
       hosts (for plugins/plugouts) interactively.
    * Modified thd_mastery.c and thd_loaddblk.c to allow for sub-ranging
       on dataset input, using the <a..b> syntax on the command line.

----------------------------------------------------------------------

20 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added EXIT and TRACEBACK macros to debugtrace.h.

----------------------------------------------------------------------

16 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added traceback information to mcw_malloc.c.
    * Added program 3dOverlap.c.
    * Added function THD_newprefix() in thd_newprefix.c.

----------------------------------------------------------------------

15 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added thd_tshift.c, which does what 3dTshift.c does (in place).
    * Used this to add -tshift option to 3dvolreg.c.
    * Also added -ignore option to 3dTshift.c.

----------------------------------------------------------------------

14 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dvolreg.c to include -rotparent/-gridparent options, a la
       3drotate.c.
    * Edited edt_volpad.c to include new function MRI_zeropad().
    * Modified thd_read_vecmat.c to include '-rotate ...' input option.
    * Added new function THD_rota3D_matvec() to thd_rot3d.c.
    * Added multiply and inverse macros for double vecmats to vecmat.h
    * Moved function DBLE_mat_to_dicomm() from 3drotate.c to thd_rotangles.c.
    * Replaced all copies of axcode() and handedness() with the library
       calls to THD_axcode() and THD_handedness() in thd_rotangles.c
       (changes to 3drotate.c, 3dvolreg.c, plug_nudge.c, plug_realtime.c,
       and plug_volreg.c).

----------------------------------------------------------------------

13 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_shear3d.c function rot_to_shear_matvec() to modify the
       input matrix to make sure it is orthogonal (using the transpose of
       DMAT_svdrot(q) as the orthogonal matrix closest to q).  User-input
       matrices may not be precisely orthogonal, which leads to problems
       in the shear calculation.  Ugh. Squared.
    * Added function THD_rotcom_to_matvec() to thd_rotangles.c -- this compute
    s
       the matrix/vector of a transformation, given the '-rotate .. -ashift ..
    '
       string.
    * Modified thd_zeropad.c (and 3dZeropad.c) so that padding can be specifie
    d
       in mm instead of slices.

----------------------------------------------------------------------

12 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified edt_volpad.c to allow for unsymmetric padding.
    * Modified thd_zeropad.c to allow for producing an empty copy of the
       zero-padded dataset (so that you have to fill it up later).
    * Modified 3drotate.c and 3dvolreg.c to adjust the time-offset z-origin
       when the new dataset axes z-origin is adjusted.
    * Added a rint() function to mri_free.c (why there? why not?) if NO_RINT
       is defined in machdep.h -- that way I don't have to worry about it.
    * Modified 3drotate.c to shift time-offsets when the dz is large enough
       to warrant it.
    * Modified 3drefit.c to add new '-notoff' option, to reset time-offsets
       to zero.
    * Modified to3d.c to include 'AFNI' in fallback resources, per the
       suggestion of J Bacon of MCW (copying what AFNI itself does).

----------------------------------------------------------------------

08 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Debugged several stupid errors in 3drotate.c changes of yesterday.
    * Implemented program cat_matvec.c to catenate matrix+vector
       transformations.
    * File thd_read_matvec.c reads a matrix+vector (THD_dvecmat; cf.
       vecmat.h) from a file, or from a dataset attribute.

----------------------------------------------------------------------

07 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dZeropad.c to have '-z' option to add slices (evenly) in
       the dataset z-axis (slice) direction.
    * Modified 3drotate.c to deal with -rotparent and -gridparent options.

----------------------------------------------------------------------

06 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified vecmat.h to have separate types and macros for float and
       double vectors/matrices.  Modified all places that used the old
       'FLOAT_TYPE double' method to use the new types/macros (mostly
       the 3D rotation codes).
    * Modified 3dvolreg.c to write rotation parameters, matrices, etc.
       to the header of the output dataset.

----------------------------------------------------------------------

05 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added mayo_analyze.h to define the structure of an ANALYZE 7.5 .hdr
       file, and then added mri_read_analyze75() to mri_read.c.
    * Modified to3d.c to use image dimensions if they are set from the
       image file (as is possible with ANALYZE .hdr files, for example).
    * Modified mri_new.c to set dw=-666 as a flag that the d? variables
       defaults of 1.0 haven't been changed.
    * Modified thd_rot3d.c to allow setting of zeropad amount via
       environment variable AFNI_ROTA_ZPAD.
    * Modified 3drotate.c and 3dvolreg.c to use new command line option
       '-zpad n'.
    * Modified to3d.c to use -zpad option to add zero slices in the z-directio
    n.
       Also added attribute to header (TO3D_ZPAD) to mark this fact.  When suc
    h
       a dataset is used with -geomparent, then it's zero padding will be
       subtracted off when setting the new dataset's origin.
    * Modified 3dAttribute.c to have '-all' and '-name' options.

----------------------------------------------------------------------

02 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added function NIH_volpad (edt_volpad.c) to do zeropadding on 3D arrays
       - adapted from thd_zeropad.c.
    * Added THD_rota_setpad to thd_rot3d.c to set zeropadding amount for
       rotations.

----------------------------------------------------------------------

01 Feb 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_info.c to print dataset center (in addition to box edges).
    * Added thd_center.c (dataset center vector) and thd_mismatch.c (check if
       2 datasets are matched for voxel-wise comparisons).
    * Added program 3dAttribute.c, for printing out values of attributes from
       dataset header files (for use in scripts).

----------------------------------------------------------------------

31 Jan 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_zeropad.c to keep the slice-dependent time shifts (toff_sl)
       when adding/removing slices in the z-direction.

----------------------------------------------------------------------

29 Jan 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added DEBUGTHISFILE macro to debugtrace.h, and used it in thd_shear3d.c.
    * Modified 3drotate.c so that input of something like
        -ashift 10R 0 0
       won't have the 0s clobber the 10R; 0s with no direction code suffix wil
    l
       now be skipped in the computation of the dataset-coordinate shift.
    * Added a few words to README.copyright, and added a Q/A about it to the F
    AQ.
    * Added new program 3dMean.c.

----------------------------------------------------------------------

26 Jan 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Converted dbtrace.h to debugtrace.c and debugtrace.h.  This is the
       start of an effort to incorporate traceback into all AFNI and
       mrilib functions.  As part of this, removed THD_DEBUG stuff from
       all library functions.

----------------------------------------------------------------------

25 Jan 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mcw_malloc.c to use a hash table instead of a linear table.
       This speeds things up a lot.  Also added a serial number to each
       allocation, to help in identifying the order -- the dump is now
       sorted by serial number.
    * Incorporated Matthew Belmonte's codes plug_threshold.c and
       plug_permtest.c into the system.

----------------------------------------------------------------------

24 Jan 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dclust.c to use '-dxyz=1' option.
    * Modified afni.c so that graphs of anat buckets interact correctly when
       the anat bucket chooser is changed, or the graph 'time index' is set.

----------------------------------------------------------------------

23 Jan 2001, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c MAIN_workprocess() function to exit properly when
       the 'nodown' variable is set.  Before, if a layout was set, then
       the layout code did the splashdown, and then the MAIN_workprocess()
       never signaled that it was done.
    * Modified thd_trusthost.c to use '192.168.' as the prefix for Class B
       subnets, rather than '192.168.0.'.
    * Modified mrilib.h to change my e-mail address macro.

----------------------------------------------------------------------

16 Jan 2001, RW Cox, AFNI-general, level 5 (SUPERDUPER), type 0 (GENERAL)
    Older History stuff

      ===========================================================
     == This was the day I (RWC) started working at the NIH! :) ==
     == All changes from this date onwards were made at the NIH ==
      ===========================================================

----------------------------------------------------------------------

09 Dec 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dNotes.c and thd_notes.c to allow user to replace the History
       note, rather than just append to it.
    * Modified 3dvolreg.c to make the -twopass feature more robust for
       registering SPGR images.  Changes included a coarse grid search for
       an initial shift, and fading out the weights along the edges.

----------------------------------------------------------------------

06 Dec 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_pcor.c routine PCOR_get_perc to zero out the results
       if the last reference has no range (previously, it only zeroed
       out the coef[] array, not bline[]).
    * Added GPL/MCW Copyright notices to many many *.[ch] files.

----------------------------------------------------------------------

05 Dec 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Included Vinai Roopchansingh's modified 3dhistog.c; this version
       adds the '-mask' option.
    * Fixed a bug in the PICTURE_ON/OFF macro (afni.h) so that it is
       only meaningful for dataset viewing (not for the -im case).

----------------------------------------------------------------------

01 Dec 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Included Vinai Roopchansingh's modified plug_copy.c; this version
       allows the user to change the datum type, when doing a zero fill.
    * Added the 'License Info' button to the Datamode->Misc menu.

----------------------------------------------------------------------

28 Nov 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified AFNI_plugin_button() in afni_plugin.c to allow user to
       have plugin buttons sorted alphabetically.
    * Fixed bug in plug_nudge.c where the interpolation mode was
       set improperly.

----------------------------------------------------------------------

27 Nov 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_nudge.c to reload sub-brick statistic after moving it.

----------------------------------------------------------------------

24 Nov 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_render.c to eliminate duplicate rendering of datasets
       when loading a script that changes dataset index.  This was caused
       by the dataset index CB routine calling draw, and then the script
       controller calling draw again.  Now, the routine that loads the
       widgets from the rendering state sets a variable that stops drawing
       if it should occur, then unsets this variable after widgets are
       loaded.
    * Modified 3drotate.c to have new -points option, to rotate a set of
       (x,y,z) triples using the same rotation as would be used for a
       dataset brick.
    * Modified 3dUndump.c to check (x,y,z) coordinates for validity.

----------------------------------------------------------------------

20 Nov 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in -rlt+ option of 3dTcat.c: qmid was 0.5*ns, but
       should have been 0.5*(ns-1).  This makes the baseline wrong
       in each voxel.

----------------------------------------------------------------------

16 Oct 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified fftest.c to allow use of FFTW; do 'make fftwest' and
       run with nvec = -1.

----------------------------------------------------------------------

13 Oct 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_realtime.c to insert its own Xt event loop to deal
       with interface-freeze when the images are being slammed in as
       fast as possible (function RT_process_xevents).

----------------------------------------------------------------------

12 Oct 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.c to redraw with autoscale when matrix or
       length is changed by an external (isqDR_) command (not by
       the user directly).
    * Modified coxplot/plot_motif.c to get initial geometry of graph
       shell from an environment variable.
    * Minor changes to plug_realtime.c to make various things nicer.

----------------------------------------------------------------------

11 Oct 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Replaced XtAppAddWorkProcess in afni.c with PLUTO_register_workproc,
       since on Mandrake 7.01, dual P-III, XFree86 4.01 system, the
       realtime plugin workprocess doesn't start properly (some
       interaction with the startup workprocess, which does not occur
       on other systems).
    * Modified afni_splash.c to change controller crosshairs to Single
       mode if montage spacing is 1.
    * Modified afni_graph.c to change grid when program alters pin_num
       (but not when user does directly).
    * Modified plug_realtime.c to start work process after a timeout.
    * Added PLUTO_register_timeout() afni_plugin.[ch], to execute a
       function after a given number of ms.

----------------------------------------------------------------------

09 Oct 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Enabled startup of RT plugin, and control of all options, via
       environment variables AFNI_REALTIME_Something.
    * Modified PLUTO_string_index() in afni_plugin.c to ignore blanks
       and case.

----------------------------------------------------------------------

04 Oct 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Put most of the work of 3dZeropad.c into function thd_zeropad.c
       instead.
    * Added plug_zeropad.c.

----------------------------------------------------------------------

01 Oct 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Wrote program 3dUndump.c (create a dataset from an ASCII list
       of voxels, like an inverse to 3dmaskdump.c).

----------------------------------------------------------------------

29 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.[ch] to move FIM and Opt menus onto private
       menubars.  (Got rid of grapher->option_mbar everywhere.)
    * Also put a Form in between the afni_graph shell and the drawing
       area.  The option_rowcol that holds all the menu buttons is
       now a child of the Form, not the drawing area.  This makes
       it possible to popup the menus with Button3 (the Button3
       popup on the drawing area interfered with this).

----------------------------------------------------------------------

27 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Program xiner.c writes out Xinerama info about the display, if
       it is available.  This can be used to generate an X11 resource
       AFNI.xinerama.
    * If AFNI.xinerama is detected, then new routine RWC_xineramize (in
       xutil.c) can be used to adjust location of a rectangle to be
       sure it fits on a sub-screen.  Older routine RWC_visibilize_widget
       now uses this.  New callback RWC_visibilize_CB can be used to make
       sure menus pop up entirely on one sub-screen.
    * Many places now use visibilize to make sure dialogs and menus pop
       up on 1 sub-screen.  See, for example, all uses of the function
       RWC_visibilize_widget() and the macro VISIBILIZE_WHEN_MAPPED().

----------------------------------------------------------------------

25 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -layout option to allow user to control initial window setup.
       Most changes in afni_splash.c, but also in afni.c, afni_widg.c,
       afni.h, etc.
    * Modified imseq.c to detect Expose events that have resized the
       image display window -- this happens sometimes when using -layout.

----------------------------------------------------------------------

22 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added isqDR_setifrac and isqDR_setmontage to imseq.c.
    * Added graDR_setmatrix, graDR_setgrid, and graDR_setpinnum to afni_graph.
    c.
    * Added PLUTO_set_topshell() to afni_plugin.c, and made several
       PLUGIN_CALL_IMMEDIATELY plugins use this to set the toplevel shell
       for later AFNI manipulation.
    * Modified afni_graph.[ch] to allow a graph window to be opened for a
       dataset of length 1.
    * Added textgraph mode to afni_graph.c, and also changed the baseline
       pushbutton to a toggle.

----------------------------------------------------------------------

21 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 32 to mri_nsize.c.
    * Added AFNI_SPLASH_XY to afni_splash.c.

----------------------------------------------------------------------

15 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -nscale option to 3dmerge.c

----------------------------------------------------------------------

14 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added check of grid spacings to 3dvolreg.c

----------------------------------------------------------------------

13 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Finalized -twopass changes to 3dvolreg.c.
    * Add -duporigin option to 3drefit.c.

----------------------------------------------------------------------

11 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -dxyz=1 option to edt_*.c, to allow clustering and filtering
       in 3dmerge.c to use fake values of dx=dy=dz=1.
    * Added -1filter_winsor to 3dmerge.c and edt_filtervol.c.
    * Added 'IJK lock' to afni.[ch] and afni_widg.c (Lock menu).
    * Added -twopass option to 3dvolreg.c.

----------------------------------------------------------------------

04 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -rotcom output to 3dvolreg.c (and hidden -linear option).
    * Modified -verbose output of mri_3dalign.c.

----------------------------------------------------------------------

01 Sep 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Incorporated changes from Ziad Saad to the Hilbert delay plugin.
    * Modified plug_nudge.c to output a 3drotate command line to stderr
       when the feeble user presses the new 'Print' button.
    * Added call to AFNI_imseq_clearstat() to afni_plugin.c function
       PLUTO_dset_redisplay().

----------------------------------------------------------------------

24 Aug 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified most places where SESSTRAIL is used to use SESSTRAIL+1,
       so that when filenames are shown, they show all the directories
       that are shown in the 'Switch Session' dialog. [Per the suggestion
       of Florian Hauch, Munich.]
    * Also modified afni_pplug_env.c to enable AFNI_SESSTRAIL to be
       controlled interactively, and to have it modify the window titles
       and session lastnames when AFNI_SESSTRAIL is altered.

----------------------------------------------------------------------

22 Aug 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'To Disk?' option to plug_maskave.c for the 'doall' case.

----------------------------------------------------------------------

09 Aug 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_floatscan.c to use finitef() on Linux.
    * Modified 3dcalc.c to use thd_floatscan() to check results.
    * Modified 3dmerge.c to have -1fmask option to restrict filtering,
       and -1filter_expr option to do arbitrary linear filtering.
       (Also changed editvol.h, edt_checkargv.c, edt_filtervol.c, and
        edt_onedset.c)

----------------------------------------------------------------------

08 Aug 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Used thd_floatscan() to check/fix possible float errors from
       user functions (in the thd_make*.c functions and in afni_fimmer.c).
       Was prompted by errors produced in Ziad Saad's Hilbert plugin.

----------------------------------------------------------------------

21 Jul 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added AFNI_ENFORCE_ASPECT to afni_pplug_env.c.
    * Added AFNI_IMAGE_PGMFILE_[1-9] to afni_splash.c.

----------------------------------------------------------------------

20 Jul 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dTagalign.c to write matrix+vector to a file and to
       the output dataset header.
    * Modified 3drotate.c to read matrix+vector of transformation from
       a file or from a dataset header.

----------------------------------------------------------------------

17 Jul 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added new program 3dTagalign.c.
    * Fixed a bug in the 'Write' callback in plug_tag.c.

----------------------------------------------------------------------

12 Jul 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added Left-Right mirror option to afni_graph.[ch] and afni.c to
       make graph pixel layout correspond to images if left-is-left.

----------------------------------------------------------------------

11 Jul 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 3dZeropad.c.

----------------------------------------------------------------------

03 Jul 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 2DChain pseudoplugin.

----------------------------------------------------------------------

30 Jun 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Moved plug_environ.c into main afni, on the Misc menu.  Modified
       places where environment variables are used to allow this
       'Edit Environment' feature to work.
    * Added '|FFT()|' 1D function to afni.c.
    * Created program Xphace.c.

----------------------------------------------------------------------

19 Jun 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added ability to set initial string in a 'user-typein' string field
       in PLUTO_add_string().
    * Created plug_environ.c.

----------------------------------------------------------------------

16 Jun 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Tran 2D' to color pbar popup for AFNI controllers.
    * Fixed 'Save to PPM' to save a check pattern for the 'none' color.

----------------------------------------------------------------------

15 Jun 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added option '-nscale' to 3dcalc.c [that damn Tom Ross again].
    * Added an SCO Makefile [from Jason Bacon] and a couple of patches
       to go with it.
    * Added 'Save to PPM' button to color pbar popup menus, to let the
       user save a representation of the color overlay scheme.
    * Fixed check_pixmap in pbar.c to be correct in TrueColor.
    * Added 'Tran 0D' to color pbar popup for AFNI controllers (but not
       for the rendering plugin).

----------------------------------------------------------------------

08 Jun 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added new picture to splash screen (the MCW gang).  Also, added
       AFNI_IMAGE_PGMFILE environment variable to afni_splash.c

----------------------------------------------------------------------

23 May 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_idcode.c to use lowercase in dataset IDcodes.

----------------------------------------------------------------------

22 May 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added AFNI_USE_THD_open_dataset environment variable to allow
        THD_open_one_dataset (in thd_opendset.c) to call THD_open_dataset
        instead (in thd_mastery.c), if a '[' is also present in the
        dataset pathname.
        !!! This feature must be used with care, since some programs    !!!
        !!! (e.g., 3dbucket) will break if it is used.  A program that  !!!
        !!! writes to a pre-existing dataset MUST NOT open that dataset !!!
        !!! with a sub-brick selector list.                             !!!

----------------------------------------------------------------------

19 May 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added changes from Doug Ward for a '-mask' option to 3dNLfim.c.

----------------------------------------------------------------------

18 May 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add plug_second_dataset.c and code in afni_graph.c to use it - a
       '1D function' that returns the time series from another dataset,
       for example to plot the -snfit output of 3dNLfim on top of the
       original dataset.

----------------------------------------------------------------------

12 May 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Incorporated NLfim changes from Doug Ward, to include calculation
       of R**2, per my request.

----------------------------------------------------------------------

10 May 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_fimmer.c to print out an error message if nvox is zero.
       This happens if the FIM Bkg Thresh is too high.  Also modified
       afni.c to allow this value to be initialize to 0 (before, 1% was the
       minimum).

----------------------------------------------------------------------

09 May 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program imcutup.c and function mri_uncat2D.c to break 2D images
       up into pieces.

----------------------------------------------------------------------

01 May 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_widg.c to disable Datamode->Misc->Version Check if in
       realtime mode (due to long hang time while master version web page
       is fetched across the network).
    * Added program 3dfim+.c from Doug Ward.

----------------------------------------------------------------------

28 Apr 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_realtime.c (and afni_plugin.[ch]) to do 'Image Only' realt
    ime
       acquisition - just show the images, don't do anything else.

----------------------------------------------------------------------

21 Apr 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in qsort_floatfloat (cs_sort_ff.c).
    * First version of plug_betafit.c.

----------------------------------------------------------------------

18 Apr 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Rewrote plug_nudge.c to do rotations and shifts.
    * Added mri_copy.c.

----------------------------------------------------------------------

16 Apr 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Oops.  Added AFNI_SYSTEM_AFNIRC stuff to afni_environ.[ch] as well.

----------------------------------------------------------------------

14 Apr 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added options -1Dfile to 3dvolreg.c and plug_volreg.c to save movement
       parameters to a 1D file for later ortologizing.

----------------------------------------------------------------------

12 Apr 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added AFNI_SYSTEM_AFNIRC environment variable, to allow introduction
       of a system wide .afnirc file.
    * Added the ability to change datasets in the renderer from script files
       (using the saved ID code string).  Also, made the threshold slider
       change when the script changes the threshold value (forgot this
       visual detail before).

----------------------------------------------------------------------

11 Apr 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in 3drotate.c when input was a master-ed file.  Also added
       -clipit option to 3drotate.c.
    * Fixed bug in parser_int.c where stdlib.h wasn't included before
       drand48() was called.
    * Added AFNI_GRAYSCALE_BOT to display.c.

----------------------------------------------------------------------

07 Apr 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Included 3dWavelets code from Doug Ward.

----------------------------------------------------------------------

04 Apr 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added thd_base64.c routines for dealing with BASE64 encodings.

----------------------------------------------------------------------

16 Mar 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -cmask option to 3dmaskdump.c (via new file edt_calcmask.c).

----------------------------------------------------------------------

15 Mar 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added AFNI_VIEW_ANAT_BRICK and AFNI_VIEW_FUNC_BRICK environment
       variables to afni.c to force switching back to 'view brick'
       mode when switching datasets.
    * Added '{warp}' string to titlebar when 'Warp Anat on Demand' mode
       is engaged.

----------------------------------------------------------------------

08 Mar 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added sync() to plug_realtime.c after writing datasets.

----------------------------------------------------------------------

07 Mar 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_realtime.c, to reject nzz=1 datasets, print out better
       error messages, etc.
    * Modified rtfeedme.c to have -nzfake option, for testing the above.
    * Modified jp_afni.c to get orientations correct for Signa realtime.

----------------------------------------------------------------------

06 Mar 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -sagittal, -coronal switches to 3daxialize.c.

----------------------------------------------------------------------

02 Mar 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added plug_nudge.c to move dataset origins around.
    * Added -dxorigin (etc.) option to 3drefit.c.

----------------------------------------------------------------------

29 Feb 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Revived the program 3ddot.c and added masking options.

----------------------------------------------------------------------

14 Feb 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -median and -MAD options to 3dTstat.c (but not to plug_stats.c).

----------------------------------------------------------------------

10 Feb 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 3A.: image formats to allow input of unstructured ASCII files
       into AFNI programs.  Routines changed in mri_read.c and mcw_glob.c.

----------------------------------------------------------------------

06 Feb 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added mcw_malloc_sizeof() to mcw_malloc.[ch], to return the size of
       of a malloc()-ed region, if possible.
    * Added TRUNCATE_IMARR() macro to mrilib.h.

----------------------------------------------------------------------

04 Feb 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added IRAN() integer deviate, ERAN() exponential deviate, and LRAN
       logistic deviate generators to parser.f
    * Added THD_extract_many_series() function, and used in to speed up the
       fimfunc work in afni_fimmer.c.
    * Fixed error in 3dbuc2fim.c, where stat_aux array was not malloc()-ed
       large enough for the EDIT_dset_items() routine usage.

----------------------------------------------------------------------

03 Feb 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified GRAN() random number generator in parser.f to make it be
       less obviously periodic.

----------------------------------------------------------------------

02 Feb 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dvolreg.c to make it not print out the -help stuff when
       argc==2.
    * Added uran() function to parser.

----------------------------------------------------------------------

01 Feb 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added file afni_fimfunc.c, which lets the 'user' add a function to
       the FIM+ menu.  The Spearman rank correlation is included as a
       sample.  Also included small changes to afni.[ch], afni_graph.[ch],
       and a large-ish addition to afni_fimmer.c.
    * Removed useless 'break' statements in afni_graph.c that produced
       some annoying 'unreachable code' compilation warnings.
       Also modified bbox.c bbox and arrowval utility routines to check
       if the input items are NULL before accessing them.

----------------------------------------------------------------------

28 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot/plot_x11.c to skip use of XDBE if AFNI_NO_XDBE
       environment variable is set.

----------------------------------------------------------------------

27 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_sarr.c and thd_get1D.c to speed up (hopefully) reading
       of *.1D files.
    * Modified afni.[ch] to allow use of '-no1D' option to skip reading
       of *.1D files from the dataset directories.

----------------------------------------------------------------------

24 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed error in -mask[n] option processing in 3dROIstats.c - that
       fiend Tom Ross used argv[narg] instead of argv[narg-1] to check
       for the presence of the 'n' option.

----------------------------------------------------------------------

20 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Also added a popup error message when floating point errors are
       detected in inputs to to3d.c
    * Added '1xN' pattern to 24swap.c to allow for nonswapped data.

----------------------------------------------------------------------

19 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified to3d.c to count and report number of negative voxels when
       the input images are shorts - this is to provide a check for the
       need for byte-swapping.

----------------------------------------------------------------------

13 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added plug_scatplot.c - scatter plotting.  Added PLUTO_scatterplot()
       function to afni_plugin.[ch].
    * Fixed error in setup of Range choosers in plug_histog.c - they
       were initialized to incorrect values.

----------------------------------------------------------------------

11 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Replace 'New Stuff' button under the Misc menu with 'Version Check',
       which just runs afni_vcheck and puts the output into a popup.
    * Modified plug_render.c to make Cutout Overlay work properly with
       ShowThru.

----------------------------------------------------------------------

10 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_render.c to add AFNI_RENDER_SHOWTHRU_FAC variable to
       control the compositing of ShowThru images.
    * Added program afni_vcheck.c, to check the AFNI version against the
       master copy back at the central AFNI web site.

----------------------------------------------------------------------

07 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_render.c to allow ShowThru color overlays: by doing two
       renderings - underlay and overlay separately - and then compositing
       the two images afterwards.

----------------------------------------------------------------------

05 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changed default AFNI_SPLASHTIME to 1.0 seconds in afni.c.
    * Added 'static' to mixshade menu strings in plug_render.c.
    * Added MCHECK to DBG_SIGNALS in dbtrace.h.
    * Added routine mri_write_raw() to mri_write.c.
    * Modified from3d.c to have -raw and -float options.

----------------------------------------------------------------------

04 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added gran(m,s) function to parser.f and 3dcalc.c.
    * Added 'Set All' and 'Set Defaults' buttons to FIM+ menu in afni_graph.[c
    h].
    * Removed contents of file README.changes.
    * Abbreviated 'Cannot find ...' error messages in thd_reconpar.c.
    * Added total dataset count report to afni.c input routine.

----------------------------------------------------------------------

03 Jan 2000, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3ddata.h to increase maximum number of datasets per directory
       to 512 anats and funcs (each), and max number of directories to 80.
    * Modified afni.h, afni_fimmer.c, afni_pcor.c, and afni_graph.c to
       add '% From Top' option to FIM menus.

----------------------------------------------------------------------

21 Dec 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_render.c to put the 'non-mixing' stuff into a separate
       menu on the 'Color' popup.
    * Took 3dROIstats.c mods from Mike Beauchamp for the -summary option.

----------------------------------------------------------------------

20 Dec 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified parser.f to remove the possibility of division by zero in
       the expression evaluation routines.
    * Modified display.[ch] and plug_render.c to allow 'non-mixing' of
       colors displayed from rendering results.

----------------------------------------------------------------------

14 Dec 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified edt_emptycopy.c, editvol.h, and afni_plugin.c to have newly
       created datasets get assigned the same anatomy parent as their
       progenitors.
    * Modified afni.c so that manually warped datasets become their own
       anat parents.
    * Modified 3drefit.c to allow SELF and NULL to be valid arguments to
       the -apar option.

----------------------------------------------------------------------

13 Dec 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added mode functions to parser.f, parser.inc, and 3dcalc.c.
    * Added -force option to adwarp.c; otherwise, program will not now
       overwrite existing dataset.
    * Modified function qginv() in mri_stats.c to never return a value
       greater than 13, no matter how absurd the value the user enters.
    * Modified edt_dsetitems.c, editvol.h to have a new editing item
       ADN_anatpar_idcode - to let a program attach an anat parent idcode
       to a file (vs. an anat parent dataset).
    * Modified afni_func.c to NOT print out a forced adoption message when
       a dataset is set to be its own anatomy parent.
    * Modified plug_maskave.c to properly initialize sum=sigma=0 for EACH
       separate sub-brick calculation.

----------------------------------------------------------------------

09 Dec 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -hilbert option to 1dfft.c, and -install option to 1dplot.c
    * Added 0 definition of DBG_trace to dbtrace.h in the case USE_TRACING
       is not defined.

----------------------------------------------------------------------

08 Dec 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Oops.  Took out some debugging statements in 3dTstat.c that somehow
       survived until now.
    * Modified count of forced adoption potential conflicts in afni_func.c
       to avoid some warning messages.
    * Added 'NULL' to return in plug_tag.c, where it had been forgotten.
    * Added program 1dnorm.c.
    * Added -byslice option to 3dDetrend.c.

----------------------------------------------------------------------

07 Dec 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 3drename.c, to rename dataset .HEAD and .BRIK files
       at the same time.
    * Added environment variable to control Winsor21 function in imseq.c.

----------------------------------------------------------------------

03 Dec 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Print a warning message in afni_func.c when a forced adoption takes
       place.
    * Disable 'sides' labels if an environment variable is present.
    * Incorporate '-quiet' options in 3dclust.c and 3dROIstats.c from
       Mike Beauchamp.
    * Incorporate sub-dataset selection for various statistical programs
       from Doug Ward.

----------------------------------------------------------------------

01 Dec 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c and afni_func.c to turn on XSynchronize if -TRACE
       option is used (or when DBG_trace gets set to 2).
    * Fixed bug in afni_func.c AFNI_force_adoption() routine: the
       PRINT_TRACING output after the dataset scan would crash if no
       dataset was found.
    * Modified imseq.[ch] and afni.c to set 'sides' strings for an image,
       so that 'left=SIDE' can be displayed correctly in any orientation
       of the image flipping process.

----------------------------------------------------------------------

30 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dTshift.c to allow '-tzero 0.0' and '-slice 0' as
       options (I used <= instead of < in the original code).
    * Modified plug_render.c to reset func_cmap_set=0 if a render
       handle is destroyed - the colormap wasn't being properly
       reloaded when a new underlay dataset was selected.
    * Modified SHOWOFF handling in afni.c to always show compilation
       date no matter what.

----------------------------------------------------------------------

29 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -tocx, -fromcx, and -nodetrend options to 1dfft.c.
    * Modified quadratic detrending calculation in thd_detrend.c.
    * Added -use option to 1dplot.c.
    * Added SHOWOFF macro to afni.c, distmake, and Makefile.INCLUDE.
    * Got some 3dDeconvolve.c fixes from Doug Ward.

----------------------------------------------------------------------

28 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added function ZTONE to parser.f.

----------------------------------------------------------------------

25 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 1dcat.c - catenate *.1D files.

----------------------------------------------------------------------

24 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 1dfft.c - to calculate abs(FFT(timeseries)).
    * Modified 1deval.c to allow input of time series.
    * Got some 3dDeconvolve.c changes from Doug Ward.

----------------------------------------------------------------------

23 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dcalc.c differential subscripting to allow abbreviations
       of the form a+j, a-k, etc.
    * Added -quiet option to 3dmaskave.c.
    * Added -normalize option to 3dDetrend.c.
    * Fixed error in afni_func.c (and adwarp.c) when writing out a dataset
       that was told to have a byte order different from the native order -
       it was written in native order and the header wouldn't know about
       that - the result was the file was read in incorrectly later.
    * Also fixed same error in 3daxialize.c.
    * Also fixed thd_writedblk.c and thd_loaddblk.c to handle byte swapping
       on complex data correctly.

----------------------------------------------------------------------

22 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -histpar option to 3dcalc.c.
    * Added differential subscripting to 3dcalc.c.
    * Modified thd_intlist.c to allow for negative list elements.

----------------------------------------------------------------------

18 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified cs_addto_args.c to make the mangling of the arglist
       more flexible.
    * Used the previous change in afni.c to add the environment variable
       AFNI_OPTIONS that will always be added to the command line args.
    * Incorporated the OSF1 changes from Matthew Belmonte.

----------------------------------------------------------------------

17 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Removed some -help from imcalc.c, since 3dcalc -help has the
       same info.
    * Added function PARSER_1deval() to parser_int.c.
    * Added environment variable AFNI_MARKERS_NOQUAL to afni.c.
    * Fixed bug in 3dDetrend when -expr string had no variable symbols.
    * Modified thd_iochan.c to use SO_REUSEADDR to help close down
       sockets quickly.  (But later commented this code out.)

----------------------------------------------------------------------

16 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added more -help to 3dTshift.c, per MSB's comments.
    * Added cubic detrend routine to thd_detrend.c.
    * Added mri_read_1D() to mri_read.c.  This adds the ability to
       do sub-vector selection, and does the transpose too.
    * Added mri_write_1D() to mri_write.c.  This just does the
       transpose before called mri_write_ascii().
    * Modified 1dtranspose.c, 3dcalc.c, waver.c, afni_graph.c, and
       model_convgamma*.c to use mri_read_1D().
    * Modified afni_graph.c to use mri_write_1D().
    * Added program 3dDetrend.c: remove time series trends.
    * Added predefined 't' and 'l' to 3dcalc.c.

----------------------------------------------------------------------

09 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added function RWC_visibilize_widget() to xutil.[ch] - used to ensure
       that popup widgets are fully onscreen.  Used this function in
       afni_func.c, afni_graph.c, afni_setup.c, bbox.c.
    * Added missing 'void' to declaration of function setup_tmpdir() in
       thd_http.c.

----------------------------------------------------------------------

03 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed the -help output for 3drefit.c, in the description of '-apar'.

----------------------------------------------------------------------

02 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dcalc.c to fix problem with using sub-brick selectors of the
       form '-b3 zork+orig' -- if zork+orig was a 3D+time dataset, and it
       was used as the template for the output, the output would be marked
       as 3D+time even though it was not.  The solution was to mangle such
       inputs to the form 'zork+orig[3]', which already worked fine.

----------------------------------------------------------------------

01 Nov 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dclust.c and edt_onedset.c to have a -verbose option, so as to
       print out progress report info.
    * Added MCW_hotcolor() to xutil.[ch], to get rid of HOTCOLOR macro usage.
    * Added function PLUTO_set_butcolor() to afni_plugin.[ch], to let plugin
       set its menu button color.

----------------------------------------------------------------------

31 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Finished program 3dTshift.c - time shifting.

----------------------------------------------------------------------

30 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_detrend.c to have linear and quadratic detrending,
       and an L2 normalizing function.

----------------------------------------------------------------------

29 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added thd_1Dtodset.c - provides the inverse of thd_dsetto1D.c
       (inserts a vector into a dataset time series, rather than extracts it).
    * Add thd_detrend.c - detrend a timeseries and provide mean, slope.

----------------------------------------------------------------------

28 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Removed 'experimental' message for TrueColor visuals in display.c.
    * Added csfft_nextup_one35() function to csfft.c.
    * Modified various programs to use csfft_nextup_one35() in place
       of csfft_nextup(), for efficiency.
    * Moved shifting routines from thd_rot3d.c to thd_shift2.c, so that
       they can be used in other programs.

----------------------------------------------------------------------

21 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a couple of small bugs in 1deval.c.

----------------------------------------------------------------------

20 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified -tim in afni.c to allow for 3D inputs (space-then-time=-zim,
       or time-then-space=-tim).

----------------------------------------------------------------------

19 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 1dtranspose.c.
    * Added option -noijk to 3dmaskdump.c.
    * Added option -tim to afni.c - also modified afni.h, afni_graph.[ch], and
       afni_func.c to make it work.  This option is like -im, but interprets
       the images as being spread thru time rather than space.

----------------------------------------------------------------------

18 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added history copy to afni_func.c's creation of follower datasets.
    * Added -preserve option to 3dfractionize.c, to allow the output dataset
       to keep the input values, rather than create a fractional mask.
    * Added program 3dmaskdump.c, to dump voxel values out to ASCII.
    * Added qsort_int() to mri_percents.c.

----------------------------------------------------------------------

14 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added option -apar to 3drefit.c, to allow (re)setting of the anat parent
    .
    * Added option -warp to 3dfractionize.c, to allow inverse warping from +tl
    rc
       coords back to +orig coords during the fractionation process.

----------------------------------------------------------------------

13 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 3dTstat.c to compute the same stuff that plug_stats.c
       does, but in a batch program.

----------------------------------------------------------------------

09 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added AFNI_ENFORCE_ASPECT environment variable, to make imseq.c
       enforce the image aspect ratio - this is to be used when the
       window manager doesn't do this properly.

----------------------------------------------------------------------

08 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Increased buffer size in mri_read.c for ASCII file line length.

----------------------------------------------------------------------

07 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_makemask.c to include a counting function.
    * Modified plug_histog.c to use THD_makemask() rather than create
       its own mask the hard way (I just forgot about that routine).
    * Added program 1deval.c, to evaluate an expression at a bunch
       of points and write it to disk - the goal is to simplify
       creation of sample 1D files.

----------------------------------------------------------------------

06 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_histog.c and afni_plugin.[ch] to plot extra curves
       in histograms.
    * Modified coxplot/plot_motif.c to look harder for the HOTCOLOR before
       it gives up and uses the default.

----------------------------------------------------------------------

05 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in mcw_malloc.c, where it printed out the wrong
       info when it found an overwrite error in a malloc()-ed
       block of memory.

----------------------------------------------------------------------

04 Oct 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added histogram of correlation coefficient to plug_histog.c.

----------------------------------------------------------------------

30 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added plug_histog.c (histogram plugin) and a histogram
       plotting routine to afni_plugin.c.

----------------------------------------------------------------------

28 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added environment variable AFNI_PCOR_DENEPS to afni_pcor.c,
       so that user can set the DENEPS test for the correlation
       coefficient calculation.

----------------------------------------------------------------------

24 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed wcsuffix bugs in afni_graph.c
       - didn't mangle output name correctly!
       - overwrote the end of the wcsuffix string!

----------------------------------------------------------------------

21 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * added message about 3drefit to thd_initdblk.c.
    * modified MEDIAN function in parser.f to handle N=3 case separately.

----------------------------------------------------------------------

20 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * thd_initdblk.c: print out a warning if byte order is unspecified when
       creating a dataset.
    * thd_notes.c: add the username to the History Note stamp.

----------------------------------------------------------------------

19 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * If dataset header doesn't have BYTEORDER attribute, thd_info.c now print
    s
       '{assumed}' next to the reported byte order.
    * Added hostname to History Note time stamp, so you can see what on what
       machine a program was run.

----------------------------------------------------------------------

16 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changed THD_open_one_dataset() to THD_open_dataset() in programs
       3dFourier.c, 3dROIstats.c, 3dmaskave.c, 3dnvals.c, 3dproject.c, 3dttest
    .c.
    * Modified 3dclust.c to use -1dindex and -1tindex, as in 3dmerge.c
    * Modified 3dTcat.c to have options -rlt+ and -rlt++.

----------------------------------------------------------------------

15 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -slices option to 3dmaskave.c.
    * Added default values for i,j,k to 3dcalc.c.
    * Added thd_makemask.c.
    * Added -mask option to 3dpc.c.

----------------------------------------------------------------------

14 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added complexscan function to thd_floatscan.c.
    * thd_loaddblk.c now scans complex inputs for errors, if requested.
    * to3d.c now scans float and complex input images for errors.
    * to3d.c now clips out all but a few of the input image files on
       the command line for the History Note.

----------------------------------------------------------------------

11 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Got History changes from Doug Ward.

----------------------------------------------------------------------

08 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified the error messages in some of the thd_*.c files to
       be more verbose (Bharat Biswal couldn't understand one).
    * Modified afni_fimmer.c (and afni.h, afni_graph.c) to allow computation
       of '% From Ave' = percent change computed from the average instead
       of from the baseline [per AJ].

----------------------------------------------------------------------

01 Sep 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Wrote a Notes viewing/editing plugin.

----------------------------------------------------------------------

31 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a History Note feature to thd_notes.c.
    * Added a routine to afni_plugin.c to produce a command string
       summary of the inputs to a plugin.
    * Modified many programs and plugins to write to the History Note.

----------------------------------------------------------------------

30 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_fimmer.c to accept an upper limit on the computable
       percent change.

----------------------------------------------------------------------

29 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified count.c to accept a '-scale' option.
    * Modified Tom Ross's 3dNotes.c software to be a set of routines (thd_note
    s.c),
       for eventual use in a plugin.

----------------------------------------------------------------------

23 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 1/N scaling option to csfft.c.  Modified fftcheck.c accordingly.

----------------------------------------------------------------------

19 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -indump option to 3dmaskave.c.
    * Added 'Jump to (ijk)' button to image window popup: afni.[ch], afni_widg
    .c.

----------------------------------------------------------------------

09 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added the radix-5 routine to csfft.c.
    * Modified edt_blur.c, thd_rot3d.c, and plug_power.c to use new
       FFT abilities.

----------------------------------------------------------------------

08 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added the radix-3 routine to csfft.c.

----------------------------------------------------------------------

07 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a '[left is left]' or '[left is right]' label to the winfo text
       in AFNI coronal and axial images displays.  Affected files
       imseq.[ch], afni.c.
    * Removed the non-toggle code leftover from the 01,AUG,1999 changes.

----------------------------------------------------------------------

06 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_plugin.[ch] to allow plugins to set a sequence code,
       which determines the order in which the plugins appear on the menu.
    * Received 4 plugins (plug_hemisub, plug_maskcalc, plug_roiedit,
        plug_maxima) from the estate of Rick Reynolds.

----------------------------------------------------------------------

02 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added the AFNI splash screen; see afni_splash.[ch].

----------------------------------------------------------------------

01 Aug 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changed 'Voxel Coords' and 'Show Hints' pushbutton on Misc menu to
       toggle buttons.  Modified afni.h, afni_widg.c, and afni_func.c.
    * Added a 'writeownsize' option to the Misc menu, but then changed
       my mind and #ifdef-ed it out.

----------------------------------------------------------------------

30 Jul 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program float_scan.c and function thd_floatscan.c to check
       floating point files and arrays (respectively) for illegal values
       (e.g., NaN and Infinity).  Incorporated thd_floatscan() into
       thd_loaddblk.c (if AFNI_FLOATSCAN is set).

----------------------------------------------------------------------

29 Jul 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed afni_graph.c to not use XComposeStatus in XLookupString call,
       which was causing trouble on SunOS.
    * Line 2707 of afni_graph.c had an '==' for assignment, instead of '='.
       The effect was a possible failure of the x-axis (xax_tsim) graphing
       mode.  I don't think this failure ever occurred in practice.

----------------------------------------------------------------------

19 Jul 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in 3dcalc.c, where it tested CALC_type[ids] for > 0, whereas
       it should have been >= 0.  The effect was that 3D+time byte valued
       datasets were not loaded into the atoz array.

----------------------------------------------------------------------

14 Jul 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 'Scripts' in plug_render.c to allow save/restore of grafs.
       Also modified mcw_graf.[ch].

----------------------------------------------------------------------

13 Jul 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Scripts' option to plug_render.c.

----------------------------------------------------------------------

07 Jul 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 3dTsmooth.c.
    * Modified afni_plugin.c to skip date crosscheck on systems that don't
        have the C function strptime().
    * Added -vnorm option to 3dpc.c.

----------------------------------------------------------------------

17 Jun 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 24swap.c.

----------------------------------------------------------------------

15 Jun 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed afni_receive.c to return the proper 'key' value from function
        AFNI_receive_init().
    * Modified plug_render.c to redisplay func dataset statistics after
        receiving a drawing notice.
    * Modified afni_plugin.[ch] to crosscheck each plugin's compilation
        date with AFNI's, and print a warning if they differ.

----------------------------------------------------------------------

08 Jun 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added MCW_new_idcode() to 3drotate.c -- was producing datasets with
       identical idcodes, which is terrible!
    * Added function THD_check_idcodes() [thd_checkidc.c] to allow AFNI to
       check the idcodes in all datasets for duplicates.

----------------------------------------------------------------------

07 Jun 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in edt_onedset.c that always applied zscore transformation
       if possible!
    * Created afni_environ.[ch], which now process a ***ENVIRONMENT section
       of .afnirc.  Also, in all programs, switched use of getenv() to
       my_getenv(), which just makes sure that .afnirc's ***ENVIRONMENT has
       been processed before using getenv().  In this way, the .afnirc setup
       will be universal.

----------------------------------------------------------------------

04 Jun 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added ***ENVIRONMENT section to .afnirc file processing: changes to
       afni_setup.c, and to afni.c to have environment variables setup
       before other things.
    * Made AFNI_load_defaults() in afni.c look at environment variable
       AFNI_name if X11 resource AFNI*name doesn't exist.

----------------------------------------------------------------------

03 Jun 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed thd_info.c where it referred to brick labels that might not
       exist -- now it uses the DSET_BRICK_LAB macro, which always works.
    * Fixed plug_realtime.c to add brick labels to the FIM dataset.

----------------------------------------------------------------------

02 Jun 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_render.c to draw partial crosshair sets like the
       image viewers.
    * Modified afni.c to send a 'process viewpoint' message when the
       partial crosshair status changes, so that the renderer will
       get a notice and be able to redraw itself promptly.
    * Modified plug_realtime.c to use polort.
    * Added ability to change FIM background threshold percent (FIM_THR)
       to afni_graph.[ch], afni.c, afni_fimmer.c, and plug_realtime.c

----------------------------------------------------------------------

30 May 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a variable polort order to afni.c, afni.h, afni_graph.c,
       and afni_fimmer.c.
    * Discovered a bug in afni_pcor.c in the % Change calculation,
       where the last ort wasn't being used in the baseline estimation.

----------------------------------------------------------------------

27 May 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added an X defaults initializer for the graph ggap.

----------------------------------------------------------------------

28 Apr 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * In 3daxialize.c, made sure that the slice-wise time offsets
       are nulled out.

----------------------------------------------------------------------

26 Apr 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed thd_info.c to report dataset axes dimensions correctly
       (also fixed DAXES_NUM macro in 3ddata.h).
    * Put code in plug_render.c that allows non-axial datasets to
       be rendered -- but disabled it for now.
    * New program 3daxialize.c will rewrite a dataset with BRIKs
       into the RAI (axial) orientation.

----------------------------------------------------------------------

19 Apr 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c, afni.h, afni_widg.c to add 'Set All' button
       to Lock menu.

----------------------------------------------------------------------

15 Apr 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read.c to also try ppm from mri_read() function.
    * Modified mri_write.c to write byte files as pgm.
    * Modified mri_to_rgb.c to have a 1 rgb image -> 3 byte image function,
       and fixed a bug in the 3 images -> 1 rgb image function.
    * Added mri_dup.c, to upsample a 2D image; added program imupsam.c
       to do this function from the command line.

----------------------------------------------------------------------

14 Apr 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c to fix the pbar_sgn_* initialization, since
       it incorrectly checked the thresholds against the range
       0..1 rather than -1..1 [per Chad Moritz of UW Madison].

----------------------------------------------------------------------

13 Apr 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read.c to allow 3D: hglobal to be < -1 as
       long as hglobal+himage >= 0 [per Gary Strangman of MGH].
    * Added mri_cut.c, function to cut out a sub-image.

----------------------------------------------------------------------

05 Apr 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_http.c to allow change of user ident for ftp://
       access to files.
    * Tested AFNI with LessTif v.0.89 -- seems to work.

----------------------------------------------------------------------

03 Apr 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_render.c to have the currently active dataset
       'selected' when the user popups a new dataset chooser.
    * Removed the non-working rotation feature from 3ddup.c.

----------------------------------------------------------------------

02 Apr 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_http.c to use directory $TMPDIR if defined, rather
       than always rely on /tmp.
    * Also added routines to this file to allow transfer of 'ftp://'
       URLs -- this is done using a shell script running the
       ftp program.

----------------------------------------------------------------------

01 Apr 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Finally centralized the computation of the '[A]' type labels for
       AFNI controllers in afni_func.c, in the new routine
       AFNI_controller_label(im3d).  Then modified afni_plugin.c,
       afni_widg.c, plug_render.c, plug_drawdset.c, and plug_tag.c
       to use this function.

----------------------------------------------------------------------

31 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_receive.c to allow for new types of transmission
       DRAWNOTICE = notification that something was drawn
       DSETCHANGE = notification that dataset pointers may have changed
                    (needed when rescanning sessions)
    * afni_receive.c now handles transmission to all the interested
       viewers using the AFNI_process_* routines within.
    * Modified plug_drawdset.c to properly recover when rescan is used.
    * Modified plug_render.c to redraw when DRAWNOTICE is received,
       and to recover when rescan is used.
    * Modified 3dcalc.c to scale each output sub-brick to shorts/bytes
       separately, rather than globally [per request of KMD].

----------------------------------------------------------------------

29 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_receive.c and others to allow for multiple receivers
       for an IM3D.
    * Modified plug_render.c to auto-redraw when it receives notice of a
       crosshair location move.

----------------------------------------------------------------------

26 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a FREE_VOLUMES to plug_render.c after a new anatomical
       sub-brick is selected.

----------------------------------------------------------------------

23 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added call to reload_DC_colordef in imseq.c so that
       Save:one works properly after palette adjustment.

----------------------------------------------------------------------

22 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added SOLARIS_DIRENT_PATCH code to mcw_glob.c.

----------------------------------------------------------------------

12 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed 2 bugs in plug_render.c
       - opacity_scale changed wasn't checked if number of cutouts == 0
       - didn't invalidate overlay when loading new functional dataset

----------------------------------------------------------------------

10 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * In afni_graph.c, added deletion of XImage after XGetImage
       is used to save the graph window to a file.

----------------------------------------------------------------------

09 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * In refit_MCW_optmenu (bbox.c), found I had to free the av->sval and
       ->old_sval values, since they were being abandoned.
    * Added AFNI_NO_MCW_MALLOC environment variable to mcw_malloc.c,
       to let user turn off these routines.

----------------------------------------------------------------------

08 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * More changes to mcw_malloc.[ch].
    * Added macro FREE_AV() to bbox.h, because I found out that all places
       where I used XtFree() on an arrowval would leave the string values
       (sval) high and dry.

----------------------------------------------------------------------

06 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Removed GNU malloc from afni.c and incorporated my own mcw_malloc.[ch]
       functions/macros.

----------------------------------------------------------------------

03 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_sarr.c to skip the realpath() expansion if the
       environment variable AFNI_NOREALPATH is set.

----------------------------------------------------------------------

01 Mar 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added the *_p2t, *_t2p, and *_t2z functions to parser.f, parser_int.c,
        and 3dcalc.c.
    * Created ASCII PPM file gmove.ppmap to use in gmovie csh script.
    * Removed tapering from FFT interpolation in thd_rot3d.c.

----------------------------------------------------------------------

25 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added the MEDIAN function to parser.f and 3dcalc.c.

----------------------------------------------------------------------

23 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a bug in thd_trusthost.c.

----------------------------------------------------------------------

22 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * New routine 'addto_args' (addto_args.c) used to catenate stdin
       to the (argc,argv) command line of a program.  Testbed is
       3dRegAna.c (for D. Emge).
    * Added 'LOCK_ZORDER' command to plug_realtime (for Vinai).
    * Fixed bugs in plug_render.c having to do with the 'Expr > 0' cutout
      + Combination with AND was incorrect (counted ncdone too many times);
      + Test for evaluation to a pure number was incorrect if there were
        any leading blanks.

----------------------------------------------------------------------

18 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * In plug_render.c
      + Replaced 'Remove Isolas' w/ 'Remove Small Clusters' in plug_render.c
      + Added the slant cut planes.
    * In imseq.c, made it so that closing a rowgraph or surfgraph window
       turns off the feature.

----------------------------------------------------------------------

16 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified bbox.[ch] to allow non-power-of-10 steps in an arrowval,
       if the av->fstep structure component is modified by the user.
    * Some minor cosmetic changes to plug_render.c.

----------------------------------------------------------------------

15 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_render.c to change the way it deals with color volumes.
    * Modified plug_render.c to allow for color overlays.
    * Modified xim.c and display.c to deal with converting a RGB image
       to an XImage in a more efficient way.

----------------------------------------------------------------------

11 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified many routines in mri_*.c to deal with MRI_rgb type
       images, in preparation for modifying imseq.c to deal with such.
    * Modified display.[ch] to include a 'colordef' for conversion
       between Pixel and RGB triples.
    * Added routine to xim.c to convert MRI_rgb image to an XImage.
    * Changed imseq.c to allow MRI_rgb images.
    * Created program 1dplot.c.

----------------------------------------------------------------------

10 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Expr > 0' cutout to plug_render.c
    * Added SIND(), COSD(), and TAND() functions to parser.f

----------------------------------------------------------------------

09 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changes to imseq.c include putting the colorbar popup menu on
       ctrl-Button3 if there is only 1 image in the sequence, and
       changing the sharp-factor arrowval to run from 1-9 instead
       of 1-99.
    * Added 'MCW_noactext' option to arrowvals (bbox.c), so that
       the usual actions taken when the user leaves the window
       are not taken.
    * Added many features to plug_render.c: automation, cutouts,
       and accumulation.
    * Fixed 3drefit.c -view option.

----------------------------------------------------------------------

07 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added new program 3dfractionize.c (per Ziad Saad).

----------------------------------------------------------------------

05 Feb 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added plug_render.c, the first version (grayscale only) of the
       volume rendering code.
    * Changed name of AREN to MREN and put it in mri_render.[ch].
    * Cloned the mcw_graf.[ch] routines out of xv.
    * Added the coordinate stuff to 3dcalc.c.

----------------------------------------------------------------------

30 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Flood->Zero' and 'Zero->Value' options to plug_drawdset.c.

----------------------------------------------------------------------

29 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed afni_func.c so that if the user presses 'See Function'
       when there is no function, it turns the toggle button back
       off.  Formerly, it turned off the internal flag, but didn't
       change the toggle button state, so that the user was fooled.

----------------------------------------------------------------------

27 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Add 'UK Flag' location marker to RowGraphs and SurfGraphs.

----------------------------------------------------------------------

26 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in initialization and usage of Xdbe library, in coxplot.

----------------------------------------------------------------------

25 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Created the 'AREN' routines (aren.[ch]) for volume rendering, on top
       of VolPack.  Not sure what to do with them yet.

----------------------------------------------------------------------

24 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified coxplot (coxplot.h, plot_motif.c, plot_x11.c) to use the
       X11 Double Buffer extension, if HAVE_XDBE is defined.  This makes
       the redrawing of graphs look much smoother.

----------------------------------------------------------------------

21 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added SurfGraph feature to imseq.c.
    * Added OSfilt9 to imseq.c and the 2D transformations menu (afni.c).
    * Modified coxplot/plot_topshell.c to store a handle to the form at top
       of the graph window hierarchy.
    * Modified xutil.c to add the 'SaveUnder' property to the hints widget.

----------------------------------------------------------------------

20 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in mri_stats.c, where 'p2t' conversion was done backwards
       for the F statistic (p should have been q, and vice-versa).

----------------------------------------------------------------------

19 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added '-1ddum' argument to 3dpc.c.

----------------------------------------------------------------------

15 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed the old 3dpc.c to work with the new AFNI data storage,
       and to use the EISPACK routines instead of LAPACK (with help
       from Vinai Roopchansingh).
    * Made swap4 work with float input datasets as well as int.

----------------------------------------------------------------------

11 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified the rest of edt_coerce.c and edt_volamax.c to allow doubles.
    * Added thd_mastery.c, which allows a dataset to be 'mastered' on input,
       so that its bricks are a selection of bricks from a master dataset.
       Adds the routine THD_open_dataset().  Modified 3ddata.h and a
       bunch of other functions.
    * Modified 3dinfo.c, 3dcalc.c, rtfeedme.c, from3d.c, 3drotate.c, and
       3dvolreg.c, to use the new opening routine, to allow for subset
       selection.

----------------------------------------------------------------------

10 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified edt_coerce.c to make EDIT_coerce_type work with doubles.

----------------------------------------------------------------------

07 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.c to move placement on screen of the
       'Opt->Colors Etc.' submenu if it ends up placed directly over
       the 'Opt' menu.  This could happen on some versions of Motif
       when the graph window is up against the right edge of the
       screen.  A callback is executed when the submenu is mapped,
       and if it is in a bad location, its XmNx value is changed.

----------------------------------------------------------------------

06 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.c to try to avoid crashes when graphing window
       is closed using 'Opt' menu 'Done' button.  Seems to be caused
       by Expose events, but what exactly isn't clear -- happens on
       SGI systems.  Using the 'Done' button now starts a 50 msec timeout
       before the 'q' key is simulated.  Also, the Expose event count
       is now checked before processing, and only if event->count == 0
       is any work done.  Why these changes do the job is not obvious.

----------------------------------------------------------------------

05 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified the way imseq.c places the dialogs (Disp and Mont buttons),
       so as to reduce the likelihood that some of the dialog will appear
       offscreen.
    * Added HorZ ('h') selection to afni_graph.c 'Opt->Grid' submenu, which
       will draw a dashed line at the y=0 level in each sub-graph.

----------------------------------------------------------------------

04 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed the time lock feature in afni.c so that it would not operate
       if toggled off.  [Oops]
    * Added AFNI_ALWAYS_LOCK environment feature.

----------------------------------------------------------------------

03 Jan 1999, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added routine MCW_widget_visible to xutil.c, and used it in imseq.c
       and afni_graph.c.

----------------------------------------------------------------------

31 Dec 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c crosshairs to allow display only along certain axes.

----------------------------------------------------------------------

30 Dec 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added function Winsor9 to the 2D transformations, in imseq.c.
    * Added RowGraphs to imseq.c, also affecting plot_ts.c (in coxplot)
       and afni.c.

----------------------------------------------------------------------

22 Dec 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a bug in plug_volreg.c, where the ax? variables were used
       before they were defined, resulting in the wrong order of output
       of the estimated movement parameters in the graphs and dfile.

----------------------------------------------------------------------

17 Dec 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified xutil.c to use XmChangeColor to change the color
       of a widget (routine MCW_set_widget_bg).
    * Added some changes by Doug Ward to speed up linear regression
       calculations.

----------------------------------------------------------------------

16 Dec 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Removed TESTER code from afni_widg.c, and added some STATUS()
       printouts to trace progress.

----------------------------------------------------------------------

13 Dec 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a bug in the dataset -> time series routines that didn't
       scale properly if some of the brick factors were zero and
       others were not.  Files affected: mri_to_float.c, thd_dsetto1D.c,
       thd_fdto1D.c, and thd_initdblk.c.

----------------------------------------------------------------------

10 Dec 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a timeout for the child process in plug_realtime.c.

----------------------------------------------------------------------

04 Dec 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added unrolled fft8() to csfft.c.
    * Modified thd_rot3d.c to start the FFT size calculation at least
       at 95% of the actual width rather than 90%.  This reduces the
       likelihood of wraparound effects.

----------------------------------------------------------------------

03 Dec 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a problem in 3dmerge.c with '-datum float' and the sub-brick
       scaling factor, when editing one dataset only.

----------------------------------------------------------------------

27 Nov 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed some logical errors in 3dmerge.c with interaction of -1dindex,
       -1doall, and the dataset I/O.

----------------------------------------------------------------------

23 Nov 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a typo in plug_realtime.c and plug_volreg.c that made the
       choice of 'Heptic' use quintic interpolation instead.

----------------------------------------------------------------------

20 Nov 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified csfft.c to use unrolled routines for FFTs of length 16,
       32, and 64.  Also added special routines using the fft64 code
       to do lengths 128 and 256.
    * Modified mri_3dalign.c and 3dvolreg.c to allow specification of
       a different interpolation method to be used at the final
       rotation to the output brick.

----------------------------------------------------------------------

18 Nov 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a bug in plug_power.c in the untangling of FFT coefficients.
    * Modified afni_slice.c to properly clip short and byte interpolation
       to avoid overflow.

----------------------------------------------------------------------

16 Nov 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_align.c, mri_2dalign.c, and mri_3dalign.c to ensure
       that the weighting factors are non-negative.
    * Modified 3dvolreg.c to skip registration on the base volume.
    * Added plug_volreg.c to do the same job as 3dvolreg.c.
    * Fixed bug in 3drotate.c that caused -[ab]shift commands without
       directional suffixes to be converted into zeros.

----------------------------------------------------------------------

12 Nov 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dmerge.c to have new -1dindex and -1tindex options.

----------------------------------------------------------------------

03 Nov 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c, afni_widg.c, and afni.h to allow user to lock time
       indexes of controllers, as well as the spatial locations.

----------------------------------------------------------------------

01 Nov 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added realtime 3D registration to plug_realtime.c.
    * Added quintic interpolation option to thd_rot3d.c and places that use
       it (3dvolreg.c, mri_3dalign.c, 3drotate.c, and plug_realtime.c).

----------------------------------------------------------------------

26 Oct 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Finished plug_tag.c, and added tagset to a 3D dset.  Modified afni.c
       to allow markers panel to open when there are no markers, so user can
       control the color of the tags.
    * Modified mri_max.c to fix the initial values.
    * Modified 3dvolreg.c and mri_3dalign.c to add a clipping option.

----------------------------------------------------------------------

21 Oct 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added routines to afni_plugin.c to create/manipulate PLUGIN_strval's
       [= label + textfield].

----------------------------------------------------------------------

16 Oct 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Released 3dvolreg.c to Tom Ross for beta testing.

----------------------------------------------------------------------

09 Oct 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni.c and thd_fdbrick.c to allow the user to control the
       image flipping -- that is, to let left be displayed on the left.

----------------------------------------------------------------------

01 Oct 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_rota_shear to double up on FFTs -- speeds it up by
       about 30%.
    * Modified mri_align.c and mri_2dalign.c to allow choice of
       interpolation method at each stage of registration.
    * Modified imrotate.c, imreg.c, and plug_realtime.c to use the new
       image alignment methods.

----------------------------------------------------------------------

29 Sep 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added routine mri_rota_shear() to mri_rota.c to do 2D image rotation
       using the Paeth shearing method combined with FFTs.

----------------------------------------------------------------------

28 Sep 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified edt_onedset.c to correctly deal with clipping a dataset
       when the clip range is larger than the dataset range, and the
       datum type is short.

----------------------------------------------------------------------

22 Sep 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 3dTcat.c, to catenate multiple 3D+time datasets into
       one big dataset (and possibly detrend them at the same time).
       This was adapted from 3dbucket.c

----------------------------------------------------------------------

18 Sep 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program cdf.c to provide a command line way to get results
       from the 't2p', 'p2t', and 't2z' routines.
    * Modified afni_setup.c so that when a .pal file is input, the
       last newly defined palette becomes the active one in the
       AFNI controller which read the file in.

----------------------------------------------------------------------

17 Sep 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added '-1zscore' option to 3dmerge.c (via edt_onedset.c, etc.).
    * Also completed the list of 'p2t' and 't2p' routines, as well
       as adding 't2z' routines, in mri_stats.c and thd_statpval.c.

----------------------------------------------------------------------

16 Sep 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dmaskave.c to allow selection of dataset sub-brick and
       dataset value range.

----------------------------------------------------------------------

14 Sep 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added '-install' option to afni.c to allow installation of a
       new X11 Colormap.  Also affected display.[ch], afni_widg.c,
       imseq.c, afni_graph.c, xutil.[ch], afni_plugin.c, to3d.c,
       and plug_drawdset.c.
    * Added '-2swap' and '-4swap' options to to3d.c, to allow data
       to be byte-swapped on input.  Also added a 'Byte Swap' button
       to do the same thing interactively.

----------------------------------------------------------------------

09 Sep 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_sarr.c to add routine to 'normalize' a list of
       files using the C library routine 'realpath' and to cast out
       duplicate files.
    * Used this in afni.c and thd_get1D.c.
    * Also added *.1Dv files to list of allowable 1D extensions in
       thd_get1D.c.
    * Doug Ward provided me with the new 3dDeconvolve.c program, as
       well as some changes to 2dImReg and 3dRegAna.

----------------------------------------------------------------------

25 Aug 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_pcor.c change of 15,JUL,1998 to check denominator
       vs. DENEPS rather than 0.0.

----------------------------------------------------------------------

23 Aug 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified dbtrace.h and most afni_*.c files to allow not only
       debug tracing of routine entry/exit, but also the printout
       of other debugging information that was formerly hidden
       behind '#ifdef AFNI_DEBUG'.
    * A few more changes to make xim.c work properly with depth=24,
       which can be either 3 or 4 bytes/pixel.

----------------------------------------------------------------------

22 Aug 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified display.c to support TrueColor visuals, and xim.c to
       support arbitrary byte ordering, plus 3 and 4 bytes/pixel.

----------------------------------------------------------------------

17 Aug 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Adapted old Fortran PLOTPAK to in-memory plotting, with routines
       to graph to screen and to PostScript.
    * Used this to implement the 'Plot' button in the timeseries chooser,
       and to do graphing of the realtime 2D motion parameters.

----------------------------------------------------------------------

07 Aug 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified display.[ch] to store extra information about the X11
       visual.  This isn't used yet, but is preparatory to allowing
       support for using TrueColor visuals and installed colormaps.

----------------------------------------------------------------------

06 Aug 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added changes to thd_compress.[ch] made by Craig Stark/Paul Reber
       of UCSD, to allow them to use their custom decompression
       program 'brikcomp'.
    * Added realtime 2D registration to plug_realtime.c.
    * Modified 3dmaskave.c and plug_maskave.c to allow user to choose
       a sub-brick of the mask dataset.  plug_maskave.c also now lets
       the user save the mask average of a 3D+time dataset into the
       timeseries library (for use as a FIM, for example).  Also
       fixed an overflow bug in both programs when the mask range
       is too big for a short or byte dataset.

----------------------------------------------------------------------

01 Aug 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added copyright information to some .c and .h files.
    * Modified mri_to_short.c to allow for special case of scale!=1.0.
    * Modified plug_realtime.c to allow for 2D image alignment.
       (Continuation of work from,APR,that was unfinished then.)
       First cut is to do all registration at end of acquisition.
    * Turned off 'frivolities' during a real-time run.
    * Added the ability to graph points+lines together in afni_graph.c
       (also see changes of 09,JAN,1998).

----------------------------------------------------------------------

27 Jul 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a bug in routine suck_file in afni_setup.c, which put the
       terminating NUL character 1 place too far in the output array.
    * Wrote program uncomment.c, to remove comments from C files.
    * Added model_convgamma2a.c.
    * Modified NLfit.c to generate a fixed set of random samples instead
       of starting over for each voxel.  Also fixed the algorithm that
       keeps the best random samples -- it was not always keeping the
       best one, just some of them.

----------------------------------------------------------------------

22 Jul 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added routine THD_timeof_vox to thd_timeof.c.  This allows
       computation of voxel time from voxel index, rather than voxel
       coordinate.
    * Removed some redundant code from 3dTSgen.c -- it opened the
       input dataset twice in a row, and loaded the datablock when
       there was no need.
    * Modified 3dTSgen.c, 3dNLfim.c, and plug_nlfit.c to have new '-inTR'
       option to allow computation of model functions with TR set from
       the input dataset rather than fixed at TR=1.  Note that if the
       units of the dataset time axis are msec, they will be converted
       to sec instead (allowing msec to be used as a unit was a mistake).

----------------------------------------------------------------------

21 Jul 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added model_convgamma.c to represent a gamma variate convolved
       with a reference time series.  The 'k' parameter of Doug Ward's
       model_gammaver.c was modified to be called 'amp' here, since the
       impulse response is reparameterized to have peak value = 'amp',
       rather than 'k * (rb/e)**r', which is clumsy.
    * Modified Doug Ward's NLfit_model.h to ensure that certain routines
       needed by model functions can be forced to be loaded.
    * Modified 3dTSgen.c to make the '-ncnstr' and '-scnstr' options
       recognized, since there is a typo in the manual.
    * Modified Makefile.INCLUDE for 3dTSgen and 3dNLfim to use the
       proper dynamic linking load flags $(PLFLAGS), and also to include
       the proper dependencies.

----------------------------------------------------------------------

17 Jul 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program imstack.c to stack up a bunch of 2D images into
       the stupid MGH format.  [For Kathleen Marie Donahue.]

----------------------------------------------------------------------

15 Jul 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Change afni_pcor.c to remove use of DENEPS test for division
       in computation of correlation coefficient.

----------------------------------------------------------------------

14 Jul 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added option -skip_afnirc to allow .afnirc file to be skipped.
    * Fixed bug in afni_setup.c that didn't manage the palette chooser
       menu when starting with 0 palettes and then later reading in some.
    * Fixed bug in plug_copy.c that put the anat type off by 1.  Also
       made the 'Zero [One]' option not make the anat type always be omri.
    * Fixed bug in parser.f, whereby the vector versions of the boolean
       functions (or, and, mofn) were evaluated incorrectly.

----------------------------------------------------------------------

13 Jul 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Incorporated Doug Ward's erosion+dilation routines into the
       clustering modules.

----------------------------------------------------------------------

09 Jun 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified edt_clust*.c routines to implement -1clust_order option.
    * Modified 3drefit.c to have -nowarp option.

----------------------------------------------------------------------

05 Jun 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dnoise.c to have option to set noise level on command
       line, rather than compute it.

----------------------------------------------------------------------

03 Jun 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified AFNI_make_descendants to allow descendancy to flow
       from +acpc datasets, not just from +orig datasets.
       However, this doesn't work just yet, due to warping issues.

----------------------------------------------------------------------

04 May 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added routine THD_purge_one_brick to thd_purgedblk.c, to allow
       freeing of one sub-brick from a malloc-ed dataset.  Also
       defined macro DSET_unload_one(dset,iv).

----------------------------------------------------------------------

01 May 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed plug_rename.c to work with compressed datasets.  Added a
       routine COMPRESS_add_suffix to thd_compress.c to facilitate this.

----------------------------------------------------------------------

30 Apr 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dcalc.c to purge dset sub-bricks when finished with them,
       and to allocate output buffer sub-bricks only when needed.  This is
       to keep memory usage down when using compressed 3D+time datasets.
    * Also added the -verbose option to 3dcalc.c.

----------------------------------------------------------------------

29 Apr 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * At the behest of Ted DeYoe, modified 3dcalc.c to allow operations
       on bucket and other multi-brick datasets that aren't 3D+time.
    * Also modified 3drefit.c to allow conversion of 3D+time into a bucket.
    * This also required the ability to erase datablock attributes, since
       they are persistent -- even if the data in the dataset is voided,
       the attribute will remain to be written to disk.  So a routine
       THD_erase_one_atr was added.  In files thd_writedset.c and
       thd_writdblk.c, every attribute that DOESN'T get written now gets
       erased.  This will still leave extra attributes (perhaps added by
       a plugin) being persistent, but avoids attribute 'hangover' problem.

----------------------------------------------------------------------

25 Apr 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified thd_*.c to store byte order (for short and int dsets) in the
       .HEAD file.  Then when the file is read in, it will be byte swapped
       if necessary (which will force it to be malloc-ed, not mmap-ed).
    * Also modified 3drefit to allow a byte order to be written to .HEAD
       files.  Note that this does not affect the .BRIK file.
    * Added new environment variable AFNI_BYTEORDER to control byte order
       of output datasets.  This can be 'LSB_FIRST' or 'MSB_FIRST'.  If not
       present, this means to use the native order of the CPU.
    * Added environment variable 'AFNI_NOMMAP' to allow suppression of mmap.
       If the value is 'YES', then all datasets will be malloc-ed.
    * Modified the 'Purge Memory' button to purge ALL datasets from memory.
       Formerly, it only purged the unused ones.

----------------------------------------------------------------------

17 Apr 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dcalc.c to allow input of *.1D time series
       in place of datasets.

----------------------------------------------------------------------

24 Mar 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified plug_copy.c to allow creation of a 1 sub-brick zero-filled
       'copy' -- useful for making mask datasets.
    * Modified 3dnoise.c for 3D+time datasets, so that a voxel is zeroed
       only if a majority of time points at that location fall below
       the cutoff.
    * Modified plug_drawdset.c to recompute statistics after each edit,
       no matter what.  Also changed the help message a little.
    * Wrote plug_maskave.c to do pretty much the same thing as 3dmaskave.c.

----------------------------------------------------------------------

21 Mar 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3dmaskave to allow dumping of all voxels hit by the
       mask, and to compute the standard deviation also.

----------------------------------------------------------------------

20 Mar 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed EDIT_add_bricklist -- the brick auxiliary data additions
       would free data that hadn't been allocated.
    * Modified stuff so that Dummy dataset is not deleted -- this
       seems to help.  (It only takes up 64K, so the loss is small.)

----------------------------------------------------------------------

18 Mar 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made 'ptr' a byte variable rather than char in XImage_to_mri
       (xim.c) -- this seems to fix a problem on some machines.

----------------------------------------------------------------------

16 Mar 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added internal globbing to 'afni -im'.
    * Modified function AFNI_follower_dataset (afni_func.c) to copy
       datablock auxiliary data from the data parent, if available.
    * Modified 3drefit.c to allow -fbuc and -abuc to work no matter
       how many sub-bricks are present.
    * Added program 3dmaskave.c to print out averages from dataset
       sub-bricks, with ROI selected by a mask.

----------------------------------------------------------------------

13 Feb 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Released drawing plugin to MCW users.  Includes open and closed
       curves, filling, and undo.
    * Also added .BRIK output compression to thd_compress.[ch], and to
       thd_writedblk.c.

----------------------------------------------------------------------

08 Feb 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.c to display dataset indices in graph window,
       rather than FD_brick indices.  (See the DONT_MANGLE_XYZ location.)
    * Modified imseq.[ch], afni_graph.[ch], afni.[ch], and the new
       file afni_receive.c to allow transmission of mouse Button2
       data to a calling routine.  Work is in progress -- more later.

----------------------------------------------------------------------

04 Feb 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified dbtrace.h to enable tracing with usual afni run.  This
       can be turned on/off using the 'Misc' menu, or the '-trace'
       option (if the program is compiled with USE_TRACING).

----------------------------------------------------------------------

03 Feb 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Also put editvol.c into 'edt_*.c' routines, and thence into
       librmi.a
    * Added an 'Autoscale' button to graph Opt menu, and also execute
       the autoscale code when the graph is 1st drawn.

----------------------------------------------------------------------

02 Feb 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a typo in plug_imreg.c to make the 'Fine Blur' parameter
       scale to FWHM properly.
    * Broke 3ddata.c into 'thd_*.c' routines, and incorporated them
       into libmri.a.  Also incorporated 3dmaker.c and iochan.c.
       Files 3ddata.c, 3dmaker.[ch], and iochan.[ch] are no more!

----------------------------------------------------------------------

01 Feb 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified 3ddata.c to avoid use of 'scandir' routine, which caused
       no end of trouble on Solaris.
    * Moved the 'mcw_glob' routines into libmri.a.  These are used to
       get filenames from the directory now.

----------------------------------------------------------------------

16 Jan 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Percent Change' calculation to afni_fimmer.c, and
       removed the 'real-time' update feature from those routines.

----------------------------------------------------------------------

14 Jan 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified symbol for current time index in afni_graph.c, so
       that when data is graphed with points the current point
       can be distinguished from the graph points.

----------------------------------------------------------------------

12 Jan 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Allow a gap between the sub-graph boxes.  This is chosen
       from the 'Colors etc.' menu.
    * Raoqiong Tong fixed a bug in the new parser.f with the
       AND, OR, and MOFN functions.

----------------------------------------------------------------------

09 Jan 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified afni_graph.[ch] to allow choice of a timeseries to
       be used to define the x-axis graphing.  Thus, if x(t) is
       the x-axis timeseries, and yij(t) are the data timeseries,
       then each graph ij now shows x(t) vs. yij(t) rather than
       t vs. yij(t).
    * Also modified the Button 1 press in the central graph to
       jump to the time index point whose graph point is closest
       to the button click.
    * Also allowed data plots to be shown as points instead of
       lines.  'Points' are drawn using the '_circle' routine
       ('filled' or 'hollow', as the line is 'thick' or 'thin').

----------------------------------------------------------------------

08 Jan 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified scaling for output of 3dmerge.c so that the program
       detects if all the inputs are integer types (byte or short,
       unscaled).  If they are, and the merger type is consistent
       with integer type, then the output will be unscaled, otherwise
       it will be scaled by a float.

----------------------------------------------------------------------

07 Jan 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a routine to editvol.c to do local averaging of a
       dataset faster than -1filter_mean -- it seems to run
       about 6 times faster.  This is implemented as
       -1filter_aver in 3dmerge, so that the older one is
       still available.  Also modified plug_edit.c to add
       this option to the Filter menu.

----------------------------------------------------------------------

05 Jan 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'New Stuff' entry to Misc menu, which just pops up
       the README.changes file into a readonly text window.
    * Program 'quotize.c' will take a text file and make it
       into a C array of strings, one line per element.  This
       is used in afni_func.c to popup the README.changes file,
       which is put into the file 'newstuff.hhh' by quotize and
       in the Makefile.INCLUDE.

----------------------------------------------------------------------

02 Jan 1998, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added ability to read compressed .BRIK files to 3ddata.c
       (gzip -d, bzip2 -d, and uncompress are supported).
    * Added program '3dnoise' to zero out noise-like regions
       of nonnegative short datasets.
    * Modified display of dataset names to include number of
       points in a 3D+t dataset, and to include a 'z' flag
       to indicate compression of dataset.

----------------------------------------------------------------------

26 Dec 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in palette write-out (afni_setup.c).
    * Added a scrollable text output utility (xutil.c).  Made
       the plugin help use it if the help string has many
       lines (afni_plugin.c).  Added a line counting routine
       to 3ddata.c

----------------------------------------------------------------------

22 Dec 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Removed auto-change of threshold scale for bucket datasets
       from afni.c.  Also unmanages/remanages this scale when
       the pbar is being changed, due to horrible visual effects
       on the SGI machine nimloth (if FIX_SCALE_SIZE_PROBLEM
       is defined).
    * Modified pbar.c to store the summed pane heights, and then
       recompute the value/label only when such a summed height
       changes.  This prevents the modification of the value/label
       pairs at other panes when resizing only one pane.
    * Modified AFNI_bucket_label_CB (afni_func.c) to put the
       sub-brick index at the left of the option menu label.

----------------------------------------------------------------------

21 Dec 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added ability to read in palettes and colors from .afnirc file,
       and interactively from a user-specified file.  Also allow
       user to reset the top and spacings on the color pbar.
    * Modified display.[ch] to put all overlay stuff into a shared
       struct for all MCW_DCs.  This means that the -unique option
       will only generate new grayscale colorcells for each controller,
       but they will now share overlay colors.  This is intended to
       prevent a problem when users add new colors dynamically
       from external palette files.  This change affected files
         afni_func.c afni_graph.c afni_graph.h afni_setup.c xim.c
         afni_widg.c bbox.c display.c display.h imseq.c pbar.c
    * Modified pbar.c to keep the input pval's exactly when calling
       alter_MCW_pbar -- formerly, after resizing the panes, the
       values might be altered slightly.
    * Discovered that 17,DEC,97 change to AFNI_set_viewpoint could
       make graph not be drawn correctly on startup.  Added
       'never_drawn' variable to graphs and imseqs to allow
       this condition to be detected.

----------------------------------------------------------------------

18 Dec 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -noqual option to AFNI to make it skip quality checks
       when doing marker transformations.
    * Added -view option to 3drefit to let it change coordinate
       systems.

----------------------------------------------------------------------

17 Dec 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified AFNI_set_viewpoint to skip graph redraw unless
       REDISPLAY_ALL or unless a new (x,y,z) location is set.
    * Added menu to the pbar label to allow modification of
       the colors and spacings.
    * Modified display.h to allocate overlay colors from
       read-write cells.  This allows the colors to be
       redefined.

----------------------------------------------------------------------

15 Dec 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Compute FIM+' to FIM menu.  This saves the best
       time series index in a new sub-brick.
    * Added some macros to editvol.h to make changing sub-brick
       auxiliary values simpler.

----------------------------------------------------------------------

13 Dec 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added new file '3dmaker.c', for routines that make new
       3D datasets from other datasets.  Moved the guts of
       the PLUTO_4D_to_typed_* routines into this file.
    * Also fixed a 'float *' inside mallocs to be 'float'
       in a couple of places in these routines.  This should
       be innocuous, since most CPUs satisfy
         sizeof(float) <= sizeof(float *)

----------------------------------------------------------------------

09 Dec 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a new chooser to let user pick interpolation method
       for threshold (statistical) sub-bricks.
    * Fixed CUBIC_CLIP in afni_warp.c -- it was incorrectly
       placed before the brick_fac scaling, not after.
    * Removed FIM menu from Define Function control panel.

----------------------------------------------------------------------

30 Nov 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added the 'bucket' types (anat and func) to 3ddata.h, and
       then modified afni, editvol, etc., to utilize this type
       of dataset.
    * Created program 3dbucket.c to put buckets together out of
       sub-bricks from other datasets.
    * Modified 3drefit.c to allow changes to bucket sub-brick
       information.

----------------------------------------------------------------------

21 Nov 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Allowed brick dimensions to be specified as '120A' or 'A120'
       in to3d.c.  This is to make it consistent with the way
       scanners print on films.

----------------------------------------------------------------------

20 Nov 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Increased buffer sizes in count.c
    * Added Makefile.sparc5_2.5 for Suns.

----------------------------------------------------------------------

12 Nov 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added some SPARKY specific header declarations to fix problems
       with SunOS compiling system (e.g., strtod).

----------------------------------------------------------------------

10 Nov 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added popup hints to to3d.
    * Added 'Clinical' disclaimer to startup message.
    * Remove scale hints (afni.c, imseq.c), since they are particularly
       obnoxious.

----------------------------------------------------------------------

30 Oct 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed DXY_THRESH to PHI_THRESH in one line of mri_align.c
    * Worked on adding popup 'hints' to AFNI.

----------------------------------------------------------------------

27 Oct 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changed csfft to csfft_cox in all places to avoid conflict
       with code by AJ.

----------------------------------------------------------------------

22 Oct 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Oops**2.  Fixed a bug in the bug fix above.

----------------------------------------------------------------------

03 Oct 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Oops!!  Fixed a bug in mri_align.c, where the fine fit weight
       image wasn't computed properly.  This affected fim2, imreg,
       and plug_imreg.

----------------------------------------------------------------------

26 Aug 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Oops!  Had to fix the EXP_0D plugin in plug_lsqfit.c because
       the parser vector evaluation routine was changed.

----------------------------------------------------------------------

22 Aug 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Raoqiong Tong modified parser.f to make the vector evaluation
       routine work again.
    * Also fixed 3dcalc.c to work with 3D+time datasets.

----------------------------------------------------------------------

01 Aug 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a label in the Define Function control panel to show
       the crosshair pixel value, if all 3 image windows are
       open (afni.c, afni_func.c, afni_widg.c).
    * Made Button3+Modifiers work even if CapsLock or NumLock
       is pressed (imseq.c).
    * Added random Shakespearean insults.
    * Added AFNI_SESSTRAIL (3ddata.c) to control session 'lastname'.

----------------------------------------------------------------------

30 Jul 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added ability to include a rotation warp when using 3ddup.
    * Added ability to include empty markers in 3drefit.
    * Fixed AFNI_init_warp (in afni.c) where it give the name
       of the new dataset based on the 'adam' dataset, rather
       than the 'parent'.  This causes problems when transforming
       a dataset that is itself warp-on-demand from 3ddup -- the
       names would be based on the ultimate warp parent, not
       the derived parent from 3ddup.

----------------------------------------------------------------------

28 Jul 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added new utility program '3drefit.c' to allow user to change
       the axes stored in a dataset header.  This is mostly to
       fixup errors that may have occurred at to3d time.
    * Added -orient option to to3d.c (not that it is much use).
    * Fixed bug in 3dinfo.c, for printout of sub-brick scaling
       factors when no statistics are present in the header.

----------------------------------------------------------------------

23 Jul 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 6 new functional dataset types, with thresholds being
       distributed as follows
              normal    chi-square   incomplete-beta
              binomial  gamma        Poisson
    * Gave user ability to change range of threshold slider -- before,
       range was fixed by threshold functional dataset type.
    * Found problem on Linux (1.2.13) with 'dlopen' loading of plugins
       and models -- seems to have problems at about the 20th library.
       Not sure what to do about this.
    * Added routine PLUTO_report to allow a plugin to report status
       information at startup.

----------------------------------------------------------------------

22 Jul 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * -orient (and AFNI_ORIENT) now work with 3dclust.c.
    * The 'jump to' popup in afni.c now works with the orientation
       code, so that you can paste coordinates out of 3dclust
       into to jumpto window.

----------------------------------------------------------------------

16 Jul 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made -orient option (and AFNI_ORIENT environment) work to change
       the order in which coordinates are displayed in the afni.c
       crosshair label.

----------------------------------------------------------------------

02 Jul 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imstat.c to work with 3D image files, at least partly.

----------------------------------------------------------------------

30 Jun 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added routine THD_extract_series and macros PLUTO_extract_series*
       to get time series from 3D+time datasets.  [per Ziad Saad]
    * Modified 3ddup.c to allow conversion of 3D+time anatomy into
       3D+time fim.  This will allow the overlay of EPI time series
       as 'function' onto the corresponding anatomy.

----------------------------------------------------------------------

25 Jun 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made afni_plugout.c and plugout_tt.c -- initial implementations
       of the 'plugout' concept: programs that talk to AFNI using
       IOCHANs to get T-T coordinates, etc.
    * Modified iochan.c to allow a socket connection to cutoff
       abruptly when closed.  This was needed because I found that
       a socket connection might hang around a while after close,
       and this would prevent new connections on the same port #.
       At present, this capability is only used when afni exits.
    * The plugout code (afni_plugout.c) is an Xt work process.
       To prevent it soaking up too much CPU time, if nothing
       happens, it will sleep for 10 msec.  This work process
       is disabled if the realtime plugin is active.

----------------------------------------------------------------------

18 Jun 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Had to fix the xim.c routine XImage_to_mri to work correctly
       with 12 bit Visuals.
    * Added stuff so that .Xdefaults can initialize the line thicknesses
       as well as the colors.

----------------------------------------------------------------------

17 Jun 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Lots of changes in the last 2 months to make plug_realtime.c work.
    * Added a menu item to afni_graph.c to allow user to control graph
       colors and line thicknesses.  The colors can also be initialized
       from the .Xdefaults file.
    * Added a menu item to afni_graph.c to allow the graph window to
       be dumped to an image file.  Had to fix xim.c to allow for
       the XImage format returned by XGetImage on the graph Pixmap.
    * Modified imseq.c so that if the user types '.pnm' as the end
       of the 'Save:one' filename, the program won't add another
       '.pnm' to the end.

----------------------------------------------------------------------

22 Apr 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified registered functions to each have an int flag.  The only
       flag value used now is bit 0 = RETURNS_STRING.  This can be used
       in a 1D function (via PLUTO_register_1D_funcstr) to return an
       extra string that will be displayed in graph's button 3 popup.
    * Modified the LSQfit plugin to return the fit parameters in the
       extra string, so that the user can display them.

----------------------------------------------------------------------

21 Apr 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Started work on 'plug_realtime.c', including the '3T_toafni.c'
       program to extract data from ParaVision and send it into AFNI.

----------------------------------------------------------------------

03 Apr 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Created the 'imcalc' program, analogous to 3dcalc, but for 2D images.

----------------------------------------------------------------------

02 Apr 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Incorporated the CLAMS library into the internal (MCW only) version
       of AFNI.

----------------------------------------------------------------------

20 Mar 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Created script files to compile and distribute AFNI binaries
       on and to various computers.

----------------------------------------------------------------------

10 Mar 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made the 'Selection' box in the new file selectors have the
       'HOTCOLOR' as the background.  This is because of the importance
       of the contents of this box.

----------------------------------------------------------------------

05 Mar 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a dummy dataset to afni.c, so that if there are none when
       the user starts, he can read them in with the 'Read Sess' button.
    * Added a 'Read 1D' button to allow input of timeseries files.

----------------------------------------------------------------------

04 Mar 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added a 'Read Sess' button to allow input of a new session into
       afni.  Also added a function THD_equiv_files to 3ddata.c to
       allow for checking if 2 filenames are equivalent (point to
       the same inode on the same disk).

----------------------------------------------------------------------

03 Mar 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Allow to3d to create 3D+time FIM datasets.  Allow afni to display
       them as functional overlays.
    * Add -noplugins option to afni, so that it is possible to skip
       plugins initialization (also can setenv AFNI_NOPLUGINS).
    * In to3d.c, if any -[xyz]SLAB or -[xyz]FOV options are used, then
       require that all 3 axes be given if the dataset is to be
       written out correctly without opening the interactive window.

----------------------------------------------------------------------

23 Feb 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Wrote plug_imreg.c to do 2D registration on 3D+time datasets.
    * Modified mri_align.c, imreg.c, and fim2.c to recognize macro
       ALLOW_DFTIME, if the user wants to compile the ability to
       do -dftime or -dfspacetime registration.

----------------------------------------------------------------------

20 Feb 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Moved a couple routines in afni_plugin.c outside the
       '#ifdef ALLOW_PLUGINS ... #endif' code block since they
       are used in non-plugin-specific parts of AFNI.

----------------------------------------------------------------------

18 Feb 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added some logical functions (and, or, mofn) to parser.f, and
       so to 3dcalc.  Also added the -session option, and made the
       default session = './'.

----------------------------------------------------------------------

16 Feb 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Incorporated GNU malloc checking into 'dafni'.  Now checks the
       status of all malloc-ed blocks on entry and exit to every
       routine using 'ENTRY' and 'RETURN' macros.  (Nevertheless,
       this still doesn't find the bug I'm looking for.)
    * When a grapher window is being destroyed, its corresponding
       image window needs to redraw the crosshairs.  This redraw
       command could cause a crash (for reasons unknown) when
       the dataset is being changed (that is, the grapher is being
       trashed because the new dataset does not support graphs).
       This is fixed in afni.c and afni_func.c so that when a
       grapher is destroyed due to underlay switching, then the
       corresponding image redraw commands will be ignored.

----------------------------------------------------------------------

14 Feb 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Incorporated GNU malloc into afni.c, which will be enabled with
       the #define-ition of USE_GNU_MALLOC (e.g., in machdep.h).
    * #define-ing NO_FRIVOLITIES in machdep.h will no disable the
       picture and sonnets.

----------------------------------------------------------------------

30 Jan 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added program 3dcalc.c.
    * Changed STEP function in parser.f to be 1 only for x > 0.

----------------------------------------------------------------------

22 Jan 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made the control buttons on image viewers (imseq.c) a little smaller.

----------------------------------------------------------------------

21 Jan 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made the 'fscale' element in a grapher (afni_graph.[hc]) be a float,
       so that finer control over graph scaling is possible.
    * Changed 'Scale', 'Ignore', and 'Matrix' controls in graph window
       to be optmenus.  Added a routine to allow optmenus to be refitted.

----------------------------------------------------------------------

20 Jan 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Included '#include <string.h>' in mcw_glob.h, to prevent complaints
       from stupid compilers.
    * Added Makefile.osf1, from a system at U Maryland.
    * Added gmovie, script to create a GIF movie from a bunch of PNM files.

----------------------------------------------------------------------

13 Jan 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -subort option to fim2.c -- subtraction of orts from
       an image time series.

----------------------------------------------------------------------

03 Jan 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Got program waver.c to work -- generation of an ideal waveform
       with tunable parameters.

----------------------------------------------------------------------

02 Jan 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added mcw_glob.c usage to FD2.c, to allow internal expansion of
       wildcarded filename.  This overcomes the SGI limit on the
       number of arguments on the command line.

----------------------------------------------------------------------

01 Jan 1997, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added routines to libmri.a to allow reading in a 3D: image file
       in 'delay' mode -- only the filename and offset into it are
       stored in the image.  When access to the image is desired,
       then it will be read from disk.
    * Added -delay switch to to3d.c to take advantage of this procedure.
       This prevents duplicate malloc required for huge 3D: file
       (once for the 3D: input and once for the dataset brick).  People
       who do all 3D+time input data in one big file have run out of
       memory otherwise.
    * Added '++' toggle to allow display of crosshairs in all slices of
       an AFNI montage.  This is specifically for Jeff Binder.
    * Added RESET_AFNI_QUIT() calls to a bunch of routines in afni.c.

----------------------------------------------------------------------

10 Dec 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed small bugs in parser_int.c, in the utility routines where
       a pointer to a doublereal wasn't dereferenced before comparing
       it to zero.

----------------------------------------------------------------------

23 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Rearranged Write buttons on Datamode control panel in AFNI.  Added
       a write 'Many' button which lets the user pick lots of datasets
       to write out, so he can go get a cup of coffee.  Put all 3 Write
       buttons in a single row.
    * Added a Rescan All button to allow rescanning of all sessions.  Put
       both Rescan buttons in a single row.  Also added a '*.1D' rescan
       button to allow for re-reading of timeseries files.
    * Attached data type descriptors like [fim] and [epan:3D+t] to the
       listings in the dataset choosers.

----------------------------------------------------------------------

22 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Adapted MCW_choose_strlist (in bbox.c) to allow selection of
       multiple items from the list.

----------------------------------------------------------------------

21 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Incorporated the f2c (Fortran-to-C) converter into the AFNI96
       distribution, in a separate directory (f2cdir).  This allows
       the use of the old 'parser.f' routines to compile and execute
       user created expressions.
    * Added macro AVOPT_columnize to bbox.h, which allows the setup
       of an optmenu in a multicolumn layout.  Also setup the 'Plugins'
       button to allow this (when the number of plugins grows past 20).

----------------------------------------------------------------------

19 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Made afni.c (AFNI_setup_viewing routine) set the FIM-able dataset
       to the newly activated anatomical, if possible.  In the old
       version, if you switched anatomies, the FIM-able dataset didn't
       switch with you.  This was confusing to the uninitiated masses
       (that is to say, Mike Beauchamp).

----------------------------------------------------------------------

12 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug with multiple displays and the 'lock' -- when
       changing the dataset in an AFNI controller, you don't want
       the coordinate lock to apply.
    * Started adding 'orts' to AFNI's interactive fimmery.

----------------------------------------------------------------------

10 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Wrote 'lsqfit' plugin.  This allows computation of least squares
       fits to timeseries graphs.  Modified afni_graph.c to allow
       'Double Plot' to overlay least squares fit graph (or other
       output of a 'Tran 1D') on the data timeseries graph.

----------------------------------------------------------------------

06 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added -unique option to afni.c to allow creation of unique
       display contexts (MCW_DC's) for each AFNI controller window.
       (This won't work on 8 bit displays.)  afni.c and afni_widg.c
       were changed appropriately (and afni.h).

----------------------------------------------------------------------

04 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added 'Lock' menu to Datamode panel.  This allows the user to
       specify that certain controllers have their coordinates locked
       together, so that jumping around in one dataset can be mirrored
       by jumps in another.  At this time, the AFNI_transform_vector
       function does not properly transform vectors from +tlrc coordinates
       to +orig coordinates (say) if the two datasets are not in the
       parent/child relationship.  This can be confusing if two such
       datasets are locked, and they are not in the same 'view'.
    * Made pressing Button1 on the AFNI logo in a grapher window also
       turn off/on the menubar widgets.  This enables a screen dump
       of a graph without that extraneous stuff being present.

----------------------------------------------------------------------

03 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Moved functional resample arrowval from the 'Define Function'
       control panel to the 'Define Datamode' panel, where it will
       be close to the analogous control from anatomy.
    * Added 1D and 2D transformation function registries.  Made up
       some sample transformation functions (median filtering, etc.).
    * Added time units appendage to TR in to3d.c.

----------------------------------------------------------------------

02 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a major bug with the multiple controller window ('New'
       button) extension.  The problem is that the information about
       how to extract images from a dataset is stored in the dataset,
       in the 'wod_daxes' and 'vox_warp' sub-structs.  This causes
       difficulties when two controllers view the same dataset at
       different resolutions (e.g., overlay the same function on
       two different anatomies).  The fix is to put the originals
       of 'wod_daxes', 'vox_warp', and 'wod_flag' into the controller
       (im3d) struct itself.  When the dataset is going to be used,
       then this information is copied into the dataset struct.
       This is a clumsy fix, but breaks the least code in the
       afni_warp.c routines for extracting slices from a dataset.

----------------------------------------------------------------------

01 Nov 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added routine PLUTO_4D_to_typed_fim to afni_plugin.c.  This takes
       a user function and a 3D+time dataset, and returns fim dataset,
       with the user function applied to each voxel timeseries.

----------------------------------------------------------------------

31 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified EDIT_substitute_brick in editvol.c to allow the input
       array 'fim' to be NULL.  In that case, the routine will create it.
       This is a convenience for the user (say, a plugin author).

----------------------------------------------------------------------

30 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added ability to apply function to each pixel of a displayed image
       (cognate to the similar ability in graphs -- see 22 October).
       This primarily affected imseq.c, but also a few other places.
    * Added new 'fift' dataset type, to deal with F-test sub-bricks.
       - Incorporated cdflib into mrilib.  This is to use the 'cdff'
           to compute the CDF for the F statistic, in mri_stats.c
       - Changed the precision of the threshold scale (thr_scale)
           from 0..99 to 0..999, and correspondingly changed the
           scaling from the scale to func_threshold from 0.01 to
           0.001.  Also changed the 'decim' factor for the scale.

----------------------------------------------------------------------

27 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added PLUTO_popup_image() function to afni_plugin.c.  Also used
       this to provide a 'hidden menu' popup of an image of me in
       afni_func.c.

----------------------------------------------------------------------

25 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed imseq.c routine that re-places the 'dialog' window (for Disp
       and Mont) on the screen when the image is resized -- somehow
       the code that fixed the problem of forcing the dialog off the
       edge of the screen lost an '=', and so nothing happened.
    * Added 'i' button to right edge of imseq.c windows -- allows the
       user to down/up the fraction of the window that the image
       takes up.

----------------------------------------------------------------------

23 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added Shift/Ctrl/Alt-Button3 simulation of lower tier button presses
       to imseq.c.

----------------------------------------------------------------------

22 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added timeseries chooser to afni_plugin.c.
    * Added ability to apply a function to graph data (e.g., to take the
       logarithm of each point).  This affected afni.[ch], afni_graph.[ch].
    * Fixed a bug in afni_fimmer.c, where routine AFNI_ts_in_library could
       return the wrong value if the timeseries being searched for was
       not actually found.
    * Modified directory scan in 3ddata.c (for timeseries) and afni_plugin.c
       (for plugins) to skip directories that have already be scanned.
       This is to avoid the situation where the PATH variable contains
       duplicate entries.

----------------------------------------------------------------------

21 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changed FD_brick_to_timeseries (in 3ddata.c) to scale each element
       by the brick_fac value appropriate for that time index, rather
       than by the value for time index = 0.  This is done using the
       new routine mri_mult_to_float (in mri_to_float.c).
    * Fixed bug in EDIT_dset_items (editvol.h) that used 'float' inputs.
       Default type promotion (there can be no prototype here) turns all
       float inputs to doubles, so they must be retrieved this way.
       Also, fixed error when 'ADN_nsl' is passed as zero -- no longer
       requires a 'ADN_toff_sl' array in this special case.  Also made
       EDERR macro always print a message, even if not in debug mode.
    * Added DSET_TIMESTEP macro (and others) to 3ddata.h.
    * Modified PLUTO_add_dset (afni_plugin.c) to allow for other actions
       when a dataset is set back to AFNI.
    * Added 'progress meter' PLUTO_ functions to afni_plugin.c; also
       modified the meter code in xutil.c to check if the percent
       value has changed before trying to update the meter progress.
    * Added 'units_type' to the 3D+time dataset format.  This lets the
       'time axis' be expressed in milliseconds, seconds, or Hertz.
       Changes were made to 3ddata.[ch], to3d.c, 3dinfo.c, editvol.[ch].
    * Power spectrum plugin 'plug_power.c' was made to work today.

----------------------------------------------------------------------

20 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bugs in imseq.c
       - During 'image processing' of complex images, one reference to
           input image 'im' had not been changed to 'lim' (the locally
           processed copy).
       - If ISQ_make_image fails, the XImage 'seq->given_xim' would
           be NULL.  This is now detected, and ISQ_show_image won't
           try to put this NULL image to the screen (which would
           cause a Segmentation error).
    * Minor changes to afni_plugin.c
       - Added reminder of current 'view' at top of plugin dataset chooser.
       - Added [c] reminder of current controller in plugin shell widget
           titlebar and icon label strings.
    * Minor changes to afni_graph.c
       - Changed time increment event from Button2 to Shift or Ctrl
           with Button1.  This is to allow the eventual dedication of
           Button2 events to plugins.

----------------------------------------------------------------------

18 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified mri_read.c so that '# line' comments in pgm files
       can be read.  This lets AFNI programs read pgm files created
       from programs like 'xv'.
    * Changed plugin callable functions/macros in afni_plugin.[ch]
       to start with PLUTO (PLugin UTility Operation).

----------------------------------------------------------------------

14 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in 3ddata.h macro FILECODE_TO_PREFIX so that the
       last '+' in the filecode is used to find the prefix,
       rather than the first '+'.  This fixes a problem with
       datasets whose prefix contains a '+' character.

----------------------------------------------------------------------

12 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * afni_plugin.c changes
       - Modified PLUGIN_prefix_ok in afni_plugin.c to check for
           duplicate prefixes, as well as for illegal characters in
           the prefix string.
       - Routine PLUGIN_force_redisplay will make all im3d units
           redraw their windows.
       - Routine PLUGIN_copy_dset will copy a dataset, including
           the bricks.
       - Added helpstring to the plugin interface, and a 'Help'
           button to popup a plugin-supplied message.
    * Modified afni to allow separate control of warp-on-demand for
       anatomy and functional datasets.  When a plugin directly
       modifies a Talairach dataset brick, for example, then if it
       is set to warp-on-demand, the display won't be affected,
       since the program always warps from the +orig brick.  Under
       the old scheme, if the anat were w-o-d, then the func had
       to be w-o-d as well.  In the situation where the anat dataset
       brick does not exist in Talairach coords, then the effect of
       the plugin would be invisible if the user couldn't force
       the function to be view-brick independent of the anatomy.
    * Fixed an old bug in THD_dset_in_sessionlist (3ddata.c) that
       returned the wrong session index.

----------------------------------------------------------------------

11 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed (sort of) sizing problem in afni_plugin.c creation
       of plugin interface windows.
    * Wrote routine for plugin to load a new dataset into the
       current session of a controller window.

----------------------------------------------------------------------

09 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed bug in afni_plugin.c that failed to check certain
       datasets for inclusion in the dataset choosers.
    * Modified BHelp to include color and border controls.
    * Incorporated Doug Ward's changed version of editvol.[hc],
       which adds various cluster editing and volume filtering
       options to 3dmerge.c (et al.).

----------------------------------------------------------------------

07 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changed 3ddata.c to allow use of AFNI_TS_PATH as an alternate
       to AFNI_TSPATH.  If neither environment variable exists,
       then the path './' will be used as a last resort.
    * Something similar done in afni_plug.c with AFNI_PLUGIN_PATH.
    * Made the switchview callback in afni.c pop down the strlist
       chooser.  This is because a plugin interface will only be
       allowed to choose from current view datasets, and if such
       a view switch is made, the list of choosable datasets must
       be modified.  The simplest way to do this is to make the
       user start the choice process over.

----------------------------------------------------------------------

06 Oct 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed use of '==' in assignment statement in 3ddata.h.
    * afni_plugin.c now has
       - working widget creation and popup routines
       - plugin callable routines to extract values from
           user selected options from the interface

----------------------------------------------------------------------

30 Sep 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * After several false starts, finally begin creation of plugin code.
       This is after conversations with Mike Beauchamp and Jay Kummer.
       Yesterday and today
         - afni_plugin.h has interface structures defined;
         - afni_plugin.c has interface definition routines and
             widget creation routines;
         - machdep.h has new #define's to set the type of
             dynamic library loading to use.
       Much more to come.
    * Modified MCW_widget_geom in xutil.h to properly deal with
       the case of unrealized widgets -- must use XtQueryGeometry
       instead of XtGetValues.

----------------------------------------------------------------------

07 Sep 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified -tfico option in 3dmerge.c to allow some of the datasets
       to be of the fith type.  If all of them are fico, then the output
       will be fico (with degrees-of-freedom parameters summed), otherwise
       the output will just be fith.
    * Added '-q' == 'be quiet' option to fim2.

----------------------------------------------------------------------

01 Sep 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Moved rescan pushbutton from hidden menu to datamode control panel.
    * Modified 3dmerge.c to allow merger of thresholds in datasets as
       well as intensities.  Uses a new '-t*' type of flag -- the only
       one implemented so far is '-tfico', which requires all inputs
       to be of the fico dataset type.  See the '-gfisher' merger mode
       given earlier.

----------------------------------------------------------------------

29 Aug 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * If a session directory has functions but no anatomies, then
       afni.c now prints out a warning message instead of just
       skipping it silently.  [Prompted by Chris Wiggins.]
    * If a dataset has parent IDCODEs, then the corresponding
       parent name will not be set in 3ddata.c.  This is to prevent
       confusion.

----------------------------------------------------------------------

28 Aug 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed routine T3D_fix_dataset_dimen() in to3d.c to clear the
       data brick pointers of the OLD number of bricks, not the
       NEW number of bricks.  This error caused to3d to crash when
       going from a dataset type with large nvals to small nvals,
       since some sub-brick pointers were not being properly cleared.
       [This error only manifested itself on SGI machines, and
        was found by Christopher Wiggins.]
    * Made all routines in mri_write.c return a count of the number
       of files they successfully wrote out (instead of returning void,
       as before).  [This change was prompted by Doug Ward.]

----------------------------------------------------------------------

13 Aug 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Altered autoRange and userRange controls (in Define Function
       control panel) in afni to
         a) always allow the user to set the range, even for thresholds
         b) eliminate the inversion to indicate the autoRange is on
         c) compute the autoRange for thresholds as well as fims
       These changes also eliminate a bug (feature?) where the user could
       set 'Func=Threshold' (SHOWFUNC_THR), which would formerly disable
       these controls, then switch to another dataset where they would
       not properly be re-enabled.
    * Added function AFNI_rescan_session to afni_func.c, which will close
       all the datasets in a session, then re-read the session directory
       to make a new set of datasets.  At present, this is actuated from
       the 'hidden' popup menu.  Tricky points are catching all pointers
       to datasets that are in the rescanned session, since they will
       change, and dealing with the case when the user deletes some
       dataset files.

----------------------------------------------------------------------

09 Aug 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed scaling bug in editvol.c EDIT_one_dataset's clip code.
       For shorts scaled to floats, clip values were computed as
       integers, which gave truncation errors in some cases.  Now,
       clip values are computed as floats, then converted to
       integers, with appropriate min- and max-ing.
    * Also added -1uclip and -2uclip options to EDIT_.  See
       '3dmerge -help' for information.

----------------------------------------------------------------------

08 Aug 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added '-gfisher' option to 3dmerge.c, for purpose of averaging
       correlation coefficient bricks.  Fixed a bug in this program
       that took the DSET_BRICK_FACTOR from the input dataset
       before editing, which is a mistake, since editing might alter
       this scaling factor.
    * Changed output format from %14.7g to %13.6g in 3dinfo.c.  This
       tends to suppress the annoying roundoff error in the scaled
       statistics report.

----------------------------------------------------------------------

07 Aug 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed another bug in afni_slice.c about the new NN code.  The
       allocation macro MAKE_IBIG failed to take into account that
       the array ib[] index would run from 0..'top', and it only
       allocated 'top' entries, whereas it should do at least 'top+1'.

----------------------------------------------------------------------

06 Aug 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Fixed a bug in afni_slice.c about the new NN code.  The code
       now doesn't use the 'parallel' fast mode unless both the
       inner and outer axes are parallel.
    * Fixed a bug in 3ddata.c, where the taxis wasn't properly set on
       input of a 3D+t dataset if no slice offset data was input.
       This would cause a crash when trying to delete a dataset.
    * Added '-warp_4D' switch to afni to allow output of 3D+t datasets
       in Talairach coordinate.  Consumes huge amounts of disk space
       and CPU time.
    * Removed fsync() because of time penalty.

----------------------------------------------------------------------

02 Aug 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified FD2.c to show average pixel value over frame as well as time,
       when 'AvIm' is being used.   Also added 'b' keypress to toggle
       common baselines for graphs.
    * Added SEEK_ constants back to mri_read.c, since C compiler on sparky
       doesn't have them in stdio.h.
    * Fixed 'afni -im' problem with inversion of top_form during waits --
       the program didn't turn the inversion off correctly.  This error
       was due to the 'dangling else' problem.  The addition of a {}
       pair fixed it right up.  Moral of the story: don't be stupid.

----------------------------------------------------------------------

01 Aug 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified imseq.c and afni.c to allow the user to toggle between
       periodic montages and 'no wrap' montages.  Added a toggle button
       'Wrap' next to the crosshair 'Gap' menu.
    * Modified crosshairs in afni.c so that in 'Single' mode with a
       grapher active, then only the frame showing the graphed voxels
       is drawn.  In 'Multi' mode, both the frame and the crosshairs
       will be shown.

----------------------------------------------------------------------

31 Jul 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Changed to3d to prevent creation of 3D+time functional datasets.
       Modified to3d -help to reflect this, and added 'Nz = %d' to the
       3D+time information label in the to3d widget panel.

----------------------------------------------------------------------

30 Jul 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Modified MCW_file_expand routine to properly glob files specified
       in the form 3D:a:b:c:d:e:fname, where only 'fname' will have the
       wildcards.  To3d help printout now reflects this change.
    * Used fsync(fileno()) to ensure that writes of .BRIK files are
       flushed to disk -- in afni_func.c and 3ddata.c.
    * Don't do shadow color changing in 'colormenus' unless the widget is
       realized, since this causes BadDrawable error on Linux (Motif 2.0).
    * Changed most popup widgets to be of class 'menu', which means that
       their background color can now be changed separately.
    * Changed operation of -R option in afni to limit levels of recursion.
       Mostly involved changing the routine THD_get_all_subdirs in 3ddata.c.

----------------------------------------------------------------------

29 Jul 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added shadow color changing code to 'colormenu' widgets in bbox.c --
       this gives a little visual feedback when a color is selected.
    * Used 'glob' routines from tcsh-6.05 to allow filename globbing
       on non-POSIX systems without the glob routines (like SGIs).

----------------------------------------------------------------------

25 Jul 1996, RW Cox, Miscellaneous, level 1 (MICRO), type 0 (GENERAL)
    Older History stuff

    * Added Button 2 click (time_index += 1 or -= 1) to afni_graph.c
       [N.B.: this change was later removed with the drawing plugin.]

----------------------------------------------------------------------

24 Jul 1996, RW Cox, Miscellaneous, level 5 (SUPERDUPER), type 0 (GENERAL)
    Oldest History stuff

    AFNI was created in summer 1994 (but some parts date to the 1980s).
    However, no formal log was made of changes until this date in 1996.
    So this is the beginning of AFNI historiography.
      'Lately it occurs to me: What a long, strange trip it's been.'