class_docstr: Blur images in a way that fakes camera or object movements.
  
  **Supported dtypes**:
  
  See :class:`~imgaug.augmenters.convolutional.Convolve`.
  
  Parameters
  ----------
  k : int or tuple of int or list of int or imgaug.parameters.StochasticParameter, optional
      Kernel size to use.
  
          * If a single ``int``, then that value will be used for the height
            and width of the kernel.
          * If a tuple of two ``int`` s ``(a, b)``, then the kernel size
            will be sampled from the interval ``[a..b]``.
          * If a list, then a random value will be sampled from that list
            per image.
          * If a ``StochasticParameter``, then ``N`` samples will be drawn
            from that parameter per ``N`` input images, each representing
            the kernel size for the n-th image.
  
  angle : number or tuple of number or list of number or imgaug.parameters.StochasticParameter, optional
      Angle of the motion blur in degrees (clockwise, relative to top center
      direction).
  
          * If a number, exactly that value will be used.
          * If a tuple ``(a, b)``, a random value from the interval
            ``[a, b]`` will be uniformly 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.
  
  direction : number or tuple of number or list of number or imgaug.parameters.StochasticParameter, optional
      Forward/backward direction of the motion blur. Lower values towards
      ``-1.0`` will point the motion blur towards the back (with angle
      provided via `angle`). Higher values towards ``1.0`` will point the
      motion blur forward. A value of ``0.0`` leads to a uniformly (but
      still angled) motion blur.
  
          * If a number, exactly that value will be used.
          * If a tuple ``(a, b)``, a random value from the interval
            ``[a, b]`` will be uniformly 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.
  
  order : int or iterable of int or imgaug.ALL or imgaug.parameters.StochasticParameter, optional
      Interpolation order to use when rotating the kernel according to
      `angle`.
      See :func:`~imgaug.augmenters.geometric.Affine.__init__`.
      Recommended to be ``0`` or ``1``, with ``0`` being faster, but less
      continuous/smooth as `angle` is changed, particularly around multiple
      of ``45`` degrees.
  
  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.MotionBlur(k=15)
  
  Apply motion blur with a kernel size of ``15x15`` pixels to images.
  
  >>> aug = iaa.MotionBlur(k=15, angle=[-45, 45])
  
  Apply motion blur with a kernel size of ``15x15`` pixels and a blur angle
  of either ``-45`` or ``45`` degrees (randomly picked per image).
class_docstr_tok: ["Blur","images","in","a","way","that","fakes","camera","or","object","movements",".","*","*","Supported","dtypes","*","*",":","See",":","class",":","`","~imgaug.augmenters.convolutional.Convolve","`",".","Parameters","--","--","--","--","--","k",":","int","or","tuple","of","int","or","list","of","int","or","imgaug.parameters.StochasticParameter",",","optional","Kernel","size","to","use",".","*","If","a","single","``","int","``",",","then","that","value","will","be","used","for","the","height","and","width","of","the","kernel",".","*","If","a","tuple","of","two","``","int","``","s","``","(","a",",","b",")","``",",","then","the","kernel","size","will","be","sampled","from","the","interval","``","[","a","..","b","]","``",".","*","If","a","list",",","then","a","random","value","will","be","sampled","from","that","list","per","image",".","*","If","a","``","StochasticParameter","``",",","then","``","N","``","samples","will","be","drawn","from","that","parameter","per","``","N","``","input","images",",","each","representing","the","kernel","size","for","the","n-th","image",".","angle",":","number","or","tuple","of","number","or","list","of","number","or","imgaug.parameters.StochasticParameter",",","optional","Angle","of","the","motion","blur","in","degrees","(","clockwise",",","relative","to","top","center","direction",")",".","*","If","a","number",",","exactly","that","value","will","be","used",".","*","If","a","tuple","``","(","a",",","b",")","``",",","a","random","value","from","the","interval","``","[","a",",","b","]","``","will","be","uniformly","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",".","direction",":","number","or","tuple","of","number","or","list","of","number","or","imgaug.parameters.StochasticParameter",",","optional","Forward\/backward","direction","of","the","motion","blur",".","Lower","values","towards","``","-1.0","``","will","point","the","motion","blur","towards","the","back","(","with","angle","provided","via","`","angle","`",")",".","Higher","values","towards","``","1.0","``","will","point","the","motion","blur","forward",".","A","value","of","``","0.0","``","leads","to","a","uniformly","(","but","still","angled",")","motion","blur",".","*","If","a","number",",","exactly","that","value","will","be","used",".","*","If","a","tuple","``","(","a",",","b",")","``",",","a","random","value","from","the","interval","``","[","a",",","b","]","``","will","be","uniformly","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",".","order",":","int","or","iterable","of","int","or","imgaug.ALL","or","imgaug.parameters.StochasticParameter",",","optional","Interpolation","order","to","use","when","rotating","the","kernel","according","to","`","angle","`",".","See",":","func",":","`","~imgaug.augmenters.geometric.Affine.__init__","`",".","Recommended","to","be","``","0","``","or","``","1","``",",","with","``","0","``","being","faster",",","but","less","continuous\/smooth","as","`","angle","`","is","changed",",","particularly","around","multiple","of","``","45","``","degrees",".","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.MotionBlur","(","k=15",")","Apply","motion","blur","with","a","kernel","size","of","``","15x15","``","pixels","to","images",".",">",">",">","aug","=","iaa.MotionBlur","(","k=15",",","angle=","[","-45",",","45","]",")","Apply","motion","blur","with","a","kernel","size","of","``","15x15","``","pixels","and","a","blur","angle","of","either","``","-45","``","or","``","45","``","degrees","(","randomly","picked","per","image",")","."]
code: def __init__(
      self,
      k=(3, 7),
      angle=(0, 360),
      direction=(-1.0, 1.0),
      order=1,
      seed=None,
      name=None,
      random_state="deprecated",
      deterministic="deprecated",
  ):
      # TODO allow (1, None) and set to identity matrix if k == 1
      k_param = iap.handle_discrete_param(
          k,
          "k",
          value_range=(3, None),
          tuple_to_uniform=True,
          list_to_choice=True,
          allow_floats=False,
      )
      angle_param = iap.handle_continuous_param(
          angle,
          "angle",
          value_range=None,
          tuple_to_uniform=True,
          list_to_choice=True,
      )
      direction_param = iap.handle_continuous_param(
          direction,
          "direction",
          value_range=(-1.0 - 1e-6, 1.0 + 1e-6),
          tuple_to_uniform=True,
          list_to_choice=True,
      )
  
      matrix_gen = _MotionBlurMatrixGenerator(
          k_param, angle_param, direction_param, order
      )
  
      super(MotionBlur, self).__init__(
          matrix_gen,
          seed=seed,
          name=name,
          random_state=random_state,
          deterministic=deterministic,
      )
  
imports: from __future__ import print_function, division, absolute_import
  import numpy
  from scipy import ndimage
  import cv2
  import six.moves
  import imgaug
  from imgaug.imgaug import _normalize_cv2_input_arr_
  from .None import meta
  from .None import convolutional
  from ..None import parameters
  from ..None import dtypes
label_desc: Use image node_id 1 to create a new MotionBlur object from inherited base classes: iaa_convolutional with example: obj = MotionBlur(k, angle, direction, order, seed, name, random_state, deterministic)