Box spline

In the mathematical fields of numerical analysis and approximation theory, box splines are piecewise polynomial functions of several variables. Box splines are considered as a multivariate generalization of basis splines (B-splines) and are generally used for multivariate approximation/interpolation. Geometrically, a box spline is the shadow (X-ray) of a hypercube projected down to a lower-dimensional space. Box splines and simplex splines are well studied special cases of polyhedral splines which are defined as shadows of general polytopes.

Definition
A box spline is a multivariate function $$(\mathbb{R}^d \to \mathbb{R})$$ defined for a set of vectors, $$\xi \in \mathbb{R}^d,$$ usually gathered in a matrix $$\mathbf{\Xi} := \left[\xi_1 \dots \xi_N\right].$$

When the number of vectors is the same as the dimension of the domain (i.e., $$ N = d $$) then the box spline is simply the (normalized) indicator function of the parallelepiped formed by the vectors in $$\mathbf{\Xi}$$:
 * $$ M_{\mathbf{\Xi}}(\mathbf{x}) := \frac{1}{\mid{\det{\Xi}}\mid}\chi_{\mathbf{\Xi}}(\mathbf{x}) = \begin{cases} \frac{1}{\mid{\det{\Xi}}\mid} &\text{if } \mathbf{x} = \sum_{n=1}^d{t_n \xi_n} \text{ for some } 0 \le t_n < 1 \\ 0 & \text{otherwise}.\end{cases}$$

Adding a new direction, $$\xi,$$ to $$\mathbf{\Xi},$$ or generally when $$N > d,$$ the box spline is defined recursively:
 * $$ M_{\mathbf{\Xi} \cup \xi}(\mathbf{x}) = \int_0^1 M_{\mathbf{\Xi}}(\mathbf{x}- t \xi) \, {\rm d}t.$$



The box spline $$M_{\mathbf{\Xi}}$$ can be interpreted as the shadow of the indicator function of the unit hypercube in $$\mathbb{R}^N$$ when projected down into $$\mathbb{R}^d.$$ In this view, the vectors $$\xi \in \mathbf{\Xi}$$ are the geometric projection of the standard basis in $$\mathbb{R}^N$$ (i.e., the edges of the hypercube) to $$\mathbb{R}^d.$$

Considering tempered distributions a box spline associated with a single direction vector is a Dirac-like generalized function supported on $$t\xi$$ for $$0 \le t < 1$$. Then the general box spline is defined as the convolution of distributions associated the single-vector box splines:
 * $$M_{\mathbf{\Xi}} = M_{\xi_1} \ast M_{\xi_2} \ast \dots \ast M_{\xi_N}. $$

Properties

 * Let $$\kappa$$ be the minimum number of directions whose removal from $$\Xi$$ makes the remaining directions not span $$\mathbb{R}^d$$. Then the box spline has $$\kappa-2$$ degrees of continuity: $$M_{\mathbf{\Xi}} \in C^{\kappa-2}(\mathbb{R}^d)$$.
 * When $$N\ge d$$ (and vectors in $$\Xi$$ span $$\mathbb{R}^d$$) the box spline is a compactly supported function whose support is a zonotope in $$\mathbb{R}^d$$ formed by the Minkowski sum of the direction vectors $$\xi \in \mathbf{\Xi}$$.
 * Since zonotopes are centrally symmetric, the support of the box spline is symmetric with respect to its center: $$\mathbf{c}_\Xi := \frac{1}{2}\sum_{n=1}^N \xi_n .$$
 * Fourier transform of the box spline, in $$d$$ dimensions, is given by
 * $$\hat{M}_\Xi(\omega) = \exp(-j\mathbf{c}_{\Xi}\cdot\omega) \prod_{n=1}^N \operatorname{sinc}(\xi_n\cdot\omega).$$

Applications
For applications, linear combinations of shifts of one or more box splines on a lattice are used. Such splines are efficient, more so than linear combinations of simplex splines, because they are refinable and, by definition, shift invariant. They therefore form the starting point for many subdivision surface constructions.

Box splines have been useful in characterization of hyperplane arrangements. Also, box splines can be used to compute the volume of polytopes.

In the context of multidimensional signal processing, box splines can provide multivariate interpolation kernels (reconstruction filters) tailored to non-Cartesian sampling lattices, and crystallographic lattices (root lattices) that include many information-theoretically optimal sampling lattices. Generally, optimal sphere packing and sphere covering lattices are useful for sampling multivariate functions in 2-D, 3-D and higher dimensions. In the 2-D setting the three-direction box spline is used for interpolation of hexagonally sampled images. In the 3-D setting, four-direction and six-direction box splines are used for interpolation of data sampled on the (optimal) body-centered cubic and face-centered cubic lattices respectively. The seven-direction box spline has been used for modelling surfaces and can be used for interpolation of data on the Cartesian lattice as well as the body centered cubic lattice. Generalization of the four- and six-direction box splines to higher dimensions can be used to build splines on root lattices. Box splines are key ingredients of hex-splines and Voronoi splines that, however, are not refinable.

Box splines have found applications in high-dimensional filtering, specifically for fast bilateral filtering and non-local means algorithms. Moreover, box splines are used for designing efficient space-variant (i.e., non-convolutional) filters.

Box splines are useful basis functions for image representation in the context of tomographic reconstruction problems as the spline spaces generated by box splines spaces are closed under X-ray and Radon transforms. In this application while the signal is represented in shift-invariant spaces, the projections are obtained, in closed-form, by non-uniform translates of box splines.

In the context of image processing, box spline frames have been shown to be effective in edge detection.