def test_marker_placement_correct_beta(): dps = [] dp_cord_list = np.divide(generate_dp_cord_list(), 80) max_r = np.max(dp_cord_list) + 0.1 for coords in dp_cord_list: dp_sim = DiffractionSimulation(coordinates=coords, intensities=np.ones_like(coords[:, 0])) dps.append(dp_sim.as_signal(144, 0.025, max_r).data) # stores a numpy array of pattern dp = pxm.ElectronDiffraction(np.array([dps[0:2], dps[2:]])) # now from a 2x2 array of patterns dp.set_diffraction_calibration(2 * max_r / (144)) local_plotter(dp, dp_cord_list) # This is human assessed, if you see this comment, you should check it assert True
def create_library(): dps = [] half_side_length = 72 half_shape = (half_side_length, half_side_length) num_orientations = 11 simulations = np.empty(num_orientations, dtype='object') orientations = np.empty(num_orientations, dtype='object') pixel_coords = np.empty(num_orientations, dtype='object') intensities = np.empty(num_orientations, dtype='object') # Creating the matchresults. for alpha in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: coords = (np.random.rand(5, 2) - 0.5) * 2 # zero mean, range from -1 to +1 dp_sim = DiffractionSimulation(coordinates=coords, intensities=np.ones_like(coords[:, 0]), calibration=1 / half_side_length) simulations[alpha] = dp_sim orientations[alpha] = (alpha, alpha, alpha) pixel_coords[alpha] = (dp_sim.calibrated_coordinates[:, :2] + half_shape).astype(int) intensities[alpha] = dp_sim.intensities if alpha < 4: dps.append( dp_sim.as_signal(2 * half_side_length, 0.075, 1).data) # stores a numpy array of pattern library = DiffractionLibrary() library["Phase"] = { 'simulations': simulations, 'orientations': orientations, 'pixel_coords': pixel_coords, 'intensities': intensities, } dp = pxm.ElectronDiffraction([dps[0:2], dps[2:]]) # now from a 2x2 array of patterns return dp, library
dps, dp_sim_list = [], [] half_side_length = 72 library = dict() half_shape = (half_side_length, half_side_length) library["Phase"] = {} # Creating the matchresults. for alpha in [0, 1, 2, 3]: coords = (np.random.rand(5, 2) - 0.5) * 2 #zero mean, range from -1 to +1 dp_sim = DiffractionSimulation(coordinates=coords, intensities=np.ones_like(coords[:, 0]), calibration=1 / half_side_length) dp_sim_list.append(dp_sim) #stores the simulations dps.append(dp_sim.as_signal(2 * half_side_length, 0.075, 1).data) #stores a numpy array of pattern dp = pxm.ElectronDiffraction([dps[0:2], dps[2:]]) #now from a 2x2 array of patterns for alpha in np.arange(0, 10, 1): rotation = (alpha, 0, 0) if rotation[0] < 4: library = create_library_entry(library, rotation, dp_sim_list[rotation[0]]) else: local_cords = np.random.rand(5, 2) pat = DiffractionSimulation(coordinates=local_cords, intensities=np.ones_like(local_cords[:, 0])) library = create_library_entry(library, rotation, pat)