Post on 20-Jan-2016
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Lecture 10: Multiscale Bio-Modeling and Visualization
Tissue Models III: Imaging and Volumetric B-Spline Models
Chandrajit Bajaj
http://www.cs.utexas.edu/~bajaj
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
The Human Brain
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
The input scattered volumetric data represent values of the electrostatic potential function for the caffeine molecule.
Reconstructed BB-spline model of a Volumetric function
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Tri-variate B-spline Models of Volumetric Imaging Data
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Trivariate BB-model of a jet engine cowling (Geometry)
Input points withOriented normals
Polynomial Spline approximation
Octree subdivision Reconstructed engine
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Trivariate BB-model of the reconstructed jet engine cowling
and associated pressure field
Input points withOriented normals
Polynomial Spline approximation
Octree subdivision Reconstructed engine
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Data points and final octree Isosurfaces extracted from the piecewise polynomial spline model
Modeling of Volumetric Function Data
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Input points Polynomial Spline approximation
Volumetric Modeling of Manifold Data
Orientation of normals and octree subdivision
Reconstructed scalar field
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
C1 Interpolation of derivative Jets at grid vertices
The sixty-four weights defining a tri-cubic polynomial in Bernstein-Bezier (BB) form. The filled dots correspond to weights that are determined by the derivative jet at a vertex.
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
C1 Interpolation by tri-cubic / tri-quadratic BB-polynomials - I
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
C1 Interpolation by tri-cubic / tri-quadratic BB-polynomials - II
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
C1 Interpolation by tri-cubic / tri-quadratic BB polynomials - III
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Tri-variate B-spline Models of Volumetric Imaging Data
256x256x26 130x130x22256x256x256 256x256x256
104x108x113 256x256x256 256x256x256113x112x113
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Nearest Neighbor Interpolants
• Zero-order B-spline function (Box function)
* =
N
k
kxkfxs1
0 )()()(
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Linear B-Spline Interpolants
• First order B-spline kernel (hat function)
* =
N
k
kxkfxs1
1 )()()(
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Interpolants & Approximants
• Zero-order and first-order B-spline functions are named interpolants as the reconstructed signals passes through the original sampling points.
• Cubic B-spline convolution yields an approximant
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Convolution Spline Approximant
• Definition
• Cubic B-splines 3(x) can be used as the convolution kernel h(x),
*
=
N
k
kxhkfxs1
)()()(
N
k
kxkfxs1
3 )()()(
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
•Which interpolates the original functional data at points
•The support of cubic B-Splines is only 4:
Cubic B-spline interpolation
k
kxkcxs )()()( 3
}1 ),()({ N,kkskf
3
2)0(3
N,kkckckckf 1 ),1(6
1)(
3
2)1(
6
1)(
cEf
41
.........
1410
141
14
6
1E
To use 3(x) for interpolation, the interpolated signal is
6
1)1(3 0)2(3
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Comparison
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
B-Splines and Catmull-Rom Splines
• Cubic B-spline Interpolation : - Hou and Andrews, 1978 – Unser et al. 1993
• Catmull-Rom Splines : Catmull-Rom Splines, CAGD’74– Keys 1981
•Mitchell and Netravali 1988–Marschner (Viz’94)–Bentium (TVCG96)
–Moller (TVCG97, VolViz’98)
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
B-spline representation
zSzBzC
zizB
where
zBzCzS
z
kfkc
kxkcxs
xxx
otherwise
xif
xif
x
n
n
ni
inn
n
N
k
n
nn
1
2
2
1
01
0
So
transform- Using
toidenticalnot may tscoefficien spline-B
:kernl spline- Busing edinterpolat be can signal Continuous
)(*)()(
02
1||
2
12
1||1
)(
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Fast Calculation of B-spline coefficients
zz
z
zz
zC
zz
z
zzCzB
z,z
zB
zBzB
x
i
i
i
iF
n
i i
i
iF
n
ii
n
nn
n
1filter causal-anti
1
1filter causal
and
1 andconstant ionfactorizata is where
11
1))((
thus, pairs reciprocal
in always are filter of poles theso
have we, ofsymmentry the toDue
1
2
11
1
1
1
1
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Interpolating B-Splines: Cardinal splines
)()(
)())(*)((
)(
1
1
kxks
kxksb
kxkcxs
Zk
n
n
Zk
n
N
k
n
jn
n
n
nn
Zk
nnn
eB
sinH
zBkb
where
kxkbx
n
1
2
2
is ransform Fourier tits and
1)()(
)()()()(
as defined is degree of spline cardinal The
1
1
1
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
First and Second Derivatives of B-Splines
lyrespective and are and
2
2
is of ransform Fourier tand
121
derivative partialorder second
And,
2
2
is x degree of spline
cardinal theof derivative of ransform Fourier tThe
2
1
2
1
so,
)(
32
21
222
1
11
1
nn
jn
n
n
n
k
nnn
jn
n
n
n
k
nn
k
n
N
k
n
CCxsxs
eB
sinC
xη
kxkxkxkcxs
eB
jsinD
ηn
kxkxkc
kxkcxs
kxkcxs
Note:
Each derivative loses a degree of numerical accuracy
Nth EF (error filter) The reconstructed signal can match the first N terms of the Taylor expansion series of the original signal Reconstructed derivative matches the first (N-1) terms of Taylor expansion series of the derivative of the original signal ((N-1)EF),
Reconstructed curvature (2nd derivatives) is (N-2)EF.
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Spectral Analysis -I (for kernels with overall support 4)
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Spectral Analysis - II
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Spectral analysis-III
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Further Reading
1. K. Hollig: Finite Elements with B-Splines, SIAM Frontiers in Applied Math., No 26., 2003.
2. M. Unser, A. Aldroubi, M. Eden. B-spline Signal processing: Part I, II, IEEE Signal Processing, 41:821-848, 1993
3. C. Bajaj, “Modeling Physical Fields for Interrogative Data Visualization”, 7th IMA Conference on the Mathematics of Surfaces, The Mathematics of Surfaces VII, edited by T.N.T. Goodman and R. Martin, Oxford University Press, (1997).
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Keys’ cubic convolution interpolation method
k
kxukfxs )()()(
in [-2,2]definedmialbic polynou(x) is cu
0)(
,1)0(
ku
u
Note:•C^1•s(x) matches the first three terms of Taylor expansion series of f(x)•u(x) Catmull-Rom spline
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Comparison of Cubic B-spline interpolation and Catmull-Rom spline
Cubic B-spline Catmull-RomNumerical error 4EF (error filter) 3EFSmoothness C^2 C^1Spectral analysis BetterComputational cost
1) If {c(i)} is known, then both are cubic with support 4, the computational cost is roughly same
2) But matrix inversion was used by Hou to determine {c(i)}
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
BC spline
spline Rom-Catmull BC(x)0.5,C 0,B
spline- B)(,0,1
1,0,
0
2||1
1||0
)(
cubicxBCCB
CBandCB
otherwise
xC
xB
xBC
B+2c=1---BC spline convolution is only 2EF
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Amplitude response of reconstruction filters
Two quantitative measures:•Smoothing metric S(h)•Postaliasing metric P(h)Which measure the difference between the reconstruction filter and the ideal filter within and outside Nyquist range respectively.Both are for global error in the frequency domain.To address filter performance issue, we introduce distortion metric D(h)
NN
N
R idealN
R idealN
RR
R
where
dVhhR
hP
and
dVhhR
hD
N
N
of complement
regionNyquist
,
1
1
22
22
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
B-spline & its supportGiven a know sequence uiui+1ui+2The B-spline is defined as
Where, i – index of Ni,k
k – degree
Support: Defining Ni,k, only ui , ui+1 , ui+k+1 are related. The internal [ui , ui+k+1 is called the support of Ni,k, in which Ni,k(u)>0.
Properties:1. Recursive2. Normalization3. Local support
4. DifferentiableNi,k(u) is c between two adjacent knots, ck-rj on the knot uj, where rj
is the multiplicity of knot uj.
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
B-spline function
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
B-spline function (cont’d)
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Signal Reconstruction
• Given discrete samples
• The ideal reconstructed signal can be denoted as
with a reconstruction kernel
Also its gradient f’(x) can be reconstructed exactly as sinc is infinitely differentiable. The ideal gradient reconstruction filter is defined as cosc(x), and its derivative curc(x) is used as the ideal second order derivative reconstruction kernel.
• However sinc(.), cosc(.), and curc(.) extend infinitely, impractical to use.
• Practical alternatives are splines
N}1,i ),({ if
x
xxsinc
sin
Zk
kxsinckfxf
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Marschner-Lobb data
• Analytic data set
IEEE Viz’94
0.25 6
))2
cos(2cos()(
,
)1(2
)))(1()2/sin(1(),,(
22
M
Mr
r
f
rfr
where
yxzzyx
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Experiment results
Tri-linear interpolationTime=299seconds
Tri-quadratic B-spline interpolationTime=393seconds
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Experiment results
Bentium’s methodCatmull-Rom splineTime=548seconds
Moller’s methodCatmull-Rom spline for function interpolation
3EF-discontinuous derivative reconstruction
Time=551seconds
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Experiment results
Cubic B-spline ConvolutionTime=583seconds
Cubic B-spline interpolationTime=549seconds
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Experiment results
Quartic B-spline interpolationTime=871seconds
Quintic B-spline interpolation
Time=1171seconds
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
Experiments
Cubic B-spline interpolationFor function and derivative
ReconstructionTime=549seconds
Cubic B-spline interpolation for
Function reconstructionQuintic B-spline interpolation for
Derivative ReconsrtuctionTime=676seconds
Center for Computational VisualizationInstitute of Computational and Engineering SciencesDepartment of Computer Sciences University of Texas at Austin November 2005
The eight possible different topologies of the level set . The sign of the SDF on the sixty-four control points is uniform in each region delimited by the shaded surface, and changes across it.
C1 Interpolation of vertex data