forked from AmbaPant/mantid
-
Notifications
You must be signed in to change notification settings - Fork 1
/
GeneratePythonFitScript_SequentialFit.py.in
19 lines (16 loc) · 1.25 KB
/
GeneratePythonFitScript_SequentialFit.py.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Perform a sequential fit
output_workspaces, parameter_tables, normalised_matrices = [], [], []
for input_workspace, domain_data in input_data.items():
fit_output = Fit(Function=function, InputWorkspace=input_workspace, WorkspaceIndex=domain_data[0],
StartX=domain_data[1], EndX=domain_data[2], MaxIterations=max_iterations,
Minimizer=minimizer, CostFunction=cost_function, EvaluationType=evaluation_type,
Output=output_base_name + input_workspace)
output_workspaces.append(output_base_name + input_workspace + "_Workspace")
parameter_tables.append(output_base_name + input_workspace + "_Parameters")
normalised_matrices.append(output_base_name + input_workspace + "_NormalisedCovarianceMatrix")
# Use the parameters in the previous function as the start parameters of the next fit
function = fit_output.Function
# Group the output workspaces from the sequential fit
GroupWorkspaces(InputWorkspaces=output_workspaces, OutputWorkspace=output_base_name + "Workspaces")
GroupWorkspaces(InputWorkspaces=parameter_tables, OutputWorkspace=output_base_name + "Parameters")
GroupWorkspaces(InputWorkspaces=normalised_matrices, OutputWorkspace=output_base_name + "NormalisedCovarianceMatrices")