class_docstr: Detect edges from specified angles and alpha-blend with the input image.
  
  This augmenter first detects edges along a certain angle.
  Usually, edges are detected in x- or y-direction, while here the edge
  detection kernel is rotated to match a specified angle.
  The result of applying the kernel is a black (non-edges) and white (edges)
  image. That image is alpha-blended with the input image.
  
  **Supported dtypes**:
  
  See :class:`~imgaug.augmenters.convolutional.Convolve`.
  
  Parameters
  ----------
  alpha : number or tuple of number or list of number or imgaug.parameters.StochasticParameter, optional
      Blending factor of the edge image. At ``0.0``, only the original
      image is visible, at ``1.0`` only the edge image is visible.
  
          * If a number, exactly that value will always be used.
          * If a tuple ``(a, b)``, a random value will be sampled from the
            interval ``[a, b]`` per image.
          * If a list, a random value will be sampled from that list
            per image.
          * If a ``StochasticParameter``, a value will be sampled from that
            parameter per image.
  
  direction : number or tuple of number or list of number or imgaug.parameters.StochasticParameter, optional
      Angle (in degrees) of edges to pronounce, where ``0`` represents
      ``0`` degrees and ``1.0`` represents 360 degrees (both clockwise,
      starting at the top). Default value is ``(0.0, 1.0)``, i.e. pick a
      random angle per image.
  
          * If a number, exactly that value will always be used.
          * If a tuple ``(a, b)``, a random value will be sampled from the
            interval ``[a, b]`` will be sampled per image.
          * If a list, then a random value will be sampled from that list
            per image.
          * If a ``StochasticParameter``, a value will be sampled from the
            parameter per image.
  
  seed : None or int or imgaug.random.RNG or numpy.random.Generator or numpy.random.BitGenerator or numpy.random.SeedSequence or numpy.random.RandomState, optional
      See :func:`~imgaug.augmenters.meta.Augmenter.__init__`.
  
  name : None or str, optional
      See :func:`~imgaug.augmenters.meta.Augmenter.__init__`.
  
  random_state : None or int or imgaug.random.RNG or numpy.random.Generator or numpy.random.BitGenerator or numpy.random.SeedSequence or numpy.random.RandomState, optional
      Old name for parameter `seed`.
      Its usage will not yet cause a deprecation warning,
      but it is still recommended to use `seed` now.
      Outdated since 0.4.0.
  
  deterministic : bool, optional
      Deprecated since 0.4.0.
      See method ``to_deterministic()`` for an alternative and for
      details about what the "deterministic mode" actually does.
  
  Examples
  --------
  >>> import imgaug.augmenters as iaa
  >>> aug = iaa.DirectedEdgeDetect(alpha=1.0, direction=0)
  
  Turn input images into edge images in which edges are detected from
  the top side of the image (i.e. the top sides of horizontal edges are
  part of the edge image, while vertical edges are ignored).
  
  >>> aug = iaa.DirectedEdgeDetect(alpha=1.0, direction=90/360)
  
  Same as before, but edges are detected from the right. Horizontal edges
  are now ignored.
  
  >>> aug = iaa.DirectedEdgeDetect(alpha=1.0, direction=(0.0, 1.0))
  
  Same as before, but edges are detected from a random angle sampled
  uniformly from the interval ``[0deg, 360deg]``.
  
  >>> aug = iaa.DirectedEdgeDetect(alpha=(0.0, 0.3), direction=0)
  
  Similar to the previous examples, but here the edge image is alpha-blended
  with the input image. The result is a mixture between the edge image and
  the input image. The blending factor is randomly sampled between ``0%``
  and ``30%``.
class_docstr_tok: ["Detect","edges","from","specified","angles","and","alpha-blend","with","the","input","image",".","This","augmenter","first","detects","edges","along","a","certain","angle",".","Usually",",","edges","are","detected","in","x-","or","y-direction",",","while","here","the","edge","detection","kernel","is","rotated","to","match","a","specified","angle",".","The","result","of","applying","the","kernel","is","a","black","(","non-edges",")","and","white","(","edges",")","image",".","That","image","is","alpha-blended","with","the","input","image",".","*","*","Supported","dtypes","*","*",":","See",":","class",":","`","~imgaug.augmenters.convolutional.Convolve","`",".","Parameters","--","--","--","--","--","alpha",":","number","or","tuple","of","number","or","list","of","number","or","imgaug.parameters.StochasticParameter",",","optional","Blending","factor","of","the","edge","image",".","At","``","0.0","``",",","only","the","original","image","is","visible",",","at","``","1.0","``","only","the","edge","image","is","visible",".","*","If","a","number",",","exactly","that","value","will","always","be","used",".","*","If","a","tuple","``","(","a",",","b",")","``",",","a","random","value","will","be","sampled","from","the","interval","``","[","a",",","b","]","``","per","image",".","*","If","a","list",",","a","random","value","will","be","sampled","from","that","list","per","image",".","*","If","a","``","StochasticParameter","``",",","a","value","will","be","sampled","from","that","parameter","per","image",".","direction",":","number","or","tuple","of","number","or","list","of","number","or","imgaug.parameters.StochasticParameter",",","optional","Angle","(","in","degrees",")","of","edges","to","pronounce",",","where","``","0","``","represents","``","0","``","degrees","and","``","1.0","``","represents","360","degrees","(","both","clockwise",",","starting","at","the","top",")",".","Default","value","is","``","(","0.0",",","1.0",")","``",",","i.e",".","pick","a","random","angle","per","image",".","*","If","a","number",",","exactly","that","value","will","always","be","used",".","*","If","a","tuple","``","(","a",",","b",")","``",",","a","random","value","will","be","sampled","from","the","interval","``","[","a",",","b","]","``","will","be","sampled","per","image",".","*","If","a","list",",","then","a","random","value","will","be","sampled","from","that","list","per","image",".","*","If","a","``","StochasticParameter","``",",","a","value","will","be","sampled","from","the","parameter","per","image",".","seed",":","None","or","int","or","imgaug.random.RNG","or","numpy.random.Generator","or","numpy.random.BitGenerator","or","numpy.random.SeedSequence","or","numpy.random.RandomState",",","optional","See",":","func",":","`","~imgaug.augmenters.meta.Augmenter.__init__","`",".","name",":","None","or","str",",","optional","See",":","func",":","`","~imgaug.augmenters.meta.Augmenter.__init__","`",".","random_state",":","None","or","int","or","imgaug.random.RNG","or","numpy.random.Generator","or","numpy.random.BitGenerator","or","numpy.random.SeedSequence","or","numpy.random.RandomState",",","optional","Old","name","for","parameter","`","seed","`",".","Its","usage","will","not","yet","cause","a","deprecation","warning",",","but","it","is","still","recommended","to","use","`","seed","`","now",".","Outdated","since","0.4.0.","deterministic",":","bool",",","optional","Deprecated","since","0.4.0",".","See","method","``","to_deterministic","(",")","``","for","an","alternative","and","for","details","about","what","the","``","deterministic","mode","''","actually","does",".","Examples","--","--","--","--",">",">",">","import","imgaug.augmenters","as","iaa",">",">",">","aug","=","iaa.DirectedEdgeDetect","(","alpha=1.0",",","direction=0",")","Turn","input","images","into","edge","images","in","which","edges","are","detected","from","the","top","side","of","the","image","(","i.e",".","the","top","sides","of","horizontal","edges","are","part","of","the","edge","image",",","while","vertical","edges","are","ignored",")",".",">",">",">","aug","=","iaa.DirectedEdgeDetect","(","alpha=1.0",",","direction=90\/360",")","Same","as","before",",","but","edges","are","detected","from","the","right",".","Horizontal","edges","are","now","ignored",".",">",">",">","aug","=","iaa.DirectedEdgeDetect","(","alpha=1.0",",","direction=","(","0.0",",","1.0",")",")","Same","as","before",",","but","edges","are","detected","from","a","random","angle","sampled","uniformly","from","the","interval","``","[","0deg",",","360deg","]","``",".",">",">",">","aug","=","iaa.DirectedEdgeDetect","(","alpha=","(","0.0",",","0.3",")",",","direction=0",")","Similar","to","the","previous","examples",",","but","here","the","edge","image","is","alpha-blended","with","the","input","image",".","The","result","is","a","mixture","between","the","edge","image","and","the","input","image",".","The","blending","factor","is","randomly","sampled","between","``","0","%","``","and","``","30","%","``","."]
code: def __init__(
      self,
      alpha=(0.0, 0.75),
      direction=(0.0, 1.0),
      seed=None,
      name=None,
      random_state="deprecated",
      deterministic="deprecated",
  ):
      alpha_param = iap.handle_continuous_param(
          alpha,
          "alpha",
          value_range=(0, 1.0),
          tuple_to_uniform=True,
          list_to_choice=True,
      )
      direction_param = iap.handle_continuous_param(
          direction,
          "direction",
          value_range=None,
          tuple_to_uniform=True,
          list_to_choice=True,
      )
  
      matrix_gen = _DirectedEdgeDetectMatrixGenerator(
          alpha_param, direction_param
      )
  
      super(DirectedEdgeDetect, self).__init__(
          matrix=matrix_gen,
          seed=seed,
          name=name,
          random_state=random_state,
          deterministic=deterministic,
      )
  
imports: from __future__ import print_function, division, absolute_import
  import itertools
  import numpy
  import cv2
  import six.moves
  import imgaug
  from .None import meta
  from ..None import parameters
  from ..None import dtypes
label_desc: Use image node_id 1 to create a new DirectedEdgeDetect object from inherited base classes: Convolve with example: obj = DirectedEdgeDetect(alpha, direction, seed, name, random_state, deterministic)