code: def test_split_images_col():
      pipe = numba_func_split_image_pipe(
          batch_size=8,
          num_threads=1,
          device_id=0,
          run_fn=split_images_col_sample,
          setup_fn=setup_split_images_col,
          out_types=[dali_types.UINT8 for i in range(3)],
          in_types=[dali_types.UINT8],
          outs_ndim=[2, 2, 2],
          ins_ndim=[3],
          device="cpu",
      )
      pipe.build()
      for _ in range(3):
          images_in, R, G, B = pipe.run()
          for i in range(len(images_in)):
              assert np.array_equal(
                  images_in.at(i),
                  np.stack([R.at(i), G.at(i), B.at(i)], axis=2),
              )
  
imports: import numpy
  import os
  from nvidia.dali import pipeline_def
  import nvidia.dali
  import nvidia.dali.fn
  import nvidia.dali.types
  from nose import with_setup
  from test_utils import get_dali_extra_path, to_array, check_numba_compatibility_cpu, check_numba_compatibility_gpu
  from nvidia.dali.plugin.numba.fn.experimental import numba_function
  from numba import cuda
label_desc: Use image node_id 35 for calling a global function with example usage: test_split_images_col() without return types