code: def test_normalization():
      """Test the normalization routine applied after a convolution"""
      # create kernel
      D33 = 1.0
      D44 = 0.04
      t = 1
      num_orientations = 5
      k = EnhancementKernel(
          D33,
          D44,
          t,
          orientations=num_orientations,
          force_recompute=True,
      )
  
      # create a constant dataset
      numorientations = k.get_orientations().shape[0]
      spike = np.ones((7, 7, 7, numorientations), dtype=np.float64)
  
      # convert dataset to SH
      with warnings.catch_warnings():
          warnings.filterwarnings(
              "ignore",
              message=descoteaux07_legacy_msg,
              category=PendingDeprecationWarning,
          )
          spike_sh = sf_to_sh(spike, k.get_sphere(), sh_order=8)
  
          # convolve kernel with delta spike and apply normalization
          csd_enh = convolve(
              spike_sh, k, sh_order=8, test_mode=True, normalize=True
          )
  
          # convert dataset to DSF
          csd_enh_dsf = sh_to_sf(
              csd_enh, k.get_sphere(), sh_order=8, basis_type=None
          )
  
      # test if the normalization is performed correctly
      npt.assert_almost_equal(np.amax(csd_enh_dsf), np.amax(spike))
  
file_path: dipy/dipy/denoise/tests/test_kernel.py
imports: import warnings
  from dipy.denoise.enhancement_kernel import EnhancementKernel
  from dipy.denoise.shift_twist_convolution import convolve, convolve_sf
  from dipy.reconst.shm import sh_to_sf, sf_to_sh, descoteaux07_legacy_msg
  from dipy.core.sphere import Sphere
  import numpy
  import numpy.testing
label_desc: Use image node_id 3 for calling a global function with example usage: test_normalization() without return types