Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Prediction Improvement

Search Center Predictions improved where each search starts. This chapter improves what each search returns: the point's predicted position in the current image.

Chapter 8 never had to report a position between pixels. It avoided that in two ways. Simple Stretch stretched the image by and placed every point at an that is a multiple of 50. Only those values stretch onto whole pixels. That kept dictk.translation.locate exact, because locate returns whole pixels only. It also capped the grid, at 12 points and then 250 in Simple Stretch Revisited. Pure Rotation took the other way. It rounded each rotated point's true position to the nearest pixel before scoring locate against it.

VIC-2D measured the same stretch on a 53x54 grid, 5 px apart, starting at . No on that grid is a multiple of 50. So every one of its 2862 true positions falls between pixels. locate can only report a whole pixel, so it misses every one of them. A real specimen poses the same problem. Its displacements don't land on whole pixels either.

The four pages of this chapter take that on in order:

  • Subpixel Accuracy adds locate_subpixel, which returns a fractional position. On the 2862-point grid, it cuts locate's mean position error by about a third.
  • High Point Density computes strain from all 2862 tracked points. That strain spreads far wider than VIC-2D's: dictk's ranges from about -16400 to 106100 microstrain, more than 21 times VIC-2D's own range of about 17300 to 23100.
  • Kernel Warping traces that spread to an error in locate_subpixel tied to where each true position falls within its pixel. It adds locate_warp, which lets the kernel stretch and shear along with the material. The standard deviation falls from 16531 to 1161 microstrain, against VIC-2D's 1385.
  • Seed Propagation measures where locate_warp's rigid whole-pixel seed breaks. Under a 10% stretch, locate_warp misses 5 of 30 random points by more than 1 px. Under a 20% stretch, it misses at least 22 of 30 at every shear tested.