docstr: Create your settings by subclassing this function
  
  create_settings is called at the end of initialization.
  
  You should create the setting variables for your module here:
      # Ask the user for the input image
      self.image_name = .ImageSubscriber(...)
      # Ask the user for the name of the output image
      self.output_image = .ImageName(...)
      # Ask the user for a parameter
      self.smoothing_size = .Float(...)
docstr_tok: ["Create","your","settings","by","subclassing","this","function","create_settings","is","called","at","the","end","of","initialization",".","You","should","create","the","setting","variables","for","your","module","here",":","#","Ask","the","user","for","the","input","image","self.image_name","=",".ImageSubscriber","(","...",")","#","Ask","the","user","for","the","name","of","the","output","image","self.output_image","=",".ImageName","(","...",")","#","Ask","the","user","for","a","parameter","self.smoothing_size","=",".Float","(","...",")"]
code: def create_settings(self):
      """Create your settings by subclassing this function
  
      create_settings is called at the end of initialization.
  
      You should create the setting variables for your module here:
          # Ask the user for the input image
          self.image_name = .ImageSubscriber(...)
          # Ask the user for the name of the output image
          self.output_image = .ImageName(...)
          # Ask the user for a parameter
          self.smoothing_size = .Float(...)"""
  
      self.grouping_values = Measurement(
          "Select the image measurement describing the positive and negative control status",
          lambda: IMAGE,
          doc="""\
  The Z’ factor, a measure of assay quality, is calculated by this module
  based on measurements from images that are specified as positive
  controls and images that are specified as negative controls. Images
  that are neither are ignored. The module assumes that all of the
  negative controls are specified by a minimum value, all of the positive
  controls are specified by a maximum value, and all other images have an
  intermediate value; this might allow you to use your dosing information
  to also specify the positive and negative controls. If you don’t use
  actual dose data to designate your controls, a common practice is to
  designate -1 as a negative control, 0 as an experimental sample, and 1
  as a positive control. In other words, positive controls should all be
  specified by a single high value (for instance, 1) and negative controls
  should all be specified by a single low value (for instance, -1). Other
  samples should have an intermediate value to exclude them from the Z’
  factor analysis.
  
  The typical way to provide this information in the pipeline is to create
  a text comma-delimited (CSV) file outside of CellProfiler and then load
  that file into the pipeline using the **Metadata** module or the legacy
  **LoadData** module. In that case, choose the measurement that matches
  the column header of the measurement in the input file. See the main
  module help for this module or for the **Metadata** module for an
  example text file.
  """,
      )
      self.dose_values = []
      self.add_dose_value(can_remove=False)
      self.add_dose_button = DoSomething(
          "", "Add another dose specification", self.add_dose_value
      )
  
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 1 for calling the CalculateStatistics obj's underlying member method code with example usage: obj.create_settings() without return types