class_docstr: Representation of the attacking object used in the paper.
class_docstr_tok: ["Representation","of","the","attacking","object","used","in","the","paper","."]
docstr: Generate pixel of a laser beam.
  
  :param x: X coordinate of a pixel.
  :param y: Y coordinate of a pixel.
  :returns: List of 3 normalized RGB values (between 0 and 1) that represents a pixel.
docstr_tok: ["Generate","pixel","of","a","laser","beam",".",":","param","x",":","X","coordinate","of","a","pixel",".",":","param","y",":","Y","coordinate","of","a","pixel",".",":","returns",":","List","of","3","normalized","RGB","values","(","between","0","and","1",")","that","represents","a","pixel","."]
code: def __call__(self, x: int, y: int) -> np.ndarray:
      """
      Generate pixel of a laser beam.
  
      :param x: X coordinate of a pixel.
      :param y: Y coordinate of a pixel.
      :returns: List of 3 normalized RGB values (between 0 and 1) that represents a pixel.
      """
      _x, _y = float(x), float(y)
      distance = self.line.distance_of_point_from_the_line(_x, _y)
  
      if distance <= self.width / 2.0:
          return self.rgb
      if self.width / 2.0 <= distance <= 5 * self.width:
          return np.math.sqrt(self.width) / np.math.pow(distance, 2) * self.rgb  # type: ignore
  
      return np.array([0.0, 0.0, 0.0])
  
imports: import logging
  from typing import Callable, List, Optional, Tuple, Union, Any
  import numpy
  from art.attacks.attack import EvasionAttack
  from art.attacks.evasion.laser_attack.algorithms import greedy_search
  from art.attacks.evasion.laser_attack.utils import AdversarialObject, AdvObjectGenerator, DebugInfo, ImageGenerator, Line, wavelength_to_rgb
label_desc: Use image node_id 2 for calling the LaserBeam obj's underlying member method code with example usage: obj.__call__(x, y) and returns: np, self, unknown