code: def create_square_gauss(rng):
      square_gauss = np.zeros((256, 256, 3)) + 0.001
      square_gauss = add_noise(
          square_gauss, 10000, 1, noise_type="gaussian", rng=rng
      )
      square_gauss[42:213, 42:213, :] = 1
      noise_1 = rng.normal(
          1.001, 0.0001, size=square_gauss[42:213, 42:213, :].shape
      )
      square_gauss[42:213, 42:213, :] = (
          square_gauss[42:213, 42:213, :] + noise_1
      )
      square_gauss[71:185, 71:185, :] = 2
      noise_2 = rng.normal(
          2.001, 0.0001, size=square_gauss[71:185, 71:185, :].shape
      )
      square_gauss[71:185, 71:185, :] = (
          square_gauss[71:185, 71:185, :] + noise_2
      )
      square_gauss[99:157, 99:157, :] = 3
      noise_3 = rng.normal(
          3.001, 0.0001, size=square_gauss[99:157, 99:157, :].shape
      )
      square_gauss[99:157, 99:157, :] = (
          square_gauss[99:157, 99:157, :] + noise_3
      )
  
      return square_gauss
  
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 4 for calling a global function with example usage: create_square_gauss(rng) and returns: square_gauss