Dear Takanori,
> I want to make an additional program of SPM99 using Y.mad. So, I have
> some question about Y.mad.
>
> It seems that according to the help, Y.mad contain the raw data. As
> the value of data is around 100 in Y.mad, have Global Normalization been
> done? (I chose 'scaling' of global normalization in the original
> analysis.)
Yes the data have been scaled, if you specified that option.
Normalization by scaling is not an explicit part of the statistical
model (c.f. an AnCova normalization where it is). As such the 'raw'
data, entering into parameter estimation, are already scaled.
> What kind of process should I perform to get data like a XA.mat in
> spm96 from Y.mad ? ( XA.mat contain the data from which the global
> change and confound are removed.
I would use code based on spm_regions e.g. after selecting a cluster
in 'results':
R = spm_input('VOI radius (mm)',2,'e',0);
% get selected location
%---------------------------------------------------------------------------
Q = find(SPM.QQ);
XYZ = SPM.XYZmm(:,Q);
L = spm_XYZreg('NearestXYZ',spm_XYZreg('GetCoords',hReg),XYZ);
% find voxels within radius
%---------------------------------------------------------------------------
d = [XYZ(1,:)-L(1); XYZ(2,:)-L(2); XYZ(3,:)-L(3)];
q = find(sum(d.^2) <= R^2);
y = spm_extract('Y.mad',SPM.QQ(Q(q)));
rcp = VOL.iM(1:3,:)*[XYZ(:,q);ones(size(q))];
%-Parameter estimates: beta = xX.pKX*xX.K*y;
%---------------------------------------------------------------------------
if isstruct(xSDM.F_iX0)
Ic = xSDM.F_iX0(1).iX0;
else
Ic = xSDM.F_iX0;
end
beta = ones(length(Ic),size(q,2));
for i = 1:length(Ic)
beta(i,:) = ...
spm_sample_vol(xSDM.Vbeta(Ic(i)),rcp(1,:),rcp(2,:),rcp(3,:),0);
end
% remove confounds and filter
%---------------------------------------------------------------------------
y = spm_filter('apply',xX.K, y) - xX.xKXs.X(:,Ic)*beta;
With best wishes - karl
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|