code: def f_D_star_prediction(params, gtab, S0, D):
      """Function used to predict IVIM signal when S0 and D are known
      by considering f and D_star as the unknown parameters.
  
      Parameters
      ----------
      params : array
          The value of f and D_star.
  
      gtab : GradientTable class instance
          Gradient directions and bvalues.
  
      S0 : float
          The parameters S0 obtained from a linear fit.
  
      D : float
          The parameters D obtained from a linear fit.
  
      Returns
      -------
      S : array
          An array containing the IVIM signal estimated using given parameters.
  
      """
      f, D_star = params
      b = gtab.bvals
      S = S0 * (f * np.exp(-b * D_star) + (1 - f) * np.exp(-b * D))
      return S
  
imports: import warnings
  import numpy
  from scipy.optimize import least_squares, differential_evolution
  from dipy.reconst.base import ReconstModel
  from dipy.reconst.multi_voxel import multi_voxel_fit
  from dipy.utils.optpkg import optional_package
label_desc: Use image node_id 3 for calling a global function with example usage: f_D_star_prediction(params, gtab, S0, D) and returns: S