amidror scattered data interp imaging sdimfeisas

Upload: mitch-bogdanowicz

Post on 05-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    1/20

    Scattered data interpolation methods for

    electronic imaging systems: a survey

    Isaac AmidrorLaboratoire de Systemes Peripheriques

    Ecole Polytechnique Federale de LausanneLausanne, Switzerland

    Abstract. Numerous problems in electronic imaging systems in-volve the need to interpolate from irregularly spaced data. One ex-ample is the calibration of color input/output devices with respect toa common intermediate objective color space, such as XYZ or

    L*a*b*. In the present report we survey some of the most impor-tant methods of scattered data interpolation in two-dimensional andin three-dimensional spaces. We review both single-valued cases,

    where the underlying function has the form f:R2R or f:R3R, and

    multivalued cases, where the underlying function is f:R2R2 or

    f:R3R3. The main methods we review include linear triangular (ortetrahedral) interpolation, cubic triangular (CloughTocher) interpo-lation, triangle based blending interpolation, inverse distanceweighted methods, radial basis function methods, and natural neigh-bor interpolation methods. We also review one method of scattereddata fitting, as an illustration to the basic differences between scat-tered data interpolation and scattered data fitting. 2002 SPIE andIS&T. [DOI: 10.1117/1.1455013]

    1 Introduction

    The problem of scattered data interpolation consists of con-structing a continuous function of two, three, or more inde-pendent variables that interpolates data values which areonly known at some scattered points in the two-dimensional 2D plane or, respectively, in the three-

    dimensional 3D or ND space. The need for interpolationfrom irregularly spaced data occurs in many different fields,such as medical imaging, meteorological or geologicalmodeling, cartography, and computer aided geometric de-sign. For example, in meteorology weather measurementsare available from irregularly located observation stations;

    and in geostatistics and geology aquifer properties andlayer structures are studied from data that is only availableat a few given locations. The data at these few locationsmust be interpolated to the nodes of an underlying grid inorder to allow the use of 2D or 3D scientific visualizationtools to illustrate the variation in the data. Interpolation isalso required for the construction of isolines or contourmaps based on the available data.

    These examples concern the interpolation of single-valued data, where the underlying function has the formf:R2R or f:R3R. But other cases may require the in-terpolation of multivalued data, where the underlying func-

    tion is of the form f:R2R

    2

    or f:R3R

    3

    . As an illustra-tion to the case of f:R2R2, consider the geometriccorrection of aerial or satellite views by landmark basedmorphing. 1 Airborne and satellite images are often dis-torted because of the earth curvature and the oblique view-ing angles. In this case we are given an original, distortedimage that includes a few identifiable ground control pointspillars, road junctions, etc.. For each of these scatteredcontrol points we know both the distorted x,y coordinatesin the image, and the real ( u ,v) coordinates on a geo-graphic map. Our task is, therefore, to interpolate betweenthese few known points in order to obtain the underlyinggeometric correction transformation f:R2R2, that will al-low us later to obtain the rectified image by resampling.Similar cases occur also in medical imaging, where it isrequired to match images obtained from a patient at differ-ent times or with different imaging techniques, or to com-pare them with a standard anatomical data set. In all ofthese bivariate two-valued cases (f:R2R2) we actuallyneed to solve two instances of the bivariate single-valuedinterpolation problem (f:R2R), one for each of the twodestination coordinates.

    Another example, in the field of electronic color repro-duction systems, illustrates the case of f:R3R3. This ex-ample concerns the calibration of color input/output de-vices such as a scanner and a printer with respect to acommon intermediate objective color space such as XYZor

    L*a*b*. In such cases the input device calibration is of-ten based on establishing a mapping between the 3Ddevice-dependent RGB color space of the input device andthe chosen 3D objective color space say, the XYZ space.2

    This is done by using color patches from a standard colorcatalog, such as the Pantone catalog:3 each color patch isfed to the input device to obtain its device RGB values, andthen measured by a spectrophotometer to obtain its XYZvalues. This gives us a set of several hundred points that arescattered within the 3D input RGB space, to each of whichthere are associated three scalar valuesthe coordinates ofthe same patch in the XYZ color space. In this case thevalue at each point of the scattered point set is itself a 3D

    Paper 20029 received Apr. 5, 2000; revised manuscript received Oct. 10, 2000;accepted for publication Oct. 2, 2001.1017-9909/2002/$15.00 2002 SPIE and IS&T.

    Journal of Electronic Imaging 11(2), 157176 (April 2002).

    Journal of Electronic Imaging / April 2002 / Vol. 11(2) / 157

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    2/20

    quantity, so that we actually need to solve three instances ofthe single-valued problemone for each of the XYZ com-ponents.

    In the present survey we will mainly concentrate on thebasic problem of scattered data interpolation for single-valued, scalar quantities such as the geographic elevationover irregularly spaced points (x i ,y i) in the plane, or the

    temperature at scattered points (xi

    ,yi

    ,zi

    ) in space. How-ever, if an interesting vector or matrix expression is avail-able for the multivalued case, we will also mention it.

    The problem of scattered data interpolation in two ormore independent variables has been addressed in manypapers and book chapters that are dispersed in various sci-entific disciplines. And indeed, numerous methods withmany variants have been devised to solve this problem.4 9

    Our aim in the present paper is to briefly survey thosemethods which are most relevant for the needs of electronicimaging systems, and to provide useful references withmore detailed accounts on these methods, for the benefit ofthe interested readers. It should be noted that the conceptsinvolved in scattered data interpolation are largely inspired

    from the fundamental concepts in the interpolation of regu-larly spaced data. Readers who desire a short introductionon classical interpolation methods in this elementary casemay consult, for example, Chap. 11 in Ref. 10 or Refs.1113.

    The different approaches to the interpolation of scattereddata can be classified into global methods, in which eachinterpolated value is influenced by all of the data, and localmethods, in which the interpolated value is only influencedby the values at nearby points from the scattered pointset. Global methods are practically limited to small datasets due to the computational efforts they require; more-over, an addition or deletion of a data point, or a correctionin any of the coordinates of a data point, will modify the

    interpolated values throughout the entire domain of defini-tion. Local methods, on the other hand, are capable of treat-ing much larger data sets, and they are less sensitive to datamodifications, but they may become quite complex, too, ifa smooth result is required.

    The methods surveyed in the present paper will be clas-sified into the following categories:

    1. triangulation or tetrahedrization based methodsSec. 2;

    2. inverse distance weighted methods Sec. 3;

    3. radial basis function methods Sec. 4; and

    4. natural neighbor methods Sec. 5.

    Finally, in Sec. 6, we will review one method of scat-tered data fitting, the regression method, as an illustrationto the basic difference between scattered data interpolationmethods and scattered data fitting methods: While interpo-lation schemes construct functions that pass through thegiven data points, data fitting schemes produce functionsthat maintain the nature and the trends of the input data, butonly pass near the data points. The main criteria used forcomparing the different methods include smoothness de-rivative continuity: C0, C1, possibility of extrapolation,local versus global technique, accuracy and fitting ability,performance efficiency, speed, suitability for large point

    sets, extension to three or more dimensions, the need for apreprocessing step triangulation, Voronoi tesselation, etc.,simplicity of use, particular artifacts known, and variousmethod-family specific criteria.

    Notations: Except where indicated otherwise, the fol-lowing notations will be adopted throughout this review:We assume that we are given a set of n distinct pointsP1 , . . . , P n that are scattered in an N-dimensional Euclidean

    space usually N2 or 3. Each point P i is located at thevector position xi , and has a numerical value z i . Our taskin the single-valued case is to find good interpolation

    functions f(x) such that z if(xi) for all i1,...,n .

    2 Triangulation or Tetrahedrization BasedMethods

    The interpolation methods belonging to this category oper-ate in two steps: First, the scattered point set is triangulatedin the 2D case or tetrahedrized in the 3D case; and then,an interpolation scheme is used within each triangle ortetrahedron. These methods are therefore always local. Agood source of information on triangulation, tetrahedriza-tion and their derived scattered data interpolation methodsis Chap. 20 in Ref. 10.

    2.1 The Triangulation (or Tetrahedrization) of aScattered Point Set

    Let us start first with the 2D case. Clearly, a given point setin the plane has many different triangulations. It may betherefore desirable to find among these triangulations anoptimal one which avoids as much as possible poorlyshaped triangles such as thin and elongated triangles; seeRef. 10, p. 433 and Fig. 20.19 there. We say as much aspossible because this is not always possible, especially inthe vicinity of the external boundaries of the given point set

    Ref. 8, p. 135. One of the nicer candidates is the De-launay triangulation, i.e., the triangulation obtained by con-necting all the neighboring points in the Voronoi diagram ofthe given point set Ref. 14, pp. 186187; Ref. 15, p. 28.Note that the Delaunay triangulation is not necessarilyunique. For example, in the case of four points forming asquare either diagonal produces a valid Delaunay triangu-lation. Such points are always cocircular Ref. 15, p. 28.Intuitively, we may say that a triangulation is nice if itconsists of triangles that are close to being equilateral.Therefore, we may compare different triangulations of thegiven point set by finding the minimal angle of each tri-angle: the triangulation that has the largest minimal anglewould be considered the better one this is called the

    maxmin angle criterion. And it turns out that of all pos-sible triangulations, the Delaunay triangulation is the onethat is guaranteed to produce the largest minimal angleRef. 14, pp. 188189; Ref. 15, p. 29. Note, however, thatit is not guaranteed that a Delaunay triangulation containsno small angles. A simple example of a Delaunay triangu-lation that necessarily contains very small angles is shownin Ref. 14, p. 291. Furthermore, the Delaunay triangula-tion is the only one having the property that the circle cir-cumscribing any of its triangles contains no other point ofthe scattered data set, and hence, no other triangle Ref. 14,p. 188; Ref. 10, pp. 444446. There exist several differenttechniques for constructing a Delaunay triangulation of a

    Amidror

    158 / Journal of Electronic Imaging / April 2002 / Vol. 11(2)

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    3/20

    given scattered point set in the plane. An overview on thesealgorithms is given in Ref. 10, pp. 448453.

    A similar situation exists also in the 3D case: Since theremay be many different tetrahedrizations for any scatteredpoint set in space, it may be desirable to find among theman optimal tetrahedrization that avoids as much as possiblepoorly shaped tetrahedra see Ref. 10, p. 489 and Fig. 20.62there. Here, too, the Delaunay tetrahedrization has some

    particularly nice properties. For example, only a Delaunaytetrahedrization ensures that the enclosing sphere of any ofits tetrahedra contains no other point of the scattered dataset and hence, no other tetrahedra.16 In practice this im-plies that most tetrahedra are neither too flat nor toolong, so that the volume on which the tetrahedral interpo-lation will be performed has a reasonable shape. In the 3Dcase, too, there exist several techniques for constructing theDelaunay tetrahedrization of a given scattered point set; anoverview on these algorithms is given in Ref. 10, pp. 490491. Optimal tetrahedrizations that are based on other op-timization criteria than the Delaunay method are briefly re-viewed in Ref. 17, pp. 1213.

    Once the given scattered point set has been triangulatedor tetrahedrized, we still need a procedure that finds inwhich triangle or tetrahedron an arbitrary new point P islocated, in order to be able to find its value by interpolationwithin that triangle or tetrahedron. This can be done bythe following search procedure described here for the 3Dcase:

    Let G i be a point belonging to a known tetrahedron T.

    P belongs to the same tetrahedron if there is no inter-section between segment G i P and any surface ofT. Inthis case we have found the tetrahedron to which Pbelongs.

    If an intersection with one of the tetrahedrons sur-

    faces exists, a new point G i1 is chosen in the tetra-hedron adjacent to T, which shares with T its inter-sected surface. The procedure is repeated until thecorrect tetrahedron is found.

    Another possible procedure is mentioned in Ref. 18, p.56.

    Having described how to find the triangle or tetrahe-dron in which is located an arbitrary point P, we can pro-ceed now to the different interpolation methods inside thistriangle tetrahedron.

    2.2 Linear Triangular (or Tetrahedral) Interpolation

    Let us start with the 2D case, where the scattered points(x i ,y i) are located in the x,y plane; their values can be

    visualized as altitudes z i over this plane. Therefore, thetriangulation of the scattered points in the x,y plane inducesa piecewise triangular surface over the plane, whose nodesare the points (x i ,y i ,z i). This is a continuous surface madeup of flat triangular pieces that are joined along edgeswhich is an obvious generalization of broken line func-tions in one dimension. Such a surface is often called atriangulated irregular network. This surface represents,therefore, a piecewise interpolation scheme in which a bi-

    variate linear interpolation* is applied within each triangle.Let points P 1 , P 2 , and P 3 , located at x1(x1 ,y 1), x2(x 2 ,y 2) and x3(x 3 ,y 3), be the three vertices of any ofthe underlying triangles in the x,y plane, and let their valuesbe z 1 , z2 , and z 3 . Then, the value z at any arbitrary point

    P located at x(x ,y ) within this triangle can be found asfollows.

    Suppose that the plane which is defined by the threepoints (x 1 ,y 1 ,z 1), (x2 ,y 2 ,z2), and (x3 ,y 3 ,z3) is given by

    zaxbyc. 1

    By inserting the x,y,z values of each of the three knownpoints into this equation we obtain a linear system of equa-tions

    z1ax1b y 1c ,

    z2ax2b y 2c ,

    z3ax3b y 3c .

    The coefficients a,b,c of the plane of Eq. 1 can befound, therefore, by solving this system of equations. Oncethese coefficients are known, Eq. 1 gives us the interpo-lated value z for any point P located at x(x ,y) within thistriangle.

    Alternatively, the value z at any arbitrary point P withinthe triangle can be also found by barycentric interpolation:Let P 1 , P 2 , and P3 be the three vertices of the triangle,

    located at x1(x 1 ,y 1), x2(x 2 ,y 2) and x3(x3 ,y 3).

    Then, the location x(x,y ) of any point P in the x,y planecan be uniquely expressed as a weighted average of the

    locations of these three vertices

    xa1x1a2x2a 3x3 , 2

    where a 1a 2a31. Note that if the point P is situated

    inside the triangle, then we also have a i0, i1,2,3. The

    weights a 1 , a2 , a 3 are called the barycentric coordinatesof point P Ref. 15, pp. 2326. This term is due to thephysical interpretation of the point P as the center of grav-ity of the triangle P 1 P2 P 3 when weights a i are attached to

    its vertices P i barys means in Greek heavy, hence, theterm barycenter: center of gravity.

    Now, for any linear or affine function g ofx(x ,y ) we

    clearly have from Eq. 2:

    g xa 1g x1 a2g x2 a 3g x3

    *We prefer to avoid the popular terms bilinear interpolation and tri-linear interpolation because of their ambiguity. In algebra, a bilinearfunction is a function that is linear in each of its two variables separately,

    such as the function f(x ,y )xy . This function is linear in x for any fixed

    y 0 , and linear in y for any fixed x0 ; but obviously, the surface defined bythis function is not a plane, but a hyperbolic paraboloid see, for ex-ample, the section on bilinear interpolation in Ref. 15, pp. 231233 .Therefore, we call the 2D linear function that represents a plane,

    f(x ,y )axby , a bivariate linear function.

    Scattered data interpolation methods . . .

    Journal of Electronic Imaging / April 2002 / Vol. 11(2) / 159

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    4/20

    and in particular, since our interpolating function z

    f(x,y ) is indeed linear, we obtain that the value z at the

    point P, i.e., at the location x(x ,y ), is simply the

    weighted average of the values z i at the locations of the

    vertices P i , xi(x i ,y i):

    za1z 1a2z 2a3z 3 3

    with the same weights a1 ,a2 ,a3 as in Eq. 2, and a 1a 2a 31. Since the locations of the points P, P 1 , P2 ,

    P 3 are known the weights a 1 ,a 2 ,a 3 can be found by solv-ing the linear system of equations defined by Eq. 2 fora 1 , a2 , and a 3 :

    a 1x1a 2x2a 3x3x ,

    a 1y 1a 2y 2a 3y 3y ,

    a 1a2a 31.

    The solution of these equations is

    a 1a 2a 3

    x1 x 2 x 3

    y 1 y 2 y 3

    1 1 11

    xy1 4

    or, more explicitly, using the Cramer rule

    a 1D1 /D , a2D2 /D , a 3D3 /D , 5

    where

    Dx 1 x 2 x3

    y 1 y 2 y 3

    1 1 1 , D1

    x x2 x 3

    y y 2 y 3

    1 1 1 ,

    D2x 1 x x 3y 1 y y 31 1 1

    , D3x1 x 2 xy 1 y 2 y1 1 1

    .Note that the weights a i can be interpreted geometrically as

    area ratios a iA i /A , where A is the area of the triangle

    P 1 P2 P 3 and A i is the area of the subtriangle obtained when

    the interpolation point P is substituted for the vertex P i see

    Fig. 1: Aarea(P 1 P 2 P3), A 1area(P P 2P 3), A 2area(P1 P P 3), A 3area(P 1P 2 P) Ref. 15, p. 24. More-

    over, since both of the triangles in each ratio a i have the

    same basis, a i equals also the ratio between the heights of

    these triangles. In other words, if h i is the distance of ver-

    tex P i from the opposite triangle edge and di is the distance

    of the interpolation point P from that edge, then a idi /h i .

    It is important to note that in spite of the form differencebetween the results obtained by Eq. 1 and those obtainedby barycentric coordinates Eqs. 3 and 5, in fact, thelinear interpolation values obtained by both methods areidentical: since the bivariate linear polynomial passingthrough three distinct given points in space is unique.

    Let us proceed now to the 3D case. Here, the scatteredpoints (x i ,y i ,z i) are located in the 3D space, and theirvalues can no longer be visualized along an additional di-mension. A useful intuition for illustrating this case couldbe the temperature ti measured at each of the scattered

    points (x i ,y i ,z i) in the 3D space. In this case the scattered

    points (x i ,y i ,z i) are first tetrahedrized, and then a linearinterpolation is applied within each tetrahedron.

    Given the four vertices P 1 , P 2 , P3 , P4 of any such tetra-

    hedron, namely: the locations (x i ,y i ,z i) of its four vertices

    and their values ti , the value t at any arbitrary point P

    located at x(x,y ,z) within this tetrahedron can be foundby writing the trivariate linear interpolation polynomial

    taxb yczd 6

    and finding its coefficients a,b,c,dby solving the linear sys-tem of equations:

    t1ax1b y 1cz1d,

    t2ax2b y 2cz2d,

    t3ax3b y 3cz3d,

    t4ax4b y 4cz4d.

    Alternatively, the value t at any point P located at x

    (x ,y ,z) within the tetrahedron can be found by barycen-

    tric interpolation as a weighted average of the values ti :

    ta 1t1a 2t2a3t3a4t4 , 7

    where the weights a1 , a2 , a3 , a4 are the barycentric co-

    ordinates of the point P in the tetrahedron P 1 P 2P 3 P 4whose vertice locations are x1 , . . . ,x4 , namely

    xa1x1a2x2a 3x3a 4x4 8

    with a1a 2a 3a41. Like in the 2D case, it can be

    shown that a 1 , a2 , a 3 , a4 are given by

    Fig. 1 Triangle P1P2P3 and the interpolation point P inside it. By

    connecting point Pto each of the vertices P1 , P2 , and P3 we obtain

    a subdivision of the triangle into three subtriangles, PP2P3 , P1PP3and P1P2P. The distances hi and di are shown for i1.

    Amidror

    160 / Journal of Electronic Imaging / April 2002 / Vol. 11(2)

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    5/20

    a 1a 2a 3a 4

    x1 x 2 x 3 x4

    y 1 y 2 y 3 y 4

    z1 z 2 z 3 z4

    1 1 1 1

    1

    x

    y

    z

    1

    9or, more explicitly, by

    a 1D1 /D , a2D2 /D , a 3D3 /D , a4D4 /D ,10

    where D, D1 , D2 , D3 , and D4 are straightforward gener-alizations of their 2D counterparts given in Eq. 5.

    Note that the weightsa

    i can be interpreted geometricallyas volume ratios a iVi /V, where V is the volume

    of the tetrahedron P1 P 2 P3 P 4 and Vi is the volume ofthe subtetrahedron obtained when the interpolationpoint P is substituted for the vertex P i see Fig. 2:

    Vvolume(P 1P 2 P 3P 4), V1volume(P P2 P 3 P4), V2volume(P 1 P P 3 P 4), V3volume(P 1 P 2P P 4) , and V4volume(P 1 P2 P 3 P). Moreover, since both of the tetrahe-

    dra in each ratio a i have the same basis, a i equals also the

    ratio between the heights of these tetrahedra. In otherwords, if h i is the distance of vertex P i from the opposite

    tetrahedron face and di is the distance of the interpolation

    point P from that face, then a idi /h i .Once again, in spite of the form difference between the

    results obtained by Eq. 6 and those obtained by barycen-tric coordinates Eqs. 7 and 10, the linear interpolationis unique, and the interpolated values obtained by the dif-ferent formulas are identical.

    2.3 Linear Multivalued Triangular (or Tetrahedral)Interpolation

    Equations 6 or 7 represent a single-valued tetrahedralinterpolation. For a three-valued case such as the RGB toXYZ conversion, where to each point in the scattered pointset within the RGB space there correspond three values inthe XYZ space, one may use Eq. 7 three timesonce foreach of the XYZ coordinates using each time the sameweights a i.

    However, the linear three-valued tetrahedral interpola-

    tion can be performed also in a different way, which is notbased on barycentric coordinates, and which can be ex-pressed in an elegant and compact matrix form. Let us firstpresent this method in the 2D case, i.e., for the interpolationof a 2D mapping f:R2R2 from the x,y plane into the

    destination u, v plane.Suppose that the point P for which we want to estimate

    the value of the mapping is situated at x(x,y ) inside the

    triangle formed by the points P 1 , P 2 , and P 3 of our known

    data set, that are located, respectively, at x1(x1 ,y 1), x2(x 2 ,y 2), and x3(x3 ,y 3) see Fig. 3; note that through-

    out this discussion we do not distinguish between points P iand the corresponding vectors xi that emanate from the

    origin and point to P i. Let us express point x in terms ofthe affine coordinate system that is generated by the vectorsx2 x1 and x3 x1 , the vectors which define the two triangle

    edges emanating from point x1 . We have, therefore seeFig. 3:

    xx1 x2x1 a 2 x3x1 a 3 , 11

    where a2 ,a 3 are the coordinates of point x in this new

    Fig. 2 Tetrahedron P1P2P3P4 and the interpolation point P inside it.

    By connecting point P to each of the vertices P1 , P2 , P3 , and P4we obtain a subdivision of the tetrahedron into four subtetrahedra,

    PP2P3P4 , P1PP3P4 , P1P2PP4 , and P1P2P3P. The distances hiand di are shown for i1.

    Fig. 3 Triangle P1P2P3 in the x,y plane is mapped by the 2D transformation f:R2R

    2 into triangle

    Q1Q2Q3 in the u,v plane. The point P is mapped by linear triangular interpolation into the destination

    point Q. The coordinates of points P1 , P2 , P3 and Pare x1(x1 ,y1), x2(x2 ,y2), x3(x3 ,y3), and

    x(x,y), and the coordinates of points Q1 , Q2 , Q3 and Q are u1(u1 ,v1), u2(u2 ,v2), u3(u3 ,v3), and u(u,v).

    Scattered data interpolation methods . . .

    Journal of Electronic Imaging / April 2002 / Vol. 11(2) / 161

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    6/20

    coordinate system note that 0 a 2 ,a 31 and a 2a 31,since point x is situated inside the triangle. In other words:

    xy

    x 1y 1

    x 2x1y 2y 1

    a2 x 3x1y 3y 1 a3or

    xx1x2x 1a 2x 3x1 a 3 ,

    yy 1y 2y 1 a 2y 3y 1 a 3 .

    This can be reformulated as

    x

    y

    x 1

    y 1

    x2x 1 x3x 1

    y 2y 1 y 3y 1 a2

    a3 ,

    and hence, we obtain

    a 2a 3

    x2x 1 x3x 1y 2y 1 y 3y 1

    1

    xx 1yy 1

    . 12Let now u1(u 1 ,v1), u2(u 2 ,v2), and u3(u 3 ,v3)

    be the known images under the mapping f of points x1(x1 ,y 1), x2(x 2 ,y 2), and x3(x 3 ,y 3) in the destination

    u, v plane. These points define the image of our triangle inthe destination plane. Using linear triangulation interpola-tion, our interpolation point x(x ,y ) is mapped to the

    point u(u ,v), inside the destination triangle, that has thesame relative coordinates a2 ,a3 with respect to the newcoordinate system defined by the destination triangle seeFig. 3. We have, therefore, in analogy with Eq. 11:

    uu1 u2u1 a 2 u3u1 a 3 13

    or

    uu 1 u 2u1 a2 u3u 1a 3 ,

    vv1v2v1a 2v3v1a 3 .

    This can be reformulated as

    uv u 1

    v1 u 2u1 u 3u1

    v2v1 v3v1 a 2a 3 .

    Inserting here the values of a 2 and a3 from Eq. 12 weobtain, therefore

    uv u 1

    v1 u 2u1 u 3u1

    v2v1 v3v1

    x 2x1 x 3x1

    y 2

    y 1 y 3

    y 1

    1

    xx1

    y

    y 1. 14

    This is the interpolated image u of our point x in thedestination u, v plane.

    The 3D case, i.e., the interpolation of a 3D mappingf:R3R3 from the x,y,z space into the destination u, v , wspace, is a straightforward generalization of the 2D case,where the source and destination triangles are replaced by asource and a destination tetrahedra see Fig. 4. The 3Dtetrahedral linear interpolation is defined, therefore, by thefollowing pair of equations, which are the 3D analogs ofEqs. 11 and 13:

    xx1 x2x1 a 2 x3x1 a 3 x4x1a 4 , 15

    uu1 u2u1a 2 u3u1a 3 u4u1a 4 , 16

    where xi are four points of the given data set that define thetetrahedron in the source x,y,z space in which the interpo-lation point x is located, and ui are their known images

    under the mapping f in the destination u, v, w space see

    Fig. 4. The interpolated image u(u ,v ,w) of the point x

    (x ,y ,z) is given, therefore, by the 3D analog of Eq. 14:

    Fig. 4 Tetrahedron P1P2P3P4 in the x,y,z space is mapped by the 3D transformation f:R3R

    3 into

    tetrahedron Q1Q2Q3Q4 in the u,v,w space. The point P is mapped by linear tetrahedral interpolation

    into the destination point Q The coordinates of points P1 , P2 , P3 , P4 , and P are x1(x1 ,y1 ,z1),

    x2(x2 ,y2 ,z2), x3(x3 ,y3 ,z3), x4(x4 ,y4 ,z4), and x(x,y,z), and the coordinates of points Q1 ,

    Q2 , Q3 , Q4 , and Q are u1(u1 ,v1 ,w1), u2(u2 ,v2 ,w2), u3(u3 ,v3 ,w3), u4(u4 ,v4 ,w4), and u

    (u,v,w).

    Amidror

    162 / Journal of Electronic Imaging / April 2002 / Vol. 11(2)

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    7/20

    uvw u 1v1

    w1

    u 2u1 u 3u1 u 4u 1

    v2v1 v3v1 v4v1

    w2w1 w3w1 w4w1

    x 2x1 x 3x1 x 4x1

    y 2y 1 y 3y 1 y 4y 1

    z 2z1 z 3z1 z 4z2

    1

    xx 1yy 1zz

    1

    . 17This is the requested interpolated value u in the destina-

    tion space.This three-valued variant of tetrahedral linear interpola-

    tion method can be found in literature in Refs. 18 and 19.Evaluation: The linear interpolation methods we have

    seen earlier are relatively simple to implement providedthat good triangulation or tetrahedrization routines areavailable, and they run quite quickly. However, they sufferfrom a few considerable drawbacks.

    1 Although piecewise linear interpolation guarantees acontinuous result, it introduces derivative discontinuities onthe boundaries between adjacent triangles or tetrahedra.

    In other words, the resulting piecewise interpolating func-tion is C0 continuous but not C1 continuous smooth. Thismay lead to some objectionable, clearly visible artifactssuch as a faceted appearance Ref. 20, p. 735.

    2 Since a triangulation or tetrahedrization only cov-ers the convex hull of the scattered point set, extrapolationbeyond the convex hullwhenever requiredis not pos-sible with the linear interpolation scheme see an illustratedexample in Ref. 19, pp. 319320.

    3 Since triangulation or tetrahedrization of a scat-tered point set is not unique, a different triangulation willresult in different interpolated values at each intermediatepoint.

    4 The use of the Delaunay method guarantees an opti-

    mal triangulation or tetrahedrization in the sense that wehave seen earlier. However, this triangulation tetrahedriza-tion is not necessarily best suited for all applications. Insome cases it is desired that the triangulation uses a pre-defined set of edges; in such particular cases a constrainedtriangulation may be desirable Ref. 21, pp. 230234. Inother cases, in order to best suit some known characteristicsor requirements of the underlying phenomenon, the bestsuited triangulation or tetrahedrization may depend on theactual values of the data set points, and not only on theirlocations. Overviews on data-dependent triangulations ordata-dependent tetrahedrizations can be found, respec-tively, in Ref. 10, pp. 453467; Ref. 14, p. 205; or in Ref.10, pp. 494502.

    5 Finally, as already mentioned, the triangulation ortetrahedrization of a scattered point set gives the convexhull of the given data set. In cases where the domain is notconvex for example, the color gamut of certain devicesthe triangulation may yield, therefore, triangles or tetrahe-dra that are completely or partially outside the domain,where interpolations may give meaningless results. In suchcases it may be desired to only triangulate the interior ofthe data set boundary, and not its full convex hull. Recipesfor doing so are given in Ref. 22, p. 168; Ref. 17, p. 8.Note, however, that the important relationship between themaxmin angle criterion and the Delaunay triangulationsee Sec. 2.1 is only guaranteed for the convex case Ref.

    10, p. 444; also, the search algorithm presented at the endof Sec. 2.1 may not work in nonconvex cases.

    2.4 The CloughTocher Method: A Cubic TriangularInterpolation

    As we have seen earlier, one of the main drawbacks of

    piecewise linear interpolation schemes is that they are onlyC0 continuous but not C1 continuous i.e., they are notsmooth across the boundaries between triangles or tetrahe-dra. C1 continuity obviously requires piecewise interpola-tion schemes based on polynomials of higher order than 1.For example, in the 2D case the planar triangular surfacesof the linear interpolation should be replaced by curvedtriangular surfaces, whose slopes to both sides of eachboundary can be adjusted and made equal.

    In order to guarantee C1 continuity across boundaries,we need to have more information at each of the trianglevertices or edges. Typically, we need to know at each point,in addition to its location and its value, its gradient i.e., in

    the case of a 2D scattered point set, the x- and y-partialderivatives, or the tangent plane, or equivalently, its normalvector. However, since the assumption of given gradientsis not always realistic, in most cases they will have to beestimated from the given point values Ref. 15, p. 301.This can be done by considering the known values not onlyin the vertices of the triangle in question, but also in itsneighbors; a few possible methods for estimating the gra-dients, both local and global methods, are discussed andcompared in Ref. 23; Ref. 22, pp. 173176; and Ref. 17,pp. 8 9. Some of these gradient estimation methods can beconsidered as an additional preprocessing step, to be per-formed immediately after the triangulation step.

    Several different interpolation methods have been de-

    vised along these lines see, for example, the minimumnorm network method in Ref. 10, p. 475 and Ref. 22, p.170; the PowellSabin method, Ref. 15, p. 305; and a sur-vey of several methods in Ref. 24, pp. 5052. We willdescribe here one of the most popular and widely usedmethods, the CloughTocher method. This method wasoriginally designed for the 2D case, as a tool for the finiteelement method Ref. 25, p. 84; Ref. 26, p. 19, but it waslater extended also to the general ND case.27 We will de-scribe it here for the basic 2D case.

    Like piecewise linear interpolation, the CloughTocherinterpolation method, too, is based on a triangulation of thegiven scattered point set. However, it significantly im-proves on the linear triangular interpolation methods in that

    it uses a cubic interpolation scheme within each triangleusing bivariate cubic polynomials.

    In order to create a piecewise C1-continuous interpola-tion surface, the CloughTocher method requires for eachtriangle the value and the gradient i.e., two partial deriva-tives at each of the three vertices, as well as the normalderivative at the midpoint of each of the three edges inorder to ensure that the normal slope matches across tri-angle boundaries Ref. 25, p. 84. The aim is to imposethese 12 given or estimated constraints three per vertex

    one per edge on the cubic polynomial defined on ourtriangle. However, this is not possible since a bivariate cu-bic polynomial is determined by only ten coefficients

    Scattered data interpolation methods . . .

    Journal of Electronic Imaging / April 2002 / Vol. 11(2) / 163

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    8/20

    px,y a 1x3a 2x

    2ya3x y2a 4y

    3a 5x

    2

    a 6xya 7y2a 8xa 9ya 10

    and can therefore only satisfy ten constraints.Nevertheless, it turns out that we can still achieve our

    goal by splitting each triangle of the original triangulationinto three minitriangles by joining each of the three verticesto the centroid see Fig. 5, and defining a bivariate cubicpolynomial on each of the three minitriangles. This con-struction gives us more degrees of freedom for satisfyingour constraints; we will see later how our constraints cannow be imposed, and what is their geometric significance.

    The key idea behind the CloughTocher method is,therefore, to split each cubic polynomial patch into threecubic polynomial subpatches in order to satisfy theC1-continuity constraints with neighbors. Specifically, acubic Bezier patch is defined over each minitriangle.

    The triangular Bezier patch is a 2D generalization of theBezier curve. While the most straightforward 2D generali-zation of the Bezier curve consists of rectangular Bezier

    patches see Chap. 15 in Ref. 15, a more useful form forour needs is the generalization of the Bezier curve intotriangular Bezier patches Ref. 28; Ref. 15, Chap. 17.These patches are defined over a triangle with known ver-tices using barycentric coordinates; the generalization toBezier tetrahedra in the 3D case is straightforward. Thetriangular Bezier patch is defined in terms of Bernsteinpolynomials Ref. 15, pp. 44, 283, hence, the nameBernsteinBezier polynomial. An mth degree BernsteinBezier polynomial defined over a triangle is of the formRef. 26, p. 19

    p u,v,w 0i ,j ,kmijkm

    m!

    i!j!k!b i,j ,ku

    iv

    jw k,

    where u, v, w are the barycentric coordinates within the

    triangle P 1P 2 P 3 ; the coefficients b i,j ,k are called theBezier ordinates of p. We will be interested here only incubic BernsteinBezier polynomials i.e., with m3,whose form is therefore

    p u ,v,wb 3,0,0u33b 2,1,0u 2v3b 1,2,0uv2b 0,3,0v3

    3b 0,2,1v2w3b 0,1,2vw

    2b 0,0,3w

    3

    3b 1,0,2uw23b 2,0,1u

    2w6b1,1,1uvw 18

    see Fig. 6. Note that these cubic polynomials have exactlyten coefficients b i,j,k : b 3,0,0 , b 0,3,0, and b 0,0,3 are theknown values at the triangle vertices, and the seven otherBezier ordinates are the 2D analogs of the control points ofa Bezier curve see the one-dimensional 1D Bezier curveover each of the three triangle boundaries in the figure! .Although the control points are not included in our givenscattered point set, and their values b i,j ,k are not known apriori, we will give them values by imposing constraints onthe cross-boundary derivativesjust as we do in piecewiseBezier curves in order to impose a smooth behavior acrosstheir segment boundaries. As we have seen above, it turnsout that the ten coefficients b i ,j ,k are not sufficient in order

    to ensure C1 continuity across the three boundaries of the

    triangle P 1P 2 P 3 since they do not give us enough degreesof freedom as we would wish. Hence the idea of splittingeach of the original triangles of our triangulation into threeminitriangles, and defining a cubic Bezier patch over eachof these minitriangles. In order to avoid confusion betweentriangles and minitriangles we will use for minitriangles a

    notation with primes, e.g., P 1P2P 3 .

    Let us see now the geometric interpretation of the con-

    straints that we need to impose in order to ensure C1 con-tinuity everywhere on the piecewise interpolating surface.As we can see in Figs. 68, the Bezier ordinates formwithin each minitriangle a triangular net, that divides eachminitriangle edge into three equal segments; this triangularnet is known as the control net. We will call the nine smalltriangles that are defined by the control net within eachminitriangle microtriangles. Note that the microtrianglesare not part of the Bezier patch itself, and they only belongto its control net. The curved Bezier patch itself is locatedbeneath the triangulated surface defined by the control netsee Fig. 6, just as a 1D Bezier curve lies below its controlpolygon. Now, the constraints we impose in order to ensure

    Note that any other interior point other than the centroid would also do;the centroid is only chosen for symmetry reasons Ref. 28, p. 108.

    Note that although the polynomial pu,v,w looks trivariate, it is in factonly bivariate, since barycentric coordinates impose that uvw1.

    Fig. 5 In the CloughTocher method each triangle P1P2P3 from theoriginal triangulation is split into three minitriangles.

    Fig. 6 A cubic Bezier patch over minitriangle P1P2P3 . The curvedsurface of the patch lies beneath the triangulated surface defined by

    the control points bi,j,k . The partition of the floor triangle P1P2P3 isthe orthogonal projection of the triangulated surface onto the x,yplane. (Adapted from Ref. 26, p. 20, with permission from ElsevierScience.)

    Amidror

    164 / Journal of Electronic Imaging / April 2002 / Vol. 11(2)

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    9/20

    C1 continuity can be geometrically interpreted as a 2D gen-eralization of the constraints used in the 1D case to imposea smooth behavior across segment boundaries in a piece-

    wise Bezier curve: Just as in the 1D case the two controlline segments to both sides of each boundary must be col-linear, so in our 2D case every two neighboring microtri-angles that lie to both sides of a minitriangle edge must becoplanar note that there are three pairs of such coplanarmicrotriangles along each minitriangle edge. This imposesalso that all neighboring microtriangles that surround a ver-

    tex of a minitriangle are coplanar. This is illustrated in Figs.79, where each shaded pair of microtriangles is coplanar.

    The planes on which lie the microtriangles are deter-

    mined by the values of the Be

    zier ordinates in the threeminitriangles that make up the triangle P 1P 2 P 3 see Fig.9. The locations of the ten Bezier ordinates within eachminitriangle are fully determined by the control net: theyare located at the minitriangle vertices, at the 1/3 and 2/3points of each edge, and at the center of the minitriangle.The values of these Bezier ordinates are determined fromour given or estimated constraintsthe value and gradi-ent at each vertex P i and the normal slope at the edgemidpoints, as follows Ref. 28, p. 108: The values of theBezier ordinates denoted in Fig. 8 by are determinedfrom the data value and gradient at the triangle verticesP1 , P2 , and P 3 ; for example, the values of the Bezier

    ordinates located at the 13 and23 points of the edge P1 P 2 are

    determined by the tangent planes at P 1 and P2 , respec-tively. The three ordinates denoted by can be thendetermined from the estimated crossboundary derivativethe normal derivative at the midpoint of each of the threeedges of the triangle P 1 P2 P 3: each of them is located onthe plane defined by a microtriangle ,, that is de-termined by two already known ordinates and by thecross-boundary derivative. Then, the ordinates denoted by

    Fig. 7 The constraint imposed by the Clough Tocher method in order to ensure C1 continuity: everytwo neighboring microtriangles (shown shaded) that lie to both sides of a minitriangle edge must becoplanar. (Adapted from Ref. 26, p. 20, with permission from Elsevier Science.)

    Fig. 8 Top view of one triangle of the original triangulation, showingits three minitriangles and its 19 Bezier ordinates (control points).Each of the three minitriangles consists of nine microtriangles;crossboundary coplanar microtriangles are shown shaded. Notethat all neighboring microtriangles that surround a common vertex ofa minitriangle are coplanar: If the vertex in question is not a point ofthe triangulation (as in the center of this figure) the number of micro-triangles surrounding it is 3, but if the vertex is a point of the trian-gulation, the number of surrounding triangles may be larger.(Adapted from Ref. 26, p. 21, with permission from Elsevier Sci-ence.)

    Fig. 9 A 3D view of Fig. 8. (Adapted from Ref. 24, p. 51, with per-mission from Elsevier Science.)

    Scattered data interpolation methods . . .

    Journal of Electronic Imaging / April 2002 / Vol. 11(2) / 165

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    10/20

    can be determined by the three adjacent ordinates and that have already been calculated since the twoadjacent , , microtriangles must be coplanar. Andfinally, the Bezier ordinate at the central point is de-termined by its three surrounding points so that the threecentral microtriangles be coplanar. Note that the fact thatmakes this construction possible is that we do not need toimpose restrictions at the third vertex of each minitriangle

    the center point: as we have just seen, the value and theslope there are automatically derived from the vertex andedge-midpoint data of the triangle P1 P 2 P3 . Hence, thesubdivided surface now has enough degrees of freedom toallow C1 continuity of the overall interpolant Ref. 29, p.53; Ref. 26, p. 22.

    Once we have understood the logic behind the CloughTocher interpolation method, we can proceed to practicalcomputation issues. The precise formulas for calculatingthe Bezier ordinates b i,j ,k that satisfy our constraints aregiven in Ref. 15, pp. 305306; Ref. 26, pp. 2223; Ref. 28,pp. 108 109; and Ref. 29, pp. 5254. Once the valuesb i,j ,k are known, we can insert them back into Eq. 18 in

    order to obtain the specific triangular Be

    zier subpatch overthe minitriangle in question; three such subpatches areneeded to cover the triangle P 1 P 2P 3 of our original trian-gulation. By proceeding in a similar way for all the othertriangles, we obtain a C1-continuous piecewise interpolat-ing surface that is defined over the triangulation of ourgiven scattered point set.

    There exist several variants and generalizations of theClough Tocher method. A 3D or rather ND version of themethod is described in Ref. 27; Ref. 28, pp. 116117. Avariant of the CloughTocher method which is closer to C2

    continuity has been proposed in Ref. 26. Another variant ofthe CloughTocher method has been proposed for cases inwhich it is known that the underlying function has discon-

    tinuities or discontinuous derivatives along certainboundaries.30

    Evaluation: Since the CloughTocher interpolationmethod is local, it has the advantage of speed: even largescatter point sets can be interpolated quite rapidly. Also,like in the linear triangulation-based interpolation methods,a correction in any of the given data points only influencesthe interpolated values within the triangles or tetrahedrathat have this data point as a vertex see Fig. 5a in Ref.26. The CloughTocher method gives a smooth C1 con-tinuous interpolation surface or volume, which brings outlocal trends in the data set quite accurately. However, it stilldepends on the quality of the underlying triangulation ortetrahedrization: see points 45 at the end of Sec. 2.3.

    2.5 Triangle Based Blending

    The last triangulation-based method for scattered data in-terpolation that we describe here is the triangle basedblending technique.31 Once again, we need first to obtain atriangulation of our given scattered point set. Then, foreach point (x i ,y i) of the scattered point set we calculate acorresponding quadratic polynomial interpolant

    zfx ,y a 1x2a 2xya3y

    2a 4xa5ya6

    that passes through the point (x i ,y i) itself and its five near-

    est neighbors within the scattered point set. As we haveseen following Eq. 1, this can be simply done by insertingthe x,y,z values of each of the six points into the polynomialequation, in order to obtain a linear system of six equationsfor the six coefficients a 1 , . . . ,a 6 .

    Now, in order to find the interpolated value z at an arbi-trary point x,y we have to find first in which triangle ofthe triangulation this point is located. Then, the value z is

    determined as the weighted average of the values at thepoint x,y of the three interpolating polynomials that cor-respond to the three triangle vertices Ref. 31, p. 180:

    zw1f

    1x ,y w2f

    2x ,y w3f

    3x ,y .

    To ensure a continuous transition from one triangle tothe next we need only ensure that each weight w i is iden-

    tically zero along the edge of the triangle opposite to the ith

    vertex. This can be achieved by making w i proportional to

    the kth power of the distance di of the point x,y to the

    edge, for some k, typically 3. The weights w i are then

    scaled to make di1 at the vertex i. We have, therefore

    w idik/ d1

    kd2

    kd3

    k.

    Other variants of this method can also guarantee C1 con-tinuity across triangle boundaries Ref. 31, p. 384; Ref. 6,pp. 187188. The extension of such methods to 3D isobtained by considering tetrahedra instead of triangles.

    Evaluation: Triangle based blending methods are veryfast, since they are local. Another advantage of these meth-ods is that they allow also extrapolation beyond the convexhull of the given data points, i.e., outside the region coveredby the triangles. To do this one can partition the exterior ofthis region by extending lines outwards from the datapoints on the boundary, for example by bisecting the exte-

    rior angles at the corners. The extrapolated values in eachsuch semi-infinite quadrilateral region may be then found

    as a weighted average of the functions fi(x,y ) of the twoboundary points see Fig. 4 in Ref. 31, p. 179.

    The main disadvantage of triangle based blending meth-ods, like in all triangulation based methods, is the need totriangulate or to tetrahedrize the given scattered point setas a preprocessing step before interpolation can be started.

    3 Inverse Distance Weighted Methods

    One of the most commonly used techniques for interpola-tion of scattered points is inverse distance weighted inter-polation. Inverse distance weighted methods are also

    known as Shepard methods after the name of the firstcontributor in this field.32 These methods are basically glo-bal, i.e., they use all of the data points to calculate eachinterpolated value. Their basic assumption is that the inter-polated values should be influenced more by nearby pointsand less by the more distant points. The interpolation valueat each new point P is a weighted average of the values ofthe scattered points, and the weight assigned to each scatterpoint diminishes as the distance from the interpolationpoint to the scatter point increases. As we will see, manydifferent ways exist for choosing these weights.

    Let us start, as usual, with the 2D case. Suppose we aregiven irregularly distributed points P i in the plane, whose

    Amidror

    166 / Journal of Electronic Imaging / April 2002 / Vol. 11(2)

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    11/20

    locations and values are, respectively, (x i ,y i) and z i . We

    wish to construct an interpolating function f(x,y ) with

    f(x i ,y i)z i for all i, where the influence of point P i de-

    creases with increasing distance between x,y and (x i ,y i).Shepards original proposal can be formulated as aweighted average of the values z i :

    fx,y i1

    n

    w ix,y z ii1

    n

    h ix,y i1

    nh ix ,y

    z i 19

    with weights:

    w ix,y h ix ,y

    i1n

    h ix ,y 0w ix ,y 1,

    i1

    n

    w ix ,y 1

    where, h ix,y 1

    dix,y k 20

    and where di(x,y ) is the Euclidean distance between the

    points x,y and (x i ,y i): di(x ,y )(xx i) 2(yy i) 2,and k1 is a chosen exponent. Note that h i(x ,y ) is infi-

    nitely large at the data point (x i ,y i) itself. However, it can

    be shown that when x,y approaches a data point (x i ,y i),

    f(x,y ) tends to the value z i ; therefore, by choosing

    f(x i ,y i)z i for all the given data points it is guaranteed

    that the interpolating function f(x,y ) is continuous Ref.

    32, p. 518. Another favorable property of f(x ,y) is that it

    is bounded above by max z i and below by min z i Ref. 33,pp. 255, 257.

    It is interesting to note that for any fixed point P locatedat (x,y ), the denominator in Eq. 19 can be considered as

    a normalization constant so that the magnitude of f

    (x ,y) isdirectly proportional to the value z i and inversely propor-

    tional to the kth power of the distance from P to P i . In this

    sense, the formula is analogous to a 1/rk gravitationlawRef. 33, p. 256.

    The simplest interpolation function f(x ,y) is obtained

    by choosing in Eq. 20 k1, i.e.,

    h ix,y 1

    xx i2yy i

    2.

    However, a disadvantage of this function is that al-though it is continuous, it has slope discontinuities in theform of a cone at each of the data points (x i ,y i) see Fig.10a for the equivalent 1D case. This can be cured bytaking k2, i.e., the square of the distances

    h ix,y 1

    xx i2yy i

    2 .

    However, this allows too much influence by far awaypoints Ref. 6, p. 186. Furthermore, it turns out that such asurface becomes flat near each of the data points (x i ,y i),since its partial derivatives there vanish Ref. 33, pp. 258260. In fact, as shown in Figs. 1011, the higher the value

    of the exponent k, the more pronounced this flatness be-comes, yielding an effect of terracing; and as k , the

    interpolating function f(x,y ) approaches a step function

    similar to a 2D histogram with the values f(x i ,y i)z i .

    This means that for large values ofk the practical influenceof the i th point is essentially limited to a certain region ofinfluence around it. Moreover, as clearly shown by Fig.11c, when k the regions of influence of the points P iare clearly bounded by straight line segments. Note that anindividual point P i may be given a larger region of influ-ence than the others by simply choosing a higher value of kfor its h i(x,y ) in Eq. 20. This is graphically illustrated forthe 1D case in Fig. 10d, and for the 2D case in Fig. 11b.

    The objectionable artifact due to the flatness of f(x ,y)

    around the data points (x i ,y i) can be cured by imposing ateach data point its real partial derivatives instead of thezero partial derivatives inherent to the original method.This can be done by replacing the values z

    i

    in Eq. 19 bytangent planes

    gx,y z ia ixx ib iyy i , 21

    where a i and b i are the x-and y-partial derivatives of the

    underlying function z(x ,y) at the point (x i ,y i). The influ-ence of this correction on the resulting interpolation func-

    tion f(x,y ) is graphically illustrated in Fig. 12. Note, how-ever, that in most cases the partial derivatives at the datapoints are not given, and they have to be estimated. Waysfor estimating them are given in Ref. 33, pp. 263264; Ref.

    Fig. 10 A simple illustration of the behavior of a univariate Shepardinterpolation function based on the 1D counterparts of Eqs. (19) and(20), for various values of the exponent k. (Adapted from Ref. 33, p.259, with permission from the American Mathematical Society.) Thevalues of k used in figures (a), (b), (c), and (d) are as follows (fromleft to right in each figure):Figure k

    1k

    2k

    3k

    4k

    5

    a 1 1 1 1 1

    b 2 2 2 2 2

    c 10 10 10 10 10

    d 2 1 0.5 15 2

    Scattered data interpolation methods . . .

    Journal of Electronic Imaging / April 2002 / Vol. 11(2) / 167

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    12/20

    32, pp. 520521; Ref. 7, Sec. 11; and Ref. 34, Sec. 2.4; seealso the derivative estimation problem in the CloughTocher method Sec. 2.4 earlier.

    More generally, in order to increase the continuity of theresulting function one may replace the values z i in Eq. 19

    by L iz(x,y ), where L iz(x,y ) is a local approximation to

    the underlying function z(x ,y) at the node (x i ,y i), suchthat L iz(x i ,y i)z i Ref. 35, pp. 140141; Ref. 6, pp. 185

    186. Such L iz(x ,y) are called nodal functions. Other gen-eralizations of the Shepard methods can be found in Ref. 6,p. 186.

    Finally, because the inverse distance weighted methodsare global, and hence, their computation is too slow forlarge point sets, several ways have been suggested to lo-calize them. For example, it has been suggested Ref. 6, p.185 to use

    h ix,y Rdix ,y Rdix ,y 2

    , 22

    where

    Rdix ,y Rdix,y if dix,y R0 if dix,y R

    and where di(x,y ) denotes the Euclidean distance betweenx,y and (x i ,y i), and R is a radius of influence about the

    node (x i ,y i). This means that data at (x i ,y i) only influ-ences interpolated values at points within this radius. It can

    be shown that the resulting interpolant f(x,y ) has continu-ous first partial derivatives Ref. 35, pp. 140141, so thatit is C1 continuous.

    Evaluation: Shepard methods suffer from some prob-lems inherent to distance-based schemes. In particular,since they are only sensitive to the distance they tend tooverweight data clusters. Moreover, because they aredistance-based schemes each data point has a radially sym-metric influence and, hence, data features such as planes,

    Fig. 11 A simple illustration of the behavior of a bivariate Shepard interpolation function based on Eqs.(19) and (20) for various values of the exponent k. (Adapted from Ref. 33, p. 260, with permission fromthe American Mathematical Society.) The values of k used in figures (a), (b), and (c) are as follows:Figure k1 k2 k3 k4 k5

    a 2 2 2 2 2

    b 10 1 5 2 3

    c 20 20 20 20 20

    Amidror

    168 / Journal of Electronic Imaging / April 2002 / Vol. 11(2)

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    13/20

    ridges, and valleys are obscured by this enforced isotropyaround sample points Ref. 34, p. 116. But although Shep-ard methods are less efficient and less accurate than sometriangulation-based methods, they are among most viablecandidates for extension to three or more independent vari-ables, because the triangulation-based methods have greatercomplexity and storage requirements associated with theirextension Ref. 35, p. 140. Also, Shepard methods havethe ability to extrapolate naturally outside the convex hull

    of the given data points Ref. 32, p. 521. In fact, it hasbeen shown that for any choice of equal exponents n1

    for the h i(x,y ) in Eq. 19, as the interpolation point P

    recedes infinitely from the cluster of the given points P i ,

    f(x,y ) approaches the average of the values z i Ref. 33, pp.257; 261262. This is clearly illustrated in Fig. 13.

    The performance of Shepard methods is very dependenton an appropriate weight function w i(x,y ) Ref. 6, p. 186.It is instructive to see the list of shortcomings of pure in-verse distance weighting as mentioned in Shepards origi-nal paper Ref. 32, pp. 518519, and the remedies he sug-gests for each of them in his weight functions Ref. 32, pp.519521. The weight function of Eq. 22 is reported to

    have an accuracy comparable to other local methodsRef.35, p. 139 and is therefore a good starting point, provided

    that the parameter R can be well chosen for the given scat-tered point set. See Ref. 8, Sec. 4.1 for an available imple-mentation of a modified Shepard method, including both2D and 3D versions.

    4 Radial Basis Function Methods

    Radial basis function methods are another example of glo-bal interpolation methods for scattered points. The initialideas, dating from the late 1960s, are due to Hardy.36 Ba-sically, these methods can be characterized as follows: Foreach point (x i ,y i) of the data set simply choose some func-

    Fig. 12 (a) The Shepard interpolation function f(x,y) of Eqs. (19) and (20) with k2 for all five points.The flat spots artifact caused by vanishing first partial derivatives is quite evident. (b) The result of

    imposing the estimated partial derivatives at each of the five given points. The improvement obtainedby this method with respect to (a) is clearly visible. (Adapted from Ref. 33, p. 263, with permission fromthe American Mathematical Society.)

    Fig. 13 An illustration of the behavior of a bivariate Shepard inter-polation function based on Eqs. (19) and (20) for various values ofthe exponent k. (Adapted from Ref. 33, p. 262, with permission fromthe American Mathematical Society.) This figure clearly illustrates

    that the partial derivatives at each point Pi are zero. Since the figureis plotted with large margins around the given points, it also shows

    the asymptotic behavior of the interpolating function f(x,y) away

    from the given points: clearly, f(x,y) tends in all directions to the

    average of the values zi . The point locations (xi ,yi), their corre-

    sponding values zi and the values of kused for each of them are asfollows:

    i 1 2 3 4 5

    (x i ,y i) 0,0 1,1 1.2,0.2 0,0.5 1,0.5

    z i 4 0 3 1 1

    ki 2.2 2.5 3 4 4

    Scattered data interpolation methods . . .

    Journal of Electronic Imaging / April 2002 / Vol. 11(2) / 169

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    14/20

    tion h i(x ,y ), and then determine coefficients a i so that

    f(x,y ) ia ih i(x ,y) interpolates the data. However, as we

    will see later, appropriate choices of functions h i(x ,y) arenot easy to make. For example, polynomial functions give avery bad interpolating surface with many overshoots andripples between the given data points; and even those func-tions that are known to work well are not always easy to

    justify mathematically. The most useful functions h i(x,y )are radial functions of one variable, h(r), so that the basis

    function associated with each data point (x i ,y i) is of the

    form h i(x,y )h(di), where di is the distance betweenx,y to (x i ,y i). This explains the name of this methodfamily.

    In Hardys original method, each data point (x i ,y i) is

    associated with a quadratic function h i(x,y )(xx i)2

    (yy i)2c 21/2, which represents a circular two-sheet

    hyperboloid or, when c0, a conic surface centered at

    (x i ,y i). Alternatively, one may associate with each data

    point (x i ,y i) a quadratic function h i(x,y )(xx i)2(y

    y i)2c 2, which represents a circular paraboloid surface

    centered at (x i ,y i). The multiquadric surface

    defined bythe sum

    zi1

    n

    a ixx i2yy i

    2c 21/2 23

    is, therefore, a shifted sum of circular two-sheet hyperbo-loids, while the multiquadric surface

    zi1

    n

    a ixx i2yy i

    2c 2 24

    is a shifted sum of circular paraboloids. The coefficients a idetermine the sign and the flatness of each quadratic termin the sum, and c is a small constant value to be specifiedby the user. Other multiquadric surfaces consisting of hy-perbolic paraboloids, one-sheet hyperboloids, etc., can bealso constructed in a similar way.

    Now, since we know the location (x i ,y i) and the value

    z i for each of the n given points, we can insert them intoEq. 23 or Eq. 24, obtaining a set of n linear equationsfor the n unknown coefficients a i :

    z 1a1x1x 1 2y 1y 1

    2c21/2. . .a nx 1x n

    2

    y 1y n2c 2 1/2

    ]

    z na1xnx 1 2y ny 1

    2c21/2. . .a nx nx n

    2

    y ny n2c 2 1/2

    or in matrix notation

    zMa. 25

    The solution of these equations is given by

    aM1z.

    This calculation may be considered as a preinterpolationstage much like the triangulation step in triangulation-based methods. Once the coefficients a1 , . . . ,an areknown, Eq. 23 or, respectively, Eq. 24 becomes asmooth interpolating surface, that gives us the interpolatedvalue z for any point x,y.

    This multiquadric surface can be understood geometri-cally as a weighted sum of hills or hollows that arecentered at the point locations (x i ,y i), and whose steepness

    is determined by the weights a i see, for example, Fig. 1 inRef. 37, p. 165. Clearly, a weighted sum of such quadraticterms two-sheet hyperboloids, paraboloids, etc. is C

    continuous Ref. 6, p. 192; a sum of cones, however, is

    only C

    0

    continuous.Hardy does not conclude which class of quadratic func-tions h i(x,y ) gives the best results, and he suggests that thechoice will depend on the nature of the underlying topog-raphy its smoothness, angularity, etc. Ref. 36, pp. 19071908. He notes, however, that quadratics other than thecone tend to displace the maxima and minima of the under-lying topography Ref. 36, p. 1914. This can be cured byconsidering also the partial derivatives surface tangents ifwe know a certain number m of points data points or notwhere the slope of the underlying surface is zero e.g.,points that are hilltops or the bottom of a hollow Ref. 36,p. 1910. Let us illustrate this, for the sake of simplicity, inthe 1D case. In this case Eq. 23 is reduced to

    zi1

    n

    a ixx i2c21/2.

    Adding an expression for a polynomial series we obtain

    zi1

    n

    a ixx i2c21/2

    i1

    m

    b ixi. 26

    By differentiating Eq. 26 and equating the derivative tozero we have

    i1

    n

    a ixx i2

    c2

    1/2

    xx ii1

    m

    ib ixi1

    0. 27

    Now, since we know the locations x i and the values z ifor each of the n given points, we can insert them into Eq.26, obtaining a set of n linear equations with nm un-

    knowns, a 1 , . . . a n ,b1 , . . . bm . Similarly, by inserting the

    locations x i of the m points at which the slope is zero intoEq. 27, we obtain a system of m equations with the samenm unknowns. We have, therefore, a system of nmequations n coordinate equations and m slope equationswith nm unknowns. After the equations are solved for

    the unique values of a 1 , . . . a n , b 1 , . . . b m , these coeffi-

    The term multiquadric surface means a sum of quadric surfaces. A quad-ric surface is the 2D generalization of a conic curve: just as a conic

    has the implicit equation q(x ,y )0, where q is a quadratic polynomial in

    x and y, so a quadric has the implicit equation q(x ,y ,z)0, where q isquadratic in x,y, and z Ref. 15, p. 298.

    Amidror

    170 / Journal of Electronic Imaging / April 2002 / Vol. 11(2)

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    15/20

    cients are inserted into Eq. 26 to form the required inter-polation function. The resulting function is a multiquadriccurve or surface, in the 2D case on which an additionalpolynomial, normally of a low degree, is added to imposezero slopes at the desired maxima and minima.

    In a further generalization of these methods, the deriva-tive conditions can be replaced by other constraints such aspolynomial precision of order m i.e., the ability to repro-

    duce exactly any polynomial up to order m; this may beimportant in some fields such as computer aided geometricdesign or approximation theory: If we denote by h i(x ,y )

    h(di) the basis function associated with each data point

    (x i ,y i), and by q i(x,y ) a basis for the bivariate polyno-mials of degreem , then the form of the interpolationfunction is Ref. 8, p. 135:

    zi1

    n

    a ih ix,y i1

    m

    b iq ix,y

    and the nm coefficients a i and b i are found by solving

    the following n equations:

    z 1i1

    n

    a ih ix1 ,y 1 i1

    m

    b iq ix 1 ,y 1

    ]

    z ni1

    n

    a ih ixn ,y ni1

    m

    b iq ix n ,y n

    along with the following m constraints that guarantee poly-nomial precision:

    0i1

    n

    a iq1x i ,y i

    ]

    0i1

    n

    a iqmx i ,y i .

    It is interesting to note that although radial basis func-tion methods were known to work well since the late1960s, until the 1980s no mathematical theory existed for

    them, not even concerning the existence of a solution to theequations in all possible point configurations Ref. 8, p.147. Only in 1986 it has been shown that the system ofequations is indeed nonsingular.

    Note that in principle this method could be used withany family of functions h i(x ,y ), such as polynomials ortrigonometric series of a certain order, whose coefficientsa i would be determined by a linear system of equations likeEq. 25 see, for example, Ref. 4, pp. 208209. The par-ticularity of the multiquadric functions is that they give asystem of equations that is rather well conditioned, andwhich is guaranteed to be nonsingular and hence to have asolution. For other function families, where the existence of

    a good solution for the coefficients a i is not guaranteed, abest fit approach can still be used to find the best coef-ficients a i , as explained in Sec. 6.

    Finally, the extension of radial basis function methods to3D or higher dimensions is rather straightforward.

    Evaluation: Radial basis function methods are some ofthe most elegant schemes from a mathematical point ofview, and they often work very well Ref. 8, p. 135. Interms of fitting ability and visual smoothness, the most im-pressive method in this family is the original multiquadricmethod due to Hardy. Hardys method was verified as beingcapable of fitting the underlying surface very accurately,and furthermore, it is quite stable with respect to the choiceof the parameter c Ref. 6, p. 191. However, since thesemethods require a preprocessing stage of solving a systemof at least n linear equations with as many unknowns, witha full matrix, in order to obtain the coefficients of the in-terpolating function, these methods are not suitable forlarge data sets with more than a few hundred points Ref. 8,p. 135. Various ways have been proposed to localizethese methods in order to allow the treatment of larger datasets Ref. 8, p. 136. For example, one may decompose thedomain of the scattered point set in order to solve manysmall systems of linear equations rather than one globalsystem, and subsequently blend the resulting local interpo-lants. A historical review of the multiquadric method withmore than 100 references is given in Ref. 37.

    5 Natural Neighbor Interpolation Methods

    The last family of scattered data interpolation methods wedescribe here, known as natural neighbor interpolation, wasfirst introduced in Ref. 38. This interpolation approach islocal, and is based on the Voronoi tesselation of the givenscattered point setwhich is the geometric dual structureof the Delaunay triangulation or tetrahedrization Ref. 21,

    p. 203. The Voronoi tesselation partitions the plane orspace into an exhaustive and disjoint set of tiles polygonsor, respectively, polytopes, each tile Ti enclosing one point

    xi of the given point set. The tile Ti is defined as the area

    or volume that is closer to the scatter point xi than to anyother scatter point

    TixR2d x,xid x,xjj1, . . . n,

    where d(a,b) denotes the Euclidean distance between the

    points a and b. Point xi of our point set is said to be a

    natural neighbor of point xj of the set if their respective

    tiles Ti and Tj have a common edge or point of contact.

    The number of natural neighbors of point xi that is not onthe external boundary is at least N1, where N is the

    space dimension, and at most n1, where n is the numberof points in the set, and it varies from point to point. In the2D case the average number of natural neighbors the num-ber of edges in a Voronoi polygon does not exceed 6 Ref.21, p. 205.

    Before interpolation can be started, a preprocessing stepis required for constructing the Voronoi tesselation of thegiven scattered point set see Ref. 13, pp. 149160; Ref. 21pp. 205214; and Ref. 38, p. 31.

    Once the Voronoi tesselation of our point set has beenconstructed, all that we need in order to evaluate the inter-

    Scattered data interpolation methods . . .

    Journal of Electronic Imaging / April 2002 / Vol. 11(2) / 171

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    16/20

    polated value at a new point x is simply to add x to the setof scatter points, letting it crave its own tile from thetiles of the surrounding data points see Fig. 14. Thus, thenew tile of point x is

    T xzR2d z,xd z,xj j1, . . . ,n

    and its intersections with the old tiles are:

    Ti xT xTi .

    Note that the intersections Ti(x) are nonempty only for

    neighboring tiles Ti from which the new tile T(x) has sto-len territory. The actual calculation of the areas or vol-umes of the subtiles Ti(x) for each neighboring point xi isa complicated but reasonably efficient geometrical compu-tation Ref. 38, p. 31. The detailed procedure for the 2Dcase can be found in Ref. 34, p. 82; for higher dimensions

    see Ref. 39, p. 658.Now, denoting the area or the volume of a tile T by

    area(T), the natural neighbor interpolant at the point xcould be defined as

    f xi

    h i xz i , 28

    where

    h i xarea Ti x

    area T x0h i x1,

    ih i x1.

    Note that h i(x) varies smoothly between 1 at the point xiitself and 0 where the interpolation point x ceases to be anatural neighbor of xi ; h i(x) is a continuous function ofx,

    and furthermore, ih i(x)xix Ref. 38, p. 28. This inter-polation method is, therefore, a weighted average of thesubset of data points xi which are natural neighbors of theinterpolated location x.

    This method results in a surface which consists of cone-like peaks or pits at the data points xi Ref. 34, p. 155. This

    means that the interpolant Eq. 28 is only C0 continuous,

    since its derivatives are discontinuous at the points xi . In

    order to obtain a C1-continuous interpolant we must takeinto account also the gradient at each of the points; as wehave already seen in the previous sections there exist sev-eral methods for estimating the gradients at the given datapoints. Once we have estimated the gradient z(x) of the

    underlying function z(x) at the point xi , we replace the

    values z i in Eq. 28 by the first degree polynomial g i(x)

    that passes through z i with the calculated slope

    g i xz iz xiT xxi, 29

    where T denotes the vector transpose. This will blend, us-ing the natural neighbor weights, not only the values z i butalso their corresponding gradients. In order to guarantee thecorrect slopes at the points xi we also replace the weights

    h i(x) in Eq. 28 by the weights

    w i xi

    h i xd x,xi1

    ih i xd x,xi1

    so that we finally obtain Ref. 7, p. 13; Ref. 38, p. 30:

    f xi wi xg i xi

    h i xd x,xi1

    ih i xd x,xi1 g i x. 30

    The fact that h i(x) is nonzero only for the neighboring

    points of xi causes this method to be local. As we can see,the weights used in natural neighbor interpolation definethe amount of influence any neighboring scatter point willhave on the computed value at the interpolation point. Theweight depends on the area of influence i.e., the area of theVoronoi polygons of the surrounding scatter points: alarger area results in a larger weight or influence of thecorresponding scatter point on the interpolated value.

    This natural neighbor interpolant has some remarkableproperties Ref. 7, p. 13; among others, it can be shown

    although the proof is rather involved that it is indeed C1continuous, and that its values depend continuously on thedata points xi .

    Evaluation: Natural neighbor interpolation methodsshare with triangulation-based methods the unhappy burdenof requiring a preprocessing stage that partitions the givenscattered point set into a network of exhaustive and disjointcells, but also the happy consequence of being local. How-ever, all their other properties are sufficiently different to

    justify their classification in separate method families.Natural neighbor interpolation is a weighted average

    method where the weights are area-based, as opposed toother methods such as inverse distance methods where

    Fig. 14 The Voronoi tiles of the scattered point set x1 ,...,x9.When a new point x is added to the tesselation, it craves its owntile by stealing territory from the surrounding data points. Boldlines indicate the new tile of point x; the dotted lines inside it showthe old tile boundaries before the addition of point x. For the sake ofcompleteness, the Delaunay triangles associated with the Voronoitesselation are also shown, indicated by thin dashed lines; the tri-angle edges are perpendicular bisectors of the tile edges.

    Amidror

    172 / Journal of Electronic Imaging / April 2002 / Vol. 11(2)

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    17/20

    distance-based weights are used. Area-based weights aresuperior to distance-based weights because they compen-sate for data density variationwhereas distance-based in-terpolation is only sensitive to the distance and hence mayoverweight data clusters Ref. 34, p. 82. Also, as comparedto triangular-based interpolation methods, each point xi issituated within its region of influence Voronoi tile, and noton a vertex between regions triangles. The fact that thetiles correspond to an area of influence about the givenpoints is intuitively more appealing. All this makes thenatural neighbor approach a robust method of scatteredpoint interpolation, which performs equally well in clus-

    tered and in sparse areas of the given point set Ref. 34, pp.155161.

    This approach also avoids another pitfall of other meth-ods, namely: the arbitrary definition of the interpolationsubset such as the radius R in Eq. 22 and in similarlocalization schemes. It may be interesting to note thateven the simpler C0-continuous variant of this approach

    Eq. 28 gives better results than its C0-continuoustriangulation-based counterpart Sec. 2.2since the natu-ral neighbor method has derivative discontinuities only atthe points xi , whereas the linear triangulation-based inter-polation method has derivative discontinuities along all thetriangle borders, and not only at the points xi .

    However, in spite of its advantages, this approach ismore computationally intensive and, hence, slower thanother approaches, and all the more so in higher dimensions.

    6 Scattered Data Interpolation Versus ScatteredData Fitting

    Data fitting is an alternative approach to interpolation infinding intermediate values of an underlying functionwhose values are only known at a limited number of points.The approach of data fitting significantly differs from thatof interpolation: While interpolation methods approximatethe underlying function by finding a curve or a surface,etc. that passes through the known data points, data fitting

    methods find an approximating curve or surface, etc. thatbest fits the known data points according to some specifiedcriteria. This means that the approximating function willpass close to the known values, but not necessarily exactlythrough them. This does not mean, however, that the qual-ity of approximations calculated between the known pointsby data fitting is worse than in the case of interpolation:best fit methods have the advantage of being able to specifythe range of the overall error, and their main concern is tominimize it. Furthermore, although data fitting misses thegiven points, it usually gives a smoother function than in-terpolation see Figs. 15 and 16. The choice between in-

    terpolation and best fit approaches depends, therefore, onthe nature and the specific needs of each particular applica-tion.

    In general, interpolation through the data points is desir-able if the values of the data points are highly accurate andreliable e.g., if they are based on precise measurements,and if their number and density are not too high see Fig.15. However, when we are given a dense cloud of datapoints with relatively high noise such as statistical data,the natural approach would be to fit the data by a smoothapproximating curve or surface, etc. that passes in thecenter of the data cloud like a skeleton, and shows theaverage tendencies of the data. In such cases interpolationthrough all data points is not desirable, since it would result

    in high oscillations and poor approximation between thepoints, as shown in Fig. 16. Best fit approximation alsoappears in a natural way in overdetermined situations, i.e.,when we have more data points than free parameters in thecurve equation, so that we obtain a linear system with moreequations than variables. This situation will be illustratedlater.

    Data fitting methods have been largely discussed in lit-erature; see, for example, Ref. 4 where both global andlocal methods are reviewed. As an example of scattereddata fitting we will describe here the regression method. Wewill explain this method by showing how it is used to es-tablish a transformation that converts RGB input values of a

    Fig. 15 The difference between interpolation (top figures) and best fit (bottom figures). In all figuresthe same seven data points are used. (a) Linear interpolation. (b) Fourth-order polynomial interpola-tion. (c) Linear best fit. (d) Best fit using polynomials up to order 4.

    Scattered data interpolation methods . . .

    Journal of Electronic Imaging / April 2002 / Vol. 11(2) / 173

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    18/20

    scanner into the corresponding XYZ values, based on a setof irregularly spaced points e.g., Pantone color patchesfor which the input values R,G,B as well as the target val-ues X,Y,Z are known by measurement Ref. 40, Chap. 3.

    Assume that our scattered data set consists of eightsample points, whose coordinates in the input RGB spaceand their corresponding XYZ values are known to be

    Point 1: R 1 ,G1 ,B 1 X1 ,Y1 ,Z1

    ] ] ]

    Point 8: R 8G8 ,B 8 X8 ,Y8 ,Z8 .

    The basic assumption of the regression method is thatthe conversion between the two color spaces RGB andXYZ can be approximated by three equations of the form

    tfa1 , . . . , akx ,y ,z ,

    where the independent variables x,y,z stand for our inputR,G,B values and the dependent variable t represents theresulting value of X or Y or Z in the destination colorspace.

    Note that fa1 , . . . , ak(x ,y ,z) represents here an equation

    family with several free parameters a 1 , . . . , ak . We arefree to select the equation family according to our best

    judgment; it will be the task of the regression to give us theparameters of the one equation from this family that givesthe best least square fit for the known sample points. Forexample, in cases where the underlying relationship seemsto be exponential or logarithmic, it would be reasonableto select an exponential or, respectively, a logarithmicequation family. In our present example we assume that theequation family consists of polynomials, since the solutionfor this case is simpler.

    Suppose that we have chosen the following equationfamily:

    tfa1 , . . . , a6x ,y ,z

    a 1xa 2ya 3za 4xya 5y za 6zx , 31

    i.e., a family of second-order polynomials in x, y, and z.This family has six free coefficients, a 1 , . . . ,a 6 ; the aim ofthe method is, therefore, to find the specific values of theseparameters for which the best fit occurs. It is important tonote that the number of sample points must be higher thanthe number of parameters; in our case we have, indeed, 8

    6. Inserting the known values of our eight sample points

    into Eq. 31 we obtain, therefore, an overdetermined set ofeight equations for the six unknowns a 1 , . . . ,a 6**

    t1a 1x1a 2y 1a 3z 1a 4x 1y 1a 5y 1z1a 6z1x 1

    ]

    t8a 1x8a 2y 8a 3z 8a 4x 1y 8a 5y 8z8a 6z8x 8 ,

    where x i , y i , z i stand for R i , G i , B i , and ti stands, for

    example, for Xi . This can be expressed in the matrix form

    as follows:

    **Note that if the number of sample points were equal to the number ofparameters we would obtain here a linear system of n equations with n

    unknowns; this system could be directly solved for the coefficients a ifor which Eq. 31 becomes an interpolating function that passesthrough all the given points. However, as we have already seen in theprevious section, it is not generally guaranteed that this system of equa-tions is nonsingular and has a solution, and even if it is nonsingular, itmay be very ill-conditioned with an unstable solution. As we have seen,this method does work for some particular function families, like in thecase of Hardys multiquadric functions, but in the general case where agood solution is not guaranteed, it is best to have an overdetermined set

    of equations and to find the best coefficients a i using the best fit ap-proach described here.

    Fig. 16 Same as Fig. 14, when we are given a dense cloud of data points with relatively high noise(such as statistical data). In such cases interpolation through all points gives high oscillations (top),and the natural approach would be to fit the data by an approximating curve (bottom).

    Amidror

    174 / Journal of Electronic Imaging / April 2002 / Vol. 11(2)

  • 8/2/2019 Amidror Scattered Data Interp Imaging Sdimfeisas

    19/20

    t1t2t3t4t5t6t7t8

    x 1 y 1 z 1 x 1y 1 y 1z 1 z 1x1

    x2 y 2 z 2 x 2y 2 y 2z 2 z 2x2

    x3 y 3 z 3 x 3y 3 y 3z3 z 3x3

    x4 y 4 z 4 x 4y 4 y 4z4 z 4x4

    x5 y 5 z 5 x 5y 5 y 5z5 z5x5

    x6 y 6 z6 x 6y 6 y 6z6 z6x 6x 7 y 7 z7 x7y 7 y 7z7 z7x 7

    x 8 y 8 z8 x8y 8 y 8z8 z8x 8

    a 1a 2a 3a 4a 5a 6

    or in short

    tMa.

    Now, it has been shown in literature see, for example,Ref. 41, p. 1049 that the coefficients a that yield the bestleast square fit i.e., that minimize the global square erroron the sample points are given by

    a MTM1 MTt,

    where MT is the transpose of matrix M. By inserting these

    values of a 1 , . . . ,a 6 into equation family 31 above weobtain, therefore, the specific equation from this equationfamily that gives the best least-square approximation forthe component X of the target color space. This polynomialregression method should be repeated two more times, forthe Y and for the Z components.

    Evaluation: Clearly, since the coefficients a i are ob-tained by a global least square error minimization, the poly-nomial obtained may not map the sample RGB points totheir original XYZ values. And yet, the data fit obtained bythis method is normally good. The quality of this methoddepends on the relationship between the source and targetspaces i.e., the complexity of the underlying, unknownfunction, the number and location of the known samplepoints, the number of terms in the polynomial and its order,and the measurement errors. This method is ideal for trans-formations with linear relationship. For nonlinear colorspace conversion, this method does not guarantee uniformaccuracy across the entire space, and some regions such asdark colors may have larger errors than other areas. Ingeneral, the accuracy improves as the number of terms inthe equation increases, the trade-offs being the higher com-putation cost and lower processing speed Ref. 40, p. 62.

    Finally, this method is global, and hence, it suffers fromthe drawbacks mentioned in Sec. 1.

    Note that instead of repeating the regression methodthree times, for the X, Y, and Z components, it is also pos-sible to apply the method directly to the full 3D mappingRGBXY Z. For example, we may choose the equationfamily as follows:

    XYZ

    a 1,1 a1,2 a 1,3

    a 2,1 a2,2 a 2,3

    a 3,1 a3,2 a 3,3

    RGB

    k1k2k3

    with the 12 free coefficients a i ,j and ki (1 i,j3). Notethat in this example the regression will give as an approxi-mation to the underlying 3D mapping a trivariate linear orrather affine mapping.

    As an alternative to the approach of regression for scat-tered data fitting, one may formulate the problem in termsof the optimization approach, where the cost function is thetotal error in terms of Euclidian distance over all the

    samples, and the optimal coefficients a i are those that mini-mize this cost function.

    7 Conclusion

    In this paper we survey some of the most important meth-ods of scattered data interpolation in 2D and 3D that can beof interest in electronic imaging systems. The methods re-viewed include triangulation or tetrahedrization basedmethods, inverse distance weighed methods, radial basisfunction methods, natural neighbor methods, as well as onedata fitting method for the sake of comparison.

    Triangulation based methods are local and, hence, ca-pable of treating efficiently large data sets. They are com-

    putationally simple once the prerequisite task of triangula-tion or tetrahedrization has been accomplished andrelatively accurate. Their serious drawback is the necessityof triangulating or tetrahedrizing the given data set priorto the actual interpolation step. We have presented severallinear variants and one cubic variant of this family of meth-ods; the latter has the advantage of being C1 continuous

    and not only C0 continuous as the simpler linear variants.Inverse distance weighting methods are usually less ef-

    ficient and less accurate than good triangulation-basedmethods, and they suffer from some well-known artifacts.However, due to their simplicity they are among the mostcommonly used techniques, in 2D as well as in higher di-mensions.

    Radial basis functions, and in particular Hardys originalmultiquadric interpolation method, are among the morepromissing methods in terms of fitting ability and visualsmoothness. However, they require the solution of a linearequation system with at