def do_param_search(): z_list = arange(500, 1550, 50) diff_list = arange(1, 5.5, 0.5) cs = CalcSimWrapper() ds = InputDatastore('../InputData', 'NiCu', 973) ps = ParamSearchEngine(cs, ds) pbar = ProgressBar(widgets=['Parameter search: ', Percentage(), ' ', Bar()], maxval=len(z_list) * len(diff_list)) pbar.start() def progress_update(curi): pbar.update(curi) #logstream = StringIO() #logging.basicConfig(stream=logstream, level=logging.DEBUG) logging.basicConfig(level=logging.INFO) retim = ps.search(z_list, diff_list, 973, progress_update) #print(logstream.getvalue()) extent = 1, 50, 0, 3000 immap = imshow(retim, cmap=cm.jet, interpolation='nearest', extent=extent) colorbar(immap) ylabel('z* (arb. units)') xlabel('Cv/Cve (arb. units)') gca().set_aspect('auto') title('Search for minimum fit error') savetxt('paramsearch.csv', retim) savefig('paramsearch.png')
for f in reversefiles: print(str.format("Processing {}", f)) I = -float(re.match(rx, f).groups()[0]) rresults[I] = np.genfromtxt(f, skip_header=0, delimiter=",") else: # do search for forward/back for direction, result_stash in [("forward", fresults), ("reverse", rresults)]: search_engine = ParamSearchEngine(accelcs, dstore) edict = dstore.edict_for_direction(direction) for I in edict.keys(): print(str.format("{} bias, I = {}", direction, I)) pbar = ProgressBar( widgets=["Parameter search: ", Percentage(), " ", Bar()], maxval=len(zrange) * len(cvfrange) ) pbar.start() search_map = search_engine.search(zrange, cvfrange, I, args.temperature, pbar.update, direction) print("\n") result_stash[I] = search_map outpath = path.join(args.outputdir, str.format("Searchmap_I{}_{}.png", I, direction)) dmplots.plot_search_map( search_map, (zrange[0], zrange[-1]), (cvfrange[0], cvfrange[-1]), I, direction, outpath ) outpath = path.join(args.outputdir, str.format("Searchmap_I{}_{}.csv", I, direction)) np.savetxt(outpath, search_map, delimiter=",") fzaverage = 0 ict = 0 zvalues = [] cresults = {} # multiply forward/reverse maps to get current-min maps