code: def compute_single_sided_diferences(o_x, o_y, input_):
      # n,c,h,w
      # input = input.clone()
      o_y[:, :, 0, :] = (
          input_[:, :, 1, :].clone() - input_[:, :, 0, :].clone()
      )
      o_x[:, :, :, 0] = (
          input_[:, :, :, 1].clone() - input_[:, :, :, 0].clone()
      )
      # --
      o_y[:, :, -1, :] = (
          input_[:, :, -1, :].clone() - input_[:, :, -2, :].clone()
      )
      o_x[:, :, :, -1] = (
          input_[:, :, :, -1].clone() - input_[:, :, :, -2].clone()
      )
      return o_x, o_y
  
file_path: pywick/pywick/models/segmentation/testnets/gscnn/my_functionals/custom_functional.py
imports: import torch
  import torch.nn.functional
  from torchvision.transforms.functional import pad
  import numpy
label_desc: Use image node_id 4 for calling a global function with example usage: compute_single_sided_diferences(o_x, o_y, input_) and returns: o_x,  o_y