460 likes | 670 Views
Coregistration. With your host, Terry Oakes. Waisman Laboratory for Functional Brain Imaging University of Wisconsin-Madison. http://brainimaging.waisman.wisc.edu/~oakes/teaching/Coregistration_lecture.pdf troakes@wisc.edu. Why Coregister?.
E N D
Coregistration With your host, Terry Oakes Waisman Laboratory for Functional Brain Imaging University of Wisconsin-Madison http://brainimaging.waisman.wisc.edu/~oakes/teaching/Coregistration_lecture.pdf troakes@wisc.edu
Why Coregister? Parametric Images: Associating a parameter of interest with locations (voxels) throughout the brain. PET: concentration of radioactivity (mCi/cc brain tissue) fMRI: paramagnetic signal from deoxygenated hemoglobin (~volts) MRI: T1-weighted paramagnetic spin realignment (~volts) EEG: electrical signal strength (volts)
Why Coregister? 1 6 Within-subject: - Pixels have same size. - Comparison with known locations. - Assignment of standard names. Inter-subject: - Voxelwise categorization of data points. - Common reference frame: (MNI, Talairach). 7 2 8 3 4 9 5 average
Types of Transform Object Target Transform Translation Rotation Zoom (x-dimension) Skew (x-dimension)
Types of Transforms: 1 Same shape, different orientation
Types of Transforms: 2 Different shape, different orientation
Types of Transforms: 3 Different pixel size
Types of Transforms: 4 Different shape - local stretching required - affine, nonlinear, or higher-order fit
A Two-Step Process 1. Determine the transform parameters 2. Apply the transform (reslice) 1. Match features 2. Transform image Subject 2: original Subject 1 Subject 2: transformed (with contour at GM/WM boundary overlaid) (with contour from Subject 1 overlaid) (with same contour from Subject 1 overlaid)
Alignment Ingredients • Cost Function • A data reduction technique to compare 2 images • Examples: • least squares • mutual information • Optimization method • efficient search through parameter space • find global minima, avoid local minima • Examples: • Gradient descent • Powell • Amoeba • Levenberg-Marquardt • Interpolation algorithm • can limit accuracy of cost function • Examples: • trilinear • sinc and related (FFT, chirp, B-spline)
Cost Function a 1. By Eye 2. Matching landmarks or fiducial markers 3. Surface Matching a. Pelizarri’s “head-in-hat” 4. Volume Matching a. subtraction b. ratio c. least squares d. mutual information b a - b
log(p(x,y)) p(x)p(y) Mutual InformationCost Function Minimize the function for joint entropy: ΣΣp(x,y) x y
Mutual Information 2mm shift in x original original original 2mm shift in x 2mm shift in x difference image
16 mm x-shift 8 mm x-shift 4 mm x-shift 2 mm x-shift Mutual Information
MultimodalJoint Histogram Histogram difference image coregistered PET 4mm x shift MRI T1 - Not necessarily symmetric about line of unity - Need an objective cost function: “by eye” inadequate here. PET FDG
joint histogram 16mm x shift original Optimization Method • Efficient search through parameter space • Avoid searching entire parameter space, concentrate on lucrative subspace. • Find global minima, avoid local minima • Need to search a large enough region of parameter space. • Multiple-scale or decreasing coarseness.
Determining the Transform:Iterative Methods 1. Compare object to target using Cost Function 2. Evaluate Cost Function 3. Store current transform if Cost Function minimized 4. Try new parameters (via Optimazation method) 5. From the top… Target Object Difference
Apply the Transform 1. Shift, Rotate, Zoom. 2. Transformation matrix 3. Vector field
Vector Field Transform Target Object Overlay At every location (voxel), a X,Y (,Z) vector is stored that tells the magnitude and direction of movement required to match the object to the target image. Pros: Versatile, accomodates unusual fits. Cons: Time- and space-consuming.
T' x' T'' a T'' b T'' c T '' d T x T' y' T'' e T'' f T'' g T '' h T y T' z' T'' i T'' j T'' k T '' m T z T' T'' n T'' o T'' p T '' T = * Transformation Matrix 4x4 Homogenous Coordinate Transformation Matrices (from AIR documentation. See http://bishop.loni.ucla.edu/AIR3/homogenous.html) Combines any 3-dimensional linear transform into a single matrix: - translation - rotation - zoom - perspective distortion Provides an equation that dictates where the value contained in any (and every) voxel will be placed in the new output image.
1 0 0 x-shift 0 1 0 y-shift 0 0 1 z-shift 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1/xview 1/yview 1/zview 1 Transformation Matrix Operations Translation (cosjcosf + sinjsinfsinf) (sinjcosf - cosjsinqsinf) (cosqsinf) 0 (-sinjcosq) (cosjcosq) (sinq) 0 (sinjsinqcosf - cosjsinf) (-cosjsinqcosf - sinjsinf) (cosqcosf) 0 0 0 0 1 Rotation x-zoom 0 0 0 0 y-zoom 0 0 0 0 z-zoom 0 0 0 0 1 Zoom Perspective x-,y-,z-view denote the coordinate from which image is viewed
Transform Software Implementation ;*** Construct transform matrix: *** ;* Rotation: * ;* Translate image center to rotate about it: * T3D, TRANSLATE=[FLOAT(-x_d)/2., FLOAT(-y_d)/2., FLOAT(-z_d)/2.], /RESET T3D, ROTATE=[0, 0, crgm.p.rot.a] T3D, ROTATE=[0, (-1.0)*crgm.p.rot.c, 0] T3D, ROTATE=[crgm.p.rot.s, 0, 0] T3D, TRANSLATE=[FLOAT(x_d)/2., FLOAT(y_d)/2., FLOAT(z_d)/2.] rot_mat=!P.T ;* Translation (convert from mm to pixels): * x_s = FLOAT(crgm.p.shift.x)/x_p y_s = FLOAT(crgm.p.shift.y)/y_p z_s = FLOAT(crgm.p.shift.z)/z_p T3D, TRANSLATE=[x_s, y_s, z_s]*FLOAT(-1) ;* Zoom: * ;* If we zoom, translate image so original center is (again) at center): * xt=FLOAT(x_d)/2.0 * (crgm.p.mag.x - 1.0) yt=FLOAT(y_d)/2.0 * (crgm.p.mag.y - 1.0) zt=FLOAT(z_d)/2.0 * (crgm.p.mag.z - 1.0) T3D, TRANSLATE=[xt, yt, zt] T3D, SCALE=[1.0/crgm.p.mag.x, 1.0/crgm.p.mag.y, 1.0/crgm.p.mag.z] ;* retrieve the transform matrix: * mat_transform = !P.T ;*** Apply transform to create new element locations: *** new_coords = mat_uncubic # transpose(mat_transform) # mat_cubic # coord_triples ;*** Apply transform to object data: *** image_out = INTERPOLATE(img_orig, new_pts[0,*], new_pts[1,*], new_pts[2,*])
More is not always better! Only use as many parameters as you need. If you ask for more parameters to be fit, they will be used, at the expense of the correct parameters. Spatial Transform Models Name Parameters Rigid-body 6: translation + rotation Global rescaling 7: trans + rot + zoom (xyz locked) Traditional 9: trans + rot + zoom Affine 12: trans + rot + zoom + perspective
Within-subject coregistration Rigid-body transform is most appropriate. MRI PET
Inter-Subject Registration target Difference Images object object coregistered, 9-parameter object coregistered, 12-parameter
More parameters = more time Tgt 0 sec 12 params 36 sec 168 params 775 sec
Increasing number of alignment parameters # of fit params 9 Fitting more parameters not always better! 15 168 Distortion
Interpolation Methods Trilinear Sinc
Interpolation methods where it matters… Chirp 102 sec Original 0 sec Sinc 2497 sec Trilinear 10 sec (AIR software)
Pre-processing: inhomogeneity correction original inhomogeneity corrected joint histogram Difference (~ bias field)
Pre-processing: skull-stripping Original Skull-stripped
Inter-Subject Registration No skull-stripping
Inter-Subject Registration No skull-stripping
Inter-Subject Registration: Skull-stripped Target Coregistered Object Original Object Note the large ventricles! AIR: 12 parameters Trilinear reslice Align:163 sec Reslice:9 sec
EPI registration T1: 256x256x128 1 mm3 voxels EPI: 64x64x30 5.0 x 3.0 x 3.0 mm voxels
EPI registration solution T1 register T1, coplanar with EPI assume no movement EPI
Adjusting functional activationsusing anatomical information Functional Activations 1. Difference in a specific metabolic process which influences measured signal. 2. Difference in tissue composition within a supposedly homogenous structure. 3. Misregistration of a structure to the target template. 4. Partial volume effect (PVE), a special case of spatial blurring. VBM Activations 1. Differences in the tissue component of a structure (e.g. more WM in the thalamus). 2. Misregistration: underlying differences in structure shape not removed by the coregistration process.
voxelwise anatomical information General Linear Model Y = bx + e Observed data Error term (unmodeled variance) regressor variables coefficient(s) statistical parametric map t = effect / variance ~ b/e Does NOT ask, “Where is the effect large?”, but rather “Where is the effect statistically reliable?”
Human fMRI Functional activation increases In both size and magnitude. Functional activation decreases (falls below statistical threshold).
or, why visual inspection is important Inter-Subject Registration Gone Awry Target Coregistered Object