Changes between Version 3 and Version 4 of ThinPlateShell


Ignore:
Timestamp:
Dec 8, 2014, 1:15:08 AM (10 years ago)
Author:
sommeria
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ThinPlateShell

    v3 v4  
    1 
     1= '''Thin Plate Shell interpolation''' =
    22
    33Interpolation/smoothing is an important aspect of PIV. Linear interpolation is the simplest option but it cannot smooth noise, and for 2D (or 3D) fields it does not extrapolate data beyond the convex hull of the initial data set. Global polynomial interpolation generally produce excessive smoothing, for low order polynomials, or spurious oscillations, for high order polynomials. Cubic spline is an optimum general method to interpolate a 1D data series $f_{i}$  measured at a set of abscissa $x_{i},i=1,\ldots,N.$ The spline interpolation function $f(x)$  is made of piecewise cubic polynomials matched at the measurement abscissa $x_{i}$ by the condition $f(x_{i})=f_{i} $, with the continuity of the first derivative. It can be shown that this spline function minimizes the global curvature $\int_{x_{1}}^{x_{N}}f''(x)^{2}dx$ . The name 'spline' refers to a flexible wooden strip used in ship design to draw a smooth curved line pinned on a set of reference points. Its equilibrium shape indeed minimizes the elastic energy. This is proportional to the integral of $f''^{2}$  if it represents a small transverse displacement from the absissa line.
     
    77Generalisation to multi-dimensional spaces can be performed as products of spline functions along each coordinate. However this choice is not optimum and depends on the coordinate axis. The proper generalisation is the ’thin plate spline’ proposed by Duchon[Duchon]. The name refers to a physical analogy with the bending of a thin sheet of metal. Practical algorithms have been first developed by Pahia Montes .It has been first used in the field of cartography and first applied to flow measurements by NguyenDuc and Sommeria(..). We use here a more recent algorithm proposed by Wahba, 1990, rely on the standard inversion matrix functions provided by Matlab.
    88
    9 =Case of pure interpolation=
     9= Case of pure interpolation =
    1010We consider a set of measurement points ${\bf r_i}, i = 1,2, \ldots,N$, and the corresponding set of measurements values for a quantity $f$ (a velocity component for PIV data).
    1111$$
     
    5757the sources $S_i$ are obtained by solving the matrix equation $ F=S*M$.
    5858
    59 {{{Smoothing interpolation}}}
     59= Smoothing interpolation =
    6060
    6161To account for measurement noise, interpolation should involve smoothing, so that the interpolated data can deviate from the measurement at the measurement sites $r_i$. This can be performed by minimising a linear combination of the elastic energy and the quadratic deviation to the measurement values
     
    7474where $I_{000}$ is the NxN identity matrix extended by three columns of 0.
    7575
    76 =spatial derivatives=
     76= Spatial derivatives =
    7777Spatial derivatives of the interpolated quantity $f$ can be obtained by direct differentiation of the result.
    7878For any function $\phi(r)$, with radial distance $r=|{\bf r-r_i}|$, $r^2=X^2+Y^2$, $\partial_X \phi=(d\phi/dr) \partial_X r$, and $\partial_X r=X/r$. This yields $\partial_X \phi=X (2 \log(r) +1)$, so that,
     
    8181$$\partial_y f({\bf r})=\sum S_i (2 \log|{\bf r-r_i}|+1)(y-y_i)+a_2;$$
    8282
    83 =Sub-domains=
     83= Sub-domains =
    8484The computing cost and memory required to invert the matrix [->equ. 9] increases as the cube of the number of measurement points, so that large data sets need to be partitioned in sub-domains. The interpolation is made independently in each subdomain. If sub-domain overlap, the average of the different answers is taken.
    8585