docstr: Make sure a measurement is selected in image_names
docstr_tok: ["Make","sure","a","measurement","is","selected","in","image_names"]
code: def validate_module(self, pipeline):
      """Make sure a measurement is selected in image_names"""
      if self.images_choice.value == O_SELECT:
          for image_group in self.image_groups:
              if len(image_group.image_names.value) == 0:
                  raise ValidationError(
                      "Please choose at least one image",
                      image_group.image_names,
                  )
  
      """Make sure settings are compatible. In particular, we make sure that no measurements are duplicated"""
      measurements, sources = self.get_measurement_columns(
          pipeline, return_sources=True
      )
      d = {}
      for m, s in zip(measurements, sources):
          m = (m[0], m[1])
          if m in d:
              raise ValidationError(
                  "Measurement {} for image {} made twice.".format(
                      m[1], s[1]
                  ),
                  s[0],
              )
          d[m] = True
  
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 11 for calling the MeasureImageQuality obj's underlying member method code with example usage: obj.validate_module(pipeline) without return types