Using CSLPIN in 3dDeconvolve for ROI Time Series analysis

Hello,

I’ve been going back and forth on deciding on what 3dDeconvolve options to use for my data, and wanted to see if I could get an expert opinion on the matter (I apologize if this is a lot). What I want to do is select a model that does not assume a canonical HDR model, but instead models with a Finite Impulse Response. It seems to me that CSLPIN will do this, but I wanted to double check.

One issue that I’ve been running into though is that the length of each stimulus is dependent on subjects’ responses, and therefore stimulus presentation for an individual trial can range anywhere from 5-40 sec. Given that one of CSPLIN’s parameters is the stimulus offset (stop), would it make sense for me to bin the stim_times timing files such that trials that had similar offset times are passed through 3dDeconvolve together?

Since I’m only interested in the time series of certain ROIs, I’ve created an ROI mask file where each ROI (32 in total) is given its own value. Would I be able to pass this file (containing all ROIs) through 3dDeconvolve’s -mask option, or does the mask have to contain just one ROI at a time?

Given what I’ve said above, I think I may have an idea of what my 3dDeconvolve command should look like, assuming that the above is reasonably sound:

3dDeconvolve
-overwrite
-input $subj.allRuns.pb04.scale_tlrc
-mask ROIs_all.nii.gz
-polort A
-nobout
-local_times
-noFDR
-ortvec ${subj}_all.MoPar_demean.1D demean
-ortvec ${subj}_all.MoPar_derv.1D derv
-censor ${subj}_all.censor0.3mm.1D
-concat ‘1D: 0 870 1740 2610 3480 4350 5220 6090’
-num_stimts 2
-stim_times 1 $timing_dir/mut.txt ‘CSPLIN(0,20,4)’ -stim_label 1 mut
-stim_times 2 $timing_dir/neu.txt ‘CSPLIN(0,20,4)’ -stim_label 2 neu
-cbucket ${subj}_Decon_betas.nii.gz
-bucket ${subj}_Decon.nii.gz
-xsave
-x1D ${subj}_xmat.1D
-fout -tout
errts ${subj}_errts.nii.gz

Again, thanks for all the help.

Dan

stimulus presentation for an individual trial can range anywhere from 5-40 sec.

The duration varies substantially across trials even within each stimulus category (e.g., mut and neu)? If so, things are a little complicated as to how to handle such duration variability. There are at least two approaches to handling that: 1) model each trial separately, or 2) treat the duration as a modulatory variable using basis functions such as ‘dmUBLOCK’ in 3dDeconvolve.

Since I’m only interested in the time series of certain ROIs, I’ve created an ROI mask file where each ROI (32 in total) is given
its own value. Would I be able to pass this file (containing all ROIs) through 3dDeconvolve’s -mask option, or does the mask
have to contain just one ROI at a time?

Yes, it would work with the option ‘-mask’ in 3dDeconvolve. However, CSPLIN(0,20,4) won’t properly handle the issue of duration variability.

Hi Gang,

There is some varied duration across across trials in the same stimulus category. I’ve looked a little into dmUBLOCK, but it seems very similar to dmBLOCK, which assumes a canonical hemodynamic response function, which I’m trying to avoid with an FIR. If the best way then is to model each trial separately, does that mean that I need to re-order my stimulus timing files so that only trials with the same durations are modeled together? In other words, trials with a duration of 10 seconds would go through 3dDeconvolve, then repeat with trials where duration was 15 seconds and so on? If so, this seems like binning the trials into their durations, and if this is the case, is it still okay to use CSPLIN where the “stop” parameter is adjusted each time?

Dan
,

Dan,

The issue of modeling approach aside, what do you want to get out of the analysis?

It might not be practical to analyze each trial separately due to the multiple collinearity problem (and over-parameterization). You can try binning the trials and see if it works. Use CSPLINzero to avoid wasting a regressor at the trial onset.

Hi Gang,

Sorry for the late reply. I’m performing an ROI time-series analysis where I don’t want to assume the shape of the signal. The direction I’ve taken (for now) is to just extract the ROI BOLD time-series from the preprocessed data (after spatial smoothing and intensity normalization). From there I’ve been using the timing files to match the BOLD time-series to each trial’s onset and duration. I’ll probably try binning the trials by their duration, but may look at some 3dDeconvolve options again later.

Dan