code: def smooth_image(data, affine, sigma):
      """
      Smooth an image by an isotropic Gaussian filter
  
      Parameters
      ----------
      data: ndarray
        Image data array
      affine: ndarray
        Image affine transform
      sigma: float
        Filter standard deviation in mm
  
      Returns
      -------
      sdata: ndarray
        Smoothed data array
      """
      sigma_vox = sigma / np.sqrt(np.sum(affine[0:3, 0:3] ** 2, 0))
      return nd.gaussian_filter(data, sigma_vox)
  
imports: import numpy
  import scipy.ndimage
  from ...core.image.image_spaces import as_xyz_image, make_xyz_image, xyz_affine
  from ._registration import _joint_histogram
  from .affine import affine_transforms, inverse_affine, subgrid_affine
  from .chain_transform import ChainTransform
  from .optimizer import configure_optimizer
  from .similarity_measures import similarity_measures
label_desc: Use image node_id 8 for calling a global function with example usage: smooth_image(data, affine, sigma) and returns: nd