T value of a single subject

1 min read

I usually report a group-level T-test image in the final publications or presentations. But in the early stage of a project when only one or a few subjects have been scanned, I often need to report an activation map for an individual subject after general linear model analysis (GLM). I could show a beta image or activation image, but a T-image is sometimes desired. The question is how do I calculate the T-value of a contrast for a single subject.

I will use the following example to show how it is calculated. Assume we have two conditions, beep and flash, and the brain signal is saved in y. Based on the timing of beep and flash, we have an independent variable called x with two columns. The 1st column is for beep, the 2nd for flash.

x=rand(10,2);
y=x(:,1)*2 + x(:,2)*3 + 0.2 + rand(size(x(:,1)))/5;
[a,b,c] = glmfit(x,y);

Now you can easily find the beta value, the T value, and the p-value of each individual condition:

beta = a(2:end)'
T = c.t(2:end)'
p = c.p(2:end)'

What about the contrast between beep and flash? Well, it’s a bit more complicated. First, we need to find the covariance matrix of the betas.

covb = c.covb(2:end, 2:end);

Then we define our contrast vector, in this case it is simply contrast = [1 -1]. The variance of contrast (beep-flash) is

V = contrast  * covb * contrast';

The T-value of the contrast is

T = (beta * contrast') / sqrt(V) * sqrt(length(x)); 

Note: you might be tempted to use the two-sample T formula to calculate the T-value (i.e. finding the variance of beta1, variance of beta2, and then calculate). It is not the correct way. We have to consider the case where the two conditions are correlated. Using the covariance matrix above is the right way.




写作助手,把中式英语变成专业英文


AI writing papers with real references


Want to receive new post notification? 有新文章通知我

第七十六期fNIRS Journal Club通知2026/11/14, 10am 周思远博士

文化经验会影响个体如何理解和解释世界,但短暂跨文化交流能否改变思维?这种变化又体现在哪些认知加工层面?来自四川师范大学的周思远博士将分享一项结合fNIRS超扫描、眼动追踪与自然语言处理的研究,其通过比
Wanling Zhu
10 sec read

第七十五期fNIRS Journal Club视频 张浩云团队

Youtube: https://youtu.be/MB3nIDg4fMo 优酷:https://v.youku.com/v_show/id_XNjU3Nzk4MDA0OA==.html 语言学习本质
Wanling Zhu
19 sec read

第七十五期fNIRS Journal Club通知2026/10/10, 10am 张浩云团队

语言学习本质上是社会性、交互性的过程,但现有对其神经机制的研究大多仅从学习者个体层面开展。来自澳门大学的张浩云团队将分享一项fNIRS超扫描研究,探讨语言学习中师生互动的神经机制,包括师生神经同步如何
Wanling Zhu
14 sec read

6 Replies to “T value of a single subject”

  1. Hi,Cui Xu. Whether the values of c.t are the T-values of the contrast (beep-baseline or flash-baseline) ?

  2. Sir, Thanks for your wonderful explanation on how to calculate the T-value for an individual subject. My questions is if I assume there are four conditions and I need to find the contrast between these conditions, what would be the contrast vector in this case? Is it [+1 +1 +1 -3]?

  3. Hi Profesor Xu Cui

    I have been following your blog since I began my Bachelor Thesis about fnirs and it has been very insightful to me.
    I ran finger tapping experiments using a block-design of 20 repetition with the task of 10 (s) and a rest time of 15 (s)between task.
    Every time a cue appeared on the screen the subject performed 10 s of finger tapping.

    Now, I want to apply a statistical result at subject level. I am trying to apply the GLM as you described here. However, I am struggling with 3 questions.

    – Before applying the GLM, it is better pre-processing my signal. Such as, baseline correction, downsampling, band-pass filtering to remove artifacts and lately apply MBL to obtain Hemoglobin concentration change as a time series o it is not necessary the pre-processing before the GLM?
    I asked because the papers I saw it do not clarify this point.

    -How properly design the matrix design. I defined it using the following code:

    % EXPECTED HRF
    t = 1:1:13;
    h = gampdf(t,6) + -.5*gampdf(t,10); % HRF MODEL
    h = h/max(h); % SCALE HRF TO HAVE MAX AMPLITUDE OF 1

    nTRs=7182;
    Experiment_time=0:1/9.7:(nTRs-1)/9.7;
    impulseTrain0 = zeros(length(Experiment_time),1);

    %CUE ONSET
    cue=[1270 1567 1865 2163 2461 2759 3056 3354 3652 3950 4248 4546 4843 5141 5439 5737 6035 6332 6630 6928];

    % FINGER TAPPING
    impulseTrain0(cue)=1;

    % EXPERIMENT DESIGN / STIMULUS SEQUENCE
    D = [impulseTrain0];

    % CREATE DESIGN MATRIX FOR THE THREE STIMULI
    X = conv2(D,h’); % X = D * h
    X(nTRs+1:end,:) = []; % REMOVE EXCESS FROM CONVOLUTION

    – ¿How make up a contrast vector with just one condition? As you notice, my experiment just has one condition(Tapping). so, if I want to compare the condition with the baseline in order to know if the activation is statistical significant how can create a contrast.

    Sorry if my questions were too long.

    Thanks
    Agustin

Leave a Reply

Your email address will not be published. Required fields are marked *