B-splines basis function

191 Views Asked by At

If the image domain is denoted as $\Omega_I=\{(x,y,z)| 0 \leq x<X,0\leq y<Y, 0 \leq z <Z \}$. Let $\Phi$ denote a $n_x \times n_y \times n_z$ mesh of control points points $\phi_{i,j,k}$ with uniform spacing. The 3D tensor product of cubic B-splines can be written like this:

\begin{equation} T(x,y,z)= \sum^3_{l=0}\sum^3_{m=0}\sum^3_{n=0}B_l(u)B_m(v)B_n(w)\phi_{i+l,j+m,k+n} \end{equation} where $i=\lfloor \frac{x}{n_x}\rfloor-1, j=\lfloor \frac{y}{n_y}\rfloor-1, k=\lfloor \frac{z}{n_z}\rfloor-1, u = \frac{x}{n_x}-\lfloor \frac{x}{n_x}\rfloor,v = \frac{y}{n_y}-\lfloor \frac{y}{n_y}\rfloor, w= \frac{z}{n_z}-\lfloor \frac{z}{n_z}\rfloor$. $B_l$ are the $l$-th basis functions:

\begin{equation} B_0(u) = (1-u)^3/6 \end{equation}

\begin{equation} B_1(u) = (3u^3-6u^2+4)/6 \end{equation}

\begin{equation} B_2(u) = (-3u^3+3u^2+3u+1)/6 \end{equation}

\begin{equation} B_3(u) = u^3/6 \end{equation}

If I want to use trilinear interpolation instead i.e. to formulate a tensor product using first degree splines. Is the following formulation correct?

\begin{equation} T(x,y,z)= \sum^1_{l=0}\sum^1_{m=0}\sum^1_{n=0}B_l(u)B_m(v)B_n(w)\phi_{i+l,j+m,k+n} \end{equation}

In such a case what are the basis functions equivalent to?

1

There are 1 best solutions below

9
On

your formulation in this case would contain the linear functions, but would be bigger: $uvw$ is not linear. basically you get sums of products of argument-wise linear splines.

you can overcome this by restricting the coefficients of the product-of-linear-functions-splines to be zero. (the practicabillity of this approach depends on the task. least squares fitting with these constraints for instance would be possible.)

EDIT: i found an image for another approach for linear interpolation (by a nodal base, often used for fem for instance) here is the image: https://cdn.comsol.com/cyclopedia/finite-element-method/base-functions-overlap.en_US.png