diff --git a/src/standardized/IAR_LU_modified_mix.py b/src/standardized/IAR_LU_modified_mix.py index 5ff00c34..a728033f 100644 --- a/src/standardized/IAR_LU_modified_mix.py +++ b/src/standardized/IAR_LU_modified_mix.py @@ -93,8 +93,17 @@ def ivim_fit(self, signals, bvalues, **kwargs): gtab = gradient_table(bvalues, bvec, b0_threshold=0) self.IAR_algorithm = IvimModelVP(gtab, bounds=bounds, rescale_results_to_mm2_s=True) - - fit_results = self.IAR_algorithm.fit(signals) + + try: + fit_results = self.IAR_algorithm.fit(signals) + except np.linalg.LinAlgError as err: + if 'Singular mtrix' in str(err): + # We might have a stochastic error. Try to re-run the fit once. + fit_results = self.IAR_algorithm.fit(signals) + else: + print(str(np.linalg.LinAlgError)) + + #f = fit_results.model_params[1] #Dstar = fit_results.model_params[2]