diff --git a/rawEx/fit/specular/Specular1Par.py b/rawEx/fit/specular/Specular1Par.py index eba7d085bed8e99faf09a3c35872c2ae9bdb0a95..27ebf6eb8cccdac291e67a7b5f25841c07e9f2fd 100755 --- a/rawEx/fit/specular/Specular1Par.py +++ b/rawEx/fit/specular/Specular1Par.py @@ -13,14 +13,11 @@ from bornagain import angstrom, ba_fitmonitor def load_data(): datadir = os.getenv('BA_DATA_DIR', '') - data_fname = os.path.join(datadir, "specular/genx_alternating_layers.dat.gz") + fname = os.path.join(datadir, "specular/genx_alternating_layers.dat.gz") - expdata = np.loadtxt(data_fname, usecols=(0, 1), skiprows=3) - - # convert double incident angle (degs) to incident angle (radians) - expdata[:, 0] *= np.pi/360 - - return (expdata[:, 0], expdata[:, 1]) + raise Exception("TODO: treat data as angle(deg)") + flags = ba.ImportSettings1D("#", "", 1, 2) + return ba.readData1D(fname, ba.csv1D, flags) def get_sample(P): @@ -45,7 +42,7 @@ def get_sample(P): def get_simulation(P): - scan = ba.AlphaScan(ba.ListScan("alpha (rad)", exp_x)) + scan = ba.AlphaScan(expData.xAxis()) scan.setWavelength(1.54*angstrom) sample = get_sample(P) @@ -53,13 +50,13 @@ def get_simulation(P): if __name__ == '__main__': - exp_x, exp_y = load_data() + expData = load_data() P = ba.Parameters() P.add("thickness_Ti", 50*angstrom, min=10*angstrom, max=60*angstrom) fit_objective = ba.FitObjective() - fit_objective.addSimulationAndData(get_simulation, exp_y, 1) + fit_objective.addFitPair(get_simulation, expData, 1) fit_objective.initPrint(10) plot_observer = ba_fitmonitor.PlotterSpecular(pause=0.5)