questions about output with 3dTfitter and 3dDeconvolve

Hi Experts,

  I would like to inquire about the basic concept of the command 3dTfitter.
  According to the help information of the command, 3dTfitter could be used in PPI analysis in the step of estimating the neuronal responses with the BOLD signal of the brain region. The basic algorithm is a de-convolution process. To get a better understanding on the command's function, I did some test analysis, but I got confused on one result.

  I did two streams of test processing on my data.
  1) I ran a 3dDeconvolve step, in which I included some task-related regressors and the head motion regressors. The task related regressors included non-interested factors and the interested factor. Specifically, the interested factor is the starting time for each trial in my task, and I input this factor in the 3dDeconvolve model with -stim_times_IM. By this setting I got the estimated beta values for each trial in my task, and the beta values will be used in later MVPA analysis. The beta values could be interpreted as the HRF response amplitudes of each trial, or the neuronal activation of each trial.
   The process command was as below:
3dDeconvolve -input func_tc+orig -mask mask+orig \
		-num_stimts 11 \
		-stim_file 1 vol_reg[1] -stim_label 1 roll -stim_base 1 -stim_maxlag 1 1 \
		-stim_file 2 vol_reg[2] -stim_label 2 pitch -stim_base 2 -stim_maxlag 2 1 \
		-stim_file 3 vol_reg[3] -stim_label 3 yaw -stim_base 3 -stim_maxlag 3 1 \
		-stim_file 4 vol_reg[4] -stim_label 4 I_S -stim_base 4 -stim_maxlag 4 1 \
		-stim_file 5 vol_reg[5] -stim_label 5 R_L -stim_base 5 -stim_maxlag 5 1 \
		-stim_file 6 vol_reg[6] -stim_label 6 A_P -stim_base 6 -stim_maxlag 6 1 \
		-local_times -stim_times_IM 7 IM_all_local.1D 'BLOCK(1,1)' \
		-local_times -stim_times_AM1 8 psy_ANSWER1_dmRT 'dmBLOCK' -stim_label 8 ANSEWR1_dmRT \
		-local_times -stim_times_AM1 9 psy_ANSWER2_dmRT 'dmBLOCK' -stim_label 9 ANSEWR2_dmRT \
		-local_times -stim_times_AM1 10 psy_ANSWER3_dmRT 'dmBLOCK' -stim_label 10 ANSEWR3_dmRT \
		-local_times -stim_times_AM1 11 psy_ANSWER4_dmRT 'dmBLOCK' -stim_label 11 ANSEWR4_dmRT \
		-tout -bucket func_decon

  2) I firstly ran a 3dDeconvolve step. In this stream, the model of the 3dDeconvolve is the same as the model in 1), except that I removed the "interested factor", and got the residual data of the regression analysis. Then I ran 3dTfitter on the residual data, and got the estimated neuronal responses in each time point of the fMRI scan. Last step, I selected the estimated neuronal responses of the time points according to the starting time of each trial in my task.
  The process commands were as below:
3dDeconvolve -input func_tc+orig -mask mask+orig \
		-num_stimts 10 \
		-stim_file 1 vol_reg[1] -stim_label 1 roll -stim_base 1 -stim_maxlag 1 1 \
		-stim_file 2 vol_reg[2] -stim_label 2 pitch -stim_base 2 -stim_maxlag 2 1 \
		-stim_file 3 vol_reg[3] -stim_label 3 yaw -stim_base 3 -stim_maxlag 3 1 \
		-stim_file 4 vol_reg[4] -stim_label 4 I_S -stim_base 4 -stim_maxlag 4 1 \
		-stim_file 5 vol_reg[5] -stim_label 5 R_L -stim_base 5 -stim_maxlag 5 1 \
		-stim_file 6 vol_reg[6] -stim_label 6 A_P -stim_base 6 -stim_maxlag 6 1 \
		-local_times -stim_times_AM1 7 psy_ANSWER1_dmRT 'dmBLOCK' -stim_label 7 ANSEWR1_dmRT \
		-local_times -stim_times_AM1 8 psy_ANSWER2_dmRT 'dmBLOCK' -stim_label 8 ANSEWR2_dmRT \
		-local_times -stim_times_AM1 9 psy_ANSWER3_dmRT 'dmBLOCK' -stim_label 9 ANSEWR3_dmRT \
		-local_times -stim_times_AM1 10 psy_ANSWER4_dmRT 'dmBLOCK' -stim_label 10 ANSEWR4_dmRT \
		-nobucket -errts func_decon_errts
    3dTfitter -mask mask+orig -RHS func_decon_errts+orig -FALTUNG GammaHR.1D func_decon_neuro.nii 012 0
    3dcalc -prefix func_decon_3dTfitter -a func_decon_neuro.nii[trial_starting_index] -expr "a"

   If my understanding on the 3dDeconvolve and 3dTfitter is correct, the resultant data of the above two streams, i.e., func_decon+orig in 1), and func_decon_3dTfitter+orig in 2), should be similar as each other, or at least highly correlated with each other at the temporal dimension. But actually I found the correlation coefficients of the two data sets were very low (about ~0.2).
   Thus, here is my question: A) is there any mistake or misuse of the commands in my processing above? B) are there any factors that may cause a low correlation between the resultant data of two methods?

   Thank you very much for your help!!

   Best regards,

Nan

Nan,

In the following line

-local_times -stim_times_IM 7 IM_all_local.1D ‘BLOCK(1,1)’ \

I assume that you have the onset times for all the trials stored in IM_all_local.1D. I don’t expect the two approaches would have high correlation. The reason is that you assumed in your second approach that the responses from those trials are fully independent with other effects you specified in your 3dDeconvolve command. The first approach makes more sense.

Hi Gang,

    Thank you very much for your reply.
    Let me confirm your comments. So you mean that the reason might be that the regressors in my 3dDeconvolve model are not fully independent with each other. Especially, the regressor -stim_times_IM 7 and regressors of -stim_times_AM1 8~11 are at some extent correlated. That's indeed possible in my regression model.

    According to your comments (if my interpretation is correct), I expect the two approaches (i.e., 3dDeconvolve with -stim_times_IM, and 3dDeconvolve PLUS 3dTfitter) would generate closer results if I remove the regressors of -stim_times_AM1 8~11 from the model of 3dDeconvolve, i.e, integrating the uninterested factors into the trial onsets and reserve the head motion effects as the baseline regressors.
    I tried the above processing on one  scan data in a 50-voxel mask, and finally got 4 data sets including previous ones:
    A) estimated beta values for each trial using 3dDeconvolve and -stim_times_IM, with uninterested factors removed;
    B) estimated neuronal responses at the onset time for each trial using 3dDeconvolve with uninterested factors removed, and later 3dTfitter;
    C) estimated beta values for each trial using 3dDeconvolve and -stim_times_IM, with uninterested factors integrated;
    D) estimated neuronal responses at the onset time for each trial using 3dDeconvolve with uninterested factors integrated, and later 3dTfitter.
    A and B are the results generated previously, and C and D are new.

    I calculated the correlation in the four data sets, including correlation between A&B, C&D, A&C, B&D. Corr(A, B) is generally low (-0.09~0.33, mean=0.17); corr(C, D) does not change too much (-0.02~0.35, mean=0.16); corr(A, C) indicates the impact from the uninterested factors on the beta values (0.19~0.87, mean=0.48); surprisingly, corr(B, D) is very high (0.91~1.00, mean=0.99), indicating removing the uninterested factors does not impact the estimated neuronal responses very much.
    Since I am considering PPI analysis for later processing, 3dTfitter would be a necessary step. Thus, I am interested in how to use the command in a proper way. But with a low correlation between C and D (and also between A and B), I am kind of unsure about the correct usage of the command.

    Thanks again for your help!
    Bests,

Nan

Especially, the regressor -stim_times_IM 7 and regressors of -stim_times_AM1 8~11 are at some extent correlated.

No, pretty much all of your regressors are correlated with each other to some extent, not just those ones among 7-11. Simply speaking, your second approach with 3dTfitter is not as reliable as the first one, and I don’t see any reason you would consider using it.

Hi, Gang

   Thanks for your help.
   As I mentioned before, I am considering to do the PPI analysis. I am wondering how to do the PPI processing without using 3dTfitter if it's not recommended.

   Bests,

Nan

Nan,

I’m not an expert on PPI analysis. However, if you want to perform PPI analysis, the second approach of yours does seem to be accurate. See here: https://afni.nimh.nih.gov/CD-CorrAna

Hi Gang,

Thanks very much for your help.
I will do more test to confirm the validity of the command 3dTfitter.

Nan