parameters: (input, labels=None, index=None)
return_statement: return [tuple(v) for v in numpy.array(results).T]
docstring: Calculate the center of mass of the values of an array at labels.
  
      Parameters
      ----------
      input : ndarray
          Data from which to calculate center-of-mass.
      labels : ndarray, optional
          Labels for objects in `input`, as generated by `ndimage.label`.
          Only used with `index`.  Dimensions must be the same as `input`.
      index : int or sequence of ints, optional
          Labels for which to calculate centers-of-mass. If not specified,
          all labels greater than zero are used.  Only used with `labels`.
  
      Returns
      -------
      center_of_mass : tuple, or list of tuples
          Coordinates of centers-of-mass.
  
      Examples
      --------
      >>> a = np.array(([0,0,0,0],
      ...               [0,1,1,0],
      ...               [0,1,1,0],
      ...               [0,1,1,0]))
      >>> from scipy import ndimage
      >>> ndimage.measurements.center_of_mass(a)
      (2.0, 1.5)
  
      Calculation of multiple objects in an image
  
      >>> b = np.array(([0,1,1,0],
      ...               [0,1,0,0],
      ...               [0,0,0,0],
      ...               [0,0,1,1],
      ...               [0,0,1,1]))
      >>> lbl = ndimage.label(b)[0]
      >>> ndimage.measurements.center_of_mass(b, lbl, [1,2])
      [(0.33333333333333331, 1.3333333333333333), (3.5, 2.5)]
docstring_summary: Calculate the center of mass of the values of an array at labels.
docstring_tokens: Calculate the center of mass of the values of an array at labels .
function: def center_of_mass(input, labels=None, index=None):
      """
      Calculate the center of mass of the values of an array at labels.
  
      Parameters
      ----------
      input : ndarray
          Data from which to calculate center-of-mass.
      labels : ndarray, optional
          Labels for objects in `input`, as generated by `ndimage.label`.
          Only used with `index`.  Dimensions must be the same as `input`.
      index : int or sequence of ints, optional
          Labels for which to calculate centers-of-mass. If not specified,
          all labels greater than zero are used.  Only used with `labels`.
  
      Returns
      -------
      center_of_mass : tuple, or list of tuples
          Coordinates of centers-of-mass.
  
      Examples
      --------
      >>> a = np.array(([0,0,0,0],
      ...               [0,1,1,0],
      ...               [0,1,1,0],
      ...               [0,1,1,0]))
      >>> from scipy import ndimage
      >>> ndimage.measurements.center_of_mass(a)
      (2.0, 1.5)
  
      Calculation of multiple objects in an image
  
      >>> b = np.array(([0,1,1,0],
      ...               [0,1,0,0],
      ...               [0,0,0,0],
      ...               [0,0,1,1],
      ...               [0,0,1,1]))
      >>> lbl = ndimage.label(b)[0]
      >>> ndimage.measurements.center_of_mass(b, lbl, [1,2])
      [(0.33333333333333331, 1.3333333333333333), (3.5, 2.5)]
  
      """
      normalizer = sum(input, labels, index)
      grids = numpy.ogrid[[slice(0, i) for i in input.shape]]
  
      results = [sum(input * grids[dir].astype(float), labels, index) / normalizer
                 for dir in range(input.ndim)]
  
      if numpy.isscalar(results[0]):
          return tuple(results)
  
      return [tuple(v) for v in numpy.array(results).T]
function_tokens: def center_of_mass ( input , labels = None , index = None ) : normalizer = sum ( input , labels , index ) grids = numpy . ogrid [ [ slice ( 0 , i ) for i in input . shape ] ] results = [ sum ( input * grids [ dir ] . astype ( float ) , labels , index ) / normalizer for dir in range ( input . ndim ) ] if numpy . isscalar ( results [ 0 ] ) : return tuple ( results ) return [ tuple ( v ) for v in numpy . array ( results ) . T ]