Text output streams when a program runs help provide progress updates (for longer programs), potentially helpful comments for users, and occasionally notes about potential issues or things to really be aware of.
There's always a balance to what should be a "warning" (+* WARNING: ...) that jumps out at the user to get attention, or just "information" text (++ ...). Warnings help point out possible mistakes or potential badness that should be checked, but having too many warnings can leave real issues ignored/unnotiecd.
To make a long story short, we've reduced (as of AFNI version 26.0.00) some common warnings in a number of programs, to be either silent or simply be information lines. These were predominantly features that commonly occur in the processing runs of afni_proc.py, and we determined that many of these are generally not necessary to warn about. This should make it easier to identify more notable warnings during processing. We list several of these below, in case users notice a change in behavior of captured output text. In each case, the functioning of the output creation is not changing, just the text stream associated with it.
--pt
Some former warnings that will not be warnings in AFNI programs henceforth
-
constant vectors for 3dTproject, because many occur when warping of datasets leaves empty zeropadding (the text line will now be normal info,
++ ...):++ 3dTproject: AFNI version=AFNI_25.3.03 (Dec 12 2025) [64-bit] ++ Authored by: Cox the Algebraic (Linear) ++ Setting up regressors ++ 1 Blocks * 4 polynomials -- 4 polort regressors ++ 150 retained time points MINUS 4 regressors ==> 146 D.O.F. left ++ no -mask option ==> processing all 211200 voxels in dataset **[7m*+ WARNING: [0m 3dTproject input data :: 10595 vectors are constant** -
similar logic applies with 3dTcorr1D (this warning will become simple text info):
3dTcorr1D -prefix corr_brain errts.sub-000.affine+tlrc mean.errts.1D ++ 3dTcorr1D: AFNI version=AFNI_25.3.03 (Dec 12 2025) [64-bit] + reading dataset file errts.sub-000.affine+tlrc + reading 1D file mean.errts.1D + loading dataset ./errts.sub-000.affine+tlrc.BRIK into memory ++ Start correlations: 545468 voxels X 1 time series(450); 1 threads [7m*+ WARNING: [0m THD_Tcorr1D: 294036 voxels skipped because were constant in time -
for 3dTproject, the following similar warning (about volumes, not time series, being constant) will also now just be info text:
[7m*+ WARNING: [0m 3dTproject input data :: 6 volumes are constant -
find_variance_lines.tcshand other programs intentionally perform clustering without using a mask (the text line will just be normal info,++ ...):3dClusterize -ithr 0 -idat 0 -NN 2 -2sided -1 0.90 -inset proj.r01.nii.gz -pref_map clustset.r01.nii.gz -outvol_if_no_clust ++ Neighborhood definition (NN=2) accepted ++ User input stat threshold: -1 ++ User input stat threshold: 0.90 ++ Data volume: [0] 'MEAN' ++ Threshold volume: [0] 'MEAN' ++ How many sides to this stat? 0 ++ Looks like clustering is *not* being performed on a stat value; won't worry about sidedness, then. ++ Opt code: 2sided,-1,0.90,NN2 [7m*+ WARNING: [0m No mask being used? That *could* be OK, but thought I'd let you know... -
we specifically use 3dcalc often to create a dummy volume with a very simple expression of
0or1(like3dcalc -a $clust_mask -expr 0 -prefix $inner_clust), and this will no longer bring a warning:++ 3dcalc: AFNI version=AFNI_25.3.03 (Dec 12 2025) [64-bit] ++ Authored by: A cast of thousands [7m*+ WARNING: [0m output sub-brick 0 is all zeros! -
we also specifically use 3dcalc often to create a dummy volume with a very simple expression of
1, and this will no longer bring a warning:++ 3dcalc: AFNI version=AFNI_25.3.03 (Dec 12 2025) [64-bit] ++ Authored by: A cast of thousands [7m*+ WARNING: [0m input 'a' is not used in the expression -
3dAllineate usage with "-allcostX1D" used to produce warnings like this, but they were entirely unnecessary, and so are removed:
++ Local correlation: blok type = 'TOHD(14.6557)' [7m*+ WARNING: [0m No output dataset will be calculated [7m*+ WARNING: [0m -mast_dxyz 0.9375 option was meaningless :-( -
When using 3dAllineate to just apply a transform, we will no longer warn about having large shifts or needing -cmass, because those issues should have been noted/dealt with when estimating it; presumably, at this point, the user is happy with the results:
3dAllineate -base anatSS.sub-000+tlrc -input pb01.sub-000.affine.r01.tshift+orig -1Dmatrix_apply mat.r01.warp.aff12.1D -mast_dxyz 2.5 -prefix rm.epi.nomask.r01 ++ 3dAllineate: AFNI version=AFNI_25.3.03 (Dec 12 2025) [64-bit] ++ Authored by: Zhark the Registrator ++ Source dataset: ./pb01.sub-000.affine.r01.tshift+orig.HEAD ++ Base dataset: ./anatSS.sub-000+tlrc.HEAD ++ Loading datasets into memory [7m*+ WARNING: [0m center of mass shifts (-cmass) are turned off, but would be large [7m*+ WARNING: [0m - at least one is more than 20% of search range .... [7m*+ WARNING: [0m -cmass was turned off, but might have been needed :( + Please check your results - PLEASE PLEASE PLEASE -
When using 3drefit to change space+view, there was text output warning about doing so; but much of it related to what the user was actively doing, so they shouldn't need a warning about it; this warning text will largely be silent, unless the user really is only changing one attribute when they should be changing two simultaneously:
++ 3drefit: AFNI version=AFNI_25.3.03 (Dec 12 2025) [64-bit] ++ Authored by: RW Cox ++ Processing AFNI dataset __ats_tmp___upad15_anatSS.sub-000+orig [7m*+ WARNING: [0m Changing the space of an ORIG view dataset may cause confusion! [7m*+ WARNING: [0m NIFTI copies will be interpreted as TLRC view (not TLRC space). [7m*+ WARNING: [0m Consider changing the view of the dataset to TLRC view also -
The following could occur when a single run was processed, but there was no need for this warning because that option wasn't being used; it might seem like averaging over N=1 values could likely be a mistake and hence deserve a warning, but it is actually something that happens reasonably often just as a way of not needing "if" conditions for counting numbers of runs, and keeping the script as simple/clean as possible seems valuable; so, this warning is off unless
-tdiffis being used when there is only N=1 value across time to statisticalize:3dTstat -mean -prefix - blur.epits.1D{0..$(2)}' ++ 3dTstat: AFNI version=AFNI_25.3.04 (Dec 31 2025) [64-bit] ++ Authored by: KR Hammett & RW Cox [7m*+ WARNING: [0m Input dataset has 1 sub-brick ==> -tdiff is turned off