code: def _substract_hemispheres(
      active, reference, active_sigma, reference_sigma, voxel_spacing
  ):
      """
      Helper function for `_extract_hemispheric_difference`.
      Smoothes both images and then substracts the reference from the active image.
      """
      active_kernel = _create_structure_array(
          active_sigma, voxel_spacing
      )
      active_smoothed = gaussian_filter(active, sigma=active_kernel)
  
      reference_kernel = _create_structure_array(
          reference_sigma, voxel_spacing
      )
      reference_smoothed = gaussian_filter(
          reference, sigma=reference_kernel
      )
  
      return active_smoothed - reference_smoothed
  
imports: import numpy
  from scipy.ndimage import gaussian_filter, median_filter
  from scipy.ndimage import gaussian_gradient_magnitude
  from scipy.interpolate.interpolate import interp1d
  from scipy.ndimage import distance_transform_edt
  from scipy.ndimage._ni_support import _get_output
  from .utilities import join
  from ..core import ArgumentError
  from ..filter import sum_filter
label_desc: Use image node_id 21 for calling a global function with example usage: _substract_hemispheres(active, reference, active_sigma, reference_sigma, voxel_spacing) and returns: unknown