AFNI HISTORY

level 3 and higher

The levels of importance go from 1 to 5, with meanings:
       1 - users would not care
       2 - of little importance, though some users might care
       3 - fairly important
       4 - a big change or new program
       5 - IMPORTANT: we expect users to know


generated via the command : afni_history -html -reverse -min_level 3 

---- log of AFNI updates (most recent first) ---- 29 Mar 2024, RC Reynolds, ap_run_simple_rest_me.tcsh, level 3 (MAJOR), type 1 (NEW_PROG) run a quick afni_proc.py resting state analysis for QC on multi-echo data
18 Mar 2024, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 6 (ENHANCE) auto-include APQC_atlas for compute_tsnr_stats, if appropriate And add -regress_compute_auto_tsnr_stats.
15 Feb 2024, RC Reynolds, compute_ROI_stats.tcsh, level 3 (MAJOR), type 1 (NEW_PROG) compute per-ROI region statstics over a given dataset It is a little like 3dROIstats, but with needs specific to afni_proc.py.
19 Feb 2023, RC Reynolds, build_afni.py, level 3 (MAJOR), type 1 (NEW_PROG) compile AFNI - download from github - download AFNI atlases - compile - suggest rsync (will apply with some options, later)
06 Jan 2023, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 2 (NEW_OPT) Add '-vstat_list' opt, so user can enter label bases for vstat in APQC. HTML still has up to 5 automatically chosen vols by def in vstat.
23 Dec 2022, RC Reynolds, init_user_dotfiles.py, level 3 (MAJOR), type 1 (NEW_PROG) evaluate or initialize dot/RC files for running AFNI From the perspective of: i) adding a directory (ABIN?) to the PATH ii) sourcing the apsearch all_progs.COMP file (per shell) iii) (for macs) adding flat_namespace to DYLD_LIBRARY_PATH
14 Nov 2022, RC Reynolds, find_variance_lines.tcsh, level 3 (MAJOR), type 1 (NEW_PROG) (w PT/DG) look for columns of high temporal variance in time series Will be a recommended QC option in afni_proc.py.
05 Oct 2022, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 6 (ENHANCE) Output a run_instacorr_errts.tcsh script in the results directory. Very useful for data QC. Use it. Quick now, here, now, always...
22 Apr 2022, RC Reynolds, Dimon, level 3 (MAJOR), type 2 (NEW_OPT) add -sort_method cases rin and geme_rin
14 Apr 2022, P Taylor, @djunct_modal_smoothing_with_rep, level 3 (MAJOR), type 4 (BUG_FIX) Replacement was not occurring if ROIs were purged by modal smoothing. Fixed that bug, hopefully improving robustness to such error in future.
01 Mar 2022, RC Reynolds, nifti_tool, level 3 (MAJOR), type 2 (NEW_OPT) allow conversion between any 2 int or float types (except float128) Add -copy_image, -convert2dtype, -convert_verify, -convert_fail_choice. Conversion operations happen in nt_image_read and nt_read_bricks, and can therefore be applied to most data-included operations. Requested by J Teves.
18 Feb 2022, RC Reynolds, @Install_APMULTI_Demo2_realtime, level 3 (MAJOR), type 1 (NEW_PROG) new install script for APMULTI_Demo2_realtime This is a demo for running AFNI's real-time system, without needing to bother the scanner. It demonstrates use if single- and multi-echo DICOM input, and various sets of data that can be passed from afni to an external program (realtime_receiver.py in this case).
25 Jan 2022, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL) Update QC block: vorig now shows the 'copy_anat' dset. Applies in all cases; AP just passes along uvar. Thanks, RCR!
20 Jan 2022, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL) Update QC block: vstat (for task-based FMRI cases). There will now be typically up to 5 stats dsets shown (GLT and other).
18 Jan 2022, RC Reynolds, @Install_APMULTI_Demo1_rest, level 3 (MAJOR), type 1 (NEW_PROG) (w/PT) new install script for APMULTI_Demo1_rest This is a demo for running various multi-echo processing methods on resting state data via afni_proc.py. (renamed from @Install_AP_MULTI_DEMO1) 18 Jan 2022, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL) Add a new QC block: mecho. This is for multi-echo (ME) FMRI; mostly for m_tedana right now.
29 Sep 2021, P Taylor, 3dAllineate, level 3 (MAJOR), type 0 (GENERAL) 3dAllineate: set -lpa+ to re-include 'ov' in its recipe---for stability. This makes it closer to historical form (but no 'mi' still).
20 Jul 2021, RW Cox, NIML library, level 3 (MAJOR), type 4 (BUG_FIX) NIML file: input failed if file over 2BG in size Due to storing filesize in int/long. Fix was to make it stored in int64_t, and fixing a few other places.
24 May 2021, P Taylor, @animal_warper, level 3 (MAJOR), type 0 (GENERAL) Several small updates for convenience and organization: help updated... more QC images; split intermediate text desc; new cmd_log.
17 May 2021, DR Glen, lesion_align, level 3 (MAJOR), type 1 (NEW_PROG) Alignment for data with large lesions Developed for hemispherectomy and lobectomy data. May be applicable to stroke and smaller lesion data too
06 Apr 2021, RC Reynolds, ap_run_simple_rest.tcsh, level 3 (MAJOR), type 1 (NEW_PROG) run a quick afni_proc.py resting state analysis for QC
24 Mar 2021, P Taylor, 3dBrickStat, level 3 (MAJOR), type 4 (BUG_FIX) Fix bug: having non-full-FOV mask + perc calcs affected other calcs. Calcs should now be consistent even with those opts used. Thanks, RCR.
27 Feb 2021, DR Glen, clang macos 11 M1-ARM mods, level 3 (MAJOR), type 0 (GENERAL) Makefile changes for ARM builds for new Macs Makefile, misc. changes for building for M1
07 Feb 2021, DR Glen, clang+gcc10 macos 10.15 mods, level 3 (MAJOR), type 4 (BUG_FIX) Lots of little code fixes to handle compiler warnings Makefile updated and some long outstanding issues fixed
19 Oct 2020, P Taylor, @djunct_overlap_check, level 3 (MAJOR), type 1 (NEW_PROG) Make of overlap of 2 datasets (esp for pre-align check, AW or SSW). Will make both non-obl and 3dWarp-deob'ed images of olap (and report). 19 Oct 2020, P Taylor, @animal_warper, level 3 (MAJOR), type 0 (GENERAL) Simplifying output dir: Phase II and III. Thanks again, B Jung! New intermediate dir, animal_outs update, helpfile rewritten.
27 Aug 2020, P Taylor, @animal_warper, level 3 (MAJOR), type 5 (MODIFY) Well, usage+output shouldn't really change, but it should be more stable. There is also a new opt: -align_centers_meth (read the help).
31 Jul 2020, P Taylor, @Install_MACAQUE_DEMO, level 3 (MAJOR), type 1 (NEW_PROG) Install MACAQUE_DEMO_REST_1.0, for macaque resting state FMRI examples. Has a '-lite_version' opt for truncated EPI version, smaller download.
30 Jul 2020, P Taylor, @Install_MACAQUE_DEMO, level 3 (MAJOR), type 0 (GENERAL) Now install MACAQUE_DEMO_2.1, which should be the new normal. Script checks for things on install, makes recs, more full demo.
01 Jul 2020, P Taylor, @Install_NMT, level 3 (MAJOR), type 1 (NEW_PROG) Installer for the NIMH Macaque Template(s) v2, and the CHARM (atlases). Courtesy of Ben Jung, Adam Messinger, et al.
10 Jun 2020, P Taylor, convert_cdiflist_to_grads.py, level 3 (MAJOR), type 1 (NEW_PROG) For GE scanners, we might want a cdiflist* file for DWI grad info. This prog converts such beasts into usable grad/bvalue files for proc.
03 Jun 2020, P Taylor, lib_mat2d_plot.py, level 3 (MAJOR), type 0 (GENERAL) Many updates to functioning, defaults, reading argv, applying user opts. Help file added as well; works with main proc: fat_mat2d_plot.py. 03 Jun 2020, P Taylor, fat_mat2d_plot.py, level 3 (MAJOR), type 1 (NEW_PROG) FINALLY, a python3 program to plot 3dTrackID and 3dNetCorr output. Plots *.grid and *.netcc files; replaces fat_mat_sel.py.
30 May 2020, P Taylor, @djunct_modal_smoothing_with_rep, level 3 (MAJOR), type 1 (NEW_PROG) Perform modal smoothing, and go back and add in any ROIs that were lost. May be useful in @animal_warper; may be good to add mask stuff, too. 30 May 2020, P Taylor, @animal_warper, level 3 (MAJOR), type 0 (GENERAL) Default modal smoothing now is with replacement of any lost ROIs. Uses @djunct_modal* script; opt to not replace. More QC images now, too.
26 May 2020, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL) Two major changes in output: ve2a and LR-flipcheck now have EPI as ulay. Most anats are SSed, so better edges? Thanks for suggestion, O Esteban! 26 May 2020, P Taylor, @djunct_edgy_align_check, level 3 (MAJOR), type 0 (GENERAL) Several changes to make this appropriate using EPI as ulay. New opts, couple small bug fixes, couple tweaks.
21 May 2020, P Taylor, afni_seeds_per_space.txt, level 3 (MAJOR), type 0 (GENERAL) Keep up with change of macaque standard space naming: stereoNMT -> NMT2. 'stereoNMT' is an ex-parrot. 21 May 2020, P Taylor, adjunct_aw_tableize_roi_info.py, level 3 (MAJOR), type 1 (NEW_PROG) Adjunct program for @animal_warper.py; build ROI report table. Thanks to D Glen and A Messinger for helpful feedback+inputs. 21 May 2020, P Taylor, @animal_warper, level 3 (MAJOR), type 0 (GENERAL) Add reports of warped and unwarped ROIs, via adjunct_aw_tableize*.py. Thanks to D Glen and A Messinger for helpful feedback+inputs.
18 May 2020, P Taylor, @animal_warper, level 3 (MAJOR), type 0 (GENERAL) Large number of under-the-hood changes, as well as new opts. More general handling of followers and choosing file abbrevs.
12 Mar 2020, P Taylor, check_dset_for_fs.py, level 3 (MAJOR), type 0 (GENERAL) This program has been deemed unnecessary. Thanks for the FS folks for discussions/clarifications on this.
10 Mar 2020, RW Cox, 3dttest++, level 3 (MAJOR), type 6 (ENHANCE) Add dataset-level weights to 3dttest++ Per the request of users in Tulsa. New options -setweight[AB] allow user to provide weights for the importance of a user in the calculations.
25 Feb 2020, P Taylor, check_dset_for_fs.py, level 3 (MAJOR), type 0 (GENERAL) New min|max range on vox size; update report text. Based on tests with FS data.
19 Feb 2020, RC Reynolds, afni_python_wrapper.py, level 3 (MAJOR), type 1 (NEW_PROG) replaces afni_util.py as a main This program can theortically be used to call any AFNI python function from the shell.
12 Feb 2020, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT) add ability to compare against examples Add options -compare_opts, -compare_example_pair, -show_example and -show_example_names. Consider these examples: afni_proc.py -show_example 'Example 11b' afni_proc.py -show_example_names afni_proc.py ... my options here ... -compare_opts 'Example 11' Motivated by C Gaillard and P Taylor.
27 Jan 2020, P Taylor, @afni_refacer_run, level 3 (MAJOR), type 0 (GENERAL) Program now outputs QC images automatically. These are output into a PREFIX_QC directory each run. 27 Jan 2020, P Taylor, @SSwarper, level 3 (MAJOR), type 0 (GENERAL) Large set of updates; many new opts added, too; generally much improved warps. Heavily tested on 178 subj across studies; output fnames are same, though.
26 Jan 2020, P Taylor, @afni_refacer_run, level 3 (MAJOR), type 0 (GENERAL) This program now requires specifying a mode for re/defacing. One can also output all types of re/defacing simultaneously.
24 Jan 2020, P Taylor, @afni_refacer_run, level 3 (MAJOR), type 0 (GENERAL) This program has been revamped and updated, including having a new ref vol. Syntax for running this has totally changed (options exist). 24 Jan 2020, P Taylor, @afni_refacer_make_master_addendum, level 3 (MAJOR), type 0 (GENERAL) This program just records additional tweaks to refacer ref vol. Not really meant to be run on its own; for future reference only.
22 Jan 2020, RW Cox, 3dREMLfit, level 3 (MAJOR), type 6 (ENHANCE) Compute Ljung-Box statistic for -Rvar dataset. Provides a measure of how temporally correlated each voxel's pre-whitened residuals are. Small LB value = good fit by the ARMA(1,1) model. Sub-brick is coded as a chi-squared statistic for use in thresholding in the AFNI GUI. 22 Jan 2020, RC Reynolds, plug_realtime, level 3 (MAJOR), type 0 (GENERAL) add ROIs and data mask method Added corresponding demo: AFNI_data6/realtime.demos/demo_3_ROIs_n_data
13 Jan 2020, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL) New pieces of QC: first, seedbased corr maps for non-task data. Second, censor-based warnings (general and per-stim).
27 Dec 2019, P Taylor, check_dset_for_fs.py, level 3 (MAJOR), type 2 (NEW_OPT) New option(s) to not just *check* a dset for FS-ability, but to correct it. The '-fix_all' and accompanying options control this. Bonne idee, DRG!
26 Nov 2019, RW Cox, @afni_refacer_run, level 3 (MAJOR), type 6 (ENHANCE) Modify shell dataset to avoid some brain clipping Mostly by eroding the inside of the brain shell. Also a couple little tweaks to the script.
23 Oct 2019, P Taylor, check_dset_for_fs.py, level 3 (MAJOR), type 1 (NEW_PROG) Script to check properties of a dset, see if suitable for FS's recon-all. The check criteria have been built over time, empirically.
02 Oct 2019, P Taylor, epi_b0_correct.py, level 3 (MAJOR), type 0 (GENERAL) The naming convention of PE dist dir has been reversed; mask opts changed. PE dist dir should match with JSONs better; 3dmask_tool does masking now.
12 Sep 2019, P Taylor, epi_b0_correct.py, level 3 (MAJOR), type 0 (GENERAL) Output QC directory of images now, as well. Useful for quick QC. Later, will add some checks for obl, to not smooth unnec.
29 Aug 2019, P Taylor, @auto_tlrc, level 3 (MAJOR), type 0 (GENERAL) RE-introducing the program '@auto_tlrc' to the distribution. It had been mistakenly deleted somehow.
23 Aug 2019, P Taylor, epi_b0_correct.py, level 3 (MAJOR), type 4 (BUG_FIX) Fixed calculation when PE effective echo spacing is input. The conversion to BWPP was wrong; led to almost no distortion corr.
15 Aug 2019, P Taylor, epi_b0_correct.py, level 3 (MAJOR), type 0 (GENERAL) This program has been pretty fully revamped, and might be worth using now. New scaling from Vinai, several updates/fixes/changes from last ver. 15 Aug 2019, DR Glen, @animal_warper, level 3 (MAJOR), type 1 (NEW_PROG) Warp data to template and atlas segmentation to subject Tested for macaques. Derived from macaque_align.csh and NMT_subject_align.csh
25 Jul 2019, P Taylor, epi_b0_correct.py, level 3 (MAJOR), type 1 (NEW_PROG) Program to apply freq volume to EPI for B0 distortion correction. An honor to translate this program from one by Vinai Roopchansingh!
01 Jul 2019, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL) Labels on stim regressors, vorig QC block added, grayplot pbvorder/enorm. Help updated; output stats still if not align/tlrc blocks used.
25 Jun 2019, P Taylor, 3dSkullStrip, level 3 (MAJOR), type 5 (MODIFY) Dset orient should no longer affect results (b/c of var of init cond). Intermediate resampling now reduces/removes var due to start.
22 May 2019, P Taylor, apqc_make_tcsh.py, level 3 (MAJOR), type 0 (GENERAL) Somewhat big changes: warns block updated and radcor block added. Left-right flip and @radial_correlate checks now in; other tweaks.
18 Apr 2019, P Taylor, @SSwarper, level 3 (MAJOR), type 2 (NEW_OPT) Include -deoblique and -giant_move opts. For oblique data, and/or heavily rotated, shifted, etc.
11 Apr 2019, DR Glen, whereami, level 3 (MAJOR), type 3 (NEW_ENV) Brainnetome atlas This atlas is now included in the standard distribution This also is in the default list of atlases
07 Apr 2019, DR Glen, whereami, level 3 (MAJOR), type 3 (NEW_ENV) Eickhoff-Zilles 2.2 MPM atlas This atlas is the newer 2.2 version of the MPM atlas This atlas replaced the 1.8 version in the list, but both are kept in the binary distribution
05 Apr 2019, DR Glen, whereami, level 3 (MAJOR), type 3 (NEW_ENV) HCP Glasser atlas in AFNI atlases Mike Beauchamp and Meghan Robinson contributed atlas Now included and first in default list too This atlas is in MNI space (not in its original Contee grayordinate surface space. Additionally, all the pmaps (probability maps) have been removed from the standard distribution and default list
07 Mar 2019, RC Reynolds, gen_ss_review_table.py, level 3 (MAJOR), type 2 (NEW_OPT) add -report_outliers and support options Add -report_outliers_{fill,header}_style, -write_outlier, and -outlier_sep for controlling the table presentation. Will use -write_table instead of -tablefile going forward.
19 Feb 2019, P Taylor, apqc_make_tcsh.py, level 5 (SUPERDUPER), type 0 (GENERAL) Much functionality changed/improved (hopefully). More output, better formats, help and HTML framework. 19 Feb 2019, P Taylor, apqc_make_html.py, level 5 (SUPERDUPER), type 0 (GENERAL) Much functionality changed/improved (hopefully). More output, better formats, help and HTML framework.
19 Dec 2018, P Taylor, @djunct_montage_coordinator, level 3 (MAJOR), type 4 (BUG_FIX) This montage coordinator was noooot picking the right vol to focus on. That should be fixed via magical incantations now.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
04 May 2018, JK Rajendra, BayesianGroupAna.py, level 4 (SUPER), type 1 (NEW_PROG) New program to perform Bayesian group analysis on ROI level data.
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.
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.
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.
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
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.
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.
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.
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
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.
07 Nov 2017, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 6 (ENHANCE) python3 compatible as of version 6.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.
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.
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
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
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.
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).
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).
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.
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.
01 Mar 2017, RW Cox, 3dUnifize, level 3 (MAJOR), type 2 (NEW_OPT) Add -EPI option, to unifize time series datasets.
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.
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.
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.
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!
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.
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.
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.
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)
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
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.
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.
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.
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.
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).
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.).
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.
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!
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 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.
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 .
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.
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.
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.
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.
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
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.
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.
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.
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
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.
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...
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.
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, 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.
18 Mar 2015, RC Reynolds, sphinx, level 3 (MAJOR), type 6 (ENHANCE) added unix_tutorial to the doc tree
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.
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.
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
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.
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.
15 Dec 2014, P Taylor, 3dROIMaker, level 3 (MAJOR), type 2 (NEW_OPT) Make a subset of an ROI by choosing maximal neighboring values. Start with peak value, add neighboring max until N voxels selected.
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?
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.
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.
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.
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.
20 Oct 2014, DR Glen, Haskins Pediatric templates and atlases, level 3 (MAJOR), type 0 (GENERAL) Nonlinear and affine versions of Haskins Pediatric templates and atlases New templates with matching segmentation atlases are provided for pediatric subjects, ages 8-12
17 Oct 2014, ZS Saad, suma, level 3 (MAJOR), type 0 (GENERAL) Modifications for help generating functions New tools allow for automatic Sphinx formatted documentation straight from BHelp buttons. Added scrolling to arrow fields. 17 Oct 2014, ZS Saad, afni-general, level 3 (MAJOR), type 0 (GENERAL) Checked in first pass of SUMA sphinx documentation GUI documentation is automatically generated from BHelp text.
30 Sep 2014, ZS Saad, suma, level 3 (MAJOR), type 4 (BUG_FIX) Fixed bug with NUMLOCK keeping surfaces from rotating on linux!
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.
08 Sep 2014, P Taylor, fat_roi_row.py, level 4 (SUPER), type 1 (NEW_PROG) Select out one row of a matrix file, at user request. Useful, for example, if wanting to view connectivity one-to-many. 08 Sep 2014, P Taylor, fat_mvm_scripter.py, level 4 (SUPER), type 1 (NEW_PROG) Connect FATCAT with 3dMVM-- write a basic command call to 3dMVM. User specifies specific model, and awaaaay we go. 08 Sep 2014, P Taylor, fat_mvm_prep.py, level 4 (SUPER), type 1 (NEW_PROG) Connect FATCAT with 3dMVM-- combine CSV and matrix data. Build data table necessary for 3dMVM from MRI+other data. 08 Sep 2014, P Taylor, fat_mvm_gridconv.py, level 4 (SUPER), type 1 (NEW_PROG) Connect FATCAT with 3dMVM-- modernize format of old *.grid files. Prehistoric grid files had no labels. This updates them.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
21 Aug 2013, P Taylor, 3dProbTrackID, level 3 (MAJOR), type 5 (MODIFY) Putting together old deterministic and probabilistic programs into 1. Unifying tracking, will be easier to update/improve in future.For determin istic tracking, allow networks of target ROIs for tracking,as well as bund ling outputs for SUMA network/matrix viewing.New option as well, `-mini_pr ob', to have some probabilistic aspect todeterministic/tract-based output.
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
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).
31 May 2013, RC Reynolds, @simulate_motion, level 3 (MAJOR), type 1 (NEW_PROG) program to create time series simulated by motion parameters
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.
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.
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.
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
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
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, RC Reynolds, column_cat, level 3 (MAJOR), type 1 (NEW_PROG) like 'cat', except horizontally (see recent Unix command, 'paste')
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.
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)
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, RC Reynolds, 3dmask_tool, level 3 (MAJOR), type 1 (NEW_PROG) a program to manipulate mask datasets
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
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
14 Oct 2011, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT) now processes surface data - added 'surf' processing block, and corresponding '-surf_*' options: -surf_anat, -surf_spec, -surf_anat_aligned, -surf_anat_has_skull, -surf_A, -surf_B, -surf_blur_fwhm - compute errts and TSNR by default (had required option or blur est)
22 Sep 2011, RC Reynolds, uber_ttest.py, level 3 (MAJOR), type 1 (NEW_PROG) a graphical program for running either 3dttest++ or 3dMEMA Still under destruction.
11 Jul 2011, RC Reynolds, gen_ss_review_scripts.py, level 3 (MAJOR), type 1 (NEW_PROG) for generating single subject review scripts To be run by the afni_proc.py proc script or directly by users.
24 Jun 2011, RC Reynolds, slow_surf_clustsim.py, level 3 (MAJOR), type 1 (NEW_PROG) a temporary program until we do this in C
16 Jun 2011, ZS Saad, 3dSurfMask, level 3 (MAJOR), type 2 (NEW_OPT) Major improvements for mask creation and voxel distance computations Option -fill_method SLOW produces more accurate masks for voxels inside the closed surface. In addition, the program outputs a dataset with the shortest distance of each voxel to the surface. See examples under 3dSurfMask -help.
10 Jun 2011, DR Glen, whereami, level 4 (SUPER), type 0 (GENERAL) Generic Atlas Support and new atlases Atlases, spaces and transformations are now defined in a NIML file, AFNI_atlas_spaces.niml. Transformations among spaces for coordinates are defined in that file for use by whereami and the whereami display in the AFNI GUI. The flexible naming of the spaces and atlases allows easy addition of new atlases to AFNI processing. Two new environment variables control what atlases and spaces are shown when no atlas is specified, AFNI_ATLAS_LIST and AFNI_TEMPLATE_SPACE_LIST The list of atlases now defaults to the TT_Daemon and the Eickhoff- Zilles atlases in MNI_ANAT space. Additionally, the cytoarchitectonic atlases from the Zilles, Eickhoff group have been updated to the most recent version, 1.8. ***The previous versions, 1.5, are not used in this release by default. Depending upon differences on how regions or codes are defined and used, it is possible that processing scripts and results may be affected. With this release, we also introduce three probabilistic atlases donated by the Desai group generated from a typical AFNI pipeline. These atlases contain a multitude of regions created using both @auto_tlrc and FreeSurfer.
08 Jun 2011, ZS Saad, afni-general, level 3 (MAJOR), type 2 (NEW_OPT) Added -npb and modified title bar to reflect bloc of ports You can have multiple instances of programs talking to each other. See afni's help for details on the -npb option.
07 Jun 2011, ZS Saad, afni-general, level 3 (MAJOR), type 2 (NEW_OPT) Allow multiple instances of communicating programs per machine. This was done by generalizing option -np PORT_OFFSET which allows users to use a different set of ports for different AFNI/SUMA/etc. sessions.Port numbers should no longer be hard coded anywhere. New dedicat ed ports should be added to then new init_ports_list() function.
18 May 2011, ZS Saad, @RetinoProc, level 3 (MAJOR), type 2 (NEW_OPT) Added options for mapping to specific layers, and the use of delay The options -wm, -pial, etc. allow for tight control of mapping onto specific layers in the cortex. Option -delay improves latency estimation compare to using the phase of the fundamental frequency. 18 May 2011, ZS Saad, 3dRetinoPhase, level 3 (MAJOR), type 2 (NEW_OPT) Added options to 3dRetinoPhase to estimate latency as in 3ddelay The two options for computing delays, instead of phase, are -phase_estimate DELAY, and -ref_ts REF_TS . See program's -help for details. Also added -ort_adjust which is needed to account for lost DOF in external detrending when estimating the significance of correlation coefficients with delay estimation. The program now output a correlation coefficient with the visual field angles datasets. And speaking of correlation coefficients, the significance levels should be taken with a grain of salt, especially in derived datasets such as field angle, and VFR in SurfRetinoMap.
12 May 2011, RC Reynolds, uber_skel.py, level 3 (MAJOR), type 1 (NEW_PROG) A working skeleton for future uber programs. This is based on uber_align_test.py, version 0.2.
11 May 2011, RC Reynolds, uber_align_test.py, level 3 (MAJOR), type 6 (ENHANCE) added basic graphical interface, still need to add variable fields o also made single cost_list o also added -help_howto_program, which might move to a skeleton program
28 Apr 2011, RC Reynolds, uber_align_test.py, level 3 (MAJOR), type 1 (NEW_PROG) for testing EPI/anat alignment with various align_epi_anat.py options This is a command-line version, with a GUI to come soon.
25 Apr 2011, ZS Saad, afni-general, level 3 (MAJOR), type 5 (MODIFY) Major reorganization of 'whereami' functionality. The code changes affect anything related to atlas datasets and whereami functionality. The changes were made take advantage of Daniel Glen's new API to handle atlas, space, and template definitions. There is now very little reliance on hard coded atlas information in the source code. Whatever is left is needed to ensure backward compatibility.
07 Apr 2011, DR Glen, whereami, level 3 (MAJOR), type 3 (NEW_ENV) Framework changes for generic atlases Atlases now can have segmentation in a NIML structure attribute in the atlas dataset header. The environment variable, AFNI_CUSTOM_ATLAS, can contain a custom atlas prefix. Details on NIML attributes will be forthcoming. In the meantime, existing atlases should work as before with the minor exception of mask datasets are now set to have voxel values of 1 rather than the values from the atlas dataset.
20 Mar 2011, RC Reynolds, uber_subject.py, level 3 (MAJOR), type 6 (ENHANCE) handle symbolic GLTs, etc.
15 Feb 2011, RC Reynolds, uber_subject.py, level 4 (SUPER), type 1 (NEW_PROG) added CLI (command-line interface), generates basic afni_proc.py script Many enhancements yet to come.
04 Jan 2011, RC Reynolds, Dimon, level 3 (MAJOR), type 6 (ENHANCE) version 3.0 : handle Siemens Mosaic formatted files - depend on libmri, return MRI_IMARR from mri_read_dicom, changes for oblique and mosaic processing - mri_read_dicom.c: g_info (process control), g_image_info (Dimon) replaced DEBUG_ON/debugprint with g_info.verb, many small changes - mri_dicom_elist.h: merged with dimon_afni.h - mcw_glob.[ch]: control sort direction via rglob_set_sort_dir()
08 Nov 2010, RC Reynolds, gen_group_command.py, level 3 (MAJOR), type 2 (NEW_OPT) can now generate 3dttest++ commands
05 Nov 2010, ZS Saad, 3dkmeans, level 3 (MAJOR), type 1 (NEW_PROG) 3dkmeans is a program for performing kmeans clustering Program was written by A. Vovk and Z. Saad, based on The C clustering library. Copyright (C) 2002 Michiel Jan Laurens de Hoon. See suma -sources for copyright details See 3dkmeans -help for usage details.
25 Oct 2010, RC Reynolds, gen_group_command.py, level 3 (MAJOR), type 1 (NEW_PROG) a program to generate group commands (3dMEMA for now) Commands to come: 3dttest(++), 3dANOVA*, GroupANA.
29 Sep 2010, G Chen, 1dSVAR.R, level 3 (MAJOR), type 1 (NEW_PROG) Structural vector autoregression (SVAR) This is an R program that incorporates both instantaneous and lagged effects in an SVAR model for ROI-based network analysis. See more details at https://afni.nimh.nih.gov/sscc/gangc/SVAR.html
10 Sep 2010, DR Glen, afni_all, level 3 (MAJOR), type 5 (MODIFY) Introduce code allowing multiple space sessions but limited to existing spaces (ORIG, ACPC, TLRC) so should continue to be transparent. Datasets are now tagged with space attribute, TLRC/MNI/MNI_ANAT, and defines which kind of template a dataset has been aligned to. This attribute is handled by @auto_tlrc, adwarp, 3drefit, whereami, and the AFNI GUI using the whereami GUI. In the AFNI GUI, this has the effect of allowing a dataset to be identified by its template with the transformation to the TLRC or other atlas space handled automatically. Other AFNI programs should apply the template space of the master dataset or first dataset to the output. cvs tag marked on code before this change as mid-atlantic
26 Aug 2010, ZS Saad, @auto_tlrc, level 3 (MAJOR), type 4 (BUG_FIX) Fixed bug in @auto_tlrc in usage 2 mode AND with no suffix There was a bug in @auto_tlrc for the last 2 months: from June 30, 2010 until August 26, 2010. It occurs only when using auto_tlrc in: usage 2 mode AND with -suffix omitted, or set to NONE. This bug does not affect your data if you had used adwarp -apar, or if you put your data in TLRC space via afni_proc.py, or align_epi_anat.py. The bug essentially results in a renaming of your follower dataset, without the spatial transformation. So, if you were applying the transform to epi+orig, it practically got renamed to epi+tlrc. Despite the +tlrc in the name, epi+tlrc would still be in +orig view and you no longer have epi+orig on disk. Examples of affected commands would be: @auto_tlrc -apar anat+tlrc -input epi+orig or @auto_tlrc -apar anat+tlrc -suffix NONE -input epi+orig The script did produce Error messages but it failed to stop. If you think you ran the buggy command (a clear symptom would be missing +orig datasets AND bad alignment in TLRC of course), you must download the latest binaries and rerun @auto_tlrc after you have recreated the +orig files. You can also just get @auto_tlrc at the link below. Sorry for this, I had tested complicated option combinations on the last release, but all tests had used the -suffix option. () Binaries postdating this message will contain the new script. You can also get a corrected version of @auto_tlrc at this link: Thanks To James Blair for finding the bug.
23 Aug 2010, ZS Saad, SurfRetinoMap, level 3 (MAJOR), type 1 (NEW_PROG) Calculates Visual Field Signs from visual field angle data 23 Aug 2010, ZS Saad, @RetinoProc, level 3 (MAJOR), type 1 (NEW_PROG) Packages processing step for phase-based retinotopic mapping. See @RetinoProc -help for details 23 Aug 2010, ZS Saad, 3dRetinoPhase, level 3 (MAJOR), type 1 (NEW_PROG) Calculate visual field angle from phase-based retinotopy data.
29 Jul 2010, RW Cox, 3dttest_new, level 3 (MAJOR), type 1 (NEW_PROG) New and improved version of 3dttest! With covariates, including per-voxel covariates! It slices, it dices! But wait, there's more! For no extra charge, it masks!
14 Jul 2010, DR Glen, afni_all, level 3 (MAJOR), type 5 (MODIFY) Beginning to introduce code for allowing multiple spaces and atlases These code changes should initially have no effect on functionality and provide only a framework for introducing changes cvs tag marked on code before this change as pre-atlantic
07 Jul 2010, RW Cox, 3dClustSim, level 3 (MAJOR), type 1 (NEW_PROG) Like AlphaSim, but faster and terser output Computes C(p,a) = cluster size threshold for a range of p and a values: p = per-voxel (uncorrected) threshold p-value a = corrected probability level desired = probability of at least one noise-only cluster happening when the cluster size threshold is C(p,a) Optimized to use OpenMP for speed.
03 Jun 2010, RC Reynolds, plug_realtime, level 3 (MAJOR), type 6 (ENHANCE) added ability to register merged data and possibly all channels Via MergeRegister, one can request to register the ChannelMerge dataset. The individual channels can also be 'registered' via the same parameters as the ChannelMerge dataset. Requested by J Hyde, A Jesmanowicz, D Ward of MCW.
26 May 2010, RW Cox, 3dGroupInCorr, level 3 (MAJOR), type 5 (MODIFY) Add -covariates option With coordinated changes to AFNI to deal with the possibly more complicated dataset that will arrive. And some minor changes to 3dSetupGroupInCorr to match.
31 Dec 2009, RW Cox, 3dGroupInCorr, level 3 (MAJOR), type 1 (NEW_PROG) Group InstaCorr With changes to afni and also new program 3dSetupGroupInCorr
25 Nov 2009, ZS Saad, MapIcosahedron, level 3 (MAJOR), type 2 (NEW_OPT) Added -NN_dset_map and -dset_map options to map dsets onto new meshes The program now automatically warps LabelDsets specified in the spec file, or any dataset specified on the command line.
17 Nov 2009, ZS Saad, suma, level 3 (MAJOR), type 2 (NEW_OPT) SUMA now handles labeled datatets in a special manner An example of a labeled dataset would be FreeSurfer's annotation files. If an annotation file is present in the spec file (@SUMA_Make_Spec_FS), SUMA will display it as part of the background. You can chose to display the labeled dataset in color, contours, or both. Data from labeled datasets is now shown under the 'Lbl' field in the surface controller's Xhair block.
19 Oct 2009, DR Glen, align_epi_anat.py, level 3 (MAJOR), type 2 (NEW_OPT) New master options, dset1/2 terminology New master_nnn_dxyz options to specify output resolution dset1 and dset2 for non-EPI/anat alignment with lpa cost function and turns off preprocessing steps giant_move option turns off resampling and changes master options Expanded help - including fuller description of edge method Removed volume registration (motion correction) for anat2epi option by default. AFNI dataset views (+orig/+acpc/+tlrc) are maintained in output depending on BASE, SOURCE or external dataset names for all output
06 Oct 2009, ZS Saad, suma, level 3 (MAJOR), type 4 (BUG_FIX) More bug fixes related to ROI loading, and OSX's GLX problem
29 Sep 2009, RW Cox, afni, level 3 (MAJOR), type 5 (MODIFY) InstaCalc is more-or-less ready At least, I let Mike Beauchamp test it for his cunning plans.
24 Sep 2009, ZS Saad, suma, level 3 (MAJOR), type 4 (BUG_FIX) Fixed crashes on OS X 10.5 caused by OS X's buggy GLX implementation
22 Jul 2009, RC Reynolds, realtime_receiver.py, level 3 (MAJOR), type 1 (NEW_PROG) python replacement for serial helper New 'data_choice' options can be added to compute_data_for_serial_port for sending results of a different computation to the serial port.
17 Jun 2009, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT) version 2.0 : call e2a alignment and warp to standard space ready - mask warped EPI by its extents (at volreg step) - added -volreg_no_extent_mask, to block this masking - added 'extents' to list of mask in -mask_apply - change block dividers to more visual '===' with block names
20 May 2009, G Chen, 3dMEMA.R, level 4 (SUPER), type 1 (NEW_PROG) Mixed-Effects Meta Analysis (MEMA) This is an R program that runs group analysis in a truly random mixed-effects sense by taking both beta and t-statistic as input instead of beta value only in the conventional method. See more details at https://afni.nimh.nih.gov/sscc/gangc/MEMA.html
19 May 2009, ZS Saad, @ROI_Corr_Mat, level 3 (MAJOR), type 1 (NEW_PROG) A script to calculate correlation matrices between ROI time series Calculates the correlation matrices between average time series from ROIs defined in a mask volume. Script was written with Hang Joon Jo.
15 May 2009, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT) added -volreg_tlrc_warp option: can warp to standard space at volreg step
06 May 2009, RW Cox, afni, level 3 (MAJOR), type 2 (NEW_OPT) First edition of InstaCorr! Rough around the edges, but gnarly-ific to the level of the first inaccessible cardinal!
09 Apr 2009, RC Reynolds, afni_proc.py, level 3 (MAJOR), type 2 (NEW_OPT) 'official' release with RETROICOR processing block: ricor o added 'across-runs' ricor_regress_method o added ricor information and usage to help (see 'RETROICOR NOTE') o maintain unscaled shorts if they are input o added -ricor_datum
19 Mar 2009, RC Reynolds, 1d_tool.py, level 3 (MAJOR), type 1 (NEW_PROG) added lib_afni1D.py and 1d_tool.py This is a library and tool for manipulating 1D files. Many functions will still be added.
22 Dec 2008, G Chen, 3dICC.R, level 3 (MAJOR), type 1 (NEW_PROG) IntraClass Correlation (ICC) with ANOVA scheme This is an R program that calculates ICC on 3D volume data based on a two- or three-way random-effects ANOVA scheme. See more details at https://afni.nimh.nih.gov/sscc/gangc/ICC
16 Dec 2008, G Chen, 3dGC.R, level 3 (MAJOR), type 1 (NEW_PROG) Bivariate Granger causality analysis This is an R program that runs Granger causality analysis with a seed region versus the rest of the brain. See more details at https://afni.nimh.nih.gov/sscc/gangc/3dGC
13 Dec 2008, ZS Saad, afni-matlab, level 3 (MAJOR), type 1 (NEW_PROG) RetroTS creates regressors for cardiac, respiratory, and RVT filtering RetroTS.m and accompanying functions create slice-based regressors for regressing out the effects of cardiac, respiratory, and RVT effects from FMRI time series. The regressors generated are meant to be used with 3dREMLfit.
02 Dec 2008, ZS Saad, SpharmReco, level 3 (MAJOR), type 1 (NEW_PROG) Reconstructs data from spherical harmonics decomposition. See SpharmDeco -help and the demo script @Spharm.examples for details. 02 Dec 2008, ZS Saad, SpharmDeco, level 3 (MAJOR), type 1 (NEW_PROG) Performs spherical harmonics decomposition. This program performs spherical harmonics decomposition for surfaces' geometry and/or surface-based data See SpharmReco -help and the demo script @Spharm.examples for details. 02 Dec 2008, ZS Saad, @Spharm.examples, level 3 (MAJOR), type 1 (NEW_PROG) A script to demonstrate the usage of SpharmDeco and SpharmReco 02 Dec 2008, ZS Saad, @NoisySkullStrip, level 3 (MAJOR), type 1 (NEW_PROG) A script to improve skull stripping in noisy of heavily shaded data
01 Dec 2008, RC Reynolds, timing_tool.py, level 3 (MAJOR), type 1 (NEW_PROG) a tool for manipulating and evaluating stimulus timing files This is useful for getting statistics on rest timing.
21 Nov 2008, ZS Saad, @fast_roi, level 3 (MAJOR), type 1 (NEW_PROG) Creates Atlas-based ROIs in original space for real-time experiments
24 Oct 2008, RC Reynolds, xmat_tool.py, level 4 (SUPER), type 1 (NEW_PROG) program to inspect a .xmat.1D X-matrix, possibly against a time series This is a Graphical tool for plotting a design matrix, reviewing condition numbers or the correlation matrix, and fitting to a 1D time series.
09 Oct 2008, G Chen, 1dGC.R, level 4 (SUPER), type 1 (NEW_PROG) Multivariate Granger causality analysis This is an R program that runs Granger causality analysis among a few pre-select regions. See more details at https://afni.nimh.nih.gov/sscc/gangc/1dGC
29 Sep 2008, RC Reynolds, 3dmatmult, level 3 (MAJOR), type 1 (NEW_PROG) program to multiply AFNI datasets slice-by-slice as matrices
29 Aug 2008, ZS Saad, ExamineXmat, level 3 (MAJOR), type 1 (NEW_PROG) An interactive tool to examine a design matrix
28 Aug 2008, RW Cox, 3dAllineate, level 3 (MAJOR), type 5 (MODIFY) A number of changes to improve robustness. * Don't smooth noise added to source image outside of the mask * Reduce default smoothing level for -lpc in coarse pass * Increase number of points used for matching in the coarse pass * More refinements of the twobest results in the coarse pass * Refinements (-num_rtb option) of the twobest results in the fine pass All this adds CPU time, but seems to make the program more reliably convergent. Also: * Restored operation of the -check option, to restart the optimization at the final solution with other methods, to see what results they give compared to the original method.
21 Aug 2008, RW Cox, 3dREMLfit, level 4 (SUPER), type 1 (NEW_PROG) Program to mimic 3dDeconvolve, but with serial correlations Uses ARMA(1,1) model of noise, separately for each voxel.
10 Jul 2008, RC Reynolds, plug_realtime, level 3 (MAJOR), type 5 (MODIFY) receive oblique transform matrix via new OBLIQUE_XFORM interface 10 Jul 2008, RC Reynolds, Dimon, level 3 (MAJOR), type 5 (MODIFY) if the data is oblique, pass the transformation matrix to plug_realtime
27 Jun 2008, RC Reynolds, gen_epi_review.py, level 3 (MAJOR), type 1 (NEW_PROG) generate afni/drive_afni script to review initial EPI data This program was written to be called from the afni_proc.py output script.
11 Jun 2008, DR Glen, align_epi_anat.py, level 3 (MAJOR), type 5 (MODIFY) Obliquity handling in alignment, more grid options
09 May 2008, ZS Saad, 3dROIstats, level 3 (MAJOR), type 2 (NEW_OPT) Added option -1Dformat to output results in 1D format
08 May 2008, ZS Saad, 3dsvm, level 3 (MAJOR), type 4 (BUG_FIX) Fixed memory corruption caused by improper declaration of combName
07 May 2008, RC Reynolds, make_random_timing.py, level 3 (MAJOR), type 1 (NEW_PROG) generate random stimulus timing files This generates random timing files suitable for use in 3dDeconvolve. The timing is not restricted to a TR grid, though that is possible. Consider use with '3dDeconvolve -nodata'.
07 Apr 2008, DR Glen, align_epi_anat.py, level 4 (SUPER), type 1 (NEW_PROG) Alignment of EPI and Anatomical datasets Aligns anat and EPI data. Alignment is in either direction of anat to epi or epi to anat. Transformations are combined where possible as from time series registration and talairach transformations. Multiple child epi datasets may be aligned at the same time.
10 Mar 2008, RC Reynolds, SUMA_SurfMeasures, level 3 (MAJOR), type 4 (BUG_FIX) averages did not include nodes lost to -cmask Noticed by M Beauchamp.
05 Mar 2008, ZS Saad, suma-general, level 3 (MAJOR), type 0 (GENERAL) Support for GIFTI surface format writing GIFTI writing can now be done with SUMA programs. For example, see options -o_gii and -xml* in ConvertSurface program.
29 Feb 2008, G Chen, 3dICA.R, level 4 (SUPER), type 1 (NEW_PROG) Independent component analysis This is an R program that runs independent component analysis. It takes one dataset that presumably has already been properly pre-processed.already been properly pre-processed. See more details at https://afni.nimh.nih.gov/sscc/gangc/ica.html
28 Feb 2008, ZS Saad, suma-general, level 3 (MAJOR), type 3 (NEW_ENV) Support for GIFTI surface format reading
27 Feb 2008, ZS Saad, suma, level 3 (MAJOR), type 0 (GENERAL) Addition of p and q values under threshold bar Use BHelp on p and q text in suma to get more info. 27 Feb 2008, RW Cox, 3dTfitter, level 3 (MAJOR), type 2 (NEW_OPT) add deconvolution via the '-FALTUNG' option Unlike 3dDeconvolve, this deconvolution is to find the input time series, given the impulse response function. 27 Feb 2008, RC Reynolds, afni_history, level 4 (SUPER), type 1 (NEW_PROG) program to display the history of AFNI updates This will be used to create a web page of AFNI updates. Please see 'afni_history -help' for more details.
25 Feb 2008, RC Reynolds, plug_vol2surf, level 3 (MAJOR), type 4 (BUG_FIX) fixed application of cluster for sending data to suma Previously, clustering was only applied when the Olay and Thr sub-bricks were the same.
21 Feb 2008, RC Reynolds, GIFTI, level 4 (SUPER), type 0 (GENERAL) AFNI programs can now read and write GIFTI datasets GIFTI datasets are for data in the surface domain, with file suffix .gii. Support must be requested at compile time, and it requires libexpat. Please see http://www.nitrc.org/projects/gifti for many details.
16 Feb 2008, RW Cox, 3dTfitter, level 4 (SUPER), type 1 (NEW_PROG) new program = linear fits to voxel time series Uses L1 or L2 regression, with optional constraints to fit each voxel time series as a sum of basis time series, which can be 1D files or 3D+time datasets. Basis time series that are 1D time series are the same for all input voxels. Basis time series that are 3D+time datasets are different for each voxel. Differences from 3dDeconvolve: * Basis time series can vary across voxels. * Fit coefficients can be found with L1 or L2 error functions, and can be constrained to be positive or negative. * 3dTfitter does not compute goodness-of-fit statistics.
14 Feb 2008, ZS Saad, suma, level 3 (MAJOR), type 0 (GENERAL) Graphing of dset content with 'g' A graph of the column content at a node can be plotted This would be the surface equivalent to AFNI's graphing function. See suma's interactive help 'ctrl+h' for more info.
06 Feb 2008, ZS Saad, SurfDist, level 3 (MAJOR), type 1 (NEW_PROG) Program to calculate geodesic internodal distances
23 Jan 2008, RW Cox, Miscellaneous, level 3 (MAJOR), type 2 (NEW_OPT) Older History stuff * FDR thresh-vs-z(q) curve generation and storage in datasets. * Display FDR q in AFNI pval label. * Generate FDR curves automatically in 3dDeconvolve, and with '-addFDR' option in 3drefit.
12 Jan 2008, ZS Saad, suma, level 3 (MAJOR), type 0 (GENERAL) Scroll lists for I T and B selectors in suma Right click on pulldown menu titles to get a scroll list instead. This makes selecting from a long list of options, or columns, much easier. Right click on 'I' to the left of suma's Intensity Selection button for an illustration.
28 Dec 2007, RC Reynolds, gifti_tool, level 3 (MAJOR), type 1 (NEW_PROG) program to read and write GIFTI datasets
20 Dec 2007, RW Cox, Miscellaneous, level 3 (MAJOR), type 2 (NEW_OPT) Older History stuff * Clusterize reporting window.
19 Dec 2007, ZS Saad, suma-general, level 3 (MAJOR), type 0 (GENERAL) Use of '[i]' to select node index from surface dset Square bracket '[]' selection works for surface-based datasets much like it does for volume-based ones. In addition, one can use '[i]' to select the indices of nodes for which data are defined in a particular surface-based dataset. For more information, see 'SUMA dataset input options:' section in the output of ConvertDset -help .
03 Dec 2007, RC Reynolds, GIFTI, level 3 (MAJOR), type 0 (GENERAL) initial release of gifti I/O C API
20 Nov 2007, RW Cox, 3dTsort, level 3 (MAJOR), type 1 (NEW_PROG) new program = sorts voxel data along the time axis This might be useful for sorting the -stim_time_IM beta weights output be 3dDeconvolve. Perhaps for something else, too?
26 Sep 2007, ZS Saad, SurfFWHM, level 4 (SUPER), type 1 (NEW_PROG) Program to estimate FWHM of data on surface 26 Sep 2007, ZS Saad, SurfSmooth, level 3 (MAJOR), type 5 (MODIFY) Big changes to data smoothing functions * HEAT_07 method does controlled blurring, with options to blur 'to' a particular FWHM. No guessing needed for iterative kernel bandwidth or number of iterations. * HEAT_05 method improved to reduce numerical precision problems.
20 Sep 2007, G Chen, 3dLME.R, level 4 (SUPER), type 1 (NEW_PROG) An R program for linear mixed-effects analysis at group level in AFNI See more details at https://afni.nimh.nih.gov/sscc/gangc/lme.html
31 Aug 2007, RC Reynolds, DECONFLICT, level 3 (MAJOR), type 5 (MODIFY) modified default behavior of programs from deconflict to no overwrite See AFNI_DECONFLICT in README.environment.
20 Aug 2007, RW Cox, Miscellaneous, level 3 (MAJOR), type 2 (NEW_OPT) Older History stuff * First version of '-lpc' Local Pearson Correlation cost function in 3dAllineate.c, with rhombic dodecahedra as the default building bloks.
30 Jul 2007, RC Reynolds, regression_tests, level 3 (MAJOR), type 0 (GENERAL) added setup for regression testing to NIFTI package This can be used as a template for testing any command-line programs.
26 Jun 2007, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL) Older History stuff * Boxed plots in afni_graph.[ch]. Probably a can of worms.
12 Mar 2007, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL) Older History stuff * New program 3dSynthesize.c.
09 Mar 2007, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL) Older History stuff * First test of -stim_times_AM? looks good. * MCW_discard_events() for Button4/5 ScrollWheel actions.
17 Jan 2007, G Chen, 1dSEM, level 4 (SUPER), type 1 (NEW_PROG) Path analysis (or structural equation modeling) at group level. See more details on: https://afni.nimh.nih.gov/sscc/gangc/PathAna.html
15 Jan 2007, ZS Saad, suma, level 3 (MAJOR), type 0 (GENERAL) Allow replacement of pre-loaded DO and Dsets When a dataset is reloaded, it replaces the one already loaded in suma.
20 Dec 2006, RC Reynolds, afni_proc.py, level 4 (SUPER), type 1 (NEW_PROG) program to write complete single subject FMRI processing script
15 Nov 2006, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL) Older History stuff * New program 3dBlurToFWHM.c.
31 Oct 2006, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL) Older History stuff * New program 3dFWHMx -- does all sub-bricks.
22 Oct 2006, RC Reynolds, model_demri_3, level 3 (MAJOR), type 1 (NEW_PROG) NLfim model for Dynamic Enhanced MRI
21 Sep 2006, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL) Older History stuff * Put 3dAllineate into the distribution. But is not finished. * Modified plug_nlfit.c to allow AFNI_NLFIM_METHOD to select optimizer.
20 Sep 2006, ZS Saad, DriveSuma, level 3 (MAJOR), type 1 (NEW_PROG) Program to control SUMA from the command line
03 Aug 2006, RC Reynolds, NI_SURF_DSET, level 4 (SUPER), type 0 (GENERAL) added a new surface dataset format, with read/write ability in AFNI
25 Jan 2006, RC Reynolds, model_michaelis_menton, level 3 (MAJOR), type 1 (NEW_PROG) NLfim model function for ethanol studies
02 Dec 2005, RC Reynolds, ANOVA, level 5 (SUPERDUPER), type 5 (MODIFY) changed variance computations in 3dANOVA programs to not assume sphericity For details, see https://afni.nimh.nih.gov/sscc/gangc/ANOVA_Mod.html .
01 Dec 2005, G Chen, 3dANOVA3, level 3 (MAJOR), type 2 (NEW_OPT) New options to run 2nd-order general linear contrasts in 3dANOVA3. See more details on: https://afni.nimh.nih.gov/sscc/gangc/ANOVA_Mod.html
11 Oct 2005, RC Reynolds, 3dmaxima, level 3 (MAJOR), type 1 (NEW_PROG) command-line version of maxima plugin
23 Sep 2005, G Chen, 3dANOVA2 and 3dANOVA3, level 4 (SUPER), type 4 (BUG_FIX) Significant modifications in 3dANOVA2 and 3dANOVA3 The changes were made to avoid statistics inflation for general linear contrasts when coefficients don't add up to 0. See more details at https://afni.nimh.nih.gov/sscc/gangc/ANOVA_Mod.html
15 Aug 2005, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL) Older History stuff * From now on, unless AFNI_ALLOW_MILLISECONDS is set to YES, AFNI programs will convert MSEC time unit datasets to SEC on input and output.
05 Jul 2005, RC Reynolds, Dimon, level 4 (SUPER), type 1 (NEW_PROG) program to monitor real-time acquisition of DICOM images
25 Apr 2005, RC Reynolds, NIFTI, level 4 (SUPER), type 0 (GENERAL) AFNI can read and write NIFTI datasets (effort with Bob and Rich)
06 Apr 2005, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL) Older History stuff * Added '.nii' output feature to THD_writedset() function, and did a few other similar things hither and yon.
07 Jan 2005, RC Reynolds, nifti_tool, level 4 (SUPER), type 1 (NEW_PROG) program to directly manipulate or compare NIFTI dataset headers 07 Jan 2005, RC Reynolds, NIFTI, level 4 (SUPER), type 0 (GENERAL) initial release of NIFTI library
30 Nov 2004, RW Cox, Miscellaneous, level 3 (MAJOR), type 0 (GENERAL) Older History stuff * First version of 3dWarpDrive released. * 3dcalc now prints a warning if outputting a byte-valued dataset when the calculated results had some negative values.
04 Oct 2004, RC Reynolds, vol2surf, level 4 (SUPER), type 0 (GENERAL) added vol2surf interface for real-time mapping from afni to suma
27 Jul 2004, G Chen, PathAna, level 4 (SUPER), type 1 (NEW_PROG) A Matlab package that runs group analysis of up to 5-way ANOVA This package adopts the conventional ANOVA approach to handling gorup analysis. And it requires Statistics Toolbox other than the basic Matlab. See more details on: https://afni.nimh.nih.gov/sscc/gangc 27 Jul 2004, G Chen, IndiAna, level 4 (SUPER), type 1 (NEW_PROG) A Matlab package for individual subject analysis See more details at https://afni.nimh.nih.gov/sscc/gangc
31 Mar 2004, RC Reynolds, serial_helper, level 3 (MAJOR), type 1 (NEW_PROG) program to pass realtime registration params from TCP to serial port
01 Dec 2003, RC Reynolds, SurfMeasures, level 3 (MAJOR), type 1 (NEW_PROG) program to compute various measures over surfaces
05 Aug 2003, RC Reynolds, 3dVol2Surf, level 4 (SUPER), type 1 (NEW_PROG) program to map data from the volume to domain to the surface domain
29 May 2003, RC Reynolds, 3dSurf2Vol, level 4 (SUPER), type 1 (NEW_PROG) program to map data from the surface domain to the volume domain
15 Jan 2003, RC Reynolds, Imon, level 3 (MAJOR), type 2 (NEW_OPT) added connection to the realtime plugin in afni
27 Nov 2002, RC Reynolds, Imon, level 4 (SUPER), type 1 (NEW_PROG) program to monitor GE I-files as they are written to the scanner
01 Oct 2002, RC Reynolds, file_tool, level 4 (SUPER), type 1 (NEW_PROG) program to perform generic manipulations of binary files
06 Jun 2002, RC Reynolds, @SUMA_Make_Spec_FS, level 3 (MAJOR), type 1 (NEW_PROG) script to import FreeSurfer surfaces into SUMA
21 May 2002, RC Reynolds, 3dresample, level 4 (SUPER), type 1 (NEW_PROG) program to change a dataset orientation and/or grid spacing
08 Mar 2002, RC Reynolds, plug_crender, level 4 (SUPER), type 1 (NEW_PROG) added rendering plugin to afni
16 Jan 2001, RW Cox, AFNI-general, level 5 (SUPERDUPER), type 0 (GENERAL) Older History stuff =========================================================== == This was the day I (RWC) started working at the NIH! :) == == All changes from this date onwards were made at the NIH == ===========================================================
24 Jul 1996, RW Cox, Miscellaneous, level 5 (SUPERDUPER), type 0 (GENERAL) Oldest History stuff AFNI was created in summer 1994 (but some parts date to the 1980s). However, no formal log was made of changes until this date in 1996. So this is the beginning of AFNI historiography. 'Lately it occurs to me: What a long, strange trip it's been.'

auto-generated by afni_history on Apr 18 2024