code: def test_mapmri_signal_fitting_over_radial_order(order_max=8):
      gtab = get_gtab_taiwan_dsi()
      l1, l2, l3 = [0.0012, 0.0003, 0.0003]
      S, _ = generate_signal_crossing(gtab, l1, l2, l3, angle2=60)
  
      # take radial order 0, 4 and 8
      orders = [0, 4, 8]
      error_array = np.zeros(len(orders))
  
      for i, order in enumerate(orders):
          mapm = MapmriModel(
              gtab, radial_order=order, laplacian_regularization=False
          )
          mapfit = mapm.fit(S)
          S_reconst = mapfit.predict(gtab, 100.0)
          error_array[i] = np.mean((S - S_reconst) ** 2)
      # check if the fitting error decreases as radial order increases
      assert_equal(np.diff(error_array) < 0.0, True)
  
imports: import platform
  import time
  from math import factorial
  from scipy.special import gamma
  import scipy.integrate
  import warnings
  import numpy
  from numpy.testing import assert_almost_equal, assert_array_almost_equal, assert_equal, assert_, assert_raises
  import pytest
  from dipy.core.sphere_stats import angular_similarity
  from dipy.core.subdivide_octahedron import create_unit_sphere
  from dipy.data import get_gtab_taiwan_dsi, default_sphere
  from dipy.direction.peaks import peak_directions
  from dipy.reconst.mapmri import MapmriModel, mapmri_index_matrix
  from dipy.reconst import dti, mapmri
  from dipy.reconst.odf import gfa
  from dipy.reconst.tests.test_dsi import sticks_and_ball_dummies
  from dipy.reconst.shm import sh_to_sf, descoteaux07_legacy_msg
  from dipy.sims.voxel import multi_tensor, multi_tensor_pdf, add_noise, single_tensor, cylinders_and_ball_soderman
  from dipy.testing.decorators import set_random_number_generator
label_desc: Use image node_id 10 for calling a global function with example usage: test_mapmri_signal_fitting_over_radial_order(order_max) without return types