Comparing 3-D Interpolation Methods
Binu Enchakalody
January, 12 2010
Interpolation Methods•Nearest Neighbor
•Tri-Linear
•Cubic-Keys
•Clamped Cubic Spline
•Catmull-Rom Spline
•Cubic B-Spline
Methods
Vxyz = V000 (1 - x) (1 - y) (1 - z) + V100 x (1 - y) (1 - z) + V010 (1 - x) y (1 - z) + V001 (1 - x) (1 - y) z + V101 x (1 - y) z + V011 (1 - x) y z + V110 x y (1 - z) + V111 x y z
Tri-Linear Weights an interpolated intensity value, based on the distance from the nearest x,y and z pixels within a 2 x 2 x 2 neighborhood
Nearest NeighborPicks the intensity of the nearest x,y and z pixel within a 2 x 2 x 2 neighborhood
Piecewise-Cubic Basic Algorithm
[ t0 t1 t2 t3] x Basis Matrix x [a-1 a0 a1 a2] ’, where 0 < t < 1
Cubic-Keys *Cubic Convolution Interpolation for Digital Image Processing - R.G. Keys C2 Continuity (curvature) 4 Cubic Kernel Dimension Separable
Catmull-Rom Spline Different Basis Matrix
Piecewise Cubic-SplineClamped Cubic-Spline C2 Continuity (curvature) 4 Cubic Kernel Dimension Separable
General Equation
Piecewise Cubic-SplineB-Spline Interpolation
*A parallel B-Spline fitting algorithm – F.Cheng, A. Gosthashby
Uses Control Points defined by the neighboring intensity pixels
Calculating Control Points, C
Parallel AlgorithmA parallel B-Spline fitting algorithm – F.Cheng, A. Gosthashby
Original – Volume Center slice
Nearest Neighbour
Tri-Linear
Cubic-Keys
Catmull-Rom Spline
Clamped-Cubic Spline
B-spline
AnalysisRotated a 151 x 221 x 50 Test Matrix, 6 times in increments of 60 degrees Along the Z-axis Along the X-axis (permuted)
Recorded computation time for interpolating the data-set
Error Analysis on a 23 x 29 x 11 sub-matrix Calculated MSE, Mean, Standard Deviation
Error analysis on test matrix, after 6 rotations of 60° - along Z-axis (top), along X-axis (bottom)
18.52
0
50
100
150
200
250
300
350
400
MSE
Nearest
Tri-Linear
Cubic_keys
Catmull-Rom
ClampedSpline
B-Spline 0
2
4
6
8
10
12
14
16
18
Mean Std. Dev
Nearest
Tri-Linear
Cubic_keys
Catmull-Rom
ClampedSpline
B-Spline
362.86
19.63
0
50
100
150
200
250
300
350
400
MSE
Nearest
Tri-Linear
Cubic_keys
Catmull-Rom
ClampedSpline
B-Spline 0
2
4
6
8
10
12
14
16
18
Mean Std. Dev
Nearest
Tri-Linear
Cubic_keys
Catmull-Rom
ClampedSpline
B-Spline
Approx. computation time@ rotation(MATLAB profiler)
3 6
140 140
650
283
0
100
200
300
400
500
600
700
Time (s)
Nearest
Tri-Linear
Cubic_keys
Catmull-Rom
Clamped Spline
B-Spline
Top Related