code: def test_NRMSE(dtype):
      x = np.ones(4, dtype=dtype)
      y = np.asarray([0.0, 2.0, 2.0, 2.0], dtype=dtype)
      nrmse = normalized_root_mse(y, x, normalization="mean")
      assert nrmse.dtype == np.float64
      assert_equal(nrmse, 1 / np.mean(y))
      assert_equal(
          normalized_root_mse(y, x, normalization="euclidean"),
          1 / np.sqrt(3),
      )
      assert_equal(
          normalized_root_mse(y, x, normalization="min-max"),
          1 / (y.max() - y.min()),
      )
  
      # mixed precision inputs are allowed
      assert_almost_equal(
          normalized_root_mse(
              y, np.float32(x), normalization="min-max"
          ),
          1 / (y.max() - y.min()),
      )
  
file_path: scikit-image/skimage/metrics/tests/test_simple_metrics.py
imports: import numpy
  import pytest
  from numpy.testing import assert_equal, assert_almost_equal
  from skimage import data
  from skimage._shared._warnings import expected_warnings
  from skimage.metrics import peak_signal_noise_ratio, normalized_root_mse, mean_squared_error, normalized_mutual_information
label_desc: Use image node_id 4 for calling a global function with example usage: test_NRMSE(dtype) without return types