code: def _compute_error(cross_correlation_max, src_amp, target_amp):
      """
      Compute RMS error metric between ``src_image`` and ``target_image``.
  
      Parameters
      ----------
      cross_correlation_max : complex
          The complex value of the cross correlation at its maximum point.
      src_amp : float
          The normalized average image intensity of the source image
      target_amp : float
          The normalized average image intensity of the target image
      """
      amp = src_amp * target_amp
      if amp == 0:
          warnings.warn(
              "Could not determine RMS error between images with the normalized "
              f"average intensities {src_amp!r} and {target_amp!r}. Either the "
              "reference or moving image may be empty.",
              UserWarning,
              stacklevel=3,
          )
      with np.errstate(invalid="ignore"):
          error = (
              1.0
              - cross_correlation_max
              * cross_correlation_max.conj()
              / amp
          )
      return np.sqrt(np.abs(error))
  
file_path: scikit-image/skimage/registration/_phase_cross_correlation.py
imports: import itertools
  import warnings
  import numpy
  from scipy.fft import fftn, ifftn, fftfreq
  from scipy import ndimage
  from ._masked_phase_cross_correlation import _masked_phase_cross_correlation
label_desc: Use image node_id 3 for calling a global function with example usage: _compute_error(cross_correlation_max, src_amp, target_amp) and returns: np