getFeatures {EBImage}R Documentation

Extract feature extraction from image objects

Description

Extracts numerical features from image objects.

Usage

  getFeatures(x, ref, N=12, R=30, nc=32)

Arguments

x

An Image object or an array containing object masks. Object masks are sets of pixels with the same unique integer value.

ref

An Image object or an array, containing the intensity values of the objects.

N

Passed to zernikeMoments. Integer value defining the degree of the Zernike polynomials, which in turn defines the number of features calculated. Defaults to 12.

R

Passed to zernikeMoments. Defines the radius of the circle around an object centre from which the features are calculated. See details. Defaults to 30.

nc

Passed to haralickFeatures. A numeric value. Specifies the number of gray levels to bin ref into when computing the co-occurrence matrix. Defaults to 32.

Details

Combines and returns the features returned by hullFeatures, moments, edgeFeatures, haralickFeatures and zernikeMoments.

Value

getFeatures returns feature matrices.

Author(s)

Oleg Sklyar, osklyar@ebi.ac.uk, 2007

See Also

hullFeatures, moments, edgeFeatures haralickFeatures, zernikeMoments

Examples

  x = readImage(system.file('images', 'nuclei.tif', package='EBImage'))
  x = x[,,1]
  if (interactive()) display(x)

  ## computes object mask
  y = thresh(x, 10, 10, 0.05)
  y = opening(y, makeBrush(5, shape='disc'))
  mask = bwlabel(y)
  if (interactive()) display(mask, title='Cell nuclei')

  ## features
  ftrs = getFeatures(mask, x)[[1]]
  print(ftrs[1:5,])

  ## paint nuclei with an eccentricity higher than 0.85
  maskb = mask
  id = which(ftrs[,'m.ecc']<0.85)
  maskb[!is.na(match(maskb, id))] = 0

  img = paintObjects(maskb, channel(x, 'rgb'), col='red')
  if (interactive()) display(img, title='Nuclei with high eccentricity')

[Package EBImage version 3.10.0 Index]