docstr: Creates a structure for the combining the diffusion and pseudo-
  diffusion by multiplying with the bvals and then exponentiating each of
  the two components for fitting as per the IVIM- two compartment model.
  
  Parameters
  ----------
   x : array
      input from the Differential Evolution optimizer.
  
  Returns
  -------
  exp_phi1 : array
      Combined array of parameters perfusion/pseudo-diffusion
      and diffusion parameters.
code: def phi(self, x):
      """
      Creates a structure for the combining the diffusion and pseudo-
      diffusion by multiplying with the bvals and then exponentiating each of
      the two components for fitting as per the IVIM- two compartment model.
  
      Parameters
      ----------
       x : array
          input from the Differential Evolution optimizer.
  
      Returns
      -------
      exp_phi1 : array
          Combined array of parameters perfusion/pseudo-diffusion
          and diffusion parameters.
  
      """
      self.yhat_perfusion = self.bvals * x[0]
      self.yhat_diffusion = self.bvals * x[1]
      self.exp_phi1[:, 0] = np.exp(-self.yhat_perfusion)
      self.exp_phi1[:, 1] = np.exp(-self.yhat_diffusion)
      return self.exp_phi1
  
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 9 for calling the IvimModelVP obj's underlying member method code with example usage: obj.phi(x) and returns: self