adaptive (local) thresholding
Giving every pixel its own threshold, computed from its own local neighborhood, instead of one shared global value.
Adaptive (local) thresholding computes a per-pixel threshold T(x,y) = \bar f_{N(x,y)} - C, the mean of a local neighborhood N(x,y) around (x,y) minus a constant C, then classifies g(x,y)=255 if f(x,y)\le T(x,y) else 0. Because a pixel's own value is always part of its own neighborhood mean, the foreground-below-threshold polarity is required for the scheme to behave sensibly: in a flat region the mean equals the pixel's own value, so only a pixel sitting meaningfully BELOW its surroundings (by more than C) is ever flagged.
See also
Point table
Graph settings
Calculator