docstr: Return either the "combine" or the "split" settings
docstr_tok: ["Return","either","the","``","combine","''","or","the","``","split","''","settings"]
code: def visible_settings(self):
      """Return either the "combine" or the "split" settings"""
      vv = [self.image_name, self.combine_or_split]
      if self.should_combine():
          vv += [self.grayscale_name, self.rgb_or_channels]
          if self.rgb_or_channels in (CH_RGB, CH_HSV):
              vv.extend(
                  [
                      self.red_contribution,
                      self.green_contribution,
                      self.blue_contribution,
                  ]
              )
          else:
              for channel in self.channels:
                  vv += [channel.channel_choice, channel.contribution]
                  if channel.can_remove:
                      vv += [channel.remover]
              vv += [self.channel_button]
      else:
          vv += [self.rgb_or_channels]
          if self.rgb_or_channels == CH_RGB:
              for v_use, v_name in (
                  (self.use_red, self.red_name),
                  (self.use_green, self.green_name),
                  (self.use_blue, self.blue_name),
              ):
                  vv.append(v_use)
                  if v_use.value:
                      vv.append(v_name)
          elif self.rgb_or_channels == CH_HSV:
              for v_use, v_name in (
                  (self.use_hue, self.hue_name),
                  (self.use_saturation, self.saturation_name),
                  (self.use_value, self.value_name),
              ):
                  vv.append(v_use)
                  if v_use.value:
                      vv.append(v_name)
          else:
              for channel in self.channels:
                  vv += [channel.channel_choice, channel.image_name]
                  if channel.can_remove:
                      vv += [channel.remover]
              vv += [self.channel_button]
      return vv
  
imports: import re
  import matplotlib.colors
  import numpy
  from cellprofiler_core.image import Image
  from cellprofiler_core.module import Module
  from cellprofiler_core.setting import Binary
  from cellprofiler_core.setting import HiddenCount
  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 Float
  from cellprofiler_core.setting.text import ImageName
  from cellprofiler_core.setting.text import Integer
label_desc: Use image node_id 3 for calling the ColorToGray obj's underlying member method code with example usage: obj.visible_settings() and returns: vv