code: def create_square_uniform(rng):
      square_1 = np.zeros((256, 256, 3)) + 0.001
      square_1 = add_noise(
          square_1, 10000, 1, noise_type="gaussian", rng=rng
      )
      temp_1 = rng.integers(1, 21, size=(171, 171, 3))
      temp_1 = np.where(temp_1 < 20, 1, 3)
      square_1[42:213, 42:213, :] = temp_1
      temp_2 = rng.integers(1, 21, size=(114, 114, 3))
      temp_2 = np.where(temp_2 < 19, 2, 1)
      square_1[71:185, 71:185, :] = temp_2
      temp_3 = rng.integers(1, 21, size=(58, 58, 3))
      temp_3 = np.where(temp_3 < 20, 3, 1)
      square_1[99:157, 99:157, :] = temp_3
  
      return square_1
  
file_path: dipy/dipy/segment/tests/test_mrf.py
imports: import numpy
  import numpy.testing
  from dipy.data import get_fnames
  from dipy.sims.voxel import add_noise
  from dipy.segment.mrf import ConstantObservationModel, IteratedConditionalModes
  from dipy.segment.tissue import TissueClassifierHMRF
  from dipy.testing.decorators import set_random_number_generator
label_desc: Use image node_id 3 for calling a global function with example usage: create_square_uniform(rng) and returns: square_1