code: def gen_img(self):
      src_h, src_w = self.src.shape[:2]
      dst = np.zeros_like(self.src, dtype=np.float32)
  
      for i in np.arange(0, self.dst_h, self.grid_size):
          for j in np.arange(0, self.dst_w, self.grid_size):
              ni = i + self.grid_size
              nj = j + self.grid_size
              w = h = self.grid_size
              if ni >= self.dst_h:
                  ni = self.dst_h - 1
                  h = ni - i + 1
              if nj >= self.dst_w:
                  nj = self.dst_w - 1
                  w = nj - j + 1
  
              di = np.reshape(np.arange(h), (-1, 1))
              dj = np.reshape(np.arange(w), (1, -1))
              delta_x = self.__bilinear_interp(
                  di / h,
                  dj / w,
                  self.rdx[i, j],
                  self.rdx[i, nj],
                  self.rdx[ni, j],
                  self.rdx[ni, nj],
              )
              delta_y = self.__bilinear_interp(
                  di / h,
                  dj / w,
                  self.rdy[i, j],
                  self.rdy[i, nj],
                  self.rdy[ni, j],
                  self.rdy[ni, nj],
              )
              nx = j + dj + delta_x * self.trans_ratio
              ny = i + di + delta_y * self.trans_ratio
              nx = np.clip(nx, 0, src_w - 1)
              ny = np.clip(ny, 0, src_h - 1)
              nxi = np.array(np.floor(nx), dtype=np.int32)
              nyi = np.array(np.floor(ny), dtype=np.int32)
              nxi1 = np.array(np.ceil(nx), dtype=np.int32)
              nyi1 = np.array(np.ceil(ny), dtype=np.int32)
  
              if len(self.src.shape) == 3:
                  x = np.tile(
                      np.expand_dims(ny - nyi, axis=-1), (1, 1, 3)
                  )
                  y = np.tile(
                      np.expand_dims(nx - nxi, axis=-1), (1, 1, 3)
                  )
              else:
                  x = ny - nyi
                  y = nx - nxi
              dst[i : i + h, j : j + w] = self.__bilinear_interp(
                  x,
                  y,
                  self.src[nyi, nxi],
                  self.src[nyi, nxi1],
                  self.src[nyi1, nxi],
                  self.src[nyi1, nxi1],
              )
  
      dst = np.clip(dst, 0, 255)
      dst = np.array(dst, dtype=np.uint8)
  
      return dst
  
imports: import numpy
label_desc: Use image node_id 5 for calling the WarpMLS obj's underlying member method code with example usage: obj.gen_img() and returns: dst