class_docstr: Class for the Free Water Elimination Diffusion Tensor Model 
docstr: Fit method of the free water elimination DTI model class
  
  Parameters
  ----------
  data : array
      The measured signal from one voxel.
  mask : array
      A boolean array used to mark the coordinates in the data that
      should be analyzed that has the shape data.shape[:-1]
docstr_tok: ["Fit","method","of","the","free","water","elimination","DTI","model","class","Parameters","--","--","--","--","--","data",":","array","The","measured","signal","from","one","voxel",".","mask",":","array","A","boolean","array","used","to","mark","the","coordinates","in","the","data","that","should","be","analyzed","that","has","the","shape","data.shape","[",":","-1","]"]
code: def fit(self, data, mask=None):
      """Fit method of the free water elimination DTI model class
  
      Parameters
      ----------
      data : array
          The measured signal from one voxel.
      mask : array
          A boolean array used to mark the coordinates in the data that
          should be analyzed that has the shape data.shape[:-1]
      """
      S0 = np.mean(data[self.gtab.b0s_mask])
      fwdti_params = self.fit_method(
          self.design_matrix, data, S0, *self.args, **self.kwargs
      )
  
      return FreeWaterTensorFit(self, fwdti_params)
  
imports: import warnings
  import numpy
  import scipy.optimize
  from dipy.reconst.base import ReconstModel
  from dipy.reconst.dti import TensorFit, design_matrix, decompose_tensor, _decompose_tensor_nan, from_lower_triangular, lower_triangular
  from dipy.reconst.dki import _positive_evals
  from dipy.reconst.vec_val_sum import vec_val_vect
  from dipy.core.ndindex import ndindex
  from dipy.core.gradients import check_multi_b
  from dipy.reconst.multi_voxel import multi_voxel_fit
label_desc: Use image node_id 2 for calling the FreeWaterTensorModel obj's underlying member method code with example usage: obj.fit(data, mask) and returns: FreeWaterTensorFit