class_docstr: This module implements Expectation over Transformation preprocessing for image rotation in TensorFlow.
code: def _check_params(self) -> None:
      # pylint: disable=R0916
      if not isinstance(self.angles, (int, float, tuple)) or (
          isinstance(self.angles, tuple)
          and (
              len(self.angles) != 2
              or not isinstance(self.angles[0], (int, float))
              or not isinstance(self.angles[1], (int, float))
              or self.angles[0] > self.angles[1]
          )
      ):
          raise ValueError(
              "The range of angles must be a float in the range (0.0, 180.0]."
          )
  
      if self.label_type not in self.label_types:
          raise ValueError(
              f"The input for label_type needs to be one of {self.label_types}, currently receiving "
              f"`{self.label_type}`."
          )
  
file_path: adversarial-robustness-toolbox/art/preprocessing/expectation_over_transformation/image_rotation/tensorflow.py
imports: import logging
  from typing import Optional, TYPE_CHECKING, Tuple, Union
  import numpy
  from art.preprocessing.expectation_over_transformation.tensorflow import EoTTensorFlowV2
label_desc: Use image node_id 3 for calling the EoTImageRotationTensorFlow obj's underlying member method code with example usage: obj._check_params() without return types