docstr: Add an image and its settings to the list of images
docstr_tok: ["Add","an","image","and","its","settings","to","the","list","of","images"]
code: def add_image(self, can_delete=True):
      """Add an image and its settings to the list of images"""
      image_name = ImageSubscriber(
          "Select the input image",
          "None",
          doc="Select the image to be corrected.",
      )
  
      corrected_image_name = ImageName(
          "Name the output image",
          "CorrBlue",
          doc="Enter a name for the corrected image.",
      )
  
      illum_correct_function_image_name = ImageSubscriber(
          "Select the illumination function",
          "None",
          doc="""\
  Select the illumination correction function image that will be used to
  carry out the correction. This image is usually produced by another
  module or loaded as a .mat or .npy format image using the **Images** module
  or a **LoadData** module.
  
  Note that loading .mat format images is deprecated and will be removed in
  a future version of CellProfiler. You can export .mat format images as
  .npy format images using **SaveImages** to ensure future compatibility.
  """,
      )
  
      divide_or_subtract = Choice(
          "Select how the illumination function is applied",
          [DOS_DIVIDE, DOS_SUBTRACT],
          doc="""\
  This choice depends on how the illumination function was calculated and
  on your physical model of the way illumination variation affects the
  background of images relative to the objects in images; it is also
  somewhat empirical.
  
  -  *%(DOS_SUBTRACT)s:* Use this option if the background signal is
     significant relative to the real signal coming from the cells. If you
     created the illumination correction function using
     *Background*, then you will want to choose
     *%(DOS_SUBTRACT)s* here.
  -  *%(DOS_DIVIDE)s:* Choose this option if the signal to background
     ratio is high (the cells are stained very strongly). If you created
     the illumination correction function using *Regular*, then
     you will want to choose *%(DOS_DIVIDE)s* here.
  """
          % globals(),
      )
  
      image_settings = SettingsGroup()
      image_settings.append("image_name", image_name)
      image_settings.append(
          "corrected_image_name", corrected_image_name
      )
      image_settings.append(
          "illum_correct_function_image_name",
          illum_correct_function_image_name,
      )
      image_settings.append("divide_or_subtract", divide_or_subtract)
      image_settings.append("rescale_option", RE_NONE)
  
      if can_delete:
          image_settings.append(
              "remover",
              RemoveSettingButton(
                  "", "Remove this image", self.images, image_settings
              ),
          )
      image_settings.append("divider", Divider())
      self.images.append(image_settings)
  
imports: import numpy
  from cellprofiler_core.image import Image
  from cellprofiler_core.module import Module
  from cellprofiler_core.setting import Divider, Binary
  from cellprofiler_core.setting import SettingsGroup
  from cellprofiler_core.setting import ValidationError
  from cellprofiler_core.setting.choice import Choice
  from cellprofiler_core.setting.do_something import DoSomething
  from cellprofiler_core.setting.do_something import RemoveSettingButton
  from cellprofiler_core.setting.subscriber import ImageSubscriber
  from cellprofiler_core.setting.text import ImageName
label_desc: Use image node_id 2 for calling the CorrectIlluminationApply obj's underlying member method code with example usage: obj.add_image(can_delete) without return types