Incomplete QC report when running afni_proc.py on multiple runs vs. a single run (multi-echo data)

AFNI version info (afni -ver): 26.0.09 'Pupienus Maximus'

Hello!

I have been preprocessing my multi-echo fMRI data using afni_proc.py and have been very happy with the outputs and the QC reports, especially the way that tedana has been integrated. For context, we collect 2 runs of movie-watching data, one where they watch the movie forwards ('task-fwd') and one where they watch the same movie in reverse ('task-rev').

I first ran afni_proc.py one a single run (just the fwd run) and got out a full APQC report, which was very helpful. Here are the QC blocks that I get in the report:

However, I wanted to concatenate both the runs and treat them as one scan. The only thing I changed about my afni_proc.py code was feeding in an extra dset using the -dsets_me_run option. It seems to have mostly worked, i.e., I see that it has generated the seed corr maps, and the TSNR maps, I have one errts file at the end, etc., but I am missing quite a few of the most useful QC blocks in the report ("task-ins" is the name of the task for the combined runs):

Is there a way I can edit my afni_proc.py code so that I can make sure that I get those other QC blocks out when I combine my 2 runs?

Thanks!! See my afni_proc.py code below.

Ryann

afni_proc.py																										\
	-subj_id					sub-${sub}_ses-${ses}_task-${task}													\
	-out_dir					${output_path}																		\
	-dsets_me_run				${func_path_fwd}																	\
	-dsets_me_run				${func_path_rev}																	\
	-echo_times					13.6 31.504 49.408 67.312															\
	-copy_anat					${prewarp_path}/anatSS.sub-${sub}_ses-${ses}.nii									\
	-anat_has_skull				no																					\
	-anat_follower				anat_w_skull anat ${T1_path}														\
	-anat_follower_ROI			aaseg anat ${SUMA_path}/aparc.a2009s+aseg_REN_all.nii.gz							\
	-anat_follower_ROI			aeseg epi ${SUMA_path}/aparc.a2009s+aseg_REN_all.nii.gz								\
	-anat_follower_ROI			FSvent epi ${SUMA_path}/fs_ap_latvent.nii.gz										\
	-anat_follower_ROI			FSWe epi ${SUMA_path}/fs_ap_wm.nii.gz												\
	-anat_follower_erode		FSvent FSWe																			\
	-blocks						tshift align tlrc volreg mask combine blur scale regress							\
	-radial_correlate_blocks	tcat volreg regress																	\
	-tcat_remove_first_trs		3																					\
	-align_unifize_epi			local																				\
	-align_opts_aea				-cost lpc+ZZ -giant_move -check_flip												\
	-tlrc_base					${MNI_path}																			\
	-tlrc_NL_warp																									\
	-tlrc_NL_warped_dsets																							\
								${prewarp_path}/anatQQ.sub-${sub}_ses-${ses}.nii									\
								${prewarp_path}/anatQQ.sub-${sub}_ses-${ses}.aff12.1D								\
								${prewarp_path}/anatQQ.sub-${sub}_ses-${ses}_WARP.nii								\
	-volreg_align_to			MIN_OUTLIER																			\
	-volreg_align_e2a																								\
	-volreg_tlrc_warp																								\
	-volreg_warp_dxyz			3																					\
	-volreg_compute_tsnr		yes																					\
	-mask_epi_anat				yes																					\
	-combine_method				m_tedana_OC																			\
	-blur_size					4.0																					\
	-blur_in_mask				yes																					\
	-regress_motion_per_run																							\
	-regress_censor_motion		0.25																				\
	-regress_censor_outliers	0.05																				\
	-regress_apply_mot_types	demean deriv																		\
	-regress_est_blur_epits																							\
	-regress_est_blur_errts																							\
	-html_review_style			pythonic																			\
	-execute

Hi, Ryann-

From the afni_proc.py (AP) side of things, having multiple runs of data should do nothing bad or limiting to QC generation. Indeed, it is a nice thing about AP that multiple runs can be entered for processing together.

It is very odd to see so few blocks like that. I would guess that something failed during the processing. There have been some recent issues with tedana crashing with a BRIK/HEAD mask, due some changes in nibabel/nilearn that have now been dealt with. I wonder if that might be what is happening.

Do you have the output.proc* text file that we usually try to generate when running afni_proc.py, that is a log of all the stuff dumped into the terminal? If so, could you perhaps mail it to me and I can look for any runtime errors there?

Also, what version of tedana do you have?

tedana --version

thanks,
pt

Hi Paul,

Sounds good, I will send you my output.proc file. And as for the tedana version, I had to install 25.1.0 to get it to work, because I was getting the nibabel/nilearn errors when I tried to use the newest, v26.

Thanks!

Ryann