Wolfram Language & System 11.0 (2016)|Legacy Documentation

This is documentation for an earlier version of the Wolfram Language.View current documentation (Version 11.2)


gives an image corresponding to the local orientation parallel to the gradient of image, computed using discrete derivatives of a Gaussian of pixel radius r, returning values between and .

uses a Gaussian with standard deviation σ.

applies orientation filtering to an array of data.

Details and OptionsDetails and Options

  • GradientOrientationFilter works with arbitrary grayscale and color images.
  • GradientOrientationFilter works with 3D as well as 2D images, and also with data arrays of any rank.
  • GradientOrientationFilter[image,] by default gives an image of the same dimensions as image.
  • GradientOrientationFilter[image,] always returns a single-channel image for 2D images and a two-channel image for 3D images.
  • GradientOrientationFilter[data,] returns the orientation as hyperspherical polar coordinate angles. For data arrays of dimensions , for , the resulting array will be of dimensions . The tuples in the resulting array denote the -spherical angles.
  • By default, defined angles are returned in the interval and the value is used for undefined orientation angles.
  • For a single channel image and for data, the gradient at a pixel position is approximated using discrete derivatives of Gaussians in each dimension.
  • For multichannel images, define the Jacobian matrix to be , where is the gradient for channel . The orientation is based on the direction of the eigenvector of that has the largest magnitude eigenvalue. This is the direction that maximizes the variation of pixel values.
  • For data arrays with dimensions, a coordinate system that corresponds to Part indices is assumed such that a coordinate {x1,,xn} corresponds to data[[x1,,xn]]. For images, the filter is effectively applied to ImageData[image].
  • In 1D, the orientation for nonzero gradients is always {0}, and undefined otherwise.
  • In 2D, the orientation is the angle such that is a unit vector parallel to .
  • In 3D, the orientation is represented by the angles such that is a unit vector parallel to the computed gradient.
  • For -dimensional data with , the orientation is given by angles such that is a unit vector in the direction of the computed gradient.
  • GradientOrientationFilter[image,r] is equivalent to GradientOrientationFilter[image,{r,r/2}].
  • The following options can be specified:
  • MethodAutomaticconvolution kernel
    Padding"Fixed"padding method
    WorkingPrecisionAutomaticthe precision to use
  • The following suboptions can be given to Method:
  • "DerivativeKernel""Bessel"convolution kernel
    "UndefinedOrientationValue"-pi/2return value when orientation is undefined
  • Possible settings for "Derivativekernel" include:
  • "Bessel"standardized Bessel derivative kernel, used for Canny edge detection
    "Gaussian"standardized Gaussian derivative kernel, used for Canny edge detection
    "ShenCastan"first-order derivatives of exponentials
    "Sobel"binomial generalizations of the Sobel edge-detection kernels
    {kernel1,kernel2,}explicit kernels specified for each dimension
  • With a setting Padding->None, GradientOrientationFilter[image,] normally gives an image smaller than image.
Introduced in 2012
| Updated in 2015