code: def validate_module(self, pipeline):
      images = set()
      if len(self.images_list.value) == 0:
          raise ValidationError("No images selected", self.images_list)
      for image_name in self.images_list.value:
          if image_name in images:
              raise ValidationError(
                  "%s has already been selected" % image_name,
                  image_name,
              )
          images.add(image_name)
  
      if self.wants_object_measurements():
          objects = set()
          if len(self.objects_list.value) == 0:
              raise ValidationError(
                  "No objects selected", self.objects_list
              )
          for object_name in self.objects_list.value:
              if object_name in objects:
                  raise ValidationError(
                      "%s has already been selected" % object_name,
                      object_name,
                  )
              objects.add(object_name)
  
      scales = set()
      for group in self.scale_groups:
          if group.scale.value in scales:
              raise ValidationError(
                  "{} has already been selected".format(
                      group.scale.value
                  ),
                  group.scale,
              )
  
          scales.add(group.scale.value)
  
imports: import cellprofiler.gui.help.content
  import cellprofiler.icons
  import mahotas.features
  import numpy
  import skimage.exposure
  import skimage.measure
  import skimage.util
  from cellprofiler_core.constants.measurement import COLTYPE_FLOAT
  from cellprofiler_core.module import Module
  from cellprofiler_core.setting import HiddenCount, Divider, SettingsGroup, ValidationError
  from cellprofiler_core.setting.choice import Choice
  from cellprofiler_core.setting.do_something import DoSomething, RemoveSettingButton
  from cellprofiler_core.setting.subscriber import ImageListSubscriber, LabelListSubscriber
  from cellprofiler_core.setting.text import Integer
  from cellprofiler_core.utilities.core.object import size_similarly
label_desc: Use image node_id 8 for calling the MeasureTexture obj's underlying member method code with example usage: obj.validate_module(pipeline) without return types