docstr: Given a mean signal diffusion kurtosis model fit, predict the signal
  on the vertices of a sphere
  
  Parameters
  ----------
  gtab : a GradientTable class instance
      This encodes the directions for which a prediction is made
  
  S0 : float array
     The mean non-diffusion weighted signal in each voxel. Default:
     The fitted S0 value in all voxels if it was fitted. Otherwise 1 in
     all voxels.
  
  Returns
  -------
  S : (..., N) ndarray
      Simulated mean signal based on the mean signal kurtosis model
  
  Notes
  -----
  The predicted signal is given by:
  $MS(b) = S_0 * exp(-bD + 1/6 b^{2} D^{2} K)$, where $D$ and $k$ are the
  mean signal diffusivity and mean signal kurtosis.
  
  References
  ----------
  .. [1] Henriques, R.N., 2018. Advanced Methods for Diffusion MRI Data
         Analysis and their Application to the Healthy Ageing Brain
         (Doctoral thesis). Downing College, University of Cambridge.
         https://doi.org/10.17863/CAM.29356
docstr_tok: ["Given","a","mean","signal","diffusion","kurtosis","model","fit",",","predict","the","signal","on","the","vertices","of","a","sphere","Parameters","--","--","--","--","--","gtab",":","a","GradientTable","class","instance","This","encodes","the","directions","for","which","a","prediction","is","made","S0",":","float","array","The","mean","non-diffusion","weighted","signal","in","each","voxel",".","Default",":","The","fitted","S0","value","in","all","voxels","if","it","was","fitted",".","Otherwise","1","in","all","voxels",".","Returns","--","--","--","-","S",":","(","...",",","N",")","ndarray","Simulated","mean","signal","based","on","the","mean","signal","kurtosis","model","Notes","--","--","-","The","predicted","signal","is","given","by",":","$","MS","(","b",")","=","S_0","*","exp","(","-bD","+","1\/6","b^","{","2","}","D^","{","2","}","K",")","$",",","where","$","D","$","and","$","k","$","are","the","mean","signal","diffusivity","and","mean","signal","kurtosis",".","References","--","--","--","--","--","..","[","1","]","Henriques",",","R.N.",",","2018",".","Advanced","Methods","for","Diffusion","MRI","Data","Analysis","and","their","Application","to","the","Healthy","Ageing","Brain","(","Doctoral","thesis",")",".","Downing","College",",","University","of","Cambridge",".","https",":","\/\/doi.org\/10.17863\/CAM.29356"]
code: def predict(self, gtab, S0=1.0):
      r"""
      Given a mean signal diffusion kurtosis model fit, predict the signal
      on the vertices of a sphere
  
      Parameters
      ----------
      gtab : a GradientTable class instance
          This encodes the directions for which a prediction is made
  
      S0 : float array
         The mean non-diffusion weighted signal in each voxel. Default:
         The fitted S0 value in all voxels if it was fitted. Otherwise 1 in
         all voxels.
  
      Returns
      -------
      S : (..., N) ndarray
          Simulated mean signal based on the mean signal kurtosis model
  
      Notes
      -----
      The predicted signal is given by:
      $MS(b) = S_0 * exp(-bD + 1/6 b^{2} D^{2} K)$, where $D$ and $k$ are the
      mean signal diffusivity and mean signal kurtosis.
  
      References
      ----------
      .. [1] Henriques, R.N., 2018. Advanced Methods for Diffusion MRI Data
             Analysis and their Application to the Healthy Ageing Brain
             (Doctoral thesis). Downing College, University of Cambridge.
             https://doi.org/10.17863/CAM.29356
      """
      return msdki_prediction(self.model_params, gtab, S0=S0)
  
imports: import numpy
  import scipy.optimize
  from dipy.core.gradients import check_multi_b, unique_bvals_magnitude, round_bvals
  from dipy.reconst.base import ReconstModel
  from dipy.reconst.dti import MIN_POSITIVE_SIGNAL
  from dipy.core.ndindex import ndindex
  from dipy.core.onetime import auto_attr
label_desc: Use image node_id 9 for calling the MeanDiffusionKurtosisFit obj's underlying member method code with example usage: obj.predict(gtab, S0) and returns: msdki_prediction