Label table for 3dNetCorr

[picchionid@cn4271 correspondence]$ afni -ver
Precompiled binary linux_rocky_8: Sep 29 2025 (Version AFNI_25.2.18 'Gordian I')

Colleagues,

Hi. As mentioned on Line 34 of 3dNetCorr -help, why does it search for a label table in the -inset file and not in the -in_rois file? My -in_rois file has a label table attached, but I always see the following in my standard output: "No refset labeltable for naming things." What is the default for the -ignore_LT switch option?

Sincerely,

Dante

Hi, Dante-

That line in the help is actually a typo that I will fix. The label_table is searched for in the in_rois set, and should be working.

For your -in_rois DSET_ROIS dset, what is the output of:

3dinfo -is_labeltable DSET_ROIS

?

--pt

1 Like

Paul,

Hi! It is "1."

Sincerely,

Dante

Hm, OK. Then when you have some output *.netcc file, say called FILE_NETCC, what is the output of:

head -n 5 FILE_NETCC

?

--pt

1 Like

Paul,

Hi again. Here

head -n 5 /data/AMRI/picchioni/20250826_main_matrices_01.03_atlases/unix_files/output_20240614_0635_procbasic_ric_rvt_ppga_tr79_TT_caez_ml_18_ver_aan_net_rs_000.netcc
# 28  # Number of network ROIs
# 2  # Number of netcc matrices
# WITH_ROI_LABELS
        001 	        002 	        003 	        004 	        005 	        006 	        007 	        008 	        009 	        010 	        011 	        012        013 	        014 	        015 	        016 	        017 	        018 	        019 	        020 	        021 	        022 	        023 	        024        025 	        026 	        027 	         028
          1 	          2 	          3 	          4 	          5 	          6 	          7 	          8 	          9 	         10 	         11 	         12         13 	         14 	         15 	         16 	         17 	         18 	         19 	         20 	         21 	         22 	         23 	         24         25 	         26 	         27 	          28

is the output.

Sincerely,

Dante

P.S.: Here is the code used to create the file in case that is useful.

3dNetCorr \
    -allow_roi_zeros \
    -automask_off \
    -fish_z \
    -ts_wb_Z \
    -nifti \
    -prefix output_"${label_fmri[i]}"_"${prepro[j]}"_tr"${windowindexminus[i]}"_"${my_in_rois[k]}" \
    -inset "${label_fmri[i]}"_"${prepro[j]}"_tr"${windowindexminus[i]}".nii \
    -weight_corr "${label_fmri[i]}"_censor_tr"${windowindexminus[i]}".1D \
    -in_rois "${my_in_rois[k]}".nii

OK, having gotten the data in question in hand, I think we have resolved the issue.

What happened was initial atlas files had labeltables attached, but before processing with 3dNetCorr, new atlas files (like, subsets of regions) were derived. It is worth noting that new datasets derived from atlases will not automatically inherit the labeltables, because the program can't know whether processing step changed the data in a way to render the old labeltable inconsistent or not. So, it is left to the user to actively reattach the labeltable, if deemed appropriate. In this case, that hadn't been done prior to running 3dNetCorr on the new data, so there wasn't a labeltable.

Just to note, to propagate a labeltable from DSET_OLD to DSET_NEW, one could use:

3drefit -copytables DSET_OLD DSET_NEW

And, as a useful followup, one could run this command so that when DSET_NEW is opened in the AFNI GUI, an ROI-like colormap will be used by default (here, "INT_CMAP" is a keywork in all capitals to be used verbatim---it isn't a place holder for some other name):

3drefit -cmap INT_CMAP  DSET_NEW

--pt

1 Like