You are on page 1of 12

Home Search Collections Journals About Contact us My IOPscience

Software measurement standards for areal surface texture parameters: part 1—algorithms

This content has been downloaded from IOPscience. Please scroll down to see the full text.

2012 Meas. Sci. Technol. 23 105008

(http://iopscience.iop.org/0957-0233/23/10/105008)

View the table of contents for this issue, or go to the journal homepage for more

Download details:

IP Address: 132.239.1.231
This content was downloaded on 13/06/2017 at 15:23

Please note that terms and conditions apply.

You may also be interested in:

Software measurement standards for areal surface texture parameters: part 2---comparison of
software
P M Harris, I M Smith, C Wang et al.

A study of variations of areal parameters on machined surfaces


P Pawlus, W Grabo, R Reizer et al.

An analysis of type F2 software measurement standards for profile surface texture parameters
L D Todhunter, R K Leach, S D A Lawes et al.

Description of two-process surface topography


W Grabon and P Pawlus

Development of a roughness measurement standard with irregular surface topography


Kentaro Nemoto, Kazuhisa Yanagi, Masato Aketagawa et al.

Advanced measurement and analysis of surface textures produced by micro-machining processes


Evgueni V Bordatchev and Abdullah M K Hafiz

An implicit RBF based approach to shape tomography


Naren Naik, Rick Beatson, Jerry Eriksson et al.

Fast algorithm of the robust Gaussian regression filter for areal surface analysis
W Zeng, X Jiang and P J Scott

Summarizing the output of a Monte Carlo method for uncertainty evaluation


P M Harris, C E Matthews, M G Cox et al.
IOP PUBLISHING MEASUREMENT SCIENCE AND TECHNOLOGY
Meas. Sci. Technol. 23 (2012) 105008 (11pp) doi:10.1088/0957-0233/23/10/105008

Software measurement standards for


areal surface texture parameters:
part 1—algorithms
P M Harris 1 , I M Smith 1 , R K Leach 1 , C Giusca 1,2 , X Jiang 2 and P Scott 2
1
National Physical Laboratory, Teddington, Middlesex TW11 0LW, UK
2
Centre for Precision Technologies, School of Computing and Engineering, University of Huddersfield,
Huddersfield HD1 3DH, UK
E-mail: peter.harris@npl.co.uk

Received 19 January 2012, in final form 27 June 2012


Published 11 September 2012
Online at stacks.iop.org/MST/23/105008

Abstract
Reference software for the evaluation of a set of areal surface texture parameters is described,
focusing on the definitions of the parameters and giving details of the numerical algorithms
employed in the software to implement those definitions. The main consideration in the design
and development of reference software is its numerical correctness, and the algorithms chosen
and the implementations of those algorithms reflect this consideration. The surface for which
parameters are to be evaluated is a bicubic spline interpolant to the available discretely-
sampled data, and parameters are evaluated for that continuous surface either to a high
numerical precision or to a numerical precision that is under the control of the user.

Keywords: surface texture, areal parameters, reference algorithms

1. Introduction is necessary that all such steps are recognized explicitly


and shown to be operating correctly. Reference software,
Knowledge of the topography of a machined surface is developed independently of commercial software developed
necessary in order to understand the functional performance of by manufacturers and users of surface texture measuring
the surface, and is consequently essential to the manufacturing instruments, can be used for this purpose.
process [1–3]. As with the instruments used in many other ISO 5436–2 [5] introduced into international
areas of metrology, those that measure surface texture standardization the concept of the software measurement
generally interface to a computer that collects and analyses standard in the context of the measurement of surface texture.
numerical data. As part of the data analysis, surface The standard defines Type F1 (reference data) and Type
texture parameters are evaluated. The use of a surface F2 (reference software) software measurement standards
texture parameter to characterize numerically the measured for testing the numerical correctness of software used in
topography was proposed many years ago [4], and a surface texture measurement. Reference software is used as a
number of parameters have been adopted by standards benchmark against which software in a measuring instrument
bodies and are used in industry. Whereas it is commonplace can be compared [6, 7]. A data set is used as input to both
to use physical artefacts to calibrate surface measuring the software under test and the reference software, and the
instruments, such artefacts do not allow validation and results delivered by the software under test are compared with
verification in isolation of the software components of the those provided by the reference software. The most important
instrument. consideration in the design and development of reference
Ensuring the traceability of surface texture measurements software is its numerical correctness. This is in contrast
requires that measurement results, including the values of to considerations for production software, for which the
surface texture parameters, are linked to references, such as requirements on numerical correctness are generally more
measurement standards, through an unbroken documented modest, but issues of efficiency, such as computing time and
chain. When the chain involves computational steps, it memory, and usability are of concern.

0957-0233/12/105008+11$33.00 1 © 2012 IOP Publishing Ltd Printed in the UK & the USA
Meas. Sci. Technol. 23 (2012) 105008 P M Harris et al

In previous work [8], Type F1 and F2 software 2. Overview


measurement standards were developed and disseminated for
testing software for evaluating profile parameters [9]. The The main functions of the reference software are as follows:
aim of the current work, undertaken jointly by the National • Read data defining an S–F surface [10, clause 3.1.5], i.e.
Physical Laboratory and the University of Huddersfield, is to a surface that has been S-filtered (to remove small scale
develop reference software for a selection of areal parameters components) and from which form has been removed
[10]. As for the case of profile parameters, it is accepted (using an F-operation).
that there can be differences in how areal parameters defined • Apply a Gaussian areal filter to the data defining an
in international standards may be implemented in practice. S–F surface to obtain data defining the corresponding S–L
One source of such differences is that standards define the surface [10, clause 3.1.6], i.e. a surface derived from the
parameters in terms of a surface that is assumed to be S–F surface by removing large scale components using an
known everywhere whereas, in practice, the surface is known L-filter (section 3).
(approximately by measurement) only at discretely-sampled • Remove points from the data defining an S–L surface, i.e.
points. Another relates to the choice of the various operators ‘trim’ the data, to produce a surface defined on an area
and filters applied to the data, which are specified by values which has sides with lengths that are integer multiples of
of nesting indices and cut-off wavelengths according to the the cut-off wavelength for the Gaussian areal filter used
values of sampling distances. Consequently, it is expected to obtain the surface (section 4).
that instrument manufacturers will make different choices, • Apply interpolation to the data defining the S–F and
S–L surfaces to obtain continuous representations of those
albeit choices that are consistent with the definitions given
surfaces (section 5).
in standards, when developing their own algorithms and
• Evaluate areal surface texture parameters in terms of these
software.
continuous representations of the S–F and S–L surfaces
This paper gives a description of the reference software
(section 6).
that has been developed, focusing on the definitions of the • Write the values of the areal surface texture parameters to
areal surface texture parameters covered and giving details an output file.
of the numerical algorithms employed in the software to
implement those definitions. In developing the software The areal surface texture parameters to be evaluated are
from the S-parameter set3 and include field height parameters
various choices have been made, but these choices are
Sq (root mean square height), Ssk (skewness), Sku (kurtosis),
believed to be in the spirit of the relevant standards. It is
Sp (maximum peak height), Sv (maximum pit height), Sz
accepted that it is unlikely that instrument manufacturers will
(maximum height) and Sa (arithmetical mean height), spatial
choose to implement the algorithms described. However, by
parameters Sal (autocorrelation length) and Str (texture aspect
making the interpretations of the definitions as algorithms ratio), and field hybrid parameters Sdq (root mean square
open, and software implementing those algorithms available, gradient) and Sdr (developed interfacial area ratio).
instrument manufacturers (and instrument users) will be able For the representation of the surface and the specification
to quantify the effect of the choices and approximations of areal surface texture parameters, a rectangular Cartesian
made in their own algorithms and software. In this way it set of axes is assumed [10, clause 3.1.2]. Specifically, if
is hoped that instrument manufacturers will be encouraged the nominal surface is a plane (or portion of a plane), the
to provide software for evaluating the parameters that x- and y-axes are taken to lie in the surface with the z-axis
delivers results that are consistent with each other and are orthogonal to the surface in an outward direction, i.e. from the
fit-for-purpose. material to the surrounding medium. The measured surface
Software measurement standards have also been data are defined by uniform sampling intervals x > 0 and
developed by the National Institute of Standards and y > 0 in, respectively, the x- and y-directions with, in general,
Technology (NIST, US) for profile and areal surface texture x = y , and a matrix Z of dimension mx × my containing the
parameters [11, 12], and by the Physikalisch-Technische surface heights zi j , i = 1, . . . , mx , j = 1, . . . , my . Without
Bundesanstalt (PTB, Germany) for profile parameters [13]. loss of generality, the value zi j is considered to correspond
Comparisons of software measurement standards are reported to the height of a surface z(x, y) at the point (xi , y j ) with
in [14, 15]. See also [16]. xi = (i − 1)x and y j = ( j − 1)y , i.e. z1,1 is the height at
The paper is organized as follows. Section 2 gives an the origin of the xy-coordinate system and zmx ,my at the point
overview of the main functions of the reference software ‘diagonally opposed’ to the origin.
together with the conditions that are assumed to apply. The The following conditions are assumed to apply.
algorithms implementing the main functions are described in (i) The input data are provided in X3P format [18],
sections 3 to 6. A summary is given in section 7, and an a format for defining surface data that allows the
appendix contains supporting technical material. The reference smooth interchange of data between different measuring
software may be freely downloaded from the web site of systems. Software implementing the data format has been
the National Physical Laboratory. A companion paper [17] developed by the ‘openGPS’ consortium as freeware [19].
presents a comparison of the results returned by the reference 3 For clarity, and to ensure the notation is mathematically unambiguous, the

software with those reported by proprietary software for notation Sq , etc, is used throughout to denote areal surface texture parameters
surface texture measurement. in place of the abbreviated terms Sq, etc, often used in practice.

2
Meas. Sci. Technol. 23 (2012) 105008 P M Harris et al

(ii) For an S–F surface, the evaluation area [10, clause for i = 1 + nx , . . . , mx − nx , j = 1 + ny , . . . , my − ny , and
3.1.9], i.e. the area in the xy-plane used to specify the integers nx = λ/x and ny = λ/y . Finally, the S–L surface
portion of the surface under evaluation, is the rectangle derived from the S–F surface by Gaussian areal filtration is
[x1 , xmx ]×[y1 , ymy ] with sides of lengths Lx = (mx −1)x defined by surface heights ri j with
in the x-direction and Ly = (my − 1)y in the y-direction
ri j = zi j −wi j , i = 1+nx , . . . , mx −nx , j = 1+ny , . . . , my −ny .
containing the measured surface data.
(iii) For Gaussian areal filtering, the same cut-off wavelength
λ > 0 is applied in the x- and y-directions, with λ an 4. Evaluation area for an S–L surface
integer multiple of the sampling intervals x and y .
(iv) In order to minimize any distortion of the filtered surface Following application of a Gaussian areal filter, the S–L
due to the finite extent of the surface, the lengths Lx and surface is defined by surface heights ri j , i = 1 + nx , . . . ,
Ly are at least three times the cut-off wavelength; mx − nx , j = 1 + ny , . . . , my − ny , corresponding to points
(v) In order to minimize any distortion of the filtered surface (xi , y j ) in a rectangle with sides of lengths Lx − 2λ in the x-
due to the finite number of data points per cut-off direction and Ly − 2λ in the y-direction. In general, the lengths
wavelength, there should be at least fifty points per cut-off are not integer multiples of λ (section 2), and it is necessary to
wavelength in each direction. trim the data set (xi , y j , ri j ).
(vi) For an S–L surface, the evaluation area is a rectangle Consider first the x-direction. Let Hx = px λ, where px
with sides having lengths equal to integer multiples of is chosen to be the largest integer for which Hx  Lx − 2λ.
λ that is contained within the rectangle obtained from Since λ = nx x for integer nx (section 3), Hx = px nx x .
the evaluation area for the corresponding S–F surface by Consequently, the length Lx − 2λ contains mx − 2nx points and
removing a border of width λ. The evaluation area for an the length Hx contains px nx + 1 points. Define
S–L surface is generally not uniquely defined. A particular
choice is made by requiring that it is the rectangle of rx = (mx − 2nx ) − (px nx + 1) = mx − (2 + px )nx − 1.
largest area having approximately the same centroid as If rx is even, then rx /2 points xi are removed from the left- and
the evaluation area for the corresponding S–F surface: see right-hand ends of the set xi , i = 1 + nx , . . . , mx − nx . If rx is
section 4. odd, then int(rx /2) points are removed from the left-hand end,
and int(rx /2) + 1 points from the right-hand end, where int(q)
3. Gaussian areal filter denotes the integer part of q.
Similar considerations apply to the y-direction. After
The Gaussian areal filter is defined by the weighting function removing points in this way, the resulting set of heights
  2 
1 ξ  η 2 ri j defines the S–L surface for which areal surface texture
sx,y (ξ , η) = 2 2 exp −π −π , parameters are calculated. The corresponding set of points
α λ αλ αλ
 (xi , y j ) defines the evaluation area for that S–L surface, which
with α = log 2/π , and λ denoting the cut-off wavelength is a rectangle with sides of lengths Hx in the x-direction and
in the x- and y-directions [20]. Given a continuous surface Hy in the y-direction having approximately the same centroid
z(x, y), the Gaussian filtered surface w(x, y) is defined by the as the evaluation area for the corresponding S–F surface. (The
convolution integral differences in the x- and y-directions between the centroids of

the two surfaces are bounded in absolute value by, respectively,
w(x, y) = z(ξ , η)sx,y (x − ξ , y − η) dξ dη.
the sampling intervals x and y .)
Due to the separability of the weighting function


w(x, y) = z(ξ , η)s(x − ξ ) dξ s(y − η) dη,
5. Surface interpolation

where The surface heights zi j and ri j defining, respectively, the


  2 
1 ξ S–F and S–L surfaces are used to construct continuous
s(ξ ) = exp −π representations z(x, y) and r(x, y) of the unknown underlying
αλ αλ
surfaces. These continuous representations are then used as the
is the weighting function for a Gaussian profile filter with basis for evaluating surface texture parameters that are defined
cut-off wavelength λ [21]. It follows that Gaussian filtration in standards (e.g., [10]) in terms of such representations.
for an areal surface can be undertaken by applying profile For this purpose, a bicubic spline interpolant to the
Gaussian filtration in the x-direction followed by profile surface height data is used, which is a generalization of cubic
Gaussian filtration in the y-direction (or vice versa). spline interpolation applied to (tabulated) data describing a
In practice, knowledge of the surface z(x, y) takes the curve. The interpolant provides an ‘empirical’ continuous
form of surface heights zi j at finitely-many points (xi , y j ) representation of the unknown underlying surface when the
(section 2). Then, the calculation of wi j , an approximation only knowledge of that surface comprises the values zi j or
to w(xi , y j ), is implemented using the discrete convolution ri j . The choice of interpolant constitutes a compromise that
⎡ ⎤

j+ny

i+nx can be applied generally: it is smoother than, for example,
wi j = ⎣ zk s(xi − xk )⎦ s(y j − y ) a bilinear interpolant, since it is continuous in value and
= j−ny k=i−nx first and second derivatives, but not as smooth as high order

3
Meas. Sci. Technol. 23 (2012) 105008 P M Harris et al

polynomial interpolants, which are continuous in value and where


all derivatives. A disadvantage of the choice is that the
resulting curve can exhibit unwanted oscillatory behaviour b4,x (x; 
μx ) = (N4,1 (x; 
μx ), . . . , N4,mx (x; 
μx )),
in the neighbourhood of outlying points (perhaps associated b4,y (y; 
μy ) = (N4,1 (y; 
μy ), . . . , N4,my (y; 
μy )),
with a local surface defect). Alternatives, such as the ‘Akima’
spline [22], may perform better in such circumstances. In and the matrix  C of dimension mx × my contains the spline
the presence of additional information about the underlying coefficients  ck .
surface, alternative forms for the interpolant may be expected The coefficients  ck defining the interpolant are
to perform better. For example, a Fourier series may better determined as the solution to the linear equations
represent a surface that is known to be periodic, and one that
μx )
z(xi , y j ) ≡ b4,x (xi ;  Cb (y j ; 
4,y μy ) = z i j ,
includes a step may be better represented by a function that is
not smooth in the region of the step. However, it is assumed in i = 1, . . . , mx , j = 1, . . . , my .
this work that such additional information is not available. In matrix form,

B4,x
 C
B4,y = Z,
5.1. Bicubic spline interpolation to surface height data
where the ith row of  μx ) and the jth row of 
B4,x is b4,x (xi ;  B4,y
Consider constructing a bicubic spline interpolant z(x, y) is b4,y (y j ; 
μy ). The solution to these linear equations can be
to the surface height data zi j defining an S–F surface. determined in two steps as follows [24]:
(Similar considerations apply for constructing a bicubic spline Step 1. Determine T as the solution to the linear algebraic
interpolant r(x, y) to the surface height data ri j defining an S–L system Z =  B4,x T.
surface.) z(x, y) is constructed to ‘reproduce’ (i.e. interpolate) Step 2. Determine  C as the solution to the linear algebraic
the surface height zi j at the point (xi , y j ). It comprises a set   
system T = CB4,y .
of polynomial surfaces, each defined on a rectangular region,
that reduce to a cubic polynomial in x (for a fixed value of y)
and a cubic polynomial in y (for a fixed value of x). At the 5.2. Bicubic spline interpolant with uniform knot spacing
boundaries of the regions the polynomial surfaces join in such In order to provide a representation of the bicubic spline
a way that z(x, y) is continuous in value, and first and second surface z(x, y) that is defined in terms of knot vectors with
order derivatives at points on the boundaries. uniform knot spacing, knot insertion [29] is used to obtain
The bicubic spline interpolant z(x, y) has the B-spline an equivalent representation of the bicubic spline surface with
representation [23, 24] additional knots at x and (mx −2)x in the x-direction, and at

my mx
y and (my −2)y in the y-direction. An advantage of having a
z(x, y) = ck N4,k (x; 
 μx )N4, (y; 
μy ), uniform knot spacing in each direction is that in the evaluation
=1 k=1 of areal surface texture parameters each bicubic polynomial
where N4,k (x;  μx ) is the kth cubic B-spline basis function surface patch of z(x, y) can be treated identically. Ensuring the
defined with respect to the knot vector  μx in the x-direction and identical treatment of each bicubic polynomial surface patch is
N4, (y; 
μy ) is the th cubic B-spline basis function defined with also the reason for setting the exterior knots to have a uniform
respect to the knot vector  μy in the y-direction. (The subscript spacing rather than setting the exterior knots equal, which is
‘4’ denotes the order of the basis function, which is the often done.
degree plus 1.) Numerically stable algorithms are available for Following knot insertion, the bicubic spline surface has
operating on z(x, y) represented in this way, e.g., to evaluate, the representation
differentiate and integrate the function [23–27]. To ensure the
existence and uniqueness of the interpolant for given data, z(x, y) = b4,x (x; μx )Cb
4,y (y; μy ),
the knots (elements of the knot vectors) must be chosen defined with respect to the knot vectors μx = (−3x , −2x ,
appropriately [28]. One such choice is for the knots to satisfy . . . , (mx + 2)x ) and μy = (−3y , −2y , . . . , (my + 2)y ).
the ‘not-a-knot’ end condition [23, 24], in which the interior
knots are positioned at all the data points apart from the first
5.3. Bicubic spline interpolant defined in terms of normalized
two and the last two. An advantage of this choice is that z(x, y)
variables
is determined by the data only, and without the need to specify
arbitrarily other information, such as the values of derivatives For convenience, the interpolant is defined as a function of
at the end-points. The knot vectors (comprising both exterior normalized variables X = x/x and Y = y/y , in which
and interior knots) then take the forms case the knot vectors are μX = (−3, −2, . . . , mx + 2) and

μx = (−3x , . . . , 0, 2x , . . . , (mx − 3)x , μY = (−3, −2, . . . , my + 2), and the interpolant has the
representation
(mx − 1)x , . . . , (mx + 2)x ),

μy = (−3y , . . . , 0, 2y , . . . , (my − 3)y , z(x, y) = Z(X, Y ) = b4,X (X; μX )Cb
4,Y (Y ; μY ).

(my − 1)y , . . . , (my + 2)y ). An advantage of working in terms of normalized variables is


that each B-spline basis function N4,k (X; μX ) and N4, (Y ; μY )
In matrix form,
is a translation of the single B-spline basis function N4 (ξ ; μ4 )
μx )
z(x, y) = b4,x (x;  Cb
4,y (y; 
μy ), with knot vector μ4 = (−3, −2, . . . , 1) and compact support

4
Meas. Sci. Technol. 23 (2012) 105008 P M Harris et al

on the interval [−3, 1], i.e. it is identically zero outside that The two-dimensional integration (2) is expressed in terms of
interval [25]. Operations, such as evaluation, differentiation one-dimensional integrations as follows:
and integration, etc, applied to the interpolant Z(X, Y ) can be j+1
undertaken in terms of those operations applied to N4 (ξ ; μ4 ). q
Ii j = y J(Y ) dY,
For example, suppose X ∈ Ii and Y ∈ J j , where j
 where
[i, i + 1), i = 0, . . . , mx − 3,
Ii =
[i, i + 1], i = mx − 2, i+1
J(Y ) = x F 2 (X, Y ) dX.
and  i
[ j, j + 1), j = 0, . . . , my − 3, Since, for a fixed value of Y , and X in the interval [i, i + 1],
Jj =
[ j, j + 1], j = my − 2, F 2 (X, Y ) is a degree six polynomial function of X, so J(Y )
form subdivisions of, respectively, the intervals [0, mx −1] and can be evaluated exactly, either based on integrating F 2 (X, Y )
[0, my − 1]. Then, algebraically or using a numerical quadrature rule of sufficient
Z(X, Y ) = b4 (X − i; μ4 )Ci j b order. Similarly since, for Y in the interval [ j, j + 1], J(Y ) is
4 (Y − j; μ4 ), (1)
a degree six polynomial function of Y , so Iiqj can be evaluated
where exactly in a similar manner. An approach to constructing a
b4 (ξ ; μ4 ) = (N4 (ξ − 3; μ4 ), N4 (ξ − 2; μ4 ), numerical quadrature rule of sufficient order is to use Romberg
N4 (ξ − 1; μ4 ), N4 (ξ ; μ4 )) integration (see the appendix). For the rule to return exact
values, K = 3 refinement steps are necessary, giving a rule (for
contains values of N4 (ξ ; μ4 ), and Ci j is a sub-matrix of C
each univariate integration) involving 2K + 1 = 9 integration
of dimension 4 × 4 containing spline coefficients ci+k, j+ ,
points that is exact for polynomials of degree less than 8.
k = 1, . . . , 4,  = 1, . . . , 4, associated with B-spline basis
It follows, cf expression (A.1), that
functions that have support in the intervals Ii and J j .  
q
9 9
9
Ii j = y ω J(Y ) = y ω x ωk F (Xk , Y ) ,
2
6. Parameter evaluation =1 =1 k=1

In the following, f (x, y) ≡ z(x, y) for an S–F surface or where Xk and Y denote uniformly-spaced integration points
f (x, y) ≡ r(x, y) for an S–L surface. For both S–F and in the intervals [i, i + 1] and [ j, j + 1], respectively. In matrix
S–L surfaces, the function f (x, y) takes the form of a bicubic form,
spline surface over a definition area [10, clause 3.1.10], i.e. Iiqj = x y ωK=3 F qi j ω
K=3 , (3)
a portion of the evaluation area in the xy-plane for defining
surface texture parameters, which is denoted by A. For an where ωK=3 is the vector of dimension 1 × 9 of integration
S–F surface, the definition area equals its evaluation area. For weights ωk and F qi j is the matrix of dimension 9 × 9 containing
an S–L surface, it also generally equals its evaluation area. the values F 2 (Xk , Y ).
However, for certain field height parameters (viz, Sp , Sv and The value F (Xk , Y ) is given by, cf expression (1),
Sz ), the definition area is a square of side λ. Values for these
parameters are determined as the arithmetic mean of values F (Xk , Y ) = b4 (Xk − i; μ4 )Ci j b
4 (Y − j; μ4 ).
calculated over each definition area within the evaluation area. Since the distribution of integration points Xk in the interval
The definition area is expressed as the union of rectangular [i, i + 1] is the same as that for the integration points Y in
regions Ai j defined by the knots of f (x, y): [ j, j + 1], so the matrix F i j of dimension 9 × 9 given by

A= Ai j , Ai j ≡ [μx,i , μx,i+1 ] × [μy, j , μy, j+1 ]. F i j = B4,K=3Ci j B
4,K=3 , (4)
i, j
The function f (x, y) reduces to a (smooth) bicubic polynomial contains the value F (Xk , Y ) as its (k, ) element, where the kth
surface defined on each rectangular region Ai j . row of B4,K=3 is the vector b4 (Xk − i; μ4 ). F qi j is then defined
as the component-wise product of F i j with itself.
6.1. Root mean square height For a general matrix F and integer n, use the notation
F ◦ · · · ◦ F ≡ F ◦n
The parameter Sq [10, clause 4.1.1] is defined by
 
 to denote the matrix obtained by multiplying n times each
1 1
Sq = f (x, y) dx dy = 
2 Iq , element of F with itself. Then,
A (x,y)∈A A i, j i j
F qi j = F i j ◦ F i j ≡ F ◦2
ij , (5)
where μy, j+1 μx,i+1 and combining expressions (3), (4) and (5) gives
Iiqj = f 2 (x, y) dx dy = f 2 (x, y) dx dy.  ◦2  
(x,y)∈Ai j μy, j μx,i Iiqj = x y ωK=3 B4,K=3Ci j B
4,K=3 ωK=3 ,
In terms of normalized variables (section 5.3),
j+1 i+1 in which the vector ωK=3 of integration weights, and the
q
Ii j = x y F 2 (X, Y ) dX dY. (2) matrix B4,K=3 of cubic B-spline basis functions evaluated at
j i the integration points, can be pre-computed.

5
Meas. Sci. Technol. 23 (2012) 105008 P M Harris et al

6.2. Skewness k = i + 1, . . . , i + 4,  = j + 1, . . . , j + 4. It holds [23]


that
The parameter Ssk [10, clause 4.1.2] is defined by

max f (x, y)  cpi j ,
1 1 (x,y)∈Ai j
Ssk = 3 f (x, y) dx dy .
3
Sq A (x,y)∈A where cpi j is the maximum value of the coefficients. It also
Proceeding as for Sq (section 6.1), and using Romberg holds that the maximum value f p of the surface heights fk
integration with K = 4 refinement steps and 2K + 1 = 17 contained in A cannot exceed the maximum value of the cubic
integration points, gives spline surface, since the heights are interpolated by the surface,
⎡ ⎤ and so
1 ⎣ 1 sk ⎦
Ssk = 3 I , f p  max f (x, y).
Sq A i, j i j (x,y)∈A
It follows that if
where
cpi j < f p ,
j+1 i+1
Iiskj = x y F 3 (X, Y ) dX dY then
j i
 ◦3   max f (x, y) < max f (x, y),
= x y ωK=4 B4,K=4Ci j B
4,K=4 ωK=4 . (x,y)∈Ai j (x,y)∈A

and the cubic spline surface on the rectangular region Ai j


The vector ωK=4 of dimension 1 × 17 of integration weights, cannot define Sp .
and the matrix B4,K=4 of dimension 17 × 4 of cubic B-spline For a rectangular region Ai j for which
basis functions evaluated at the integration points, can be pre-
computed. cpi j  f p ,
the maximum value of f (x, y) on Ai j is calculated in terms of
6.3. Kurtosis the solution to the linearly constrained minimization problem

The parameter Sku [10, clause 4.1.3] is defined by



min [−F (X, Y )] subject to i  X  i + 1, j  Y  j + 1,
1 1 (X,Y )
Sku = 4 f 4 (x, y) dx dy . (6)
Sq A (x,y)∈A
Proceeding as for Sq (section 6.1), and using Romberg which is expressed in terms of normalized variables
integration with K = 6 refinement steps and 2K + 1 = 65 (section 5.3). Problem (6) can be solved using a general
integration points, gives purpose optimization algorithm, for example [30–32]. An
⎡ ⎤ initial approximation to the solution is determined by
1 ⎣ 1 ku ⎦ evaluating the objective function −F (X, Y ) for uniformly-
Sku = 4 I , spaced values of X and Y , and selecting that point for which
Sq A i, j i j
−F (X, Y ) takes the smallest value. A numerical tolerance is
where used to control the termination of the algorithm. Small values
j+1 i+1 of the numerical tolerance generally lead to more iterations in
Iikuj = x y F 4 (X, Y ) dX dY the optimization algorithm and a longer calculation time, but
j i a solution with a greater numerical precision.
 ◦4  
= x y ωK=6 B4,K=6Ci j B
4,K=6 ωK=6 .
6.5. Maximum pit height
The vector ωK=6 of dimension 1 × 65 of integration weights,
and the matrix B4,K=6 of dimension 65 × 4 of cubic B-spline The parameter Sv [10, clause 4.1.5] is defined as the largest
basis functions evaluated at the integration points, can be pre- absolute pit height:
   
computed. Sv =  min f (x, y) =  min Iivj , Iivj = min f (x, y).
(x,y)∈A i, j (x,y)∈Ai j

6.4. Maximum peak height Proceeding as for Sp (section 6.4), it holds [23] that
min f (x, y)  cvi j ,
The parameter Sp [10, clause 4.1.4] is defined as the largest (x,y)∈Ai j
peak height: where cvi j is the minimum value of the coefficients ck ,
Sp = max f (x, y) = max Iipj , Iipj = max f (x, y). k = i + 1, . . . , i + 4,  = j + 1, . . . , j + 4. It also holds
(x,y)∈A i, j (x,y)∈Ai j that
The approach taken to evaluating Sp is to rule out those f v  min f (x, y),
rectangular regions Ai j in which the maximum peak height (x,y)∈A
cannot occur, determine values Iipj by constrained optimization where f v is the minimum value of the surface heights fk
for the Ai j remaining, and evaluate the greatest of those values. contained in A. It follows that if
For the rectangular region Ai j , the cubic spline
cvi j > f v ,
surface f (x, y) is defined by the B-spline coefficients ck ,

6
Meas. Sci. Technol. 23 (2012) 105008 P M Harris et al

then in successive approximations to Sa is less than a numerical


tolerance
a > 0, i.e.
min f (x, y) > min f (x, y),
(x,y)∈Ai j (x,y)∈A
Sa (K) − 
| Sa (K − 1)| <
a 
Sa (K − 1),
and the cubic spline surface on the rectangular region Ai j
where
cannot define Sv . ⎛ ⎞
For a rectangular region Ai j for which 1

Sa (K) = ⎝ 
I a (1) + 
Iiaj (K)⎠ .
cvi j  f v , A (i, j)∈G i j (i, j)∈G
1 2

the minimum value of f (x, y) on Ai j is calculated in terms of Small values of the numerical tolerance generally lead to more
the solution to the linearly constrained minimization problem refinement steps and a longer calculation time, but a value with
a greater numerical precision. In order to limit calculation
min F (X, Y ) subject to i  X  i + 1, j  Y  j + 1,
(X,Y ) times, approximations  Iiaj (K) to Iiaj (K) for (i, j) ∈ G2 are
cf section 6.4. evaluated for a sequence of values of K up to a maximum
value Kmax . If the relative difference between  Sa (Kmax ) and

Sa (Kmax − 1) exceeds
a , then the value  Sa (Kmax ) is returned
6.6. Maximum height for Sa together with the corresponding relative difference as
The parameter Sz [10, clause 4.1.6] is defined as the sum of an indication of its numerical precision.
the maximum peak and maximum pit heights:
6.8. Autocorrelation length
Sz = Sp + Sv ,
The parameter Sal [10, clause 4.2.1] is defined by
using the values obtained in sections 6.4 and 6.5. $
Sal = min tx2 + ty2 ,
(tx ,ty )∈R
6.7. Arithmetical mean height
where
The parameter Sa [10, clause 4.1.7] is defined by
R = {(tx , ty ) : ρ(tx , ty )  s}
1
Sa = | f (x, y)| dx dy. and ρ(tx , ty ), the autocorrelation function, is defined by
A (x,y)∈A %
(x,y)∈A f (x, y) f (x − tx , y − ty ) dx dy
Proceeding as for Sq (section 6.1), ρ(tx , ty ) = % (7)
1 a (x,y)∈A f (x, y) f (x, y) dx dy
Sa = I , in terms of ‘lags’ tx in the x-direction and ty in the y-direction.
A i, j i j
For an S–F surface, −Lx  tx  Lx and −Ly  ty  Ly ; for an
where S–L surface, −Hx  tx  Hx and −Hy  ty  Hy . The value
j+1 i+1 0 < s < 1 is set by the user; the default value is s = 0.2.
Iiaj = x y |F (X, Y )| dX dY. The parameter Sal is calculated as the solution to the
j i
nonlinearly constrained minimization problem
Using Romberg integration with K > 0 refinement steps, $
   min tx2 + ty2 subject to ρ(tx , ty ) − s = 0. (8)
Iiaj (K) = x y ωK B4,K Ci j B
Iiaj ≈  
4,K ωK , (tx ,ty )

where ωK is a vector of dimension 1 × (2K + 1) of integration The minimization problem and its solution is described here
weights, B4,K is a matrix of dimension (2K + 1) × 4 containing in terms of unnormalized variables but, as for the other surface
the values of the cubic B-spline basis functions at the texture parameters, calculations are performed in terms of
integration points, and |F| denotes the matrix whose elements normalized variables: see section 5.3. Since ρ(0, 0) = 1 and
are the absolute values of the elements of F. ρ(±Lx , ±Ly ) = 0 (for an S–F surface), and by the continuity
The rectangular regions Ai j are divided into two groups. of the function ρ(tx , ty ) when f (x, y) takes the form of a
For those in the first group, defined by indices (i, j) ∈ G1 , (continuous) bicubic spline surface, it can be expected that the
F (X, Y )  0 or F (X, Y )  0 for all (X, Y ) ∈ [i, i + 1] × constraint ρ(tx , ty )  s is active at a solution and, consequently,
[ j, j+1], and |F (X, Y )| takes the form of a bicubic polynomial can be treated as an equality constraint. Problem (8) can be
surface. It follows that solved using a general-purpose optimization algorithm, for
example [30–32]. It is required to supply:
Iiaj = 
Iiaj (1), (i, j) ∈ G1 .
(i) A function to evaluate for given values of tx and ty the
For those in the second group, defined by indices (i, j) ∈ G2 , objective function
F (X, Y ) takes positive and negative values in [i, i+1]×[ j, j + $
1], and |F (X, Y )| is not a smooth (polynomial) surface. It S(tx , ty ) = tx2 + ty2 ,
follows that no choice of K is guaranteed to return the exact and its gradient vector with components
value of Iiaj for (i, j) ∈ G2 . Instead, for those rectangular
∂S(tx , ty ) tx ∂S(tx , ty ) ty
regions, approximations  Iiaj (K) to Iiaj are evaluated for a = , = .
∂tx S(tx , ty ) ∂ty S(tx , ty )
sequence of increasing values of K until the relative difference

7
Meas. Sci. Technol. 23 (2012) 105008 P M Harris et al

(ii) A function to evaluate for given values of tx and ty the Step 1. Evaluate the sample autocorrelation matrix R for
nonlinear constraint function the matrix F of surface heights fi j .
c(tx , ty ) = ρ(tx , ty ) − s. Step 2. Determine from R contours corresponding to the
value s of the autocorrelation function, and identify the contour
Consideration is given to the evaluation of the that encloses the (central) element of R with value one and is
autocorrelation function ρ(tx , ty ). Firstly, since closest to that element. (The contours are defined by the x- and
ρ(−tx , −ty ) = ρ(tx , ty ), y-coordinates of points that are regarded as connected.)
Step 3. Determine the point on the identified contour that
it is only necessary to consider values for tx and ty within a half- is closest to the (central) element of R with value 1.
plane, e.g., that defined by tx  0. Secondly, the denominator A numerical tolerance is set that controls the termination
in the expression (7) is equal to A × Sq2 (section 6.1). It remains of the optimization algorithm. Small values of the numerical
to consider the evaluation of the numerator in expression (7). tolerance generally lead to more iterations in the optimization
As in section 6.1, the numerator can be decomposed as algorithm and a longer calculation time, but a solution with a

f (x, y) f (x − tx , y − ty ) dx dy = Iialj , greater numerical precision. The determination of a solution
(x,y)∈A i, j
to problem (8) can be difficult because the contours of the
constraint function c(tx , ty ) can be quite complicated, and they
where
can vary greatly for different surfaces. It follows that a large
Iialj = f (x, y) f (x − tx , y − ty ) dx dy number of iterations in the optimization algorithm can be
(x,y)∈A necessary to determine a solution. In order to limit calculation
μy, j+1 i j μx,i+1
times, a maximum number of iterations is set, and if that
= f (x, y) f (x − tx , y − ty ) dx dy. number is exceeded, the optimization algorithm terminates
μy, j μx,i
and the initial approximation (based on the data only) is used
However, unlike the treatment given in section 6.1, the to provide a solution.
integrand is not generally a bicubic polynomial surface over
the rectangular region Ai j , except when tx and ty are integer
6.9. Texture aspect ratio
multiples of, respectively, x and y . It is necessary to further
decompose Iialj as The parameter Str [10, clause 4.2.2] is defined by
4
$
min(tx ,ty )∈R tx2 + ty2
Ii j =
al
f (x, y) f (x − tx , y − ty ) dx dy, Str = $ ,
(x,y)∈Ai jk
k=1 max(tx ,ty )∈Q tx2 + ty2
where
 where
Ai j = Ai jk .
k=1,...,4 R = {(tx , ty ) : ρ(tx , ty )  s}
Here,
⎧ and
⎪ [μx,i , μx,i + δx ] × [μy, j , μy, j + δy ], k = 1,

⎪ Q = {(tx , ty ) : ρ(tx , ty )  s}.
⎨ [μx,i + δx , μx,i+1 ] × [μy, j , μy, j + δy ], k = 2,
Ai jk =

⎪[μx,i , μx,i + δx ] × [μy, j + δy , μy, j+1 ], k = 3, The function ρ(tx , ty ) is defined by expression (7). The value

⎩ 0 < s < 1 is set by the user; the default value is s = 0.2.
[μx,i + δx , μx,i+1 ] × [μy, j + δy , μy, j+1 ], k = 4,
The parameter Str is calculated in terms of the solution to
where
* + * + the nonlinearly constrained minimization problem (8) together
tx ty with the solution to the problem
δx = tx − , δy = t y − ,
x y  $ 
and z is z rounded to the nearest integer towards zero. min − tx2 + ty2 subject to ρ(tx , ty ) − s = 0.
(tx ,ty )
Over each region Ai jk , the integrand takes the form of a
bicubic polynomial surface, and the integration over that region An initial approximation to the solution is determined as in
can be evaluated exactly (as in section 6.1) using Romberg section 6.8 for the evaluation of the autocorrelation length,
integration with K = 3 refinement steps. However, unlike except that step 3 is replaced by:
the treatment given in section 6.1, as the one-dimensional Step 3. Determine the point on the identified contour that
integrations are undertaken over intervals with lengths that is furthest from the (central) element of R with value 1.
are different from x and y , the vector ωK=3 of integration
weights and the matrix B4,K=3 of cubic B-spline basis functions 6.10. Root mean square gradient
evaluated at the integration points, cannot be pre-computed.
Instead, since the intervals have lengths that depend on tx and ty , The parameter Sdq [10, clause 4.3.1] is defined by
 
integration weights and B-spline basis function values must be 
1    
computed for each evaluation of the autocorrelation function.  ∂ f (x, y) 2 ∂ f (x, y) 2
Sdq = + dx dy.
An initial approximation to the solution to problem (8) is A (x,y)∈A ∂x ∂y
determined as follows:

8
Meas. Sci. Technol. 23 (2012) 105008 P M Harris et al

Proceeding as for Sq (section 6.1), 6.11. Developed interfacial area ratio




1 The parameter Sdr [10, clause 4.3.2] is defined by
Sdq =  I dq ,
A i, j i j ⎡
 2  2
where Sdr =
1 ⎣ 1 + ∂ f (x, y) + ∂ f (x, y)
 2 A (x,y)∈A ∂x ∂y
j+1
1 ∂F (X, Y )
i+1

Iidqj = x y
j i x ∂X
 2  − 1⎦ dx dy.
1 ∂F (X, Y )
+ dX dY.
y ∂Y
Proceeding as for Sdq (section 6.10),
The derivative function ∂F (X, Y )/∂X is a spline surface with
the same knots as F (X, Y ), but it is quadratic (order 3) in X 1 dr
Sdr = I ,
and cubic (order 4) in Y . The function has the representation A i, j i j
∂F (X, Y )
= b3,X (X; μX )DX b
4,Y (Y ; μY ), where
∂X
j+1 i+1
where [23] the matrix D of dimension (mx + 1) ×
X
Iidrj = x y
(my + 2) containing the spline coefficients dk X
is obtained
by ‘differencing the rows’ of C: ⎡ j i
   
⎣ 1 ∂F (X, Y ) 2 1 ∂F (X, Y ) 2
X
dk = ck − ck−1, . × 1+ +
x ∂X y ∂Y
Similarly, the derivative function ∂F (X, Y )/∂Y is a spline

surface with the same knots as F (X, Y ), but it is cubic (order
4) in X and quadratic (order 3) in Y . The function has the − 1⎦ dX dY. (9)
representation
∂F (X, Y )
= b4,X (X; μX )DY b
3,Y (Y ; μY ), Using Romberg integration with K > 0 refinement steps,
∂Y ,
where [23] the matrix D of dimension (mx + 2) × (my +
Y  ◦2
  1 X 
1) containing the spline coefficients dk Y
is obtained by Ii j ≈ Ii j (K) = x y ωK
dr dr
1K 1K + B3,K Di j B4,K
x
‘differencing the columns’ of C: ⎤
 ◦2 -◦1/2
Y
dk = ck − ck,−1 . 1 ⎦ 
+ B4,K DYij B − 1K 1
K ωK ,
As in section 5.3, values of the derivative functions for X ∈ Ii y 3,K

and Y ∈ J j are given by, respectively,


∂F (X, Y ) where 1K is a vector of dimension (2K + 1) × 1 containing
= b3 (X − i; μ3 )DXij b
4 (Y − j; μ4 ), unity in each element, and F ◦1/2 denotes the matrix whose
∂X
and elements are the square root values of the elements of F.
∂F (X, Y ) Since the integrand in the expression (9) is not a
= b4 (X − i; μ4 )DYij b
3 (Y − j; μ3 ),
∂Y polynomial surface, no choice of K is guaranteed to return
where the (exact) value of Iidrj . Instead, approximations 
Iidrj (K) to Iidrj
bn (ξ ; μn ) = (Nn (ξ − n + 1; μn ), . . . , Nn (ξ ; μn )) are evaluated for a sequence of increasing values of K until the
relative difference in successive approximations to Sdr is less
contains values of the B-spline basis function Nn (ξ ; μn )
of order n defined with respect to the knot vector μn = than a numerical tolerance
dr > 0, i.e.
(1 − n, . . . , 1). DXij and DYij are sub-matrices of, respectively, |
Sdr (K) − 
Sdr (K − 1)| <
dr 
Sdr (K − 1),
DX and DY containing those spline coefficients associated with
B-spline basis functions (of orders 3 and 4) that have support where
in the intervals Ii and J j .
 1 dr
Then, using Romberg integration with K = 3 refinement Sdr (K) = I (K).
A i, j i j
steps and 2K + 1 = 9 integration points gives
 ◦2
1 Small values of the numerical tolerance generally lead to more
dq
Ii j = x y ωK=3 B3,K=3 DXij B
x 4,K=3 refinement steps and a longer calculation time, but a value
 ◦2  with a greater numerical precision. As in section 6.7, in order
1
+ B4,K=3 DYij B ω
K=3 ,
to limit calculation times, approximations are evaluated for
y 3,K=3
a sequence of values of K up to a maximum value Kmax . If
in which the vector ωK=3 of integration weights and the the relative difference between  Sdr (Kmax ) and  Sdr (Kmax − 1)
matrices B3,K=3 and B4,K=3 of B-spline basis functions of 
exceeds
dr , then the value Sdr (Kmax ) is returned for Sdr together
orders 3 and 4 evaluated at the integration points can be pre- with the corresponding relative difference as an indication of
computed. its numerical precision.

9
Meas. Sci. Technol. 23 (2012) 105008 P M Harris et al

7. Summary Here, R(0, 0) defines the trapezoidal rule, and R(n, 0)


the extended trapezoidal rule for 2n + 1 uniformly-spaced
Type F2 software measurement standards, comprising integration points in [a, b] with spacing hn , applied to I.
reference software, for evaluating a selection of areal surface Secondly, form, for n = 1, . . . , K,
texture parameters has been described, focusing on the 4m R(n, m − 1) − R(n − 1, m − 1)
definitions of the parameters and giving details of the R(n, m) = ,
4m − 1
numerical algorithms employed in the software to implement m = 1, . . . , n.
those definitions. The most important consideration in the
design and development of reference software is its numerical Here, R(1, 1) defines Simpson’s rule, and R(n, 1) the extended
correctness. The assumptions made, and the algorithms Simpson’s rule with 2n +1 uniformly-spaced integration points
chosen, reflect this consideration. In particular, the surface in [a, b], applied to I. The values R(n, n) can also be obtained
for which parameters are to be evaluated is represented by applying Neville’s algorithm for polynomial interpolation
by a continuous function, viz, a bicubic spline surface, and extrapolation [34, section 4.3].
that is derived from the available discretely-sampled data, The value R(K, K) is exact for polynomials p of degree
and parameters are evaluated for that surface either to a less than 2K+2, since p(2K+2) is identically zero on the interval
(guaranteed) high numerical precision or to a numerical [a, b]. R(K, K) can also be expressed as the linear weighted
precision that is under the control of the user. Consequently, the sum
2
K
+1
algorithms are ‘complicated’, involving numerical quadrature
and general-purpose optimization, and can take a time to R(K, K) = ωk fk , (A.1)
k=1
execute that would be unacceptable for general use.
It is accepted that it is unlikely that instrument where ωk are integration weights and fk ≡ f (xk ) is f (x)
manufacturers will choose to implement the algorithms evaluated at xk , the kth of the 2K + 1 uniformly-spaced
described. Nevertheless, it is intended that the algorithms (and integration points in the interval [a, b]. To evaluate the weight
ωk , note that
the software implementing them) will be used as ‘benchmarks’ ⎛ ⎞ ⎛ ⎞
for algorithms that are designed to be fast (as is expected by
users) but are more modest in the numerical precision delivered ωk = ⎝ ω f + ωk ( fk + 1)⎠ − ⎝ ω f + ωk fk ⎠ ,
in the results. =k =k
The reference software may be freely downloaded from which is the difference between R(K, K) evaluated for the
the web site of the National Physical Laboratory. A companion function f (x) + δ(x − xk ) and R(K, K) evaluated for the
paper [17] presents the results of a comparison of the software function f (x), where f (x) is an arbitrary function and δ(x)
with that available in a number of surface texture measuring is the Dirac delta function. Consequently, for any particular
instruments. choice of K and interval [a, b], the integration weights ωk
and integration points xk , k = 1, . . . , 2K + 1, can be pre-
Acknowledgments computed, and R(K, K), an approximation to the integral I,
evaluated using expression (A.1).
The National Measurement Office of the UK Department for
Business, Innovation and Skills supported this work as part
of its Engineering Measurement programme. Our colleague References
Maurice Cox (NPL), and the anonymous referees, made [1] Jiang X, Scott P J, Whitehouse D J and Blunt L 2007
valuable comments on a draft of this paper. Paradigm shifts in surface metrology: part I. Historical
philosophy Proc. R. Soc. A 463 2049–70
Appendix. Romberg integration [2] Jiang X, Scott P J, Whitehouse D J and Blunt L 2007
Paradigm shifts in surface metrology: part II. The current
Consider the problem of evaluating shift Proc. R. Soc. A 463 2071–99
b [3] Bruzzone A A G, Costa H L, Lonardo P M and Lucca D A
2008 Advances in engineering surfaces for functional
I= f (x) dx.
a
performance Ann. CIRP 57 750–69
In a Romberg integration scheme [33] the results from K [4] Leach R K 2009 Fundamental Principles of Engineering
Nanometrology (Amsterdam: Elsevier)
successive refinement steps of the extended trapezoidal rule
[5] ISO 5436-2:2002 Geometrical product specification
applied to I are used to generate a quadrature rule with error (GPS)—Surface texture: profile method—Measurement
term O( f (2K+2) ), where f (2K+2) is the derivative of f of order standards—Software measurement standards (Geneva:
2K + 2 evaluated somewhere in the interval (a, b). International Organization for Standardization)
The method can be implemented as follows. Firstly, form [6] Butler B P, Cox M G, Ellison S L R and Hardcastle W A (ed)
1996 Statistics Software Qualification: Reference Data Sets
R(0, 0) = h0 ( f (a) + f (b)) (Cambridge: Royal Society of Chemistry)
and, for n = 1, . . . , K, [7] Cox M G and Harris P M 1999 Design and use of reference
2 n
−1 data sets for testing scientific software Anal. Chim. Acta
R(n − 1, 0)
R(n, 0) = + hn f (a + (2k − 1)hn ), 380 339–51
2 k=1
[8] Blunt L, Jiang X, Leach R K, Harris P M and Scott P 2008 The
development of user-friendly software measurement
b−a
hn = . standards for surface topography software assessment Wear
2n 264 389–93

10
Meas. Sci. Technol. 23 (2012) 105008 P M Harris et al

[9] ISO 4287:2000 Geometrical product specification [20] Zeng W, Jiang X and Scott P J 2010 Fast algorithm of the
(GPS)—Surface texture: profile method—Terms, definitions robust Gaussian regression filter for areal surface analysis
and surface texture parameters (Geneva: International Meas. Sci. Technol. 21 055108
Organization for Standardization) [21] ISO 16610-21:2011 Geometrical product specification
[10] ISO 25178-2:2012 Geometrical product specification (GPS)—Filtration—Part 21: linear profile filters: Gaussian
(GPS)—Surface texture: areal—Part 2: terms, definitions filters (Geneva: International Organization for
and surface texture parameters (Geneva: International Standardization)
Organization for Standardization) [22] Akima H 1970 A new method of interpolation and smooth
[11] Bui S H, Renegar T B, Vorburger T V, Raja J curve fitting based on local procedures J. Appl. Comput.
and Malburg M C 2004 Internet-based surface metrology Math. 17 589–602
algorithm testing system Wear 257 1213–8 [23] de Boor C 1978 A Practical Guide to Splines (New York:
[12] Bui S H and Vorburger T V 2007 Surface metrology algorithm Springer)
testing system Precis. Eng. 31 218–25 [24] Cox M G 1993 Algorithms for spline curves and surfaces
[13] Jung L, Spranger B, Krüger-Sehm R and Krystek M 2004 Fundamental Developments of Computer-Aided Geometric
Reference software for roughness analysis—features and Modelling ed L Piegl (London: Academic) 51–76
results Proc. 11th Int. Colloq. Surfaces (Chemnitz, [25] Cox M G 1972 The numerical evaluation of B-splines J. Inst.
Germany) pp 164–70 Math. Appl. 10 134–49
[14] Li T, Leach R K, Jung L, Jiang X and Blunt L A 2009 [26] de Boor C 1972 On calculating with B-splines J. Approx.
Comparison of type F2 software measurement standards for Theory 6 50–62
surface texture Technical Report ENG 16 (Teddington, UK: [27] Cox M G 1978 The numerical evaluation of a spline from its
National Physical Laboratory) B-spline representation J. Inst. Math. Appl. 21 135–43
[15] Leach R, Li T, Jiang X, Blunt L and Giusca C 2010 [28] Schoenberg I J and Whitney A 1953 On Pólya frequency
Comparison of commercial software packages for distributions III Trans. Am. Math. 74 246–59
calculating surface texture parameters Proc. Euspen Int. [29] Boehm W 1980 Inserting new knots into B-spline curves
Conf. (Delft) pp 87–90 Comput. Aided Des. 12 199–201
[16] Leach R and Haitjema H 2010 Bandwidth characteristics and [30] The MathWorks Inc. The MATLAB Optimization ToolboxTM
comparisons of surface texture measuring instruments Users Guide (Natick, MA)
Meas. Sci. Technol. 21 032001 [31] Numerical Algorithms Group NAG Library Manual (Oxford,
[17] Harris P M, Smith I M, Wang C, Giusca C and Leach R K UK)
2012 Software measurement standards for areal surface [32] Wächter A and Biegler L T 2006 On the implementation of a
texture parameters: part 2—comparison of software Meas. primal-dual interior point filter line search algorithm for
Sci. Technol. 23 105009 large-scale nonlinear programming Math. Program.
[18] ISO/DIS 25178-72 Geometrical product specification 106 25–57
(GPS)—Surface texture: areal—Part 72: XML file format [33] Romberg W 1955 Vereinfachte numerische Integration Det K.
X3P (Geneva: International Organization for Nor. Vidensk. Selsk. Forh. 28 30–6
Standardization) [34] Press W H, Flannery B P, Teukolsky S A and Vetterling W T
[19] Wiora G and Seewig J 2010 Free interchange of 3D measuring 1992 Numerical Recipes in FORTRAN: The Art of Scientific
data: X3P —a flexible, system-independent open source Computing 2nd edn (Cambridge: Cambridge University
data format Inspect 11 16–7 Press)

11

You might also like