code: def slow_test_per_sample_laplacian():
      batch_size = 10
      for device in ["cpu", "gpu"]:
          for in_type in [np.int16, np.int32, np.float32]:
              for out_type in [None, np.float32]:
                  if out_type == in_type:
                      continue
                  for shape, layout, axes in shape_layout_axes_cases:
                      full_test = [None, 0, 1]
                      for window_dim in (
                          full_test if in_type == np.float32 else [1]
                      ):
                          for smoothing_dim in (
                              full_test
                              if in_type == np.float32
                              else [1]
                          ):
                              for normalize in [True, False]:
                                  yield (
                                      check_per_sample_laplacian,
                                      device,
                                      batch_size,
                                      window_dim,
                                      smoothing_dim,
                                      normalize,
                                      shape,
                                      layout,
                                      axes,
                                      in_type,
                                      out_type,
                                  )
  
imports: from nvidia.dali.pipeline import pipeline_def
  import nvidia.dali.types
  import nvidia.dali.fn
  import numpy
  import cv2
  from scipy.ndimage import convolve1d, filters
  import os
  from nose_utils import assert_raises
  from nose.plugins.attrib import attr
  from sequences_test_utils import video_suite_helper, ArgCb
  from test_utils import get_dali_extra_path, check_batch, RandomlyShapedDataIterator
label_desc: Use image node_id 22 for calling a global function with example usage: slow_test_per_sample_laplacian() without return types