diff --git a/rawEx/fit/specular/Pt_layer_fit.py b/rawEx/fit/specular/Pt_layer_fit.py index 2ceedd5df1fe8a538829fc8a77604e6ec864770a..a86ffcaab708b0fdb8936e4129ae8d5cde5b0eb8 100755 --- a/rawEx/fit/specular/Pt_layer_fit.py +++ b/rawEx/fit/specular/Pt_layer_fit.py @@ -10,6 +10,7 @@ band of roughly 4-7 Ã… in 100 steps of 2theta. import bornagain as ba, numpy as np, os, matplotlib.pyplot as plt from bornagain import angstrom +from bornagain.numpyutil import Arrayf64Converter as dac datadir = os.getenv('BA_DATA_DIR', '') @@ -38,7 +39,7 @@ def get_sample(P): r_si = ba.LayerRoughness(si_autocorr, interlayer) r_pt = ba.LayerRoughness(pt_autocorr, interlayer) - + sample = ba.MultiLayer() sample.addLayer(ambient_layer) sample.addLayerWithTopRoughness(layer, r_pt) @@ -70,10 +71,10 @@ def plot(q, r, data, P): fig = plt.figure() ax = fig.add_subplot(111) - ax.errorbar(data.npXcenters(), - data.npArray(), + ax.errorbar(dac.npArray(data.xCenters()), + dac.asNpArray(data.dataArray()), # xerr=data.xxx, TODO restore - yerr=data.npErrors(), + yerr=dac.asNpArray(data.errors()), label="R", fmt='.', markersize=1., @@ -134,7 +135,8 @@ if __name__ == '__main__': # Initial plot - r = get_simulation(qzs, initialP | fixedP).simulate().npArray() + res = get_simulation(qzs, initialP | fixedP).simulate() + r = dac.asNpArray(res.dataArray()) plot(qzs, r, data, initialP) # Restrict data to given q range @@ -147,7 +149,8 @@ if __name__ == '__main__': fit_objective.setObjectiveMetric("chi2") fit_objective.initPrint(10) fit_objective.addFitPair( - lambda P: get_simulation(data.npXcenters(), P | fixedP), data, 1) + lambda P: get_simulation( + dac.npArray(data.xCenters()), P | fixedP), data, 1) P = ba.Parameters() for name, p in startPnB.items(): @@ -164,7 +167,8 @@ if __name__ == '__main__': print("Fit Result:") print(finalP) - r = get_simulation(qzs, finalP | fixedP).simulate().npArray() + res = get_simulation(qzs, finalP | fixedP).simulate() + r = dac.asNpArray(res.dataArray()) plot(qzs, r, data, finalP) plt.show()