import matplotlib.pyplot as plt import matplotlib.cm as cm from MAST.structopt_stem.tools.StemCalc import ConvStem from MAST.structopt_stem.generate.gen_pop_box import gen_pop_box as gpb from MAST.structopt_stem import Optimizer import numpy size = 10.0 Au1 = gpb([('Au',10,0,0),('Cu',10,0,0)],size) aber=[[0,0],[0,0],[22.56,-20.1],[22.08,-7.5],[0.1198,0],[0.9018,-170.1],[0.04964,20.9],[28.43,-120.6],[11.84,153.8],[8.456,76.1],[0.622,0],[2.811,-125.5]] autostemparameters={'Electron energy': 200,'Spherical aberration': 1.4,'Defocus':0,'Aperture semiangle': 24.5,'Source size': 0.882,'Slice size': 20.0,'Pixels':800,'aber':aber,'Scale Factor':0.00570113} A = ConvStem(parameters=autostemparameters,calc_exp=False) #fig = plt.figure() #ax = fig.add_subplot(111) #psf = numpy.fft.fftshift(A.psf) #ax.imshow(psf,cmap=cm.hot) #plt.show() imAu1 = A.get_image(A.psf, Au1, autostemparameters['Slice size'], autostemparameters['Pixels'], 1) #fig2 = plt.figure() #ax2 = fig2.add_subplot(111) #ax2.imshow(imAu1,cmap=cm.hot) #plt.show() autostemparameters['Exp_Image'] = imAu1 optparameters = {'structure': 'Cluster', 'optimizer_type': 'BH', 'size':10,'atomlist': [('Au', 10, 0, 0), ('Cu', 10, 0, 0)],'FIT_SCHEME':'STEM_Cost','STEM_Parameters':autostemparameters} B = Optimizer(optparameters) B.algorithm_serial()
'Spherical aberration': 1.4, 'Defocus': 0, 'Aperture semiangle': 24.5, 'Source size': 0.882, 'Slice size': 20.0, 'Pixels': 800, 'aber': aber, 'Scale Factor': 0.00570113 } A = ConvStem(parameters=autostemparameters, calc_exp=False) #fig = plt.figure() #ax = fig.add_subplot(111) #psf = numpy.fft.fftshift(A.psf) #ax.imshow(psf,cmap=cm.hot) #plt.show() imAu1 = A.get_image(A.psf, Au1, autostemparameters['Slice size'], autostemparameters['Pixels'], 1) #fig2 = plt.figure() #ax2 = fig2.add_subplot(111) #ax2.imshow(imAu1,cmap=cm.hot) #plt.show() autostemparameters['Exp_Image'] = imAu1 optparameters = { 'structure': 'Cluster', 'optimizer_type': 'BH', 'size': 10, 'atomlist': [('Au', 10, 0, 0), ('Cu', 10, 0, 0)], 'FIT_SCHEME': 'STEM_Cost', 'STEM_Parameters': autostemparameters } B = Optimizer(optparameters) B.algorithm_serial()
A = ConvStem(parameters=autostemparameters, calc_exp=False) try: atoms_ref = inp_out.read_xyz(parameters['stem_ref'], 0) except KeyError: atoms_ref = inp_out.read_xyz( '/home/usitguest/USIT/dropbox_app/STEM_ref', 0) nk = autostemparameters['Pixels'] A.psf = np.empty([nk, nk], dtype=float) try: fileobj = open(parameters['psf'], 'r') except KeyError: fileobj = open('/home/usitguest/USIT/dropbox_app/PSF.txt', 'r') lines = fileobj.readlines() for x in range(0, nk): A.psf[x] = lines[x].split() fileobj.close() STEM_ref = A.get_image(A.psf, atoms_ref, autostemparameters['Slice size'], autostemparameters['Pixels']) parameters['stem_parameters'] = autostemparameters autostemparameters['Exp_Image'] = STEM_ref autostemparameters['Grid_sim2exp'] = 1 autostemparameters['Pixelshift'] = False else: parameters = None parameters = MPI.COMM_WORLD.bcast(parameters, root=0) C = Optimizer(parameters) C.run()
parameters['stem_ref'] = ast.literal_eval(data[line].strip())['stem_ref'] ''' A = ConvStem(parameters=autostemparameters,calc_exp=False) try: atoms_ref=inp_out.read_xyz(parameters['stem_ref'],0) except KeyError: atoms_ref=inp_out.read_xyz('/home/usitguest/USIT/dropbox_app/STEM_ref',0) nk = autostemparameters['Pixels'] A.psf = np.empty([nk,nk],dtype=float) try: fileobj = open(parameters['psf'], 'r') except KeyError: fileobj = open('/home/usitguest/USIT/dropbox_app/PSF.txt', 'r') lines = fileobj.readlines() for x in range(0,nk): A.psf[x] = lines[x].split() fileobj.close() STEM_ref = A.get_image(A.psf, atoms_ref, autostemparameters['Slice size'], autostemparameters['Pixels']) parameters['stem_parameters']=autostemparameters autostemparameters['Exp_Image'] = STEM_ref autostemparameters['Grid_sim2exp'] = 1 autostemparameters['Pixelshift'] = False else: parameters=None parameters = MPI.COMM_WORLD.bcast(parameters,root=0) C = Optimizer(parameters) C.run()