Level Set of a Pixel Image

Given a pixel image, find all pixels which have values less than a specified threshold value (or greater than a threshold, etc), and assemble these pixels into a window.

manip, spatial, programming
levelset(X, thresh, compare="
A pixel image (object of class "im")
Threshold value. A single number or value compatible with the pixel values in X
Character string specifying one of the comparison operators "<", "="">", "==", "<=", "="">=", "!=".

If X is a pixel image with numeric values, then levelset(X, thresh) finds the region of space where the pixel values are less than or equal to the threshold value thresh. This region is returned as a spatial window.

The argument compare specifies how the pixel values should be compared with the threshold value. Instead of requiring pixel values to be less than or equal to thresh, you can specify that they must be less than (<), greater than (>), equal to (==), greater than or equal to (>=), or not equal to (!=) the threshold value thresh.

If X has non-numeric pixel values (for example, logical or factor values) it is advisable to use only the comparisons == and !=, unless you really know what you are doing.

For more complicated logical comparisons, see solutionset.


  • A spatial window (object of class "owin", see owin.object) containing the pixels satisfying the constraint.

See Also

im.object, as.owin, solutionset.

  • levelset
# test image
  X <- as.im(function(x,y) { x^2 - y^2 }, unit.square())

  W <- levelset(X, 0.2)
  W <- levelset(X, -0.3, ">")

  # compute area of level set
  area.owin(levelset(X, 0.1))
Documentation reproduced from package spatstat, version 1.27-0, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.