docstr: Return a labels matrix composed of circles found from objects
docstr_tok: ["Return","a","labels","matrix","composed","of","circles","found","from","objects"]
code: def run_natural_circle(self, workspace, gridding):
      """Return a labels matrix composed of circles found from objects"""
      #
      # Find the centroid of any guide label in a grid
      #
      guide_label = self.filtered_labels(workspace, gridding)
      labels = self.fill_grid(workspace, gridding)
      labels[
          guide_label[0 : labels.shape[0], 0 : labels.shape[1]] == 0
      ] = 0
      centers_i, centers_j = centers_of_labels(labels)
      nmissing = numpy.max(gridding.spot_table) - len(centers_i)
      if nmissing > 0:
          centers_i = numpy.hstack((centers_i, [numpy.NaN] * nmissing))
          centers_j = numpy.hstack((centers_j, [numpy.NaN] * nmissing))
      #
      # Broadcast these using the spot table
      #
      centers_i = centers_i[gridding.spot_table - 1]
      centers_j = centers_j[gridding.spot_table - 1]
      return self.run_circle(workspace, gridding, centers_i, centers_j)
  
imports: from cellprofiler_core.constants.module import HELP_ON_MEASURING_DISTANCES
  from cellprofiler_core.setting.choice import Choice
  from cellprofiler_core.setting.subscriber import LabelSubscriber, GridSubscriber
  from cellprofiler_core.setting.text import LabelName, Integer
  from cellprofiler_core.utilities.core.module.identify import add_object_location_measurements, add_object_count_measurements, get_object_measurement_columns
  from cellprofiler.modules import _help
  import numpy
  from centrosome.cpmorphology import centers_of_labels
  from cellprofiler_core.utilities.grid import Grid
  from cellprofiler_core.module import Module
  from cellprofiler_core.object import Objects
label_desc: Use image node_id 10 for calling the IdentifyObjectsInGrid obj's underlying member method code with example usage: obj.run_natural_circle(workspace, gridding) and returns: self