空间标准化是研究fMRI 的必经之路,今天整空间标准化中的标准脑模板MNI空间和Talairach 空间坐标相互转换。
搜罗下载相关资料后整理如下Note:
(1)MNI转Talairach 矩阵
double icbm2talairach_fsl[4][4] =
{
0.9464,0.0034, -0.0026, -1.0680,
-0.0083, 0.9479, -0.0580, -1.0239,
0.0053, 0.0617, 0.9010, 3.1883,
0.0000, 0.0000, 0.0000, 1.0000
}
(2)Talairach转MNI矩阵
double talairach2icbm_fsl[4][4] =
{
1.0566, -0.0040, 0.0028, 1.1155,
0.0088, 1.0505, 0.0677, 0.8694,
-0.0068, -0.0719, 1.1052, -3.6047,
0.0000, 0.0000, 0.0000, 1.0000
}
(3)上可直接调用函数代码:
void fromMNI2Talairach(double* fMNI, double* fTalairach,int nMode)
{
if (nMode == 1)//MNI-->Talairach
{
if (fMNI)
{
double input[4] = { *fMNI,*(fMNI + 1),*(fMNI + 2),1.0 };
double icbm_fsl[4][4] =
{
0.9464,0.0034, -0.0026, -1.0680,
-0.0083, 0.9479, -0.0580, -1.0239,
0.0053, 0.0617, 0.9010, 3.1883,
0.0000, 0.0000, 0.0000, 1.0000
};
double fSum = 0;
for (int i = 0; i < 4; i++)
{
fSum = 0;
for (int j = 0; j < 4; j++)
{
fSum += icbm_fsl[i][j] * input[j];
}
*(fTalairach+i) = fSum;
}
}
}
else if (nMode == 2)//Talairach-->MNI
{
if (fTalairach)
{
double input[4] = { *fTalairach ,*(fTalairach + 1) ,*(fTalairach + 2) ,1.0 };
double talair2icbm_fsl[4][4] =
{
1.0566, -0.0040, 0.0028, 1.1155,
0.0088, 1.0505, 0.0677, 0.8694,
-0.0068, -0.0719, 1.1052, -3.6047,
0.0000, 0.0000, 0.0000, 1.0000
};
double fSum = 0;
for (int i = 0; i < 4; i++)
{
fSum = 0;
for (int j = 0; j < 4; j++)
{
fSum += talair2icbm_fsl[i][j] * input[j];
}
*(fMNI + i) = fSum;
}
}
}
}