diff --git a/environment.yml b/environment.yml index a3e3f94..de6bcda 100644 --- a/environment.yml +++ b/environment.yml @@ -18,4 +18,4 @@ dependencies: - pytest - jacobi==0.4.2 #pinned until newer versions functionality confirmed - coverage - - dill + - dill # Used to convert constraints to strings diff --git a/src/mvesuvio/analysis_fitting.py b/src/mvesuvio/analysis_fitting.py index 17a6c95..d8719de 100644 --- a/src/mvesuvio/analysis_fitting.py +++ b/src/mvesuvio/analysis_fitting.py @@ -55,7 +55,6 @@ def extractNCPFromWorkspaces(wsFinal, ic): if 'total' in ws_name: continue - print(ws_name) ws = mtd[ws_name] dataY = ws.extractY()[np.newaxis, :, :] try: diff --git a/src/mvesuvio/analysis_reduction.py b/src/mvesuvio/analysis_reduction.py index c03ba6b..6d58089 100644 --- a/src/mvesuvio/analysis_reduction.py +++ b/src/mvesuvio/analysis_reduction.py @@ -163,7 +163,7 @@ def _setup(self): self._profiles_table = self.getProperty("InputProfiles").value - # Need to transform profiles table into parameter array for minimize + # Need to transform profiles table into parameter array for optimize.minimize() self._initial_fit_parameters = [] for intensity, width, center in zip( self._profiles_table.column("intensity"), @@ -225,11 +225,11 @@ def _initialize_table_fit_parameters(self): table.setTitle("SciPy Fit Parameters") table.addColumn(type="float", name="Spectrum") for label in self._profiles_table.column("label"): - table.addColumn(type="float", name=f"{label} Intensity") - table.addColumn(type="float", name=f"{label} Width") - table.addColumn(type="float", name=f"{label} Center ") - table.addColumn(type="float", name="Normalised Chi2") - table.addColumn(type="float", name="Number of Iterations") + table.addColumn(type="float", name=f"{label} intensity") + table.addColumn(type="float", name=f"{label} width") + table.addColumn(type="float", name=f"{label} center ") + table.addColumn(type="float", name="normalised chi2") + table.addColumn(type="float", name="no of iterations") return table @@ -460,8 +460,8 @@ def _set_means_and_std(self): widths = np.zeros((self._profiles_table.rowCount(), fitParsTable.rowCount())) intensities = np.zeros(widths.shape) for i, label in enumerate(self._profiles_table.column("label")): - widths[i] = fitParsTable.column(f"{label} Width") - intensities[i] = fitParsTable.column(f"{label} Intensity") + widths[i] = fitParsTable.column(f"{label} width") + intensities[i] = fitParsTable.column(f"{label} intensity") ( meanWidths, stdWidths, diff --git a/src/mvesuvio/util/analysis_helpers.py b/src/mvesuvio/util/analysis_helpers.py index 12476ea..51e4905 100644 --- a/src/mvesuvio/util/analysis_helpers.py +++ b/src/mvesuvio/util/analysis_helpers.py @@ -47,11 +47,7 @@ def loadRawAndEmptyWsFromUserPath(userWsRawPath, userWsEmptyPath, SumSpectra(InputWorkspace=name + "_raw", OutputWorkspace=name + "_raw" + "_sum") wsToBeFitted = mtd[name+"_raw"] - # wsToBeFitted = CloneWorkspace( - # InputWorkspace=name + "_raw", OutputWorkspace=name + "uncropped_unmasked" - # ) - # if mode=="DoubleDifference": if subEmptyFromRaw: Load(Filename=str(userWsEmptyPath), OutputWorkspace=name + "_empty") Rebin( diff --git a/tests/unit/analysis/test_analysis_helpers.py b/tests/unit/analysis/test_analysis_helpers.py index be97818..d6b20e5 100644 --- a/tests/unit/analysis/test_analysis_helpers.py +++ b/tests/unit/analysis/test_analysis_helpers.py @@ -117,8 +117,10 @@ def test_calculate_h_ratio(self): def test_conversion_of_constraints(self): constraints = ({'type': 'eq', 'fun': lambda par: par[0] - 2.7527*par[3] },{'type': 'eq', 'fun': lambda par: par[3] - 0.7234*par[6] }) + # Used before passing constraints into Mantid algorithm string_constraints = str(dill.dumps(constraints)) self.assertIsInstance(string_constraints, str) + # Used inside Mantid algorithm to convert back to SciPy constraints converted_constraints = dill.loads(eval(string_constraints)) self.assertEqual(converted_constraints[0]['fun']([3, 0, 0, 1]), 3-2.7527) self.assertEqual(converted_constraints[1]['fun']([0, 0, 0, 2, 0, 0, 1]), 2-0.7234) diff --git a/tests/unit/analysis/test_analysis_reduction.py b/tests/unit/analysis/test_analysis_reduction.py index edb561a..1fd66f7 100644 --- a/tests/unit/analysis/test_analysis_reduction.py +++ b/tests/unit/analysis/test_analysis_reduction.py @@ -11,18 +11,5 @@ class TestAnalysisFunctions(unittest.TestCase): def setUp(self): pass - def test_constraints_are_passed_correctly(self): - alg = AnalysisRoutine() - alg.initialize() - constraints = ( - {'type': 'eq', 'fun': lambda par: par[0] - 2.7527*par[3] }, {'type': 'eq', 'fun': lambda par: par[3] - 0.7234*par[6] }) - for c in constraints: - print(inspect.getsourcelines(c['fun'])[0]) - # alg.setProperty("Constraints", str(constraints)) - # print(str(constraints)) - # print(alg.getPropertyValue("Constraints")) - # alg_constraints = eval(alg.getPropertyValue("Constraints")) - # self.assertEqual(constraints, alg_constraints) - if __name__ == "__main__": unittest.main()