docs: def find_position(edges, prow, bstart, bend, total=5):
      """Find a EMIR CSU bar position in a edge image.
  
      Parameters
      ==========
      edges; ndarray,
          a 2d image with 1 where is a border, 0 otherwise
      prow: int,
          reference 'row' of the bars
      bstart: int,
          minimum 'x' position of a bar (0-based)
      bend: int
          maximum 'x' position of a bar (0 based)
      total: int
          number of rows to check near `prow`
  
      Return
      ======
      list of (x, y) centroids
  
      """
  
      nt = total // 2
  
      # This bar is too near the border
      if prow-nt < 0 or prow + nt >= edges.shape[0]:
          return []
  
      s2edges = edges[prow-nt:prow+nt+1, bstart:bend]
  
      structure = morph.generate_binary_structure(2,2) # 8 way conection
      har, num_f = mes.label(s2edges, structure=structure)
  
      cen_of_mass = mes.center_of_mass(s2edges, labels=har, index=range(1, num_f + 1))
  
      # center_of_mass returns y, x coordinates
  
      cen_of_mass_off = [(x + bstart, prow-nt + y) for y,x in cen_of_mass]
  
      return cen_of_mass_off