code: def _impl_arg_inputs_scoped_tracking(
      global_additional_kwargs={}, scoped_additional_kwargs={}
  ):
      test_data_root = get_dali_extra_path()
      caffe_db_folder = os.path.join(test_data_root, "db", "lmdb")
  
      bs = 10
      iters = 5
      kwargs = {
          "batch_size": bs,
          "num_threads": 4,
          "device_id": 0,
          "seed": 42,
      }
  
      @experimental.pipeline_def(
          enable_conditionals=True, **kwargs, **global_additional_kwargs
      )
      def global_transform_pipe():
          encoded, _ = fn.readers.caffe(path=caffe_db_folder)
          decoded = fn.decoders.image(encoded, device="mixed")
          pred = fn.random.coin_flip(
              dtype=types.DALIDataType.BOOL, seed=6
          )
          angle = fn.random.uniform(values=[10, 20, 30], seed=7)
          rotate_transform = fn.transforms.rotation(angle=angle)
          if pred:
              output = fn.warp_affine(decoded, matrix=rotate_transform)
          else:
              output = decoded
          return output
  
      @experimental.pipeline_def(
          enable_conditionals=True, **kwargs, **scoped_additional_kwargs
      )
      def scoped_transform_pipe():
          encoded, _ = fn.readers.caffe(path=caffe_db_folder)
          decoded = fn.decoders.image(encoded, device="mixed")
          pred = fn.random.coin_flip(
              dtype=types.DALIDataType.BOOL, seed=6
          )
          angle = fn.random.uniform(values=[10, 20, 30], seed=7)
          if pred:
              # This is the crux of the test, the transforms.rotate has no positional inputs,
              # but it has a DataNode argument input - it should detect it as produced in this scope.
              rotate_transform = fn.transforms.rotation(angle=angle)
              output = fn.warp_affine(decoded, matrix=rotate_transform)
          else:
              output = decoded
          return output
  
      pipes = [global_transform_pipe(), scoped_transform_pipe()]
      for pipe in pipes:
          pipe.build()
      compare_pipelines(*pipes, bs, iters)
  
imports: from nvidia.dali.pipeline import pipeline_def, experimental
  import nvidia.dali.fn
  import nvidia.dali.types
  from nvidia.dali.types import SampleInfo
  from nvidia.dali import _conditionals
  from nvidia.dali.data_node import DataNode
  import numpy
  import os
  from test_utils import check_batch, compare_pipelines
  from nose_utils import assert_raises
  from test_utils import get_dali_extra_path
  from nose2.tools import params
  import itertools
label_desc: Use image node_id 25 for calling a global function with example usage: _impl_arg_inputs_scoped_tracking(global_additional_kwargs, scoped_additional_kwargs) and returns: output, output