Part II · Running a measurement

5. The region, and what a hole means

Most of the time a correlation does not need to measure the whole photograph - the specimen fills only part of the frame, and the background around it correlates against itself perfectly well while telling you nothing you want to know. Restricting where points are placed is not just an optimisation; it changes what the result can honestly claim.

Drawn or detected, the region is honest about which

A region of interest can be drawn by hand, corner by corner, or proposed automatically by segmenting the image for wherever the speckle is strong enough to correlate well. The two are not the same kind of claim: a hand-drawn boundary is a person's judgement about where the specimen is, and a detected one is an algorithm's judgement about where the pattern is measurable, which are related but different questions. A result should carry which kind of boundary produced it, because a reader deciding how much to trust the edge of a field needs to know which question was actually asked there.

What a region actually restricts

A region decides where the centres of measurement points are allowed to sit. By itself it does not shrink the subset each point correlates over: a point near the edge of a region still looks at a full subset of pixels around it, some of which lie outside the region. So a boundary is softer than it looks, and points close to it are influenced by whatever sits just beyond it.

That softness is not inevitable, though it is what most tools do. A correlation can instead be run on only the valid pixels of a subset that straddles a boundary, masking out the rest, at the cost of having fewer pixels to work with at exactly the places where the measurement is already hardest. Whether that trade is worth making depends on what lies outside the boundary: more specimen you simply chose not to measure is fairly harmless to include, and a hole showing the background behind the specimen is not. Ask of any tool which of the two it does, because a full subset near a boundary and a masked one produce different numbers there and neither is labelled.

A hole is not decoration

Many real specimens are not solid: a dogbone tension coupon drilled for a pin, a plate with a hole for a fastener, a bracket with slots cut into it. Where the material is genuinely absent, the camera sees whatever is behind the specimen instead - background, or a fixture, or empty space - and that background does not move the way the specimen does. A measurement point placed there correlates the background against itself perfectly well and reports, with complete confidence, that nothing moved.

That is the worst possible place for a false reading to appear. A hole through a loaded part is exactly where stress concentrates, which is exactly where a strain map is most worth looking at closely - and a cold, confident, entirely wrong "no strain here" sitting right at that concentration is precisely the kind of error nobody thinks to double-check, because it looks like an answer rather than like a mistake.

A region that can describe a hole - an outer boundary with a place cut out of it, excluded from measurement - fixes this by simply not placing points there at all. What is drawn is then a positive statement about the specimen's actual shape, not merely a rough outer boundary hoping nobody looks too closely at what is inside it.

Region drawing mode: a bounded quadrilateral drawn over a speckled specimen, with an on-screen bar reading the number of corners placed, the pointer position in image pixels, and buttons to undo, close, or cancel.
Drawing a region. Corners are placed by clicking the image, and the mode states what it is doing, how many corners exist so far, and every way to finish or abandon it. A hole is added the same way, as a second ring cut out of the region already in force.

A subset can still reach into a hole it does not sit inside

The same softness that applies at the outer boundary applies at a hole's edge too, and for the same reason: a subset extends beyond the single point it is centred on. A point just outside a hole can still have a subset that reaches partway into it, picking up some pixels that are genuinely background and do not move with the specimen. That pulls its answer very slightly toward "did not move," in the same quiet, plausible-looking direction as a point placed fully inside the hole would be, just to a lesser degree.

The honest response is not to pretend this cannot happen by excluding every point anywhere near a hole - that would apply a stricter rule at a hole's edge than the same result already accepts at the outer boundary, for no principled reason. It is to count and report how many measured points have a subset reaching into a hole, so a reader can widen the exclusion or simply read those points knowing what they are.

6. Sequences: order matters, reference matters

A DIC test is almost never one photograph compared against another. It is a loading series: a reference, and a run of targets taken as whatever is being studied happens over time. Two decisions that look like bookkeeping turn out to be about correctness.

Frame order is a correctness problem, not a presentation one

Sort a list of filenames the way a computer sorts text, and frame_10 comes before frame_2, because "1" is a smaller character than "2" and the rest of the comparison never looks at the full number. A twelve-frame test sorted that way gets measured in the order 1, 10, 11, 12, 2, 3, and so on - and every individual frame still solves correctly, because the correlation itself has no idea what order it was asked to run in.

The result is a field that is internally perfect and, taken as a series, complete nonsense: a specimen that appears to jump backward and forward instead of loading smoothly. Nothing about any one frame reveals the problem, because nothing is wrong with any one frame. The only fix is to sort frames the way a person reads them - as numbers, not as text - before anything is measured, so what is listed as the sequence is guaranteed to be what gets measured as the sequence.

The same trap appears again on the way out. A results file numbered without leading zeros sorts the same wrong way in most viewers, so an exported frame 10 is grouped before frame 2 when a series is played back as an animation. Files need to be numbered so their names sort the same way their content is meant to play.

Every frame against the original reference, by default

The straightforward, and usual, meaning of a DIC sequence is that every target is compared against the same reference frame, not against the frame immediately before it. That keeps every reported displacement directly comparable across the whole test: frame 5's displacement and frame 9's displacement both mean "how far has this point moved from where it started," and can be laid over one another or subtracted from one another meaningfully.

The cost is that correlation quality degrades as the specimen deforms further from how it looked in that original photograph - the later the frame, the less it resembles the reference, and eventually subsets that correlated beautifully at the start start failing. The next chapter is about what to do when that happens.

7. When the reference goes stale

A reference that no longer resembles the current state of the specimen makes correlation fail, not through any flaw in the method, but because the two images genuinely no longer look alike enough to match. Re-anchoring is the standard answer, and it trades one kind of correctness for another in a way worth understanding before switching it on.

What re-anchoring does

Once too little of the field still correlates well against the original reference, later frames are measured against the current frame instead of the original one. Each point's displacement since the original reference is banked - the new increment is added to whatever was already accumulated - so what is reported stays relative to the original reference throughout, even though what was actually measured on any individual frame after the switch was relative to a more recent one.

This recovers correlation on a specimen that has deformed too far to compare directly against its starting photograph. It is not free: it abandons any point that could not be measured on the exact frame the re-anchor happens on, because there is no other way to know where that point went. That trade is explained wherever the setting is switched on, not buried in a default.

The rule that decides when to re-anchor has to count losses, not just successes

The obvious way to decide "has the reference gone stale" is to ask what share of points still correlate well. The obvious way to build that is to count the points that succeeded. That is backwards, and the reason is not obvious until you watch it fail: if only the points that are still solving well get a vote, then a field that has lost half its points to decorrelation but still correlates beautifully on the half that remains never triggers a re-anchor at all - the surviving half looks great and is the only half being asked.

On a real synthetic tension sequence this was not a hypothetical: solved points fell from 97% of the field to 47% across five load steps, and a rule that counted only successes never re-anchored once. A point lost to decorrelation is the strongest evidence available that the reference has gone stale, and it has to count against the reference exactly because it dropped out, not despite it.

There is one case where that rule has to bend the other way: a frame where nothing correlated must never trigger a re-anchor, because re-anchoring works by banking the increment just measured, and a frame with no increment to bank marks every point lost and ends the sequence's usefulness outright. A reference that is merely stale can recover on a later frame. A field that has lost every tracked point cannot.

The threshold is set by measurement, and moving it changes the outcome directly

A convenient-sounding default (borrowed from other tools' 75% share) turned out to be too permissive when tried against real data: at 75%, a tension sequence sat at 75.3% on its fourth load step - a hair above the line - held the reference one step too long, and arrived at the fifth step with less than half the field still solved. At 90%, the same sequence re-anchors one step earlier, and its final frame keeps far more of the field intact. The number is not a convention; it is a knob that visibly changes how much of a hard test survives to the end.

Two rules the bookkeeping has to get right, always

8. Points that fail, and the pass that repairs them

Most points a correlation loses are not places where the surface is genuinely unmeasurable. They are places where the search started from a poor guess. A second pass that gives failed points a better starting guess, and re-solves them properly, recovers a substantial share of a field - if it is built so that it can never make anything worse.

Borrowing from the neighbours, then re-solving in full

A subset's correlation search has to start somewhere, and if that starting guess is far from the real answer, the search can fail to converge even though a perfectly good match exists nearby. A recovery pass fits a displacement field to the points around a failed one that did correlate well, uses that fit as a better starting guess at the failed point, and runs the full correlation search again from there.

The result of the fit is never reported as a measurement on its own. It is only ever an initial guess, and the point is only accepted once it has been correlated properly from that guess - with its own, independently earned correlation score. Reporting the fitted value directly, without re-solving, would put an interpolation borrowed from a point's neighbours into the field wearing the same appearance as a real measurement, which is exactly the trap Chapter 2 describes for strain, one step further along the same idea.

The rule that makes this safe to leave switched on: it may never make anything worse

A recovery pass that only ever touches points that already failed can, at worst, do nothing. That is the entire argument for running it by default: an answer is accepted only if it converges and correlates better than whatever was there before - nothing, in the case of a point that had failed outright - so the pass can only add points to a field, never spoil ones that were already there.

Recovery spreads in rounds: points recovered in one round become trustworthy neighbours for the next, so repair can work its way into the middle of a large failed patch that had no good neighbour at all on the very first attempt.

A recovered point is marked, everywhere it is reported

A recovered point is a genuine measurement - it converged, and it carries its own correlation score - and needs no apology on that account. But it reached its answer by a different route than the rest of the field, and that is exactly the kind of thing this manual has already argued should never be hidden: the mark travels with the point everywhere it is reported, so a reader can always ask where the repairs are concentrated. That question has a real answer worth asking - repairs clustered along one edge of a specimen usually mean something about the specimen; repairs scattered evenly usually mean something about the correlation settings.

A map showing which points a second pass repaired on a real dogbone specimen. Most of the field is one flat colour for points measured on the first solve, with patches of a second colour around the two holes, along the edges, and in a band across the gauge length.
Where the repairs fell. 2531 of 9044 measured points on this real specimen were recovered by the second pass. The map answers what the count cannot: they cluster around the holes and along the edges, which is the specimen talking, rather than scattering evenly, which would point at the correlation settings instead. Two flat colours and no gradient between them, because the channel has exactly two states and a ramp would imply readings that cannot occur.

What it actually buys, measured

On real specimens the effect is large. A hard frame of a real tension test with two holes through the gauge section went from 5401 points measured to 8455 once the pass was switched on. On a run that already measured most of its field, the same pass costs a modest amount of extra time and changes almost nothing - the effort scales to how much of the field was actually broken.

pairbeforeafter
synthetic large strain, first to last frame1678099
synthetic rotation, first to a later frame257410170
real tension coupon without holes54018455
real tension coupon with holes65139044