コード例 #1
0
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)
コード例 #2
0
ファイル: figure_s1.py プロジェクト: dhigley6/nonlinear-xmcd
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
コード例 #3
0
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'],