MNI2TAL_MATRIX - Talairach to MNI coordinates (best guess) MNI2TALAIRACH = mni2tal_matrix MNI2TALAIRACH is a struct containing rotation matrices used by mni2tal and tal2mni See also, MNI2TAL, TAL2MNI & http://www.mrc-cbu.cam.ac.uk/Imaging/mnispace.html
0001 function M2T = mni2tal_matrix() 0002 0003 % MNI2TAL_MATRIX - Talairach to MNI coordinates (best guess) 0004 % 0005 % MNI2TALAIRACH = mni2tal_matrix 0006 % 0007 % MNI2TALAIRACH is a struct containing rotation matrices 0008 % used by mni2tal and tal2mni 0009 % 0010 % See also, MNI2TAL, TAL2MNI & 0011 % http://www.mrc-cbu.cam.ac.uk/Imaging/mnispace.html 0012 % 0013 0014 % $Revision: 1332 $ $Date:: 2011-02-24 15:57:20 +0900#$ 0015 0016 % Licence: GNU GPL, no express or implied warranties 0017 % Matthew Brett 2/2/01, matthew.brett@mrc-cbu.cam.ac.uk 0018 % modified 02/2003, Darren.Weber_at_radiology.ucsf.edu 0019 % - removed dependence on spm_matrix by 0020 % creating this function, thereby 0021 % abstracting the important matrix 0022 % transforms (easier to change if needed). 0023 % 0024 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0025 0026 0027 % See notes below for explanations... 0028 0029 0030 % rotn = spm_matrix([0 0 0 0.05]); % similar to Rx(eye(3),-0.05), DLW 0031 M2T.rotn = [ 1 0 0 0; 0032 0 0.9988 0.0500 0; 0033 0 -0.0500 0.9988 0; 0034 0 0 0 1.0000 ]; 0035 0036 0037 % upz = spm_matrix([0 0 0 0 0 0 0.99 0.97 0.92]); 0038 M2T.upZ = [ 0.9900 0 0 0; 0039 0 0.9700 0 0; 0040 0 0 0.9200 0; 0041 0 0 0 1.0000 ]; 0042 0043 0044 % downz = spm_matrix([0 0 0 0 0 0 0.99 0.97 0.84]); 0045 M2T.downZ = [ 0.9900 0 0 0; 0046 0 0.9700 0 0; 0047 0 0 0.8400 0; 0048 0 0 0 1.0000 ]; 0049 0050 % from original mni2tal... 0051 %upT = spm_matrix([0 0 0 0.05 0 0 0.99 0.97 0.92]); 0052 %downT = spm_matrix([0 0 0 0.05 0 0 0.99 0.97 0.84]); 0053 0054 0055 0056 return 0057 0058 0059 % from http://www.mrc-cbu.cam.ac.uk/Imaging/mnispace.html 0060 % 0061 % Approach 2: a non-linear transform of MNI to Talairach 0062 % 0063 % An alternative is to use some sort of transformation that 0064 % may differ for different brain areas. One method might be 0065 % to do an automated non-linear match of the MNI to the 0066 % Talairach brain. For example, you could apply an SPM or 0067 % AIR warping algorithm. However, there are two problems 0068 % here. First, as we stated above, we do not have an MRI 0069 % image of the brain in the Talairach atlas, which was a 0070 % post-mortem specimen. Second, the automated non-linear 0071 % transforms produce quite complex equations relating the 0072 % two sets of coordinates. 0073 % 0074 % An alternative is to apply something like the transform 0075 % that Talairach and Tournoux designed; here different 0076 % linear transforms are applied to different brain regions. 0077 % This is the approach I describe below. 0078 % 0079 % To get a good match for both the temporal lobes and the 0080 % top of the brain, I used different zooms, in the Z (down/up) 0081 % direction, for the brain above the level of the AC/PC line, 0082 % and the brain below. The algorithm was: 0083 % 0084 % I assumed that the AC was in the correct position in the MNI 0085 % brain, and therefore that no translations were necessary; 0086 % Assumed that the MNI brain was in the correct orientation in 0087 % terms of rotation around the Y axis (roll) and the Z axis (yaw); 0088 % Using the SPM99b display tool, I compared the MNI brain to the 0089 % images in the Talairach atlas; 0090 % 0091 % Compared to the atlas, the MNI brain seemed tipped backwards, 0092 % so that the cerebellar / cerebral cortex line in the sagittal 0093 % view, at the AC, was too low. Similarly, the bottom of the 0094 % anterior part of the corpus collosum seemed too high. I 0095 % therefore applied a small (0.05 radian) pitch correction to 0096 % the MNI brain; 0097 % 0098 % Matching the top of the MNI brain to the top of the brain in 0099 % the atlas, required a zoom of 0.92 in Z. Similarly a Y zoom 0100 % of 0.97 was required as a best compromise in matching the front 0101 % and back of the MNI brain to the atlas. The left / right match 0102 % required a 0.99 zoom in X; 0103 % 0104 % The transform above provided a good match for the brain superior 0105 % to the AC/PC line, but a poor match below, with the temporal lobes 0106 % extending further downwards in the MNI brain than in the atlas. I 0107 % therefore derived a transform for the brain below the AC/PC line, 0108 % that was the same as the transform above, except with a Z zoom of 0109 % 0.84; 0110 % 0111 % This algorithm gave me the following transformations: 0112 % 0113 % Above the AC (Z >= 0): 0114 % 0115 % X'= 0.9900X 0116 % 0117 % Y'= 0.9688Y +0.0460Z 0118 % 0119 % Z'= -0.0485Y +0.9189Z 0120 % 0121 % 0122 % Below the AC (Z < 0): 0123 % 0124 % X'= 0.9900X 0125 % 0126 % Y'= 0.9688Y +0.0420Z 0127 % 0128 % Z'= -0.0485Y +0.8390Z 0129 % 0130 % 0131 % The matlab function mni2tal.m implements these transforms. 0132 % It returns estimated Talairach coordinates, from the 0133 % transformations above, for given points in the MNI brain. 0134 % To use it, save as mni2tal.m somewhere on your matlab path. 0135 % 0136 % So, taking our example point in the MNI brain, X = 10mm, Y = 12mm, Z = 14mm: 0137 % 0138 % With the mni2tal.m function above on your path, you could 0139 % type the following at the matlab prompt: 0140 % 0141 % 0142 % mni2tal([10 12 14]) 0143 % 0144 % Which would give the following output (see above): 0145 % 0146 % 0147 % ans = 0148 % 0149 % 9.9000 12.2692 12.2821 0150 % 0151 % 0152 % which is, again, an estimate of the equivalent X, Y and Z 0153 % coordinates in the Talairach brain. 0154 % 0155 % The inverse function, tal2mni.m, gives MNI coordinates for 0156 % given Talairach coordinates, using the same algorithm. 0157 % 0158 % We could of course do a more complex transform to attempt 0159 % to make a closer match between the two brains. The approach 0160 % above is only intended to be preliminary. It does have the 0161 % advantage that it is very simple, and therefore the distortions 0162 % involved are easy to visualise, and unlikely to have dramatic 0163 % unexpected effects. 0164 % 0165 % Incidentally, if you use the above transform, and you want to 0166 % cite it, I suggest that you cite this web address. The transform 0167 % is also mentioned briefly in the following papers: Duncan, J., 0168 % Seitz, R.J., Kolodny, J., Bor, D., Herzog, H., Ahmed, A., Newell, F.N., 0169 % Emslie, H. "A neural basis for General Intelligence", Science (21 July 0170 % 2000), 289 (5478), 457-460; Calder, A.J., Lawrence, A.D. and 0171 % Young,A.W. "Neuropsychology of Fear and Loathing" Nature Reviews 0172 % Neuroscience (2001), Vol.2 No.5 352-363 0173 %