code: def create_settings(self):
      self.objects_or_image = Choice(
          "Display object or image measurements?",
          [OI_OBJECTS, OI_IMAGE],
          doc="""\
  -  *%(OI_IMAGE)s* allows you to select an image measurement to display
     for each well.
  -  *%(OI_OBJECTS)s* allows you to select an object measurement to
     display for each well.
  """
          % globals(),
      )
  
      self.object = LabelSubscriber(
          "Select the object whose measurements will be displayed",
          "None",
          doc="""\
  Choose the name of objects identified by some previous module (such as
  **IdentifyPrimaryObjects** or **IdentifySecondaryObjects**)
  whose measurements are to be displayed.
  """,
      )
  
      self.plot_measurement = Measurement(
          "Select the measurement to plot",
          self.get_object,
          "None",
          doc="""Choose the image or object measurement made by a previous module to plot.""",
      )
  
      self.plate_name = Measurement(
          "Select your plate metadata",
          lambda: IMAGE,
          "Metadata_Plate",
          doc="""\
  Choose the metadata tag that corresponds to the plate identifier. That
  is, each plate should have a metadata tag containing a specifier
  corresponding uniquely to that plate.
  
  {meta_help}
  """.format(
              meta_help=USING_METADATA_HELP_REF
          ),
      )
  
      self.plate_type = Choice(
          "Multiwell plate format",
          ["96", "384"],
          doc="""\
  The module assumes that your data is laid out in a multi-well plate
  format common to high-throughput biological screens. Supported formats
  are:
  
  -  *96:* A 96-well plate with 8 rows × 12 columns
  -  *384:* A 384-well plate with 16 rows × 24 columns
  """,
      )
  
      self.well_format = Choice(
          "Well metadata format",
          [WF_NAME, WF_ROWCOL],
          doc="""\
  -  *%(WF_NAME)s* allows you to select an image measurement to display
     for each well.
  -  *%(WF_ROWCOL)s* allows you to select an object measurement to
     display for each well.
  """
          % globals(),
      )
  
      self.well_name = Measurement(
          "Select your well metadata",
          lambda: IMAGE,
          "Metadata_Well",
          doc="""\
  Choose the metadata tag that corresponds to the well identifier. The
  row-column format of these entries should be an alphabetical character
  (specifying the plate row), followed by two integer characters
  (specifying the plate column). For example, a standard format 96-well
  plate would span from “A1” to “H12”, whereas a 384-well plate (16 rows
  and 24 columns) would span from well “A01” to well “P24”."
  
  %(USING_METADATA_HELP_REF)s
  """
          % globals(),
      )
  
      self.well_row = Measurement(
          "Select your well row metadata",
          lambda: IMAGE,
          "Metadata_WellRow",
          doc="""\
  Choose the metadata tag that corresponds to the well row identifier,
  typically specified as an alphabetical character. For example, a
  standard format 96-well plate would span from row “A” to “H”, whereas a
  384-well plate (16 rows and 24 columns) would span from row “A” to “P”.
  
  %(USING_METADATA_HELP_REF)s
  """
          % globals(),
      )
  
      self.well_col = Measurement(
          "Select your well column metadata",
          lambda: IMAGE,
          "Metadata_WellCol",
          doc="""\
  Choose the metadata tag that corresponds to the well column identifier,
  typically specified with two integer characters. For example, a standard
  format 96-well plate would span from column “01” to “12”, whereas a
  384-well plate (16 rows and 24 columns) would span from column “01” to
  “24”.
  
  {meta_help}
  """.format(
              meta_help=USING_METADATA_HELP_REF
          ),
      )
  
      self.agg_method = Choice(
          "How should the values be aggregated?",
          AGG_NAMES,
          AGG_NAMES[0],
          doc="""\
  Measurements must be aggregated to a single number for each well so that
  they can be represented by a color. Options are:
  
  -  *%(AGG_AVG)s:* Average
  -  *%(AGG_STDEV)s:* Standard deviation
  -  *%(AGG_MEDIAN)s*
  -  *%(AGG_CV)s:* Coefficient of variation, defined as the ratio of the
     standard deviation to the mean. This is useful for comparing between
     data sets with different units or widely different means.
  """
          % globals(),
      )
  
      self.title = Text(
          "Enter a title for the plot, if desired",
          "",
          doc="""\
  Enter a title for the plot. If you leave this blank, the title will
  default to *(cycle N)* where *N* is the current image cycle being
  executed.
  """,
      )
  
file_path: CellProfiler/src/frontend/cellprofiler/modules/displayplatemap.py
imports: import numpy
  from cellprofiler_core.constants.measurement import IMAGE
  from cellprofiler_core.constants.module import USING_METADATA_HELP_REF
  from cellprofiler_core.module import Module
  from cellprofiler_core.setting import Measurement
  from cellprofiler_core.setting.choice import Choice
  from cellprofiler_core.setting.subscriber import LabelSubscriber
  from cellprofiler_core.setting.text import Text
label_desc: Use image node_id 2 for calling the DisplayPlatemap obj's underlying member method code with example usage: obj.create_settings() without return types