def make_plot(): f, axs = plt.subplots(2, 2, figsize=(4, 4)) waveforms = get_raw_mcp_and_andor_waveforms() mcp_waveform = waveforms[b'mcp'] andor_waveform = waveforms[b'andor'] no_sample = get_no_sample_data() specs = abs_get_processed_data.get_incident_specs() axs[0, 0].plot(mcp_waveform[b'x'], mcp_waveform[b'y']) axs[0, 1].plot(andor_waveform[b'x'], andor_waveform[b'y'] / 1E3) num_points = 100 mcp_norm = np.amax(no_sample['mcp'][:num_points]) andor_norm = np.amax(no_sample['andor'][:num_points]) axs[1, 0].scatter(no_sample['mcp_uncorrected'][:num_points] / mcp_norm, no_sample['andor'][:num_points] / andor_norm, s=4, label='Raw') axs[1, 0].scatter(no_sample['mcp'][:num_points] / mcp_norm, no_sample['andor'][:num_points] / andor_norm, s=4, label='Corrected') lcls_low, = axs[1, 1].plot(specs[-3]['xas']['phot'], specs[-3]['xas']['spec'], color='c', label='2.7 mJ/cm$^2$') lcls_high, = axs[1, 1].plot(specs[-1]['xas']['phot'], specs[-1]['xas']['spec'], color='r', label='43 mJ/cm$^2$') als, = axs[1, 1].plot(ALS_SPEC['xas']['phot'], ALS_SPEC['xas']['spec'], color='k', linestyle=SD, label='ALS') axs[1, 1].legend(handles=[als, lcls_low, lcls_high], loc='lower center', fontsize=7, borderpad=0, labelspacing=0, handlelength=1.5) format_plot(axs, mcp_waveform, andor_waveform) fig_path = os.path.join(os.path.dirname(__file__), 'figure_s2.eps') plt.savefig(fig_path, dpi=600) fig_path = os.path.join(os.path.dirname(__file__), 'figure_s2.jpg') plt.savefig(fig_path, dpi=600)
def get_source_data(): raw_mcp_and_andor = get_raw_mcp_and_andor_waveforms() no_sample_data = get_no_sample_data() als_spec = als_process2019.get_als_spectra() lcls_specs = abs_get_processed_data.get_incident_specs() source_data = {'Time (us)': raw_mcp_and_andor[b'mcp'][b'x'], 'Voltage (V)': raw_mcp_and_andor[b'mcp'][b'y'], 'Pixel': raw_mcp_and_andor[b'andor'][b'x'], 'Counts/1E3': raw_mcp_and_andor[b'andor'][b'y'], 'Raw I0': no_sample_data['Raw I0'], 'Raw I1': no_sample_data['Raw I1'], 'Corrected I0': no_sample_data['Corrected I0'], 'Corrected I1': no_sample_data['Corrected I1'], 'ALS Photon Energy': als_spec['xas']['phot'], 'ALS XAS': als_spec['xas']['spec'], '2.7 mJ/cm^2 Photon Energy': lcls_specs[-3]['xas']['phot'], '2.7 mJ/cm^2 XAS': lcls_specs[-3]['xas']['spec'], '43 mJ/cm^2 Photon Energy': lcls_specs[-1]['xas']['phot'], '43 mJ/cm^2 XAS': lcls_specs[-1]['xas']['spec']} return source_data
import numpy as np import matplotlib.pyplot as plt import os import visualize.dummy_ax import visualize.set_plot_params visualize.set_plot_params.init_paper_small() import als_process2019 import abs_get_processed_data # Spectra recorded at ALS Synchrotron Light Source: ALS_SPEC = als_process2019.get_als_spectra() # Spectra recorded with a constant incident X-ray fluence: INCIDENT_SPECS = abs_get_processed_data.get_incident_specs() # Spectra recorded with a constant absorbed X-ray fluence: ABSORBED_SPECS = abs_get_processed_data.get_constant_absorbed_specs() # Short dash linestyle: SD = (0, (3, 1.5)) Pd_ABS = 0.315 # Calculated from CXRO FERMI_ENERGY = 777.5 def make_plot(): """Plot with constant incident fluence spectra """ def plus_minus_plot(high_spec, ax): ax.plot(ALS_SPEC['minus']['phot'],