Module Import alias identifier ImportFrom alias identifier ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias FunctionDef arguments args NameParam NameParam NameParam defaults Str Num body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword Num keyword NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword Num keyword NameLoad keyword NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num Str Num body Expr Str Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad keyword NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad NameLoad keyword NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad NameLoad keyword NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad NameLoad keyword NameLoad keyword NameLoad Return TupleLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num Str Num body Expr Str Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad Num Call AttributeLoad NameLoad attr BinOpMult Num NameLoad Assign TupleStore NameStore NameStore SubscriptLoad AttributeLoad NameLoad attr ExtSlice Slice UnaryOpUSub NameLoad BinOpAdd NameLoad Num Slice UnaryOpUSub NameLoad BinOpAdd NameLoad Num Assign NameStore Call AttributeLoad NameLoad attr BinOpDiv UnaryOpUSub BinOpAdd BinOpPow NameLoad Num BinOpPow NameLoad Num BinOpMult Num BinOpPow NameLoad Num Assign NameStore BinOpMult BinOpDiv Num BinOpMult BinOpMult Num AttributeLoad NameLoad attr BinOpPow NameLoad Num BinOpSub BinOpDiv BinOpPow NameLoad Num BinOpPow NameLoad Num Num AugAssignMult NameStore NameLoad Assign NameStore BinOpMult BinOpDiv Num BinOpMult BinOpMult Num AttributeLoad NameLoad attr BinOpPow NameLoad Num BinOpMult NameLoad NameLoad AugAssignMult NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr attr Assign SubscriptStore NameLoad Index CompareLt Call AttributeLoad NameLoad attr NameLoad BinOpMult NameLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Num Assign SubscriptStore NameLoad Index CompareLt Call AttributeLoad NameLoad attr NameLoad BinOpMult NameLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Num Assign SubscriptStore NameLoad Index CompareLt Call AttributeLoad NameLoad attr NameLoad BinOpMult NameLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad keyword NameLoad Return TupleLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Return Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore BinOpAdd BinOpDiv BinOpAdd NameLoad NameLoad Num BinOpDiv Call AttributeLoad NameLoad attr BinOpAdd BinOpMult Num BinOpPow NameLoad Num BinOpPow BinOpSub NameLoad NameLoad Num Num Assign NameStore BinOpSub BinOpDiv BinOpAdd NameLoad NameLoad Num BinOpDiv Call AttributeLoad NameLoad attr BinOpAdd BinOpMult Num BinOpPow NameLoad Num BinOpPow BinOpSub NameLoad NameLoad Num Num Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Return Call NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Return Call NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Str Num body Expr Str Assign TupleStore NameStore NameStore Call NameLoad NameLoad keyword NameLoad keyword NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad keyword NameLoad keyword NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad keyword NameLoad keyword NameLoad Assign NameStore BinOpSub BinOpAdd BinOpMult NameLoad BinOpPow NameLoad Num BinOpMult NameLoad BinOpPow NameLoad Num BinOpMult BinOpMult BinOpMult Num NameLoad NameLoad NameLoad Assign NameStore BinOpAdd BinOpPow NameLoad Num BinOpPow NameLoad Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword AttributeLoad NameLoad attr Assign NameStore CompareNotEq NameLoad Num Assign SubscriptStore NameLoad Index NameLoad BinOpDiv SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults Str Num Num Num body Expr Str Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad Assign NameStore BinOpSub BinOpMult NameLoad NameLoad BinOpPow NameLoad Num Assign NameStore BinOpAdd NameLoad NameLoad If CompareEq NameLoad Str body Assign NameStore BinOpSub NameLoad BinOpMult NameLoad BinOpPow NameLoad Num orelse Assign NameStore BinOpDiv BinOpMult Num NameLoad BinOpAdd NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Num body Expr Str Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad Assign NameStore BinOpDiv BinOpSub BinOpAdd NameLoad NameLoad Call AttributeLoad NameLoad attr BinOpAdd BinOpPow BinOpSub NameLoad NameLoad Num BinOpMult Num BinOpPow NameLoad Num Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Num body Expr Str Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad Assign NameStore BinOpSub BinOpMult NameLoad NameLoad BinOpPow NameLoad Num Assign NameStore BinOpAdd NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword AttributeLoad NameLoad attr Assign NameStore CompareNotEq NameLoad Num Assign SubscriptStore NameLoad Index NameLoad BinOpDiv SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad Assign SubscriptStore NameLoad Index NameLoad BinOpDiv BinOpMult Num SubscriptLoad NameLoad Index NameLoad BinOpPow SubscriptLoad NameLoad Index NameLoad Num Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Num Num body Expr Str Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num Num body Expr Str Assign NameStore BinOpFloorDiv BinOpSub NameLoad Num Num Assign NameStore Call NameLoad NameLoad keyword NameLoad keyword Str keyword Num Assign NameStore Call NameLoad BinOpAdd NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr TupleLoad Num Num keyword AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr TupleLoad Num Num keyword AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr TupleLoad Num keyword AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr TupleLoad Num keyword AttributeLoad NameLoad attr Assign NameStore BinOpSub BinOpPow NameLoad Num Num Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore SubscriptLoad AttributeLoad NameLoad attr ExtSlice Slice UnaryOpUSub NameLoad BinOpAdd NameLoad Num Slice UnaryOpUSub NameLoad BinOpAdd NameLoad Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword AttributeLoad NameLoad attr For TupleStore NameStore TupleStore NameStore NameStore Call NameLoad NameLoad body Assign NameStore BinOpSub BinOpSub NameLoad NameLoad Num Assign NameStore BinOpAdd BinOpAdd NameLoad NameLoad Num Assign NameStore BinOpSub BinOpSub NameLoad NameLoad Num Assign NameStore BinOpAdd BinOpAdd NameLoad NameLoad Num Assign NameStore SubscriptLoad NameLoad ExtSlice Slice NameLoad NameLoad Slice NameLoad NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad keyword Str keyword Num Assign NameStore SubscriptLoad BinOpMult NameLoad NameLoad ExtSlice Slice Num Num Slice Num Num Assign NameStore SubscriptLoad BinOpMult NameLoad NameLoad ExtSlice Slice Num Num Slice Num Num Assign NameStore SubscriptLoad BinOpMult NameLoad NameLoad ExtSlice Slice Num Num Slice Num Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad Assign SubscriptStore NameLoad Index TupleLoad Num Num NameLoad Assign SubscriptStore NameLoad Index TupleLoad Num Num SubscriptStore NameLoad Index TupleLoad Num Num UnaryOpUSub NameLoad Assign SubscriptStore NameLoad Index TupleLoad Num Num NameLoad Assign SubscriptStore NameLoad Index TupleLoad Num Num NameLoad Assign SubscriptStore NameLoad Index TupleLoad Num Num SubscriptStore NameLoad Index TupleLoad Num Num NameLoad Assign SubscriptStore NameLoad Index TupleLoad Num Num NameLoad Assign SubscriptStore NameLoad Slice TupleLoad BinOpSub NameLoad NameLoad BinOpSub NameLoad NameLoad Assign SubscriptStore NameLoad Slice TupleLoad BinOpAdd NameLoad NameLoad BinOpAdd NameLoad NameLoad TryExcept body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad handlers ExceptHandler type AttributeLoad AttributeLoad NameLoad attr attr body Assign SubscriptStore NameLoad ExtSlice Index NameLoad Slice TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Continue Assign NameStore BinOpSub NameLoad SubscriptLoad NameLoad Index Num Assign NameStore BinOpSub NameLoad SubscriptLoad NameLoad Index Num Assign NameStore BinOpSub NameLoad SubscriptLoad NameLoad Index Num Assign NameStore BinOpSub NameLoad SubscriptLoad NameLoad Index Num Assign NameStore BinOpMult NameLoad NameLoad Assign NameStore BinOpMult NameLoad NameLoad Assign NameStore BinOpMult NameLoad NameLoad Assign NameStore BinOpMult NameLoad NameLoad Assign NameStore BinOpMult NameLoad NameLoad Assign NameStore BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd BinOpSub BinOpMult NameLoad NameLoad BinOpMult BinOpMult Num NameLoad NameLoad BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpMult NameLoad NameLoad BinOpMult BinOpMult Num NameLoad NameLoad BinOpMult NameLoad NameLoad If BoolOpAnd CompareLt NameLoad Call AttributeLoad NameLoad attr Num CompareLt NameLoad Call AttributeLoad NameLoad attr Num body Assign NameStore AttributeLoad NameLoad attr orelse If CompareEq NameLoad Num body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore BinOpDiv NameLoad NameLoad Assign NameStore BinOpSub Call NameLoad CompareLt NameLoad NameLoad Call NameLoad CompareGt NameLoad NameLoad If CompareEq NameLoad Num body Assign SubscriptStore NameLoad ExtSlice Index NameLoad Slice TupleLoad BinOpAdd NameLoad SubscriptLoad NameLoad Index Num BinOpAdd NameLoad SubscriptLoad NameLoad Index Num orelse If CompareEq NameLoad Num body Assign SubscriptStore NameLoad ExtSlice Index NameLoad Slice TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If CompareEq NameLoad Num body Assign SubscriptStore NameLoad ExtSlice Index NameLoad Slice TupleLoad BinOpAdd NameLoad SubscriptLoad NameLoad Index Num BinOpAdd NameLoad SubscriptLoad NameLoad Index Num AugAssignSub NameStore NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults Num NameLoad Num NameLoad NameLoad AttributeLoad NameLoad attr NameLoad NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad If CompareGt NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr For TupleStore NameStore NameStore NameLoad body If SubscriptLoad NameLoad Index TupleLoad NameLoad NameLoad body Assign SubscriptStore NameLoad ExtSlice Slice BinOpSub NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad Num Slice BinOpSub NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad Num NameLoad Assign SubscriptStore NameLoad Index TupleLoad NameLoad NameLoad NameLoad If CompareIs NameLoad NameLoad body Return Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr orelse Return NameLoad decorator_list
N/A N/A numpy np scipy ndimage ndi scipy stats util img_as_float pad feature peak_local_max feature.util _prepare_grayscale_input_2D feature.corner_cy _corner_fast _hessian_det_appx _hessian_matrix_det transform integral_image _shared.utils safe_as_int _compute_derivatives N/A N/A image mode cval N/A constant 0 N/A N/A Compute derivatives in x and y direction using the Sobel operator.

    Parameters
    ----------
    image : ndarray
        Input image.
    mode : {'constant', 'reflect', 'wrap', 'nearest', 'mirror'}, optional
        How to handle values outside the image borders.
    cval : float, optional
        Used in conjunction with mode 'constant', the value outside
        the image boundaries.

    Returns
    -------
    imx : ndarray
        Derivative in x-direction.
    imy : ndarray
        Derivative in y-direction.

     N/A imy N/A N/A ndi sobel image axis 0 mode mode cval cval N/A imx N/A N/A ndi sobel image axis 1 mode mode cval cval N/A N/A imx imy N/A structure_tensor N/A N/A image sigma mode cval N/A 1 constant 0 N/A N/A Compute structure tensor using sum of squared differences.

    The structure tensor A is defined as::

        A = [Axx Axy]
            [Axy Ayy]

    which is approximated by the weighted sum of squared differences in a local
    window around each pixel in the image.

    Parameters
    ----------
    image : ndarray
        Input image.
    sigma : float
        Standard deviation used for the Gaussian kernel, which is used as a
        weighting function for the local summation of squared differences.
    mode : {'constant', 'reflect', 'wrap', 'nearest', 'mirror'}, optional
        How to handle values outside the image borders.
    cval : float, optional
        Used in conjunction with mode 'constant', the value outside
        the image boundaries.

    Returns
    -------
    Axx : ndarray
        Element of the structure tensor for each pixel in the input image.
    Axy : ndarray
        Element of the structure tensor for each pixel in the input image.
    Ayy : ndarray
        Element of the structure tensor for each pixel in the input image.

    Examples
    --------
    >>> from skimage.feature import structure_tensor
    >>> square = np.zeros((5, 5))
    >>> square[2, 2] = 1
    >>> Axx, Axy, Ayy = structure_tensor(square, sigma=0.1)
    >>> Axx
    array([[ 0.,  0.,  0.,  0.,  0.],
           [ 0.,  1.,  0.,  1.,  0.],
           [ 0.,  4.,  0.,  4.,  0.],
           [ 0.,  1.,  0.,  1.,  0.],
           [ 0.,  0.,  0.,  0.,  0.]])

     N/A image N/A _prepare_grayscale_input_2D image N/A N/A imx imy N/A _compute_derivatives image mode mode cval cval N/A Axx N/A N/A ndi gaussian_filter N/A imx imx sigma mode mode cval cval N/A Axy N/A N/A ndi gaussian_filter N/A imx imy sigma mode mode cval cval N/A Ayy N/A N/A ndi gaussian_filter N/A imy imy sigma mode mode cval cval N/A N/A Axx Axy Ayy N/A hessian_matrix N/A N/A image sigma mode cval N/A 1 constant 0 N/A N/A Compute Hessian matrix.

    The Hessian matrix is defined as::

        H = [Hxx Hxy]
            [Hxy Hyy]

    which is computed by convolving the image with the second derivatives
    of the Gaussian kernel in the respective x- and y-directions.

    Parameters
    ----------
    image : ndarray
        Input image.
    sigma : float
        Standard deviation used for the Gaussian kernel, which is used as
        weighting function for the auto-correlation matrix.
    mode : {'constant', 'reflect', 'wrap', 'nearest', 'mirror'}, optional
        How to handle values outside the image borders.
    cval : float, optional
        Used in conjunction with mode 'constant', the value outside
        the image boundaries.

    Returns
    -------
    Hxx : ndarray
        Element of the Hessian matrix for each pixel in the input image.
    Hxy : ndarray
        Element of the Hessian matrix for each pixel in the input image.
    Hyy : ndarray
        Element of the Hessian matrix for each pixel in the input image.

    Examples
    --------
    >>> from skimage.feature import hessian_matrix
    >>> square = np.zeros((5, 5))
    >>> square[2, 2] = -1.0 / 1591.54943092
    >>> Hxx, Hxy, Hyy = hessian_matrix(square, sigma=0.1)
    >>> Hxx
    array([[ 0.,  0.,  0.,  0.,  0.],
           [ 0.,  0.,  0.,  0.,  0.],
           [ 0.,  0.,  1.,  0.,  0.],
           [ 0.,  0.,  0.,  0.,  0.],
           [ 0.,  0.,  0.,  0.,  0.]])

     N/A image N/A _prepare_grayscale_input_2D image N/A window_ext N/A max 1 N/A N/A np ceil N/A 3 sigma N/A N/A ky kx N/A N/A np mgrid N/A N/A N/A window_ext N/A window_ext 1 N/A N/A window_ext N/A window_ext 1 N/A gaussian_exp N/A N/A np exp N/A N/A N/A N/A kx 2 N/A ky 2 N/A 2 N/A sigma 2 N/A kernel_xx N/A N/A 1 N/A N/A 2 N/A np pi N/A sigma 4 N/A N/A N/A kx 2 N/A sigma 2 1 N/A kernel_xx gaussian_exp N/A kernel_xy N/A N/A 1 N/A N/A 2 N/A np pi N/A sigma 6 N/A kx ky N/A kernel_xy gaussian_exp N/A kernel_yy N/A N/A kernel_xx transpose N/A eps N/A N/A N/A np finfo N/A kernel_xx dtype eps N/A N/A kernel_xx N/A N/A N/A N/A np abs kernel_xx N/A eps N/A N/A N/A N/A np abs kernel_xx max 0 N/A N/A kernel_xy N/A N/A N/A N/A np abs kernel_xy N/A eps N/A N/A N/A N/A np abs kernel_xy max 0 N/A N/A kernel_yy N/A N/A N/A N/A np abs kernel_yy N/A eps N/A N/A N/A N/A np abs kernel_yy max 0 N/A Hxx N/A N/A ndi convolve image kernel_xx mode mode cval cval N/A Hxy N/A N/A ndi convolve image kernel_xy mode mode cval cval N/A Hyy N/A N/A ndi convolve image kernel_yy mode mode cval cval N/A N/A Hxx Hxy Hyy N/A hessian_matrix_det N/A N/A image sigma N/A N/A N/A Computes the approximate Hessian Determinant over an image.

    This method uses box filters over integral images to compute the
    approximate Hessian Determinant as described in [1]_.

    Parameters
    ----------
    image : array
        The image over which to compute Hessian Determinant.
    sigma : float
        Standard deviation used for the Gaussian kernel, used for the Hessian
        matrix.

    Returns
    -------
    out : array
        The array of the Determinant of Hessians.

    References
    ----------
    .. [1] Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool,
           "SURF: Speeded Up Robust Features"
           ftp://ftp.vision.ee.ethz.ch/publications/articles/eth_biwi_00517.pdf

    Notes
    -----
    The running time of this method only depends on size of the image. It is
    independent of `sigma` as one would expect. The downside is that the
    result for `sigma` less than `3` is not accurate, i.e., not similar to
    the result obtained if someone computed the Hessian and took it's
    determinant.
     N/A image N/A img_as_float image N/A image N/A integral_image image N/A N/A N/A np array N/A _hessian_matrix_det image sigma N/A _image_orthogonal_matrix22_eigvals N/A N/A M00 M01 M11 N/A N/A N/A l1 N/A N/A N/A M00 M11 2 N/A N/A N/A np sqrt N/A N/A 4 N/A M01 2 N/A N/A M00 M11 2 2 N/A l2 N/A N/A N/A M00 M11 2 N/A N/A N/A np sqrt N/A N/A 4 N/A M01 2 N/A N/A M00 M11 2 2 N/A N/A l1 l2 N/A structure_tensor_eigvals N/A N/A Axx Axy Ayy N/A N/A N/A Compute Eigen values of structure tensor.

    Parameters
    ----------
    Axx : ndarray
        Element of the structure tensor for each pixel in the input image.
    Axy : ndarray
        Element of the structure tensor for each pixel in the input image.
    Ayy : ndarray
        Element of the structure tensor for each pixel in the input image.

    Returns
    -------
    l1 : ndarray
        Larger eigen value for each input matrix.
    l2 : ndarray
        Smaller eigen value for each input matrix.

    Examples
    --------
    >>> from skimage.feature import structure_tensor, structure_tensor_eigvals
    >>> square = np.zeros((5, 5))
    >>> square[2, 2] = 1
    >>> Axx, Axy, Ayy = structure_tensor(square, sigma=0.1)
    >>> structure_tensor_eigvals(Axx, Axy, Ayy)[0]
    array([[ 0.,  0.,  0.,  0.,  0.],
           [ 0.,  2.,  4.,  2.,  0.],
           [ 0.,  4.,  0.,  4.,  0.],
           [ 0.,  2.,  4.,  2.,  0.],
           [ 0.,  0.,  0.,  0.,  0.]])

     N/A N/A _image_orthogonal_matrix22_eigvals Axx Axy Ayy N/A hessian_matrix_eigvals N/A N/A Hxx Hxy Hyy N/A N/A N/A Compute Eigen values of Hessian matrix.

    Parameters
    ----------
    Hxx : ndarray
        Element of the Hessian matrix for each pixel in the input image.
    Hxy : ndarray
        Element of the Hessian matrix for each pixel in the input image.
    Hyy : ndarray
        Element of the Hessian matrix for each pixel in the input image.

    Returns
    -------
    l1 : ndarray
        Larger eigen value for each input matrix.
    l2 : ndarray
        Smaller eigen value for each input matrix.

    Examples
    --------
    >>> from skimage.feature import hessian_matrix, hessian_matrix_eigvals
    >>> square = np.zeros((5, 5))
    >>> square[2, 2] = -1 / 1591.54943092
    >>> Hxx, Hxy, Hyy = hessian_matrix(square, sigma=0.1)
    >>> hessian_matrix_eigvals(Hxx, Hxy, Hyy)[0]
    array([[ 0.,  0.,  0.,  0.,  0.],
           [ 0.,  0.,  0.,  0.,  0.],
           [ 0.,  0.,  1.,  0.,  0.],
           [ 0.,  0.,  0.,  0.,  0.],
           [ 0.,  0.,  0.,  0.,  0.]])

     N/A N/A _image_orthogonal_matrix22_eigvals Hxx Hxy Hyy N/A corner_kitchen_rosenfeld N/A N/A image mode cval N/A constant 0 N/A N/A Compute Kitchen and Rosenfeld corner measure response image.

    The corner measure is calculated as follows::

        (imxx * imy**2 + imyy * imx**2 - 2 * imxy * imx * imy)
            / (imx**2 + imy**2)

    Where imx and imy are the first and imxx, imxy, imyy the second
    derivatives.

    Parameters
    ----------
    image : ndarray
        Input image.
    mode : {'constant', 'reflect', 'wrap', 'nearest', 'mirror'}, optional
        How to handle values outside the image borders.
    cval : float, optional
        Used in conjunction with mode 'constant', the value outside
        the image boundaries.

    Returns
    -------
    response : ndarray
        Kitchen and Rosenfeld response image.

     N/A N/A imx imy N/A _compute_derivatives image mode mode cval cval N/A N/A imxx imxy N/A _compute_derivatives imx mode mode cval cval N/A N/A imyx imyy N/A _compute_derivatives imy mode mode cval cval N/A numerator N/A N/A N/A imxx N/A imy 2 N/A imyy N/A imx 2 N/A N/A N/A 2 imxy imx imy N/A denominator N/A N/A imx 2 N/A imy 2 N/A response N/A N/A np zeros_like image dtype N/A np double N/A mask N/A denominator 0 N/A N/A response N/A mask N/A N/A numerator N/A mask N/A denominator N/A mask N/A response N/A corner_harris N/A N/A image method k eps sigma N/A k 0.05 1e-06 1 N/A N/A Compute Harris corner measure response image.

    This corner detector uses information from the auto-correlation matrix A::

        A = [(imx**2)   (imx*imy)] = [Axx Axy]
            [(imx*imy)   (imy**2)]   [Axy Ayy]

    Where imx and imy are first derivatives, averaged with a gaussian filter.
    The corner measure is then defined as::

        det(A) - k * trace(A)**2

    or::

        2 * det(A) / (trace(A) + eps)

    Parameters
    ----------
    image : ndarray
        Input image.
    method : {'k', 'eps'}, optional
        Method to compute the response image from the auto-correlation matrix.
    k : float, optional
        Sensitivity factor to separate corners from edges, typically in range
        `[0, 0.2]`. Small values of k result in detection of sharp corners.
    eps : float, optional
        Normalisation factor (Noble's corner measure).
    sigma : float, optional
        Standard deviation used for the Gaussian kernel, which is used as
        weighting function for the auto-correlation matrix.

    Returns
    -------
    response : ndarray
        Harris response image.

    References
    ----------
    .. [1] http://kiwi.cs.dal.ca/~dparks/CornerDetection/harris.htm
    .. [2] http://en.wikipedia.org/wiki/Corner_detection

    Examples
    --------
    >>> from skimage.feature import corner_harris, corner_peaks
    >>> square = np.zeros([10, 10])
    >>> square[2:8, 2:8] = 1
    >>> square.astype(int)
    array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
    >>> corner_peaks(corner_harris(square), min_distance=1)
    array([[2, 2],
           [2, 7],
           [7, 2],
           [7, 7]])

     N/A N/A Axx Axy Ayy N/A structure_tensor image sigma N/A detA N/A N/A Axx Ayy N/A Axy 2 N/A traceA N/A Axx Ayy N/A N/A method k N/A N/A response N/A detA N/A k N/A traceA 2 N/A N/A response N/A N/A 2 detA N/A traceA eps N/A response N/A corner_shi_tomasi N/A N/A image sigma N/A 1 N/A N/A Compute Shi-Tomasi (Kanade-Tomasi) corner measure response image.

    This corner detector uses information from the auto-correlation matrix A::

        A = [(imx**2)   (imx*imy)] = [Axx Axy]
            [(imx*imy)   (imy**2)]   [Axy Ayy]

    Where imx and imy are first derivatives, averaged with a gaussian filter.
    The corner measure is then defined as the smaller eigenvalue of A::

        ((Axx + Ayy) - sqrt((Axx - Ayy)**2 + 4 * Axy**2)) / 2

    Parameters
    ----------
    image : ndarray
        Input image.
    sigma : float, optional
        Standard deviation used for the Gaussian kernel, which is used as
        weighting function for the auto-correlation matrix.

    Returns
    -------
    response : ndarray
        Shi-Tomasi response image.

    References
    ----------
    .. [1] http://kiwi.cs.dal.ca/~dparks/CornerDetection/harris.htm
    .. [2] http://en.wikipedia.org/wiki/Corner_detection

    Examples
    --------
    >>> from skimage.feature import corner_shi_tomasi, corner_peaks
    >>> square = np.zeros([10, 10])
    >>> square[2:8, 2:8] = 1
    >>> square.astype(int)
    array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
    >>> corner_peaks(corner_shi_tomasi(square), min_distance=1)
    array([[2, 2],
           [2, 7],
           [7, 2],
           [7, 7]])

     N/A N/A Axx Axy Ayy N/A structure_tensor image sigma N/A response N/A N/A N/A Axx Ayy N/A N/A np sqrt N/A N/A N/A Axx Ayy 2 N/A 4 N/A Axy 2 2 N/A response N/A corner_foerstner N/A N/A image sigma N/A 1 N/A N/A Compute Foerstner corner measure response image.

    This corner detector uses information from the auto-correlation matrix A::

        A = [(imx**2)   (imx*imy)] = [Axx Axy]
            [(imx*imy)   (imy**2)]   [Axy Ayy]

    Where imx and imy are first derivatives, averaged with a gaussian filter.
    The corner measure is then defined as::

        w = det(A) / trace(A)           (size of error ellipse)
        q = 4 * det(A) / trace(A)**2    (roundness of error ellipse)

    Parameters
    ----------
    image : ndarray
        Input image.
    sigma : float, optional
        Standard deviation used for the Gaussian kernel, which is used as
        weighting function for the auto-correlation matrix.

    Returns
    -------
    w : ndarray
        Error ellipse sizes.
    q : ndarray
        Roundness of error ellipse.

    References
    ----------
    .. [1] http://www.ipb.uni-bonn.de/uploads/tx_ikgpublication/foerstner87.fast.pdf
    .. [2] http://en.wikipedia.org/wiki/Corner_detection

    Examples
    --------
    >>> from skimage.feature import corner_foerstner, corner_peaks
    >>> square = np.zeros([10, 10])
    >>> square[2:8, 2:8] = 1
    >>> square.astype(int)
    array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
    >>> w, q = corner_foerstner(square)
    >>> accuracy_thresh = 0.5
    >>> roundness_thresh = 0.3
    >>> foerstner = (q > roundness_thresh) * (w > accuracy_thresh) * w
    >>> corner_peaks(foerstner, min_distance=1)
    array([[2, 2],
           [2, 7],
           [7, 2],
           [7, 7]])

     N/A N/A Axx Axy Ayy N/A structure_tensor image sigma N/A detA N/A N/A Axx Ayy N/A Axy 2 N/A traceA N/A Axx Ayy N/A w N/A N/A np zeros_like image dtype N/A np double N/A q N/A N/A np zeros_like image dtype N/A np double N/A mask N/A traceA 0 N/A N/A w N/A mask N/A N/A detA N/A mask N/A traceA N/A mask N/A N/A q N/A mask N/A N/A 4 N/A detA N/A mask N/A N/A traceA N/A mask 2 N/A N/A w q N/A corner_fast N/A N/A image n threshold N/A 12 0.15 N/A N/A Extract FAST corners for a given image.

    Parameters
    ----------
    image : 2D ndarray
        Input image.
    n : int
        Minimum number of consecutive pixels out of 16 pixels on the circle
        that should all be either brighter or darker w.r.t testpixel.
        A point c on the circle is darker w.r.t test pixel p if
        `Ic < Ip - threshold` and brighter if `Ic > Ip + threshold`. Also
        stands for the n in `FAST-n` corner detector.
    threshold : float
        Threshold used in deciding whether the pixels on the circle are
        brighter, darker or similar w.r.t. the test pixel. Decrease the
        threshold when more corners are desired and vice-versa.

    Returns
    -------
    response : ndarray
        FAST corner response image.

    References
    ----------
    .. [1] Edward Rosten and Tom Drummond
           "Machine Learning for high-speed corner detection",
           http://www.edwardrosten.com/work/rosten_2006_machine.pdf
    .. [2] Wikipedia, "Features from accelerated segment test",
           https://en.wikipedia.org/wiki/Features_from_accelerated_segment_test

    Examples
    --------
    >>> from skimage.feature import corner_fast, corner_peaks
    >>> square = np.zeros((12, 12))
    >>> square[3:9, 3:9] = 1
    >>> square.astype(int)
    array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0],
           [0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0],
           [0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0],
           [0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0],
           [0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0],
           [0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
    >>> corner_peaks(corner_fast(square, 9), min_distance=1)
    array([[3, 3],
           [3, 8],
           [8, 3],
           [8, 8]])

     N/A image N/A _prepare_grayscale_input_2D image N/A image N/A N/A np ascontiguousarray image N/A response N/A _corner_fast image n threshold N/A response N/A corner_subpix N/A N/A image corners window_size alpha N/A 11 0.99 N/A N/A Determine subpixel position of corners.

    A statistical test decides whether the corner is defined as the
    intersection of two edges or a single peak. Depending on the classification
    result, the subpixel corner location is determined based on the local
    covariance of the grey-values. If the significance level for either
    statistical test is not sufficient, the corner cannot be classified, and
    the output subpixel position is set to NaN.

    Parameters
    ----------
    image : ndarray
        Input image.
    corners : (N, 2) ndarray
        Corner coordinates `(row, col)`.
    window_size : int, optional
        Search window size for subpixel estimation.
    alpha : float, optional
        Significance level for corner classification.

    Returns
    -------
    positions : (N, 2) ndarray
        Subpixel corner positions. NaN for "not classified" corners.

    References
    ----------
    .. [1] http://www.ipb.uni-bonn.de/uploads/tx_ikgpublication/           foerstner87.fast.pdf
    .. [2] http://en.wikipedia.org/wiki/Corner_detection

    Examples
    --------
    >>> from skimage.feature import corner_harris, corner_peaks, corner_subpix
    >>> img = np.zeros((10, 10))
    >>> img[:5, :5] = 1
    >>> img[5:, 5:] = 1
    >>> img.astype(int)
    array([[1, 1, 1, 1, 1, 0, 0, 0, 0, 0],
           [1, 1, 1, 1, 1, 0, 0, 0, 0, 0],
           [1, 1, 1, 1, 1, 0, 0, 0, 0, 0],
           [1, 1, 1, 1, 1, 0, 0, 0, 0, 0],
           [1, 1, 1, 1, 1, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 1, 1, 1, 1, 1],
           [0, 0, 0, 0, 0, 1, 1, 1, 1, 1],
           [0, 0, 0, 0, 0, 1, 1, 1, 1, 1],
           [0, 0, 0, 0, 0, 1, 1, 1, 1, 1],
           [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]])
    >>> coords = corner_peaks(corner_harris(img), min_distance=2)
    >>> coords_subpix = corner_subpix(img, coords, window_size=7)
    >>> coords_subpix
    array([[ 4.5,  4.5]])

     N/A wext N/A N/A window_size 1 2 N/A image N/A pad image pad_width wext mode constant constant_values 0 N/A corners N/A safe_as_int N/A corners wext N/A N_dot N/A N/A np zeros N/A 2 2 dtype N/A np double N/A N_edge N/A N/A np zeros N/A 2 2 dtype N/A np double N/A b_dot N/A N/A np zeros N/A 2 dtype N/A np double N/A b_edge N/A N/A np zeros N/A 2 dtype N/A np double N/A redundancy N/A N/A window_size 2 2 N/A t_crit_dot N/A N/A N/A stats f isf N/A 1 alpha redundancy redundancy N/A t_crit_edge N/A N/A N/A stats f isf alpha redundancy redundancy N/A N/A y x N/A N/A np mgrid N/A N/A N/A wext N/A wext 1 N/A N/A wext N/A wext 1 N/A corners_subpix N/A N/A np zeros_like corners dtype N/A np double N/A N/A i N/A y0 x0 N/A enumerate corners N/A N/A miny N/A N/A y0 wext 1 N/A maxy N/A N/A y0 wext 2 N/A minx N/A N/A x0 wext 1 N/A maxx N/A N/A x0 wext 2 N/A window N/A image N/A N/A miny maxy N/A minx maxx N/A N/A winx winy N/A _compute_derivatives window mode constant cval 0 N/A winx_winx N/A N/A winx winx N/A N/A 1 -1 N/A 1 -1 N/A winx_winy N/A N/A winx winy N/A N/A 1 -1 N/A 1 -1 N/A winy_winy N/A N/A winy winy N/A N/A 1 -1 N/A 1 -1 N/A Axx N/A N/A np sum winx_winx N/A Axy N/A N/A np sum winx_winy N/A Ayy N/A N/A np sum winy_winy N/A bxx_x N/A N/A np sum N/A winx_winx x N/A bxx_y N/A N/A np sum N/A winx_winx y N/A bxy_x N/A N/A np sum N/A winx_winy x N/A bxy_y N/A N/A np sum N/A winx_winy y N/A byy_x N/A N/A np sum N/A winy_winy x N/A byy_y N/A N/A np sum N/A winy_winy y N/A N/A N_dot N/A N/A 0 0 Axx N/A N/A N_dot N/A N/A 0 1 N/A N_dot N/A N/A 1 0 N/A Axy N/A N/A N_dot N/A N/A 1 1 Ayy N/A N/A N_edge N/A N/A 0 0 Ayy N/A N/A N_edge N/A N/A 0 1 N/A N_edge N/A N/A 1 0 Axy N/A N/A N_edge N/A N/A 1 1 Axx N/A N/A b_dot N/A N/A N/A bxx_y bxy_x N/A byy_x bxy_y N/A N/A b_edge N/A N/A N/A byy_y bxy_x N/A bxx_x bxy_y N/A N/A N/A est_dot N/A N/A N/A np linalg solve N_dot b_dot N/A est_edge N/A N/A N/A np linalg solve N_edge b_edge N/A N/A N/A N/A N/A np linalg LinAlgError N/A N/A N/A corners_subpix N/A N/A i N/A N/A N/A np nan N/A np nan N/A N/A ry_dot N/A y N/A est_dot N/A 0 N/A rx_dot N/A x N/A est_dot N/A 1 N/A ry_edge N/A y N/A est_edge N/A 0 N/A rx_edge N/A x N/A est_edge N/A 1 N/A rxx_dot N/A rx_dot rx_dot N/A rxy_dot N/A rx_dot ry_dot N/A ryy_dot N/A ry_dot ry_dot N/A rxx_edge N/A rx_edge rx_edge N/A rxy_edge N/A rx_edge ry_edge N/A ryy_edge N/A ry_edge ry_edge N/A var_dot N/A N/A np sum N/A N/A N/A winx_winx ryy_dot N/A N/A 2 winx_winy rxy_dot N/A winy_winy rxx_dot N/A var_edge N/A N/A np sum N/A N/A N/A winy_winy ryy_edge N/A N/A 2 winx_winy rxy_edge N/A winx_winx rxx_edge N/A N/A N/A var_dot N/A N/A np spacing 1 N/A var_edge N/A N/A np spacing 1 N/A N/A t N/A np nan N/A N/A N/A var_dot 0 N/A N/A t N/A np inf N/A N/A t N/A var_edge var_dot N/A corner_class N/A N/A int N/A t t_crit_edge N/A int N/A t t_crit_dot N/A N/A corner_class -1 N/A N/A N/A corners_subpix N/A N/A i N/A N/A N/A y0 N/A est_dot N/A 0 N/A x0 N/A est_dot N/A 1 N/A N/A N/A corner_class 0 N/A N/A N/A corners_subpix N/A N/A i N/A N/A N/A np nan N/A np nan N/A N/A N/A corner_class 1 N/A N/A N/A corners_subpix N/A N/A i N/A N/A N/A y0 N/A est_edge N/A 0 N/A x0 N/A est_edge N/A 1 N/A corners_subpix wext N/A corners_subpix N/A corner_peaks N/A N/A image min_distance threshold_abs threshold_rel exclude_border indices num_peaks footprint labels N/A 1 None 0.1 True True N/A np inf None None N/A N/A Find corners in corner measure response image.

    This differs from `skimage.feature.peak_local_max` in that it suppresses
    multiple connected peaks with the same accumulator value.

    Parameters
    ----------
    * : *
        See :py:meth:`skimage.feature.peak_local_max`.

    Examples
    --------
    >>> from skimage.feature import peak_local_max
    >>> response = np.zeros((5, 5))
    >>> response[2:4, 2:4] = 1
    >>> response
    array([[ 0.,  0.,  0.,  0.,  0.],
           [ 0.,  0.,  0.,  0.,  0.],
           [ 0.,  0.,  1.,  1.,  0.],
           [ 0.,  0.,  1.,  1.,  0.],
           [ 0.,  0.,  0.,  0.,  0.]])
    >>> peak_local_max(response)
    array([[2, 2],
           [2, 3],
           [3, 2],
           [3, 3]])
    >>> corner_peaks(response)
    array([[2, 2]])

     N/A peaks N/A peak_local_max image min_distance min_distance threshold_abs threshold_abs threshold_rel threshold_rel exclude_border exclude_border indices False num_peaks num_peaks footprint footprint labels labels N/A N/A min_distance 0 N/A N/A coords N/A N/A np transpose N/A N/A peaks nonzero N/A N/A r c coords N/A N/A N/A peaks N/A N/A r c N/A N/A N/A peaks N/A N/A N/A r min_distance N/A N/A r min_distance 1 N/A N/A c min_distance N/A N/A c min_distance 1 False N/A N/A peaks N/A N/A r c True N/A N/A indices True N/A N/A N/A N/A np transpose N/A N/A peaks nonzero N/A N/A peaks N/A