code: def create_settings(self):
      self.images_list = ImageListSubscriber(
          "Select images to measure",
          [],
          doc="""Select the images whose intensity distribution you want to measure.""",
      )
  
      self.objects = []
  
      self.bin_counts = []
  
      self.heatmaps = []
  
      self.object_count = HiddenCount(self.objects)
  
      self.bin_counts_count = HiddenCount(self.bin_counts)
  
      self.heatmap_count = HiddenCount(self.heatmaps)
  
      self.wants_zernikes = Choice(
          "Calculate intensity Zernikes?",
          Z_ALL,
          doc="""\
  This setting determines whether the intensity Zernike moments are
  calculated. Choose *{Z_NONE}* to save computation time by not
  calculating the Zernike moments. Choose *{Z_MAGNITUDES}* to only save
  the magnitude information and discard information related to the
  object’s angular orientation. Choose *{Z_MAGNITUDES_AND_PHASE}* to
  save the phase information as well. The last option lets you recover
  each object’s rough appearance from the Zernikes but may not contribute
  useful information for classifying phenotypes.
  
  |MeasureObjectIntensityDistribution_image0|
  
  .. |MeasureObjectIntensityDistribution_image0| image:: {MeasureObjectIntensityDistribution_Magnitude_Phase}
  """.format(
              **{
                  "Z_NONE": Z_NONE,
                  "Z_MAGNITUDES": Z_MAGNITUDES,
                  "Z_MAGNITUDES_AND_PHASE": Z_MAGNITUDES_AND_PHASE,
                  "MeasureObjectIntensityDistribution_Magnitude_Phase": MeasureObjectIntensityDistribution_Magnitude_Phase,
              }
          ),
      )
  
      self.zernike_degree = Integer(
          "Maximum zernike moment",
          value=9,
          minval=1,
          maxval=20,
          doc="""\
  (*Only if "{wants_zernikes}" is "{Z_MAGNITUDES}" or "{Z_MAGNITUDES_AND_PHASE}"*)
  
  This is the maximum radial moment that will be calculated. There are
  increasing numbers of azimuthal moments as you increase the radial
  moment, so higher values are increasingly expensive to calculate.
  """.format(
              **{
                  "wants_zernikes": self.wants_zernikes.text,
                  "Z_MAGNITUDES": Z_MAGNITUDES,
                  "Z_MAGNITUDES_AND_PHASE": Z_MAGNITUDES_AND_PHASE,
              }
          ),
      )
  
      self.spacer_1 = Divider()
  
      self.add_object_button = DoSomething(
          "", "Add another object", self.add_object
      )
  
      self.spacer_2 = Divider()
  
      self.add_bin_count_button = DoSomething(
          "", "Add another set of bins", self.add_bin_count
      )
  
      self.spacer_3 = Divider()
  
      self.add_heatmap_button = DoSomething(
          "",
          "Add another heatmap display",
          self.add_heatmap,
          doc="""\
  Press this button to add a display of one of the radial distribution
  measurements. Each radial band of the object is colored using a
  heatmap according to the measurement value for that band.
  """,
      )
  
      self.add_object(can_remove=False)
  
      self.add_bin_count(can_remove=False)
  
imports: import centrosome.cpmorphology
  import centrosome.propagate
  import centrosome.zernike
  import matplotlib.cm
  import numpy
  import numpy.ma
  import scipy.ndimage
  import scipy.sparse
  from cellprofiler_core.constants.measurement import COLTYPE_FLOAT
  from cellprofiler_core.image import Image
  from cellprofiler_core.module import Module
  from cellprofiler_core.preferences import get_default_colormap
  from cellprofiler_core.setting import HiddenCount, Divider, SettingsGroup, Binary, ValidationError
  from cellprofiler_core.setting.choice import Choice, Colormap
  from cellprofiler_core.setting.do_something import DoSomething, RemoveSettingButton
  from cellprofiler_core.setting.subscriber import LabelSubscriber, ImageListSubscriber, ImageSubscriber
  from cellprofiler_core.setting.text import Integer, ImageName
  from cellprofiler_core.utilities.core.object import crop_labels_and_image, size_similarly
  import cellprofiler.gui.help.content
label_desc: Use image node_id 1 for calling the MeasureObjectIntensityDistribution obj's underlying member method code with example usage: obj.create_settings() without return types