code: def surf(
      f,
      nr_octaves=4,
      nr_scales=6,
      initial_step_size=1,
      threshold=0.1,
      max_points=1024,
      descriptor_only=False,
  ):
      """
      points = surf(f, nr_octaves=4, nr_scales=6, initial_step_size=1, threshold=0.1, max_points=1024, descriptor_only=False):
  
      Run SURF detection and descriptor computations
  
      Speeded-Up Robust Features (SURF) are fast local features computed at
      automatically determined keypoints.
  
      References
      ----------
  
      Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool "SURF: Speeded Up
      Robust Features", Computer Vision and Image Understanding (CVIU), Vol. 110,
      No. 3, pp. 346--359, 2008
  
      Parameters
      ----------
      f : ndarray
          input image
      nr_octaves : integer, optional
          Nr of octaves (default: 4)
      nr_scales : integer, optional
          Nr of scales (default: 6)
      initial_step_size : integer, optional
          Initial step size in pixels (default: 1)
      threshold : float, optional
          Threshold of the strength of the interest point (default: 0.1)
      max_points : integer, optional
          Maximum number of points to return. By default, return at most 1024
          points. Note that the number may be smaller even in the case where
          there are that many points. This is a side-effect of the way the
          threshold is implemented: only ``max_points`` are considered, but some
          of those may be filtered out.
      descriptor_only : boolean, optional
          If ``descriptor_only``, then returns only the 64-element descriptors
          (default is ``False``).
  
      Returns
      -------
      points : ndarray of double, shape = (N, 6 + 64)
          `N` is nr of points. Each point is represented as
          *(y,x,scale,score,laplacian,angle, D_0,...,D_63)* where *y,x,scale* is
          the position, *angle* the orientation, *score* and *laplacian* the
          score and sign of the detector; and *D_i* is the descriptor
  
          If ``descriptor_only``, then only the *D_i*\ s are returned and the array
          has shape (N, 64)!
      """
      surfs = _surf.surf(
          integral(f),
          nr_octaves,
          nr_scales,
          initial_step_size,
          threshold,
          max_points,
      )
      if descriptor_only:
          surfs = surfs[:, 6:]
      return surfs
  
file_path: mahotas/mahotas/features/surf.py
imports: from __future__ import division
  import numpy
  from .None import _surf
label_desc: Use image node_id 2 for calling a global function with example usage: surf(f, nr_octaves, nr_scales, initial_step_size, threshold, max_points, descriptor_only) and returns: surfs