code: def validate_images_format(images):
      """Validate that the data is in the required format.
  
      Parameters
      ----------
      images
          The images of the batch. Result of VisionData's batch_to_images
      Raises
      ------
      DeepchecksValueError
          If the images doesn't fit the required deepchecks format.
      """
      try:
          image = object_to_numpy(images[0], expected_ndim=3)
      except TypeError as err:
          raise ValidationError(
              f"The batch images must be an iterable, received {type(images)}."
          ) from err
      try:
          if len(image.shape) != 3:
              raise ValidationError(
                  "The image inside the iterable must be a 3D array."
              )
      except Exception as err:
          raise ValidationError(
              "The image inside the iterable must be a 3D array."
          ) from err
      if image.shape[2] not in [1, 3]:
          raise ValidationError(
              "The image inside the iterable must have 1 or 3 channels."
          )
      sample_min = np.min(image)
      sample_max = np.max(image)
      if sample_min < 0 or sample_max > 255 or sample_max <= 1:
          raise ValidationError(
              f"Image data should be in uint8 format(integers between 0 and 255), "
              f"found values in range [{sample_min}, {sample_max}]."
          )
  
file_path: deepchecks/deepchecks/vision/vision_data/format_validators.py
imports: from numbers import Number
  from typing import Iterable
  import numpy
  from deepchecks.core.errors import ValidationError
  from deepchecks.vision.vision_data import TaskType
  from deepchecks.vision.vision_data.utils import object_to_numpy, sequence_to_numpy
label_desc: Use image node_id 1 for calling a global function with example usage: validate_images_format(images) without return types