AFNI Detailed History


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

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_scritps.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 permision, 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 udpates

    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 preform 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 mininum 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 compatability.

    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)
    Miniscule 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 agressive 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 datsets

    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 paied 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 displacments 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 mis-match 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 .

    Documentaiton 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 neighoring 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 nothing 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 documentaiton 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

    Proces 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 specificies 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 displacments.  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 selctions 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)
    mcw_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() insead
    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 nothing 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 possibilty 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
    ing outputs for SUMA network/matrix viewing.New option as well, `-mini_pro
    b', 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 obsolte. -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 unsinged 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 speres 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 tickness 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 paramter, 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 intented 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 possiblity 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)
    Modifed 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 correspoding node on the smoothwm surface. This was
    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 nothin 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 SATE

    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.

    Prolem 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 comaptibility 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 precendence. 
    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 registation 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()