code: def make_fibrous_image(
      shape,
      nfibers=300,
      le=300,
      a=0.2,
      stepsize=0.5,
      span=(0.1, 1.0),
      blur=1.0,
  ):
      h, w = shape
      lo, hi = span
      result = np.zeros(shape)
      for i in range(nfibers):
          v = np.random.rand() * (hi - lo) + lo
          fiber = make_fiber(le, a, stepsize=stepsize)
          y, x = randint(0, h - 1), randint(0, w - 1)
          fiber[:, 0] += y
          fiber[:, 0] = np.clip(fiber[:, 0], 0, h - 0.1)
          fiber[:, 1] += x
          fiber[:, 1] = np.clip(fiber[:, 1], 0, w - 0.1)
          for y, x in fiber:
              result[int(y), int(x)] = v
      result = cv.GaussianBlur(
          result, (0, 0), sigmaX=blur, borderType=cv.BORDER_REFLECT
      )
      result -= np.amin(result)
      result /= np.amax(result)
      result *= hi - lo
      result += lo
      return result
  
imports: import random
  from random import randint
  import numpy
  import cv2
label_desc: Use image node_id 16 for calling a global function with example usage: make_fibrous_image(shape, nfibers, le, a, stepsize, span, blur) and returns: result