sparse temporal sampling / timing

Hi there,

I’m trying to analyze an experiment that used sparse temporal sampling on a Siemens Avanto 1.5T.

in the experiment, an auditory stimulus was presented in quiet and lasted 12s, after which subjects had 1.725s to make a response with a button box (also in quiet) and then one volume was collected (40 ascending slices, slice TA = 0.085s, total volume TA = 3.4s). So each trial started with 13.725s of stimulus/response followed by 3.4s in which we collected 40 slices. There are 105 trials/volumes.

I have a couple questions:

  1. in the 3dinfo output (below) it looks like the number of time steps is correct (105 volumes) but the time step says 0.08500s, which is the single slice time step… does AFNI need this to be the volume TA? If so, how do I change it?

  2. what basis function and timing parameters would you recommend for a design like this?



  • 3dinfo: AFNI version=AFNI_16.2.06 (Jul 25 2016) [64-bit]

Dataset File: scan03+orig
Identifier Code: XYZ_XXqbt2BNhRb-R51FngpsmQ Creation Date: Thu Nov 3 20:24:12 2016
Template Space: ORIG
Dataset Type: Echo Planar (-epan)
Byte Order: LSB_FIRST [this CPU native = LSB_FIRST]
Storage Mode: BRIK
Storage Space: 34,406,400 (34 million [mega]) bytes
Geometry String: “MATRIX(3,0,0,-96,0,2.932248,0.633974,-105.5745,0,-0.633974,2.932248,-34.41222):64,64,40”
Data Axes Tilt: Oblique (12.200 deg. from plumb)
Data Axes Approximate Orientation:
first (x) = Right-to-Left
second (y) = Anterior-to-Posterior
third (z) = Inferior-to-Superior [-orient RAI]
R-to-L extent: -96.000 [R] -to- 93.000 [L] -step- 3.000 mm [ 64 voxels]
A-to-P extent: -92.566 [A] -to- 96.434 [P] -step- 3.000 mm [ 64 voxels]
I-to-S extent: -54.699 [I] -to- 62.301 [S] -step- 3.000 mm [ 40 voxels]
Number of time steps = 105 Time step = 0.08500s Origin = 0.00000s Number time-offset slices = 40 Thickness = 3.000
– At sub-brick #0#0’ datum type is short: 0 to 4095
– At sub-brick #1#1’ datum type is short: 0 to 4095
– At sub-brick #2#2’ datum type is short: 0 to 4095
** For info on all 105 sub-bricks, use ‘3dinfo -verb’ **

----- HISTORY -----
[ Thu Nov 3 20:24:11 2016] to3d -prefix scan03 -time:zt 40 105 85 seqplus CAP_FRA.MR.UCL_BBK_KYLE.03.0001.2016. CAP_FRA.MR.UCL_BBK_KYLE.03.0002.2016. CAP_FRA.MR.UCL_BBK_KYLE.03.0003.2016. … CAP_FRA.MR.UCL_BBK_KYLE.03.0104.2016. CAP_FRA.MR.UCL_BBK_KYLE.03.0105.2016.

I just found this helpful related thread:,149354,149372#msg-149372

Given my TR (17.125s) is pretty close to 5 * the TA (3.4s), seems that I could try creating 4 dummy volumes before each real one in the EPI data to pad out the silence time points, and then censor them.

Hi Kyle,

Seeing that 13.725 is not a multiple of 3.4, are these
stimuli TR-locked? I guess not.

Exactly how far apart in time are these volumes? Is
it a multiple of 3.4 s, or is it 13.725 + 3.4 s?

Also, presumably there are some blank/quiet tries, is
that right?

  1. Yes, the initial to3d command might have used 3.4 for
    the volumetric TR (though it is really TA in this case).
    You can change it using something like:

3drefit -TR 3.4 scan03+orig

Note that this should not actually be what you use.
See the last point.

  1. There should be no temporal interpolation here. If
    the stimuli are TR-locked, then the effective “ideal”
    time series is just a 1 on the time point for the class
    giving the current stimulus.

If they are not TR-locked, then use something like
BLOCK(T), where T is 12, 12.8625, or 13.725, say. Or
you could use GAM with those durations.

Note that it does not make sense to add empty data in
this case, because you really only have 1 volume every
so often (17.125 s?). Just make that your TR and
analyze without any temporal interpolation (no tshift)
and without any faked censoring.

The other group added empty data because the timing
was on an irregular grid (2 volumes off, 3 volumes
acquired). That does not apply to you.

  • rick