docstr: Add a dose value measurement to the list
  
  can_delete - set this to False to keep from showing the "remove"
               button for images that must be present.
docstr_tok: ["Add","a","dose","value","measurement","to","the","list","can_delete","-","set","this","to","False","to","keep","from","showing","the","``","remove","''","button","for","images","that","must","be","present","."]
code: def add_dose_value(self, can_remove=True):
      """Add a dose value measurement to the list
  
      can_delete - set this to False to keep from showing the "remove"
                   button for images that must be present."""
      group = SettingsGroup()
      group.append(
          "measurement",
          Measurement(
              "Select the image measurement describing the treatment dose",
              lambda: IMAGE,
              doc="""\
  The V and Z’ factors, metrics of assay quality, and the EC50,
  indicating dose-response, are calculated by this module based on each
  image being specified as a particular treatment dose. Choose a
  measurement that gives the dose of some treatment for each of your
  images. See the help for the previous setting for details.""",
          ),
      )
  
      group.append(
          "log_transform",
          Binary(
              "Log-transform the dose values?",
              False,
              doc="""\
  Select *Yes* if you have dose-response data and you want to
  log-transform the dose values before fitting a sigmoid curve.
  
  Select *No* if your data values indicate only positive vs. negative
  controls.
  """
              % globals(),
          ),
      )
  
      group.append(
          "wants_save_figure",
          Binary(
              """Create dose-response plots?""",
              False,
              doc="""Select *Yes* if you want to create and save dose-response plots.
  You will be asked for information on how to save the plots."""
              % globals(),
          ),
      )
  
      group.append(
          "figure_name",
          Text(
              "Figure prefix",
              "",
              doc="""\
  *(Used only when creating dose-response plots)*
  
  CellProfiler will create a file name by appending the measurement name
  to the prefix you enter here. For instance, if you specify a prefix
  of “Dose\_”, when saving a file related to objects you have chosen (for
  example, *Cells*) and a particular measurement (for example, *AreaShape_Area*),
  CellProfiler will save the figure as *Dose_Cells_AreaShape_Area.m*.
  Leave this setting blank if you do not want a prefix.
  """,
          ),
      )
      group.append(
          "pathname",
          Directory(
              "Output file location",
              dir_choices=[
                  DEFAULT_OUTPUT_FOLDER_NAME,
                  DEFAULT_INPUT_FOLDER_NAME,
                  ABSOLUTE_FOLDER_NAME,
                  DEFAULT_OUTPUT_SUBFOLDER_NAME,
                  DEFAULT_INPUT_SUBFOLDER_NAME,
              ],
              doc="""\
  *(Used only when creating dose-response plots)*
  
  This setting lets you choose the folder for the output files. {fcht}
  
  {mht}
  """.format(
                  fcht=IO_FOLDER_CHOICE_HELP_TEXT,
                  mht=IO_WITH_METADATA_HELP_TEXT,
              ),
          ),
      )
  
      group.append("divider", Divider())
  
      group.append(
          "remover",
          RemoveSettingButton(
              "",
              "Remove this dose measurement",
              self.dose_values,
              group,
          ),
      )
      self.dose_values.append(group)
  
imports: import functools
  import os
  import numpy
  import scipy.optimize
  from cellprofiler_core.constants.measurement import EXPERIMENT
  from cellprofiler_core.constants.measurement import IMAGE
  from cellprofiler_core.constants.measurement import NEIGHBORS
  from cellprofiler_core.constants.module import IO_FOLDER_CHOICE_HELP_TEXT, IO_WITH_METADATA_HELP_TEXT
  from cellprofiler_core.measurement import Measurements
  from cellprofiler_core.module import Module
  from cellprofiler_core.preferences import ABSOLUTE_FOLDER_NAME
  from cellprofiler_core.preferences import DEFAULT_INPUT_FOLDER_NAME
  from cellprofiler_core.preferences import DEFAULT_INPUT_SUBFOLDER_NAME
  from cellprofiler_core.preferences import DEFAULT_OUTPUT_FOLDER_NAME
  from cellprofiler_core.preferences import DEFAULT_OUTPUT_SUBFOLDER_NAME
  from cellprofiler_core.setting import Binary
  from cellprofiler_core.setting import Divider
  from cellprofiler_core.setting import Measurement
  from cellprofiler_core.setting import SettingsGroup
  from cellprofiler_core.setting import ValidationError
  from cellprofiler_core.setting.do_something import DoSomething
  from cellprofiler_core.setting.do_something import RemoveSettingButton
  from cellprofiler_core.setting.text import Directory
  from cellprofiler_core.setting.text import Text
label_desc: Use image node_id 2 for calling the CalculateStatistics obj's underlying member method code with example usage: obj.add_dose_value(can_remove) without return types