code: def test_image_feature():
      """Test the construction of domain based on image and related feature"""
      mask = np.random.randn(*shape[:3]) > 0.5
      noise = np.random.randn(*shape[:3])
      affine = np.eye(4)
      mim = Nifti1Image(mask.astype("u1"), affine)
      nim = Nifti1Image(noise, affine)
      ddom = grid_domain_from_image(mim)
      ddom.make_feature_from_image(nim, "noise")
      assert_almost_equal(ddom.features["noise"], noise[mask])
  
imports: import nibabel.gifti
  import numpy
  from nibabel import Nifti1Image
  from numpy.testing import assert_almost_equal, assert_array_equal
  from ..discrete_domain import domain_from_binary_array, domain_from_image, domain_from_mesh, grid_domain_from_binary_array, grid_domain_from_image, grid_domain_from_shape, smatrix_from_3d_array, smatrix_from_nd_array, smatrix_from_nd_idx
label_desc: Use image node_id 12 for calling a global function with example usage: test_image_feature() without return types