code: def setup_module():
      global data
      data.gtab = get_3shell_gtab()
      data.mevals = np.array(
          ([0.0017, 0.0003, 0.0003], [0.0017, 0.0003, 0.0003])
      )
      data.angl = [(0, 0), (60, 0)]
      data.S, data.sticks = multi_tensor(
          data.gtab,
          data.mevals,
          S0=100.0,
          angles=data.angl,
          fractions=[50, 50],
          snr=None,
      )
      data.sh_order = 6
      data.lambda_lb = 1e-8
      data.lambda_csd = 1.0
      sphere = get_sphere("repulsion100")
      data.sphere = sphere.vertices[
          0 : int(sphere.vertices.shape[0] / 2), :
      ]
  
file_path: dipy/dipy/reconst/tests/test_forecast.py
imports: import warnings
  import numpy
  from dipy.data import get_sphere, default_sphere, get_3shell_gtab
  from dipy.reconst.forecast import ForecastModel
  from dipy.reconst.shm import descoteaux07_legacy_msg
  from dipy.sims.voxel import multi_tensor
  from numpy.testing import assert_almost_equal, assert_equal
  import pytest
  from dipy.direction.peaks import peak_directions
  from dipy.core.sphere_stats import angular_similarity
  from dipy.utils.optpkg import optional_package
label_desc: Use image node_id 1 for calling a global function with example usage: setup_module() without return types