docstr: Return a description of the threshold meant to be seen by the user
  
  image_name - name of thresholded image
  
  agg - if present, the aggregating method, e.g., "Mean"
docstr_tok: ["Return","a","description","of","the","threshold","meant","to","be","seen","by","the","user","image_name","-","name","of","thresholded","image","agg","-","if","present",",","the","aggregating","method",",","e.g.",",","``","Mean","''"]
code: def threshold_description(self, image_name, agg=None):
      """Return a description of the threshold meant to be seen by the user
  
      image_name - name of thresholded image
  
      agg - if present, the aggregating method, e.g., "Mean"
      """
      if self.threshold_algorithm == centrosome.threshold.TM_OTSU:
          if self.use_weighted_variance == O_WEIGHTED_VARIANCE:
              wvorentropy = "WV"
          else:
              wvorentropy = "S"
          if self.two_class_otsu == O_TWO_CLASS:
              result = "Otsu {} 2 cls".format(wvorentropy)
          else:
              result = "Otsu {} 3 cls".format(wvorentropy)
              if self.assign_middle_to_foreground == O_FOREGROUND:
                  result += " Fg"
              else:
                  result += " Bg"
      elif self.threshold_scale is not None:
          result = (
              self.threshold_algorithm.lower()
              + " "
              + self.threshold_scale
          )
      else:
          result = self.threshold_algorithm.lower()
      if agg is not None:
          result = agg + " " + image_name + result
      else:
          result = image_name + result
      return result
  
imports: import itertools
  import logging
  import cellprofiler_core.utilities.image
  import centrosome.cpmorphology
  import centrosome.haralick
  import centrosome.radial_power_spectrum
  import centrosome.threshold
  import centrosome.threshold
  import numpy
  import scipy.linalg.basic
  import scipy.ndimage
  from cellprofiler_core.constants.image import C_SCALING
  from cellprofiler_core.constants.measurement import COLTYPE_FLOAT, EXPERIMENT, MCA_AVAILABLE_POST_RUN
  from cellprofiler_core.constants.module._identify import O_WEIGHTED_VARIANCE, O_ENTROPY, O_FOREGROUND, O_BACKGROUND
  from cellprofiler_core.module import Module
  from cellprofiler_core.preferences import get_headless
  from cellprofiler_core.setting import Divider, HiddenCount, SettingsGroup, Binary, ValidationError
  from cellprofiler_core.setting.choice import Choice
  from cellprofiler_core.setting.do_something import DoSomething, RemoveSettingButton
  from cellprofiler_core.setting.subscriber import ImageListSubscriber
  from cellprofiler_core.setting.text import ImageName, Integer, Float
  from cellprofiler.modules.threshold import O_THREE_CLASS, O_TWO_CLASS
label_desc: Use image node_id 4 for calling the ImageQualitySettingsGroup obj's underlying member method code with example usage: obj.threshold_description(image_name, agg) and returns: result