code: def get_pairwise_inputs(self, image_id):
      # fetch fixed image
      fixed_inputs = []
      fixed_inputs.append(self._get_image("fixed_image", image_id)[0])
      fixed_inputs.append(self._get_image("fixed_label", image_id)[0])
      fixed_inputs = np.concatenate(fixed_inputs, axis=-1)
      fixed_shape = np.asarray(fixed_inputs.shape).T.astype(np.int32)
  
      # fetch moving image
      moving_inputs = []
      moving_inputs.append(self._get_image("moving_image", image_id)[0])
      moving_inputs.append(self._get_image("moving_label", image_id)[0])
      moving_inputs = np.concatenate(moving_inputs, axis=-1)
      moving_shape = np.asarray(moving_inputs.shape).T.astype(np.int32)
  
      return (
          image_id,
          fixed_inputs,
          moving_inputs,
          fixed_shape,
          moving_shape,
      )
  
file_path: NiftyNet/niftynet/contrib/sampler_pairwise/sampler_pairwise_uniform_csv.py
imports: from __future__ import absolute_import, division, print_function
  import numpy
  import tensorflow
  from niftynet.engine.image_window import ImageWindow
  from niftynet.layer.base_layer import Layer
  from niftynet.layer.grid_warper import AffineGridWarperLayer
  from niftynet.layer.resampler import ResamplerLayer
  from niftynet.layer.linear_resize import LinearResizeLayer
label_desc: Use image node_id 2 for calling the PairwiseUniformSampler obj's underlying member method code with example usage: obj.get_pairwise_inputs(image_id) and returns: image_id,  fixed_inputs,  moving_inputs,  fixed_shape,  moving_shape