code: def test_valid_param_combinations(
      self,
      batch_size,
      kernel_size,
      angle,
      direction,
      same_on_batch,
      device,
      dtype,
  ):
      param_gen = MotionBlurGenerator3D(
          kernel_size=kernel_size,
          angle=angle.to(device=device, dtype=dtype),
          direction=direction.to(device=device, dtype=dtype),
      )
  
      param_gen(
          batch_shape=torch.Size((batch_size,)),
          same_on_batch=same_on_batch,
      )
  
imports: import pytest
  import torch
  from kornia.augmentation.random_generator import AffineGenerator3D, CropGenerator3D, MotionBlurGenerator3D, PerspectiveGenerator3D, RotationGenerator3D, center_crop_generator3d
  from kornia.testing import assert_close
label_desc: Use image node_id 1 for calling the TestRandomMotionBlur3D obj's underlying member method code with example usage: obj.test_valid_param_combinations(batch_size, kernel_size, angle, direction, same_on_batch, device, dtype) without return types