class_docstr: Representation of the attacking object used in the paper.
class_docstr_tok: ["Representation","of","the","attacking","object","used","in","the","paper","."]
docstr: :param wavelength: Wavelength in nanometers of the laser beam.
  :param width: Width of the laser beam in pixels.
  :param line: Line object used to determine shape of the laser beam.
docstr_tok: [":","param","wavelength",":","Wavelength","in","nanometers","of","the","laser","beam",".",":","param","width",":","Width","of","the","laser","beam","in","pixels",".",":","param","line",":","Line","object","used","to","determine","shape","of","the","laser","beam","."]
code: def __init__(self, wavelength: float, width: float, line: Line):
      """
      :param wavelength: Wavelength in nanometers of the laser beam.
      :param width: Width of the laser beam in pixels.
      :param line: Line object used to determine shape of the laser beam.
      """
      self.wavelength = float(wavelength)
      self.line = line
      self.width = float(width)
      self.rgb = np.array(wavelength_to_rgb(self.wavelength))
  
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 1 to create a new LaserBeam object from inherited base classes: AdversarialObject with example: obj = LaserBeam(wavelength, width, line)