code: def conditional_split_merge_reinterpret_pipe(dtype, layout, shape):
      batch_size = Pipeline.current().max_batch_size
      input = fn.external_source(
          source=[
              [
                  np.full((10, 10, 3), 42, dtype=np.int32)
                  for _ in range(batch_size)
              ]
          ],
          cycle=True,
      )
      pred = fn.external_source(
          source=[
              [
                  np.array(i % 2 == 0, dtype=bool)
                  for i in range(batch_size)
              ]
          ],
          cycle=True,
      )
      true_branch, false_branch = fn._conditional.split(
          input, predicate=pred
      )
      false_changed = fn.reinterpret(
          false_branch, dtype=dtype, layout=layout, shape=shape
      )
      return fn._conditional.merge(
          true_branch, false_changed, predicate=pred
      )
  
file_path: DALI/dali/test/python/operator_2/test_split_merge.py
imports: from nvidia.dali.pipeline import pipeline_def, Pipeline
  import nvidia.dali.fn
  import nvidia.dali.types
  import numpy
  from test_utils import check_batch, RandomlyShapedDataIterator
  from nose_utils import assert_raises
  from nose2.tools import params
label_desc: Use image node_id 7 for calling a global function with example usage: conditional_split_merge_reinterpret_pipe(dtype, layout, shape) and returns: fn