AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

History of AFNI updates  

|
June 15, 2017 04:04PM
Hi Rick, I wanted to follow up.

As a reminder, I have ISSS data where participants hear a sound during a silent period, followed by 3 image acquisitions. I have 6 runs with 180 time points per run (which are not continuous). Previously in this thread I was trying to find the main effect of sound > no sound. My issue with the over specified design matrix was that I was coding the baseline volumes as '1' in my matrix. When I took these out there were no collinearity errors, I didn't need a -GOFORIT, and the results look as expected.

Now I want to get trial-wise beta values for MVPA. Rather than 1 beta per trial, however, I'd like 1 beta value per TR. So, for a given trial, I'd receive 3 beta values that correspond to the three volumes that follow a stimulus onset. Because the data are not continuous,I have been using -ortvec to insert a design matrix and -glt to code the sound>no sound in the previous steps, as you suggested.

Here is a sample matrix for my sound < no sound:
1 0 0
0 1 0
0 0 1
0 0 0
0 0 0
0 0 0
1 0 0
0 1 0 
0 0 1
Columns 0,1,2 correspond to the 1st, 2nd, and 3rd volumes following a stimulus onset, respectively. Then, for a sound > no sound (or baseline) I'll enter '1 1 1' into a -glt.

This works well. Now I want to get trial-level beta values (with each trial having 3 correspond beta values for the 3 volumes that follow the stimulus). I have created a matrix like this:
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1

However, I also have columns of all 0s that correspond to the baseline (silent) trials. It was easier to code from the timing files and I figured that they wouldn't affect anything other than giving me a warning in 3dDeconvolve.

Here is my 3dDeconvolve command:
3dDeconvolve 												                \
			-input $runs -jobs 24										\
			-polort A 	 										                \
			-ortvec MoPar_demean.1D 	demean 						        \
			-ortvec MoPar_derv.1D 	        derv 						        \
			-ortvec FIR.1D 		        ir	# impulse response matrix	        \
			-censor censor.1D 						                                        \

My full experiment consists of 6 runs, with 8 silent (baseline) trials, 4 catch trials (requiring a behavioral result, but of no interest in analysis), and 48 trials of interest per run. We are trying to analyze all of the runs at once in 3dDeconvolve. We have all of the catch trials in one column of the design matrix, and we have one column per trial per TR for each of the trials of interest (similar to the above matrix). Admittedly this is a huge matrix with 1080 rows (180 volumes per TR * 6 runs) and 1009 columns. When I run 3dDeconvolve in this way, I get hung up on this:


 **** SVD avg err=0.00696691; recomputing ... new avg error=2.11461e-16 **OK** smiling smiley


 **** SVD avg err=0.00693284; recomputing ... new avg err=0.00736581; re-recomputing the hard way ... newer avg err=7.17349e-11 **OK** smiling smiley


 **** SVD avg err=0.00539245; recomputing ... new avg error=2.32423e-16 **OK** smiling smiley


 **** SVD avg err=0.00784686; recomputing ... new avg err=0.00665956; re-recomputing the hard way ... newer avg err=7.17525e-11 **OK** smiling smiley


 **** SVD avg err=0.0069601; recomputing ... new avg error=2.24406e-16 **OK** smiling smiley

It keeps looping through the above output after creating (and writing) the design matrix but before the voxel loop. I have no idea if there is a better way to generate trial-wise beta values in this manner, but ideally I'd like to calculate them using the same method in 3dLSS. Thank you for your help.

Dustin
Subject Author Posted

On ortvec and glts

dmoracze May 31, 2017 03:48PM

Re: On ortvec and glts

rick reynolds June 02, 2017 09:18AM

Re: On ortvec and glts

dmoracze June 02, 2017 12:37PM

Re: On ortvec and glts

dmoracze June 02, 2017 02:17PM

Re: On ortvec and glts

rick reynolds June 02, 2017 03:14PM

Re: On ortvec and glts

rick reynolds June 06, 2017 11:07AM

Re: On ortvec and glts

dmoracze June 06, 2017 11:17AM

Re: On ortvec and glts

dmoracze June 14, 2017 01:49PM

Re: On ortvec and glts

dmoracze June 15, 2017 04:04PM

Re: On ortvec and glts

rick reynolds June 20, 2017 05:12PM

Re: On ortvec and glts

rick reynolds June 21, 2017 11:51AM

Re: On ortvec and glts Attachments

dmoracze June 21, 2017 04:44PM

Re: On ortvec and glts

rick reynolds June 28, 2017 08:57AM

Re: On ortvec and glts Attachments

dmoracze July 14, 2017 11:50AM