Strain Window
Kernel Warping showed how dictk's
locate_warp reduced the standard deviation for the 2%
stretch to 1161 microstrain. locate_subpixel gave 16531 microstrain
on the same stretch, and VIC-2D gave 1385 microstrain. Neither the
locate_subpixel nor the locate_warp result used strain smoothing,
the topic of this page. This page shows that strain smoothing reduces
the strain error further.
Strain spread starts with tracking error. Every tracked point carries an error. A strain needs a derivative of displacement, and the derivative divides the error by the point spacing. For example, a 0.01 px error between two points 5 px apart puts 2000 microstrain ( microstrain) into the slope.
The Q4 elements behind the 1161 microstrain each differentiate across four neighboring points, 5 px apart. In contrast, a strain window differentiates across more points. It fits one plane to the displacements of every point in a square of neighboring points. The fit averages their errors, so the strain error drops. A 15x15-point window averages across 225 points.
The averaging has a cost. The plane assumes the strain is uniform across the window. If the real strain changes inside the window, the fit blurs that change into one number. Each point stands for a cell one spacing wide, so a window with points per side covers a side length of times the spacing. At 5 px point spacing:
- A 3x3 window averages 9 points and blurs over a side length of 15 px ( px).
- A 15x15 window averages 225 points and blurs over a side length of 75 px ( px).
- A 19x19 window averages 361 points and blurs over a side length of 95 px ( px).
This page builds the strain window in three steps. In 1D, a row of three points shows the idea with three numbers. A 3x3 example then adds the second axis and gives the 2D result. Finally, a general window extends the 2D result to points per side. At , it recovers the 3x3 result. The page then compares the window's noise with the Q4 finite element's noise.
The Measured Result runs
dictk.strain_window with a
15x15-point window on Kernel Warping's tracked positions:
- At the 1560 points with a full window, the standard deviation falls from 1161 microstrain to 39 microstrain.
- At all 2862 points (1560 full-window points + 1302 edge and corner points), the standard deviation falls from 1161 microstrain to 91 microstrain. The 1302 edge and corner points truncate their windows. Their spread alone is 117 microstrain.
Notation
| Symbol | Units | Meaning |
|---|---|---|
| px | grid spacing | |
| points | window half-width: the window reaches points out from its center along each axis | |
| points | points per window side, always odd so the window centers on a tracked point | |
| points | column and row of a point within the window, each from to | |
| px | the point's and position relative to the window center | |
| px | tracked and displacement | |
| px | at column and row | |
| px | fitted at the window center | |
| dimensionless | fitted gradient of at the window center | |
| 1/px | weight of in the fitted and | |
| dimensionless | the displacement gradient, as in Finite Element Method | |
| px | standard deviation of each point's tracking error |
In an image,
- runs across the page from left to right. The displacement points in the direction. Column grows from left to right.
- runs down the page from top to bottom. The displacement points in the direction. Row grows from top to bottom.
The steps below fit . The fit for uses the same weights, as Fit for shows.
1D Example
Consider three points on the axis. Index them by . Point sits at relative to the middle point. The three points have tracked displacements , , and . Figure 10.1-1 shows the three points and their displacements.
Fit a straight line through the displacements. At , the line predicts
The slope of the line is . The intercept of the line is , the fitted displacement at the middle point, where . Figure 10.1-2 shows the line through the three displacements of Figure 10.1-1.
That is two unknowns, and , for three points. Least squares picks the two unknowns that minimize the sum of the three squared residuals:
At the minimum, the derivative of with respect to each unknown is zero. The derivative with respect to is
Rearranged, that gives the first normal equation:
The derivative with respect to the slope is
Dividing by and rearranging gives the second normal equation:
In matrix form, the two normal equations are
The sums are , , and . So the matrix is
The zero off the diagonal decouples the two unknowns:
The slope is the central difference. The middle point gets zero weight in it.
Noise
How much does tracking error move the slope? Work it out in six steps.
Step 1: model the error. Each tracked displacement is the true displacement plus an error:
The three errors , , and are independent. Each has mean 0 and standard deviation , so each has variance .
Step 2: find the error in the slope. Substitute step 1 into the slope:
The true part has no randomness. So the slope's variance is the variance of the slope error alone. The middle point's error does not appear, because the middle point has zero weight.
Step 3: recall two variance rules. For a constant and independent errors and :
Variances add for a difference too, because the sign flips with and .
Step 4: apply the first rule to each term. The slope error has two terms, and . Each one is an error scaled by :
Step 5: apply the second rule to add them.
Step 6: take the square root. The standard deviation is
For example, take px and px. The slope's standard deviation is , or 1414 microstrain.
A slope's noise reads as strain noise because, at small strain, . For a uniaxial stretch, , so . At the 2% stretch on these pages, that factor is . So log strain noise runs 2% below slope noise. This page quotes slope noise. From Gradient to Strain gives the full chain from slopes to strain.
The slope uses only 2 of the 3 points. The 3x3 window below averages three such rows. Before the 3x3 result, Q4 Baseline derives a Q4 element's noise for comparison in 2D.
Q4 Baseline
Finite Element Method computes strain from Q4 elements. Every strain on the earlier pages comes from them. This section derives a Q4 element's noise. The window sections below compare against it, for two reasons.
- Q4 is the method
dictkuses now. Kernel Warping measured its 1161 microstrain spread withgauss_point_log_strains, which evaluates Q4 elements. A window must beat that to earn a place indictk. - Q4 sets the unit of improvement. The 1D slope's noise scales with . The Q4 element's and the window's do too. One number for each turns every comparison into a ratio.
Gauss-Point Gradient
Take a square Q4 element with side . Its nodes 1 to 4 sit at , , , and . At the two Gauss points with , its gradient is
So and . The edge nearer the Gauss point
gets the larger weight. The two Gauss points at
swap and . Figure 10.1-3
shows the weights. The script computes them with dictk.element.
Q4 Noise
The weights satisfy and . Each node enters once, with weight or . The variance rules from the 1D Example's Noise give
All four Gauss points give the same value, because each one uses the same four weights in a different order.
The earlier pages build each Q4 element from 4 neighboring tracked points, so . The standard deviation is then . For px and px, that is 2309 microstrain. The 1D Example's central difference gives 1414 microstrain at the same and . The 2D Example compares the 3x3 window with both.
2D Example
The smallest square window with a center point holds 3x3 = 9 points. It is the general window with .
Setup
The points sit on a grid with spacing . Point sits at and relative to the center point . The window fits a plane through the 9 tracked displacements:
That is three unknowns, , , and , for nine points. Figure 10.1-4 shows the plane through nine displacements. It extends Figure 10.1-2 from a line to a plane.
Normal Equations
Least squares minimizes the sum of the nine squared residuals:
As in the 1D Example, each derivative of is zero at the minimum. Write for the residual inside the parentheses. The three derivatives are
Dividing each by and rearranging gives three normal equations. In matrix form, they are
Each sum runs over the 9 points:
- .
- . Three points sit at each of , , and , so they cancel. for the same reason.
- . Flipping to flips the product's sign, so the points cancel in pairs.
- . for the same reason.
So the matrix is
The matrix is diagonal, so each equation holds only one unknown.
Solution
Each unknown divides one right-side entry by one diagonal entry:
Figure 10.1-5 draws the weights. In , the right column enters with , the left column with , and the middle column with 0. Group the sum by row. Each row contributes . In , the bottom row enters with , the top row with , and the middle row with 0. Group that sum by column. Each column contributes . So
- is the mean of three central differences, one per row. The window differentiates along and averages along .
- is the mean of three central differences, one per column. The window differentiates along and averages along .
Fit for
Every entry of the matrix in the normal equations is a sum over , , and . No entry holds a displacement. So the fit for uses the same matrix. Only the right side changes, from to . The same diagonal entries give
The weights match Figure 10.1-5. They multiply instead of .
Noise in the 3x3 Window
The solution writes as a weighted sum with . Independent errors give
The standard deviation is . The row of three points gave . Averaging three independent rows divides that by , and .
The weights for are . Their squares sum to the same , so also has standard deviation . The fit for uses the same weights. If the errors in have the same , and have too.
A Monte Carlo simulation checks the formula. The grid spacing is px. The true field has px, , and . Each of 10,000 draws adds an independent Gaussian error with px to all 9 displacements, with random seed 0. That is illustrative. It is not measured from a tracker. A tracker's errors also correlate between neighboring points, as Noise in a General Window shows.
The formula gives 816 microstrain. The 10,000 Monte Carlo draws give 819 microstrain. A Q4 element gives 2309 microstrain, 2.8 times more. Q4 Noise derives that value.
Figure 10.1-6 shows the 10,000 fitted slopes.
General Window
A general window holds points, with . The steps match the 3x3 window's. Each result reduces to the 3x3 result at .
Setup
Columns and rows each run from to . The fit is the same plane:
That is three unknowns for points. For and px, the window holds 225 points. Its extent is px, because each point stands for a cell wide. The two outermost points sit px apart. This page uses the extent for the region a window blurs over, and the outer-point distance for the footprint that Window versus Q4 compares with a Q4 element.
Normal Equations
The residual sum , its derivatives, and the matrix form match the 3x3 window's. Only the limits change: every sum now runs from to . One sum appears repeatedly. Call it :
The window's sums follow from it:
- .
- , by the same cancellations as the 3x3 window.
- , because each of the rows contributes . is the same.
So the matrix is
At : and , so the diagonal is .
Solution
At , the weights are and .
The weight grows linearly with . The outermost columns, at , carry the largest weights. A displacement from the center changes by times any change in slope, so it gets times the weight of a point at . The weight does not depend on . So the estimator fits one line per row and averages the row slopes. Figure 10.1-7 shows the weights for , 2, and 3. The script also solves the normal equations directly and compares:
| weight of column | largest gap to direct solve | ||||
|---|---|---|---|---|---|
| 1 | 3 | 2 | 6 | 0.0e+00 | |
| 2 | 5 | 10 | 50 | 0.0e+00 | |
| 3 | 7 | 28 | 196 | 4.3e-19 |
The weights depend only on and . They do not depend on the images. So one set of weights serves every interior window, and for both and .
Noise in a General Window
Independent errors give
The standard deviation is
At , it is . The standard deviation falls as . Each row's line fit contributes . A row has points, and its outer points sit from the center, so grows as . Averaging the rows contributes the remaining .
The table compares the formula with a Monte Carlo simulation of 4000 random draws per window and with the Q4 element's . Figure 10.1-8 plots the same comparison for from 3 to 19:
| Window | Formula, units of | Monte Carlo, 4000 draws, units of | Reduction vs Q4 |
|---|---|---|---|
| 3x3 () | 0.4082 | 0.4086 | |
| 7x7 () | 0.0714 | 0.0707 | |
| 11x11 () | 0.0287 | 0.0289 | |
| 15x15 () | 0.0154 | 0.0155 | |
| 19x19 () | 0.0096 | 0.0097 |
If the tracking errors were independent, the reduction at would cut Kernel Warping's 1161 microstrain to 15.5 microstrain. That compares the window with a Q4 element on the same grid. Window versus Q4 splits it by source.
Measured Result measures 39 microstrain at the interior points, 2.5 times more. The tracking error is not independent. Kernel Warping found a wave with a 51 px period. Points 5 px apart sit 35° apart on that wave's cycle, so their errors correlate at . Frequency Response computes the fraction of a wave's slope that a window passes.
Uniform Weights
Every point here gets the same weight in the sum of squared residuals. For independent errors with equal variance, uniform weights give the lowest variance of any linear unbiased estimator. A tent or Gaussian weight would reduce the influence of each window's outer points. Both are candidate refinements for a later stage. Neither appears here.
Window versus Q4
Q4 Baseline derived a Q4 element's noise, . Noise in a General Window derived the window's. This section compares the two at any window size. Two points frame the comparison.
- Q4 shows where the gain comes from. A Q4 element fits 4 coefficients to 4 displacements. The fit is exact, so it averages nothing. A 15x15 window fits 3 coefficients to 225 displacements. That redundancy does the averaging.
- A fair comparison controls for footprint. On a grid with spacing , a Q4 element spans . A 15x15 window spans between its outer points. That larger footprint alone accounts for of the window's lead. It also blurs the strain field. Equal Footprint holds the footprint fixed. Q4 at Equal Resolution holds the resolution fixed, which is the fairer test.
Equal Spacing
A Q4 element at gives 2309 microstrain. The 3x3 window gives 816 microstrain, 2.8 times less, at the same px and px. Dividing the Q4 standard deviation by the general window's standard deviation gives the ratio for any window size:
The ratio is 2.8 at and 74.8 at . It gives the gain
dictk would see by replacing its Q4 elements with windows on the same
grid. It does not split that gain by source.
Equal Footprint
A 15x15 window at px spans 70 px between its outer points. A Q4 element at spans 5 px. To remove the footprint gain, give the Q4 element the window's footprint. Its corners then sit on the window's 4 corner points, and . Figure 10.1-9 shows the three choices on one grid.
With , the ratio becomes
The ratio is 1.41 at and 5.35 at , and it approaches as grows. The two ratios differ by exactly , the ratio of the footprints. At , . The 14 comes from the footprint. The 5.35 comes from the fit. The window fits 225 displacements by least squares. The Q4 element interpolates 4 exactly.
Counting points alone suggests . Two effects turn that into . First, the window's interior points sit closer to its center. A change in slope moves a point in column by an amount proportional to . So each point adds information about the slope in proportion to . A point at adds 1/49 as much as a point at . The 15 points at add none. Over one row, , so the 225 points carry as much as 85.7 points in the outer columns would. That costs the window a factor . Second, the Q4 element weights its corners unequally, with and . Equal weights of 0.5 would give instead of . That costs the Q4 element a factor 1.155. Together, .
| window | Q4, equal spacing | Q4, equal footprint | equal-spacing ratio | equal-footprint ratio | |
|---|---|---|---|---|---|
| 3 | 0.4082 | 1.1547 | 0.5774 | 2.8 | 1.41 |
| 7 | 0.0714 | 1.1547 | 0.1925 | 16.2 | 2.69 |
| 15 | 0.0154 | 1.1547 | 0.0825 | 74.8 | 5.35 |
| 19 | 0.0096 | 1.1547 | 0.0642 | 120.2 | 6.68 |
All values are in units of . The Q4 columns come from dictk.element and match within 2e-16.
Figure 10.1-10 plots the window and both Q4 elements, at equal spacing and at equal footprint, for from 3 to 19.
A larger footprint lowers noise and blurs the field. Two methods with the same footprint can still blur by different amounts. Q4 at Equal Resolution checks whether the favors the window.
From Gradient to Strain
Fitting and gives the four components of the displacement gradient at the window center:
The fit uses reference positions and , so this is the Lagrangian gradient. The rest follows Continuum Mechanics:
This page reports the log strain , to match the figures on the pages before it. The fit is linear in the displacements. The strain is not, because and are nonlinear. So the noise formulas above hold exactly for . For strain they hold to first order. The 1D Example's Noise showed that log strain noise runs 2% below slope noise at the 2% stretch on these pages.
Fitting the current positions instead of and gives directly as the slope. Both routes agree, because the reference positions and are exactly linear in and .
Bias and Resolution
A window reduces variance and blurs the real field. Frequency Response measures that blur on a sine wave. Q4 at Equal Resolution measures a Q4 element's blur on the same wave.
Frequency Response
Take , with wavenumber . The wave varies along only, so every row of the window is identical. The General Window averages its row slopes, so one row's slope gives the window's:
In the continuum limit, the points become an interval from to . Each point stands for a cell wide, so , half the window's extent. With , the sums become integrals:
The numerator comes from integration by parts. The true slope at the window center is . Dividing by it gives the ratio of the fitted slope to the true slope:
The small- limit follows from a Taylor expansion, . The wave's phase does not change . A wave shifted by splits into plus . The part is even about the center, so the odd weight integrates it to zero. The fitted slope and the true slope then both scale by .
first reaches zero where , at . For and px, px, so that zero falls at a period of px.
Integrating the same numerator by parts for a general shows what the fit does. Take as the antiderivative of . It vanishes at , so the boundary term drops out:
The weight is positive and integrates to 1. So the fit averages the true gradient with a parabolic weight. The weight peaks at the center and falls to zero at . is that average applied to the wave's gradient, .
The discrete fit skips the continuum limit. It gives .
Figure 10.1-11 plots against the wave period for
and px. Kernel Warping found a
bias wave in locate_subpixel with a 51 px period:
At a 51 px period, the discrete fit gives = -0.0167. The continuum formula with gives -0.0173. The discrete crosses zero at a 52.4 px period. It reaches 0.5 at 94 px and 0.9 at 230 px.
So the window keeps 1.7% of that wave's slope, and reverses its sign. The 51 px period sits 1.4 px below the zero crossing. The 1.7% holds for that period only.
Q4 at Equal Resolution
For the same wave , a Q4 element of side sees no change in . So its bottom-edge difference equals its top-edge difference , and all four Gauss points return the same gradient. Its ratio to the true slope at the element center is
The window's falls as . At equal footprint, the Q4 element blurs more:
The window keeps half the slope of a 94 px wave. The equal-footprint Q4 element, 70 px on a side, needs a 116 px wave for the same. A Q4 element matches the window's 94 px at 56.7 px on a side. Its standard deviation is then 0.102 , 6.6 times the window's 0.0154.
So matching resolution instead of footprint raises the window's lead from to . Equal resolution holds the half-power period fixed at 94 px, so it is the fairer comparison. At equal resolution, the equal-spacing lead splits into from the footprint and from the fit.
Both Q4 elements also pass more of a short wave with its sign reversed. Each one's bottoms out at , the minimum of . The 70 px element reaches it at a 49 px period, and the 56.7 px element at 40 px. The window's bottoms out at , at a 41 px period. Figure 10.1-12 plots all three responses.
Window Edges
Near the grid boundary, the window truncates. Every tracked point still gets a strain. A truncated window loses the cancellations, so and no longer vanish. The matrix is no longer diagonal, and the fit solves the full normal equations. Figure 10.1-13 shows interior, edge, and corner windows for .
Truncation has two costs. It loses precision, and it moves where the fit measures the gradient. Take the gradient of a window that lost its half, with columns left.
Variance. The slope variance is divided by , where is the mean column of the kept points. That sum falls from to . The standard deviation rises by the factor
At , the factor is 2.58. At a corner, the window also keeps only rows. The factor becomes
which is 3.54 at . At , the factors are 2.37 and 3.13, as Figure 10.1-13 shows.
In units of , a 15x15 window's standard deviation is 0.0154 in the interior, 0.0398 on an edge, and 0.0545 at a corner. The Q4 element gives 1.155. The edge value is 29 times lower than that. The corner value is 21 times lower.
Location. The fitted slope is a weighted average of the true gradient over the kept points, as Equation 10.1-19 shows. The weights peak at the kept points' centroid and fall to zero at their ends. In a full window, that centroid is the window center. In a truncated window, it sits inward. At and px, that is 17.5 px. So an edge point reports the strain averaged around a point 17.5 px inside the specimen. If the strain grows by per pixel toward the edge, the edge value reads too low.
Uniform stretch has , so this bias vanishes there. At a hole or a notch, the strain peaks at the edge, so the window underreports the peak.
Overlapping Windows
A window can step by 1 point, so every tracked point gets a strain. Or it can step by points, so no two windows share a point.
At a step of 1, neighboring windows share of their points. For , that is 210 of 225. Their errors correlate. The standard deviation across the field then describes the spread of the strain field. It does not describe the uncertainty of independent measurements. Every field spread on this page names its step.
Measured Result
dictk.strain_window.log_strains
runs the window on Kernel Warping's tracked
positions. The grid has 53x54 points at 5 px spacing. The current image
stretches the reference 2% in , so the true is
microstrain. The window has , so . It
steps by 1 point. The Q4 row repeats Kernel Warping's baseline on the
same positions.
| Source | Points | Mean (µε) | Std (µε) | Min (µε) | Max (µε) |
|---|---|---|---|---|---|
| Q4, Gauss points | 11024 | 19851 | 1161 | 16562 | 23160 |
| Q4, interior Gauss points | 5928 | 19855 | 1181 | 16562 | 23160 |
| 15x15 window, all points | 2862 | 19769 | 91 | 19465 | 20047 |
| 15x15 window, interior | 1560 | 19803 | 39 | 19698 | 19903 |
| 15x15 window, truncated | 1302 | 19730 | 117 | 19465 | 20047 |
| Analytical, | 19803 | 0 |
Each of the interior row's 1560 points has a full 15x15 window. Their standard deviation is 39 microstrain. Q4 gives 1161 microstrain on the same positions, so the window cuts the spread . Over the same interior region, Q4 gives 1181 microstrain, so the holds for matched points too. The interior mean matches to within 1 microstrain. The Q4 mean sits 48 microstrain above it.
The 39 microstrain leaves out 45.5% of the grid. Those 1302 points sit within 7 points of an edge, so their windows truncate. Their standard deviation is 117 microstrain, 3.0 times the interior value. Their mean sits 73 microstrain below . Over all 2862 points, the standard deviation is 91 microstrain. A full strain field includes its edges, so 91 microstrain is the spread a reader of that field sees.
Strain Field
Figure 10.1-14 redraws Kernel Warping's Q4 field next to the 15x15 window's field. Both panels use the VIC-2D colorbar from Kernel Warping, from 17560 to 22360 microstrain in 16 bands:
| Source | Inside colorbar | Bands touched |
|---|---|---|
locate_warp + Q4 | 97.4% | 16 of 16 |
locate_warp + 15x15 window | 100.0% | 3 of 16 |
Each colorbar band spans 300 microstrain.
The Q4 field touches all 16 bands, and 2.6% of its Gauss points fall outside the colorbar. The window field touches 3 bands. All 1560 of its interior points fall in one band, from 19660 to 19960 microstrain. The cyan stripes along the left and right sides are truncated columns. Each interior square in panel (b) comes from a fit to 225 tracked positions. Each Q4 Gauss point in panel (a) comes from 4.
Edges and Corners
Window Edges predicts how truncation raises the spread
for independent errors. The table tests that prediction on the measured
field. It groups the 2862 points by distance to the grid boundary.
counts columns to the nearest left or right edge. counts
rows to the nearest top or bottom edge. Both stop at , where the
window no longer truncates. The table reports the root-mean-square
(RMS) error of against . The RMS includes bias, and
the standard deviation does not. The independent prediction comes from
std_factors. The last
column gives the largest fraction of a 51 px wave's slope that each
window passes, over all phases of the wave.
| Window | Points | RMS error (µε) | Measured / interior | Independent prediction | 51 px wave slope passed | ||
|---|---|---|---|---|---|---|---|
| interior | 7 | 7 | 1560 | 39 | 1.00 | 1.00 | 1.7% |
| edge | 0 | 7 | 80 | 158 | 4.03 | 2.58 | 52.3% |
| near edge | 1 | 7 | 80 | 192 | 4.88 | 2.16 | 42.5% |
| near edge | 2 | 7 | 80 | 235 | 5.98 | 1.84 | 33.0% |
| near edge | 3 | 7 | 80 | 237 | 6.04 | 1.60 | 24.1% |
| near edge | 4 | 7 | 80 | 180 | 4.57 | 1.40 | 16.0% |
| near edge | 5 | 7 | 80 | 113 | 2.88 | 1.24 | 8.9% |
| near edge | 6 | 7 | 80 | 41 | 1.04 | 1.11 | 3.0% |
| edge | 7 | 0 | 78 | 46 | 1.17 | 1.37 | 1.7% |
| corner | 0 | 0 | 4 | 187 | 4.76 | 3.54 | 52.3% |
The column-mean displacement error has an RMS of 0.0076 px. A window fit of it predicts the column-mean error with correlation 0.9997.
The independent-error model underpredicts every edge group. At the edge column, , the RMS error is 158 microstrain, 4.03 times the interior's 39. The model predicts 2.58. The worst group sits 3 columns in. Its RMS error is 237 microstrain, 6.04 times the interior. The model predicts 1.60 there.
edges add 17% to the interior RMS. The top and bottom rows give 46 microstrain, 1.17 times the interior, below the predicted 1.37. The 4 corner points give 187 microstrain, 4.76 times the interior, against a predicted 3.54. The corners also sit at . Their 187 microstrain sits within 29 microstrain of the edge's 158.
The tracking error accounts for the gap. Kernel Warping found that the error follows a wave in with a 51 px period. Panel (a) of Figure 10.1-15 shows the strain error as vertical stripes. It depends on , not on . Panel (b) averages each column over the 40 rows with a full window. The column-mean displacement error has an RMS of 0.0076 px. A window fit of that error predicts the column-mean error with correlation 0.9997.
A full window passes 1.7% of the wave's slope. The 51 px period sits 1.4 px from the window's zero crossing at 52.4 px. A truncated window loses that cancellation. At the edge, it passes up to 52.3%. Three columns in, it passes up to 24.1%. These are upper bounds over the wave's phase. Each group holds only 2 columns, one per side. Its RMS depends on where those 2 columns fall on the wave, so it need not peak at the edge. Here it peaks at .
The truncated points' 73 microstrain mean offset has the same cause. Their columns sample the wave at phases that do not cancel. Within 5 columns of an edge, the RMS error runs 2.9 to 6.0 times the interior's. So a field-wide spread from this tracker should report interior and edge points separately.
Window Size
The 15x15 window gives the smallest interior spread of the 9 windows from 3x3 to 19x19. The sweep below reruns the same positions with from 1 to 9, stepping by 1 point.
The independent-error prediction scales Q4's 1161 microstrain by the window's factor from Noise in a General Window. That scaling sets to microstrain, so px at px. The tracking error is not independent. Its column-mean wave has an RMS of 0.0076 px, against 0.0029 px row to row. So this is fitted to Q4's result. It is not a measured independent tracking error.
The measured-error prediction combines two parts in quadrature. The first part fits each window to the column-mean displacement error from Edges and Corners. The second part treats the row-to-row displacement error as independent. That is an approximation. The table's last column is the discrete of Frequency Response for a 51 px wave.
| Window | Interior points | Interior std (µε) | All-points std (µε) | Independent prediction (µε) | Measured-error prediction (µε) | at 51 px |
|---|---|---|---|---|---|---|
| 3x3 () | 2652 (92.7%) | 945 | 967 | 410.5 | 926 | +0.938 |
| 5x5 () | 2450 (85.6%) | 751 | 784 | 142.2 | 750 | +0.800 |
| 7x7 () | 2256 (78.8%) | 565 | 601 | 71.8 | 566 | +0.620 |
| 9x9 () | 2070 (72.3%) | 386 | 412 | 43.3 | 385 | +0.425 |
| 11x11 () | 1892 (66.1%) | 218 | 242 | 28.9 | 215 | +0.241 |
| 13x13 () | 1722 (60.2%) | 79 | 126 | 20.7 | 74 | +0.089 |
| 15x15 () | 1560 (54.5%) | 39 | 91 | 15.5 | 34 | -0.017 |
| 17x17 () | 1406 (49.1%) | 76 | 101 | 12.1 | 76 | -0.074 |
| 19x19 () | 1260 (44.0%) | 82 | 98 | 9.7 | 82 | -0.087 |
The row-to-row displacement error has a standard deviation of 0.0029 px.
Figure 10.1-16 plots the table's four spread columns.
The 39 microstrain is a dip, not a trend. The 13x13 window gives 79 microstrain, and the 17x17 window gives 76. Both are twice the 15x15 value. The 19x19 window gives 82 microstrain, so it averages 1260 points to do worse than 1560 points at . The 51 px column shows why. falls from at to at , and then to at . The window passes the least of the wave's slope at , and that wave dominates the error.
The independent-error prediction misses that shape. It falls at every step, from 410 microstrain at to 9.7 at . The measured spread sits 2.3 times above it at , 2.5 times at , and 8.5 times at . The measured-error prediction stays within 19 microstrain of the measured spread at , and within 5 microstrain from to 19.
The all-points spread also bottoms out at , at 91 microstrain. Its minimum is shallower. The 17x17 and 19x19 windows give 101 and 98 microstrain, because those windows truncate at 1456 and 1602 of the 2862 points.
The best window size depends on the error's period. This tracker's error follows a 51 px wave, and a 15x15 window at 5 px spacing happens to land 1.4 px from that wave's zero crossing. A tracker or image with a different error period would move the dip. Choosing needs a sweep like this one, on data with a known answer.
Continue to Discontinuities.