diff --git a/README.md b/README.md index 0fb8d7c5b287b6b6093cafd8dd9b8762fb053d56..d453440e210eab928e4d9092a64c1045d28f45c1 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Interactive jupyter notebook widget to calculate transmission zone plate grating (TZPG, also known as beam splitting off-axis zone plate) beam sizes and position at the sample and detector planes for the SCS instrument. - + The so far implemented features are: * calculates geometric beam propagation for diffracted beams by the grating (1st, -1st and 0th order) diff --git a/TZPGcalc.py b/TZPGcalc.py deleted file mode 100644 index 567d5914bb7934571f05b8a397f7000d695bdba0..0000000000000000000000000000000000000000 --- a/TZPGcalc.py +++ /dev/null @@ -1,606 +0,0 @@ -# -*- coding: utf-8 -*- -""" TZPG simple calculator for SCS. - - Interactive widget to calculate beam sizes and position at the sample and - detector planes for the SCS instrument. - - Copyright (2019) SCS Team. -""" - -import numpy as np -import matplotlib.pyplot as plt -from matplotlib.patches import Rectangle, Polygon -from matplotlib.colors import hsv_to_rgb - -import ipywidgets as widgets -from ipywidgets import HBox, VBox, Layout -from IPython.display import display - -# zone plate focal length -F0 = 250*1e-3 # [m] - -# Z position of the zone plate optic from the first interaction point (sample Z stage at 0 mm) -Z0 = 230*1e-3 # [m] - -# zone plate nominal focal sorthened by the KBS focusing -d = 3.3 - Z0 # distance between HFM and TZPG -f1 = 7.3 # HFM focus 2 m behind second interaction point -F = F0*(d-f1)/(d-f1-F0) -KBS_F = f1 - d # KBS focus distance from TZPG - -# number of membrane to show -SampleN = 7 - -TZPG_db = { - 'Custom': { - 'design_nrj': 860, - 'TZPGwH': 1, - 'TZPGwV': 1, - 'TZPGoffaxis': 0.75, - 'grating': 3.8}, - 'O': { - 'design_nrj': 530, - 'TZPGwH': 0.8, - 'TZPGwV': 0.8, - 'TZPGoffaxis': 0.55, - 'grating': 3.1}, - 'Fe': { - 'design_nrj': 715, - 'TZPGwH': 0.8, - 'TZPGwV': 0.8, - 'TZPGoffaxis': 0.55, - 'grating': 3.1}, - 'Co': { - 'design_nrj': 785, - 'TZPGwH': 0.8, - 'TZPGwV': 0.8, - 'TZPGoffaxis': 0.55, - 'grating': 3.1}, - 'Ni': { - 'design_nrj': 860, - 'TZPGwH': 0.8, - 'TZPGwV': 0.8, - 'TZPGoffaxis': 0.55, - 'grating': 3.1}, - 'Cu': { - 'design_nrj': 927, - 'TZPGwH': 0.8, - 'TZPGwV': 0.8, - 'TZPGoffaxis': 0.55, - 'grating': 3.1}, - 'Gd': { - 'design_nrj': 1210, - 'TZPGwH': 0.8, - 'TZPGwV': 0.8, - 'TZPGoffaxis': 0.55, - 'grating': 3.1}, -} - -class TZPGcalc(): - def __init__(self): - self.initFig() - self.initWidgets() - self.UpdateFig() - display(self.control) - - def initFig(self): - """ Creates a figure for the sample plane and detector plane images with all necessary drawings. - """ - - plt.close('TZPGcalc') - fig, (self.ax_sam, self.ax_det) = plt.subplots(1, 2, num='TZPGcalc', figsize=(6,3)) - - # display scale - self.scale = 1e3 # displayed distances in [mm] - - self.ax_sam.set_title('Sample plane') - self.ax_det.set_title('Detector plane') - - self.ax_sam.set_aspect('equal') - self.ax_det.set_aspect('equal') - self.ax_sam.set_xlim([-2, 2]) - self.ax_sam.set_ylim([-2, 2]) - self.ax_det.set_xlim([-35, 35]) - self.ax_det.set_ylim([-20, 50]) - - # red and blue shifted color of the beams - c_rr = hsv_to_rgb([0/360, 50/100, 100/100]) - c_rb = hsv_to_rgb([40/360, 50/100, 100/100]) - c_gr = hsv_to_rgb([95/360, 60/100, 100/100]) - c_gb = hsv_to_rgb([145/360, 60/100, 100/100]) - - self.samBeamsL = { - 'F0G0': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F0G1': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F0G-1': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F1G0': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor=c_rr, alpha=0.7, lw=None)), - 'F1G1': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor=c_gr, alpha=0.7, lw=None)), - 'F1G-1': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor=c_gr, alpha=0.7, lw=None)) - } - - self.detBeamsL = { - 'F0G0': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F0G1': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F0G-1': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F1G0': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor=c_rr, alpha=0.7, lw=None)), - 'F1G1': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor=c_gr, alpha=0.7, lw=None)), - 'F1G-1': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor=c_gr, alpha=0.7, lw=None)) - } - - self.samBeamsH = { - 'F0G0': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F0G1': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F0G-1': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F1G0': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor=c_rb, alpha=0.7, lw=None)), - 'F1G1': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor=c_gb, alpha=0.7, lw=None)), - 'F1G-1': self.ax_sam.add_patch( - Polygon([(0, 0)], facecolor=c_gb, alpha=0.7, lw=None)) - } - - self.detBeamsH = { - 'F0G0': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F0G1': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F0G-1': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), - 'F1G0': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor=c_rb, alpha=0.7, lw=None)), - 'F1G1': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor=c_gb, alpha=0.7, lw=None)), - 'F1G-1': self.ax_det.add_patch( - Polygon([(0, 0)], facecolor=c_gb, alpha=0.7, lw=None)) - } - - self.detLines = { - 'module': self.ax_det.add_patch( - Rectangle((0, 0), 1, 1, fill=False, facecolor='k')), - 'Vfilter': self.ax_det.add_patch( - Rectangle((0, 0), 1, 1, facecolor="blue", alpha=0.4)), - 'Hfilter': self.ax_det.add_patch( - Rectangle((0, 0), 1, 1, facecolor="blue", alpha=0.4)), - 'diamond': self.ax_det.add_patch( - Rectangle((-8, -8), 16, 16, facecolor="blue", alpha=0.4, angle=45)) - } - - # 5x5 membranes - self.sampleLines = {} - self.etchLines = {} - for k in range(SampleN*SampleN): - self.sampleLines[k] = self.ax_sam.add_patch( - Rectangle((0, 0), 1, 1, fill=False, facecolor='k')) - self.etchLines[k] = self.ax_sam.add_patch( - Rectangle((0, 0), 1, 1, fill=False, facecolor='k', alpha=0.4, ls='--')) - - - def RectUpdate(self, rect, xLeft, yBottom, xRight, yTop): - """ Updates the position and size of the given Rectangle. - - rect: Rectangle to update - xLeft: x position of the left corner - yBottom: y position of the bottom corner - xRight: x position of the right corner - yTop: y position of the top corner - """ - - xw = np.abs(xLeft - xRight) - yw = np.abs(yTop - yBottom) - - - rect.set_xy((self.scale*xLeft, self.scale*yBottom)) - rect.set_height(self.scale*yw) - rect.set_width(self.scale*xw) - - def PolyUpdate(self, poly, xLeft, yBottom, xRight, yTop): - """ Updates the corner position of a Polygon. - - poly: regular Polygon to update - xLeft: x position of the left corner - yBottom: y position of the bottom corner - xRight: x position of the right corner - yTop: y position of the top corner - """ - - xy = self.scale*np.array([ - [xLeft, yBottom], - [xLeft, yTop], - [xRight, yTop], - [xRight, yBottom]]) - - poly.set_xy(xy) - - def LinePlaneIntersection(self, l1, l2, p0, n): - """ Calculate the intersection point in space between a line (beam) - passing through 2 points l1 and l2 and a (sample) plane passing by - p0 with normal n - - l1: [x,y,z] point on line - l2: [x,y,z] point on line - p0: [x,y,z] point on plane - n: plane normal vector - """ - - # plane parametrized as (p - p0).n = 0 - # line parametrized as p = l1 + l12*d with d Real - l12 = l2 - l1 - - if np.dot(l12,n) == 0: - return [0,0,0] # line is either in the plane or outside the plane - else: - d = np.dot((p0 - l1), n)/np.dot(l12,n) - return l1 + l12*d - - def UpdateBeams(self, Beams, Z, incidence, conf): - """ Update the position and size of the beams. - - Beams: dictionary of f'F{f}G{g}' Polygon for f = 0 and 1 zone - plate order and g = +1, 0 and -1 grating order - Z: distance Z between the zone plate and the current imaging plane - incidence: incidence angle of the imaging plane in rad - conf: dictionnary of distance for calculation {'F', 'TZPGwH', - 'TZPGwV', 'TZPGo', 'theta_grating'} - """ - F = conf['F'] - wH = conf['TZPGwH'] - wV = conf['TZPGwV'] - o = conf['TZPGo'] - offaxis = wV/2 + o - - # imaging plane - n = np.array([np.sin(incidence), 0, np.cos(incidence)]) - p0 = np.array([0,0,Z]) - - # zone plate 4 corner points - l1_list = [ - np.array([wH/2,wV/2,0]), - np.array([wH/2,-wV/2,0]), - np.array([-wH/2,-wV/2,0]), - np.array([-wH/2,wV/2,0]) - ] - - # 6 beam focus point - l2_list = { - 'F0G0': np.array([0,0,KBS_F]), - 'F0G1': np.array([KBS_F*np.arctan(conf['theta_grating']),0,KBS_F]), - 'F0G-1': np.array([-KBS_F*np.arctan(conf['theta_grating']),0,KBS_F]), - 'F1G0': np.array([0,offaxis,F]), - 'F1G1': np.array([F*np.arctan(conf['theta_grating']),offaxis,F]), - 'F1G-1': np.array([-F*np.arctan(conf['theta_grating']),offaxis,F]) - } - - for beam in l2_list.keys(): - l2 = l2_list[beam] - corners = [] - for l1 in l1_list: - corners.append(self.LinePlaneIntersection(l1, l2, p0, n)[:2]) - Beams[beam].set_xy(self.scale*np.array(corners)) - - def DetectorUpdate(self, Xoff, Yoff): - """ Draw DSSC detector module with filter mask. - - Xoff: x offset - Yoff: y offset - """ - # x module axis is vertical, y module axis is horizontal - # the module 15 is +0.91 mm vertical from the beam and 4.233 mm horizontal from the beam - offset_h = 4.233e-3 #[m] - offset_v = 0.91e-3 #[m] - - moduleHw = 256*0.236e-3 #[m] - moduleVw = 128*0.204e-3 #[m] - - filterW = 7e-3 #[m] - filterL = 160e-3 #[m] - diamondW = 16e-3 #[m] - - self.RectUpdate(self.detLines['module'], - -moduleHw - offset_h + Xoff, offset_v + Yoff, -offset_h + Xoff, moduleVw + offset_v + Yoff) - self.RectUpdate(self.detLines['Vfilter'], - -filterW/2 + Xoff, -filterL/2 + Yoff, filterW/2 + Xoff, filterL/2 + Yoff) - self.RectUpdate(self.detLines['Hfilter'], - -filterL/2 + Xoff, -filterW/2 + Yoff, filterL/2 + Xoff, filterW/2 + Yoff) - - # moving rotated rectangles is a pain in matplotlib - self.detLines['diamond'].set_xy((self.scale*Xoff, self.scale*(Yoff - diamondW/2*np.sqrt(2)))) - - def SampleUpdate(self, w, p, Xoff, Yoff, thickness=0.525, - incidence=0, etch_angle=54.74): - """ Draw the sample. - - w: membrane width - p: membrane pitch - Xoff: sample x offset - Yoff: sample y offset - thickness: sample thickness used to calculate the etched facets - incidence: incidence angle in rad - etch_angle: etching angle from surface in rad - """ - # Si etching angle - wp = w +2*thickness/np.tan(etch_angle) - - # incidence angle squeezes sample and etch lines - # and induces an apparent shift off the etch lines - ci = np.cos(incidence) - thsi = thickness*np.sin(incidence) - - j = 0 - for k in range(-(SampleN-1)//2, (SampleN-1)//2+1): - for l in range(-(SampleN-1)//2, (SampleN-1)//2+1): - self.RectUpdate(self.sampleLines[j], - ci*(k*p - w/2 + Xoff), l*p - w/2 - Yoff, - ci*(k*p + w/2 + Xoff), l*p + w/2 - Yoff) - self.RectUpdate(self.etchLines[j], - ci*(k*p - wp/2 + Xoff)+thsi, l*p - wp/2 - Yoff, - ci*(k*p + wp/2 + Xoff)+thsi, l*p + wp/2 - Yoff) - j+=1 - - def UpdateFig(self): - """ Update the figure with the current slider values. - - """ - - # we calculate the optics for the central wavelength - nrjL, nrjH = self.nrj_slider.value # [eV] - wlL = 1240/nrjL*1e-9 - wlH = 1240/nrjH*1e-9 - nrjD = self.design_nrj_slider.value # [eV] - wl = 1240/nrjD*1e-9 - - theta_grating = self.grating_slider.value*1e-3 # [rad] - sampleZ = self.samz_slider.value*1e-3 # [m] - samIncidence = np.deg2rad(self.samIncidence_slider.value) # [rad] - detectorZ = self.det_slider.value*1e-3 # [m] - TZPGwH = self.TZPGwH_slider.value*1e-3 #[m] - TZPGwV = self.TZPGwV_slider.value*1e-3 #[m] - TZPGo = self.TZPGoffaxis_slider.value*1e-3 - TZPGwV/2 #[m] - - d_nominal = wl/np.sin(theta_grating) - self.d_label.value = f'Grating Pitch:{int(np.round(d_nominal*1e9))} nm' - - rn = TZPGwV + TZPGo - dr_nominal = wl * F0 / (2*np.sqrt(rn**2 + (TZPGwV/2)**2)) - self.dr_label.value = f'Outer Zone Plate width dr:{int(np.round(dr_nominal*1e9))} nm' - - # configuration for the low energy and high energy photon - F0_temp = (2*np.sqrt(rn**2 + (TZPGwV/2)**2))*dr_nominal/wlL - F_temp = F0_temp*(d-f1)/(d-f1-F0_temp) - confL = {'F':F_temp, - 'theta_grating':np.arcsin(wlL/d_nominal), - 'TZPGwH':TZPGwH, 'TZPGwV':TZPGwV, 'TZPGo':TZPGo} - F0_temp = (2*np.sqrt(rn**2 + (TZPGwV/2)**2))*dr_nominal/wlH - F_temp = F0_temp*(d-f1)/(d-f1-F0_temp) - confH = {'F':F_temp, - 'theta_grating':np.arcsin(wlH/d_nominal), - 'TZPGwH':TZPGwH, 'TZPGwV':TZPGwV, 'TZPGo':TZPGo} - - # update the beams - self.UpdateBeams(self.samBeamsL, Z0 + sampleZ, samIncidence, confL) - self.UpdateBeams(self.detBeamsL, Z0 + detectorZ, 0, confL) - self.UpdateBeams(self.samBeamsH, Z0 + sampleZ, samIncidence, confH) - self.UpdateBeams(self.detBeamsH, Z0 + detectorZ, 0, confH) - - # update the detector - detXoff = self.detX_slider.value*1e-3 #[m] - detYoff = self.detY_slider.value*1e-3 #[m] - self.DetectorUpdate(detXoff, detYoff) - - # update the sample - samw = self.samw_slider.value*1e-3 #[m] - samp = self.samp_slider.value*1e-3 #[m] - samXoff = self.samX_slider.value*1e-3 #[m] - samYoff = self.samY_slider.value*1e-3 #[m] - samthickness = self.samthickness_slider.value*1e-6 #[m] - samEtchAngle = np.deg2rad(self.samEtchAngle_slider.value) #[rad] - self.SampleUpdate(samw, samp, samXoff, samYoff, samthickness, - samIncidence, samEtchAngle) - - def initWidgets(self): - """ Creates the necessary interactive widget controls. - """ - self.button = widgets.Button( - description='Update', - ) - - @self.button.on_click - def plot_on_click(b): - self.UpdateFig() - - # TZPG part - self.type = widgets.Dropdown( - options=list(TZPG_db), - value='Custom', - description='Type:', - disabled=False - ) - - def TZPGtype(change): - v = TZPG_db[change.new] - self.design_nrj_slider.value = v['design_nrj'] - self.TZPGwH_slider.value = v['TZPGwH'] - self.TZPGwV_slider.value = v['TZPGwV'] - self.TZPGoffaxis_slider.value = v['TZPGoffaxis'] - self.grating_slider.value = v['grating'] - # necessary to recompute grating pitch and outer zone plate width - self.UpdateFig() - - self.type.observe(TZPGtype, names='value') - - - self.nrj_slider = widgets.FloatRangeSlider( - value=[840., 880.], - min=450., - max=3200.0, - step=1, - readout_format='.2f', - ) - self.design_nrj_slider = widgets.FloatSlider( - value=860., - min=450., - max=3200.0, - step=1, - readout_format='.2f', - ) - self.TZPGwH_slider = widgets.FloatSlider( - value=1.0, - min=.1, - max=3.0, - step=0.05, - readout_format='.2f', - ) - self.TZPGwV_slider = widgets.FloatSlider( - value=1.0, - min=.1, - max=3.0, - step=0.05, - readout_format='.2f', - ) - self.TZPGoffaxis_slider = widgets.FloatSlider( - value=0.75, - min=.0, - max=2.0, - step=0.05, - readout_format='.2f', - ) - self.grating_slider = widgets.FloatSlider( - value=3.8, - min=1., - max=10.0, - step=0.05, - readout_format='.2f', - ) - self.dr_label = widgets.Label(value='dr') - self.d_label = widgets.Label(value='dr') - TZPGTab = VBox(children=[self.type, - HBox([widgets.Label(value='Energy (eV):'), self.nrj_slider]), - HBox([widgets.Label(value='Design Energy (eV):'), self.design_nrj_slider]), - HBox([widgets.Label(value=r'Grating $\theta$ (mrad):'), self.grating_slider]), - self.d_label, self.dr_label, - HBox([widgets.Label(value='TZPG horiz. width (mm):'), self.TZPGwH_slider]), - HBox(children=[HBox([widgets.Label(value='TZPG vert. width (mm):'), self.TZPGwV_slider]), - HBox([widgets.Label(value='TZPG off axis (mm):'), self.TZPGoffaxis_slider]) - ])]) - - # sample part - self.samz_slider = widgets.FloatSlider( - value=30., - min=-10., - max=180.0, - step=1, - readout_format='.2f', - ) - self.samw_slider = widgets.FloatSlider( - value=.5, - min=0.01, - max=2.0, - step=.01, - readout_format='.2f', - ) - self.samp_slider = widgets.FloatSlider( - value=1.0, - min=0.01, - max=2.0, - step=.01, - readout_format='.2f', - ) - self.samX_slider = widgets.FloatSlider( - value=0., - min=-10, - max=10, - step=0.01, - readout_format='.2f', - ) - self.samY_slider = widgets.FloatSlider( - value=0., - min=-10, - max=10, - step=0.01, - readout_format='.2f', - ) - self.samthickness_slider = widgets.FloatSlider( - value=381, - min=1, - max=1000, - step=1, - readout_format='.0f', - ) - self.samIncidence_slider = widgets.FloatSlider( - value=0, - min=0, - max=90, - step=1, - readout_format='.0f', - ) - self.samEtchAngle_slider = widgets.FloatSlider( - value=54.74, - min=0, - max=90, - step=0.01, - readout_format='.2f', - ) - samTab = VBox(children=[HBox([widgets.Label(value='Sample Z (mm):'), self.samz_slider]), - HBox(children=[HBox([widgets.Label(value='Membrane width (mm):'), self.samw_slider]), - HBox([widgets.Label(value='Membrane pitch (mm):'), self.samp_slider])]), - HBox(children=[HBox([widgets.Label(value='Sample X-Offset (mm):'), self.samX_slider]), - HBox([widgets.Label(value='Sample Y-Offset (mm):'), self.samY_slider])]), - HBox([widgets.Label(value='Substrate thickness (um):'), self.samthickness_slider]), - HBox([HBox([widgets.Label(value='Normal incidence (deg):'), self.samIncidence_slider]), - HBox([widgets.Label(value='Etch angle from surface (deg):'), self.samEtchAngle_slider])]) - ]) - - #detector tab - self.det_slider = widgets.FloatSlider( - value=2000., - min=1000, - max=5800, - step=1, - description='', - readout_format='.2f', - ) - self.detX_slider = widgets.FloatSlider( - value=20., - min=-50, - max=50, - step=0.5, - readout_format='.2f', - ) - self.detY_slider = widgets.FloatSlider( - value=0., - min=-50, - max=50, - step=0.5, - readout_format='.2f', - ) - detTab = VBox(children=[HBox([widgets.Label(value='Detector Z (m):'), self.det_slider]), - HBox(children=[HBox([widgets.Label(value='Detector X-Offset (mm):'), self.detX_slider]), - HBox([widgets.Label(value='Detector Y-Offset (mm):'), self.detY_slider])])]) - - tab1 = widgets.Accordion(children=[TZPGTab]) - tab1.set_title(0, 'TZPG') - tab1.selected_index = 0 - - tab2 = widgets.Accordion(children=[samTab]) - tab2.set_title(0, 'sample') - tab2.selected_index = 0 - - tab3 = widgets.Accordion(children=[detTab]) - tab3.set_title(0, 'detector') - tab3.selected_index = 0 - - self.control = VBox(children=[tab1, tab2, tab3, self.button]) diff --git a/__init__.py b/__init__.py deleted file mode 100644 index bbe30a50412c39c30961b270a2327bd5b4ff59e2..0000000000000000000000000000000000000000 --- a/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .TZPGcalc import TZPGcalc diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..69fe55ecfa9aade66e1412aef0ee7d04a9bcde86 --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,19 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/doc/source/Interactive TZPG calculator.ipynb b/doc/source/Interactive TZPG calculator.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..e54c44b79e7cb3b2cc5175e105024423ea128364 --- /dev/null +++ b/doc/source/Interactive TZPG calculator.ipynb @@ -0,0 +1,16905 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "%matplotlib notebook\n", + "import matplotlib.pyplot as plt\n", + "\n", + "import matplotlib as mpl\n", + "mpl.rcParams['savefig.dpi'] = 300\n", + "mpl.rcParams['figure.dpi'] = 150\n", + "mpl.rcParams['figure.constrained_layout.use'] = True" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support. ' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('<div/>');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " fig.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", + " 'ui-helper-clearfix\"/>');\n", + " var titletext = $(\n", + " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", + " 'text-align: center; padding: 3px;\"/>');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('<div/>');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('<canvas/>');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband = $('<canvas/>');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>');\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('<button/>');\n", + " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", + " 'ui-button-icon-only');\n", + " button.attr('role', 'button');\n", + " button.attr('aria-disabled', 'false');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + "\n", + " var icon_img = $('<span/>');\n", + " icon_img.addClass('ui-button-icon-primary ui-icon');\n", + " icon_img.addClass(image);\n", + " icon_img.addClass('ui-corner-all');\n", + "\n", + " var tooltip_span = $('<span/>');\n", + " tooltip_span.addClass('ui-button-text');\n", + " tooltip_span.html(tooltip);\n", + "\n", + " button.append(icon_img);\n", + " button.append(tooltip_span);\n", + "\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " var fmt_picker_span = $('<span/>');\n", + "\n", + " var fmt_picker = $('<select/>');\n", + " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", + " fmt_picker_span.append(fmt_picker);\n", + " nav_element.append(fmt_picker_span);\n", + " this.format_dropdown = fmt_picker[0];\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = $(\n", + " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", + " fmt_picker.append(option);\n", + " }\n", + "\n", + " // Add hover states to the ui-buttons\n", + " $( \".ui-button\" ).hover(\n", + " function() { $(this).addClass(\"ui-state-hover\");},\n", + " function() { $(this).removeClass(\"ui-state-hover\");}\n", + " );\n", + "\n", + " var status_bar = $('<span class=\"mpl-message\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "}\n", + "\n", + "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", + "}\n", + "\n", + "mpl.figure.prototype.send_message = function(type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "}\n", + "\n", + "mpl.figure.prototype.send_draw_message = function() {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", + " }\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1]);\n", + " fig.send_message(\"refresh\", {});\n", + " };\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", + " var x0 = msg['x0'] / mpl.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", + " var x1 = msg['x1'] / mpl.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch(cursor)\n", + " {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_message = function(fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message(\"ack\", {});\n", + "}\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function(fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = \"image/png\";\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src);\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data);\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig[\"handle_\" + msg_type];\n", + " } catch (e) {\n", + " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", + " }\n", + " }\n", + " };\n", + "}\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function(e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e)\n", + " e = window.event;\n", + " if (e.target)\n", + " targ = e.target;\n", + " else if (e.srcElement)\n", + " targ = e.srcElement;\n", + " if (targ.nodeType == 3) // defeat Safari bug\n", + " targ = targ.parentNode;\n", + "\n", + " // jQuery normalizes the pageX and pageY\n", + " // pageX,Y are the mouse positions relative to the document\n", + " // offset() returns the position of the element relative to the document\n", + " var x = e.pageX - $(targ).offset().left;\n", + " var y = e.pageY - $(targ).offset().top;\n", + "\n", + " return {\"x\": x, \"y\": y};\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys (original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object')\n", + " obj[key] = original[key]\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function(event, name) {\n", + " var canvas_pos = mpl.findpos(event)\n", + "\n", + " if (name === 'button_press')\n", + " {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * mpl.ratio;\n", + " var y = canvas_pos.y * mpl.ratio;\n", + "\n", + " this.send_message(name, {x: x, y: y, button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event)});\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "}\n", + "\n", + "mpl.figure.prototype.key_event = function(event, name) {\n", + "\n", + " // Prevent repeat events\n", + " if (name == 'key_press')\n", + " {\n", + " if (event.which === this._key)\n", + " return;\n", + " else\n", + " this._key = event.which;\n", + " }\n", + " if (name == 'key_release')\n", + " this._key = null;\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which != 17)\n", + " value += \"ctrl+\";\n", + " if (event.altKey && event.which != 18)\n", + " value += \"alt+\";\n", + " if (event.shiftKey && event.which != 16)\n", + " value += \"shift+\";\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, {key: value,\n", + " guiEvent: simpleKeys(event)});\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", + " if (name == 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message(\"toolbar_button\", {name: name});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n", + "\n", + "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function() {\n", + " comm.close()\n", + " };\n", + " ws.send = function(m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function(msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data'])\n", + " });\n", + " return ws;\n", + "}\n", + "\n", + "mpl.mpl_figure_comm = function(comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = $(\"#\" + id);\n", + " var ws_proxy = comm_websocket_adapter(comm)\n", + "\n", + " function ondownload(figure, format) {\n", + " window.open(figure.imageObj.src);\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy,\n", + " ondownload,\n", + " element.get(0));\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element.get(0);\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error(\"Failed to find cell for figure\", id, fig);\n", + " return;\n", + " }\n", + "\n", + " var output_index = fig.cell_info[2]\n", + " var cell = fig.cell_info[0];\n", + "\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function(fig, msg) {\n", + " var width = fig.canvas.width/mpl.ratio\n", + " fig.root.unbind('remove')\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable()\n", + " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", + " fig.close_ws(fig, msg);\n", + "}\n", + "\n", + "mpl.figure.prototype.close_ws = function(fig, msg){\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "}\n", + "\n", + "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width/mpl.ratio\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message(\"ack\", {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () { fig.push_to_output() }, 1000);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>');\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items){\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) { continue; };\n", + "\n", + " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", + " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", + " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", + " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", + " buttongrp.append(button);\n", + " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", + " titlebar.prepend(buttongrp);\n", + "}\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(el){\n", + " var fig = this\n", + " el.on(\"remove\", function(){\n", + "\tfig.close_ws(fig, {});\n", + " });\n", + "}\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(el){\n", + " // this is important to make the div 'focusable\n", + " el.attr('tabindex', 0)\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " }\n", + " else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager)\n", + " manager = IPython.keyboard_manager;\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which == 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " fig.ondownload(fig, null);\n", + "}\n", + "\n", + "\n", + "mpl.find_output_cell = function(html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i=0; i<ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code'){\n", + " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] == html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel != null) {\n", + " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,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\" width=\"900\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "572caa6f60c048f3a93034925847b97c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(Button(description='Update', style=ButtonStyle()), Accordion(children=(VBox(children=(BoundedIn…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "<TZPGcalc.TZPGcalc.TZPGcalc at 0x7f91780991c0>" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from TZPGcalc.TZPGcalc import TZPGcalc\n", + "TZPGcalc()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": { + "0008085842a9416089aa354b9c4b7c52": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "008288c1f0c24d95a70be3e032f68751": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0093fc9dafb24620b5ed997430716841": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_19bbeb6117a741ef96b77d11d155abf2", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_0008085842a9416089aa354b9c4b7c52", + "value": 840 + } + }, + "0096d7599914460582582e46eef49cb5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "00b41c0291014bbb9030a0a0688483c7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "00b71be1c2544a62a4c8e4a52b52d673": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_acdc5dfe51f34252937ce65e19f78eab" + ], + "layout": "IPY_MODEL_bec27a69d37d4576b42f9ee94f6fd363" + } + }, + "00d83bc536044cbaa7081f853860f10c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "00f2f96fb5344bb9a5c2f3657160dfaf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_ada37a9d5fa94e9e980fb440e8bf5810", + "style": "IPY_MODEL_de38aa00aaac4830b1740dd52ee95d31", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>13.99</td>\n <td>28.62</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>13.99</td>\n <td>28.62</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>13.99</td>\n <td>28.62</td>\n </tr>\n </tbody>\n</table>" + } + }, + "01118f1f50a14cc894fe711748c725cb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "011f2e65babd4f49b1e99f69aeca1521": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "012d3362ca764ba69048ba63cbd73b7b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_fc989fdd77cf467a85a089d3e52da129", + "IPY_MODEL_976ae90a658046e58a883e8152327b53", + "IPY_MODEL_0e0d687f7d864dcaa5ebdaaed2d40d0c", + "IPY_MODEL_39b8df13c0814b9b9d3120c65c0ba23c", + "IPY_MODEL_1cebec9c23284f05ab8cb5e5b49a100c" + ], + "layout": "IPY_MODEL_8081d2f2fc9941b8ac3cadb41ac8a596" + } + }, + "015a73ce1dfe4731b35affa13383b8bc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "016a2d6ec61547da94dc740766349e9d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "016ca90651404e25970d8d226ee8cb3a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "017c7834dc3f4d76aa2bf237c942e53c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0186bb58062e498f8e7c87f6ad4e44f5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "019c42749198444999a5e7fee52fab86": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_fb7f6fffdebe41bb9e9badde736f894a" + ], + "layout": "IPY_MODEL_f610e8f7e5ca40fe8263f5d3b8727672" + } + }, + "01ac67ab80b5426fb6bf7a18fbd5740f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0251c0df4b024f9ca45461884c30836b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_e643bc9e5a6341908964cdfcb42846be", + "max": 2000, + "style": "IPY_MODEL_815d4e5c84b04de3861c687d09de9533", + "value": 100 + } + }, + "02814b7f6a324bcb8929811332bfacc3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "02be31d83af7412f9915923cb743da85": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_cec8946fca2c4fdab284783f3ddff397", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_6a205a2b56154ab890e5470e45cc10e1", + "value": 34.5 + } + }, + "036daa0635af4a0495a09a942058c531": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "03c2c919a5a64eccaeaac4f329aa8f3a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_755f930d236e4ad0b473df895f43a402", + "max": 2000, + "style": "IPY_MODEL_06f3f0629cdf4485b83c5ab8b4838a9a", + "value": 200 + } + }, + "03c57a29f45046b99fbcab6d54da1dc3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "03c8fb36cf82403e8e84a8ef3f5bb8fa": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "03ef1407da8b4bce848582c32feb7ced": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "03f91a0b41cf43419cbcc8e780f72fa0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "04130b711e2f4dd598e55fa45483cf0f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_4ca2d0e6ae1b4e449da09270111fa6ef", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_02814b7f6a324bcb8929811332bfacc3", + "value": 20 + } + }, + "045ae53809cb42a5895707575d65e23f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "04631676023e4637b7fbd9959f7537bb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "048a4d04e51b444d88f945e1fc23da18": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_ff4c6090397e4711844908bcc1240fac", + "IPY_MODEL_387950559631434db7e3715dc8cb41b7", + "IPY_MODEL_f640d044144f4b00b986c454324d8dc7", + "IPY_MODEL_894828cba7b2440b9fbf6e814bee02ab", + "IPY_MODEL_ef522a82bbc945c1817c88ebef2c0fea" + ], + "layout": "IPY_MODEL_03ef1407da8b4bce848582c32feb7ced" + } + }, + "048d5ddda0f24907b9e4f68d685f1d6c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "049410488a294064a5c667f49a405e8c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "04d47b9e029645b082e6f0e366685675": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0514f64580cc4eee8706669cf50a1dc0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_538297c5e46b4b2687f6a6f67493f8bc", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_ea9bf02174a544b1b15387b8d352a0b5", + "value": 1 + } + }, + "051a4a4fc566400293514640d33a69c3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_3ffa96a815b648a0a15c50a9cca1337a", + "IPY_MODEL_bb3fb55a50e648b5ba04ccecdaf83404", + "IPY_MODEL_3c86a3b3f734491ab0f9c2f18911f1bb" + ], + "layout": "IPY_MODEL_180a392d3e124f5ebd01b39987bba5a5" + } + }, + "05233531775b498487b66efe53d20db4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_d1d55260bf254e35a7f8df1ab6a16f11", + "style": "IPY_MODEL_6ecf6dccbc7f425c847e9d2afa07e5d7" + } + }, + "054d734918144b098782d1ba69e18fab": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_e09941d4440f4f87afeeec0ed24b5fa1", + "IPY_MODEL_69a89ebaf5494f0d9496fbdab8734a38" + ], + "layout": "IPY_MODEL_d736231aab14452da8f4fb3b2a0642f9" + } + }, + "056bd0702d324fe992d497ff680c4b28": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_c00b3644a0ed488ab1e4a0879ff8d175", + "IPY_MODEL_88307488b5114a239347c3682eca9d6f" + ], + "layout": "IPY_MODEL_c0e9205e95d84dce91c54e660802c5b0" + } + }, + "0580f8ddbdc14765a03235b8928cd6ea": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "059cf3e4ec094899b17521e5b6a5f559": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_b853ecc147da479b91f397d3fc1f6195", + "IPY_MODEL_080b9fe6293940a3b81f8272883e3c27", + "IPY_MODEL_0514f64580cc4eee8706669cf50a1dc0" + ], + "layout": "IPY_MODEL_76f71d525eda4c31b774649dbfc822e9" + } + }, + "05a4b4935e4c4facb5805446226151cb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "05c3683d3f6c4ab6999de0425aab9d12": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_52f5ae45a3644466858069d8d68e60f9", + "IPY_MODEL_7579bb047f234aa4a8760bc52e4072b0", + "IPY_MODEL_3ad0e209247f436f90297d3a413bf705", + "IPY_MODEL_5c8efdd7dcbd400bb115cd91e33d68e4", + "IPY_MODEL_dce85ec4beee4ea38cbbdd8b9ed05401" + ], + "layout": "IPY_MODEL_9dee4918311e4e4f84bdbc1033ff4ca2" + } + }, + "05c5b06f970a4145b57bfc5ae6311a91": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "05cffa1b8f304dd9bcc946b221a9fd42": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "05d0d9d3a289460ca8800b32198fcfd1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_7074746fecbd4bf1823836465720058f", + "IPY_MODEL_c363bd32fd1743fab52a40d7eae82c3c" + ], + "layout": "IPY_MODEL_a14b725a3d6746328c723a07236849a5" + } + }, + "05d4cf58a3984b03960eafba62311f25": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "062d1e839ff8471ba1a9cf7cc1c655a9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0638c50db4604026a5909b916fb5c22f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "065d9fc97bb5497ca3aa434dcdbfd6b1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "066d62f55b04454eac0b187a65854580": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0680bdfffe094e00843b5528e1fe4bbd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "06f39f0e0fe14a0786d78bd6bdf29281": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_256e3b7676b946d9babdf84e47bd68a7", + "IPY_MODEL_ce2ee549dc7d45e5828616555cdd271a", + "IPY_MODEL_704515b387834af4b758afc7850391bc" + ], + "layout": "IPY_MODEL_5b18153b372d47a198910e274d5c4ad5" + } + }, + "06f3f0629cdf4485b83c5ab8b4838a9a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "07007ee162d74f05b4fef18d20799e59": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_97124282efbb4183b9df36749adcce09", + "IPY_MODEL_801794dea4d94ad09add87be03205a57", + "IPY_MODEL_31a6ddef7bd2483298f72502acebaff7", + "IPY_MODEL_def0f407961045db987cdbc95973711c", + "IPY_MODEL_dd70e7dbb8cf428184daf1e1dac3460f", + "IPY_MODEL_94e936b2d1c34102a357c59b4e054822" + ], + "layout": "IPY_MODEL_4cd57ad892ec42aea6c7469742efded9" + } + }, + "07123dc1b05b45c386fe9a74b54f63c6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "07261016c16248728b99d13e01b35466": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "074d187683904756854e64df7777314e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "074fe9b1a97147c6b5c869648b0b9675": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_cd4265ec4c3f42af9d221ffa47a10aee" + ], + "layout": "IPY_MODEL_62e7d59c129b4e3ea8416a04dbd4d128", + "selected_index": null + } + }, + "0750bb7d20a143299a1e3dedb2a5ccf1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_cc2f91266d3b49fbbb12f4c081c4805c", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_734427a2e9244830a3ef7cde6d424b8c" + } + }, + "07609125fcd549ed8dd78f325ca571a7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_4eb0e0dd8cac4bc1bd2eaa9694ec5b65" + ], + "layout": "IPY_MODEL_b44fe5c44e6d4d08bd23dafbdabb6f87" + } + }, + "07770ae5f8b24ecf882da1e47963f6f1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_c99bd31ae92e4918b026812a983261da", + "IPY_MODEL_c880829a6ca04159a3c2b31e1bac6511" + ], + "layout": "IPY_MODEL_e84dc39db22648f38121d8f8d38ca114" + } + }, + "07795c0712a342f4a9ce1b55474acf07": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "07955369d5104a1da5d2015a1344ee56": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "07b589e57e7747bfb220d1db3e58c79a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_50582c3307ad48288f38f87423b35577", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_d3da53454def429ca92ddaad8e0e2331" + } + }, + "07d700b0929d4149b1bc71173067b1c4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_99c8ca8954654c5e8fa50d0cc9f6724f", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_bd8e68284f3b43e78331bdf700e4cd93", + "value": 20 + } + }, + "080b9fe6293940a3b81f8272883e3c27": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_29afe502078e49caacc3c99a61f03cd0", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_4b165726ab97448cb23feacbbb94043d", + "value": 0.5 + } + }, + "08576dad15c842968e4ebd45fe30a043": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "08a77d3803f240e48633baf954ee29a7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_cdf55c048ace4ec5961e188a6ad1a7d0", + "max": 2000, + "style": "IPY_MODEL_9ed709265bb94ea1a2a27cfd02a13b0a", + "value": 200 + } + }, + "08d8e10bba014f5f98c2ab9287f483ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "08e0876bd23b4c459cf49ea86c1b340b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_99d3ba1826734520826f56fdfb81773d", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_6c533682af4540ce90de8888569de65d" + } + }, + "08f56ceebe26404f8cc6c6a5f4bbe38a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_5ed47d5c096c4f9f8548c6e208366a32" + ], + "layout": "IPY_MODEL_ce6d269271f648bd95b998d5a5e00e11" + } + }, + "0960f0c4478f4b7b855cb07a7d81b150": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_206c8dba78ad40c884d2bc295844f0af", + "style": "IPY_MODEL_8c9e77641f334f59a43759f33091234b", + "value": "Membrane (mm), " + } + }, + "097448916d9545e88125c75d51900275": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "097ed447c6244e60ab26d13a01ec27aa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_b60c3509396f4501a5f8567d9638a96b", + "IPY_MODEL_3085bae4c29049e296b01cef9d523bb4", + "IPY_MODEL_0f9522f1f5f1462a9754ef698c94ac4e", + "IPY_MODEL_53d7df892be14687935be35ac1e08ccb", + "IPY_MODEL_4a242ae65cb649d4a59743d266e610b2", + "IPY_MODEL_ef5eb0b5118749baa38a9666c0bce198" + ], + "layout": "IPY_MODEL_3e09fac7e2624ce0a752fecc1613f2e4" + } + }, + "09a1ae5ec20c42738306fa842b0836ad": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "09ca06a32274428fa6515b183f848778": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "0a0f542f278e41abadabea6d55387152": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "0a2ea7d2354a4be498242128b5418a2b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_a49a6aacdeb346009695124d40cd0d0b", + "style": "IPY_MODEL_f541f7680bb041bd8cf7cf8cc51ffef8" + } + }, + "0a40246c3a76479fbf76ad91d1e23944": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_26ff3f6179ec49d39f03d67ed7c6499c", + "IPY_MODEL_24aa719c41eb4261ae6e3d105195e2fc", + "IPY_MODEL_c3d29f9d2a3f4facbf1487e0e62a78ee" + ], + "layout": "IPY_MODEL_90feb4368dc543658e9b7f59d5ac64df" + } + }, + "0a5b32b383c34987b9a71b2af3577977": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0a609402842a4db4af8710d852e045e4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_378161180e8049bc84aafd8057f899a2", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_9be77dfc691a4f20b98f90ea43063217", + "value": 5.05 + } + }, + "0a6c5e06bdd14ca19d72be6e3b8af54e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_9e3759f8702b46e6a6f7097b9baeacea", + "IPY_MODEL_e77b41e1cba146c8b1ccffe0ec120faa", + "IPY_MODEL_e93e0d924f884becb6b3b01e4dc926c6", + "IPY_MODEL_fde629f2aeba4ed09ccac8343dd57192" + ], + "layout": "IPY_MODEL_fdf3b508f08c487a85f69cb5fb88ebee" + } + }, + "0a8a6a1564674cc0aa6b0590cc8bb9b8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_47a1ab1e832041a79ccdbd2eda8133c8", + "max": 2000, + "style": "IPY_MODEL_b1396dbabf7e4f7faa78ee90077ed2d0", + "value": 100 + } + }, + "0add05b2e852466f9401ffa8e5de53b7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_66a5722186e24bec8cd950cfee9431fd", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_210a264337034ee395f63423a4a9742b", + "value": 0.8 + } + }, + "0b037907096446b8b44335bb8bf6d635": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0b65a223b3d2475caddfa474e73e2425": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_097448916d9545e88125c75d51900275", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_338135df07e745dba56103ef3b5d25b4", + "value": 5.74 + } + }, + "0be6954b97fb43f7b33895c8f21bf7b1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0bea43f5fefb4a70b14846ee460a48a9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_712adebc44234517aff4f723ce86ea09", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_23306a6bc8054407ae14188e53f82baf", + "value": 0.55 + } + }, + "0c621d0fc0e0487d94f21458c2c827ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_56ddecedd0724154ac3a9f9d6489e256", + "IPY_MODEL_b2e6ff627ed745e8940e5c20c2cf6347" + ], + "layout": "IPY_MODEL_011f2e65babd4f49b1e99f69aeca1521" + } + }, + "0c8a4049c51c49a5bede923813d4db64": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0c8bd55780064c3697784363b3438380": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0cadd1b3761846c49570c34af47afb1c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_72bb9fb41d394f47b1e68aedb14a0955", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_2e52ae30e9704d36939d42e651e839ca", + "value": 20 + } + }, + "0d185da3f13241719f1f5ac4d3a7ed4c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0e0d687f7d864dcaa5ebdaaed2d40d0c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_fb3624dd2351487495fc8e9f484d0cd2", + "IPY_MODEL_e03d1f77227844929fd321524dc728d5", + "IPY_MODEL_6ec4407897944dd0bfee06709c3f9689" + ], + "layout": "IPY_MODEL_160584c30642487aa2746813caa054a5" + } + }, + "0e18f784c62b4592bb8f0a0137f2aa43": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0e1bf212a7b142749ca16f1cf43ca486": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "0e1e3cce30f64ba0a3f862c5be38aae8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0e2829a4062b4649b6e4e0300bd4b194": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_606351fc62934e7cac7a75a5b4651b95", + "IPY_MODEL_811d8cc362b24a9385657063afb3b9ff" + ], + "layout": "IPY_MODEL_1d57431d7a8a4a6d9a6901b1607caf52" + } + }, + "0e2ab774c56d4b4d87348f9211990531": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0e33f048d2a84da8abaf0e7eb6439b12": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0e89a4f81f8a4380af173439ea2c31f6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "0eb87bc4bbac461293c9159bac33e724": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "0ebf2c17da5f42f0a577bd78a3add84a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "0ec271094a4240ccaf03687184d84e59": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_1e97ac09ecf94452b1922485e8995965", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_404465f69e734a6fb6ea228c02511811", + "value": 20 + } + }, + "0ee1b4d4f53d46939587c48988ab8138": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_3b59a0f0b4fc43a39b93f6a226e4a46b", + "style": "IPY_MODEL_7033331c9b6c4b03a0a5f638b3199101", + "value": "Sample Offset (mm), " + } + }, + "0f9522f1f5f1462a9754ef698c94ac4e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_7e396e434908467ba36cd5918684322f" + ], + "layout": "IPY_MODEL_ff8925e683be437dab5e91d4b3770f83" + } + }, + "0ff43cc8066745b1a191e3d4dd881889": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "10094d8a70334565917fe15cbcc89f47": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "105eb91256d6476dae5da7d596be6520": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "107872ed45494d16aca4df013610785a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "10ba9fcc038c4eebba98bbc3cd3a1291": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1101e4705d924b53bae2327b1dc52f33": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_65cb339a38ae4e299b9f7f87dac2da61", + "IPY_MODEL_bbdf6084e2344a4b92c4d2724141a007" + ], + "layout": "IPY_MODEL_70f0e4683b464fcf8678199e4ee1792f" + } + }, + "114467652c3b4852b03ddcdc2c976af3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "1182c6c4fdd544669bec5bea53b46efb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_965a4cf4eaf5468e9044d5484ace9d83", + "IPY_MODEL_f3b4041068e1440fbd110ad0b5f96bae", + "IPY_MODEL_6d7ff6224ebb4562b0c401fc874afa85", + "IPY_MODEL_6c516c02c37d4b51ad025063b095ed12", + "IPY_MODEL_a65ce334853643da93b948c9bf5e1869" + ], + "layout": "IPY_MODEL_3cf54998af3d4a4e82328984c3c09549" + } + }, + "11898ed2464243a191564ec16153e1f8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "118cc8b53ea0405b8d4737280a41469e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_c799f250e3bd4ab28859c7aa6e835a44", + "style": "IPY_MODEL_d50f77a2d7f14a60a9bae6b1e2a272bb", + "value": "Energy range (eV):" + } + }, + "11cec4e93da2496eb73cb28acd9370b0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_4c1548e6a5f34afbbbe4939505dae44c", + "IPY_MODEL_3805c14715ad4a2ca6057e38bb9a05d3", + "IPY_MODEL_0cadd1b3761846c49570c34af47afb1c", + "IPY_MODEL_07b589e57e7747bfb220d1db3e58c79a" + ], + "layout": "IPY_MODEL_7c819b0aaf224560a6e8892eae726610" + } + }, + "11e2f69fefe145659944169598271d70": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_77ea0026e3244e18ad9c587abcb1969b", + "IPY_MODEL_b922de1c4412441abb54b6d4ab8595af" + ], + "layout": "IPY_MODEL_03c8fb36cf82403e8e84a8ef3f5bb8fa" + } + }, + "11e6a9730c7e4ad991efe63887597be1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "122c042830ff4c9095e9d511d6633226": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "123065eeb16e428daae4a23bc15c40c7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_d72fb88a7cd241f58ac283636cdbc1fa" + ], + "layout": "IPY_MODEL_7e111e03204648929b4e56fa414ca088" + } + }, + "1236f6fd72a848e0b7cb3f4ba91260e2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_4dcc11aeabb04a5bb50f0023e301d6a1", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_cd31c43959fc4cb9a7e5f31c614d5b39" + } + }, + "126d79c2846746c0af3c3934ba49adca": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "129a8ef1510b48a0a04f2b84cb64f208": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "12b8e0e181b244bf899712082f8137a7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "1323fe9418a747bfbda692ad021757ca": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_1c98e738cbe549eeb2771a76c9b2ec56", + "style": "IPY_MODEL_90a0e0800d4744379d69635a4e12ab9a", + "value": "Outer Zone Plate width dr:210 nm" + } + }, + "135c90eb3f4941918158daaff3b875c5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "13e095f412a842d5bc3e2f53ea927420": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "13f86af447304915b4dc0403f7b32c41": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_63c7fca8b44444d6a9b49a4c7243c38d", + "style": "IPY_MODEL_ff3dcdac3a884084b957cfc92f200413", + "value": "TZPG (mm):" + } + }, + "13fa02dd13fe414383d59972f0a11dd5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_3a03607fa899422dbf9a0813e0aaa6d0", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_2512b80e81bb451ab5bd11642cd8abd3", + "value": 1 + } + }, + "1450608de43e4a43ba514a048582810b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_dd3b0f69198749eaa7d18f18a0e58e5b", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_6f1c16b5efd84869b59d01be62213626" + } + }, + "14761b3043e5429e8d8ed861bd9eae75": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_38a265b31b274fbbacc8a167e5000992", + "style": "IPY_MODEL_432a00d8414942928f6f667f327a6c36", + "value": "High energy" + } + }, + "14c564049d5045dab27cb19b3d2f37ae": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_c20904797d7e4f60b219f84256efc43d", + "IPY_MODEL_e6595e40cc0c49a5a0c982d6d4d2bfbd", + "IPY_MODEL_46e704973b1d4872b32f536d19252e07", + "IPY_MODEL_0750bb7d20a143299a1e3dedb2a5ccf1" + ], + "layout": "IPY_MODEL_f9c79e0b4c27466498abd941f9289bde" + } + }, + "14d6e9ed68e4416887d9187c1df4ff2e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_42e6c2fcf67d498582560f2725c1eef2", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_7046480b99124eefb75b71c9b00d3586", + "value": 785 + } + }, + "14e115fb9e4a4359a3befd2bcf1d2961": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_331b701931da47a4ae9151d5b2e4ba99", + "style": "IPY_MODEL_39bec103240a4871a2feef15c702b062" + } + }, + "14f2778433e844a5b2b5d1b21b42019b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "14f7109f4ebc4787a0539ba7831bea2c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "150a2798f9c94c859ca2da96d4857aeb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_7fd01ce43d7e40898e9bea70eb32cb82" + ], + "layout": "IPY_MODEL_c2a2511702764fa5ac2e39abbd508416" + } + }, + "1517942f22354fab9f5e81a44dac2c50": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "152c9f24bd424e0f9963c69d347a7287": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "157a3476f5e3467c85f52328a5d4260f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "157b981741d641349c52bd34c286d70e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1598528d903d4be69a728aac3daa7cc0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "15af32b5db3140129bfd08fc67fa6f4e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "15fb27b9a26c494a8415b0116be3d880": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "160584c30642487aa2746813caa054a5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1608398a230247d79cea8ecf4d7f7c22": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1638538aa8b74f1b8128310a5372dc60": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "169609d494534e6ba7bbe0a2779ee993": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1699132b0c454de8a0d5a39cd85418bb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1718e31a328d492ab6b63c3a64b78d98": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_2b09515c45a8451bbb84a8b4bf9a9ede", + "IPY_MODEL_263a92b40e874032bdf98c5397d40763" + ], + "layout": "IPY_MODEL_bd0ca96ed8734e90bc930b9fc6e619f0" + } + }, + "17597e9365f341ffb36a467cedbc7250": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1799dfdc47944f25b139de39caf8ca15": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "17ca941506314ce48c6478b3ff18d7e2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "17d4e80f6ee04effa939f0cbf39fe0f3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "180a392d3e124f5ebd01b39987bba5a5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "18240c25d3f14a17aaad06f9d460f6ec": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_62e1dfc160a24aea9b640c8e2c8480d6", + "IPY_MODEL_6cb7492afb184b90bc2f050a0d1b4f65" + ], + "layout": "IPY_MODEL_af4b35df3106455fb0952265fa6141fb" + } + }, + "183ea13538cd47c282cfcdb64a87192c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_4f8d7d3eef7747eeb0dd3053fe41b1c7", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_d1b023fce1394f1ca09ac30b59e2dc1a", + "value": 2000 + } + }, + "18560cbbc89b4a21815374d36c85789a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_4edca99839534b029037dcd11f9449bb", + "max": 180, + "min": -10, + "style": "IPY_MODEL_38e1eb4d7ef449b8aa6fafceedc9a53b", + "value": 30 + } + }, + "18a6857b0cbe4ec9ae74ce40c9b68820": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_f8cf68654b0f43e3b61993179ea592cf", + "style": "IPY_MODEL_80a6f82641c84a9bb9bc32bcd3d72163", + "value": "High energy" + } + }, + "18eb1bab30ed4ea1b93a0abcd692540d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_b0285d870cff457184acb2c3addc3b26", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_2af7bf3c6b9c4bb48686b3e5e59e0f5e", + "value": 381 + } + }, + "18f369c30b8f4487a714a4e135cae66d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_ed8fece8d8a142a1a42db20c0d031a52", + "IPY_MODEL_2afe44dda6fd44cb85c14f4761148311", + "IPY_MODEL_1a9607af0c2f4cd3bd051834ca13b1e3" + ], + "layout": "IPY_MODEL_af5cfa183d434cc18e5906f12c8ac9ed" + } + }, + "1929449192744bd49cd6d1fd756f9b80": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1931b49f139a4e56b28a1a6502de0455": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_e4bd75d014d04d4db00abd9de47414bb", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_79699c6cd12e44bcbfd2be592e02b315", + "value": 3.1 + } + }, + "1938be34506e4213ad9380f1409e0a8e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "196740e27e7e47feae2c86285922dad4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "196d1b8e34b5429a9272e7b80d1da349": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "19ad69fb3b5c4e669e872498e8978c10": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_d2f59e3a3ea345f4abfbca26550c8e3c", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_5e72a42662a94d22a39befd92d5c1562", + "value": 715 + } + }, + "19aeaf2303e04ed3b4360fa60c015797": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 3, + "layout": "IPY_MODEL_c9afb09d09e54c178db02412860d05a7", + "style": "IPY_MODEL_9cfb13b8609846549ffd0a65faa81032" + } + }, + "19bbeb6117a741ef96b77d11d155abf2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "19d49cc37ee44d62a82c6d42f0088efe": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "1a00c50eba8b4a298f968e4142473410": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "1a0c6a3c51c646f5adaaefc54af488f6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "1a6d5837767e480b893bbeb1e5f12ac6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "1a863a77f1f9422eb0211acf192ada36": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1a923fa85b634653bc1e4e45813cd9fe": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_036daa0635af4a0495a09a942058c531", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_05a4b4935e4c4facb5805446226151cb", + "value": 860 + } + }, + "1a93985548bf4d2baea2ecdebd525e69": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1a9607af0c2f4cd3bd051834ca13b1e3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_763177a971da4c968a442b2c0e92c5e0", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_b228319d38584bcbb295d9fb23d68742", + "value": 1 + } + }, + "1aa69aa9e5244a7f9a0c3b3a5e01cf2b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_2c0d45a852df4b2bb0c6ed3fd5661a94", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_d7d2983b19364409a1a2c9e0be24a2b8" + } + }, + "1aaee61c3dd944b8a1f7f3900215d872": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1ac716938c3640bbb0e64744fe7cc1bf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_2e75da9f7b8340ce8c797f14227daf76", + "IPY_MODEL_059cf3e4ec094899b17521e5b6a5f559", + "IPY_MODEL_4637370959f04c02ad97d94b024cefd4", + "IPY_MODEL_ae622672125740aba082fd768ac23c0e", + "IPY_MODEL_794ac6ca90b84f88a5323df0e9d62873" + ], + "layout": "IPY_MODEL_a6d3b72fe80d493b8ec89334e23b9a83" + } + }, + "1ae643ae8d174857b0f195064fb04527": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_13f86af447304915b4dc0403f7b32c41", + "IPY_MODEL_7f55bb71c01f4b6cb3cbee687b98ce46", + "IPY_MODEL_1ec98cf43e424ddb875eebddc6e6636d" + ], + "layout": "IPY_MODEL_7f5bed80c5d34cc6b72bcca106958999" + } + }, + "1ae7d0c73cd14a4697a143b9b49cf891": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_6e8170f01b0247a2ad49644964be4558", + "IPY_MODEL_d199f4cda8b9450fb8ef86bacdad6c8f", + "IPY_MODEL_25ec8d742e6543a7b527dbaddd48f4d7", + "IPY_MODEL_a2659ca3aef048e5845879dd3e4f9ca7", + "IPY_MODEL_8943f1775fba4ac4815d59baeabb728c", + "IPY_MODEL_cd1a6f095e2b4eab84dda3c15b31a197" + ], + "layout": "IPY_MODEL_ae1472b7ac864500a7e7fb20ee28c408" + } + }, + "1af068565c044c04bd4fc8d22060a432": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_ec6c07e0cb8f43c18b646fff0b5c1852", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_3686f46c32f7483eb95c3b9d83b3abf9", + "value": 1 + } + }, + "1b21264edb82442bb2e3721693fd324f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_1a923fa85b634653bc1e4e45813cd9fe", + "IPY_MODEL_d130bc55943f4ba6bee6f66eeb45ec9b", + "IPY_MODEL_e42333bde0f7486e9316ebeeca5a5a43" + ], + "layout": "IPY_MODEL_66983998e0fe44d59c145bb03d2ba626" + } + }, + "1b2e76ddf9c6462a89517b564300b907": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_fe9b30da901a4bb2b6aeea7c278070ff", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_943c6f3e8c1c4ce285775f9a7acee5b9" + } + }, + "1b498d9debbf4ab7a891554790593df0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_01118f1f50a14cc894fe711748c725cb", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_faaf261b8f6b4bf4a7142583edcc9209", + "value": 1 + } + }, + "1b6de1a2def74926b6ed891f2e7f9928": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "1b75fcbdc16f47519c5385abaca3635c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_4f5a7b4afadd4fd7837e4ef310e6cb00", + "IPY_MODEL_bd25ba00bb4e436391d4bd680854e158", + "IPY_MODEL_02be31d83af7412f9915923cb743da85", + "IPY_MODEL_acf6ed2b3474441589a7fb8899209f24" + ], + "layout": "IPY_MODEL_76544cfe38ed43caa96e5407726f950d" + } + }, + "1becfd4428e64e28a73b3e407bee4174": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1c0f75e42a2745259ab7c0d1bf20bd84": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_5f18b6c4e9f8492ebbebc565d1fee55f", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_1a0c6a3c51c646f5adaaefc54af488f6", + "value": 0.5 + } + }, + "1c47e5f03e8e49b7b5b1d27c75ecdfd8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1c4b68e0f6d2403ab0f85da582ef6136": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "1c719c5cce6342a3b6c820efce28d8df": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_a9fd1bacccd946cf84a2637dd5520794", + "style": "IPY_MODEL_dbe821801fd44b539e7cdb82c9ced984", + "value": "Outer Zone Plate width dr:134 nm" + } + }, + "1c98e738cbe549eeb2771a76c9b2ec56": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1cb94be0bd864d65b365c1d22646e9c7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "1cdf4276851e41a9a78b09789bfbfd0f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1ce80fbdd6714b67909dd37a7f1b3649": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_f3a03f072757430ca71e11dc80a6f66f" + ], + "layout": "IPY_MODEL_4872e7f046024654bbb57f1e8998d561" + } + }, + "1cebec9c23284f05ab8cb5e5b49a100c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_51972633238e4e64be478f7551c386fd", + "IPY_MODEL_8b7e7f5b27944879a8d78aebbe89cd13" + ], + "layout": "IPY_MODEL_ba3a6c53558f45ff8d0692be668af872" + } + }, + "1d2cf49ea658495e8feb7c70045b9f23": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1d57431d7a8a4a6d9a6901b1607caf52": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1dafe9d4c86f44d68fb9eebb64a3fb7c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_917c198f84d74753bfa3c27bae2ace44", + "max": 90, + "step": 1, + "style": "IPY_MODEL_ace3a8cea2d841988d974281435e2a8c" + } + }, + "1dcb4d25c85349578062bb6f792edb6b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_72394ffe803c4463a33406eaa7da7530", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_30317159e2b6413f96d49539dea961f2", + "value": 840 + } + }, + "1dd13844fe5a44e8ba058b8ceef2bb96": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_b2edff5728ad4a4d99d3a7a4ba30fead", + "style": "IPY_MODEL_d4950f257fcb46b4aee4ef9d285db1ed", + "value": "Low energy" + } + }, + "1e01a24116ce45739d8088f43598cea7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "1e349bdc4c3141269927ff152f0cb0de": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1e4361433f9f4928a95a07e46fdd71f3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "1e4b992fe8934422af4d9458c3f3af2d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_f232e3aa48844ebaa48b57f9a152a775", + "max": 2000, + "style": "IPY_MODEL_f3daef71794d4274bd8b7231c8f3c1f5", + "value": 100 + } + }, + "1e97ac09ecf94452b1922485e8995965": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1eadb5935b524718a62961ed277410fb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_dfaf17f099664f8c9c339ed45e056a41" + ], + "layout": "IPY_MODEL_049410488a294064a5c667f49a405e8c" + } + }, + "1ec1059b475b49559a8223b6f6373980": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1ec48db6b504488ca15d61be01bb5299": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "1ec98cf43e424ddb875eebddc6e6636d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_4c14f1e226264c48a67c16a61b6dfd11", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_295d0ccb8b6f4a9c85aa7161b386c29a", + "value": 1 + } + }, + "1eea5f3c74124769a9cbf5bae1558c76": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1eee8ea54ee14d4cbfc02679e2848bcf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1efb59da7c4a46ff9fe10ac3a01a2f81": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "1f6f3b84cc064d2c9787ea78c362ca71": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_36e006643b484fbcba176a19cb47b325", + "style": "IPY_MODEL_bfac3a154170479f8ef58ef4269388a2", + "value": "Energy range (eV):" + } + }, + "1f78ac4fa88a49429f06446eeee7eb02": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1fb0f315e7f44b759a0089f6810490a1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1fc3404bac854d3e99938246b56e462a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "1fec5050a7f7490c9fc65f99fd9f7d10": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_385a49d083b447a19a03b69907737efb", + "IPY_MODEL_35b4edc4529d423faa293ccb8813ddcd", + "IPY_MODEL_da62150d89194ba5936f99d45791e2be", + "IPY_MODEL_c9024e7b869a4a93b9ae95bcf9c4de98" + ], + "layout": "IPY_MODEL_a5e7afa2b13544e1a77cdc5d1e8a5ab2" + } + }, + "202b214623454008b5ea88e8132928fd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "206c8dba78ad40c884d2bc295844f0af": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "20978716cd7b48eca694bfbf7283cee7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "20c16348d15a4df3bcc6d58379a35450": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_350c0bcde3334ea3820bdd5956de7e48", + "style": "IPY_MODEL_ebc67a604b2d48d78dd9ed0b8373369a", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>734.64</td>\n <td>750.39</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>734.64</td>\n <td>750.39</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>734.64</td>\n <td>750.39</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>165.48</td>\n <td>148.41</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>165.48</td>\n <td>148.41</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>165.48</td>\n <td>148.41</td>\n </tr>\n </tbody>\n</table>" + } + }, + "20eeb642eb9c4fbb9ee3b6a232e949fe": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_7df1deb89e1a42698f7224fd41930318", + "IPY_MODEL_3797d71aff9741e0b531af1ea8bcd9b5", + "IPY_MODEL_e7cbddb1916a4f0bba8eae52d08852d4" + ], + "layout": "IPY_MODEL_7583875d8a88440db51e54fd14bbd0b8" + } + }, + "20f55321e5ca432a952690a617a7f48a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "2106cd34f4234b4d8cafbd7f9f0b1edc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "210a264337034ee395f63423a4a9742b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "2123fb46cbd34a70abcde54299a98a2e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "21679e5862e5452e93a9b0d0d846016d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_e43e9692077e4705802e349f0df8d521", + "IPY_MODEL_be68b0fd31b9432da7dd7e15c6551dd6" + ], + "layout": "IPY_MODEL_907466a8717c4161bb3a032cd7a11a09" + } + }, + "21ed570baaf9469eb6a7ece304c7cbdc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "21edbaa9ea704b448d3350579cdd9974": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2203973003d142779a398f04de118e8f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2250dfe7d74c4bf69a16a0891f510aee": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2264dcff7a094736aa732d482daeb5aa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_449bf007280a4e6b84ed25891fa50569", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_f93f5cfc28cd4bb28e070630c505e0f9" + } + }, + "2299d432da3b40f09768b0c41e757631": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_408c774c010c4b0788ea2e54a1ea5bde", + "style": "IPY_MODEL_7718c58cf55b4df3a9457744f4cd1f73", + "value": "Sample Offset (mm), " + } + }, + "22b14cbed6f84cacaa919734c8fde6ce": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "22e9b07f45dc4e6cb6ed704626aaf22e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "23025a368508491b8074ba3da9c2ce29": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "230ba83c3ea941fbb5cecfcc91520f1a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "layout": "IPY_MODEL_e95d76ccaa05407b8d28297f33cae553", + "max": 1, + "step": null, + "style": "IPY_MODEL_941806f87be64600a154177f9707b168", + "value": 0.25 + } + }, + "230fe8ddc63b402d8dd1143fb14ebd1a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_f20d3d55c68f4e879d410053d1351338", + "style": "IPY_MODEL_d40054141e284e0985397d41f09718a8", + "value": "Membrane (mm), " + } + }, + "2311522565884c11bf03f7f8fb15f2ec": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_2c1bc55b289244888b80762adaea104d", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_99e5d2184b9849978ecfcad8b3bb547a", + "value": 0.8 + } + }, + "232298db42424a7791719f9e13857717": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "23306a6bc8054407ae14188e53f82baf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "2364bded8a0144d9a14726a521ad6a46": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "2371514924564f4bab3fd15f793943bc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_433dd08d935a40a3abb00683d9ffa0fc", + "IPY_MODEL_e2c6e1c1ec4e499fb2a06d7d1d7ddd82", + "IPY_MODEL_5a9ebf28431445709ef397e566112a1d", + "IPY_MODEL_18eb1bab30ed4ea1b93a0abcd692540d", + "IPY_MODEL_b4fbcebe999549798b49fb4c5329fa7a" + ], + "layout": "IPY_MODEL_652f7e2b1fc64b5587d6a8fc3a1c07e9" + } + }, + "237b7b0ac3c9481eb9b960894dd24391": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "23bd7995affa4a2db31f61874a136d8f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_75d4e7cc15a9495f8a0a641e09e89247", + "max": 180, + "min": -10, + "style": "IPY_MODEL_3f9266d3b81449f4b8f90fe275b14e5d", + "value": 30 + } + }, + "23c6b61c5aa044d097d7fb8626a42df1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "248c3318da67438295cc69cf8e6d895c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "249c3632265740dc994697afcebc0229": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_db6d98c2cdf34132a15b0f3a448f1c2b", + "IPY_MODEL_42741c1f1687439c8c56fcfb5509e7d6", + "IPY_MODEL_b2a0aff6a9c94db08128187753636661", + "IPY_MODEL_6d7628b1ca874e78baf9edacb250e117", + "IPY_MODEL_72c804a982ac4f21befb6bedb5671ef0" + ], + "layout": "IPY_MODEL_7cc99a4a5f9247be8a84e015bbc49099" + } + }, + "24aa719c41eb4261ae6e3d105195e2fc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_96e4e74befe74b4e92d941726f68071a", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_196740e27e7e47feae2c86285922dad4", + "value": 0.5 + } + }, + "2512b80e81bb451ab5bd11642cd8abd3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "256215f9f57e4614a5b37128425a66c0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_3b3dc4fa1ecb44569956685d0577e465", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_c33fce3046e040d4bcbf194cb2bc5179", + "value": 2000 + } + }, + "256e3b7676b946d9babdf84e47bd68a7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_f917cad1c3ce4d17bbbb59a75f6f4444", + "style": "IPY_MODEL_5b238da8103e4664b582e0094d5b0c85", + "value": "Sample Offset (mm), " + } + }, + "25938042af0b4ea78682a6679e563878": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "25d1646dbbfc4f7e9be7c8b1f9fe9830": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "25eac19c1f6e4d44a55f90ce2c0f40c8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "25ec8d742e6543a7b527dbaddd48f4d7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_c369411c1ede47d388e649e7457c0265" + ], + "layout": "IPY_MODEL_cdcd4580d7cf42bf9b1d595234991ef5" + } + }, + "260522d3656c48cc8d0c4c29ba2f68d8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "261d856d744c4497a6298e6881a832be": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_646caace03e244e7b57f2fe02eae3b4b", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_7336e51de8234a49b67d0f98762241fb", + "value": 0.8 + } + }, + "263a92b40e874032bdf98c5397d40763": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_3d8a1fa4632b47fdb9e07125a22699f5", + "style": "IPY_MODEL_07261016c16248728b99d13e01b35466", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>96.54</td>\n <td>76.88</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>96.54</td>\n <td>76.88</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>96.54</td>\n <td>76.88</td>\n </tr>\n </tbody>\n</table>" + } + }, + "2646552d39fd4cac95dbc732e667100e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "268692882b4d445397d480eb9714c615": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "268971d7654f44499eb003b127592ea8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "26a653f497c64369bc2d3f0ab25f7d9e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "26b373c081ce4243a55d605ad1ba472b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "26bb86a582774688ab3dd7759237010b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "26c46c9642744230808e4a702b419a2c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "26d3bb698efc407cb5ac6fd2e32043e3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "26ff3f6179ec49d39f03d67ed7c6499c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_2203973003d142779a398f04de118e8f", + "style": "IPY_MODEL_8a13873288f34e6a863e91a974480581", + "value": "Membrane (mm), " + } + }, + "2708b18f36754c2083b5ab1e445ba0d0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2748d81534a24461b88a3d7dcbf8a5b9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_bf6b943294cb404c9f21370241015624", + "style": "IPY_MODEL_cb00112097554dba87c10746c5d177fb", + "value": "Grating Pitch:379 nm" + } + }, + "276c7c929a154216a39e781b6b9cf85b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2783bc6d95034b34ab07b4981d1ee08a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_d5405eaafbf0487698edfd7ca5a998c9", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_b15a78c95b954cbdb433593682d4d611", + "value": 880 + } + }, + "27b9d9cc150642e1a21f7bc6ab5aca4c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_773df74aa2414bc083b6c92eb71de928", + "style": "IPY_MODEL_9bed63f6ce414952ad560401894da85c", + "value": "TZPG (mm):" + } + }, + "27c53dfedd77419dab08fe8734998263": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "280ff64c14184ab48262a0cd1caaea1a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2837960bded44fa3927f2990fabd1a53": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "28438eaf444e46dc8d5d5ca99def3503": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "28b1ecd5c9d343978328d54a708440bb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "28b7af6739da41b9a57089d1f00d56fa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_75a65602d9ea4705a6499da28d426c27" + ], + "layout": "IPY_MODEL_05d4cf58a3984b03960eafba62311f25" + } + }, + "28c56a51b5264e41b213faefa80adf22": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "295d0ccb8b6f4a9c85aa7161b386c29a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "2990c7b18ecc49fd8aa6a2ac09d42a0f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "29afe502078e49caacc3c99a61f03cd0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "29d0383c9e9340a09e98eb7a8c727a49": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_f65a829e0964430d84551dd7d860878f", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_f830b02748b145d098cdb1beea5ee68f" + } + }, + "29e176f9faa64933b6e895da01688c1a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "29f194119c324abf906789b9b4a9db19": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "2a4414630aa745029cd095cc82f6ace7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2a97a11a25d3404ba6b2f5a67f4fa07d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2af7bf3c6b9c4bb48686b3e5e59e0f5e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "2afe44dda6fd44cb85c14f4761148311": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_8cf1295b157a44a99a42ebf6d4553a15", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_45815797b9f647a2abc0b813ad08bb22", + "value": 0.5 + } + }, + "2b09515c45a8451bbb84a8b4bf9a9ede": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_6b516557c538447c98820eaf0055014d", + "style": "IPY_MODEL_88a11a52304c450499f004f8d3638a49", + "value": "High energy" + } + }, + "2b10981afb224d56ae2d95eac5cb5625": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_a90db4a9a69043a48c171296197fe0e5", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_66aa3d72060142bfa4b918772fe7760b", + "value": 1 + } + }, + "2b2d14bc75714702a05b8bafcd3949ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "2b49db57b3d24ea3a8e68a22970112ca": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_e0f69e62bd6c4e60a45d4083ae051850", + "IPY_MODEL_183ea13538cd47c282cfcdb64a87192c", + "IPY_MODEL_07d700b0929d4149b1bc71173067b1c4", + "IPY_MODEL_e93c6e5226004adcb4bae211ab867d36" + ], + "layout": "IPY_MODEL_5797f37233264248a1fb7077709c4b4e" + } + }, + "2b9ee6851704452bb7a3dfec52fbb379": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_f068d30509d74330baf7f754fc97d4ef", + "style": "IPY_MODEL_bc55db4f2dec4c6eba762d3444d44cf2", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>144.93</td>\n <td>125.27</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>144.93</td>\n <td>125.27</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>144.93</td>\n <td>125.27</td>\n </tr>\n </tbody>\n</table>" + } + }, + "2bacd30f2cbf46308fb647e47b5a35b1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2bf684e1456d4b62973a02a4b8bb27f3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2c0d45a852df4b2bb0c6ed3fd5661a94": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2c1bc55b289244888b80762adaea104d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2c76e150d675492c88e689124921a889": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2d37031f158d40abaa43f0594b1b0eee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_628b0e7524c34249b3f8d4cb009936d2", + "max": 90, + "step": 1, + "style": "IPY_MODEL_a69de714c066404fa3f8d6071c4f3437" + } + }, + "2d3aced458614e61ba10159987f7db29": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2d7836a42b724713b13326ba8b25c06f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "2d9add00a24f446788c766d84a2d3147": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2db04d002fad4d85ae5992830481a18a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2dcb75f681bb428dbff9be9dafa5ecfa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_0e2ab774c56d4b4d87348f9211990531", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_87908949a5a949bea75c37bf5664f288", + "value": 20 + } + }, + "2ddaf319161b4ef19a3a17a77b7dc65f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2de7cd74c40349578f9ee46f14817c10": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2e5135fd8692452bace2ab9df423e72e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2e52ae30e9704d36939d42e651e839ca": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "2e75da9f7b8340ce8c797f14227daf76": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_603f2212748f494a83413a71c8c20bc9", + "max": 180, + "min": -10, + "style": "IPY_MODEL_5f98741111cf4e52b283d5c0659d118f", + "value": 30 + } + }, + "2e9ad4a5a17e4b3096e620b8a28144a8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "2ecc37538cd846ce805cba3350512b3c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2ed83a06fc4c40c1936f49365ac7cd99": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "2ee6e8a9b74643db89e892c28d4d3782": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2f338612194147e89b90c1b37a8bd49a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "2f44a8d0575b428f9cb1b0032e6053c0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_ce163d86f178493fbaf23e6881985a25", + "style": "IPY_MODEL_b14b3e87d5ec440aac1209a957ba4864", + "value": "Detector (m), " + } + }, + "2f5a25811a25407caa5ed9736180386a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_9197127259f74ac9885344d2c62158af" + ], + "layout": "IPY_MODEL_732f54aeda5443fbb055318ffb3da07f" + } + }, + "2f79ec0cfdfe434d96029df93fbe4cb2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_a381793da2e84dc4ac68c5f1413de51b", + "IPY_MODEL_46c65c3babc14c31a8dd0a45433ffb3e", + "IPY_MODEL_344b923947994fed934f5583b23846b4" + ], + "layout": "IPY_MODEL_ade0fd5dbfe64bd5aa545fe57336f5fa" + } + }, + "2fe3595a4fe4411eb5a3e9a788a90586": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_b502849ac55642b3b6c5a7435a65954d", + "style": "IPY_MODEL_76f88fc8f24144f59deb4646567abdef", + "value": "TZPG (mm):" + } + }, + "2fe900722d52458f90e88fa9900ca35e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_9c8819587e1746c79b6f74902bc6ebab", + "IPY_MODEL_2b9ee6851704452bb7a3dfec52fbb379" + ], + "layout": "IPY_MODEL_2de7cd74c40349578f9ee46f14817c10" + } + }, + "2ff4e56e1e6646c78a5adb37564e43d8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "300209feb167409681e15dcc70a172b1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "300436b31b2143168d370f4096a4cd2d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "302f06c0b7514f36b1a0770a147c4b14": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 3, + "layout": "IPY_MODEL_30db33a9e75046199d52831af5962a40", + "style": "IPY_MODEL_50cc4a13de4e49e8a3b8a17b1cd8adb3" + } + }, + "30317159e2b6413f96d49539dea961f2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "305c767f789c4279b60c2a5628f71221": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_370a618550ff45ba868ea8869fda036d" + ], + "layout": "IPY_MODEL_da8069815053446fba0b4e9a04b4749f" + } + }, + "3063f6e573bf42efab788a15949d4bb6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "307d3704c1cf476f917c889cd9b8957f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_3d025b5ef7564e81afeec3904d9bb86f", + "style": "IPY_MODEL_0580f8ddbdc14765a03235b8928cd6ea", + "value": "High energy" + } + }, + "3085bae4c29049e296b01cef9d523bb4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_79b08b22489a4c22974d4a355325f545" + ], + "layout": "IPY_MODEL_90cde5d6130f41a9b3254ed2bc866714" + } + }, + "3085fa1e06244f33a7a399a21092db9c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_7f20d0e43d5b4420ab755c6046499a41", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_d4a3123e5dba40a6a8ac4ba21a81a36e", + "value": 840 + } + }, + "3097de95f2234ffa9b09bdac11517524": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "30c8b2d416dc49ce9c79ded2bc4706ed": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "30cef6bf6de54d619a0540a238435a5a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "30db33a9e75046199d52831af5962a40": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "30ea082e01454a72811a218080485c2b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "310b69aad5204c178025fef4f646f9c1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_e7a0cc9f1f634b36b305561a1b61f8d1", + "style": "IPY_MODEL_34a83665022149819fd369f366b79d6e" + } + }, + "31464ca4014f411cbbeb95f1b172de7a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_447c6591ce484c5fa888bbef629c64a2", + "IPY_MODEL_64d2540d3ede45a1bc58b5bb21ca232c", + "IPY_MODEL_da3fad48dc904984a1a35c5d98d9432f", + "IPY_MODEL_5b778f4d3610484ab5e7d6c514ed9527", + "IPY_MODEL_7f4e761864ac49f8b06b86d84be346b2", + "IPY_MODEL_019c42749198444999a5e7fee52fab86" + ], + "layout": "IPY_MODEL_a9a432f6241f44c896bb83084f9a41f7" + } + }, + "314a9597e264463c9baa03341ccf09df": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_66297e690efa4cc3921f1384d650f4fb", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_ab2cd39d52ce482e8d0504ec69607bbb", + "value": 840 + } + }, + "3165ada44f2442bbb2147dd87d359cd6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "31a6ddef7bd2483298f72502acebaff7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_c13f38cd58444d2d98837966a1db769e" + ], + "layout": "IPY_MODEL_b9bd7caeb73f444a9dbbeba29512e8aa" + } + }, + "31f7823a82464c5ab7bff89cf96891a1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_7a9cbb6ab37147c18cfdf6a49bf1b5ce", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_c2ab505c31254adbb7c5a655d40beca9", + "value": 5.05 + } + }, + "3225617289a444a8b12efa90d3c3ea21": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_844d33a472f04be5b1656904196b26f7", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_2837960bded44fa3927f2990fabd1a53", + "value": 840 + } + }, + "325c7c54cab149d6b74e21750ae4e69b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_6b6730a3e2ca47d69c70808668364ffb", + "max": 2000, + "style": "IPY_MODEL_8f4f4bc10dd24841b701bef43e969ab5", + "value": 200 + } + }, + "326ba9b0b3084fd88354e738b31db85e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_28b7af6739da41b9a57089d1f00d56fa" + ], + "layout": "IPY_MODEL_976879c4cb1d4dd3a7bfdfa8f5bf98b9", + "selected_index": null + } + }, + "327a5f338d4342a0bacf380e238527c9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "32ae9d6b141f4380bd6042711a8883b9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_7ed9c434f95f424b9a18cc7b67b2562b", + "IPY_MODEL_823c5523b0ff42c18d536a4243b0e7ec" + ], + "layout": "IPY_MODEL_e0ef8d0fb97242a2aa99f2ce9beae92a" + } + }, + "32d9d51c5e784f3b8bc36772334d0fc9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "32e7a015da13438b8702082b4bda5c51": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "32f0c87ae1d9489c931bf79097611887": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_b4b36d8309304d9d9e5c445947ebb1e5", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_672eaf56e5134f1d88fa05b8b3f05c6d", + "value": 0.75 + } + }, + "331b701931da47a4ae9151d5b2e4ba99": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3379f6c0f25947319616981bd3d00215": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "338135df07e745dba56103ef3b5d25b4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "33cb170ad6604c058fe0236763e1aa45": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_c20fdad8c5c74be08bef92beb4cfa6ab", + "max": 90, + "step": 1, + "style": "IPY_MODEL_879931ee8783413ea0d682024807ffeb" + } + }, + "33d0be65bbe247b39463819e5614ba47": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3429fba3309c40b5b1e1259dd7ff39f3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_ff15da5594f94778b6cd10248ce20448", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_54983aac37584af3b73c23a60ed2830d", + "value": 54.74 + } + }, + "344b923947994fed934f5583b23846b4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_01ac67ab80b5426fb6bf7a18fbd5740f", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_583d9007e97249d28d4e195dee78c9b4" + } + }, + "34a83665022149819fd369f366b79d6e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "34b4f28941aa4a5999a50ba252e4fbfb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_fe68f9ae1ff74155bd78d72b615c54e2", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_8b1a547acc2146e9ab8813a8400f416b", + "value": 54.74 + } + }, + "34dc2e5ab40f4e0e86d59fde261af831": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_15af32b5db3140129bfd08fc67fa6f4e", + "max": 90, + "step": 1, + "style": "IPY_MODEL_5cae56fc4a7c4592985145dc83b2f478" + } + }, + "34e0c59b21db49708e9fa3592b97b972": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_59bc1dfa491441628ea4b21b7ef0bf43", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_b44749855deb483c96bb3fb8653212e4", + "value": 0.55 + } + }, + "350c0bcde3334ea3820bdd5956de7e48": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "35b4edc4529d423faa293ccb8813ddcd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_6d4add090f9b44f8987b29406f529fa9", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_fb95713181f647028fbc62869f688fc8", + "value": 2000 + } + }, + "35c13a9cc1204589aa0dc41ad59ee98e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_aed99a9f471d4e52b3b13604b0a243c4", + "max": 180, + "min": -10, + "style": "IPY_MODEL_6dd7ae3e035e46cba6912afac9eaa442", + "value": 46 + } + }, + "35e8bb89ca0f41ee8cc2e7d883ebdf5c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_c168088995664f3eb6171bbccaa8f859", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_99b6b53987ec4676a876dc56e8469dd4", + "value": 860 + } + }, + "365b47fb005d41b3bb3d3fb75c98f50b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "3686f46c32f7483eb95c3b9d83b3abf9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "36e006643b484fbcba176a19cb47b325": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3701c608876248d883d7245627cb438d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "370849e15ed14071ada1450125fc71a2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "370a618550ff45ba868ea8869fda036d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_d5126b34932f48c79817412900c32d36", + "IPY_MODEL_d0e4709300e848e1908cefb20b6b5b0c", + "IPY_MODEL_c0a3b186bdf543d7b2c8a0d61eb2d4fd", + "IPY_MODEL_051a4a4fc566400293514640d33a69c3", + "IPY_MODEL_8dbabab5adc74d10867f65876d3cd02e" + ], + "layout": "IPY_MODEL_ae3ac9e50a724d1ea50351b5471e6d20" + } + }, + "370b344191ff4c9dbc6f89793f989a8b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_56a9d501ac0240979e6b624c177f8f10", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_3b8244eb20584a91b11a87bddda10e81", + "value": 0.75 + } + }, + "373310221a6d44be9e9e8d5405d7b910": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_48f889ed8bd64532ba4d4250bb01d9c2", + "style": "IPY_MODEL_595e6e1bc68a42c9920f03ccd6838076", + "value": "Energy range (eV):" + } + }, + "3742783172ff4b08b6fa9d9dbffdb519": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "378161180e8049bc84aafd8057f899a2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "37884ab275a94c9eb9be2b0ce73ef44a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "3797d71aff9741e0b531af1ea8bcd9b5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_1aaee61c3dd944b8a1f7f3900215d872", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_6920056ec72648a3a7de8d7b571a3885", + "value": 0.8 + } + }, + "37b9866a8d2e49ad82c6aee97c43c306": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_25eac19c1f6e4d44a55f90ce2c0f40c8", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_caec6c5ba89347d28f126f526baff2ba", + "value": 880 + } + }, + "3805c14715ad4a2ca6057e38bb9a05d3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_300436b31b2143168d370f4096a4cd2d", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_d91c57445d4043cc85440265e42f49fe", + "value": 2000 + } + }, + "3848f53a073b47639d7157ee62de4eef": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_59e6ca1b20a140719e04669acc234287", + "IPY_MODEL_1b2e76ddf9c6462a89517b564300b907", + "IPY_MODEL_7e398ba0e1bc4366bbef39915d4e30fc" + ], + "layout": "IPY_MODEL_c3ffee83be43447f90203655c5ea9cdb" + } + }, + "385a49d083b447a19a03b69907737efb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_129a8ef1510b48a0a04f2b84cb64f208", + "style": "IPY_MODEL_11e6a9730c7e4ad991efe63887597be1", + "value": "Detector (m), " + } + }, + "386c360722f44e62b76b12ed0662530b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_8975e2cfa70c41b6a4d90c150d9f102f", + "style": "IPY_MODEL_49ce3fdb165c41b98f93be6d00d22d8d", + "value": "Outer Zone Plate width dr:285 nm" + } + }, + "387950559631434db7e3715dc8cb41b7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_44686ff4029a4ff9a50c48e765d62dee", + "IPY_MODEL_5c3c83efd01e4b5c973affe855a8527b", + "IPY_MODEL_74bd64998aea40f6ac4f06805fbe8749" + ], + "layout": "IPY_MODEL_90aa766d53cc4eadbb69bf63659cf619" + } + }, + "38900705626a4bba867f93eed3d5467c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "38931a9310794094a07e62a6bd84a9a6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "38a265b31b274fbbacc8a167e5000992": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "38e1eb4d7ef449b8aa6fafceedc9a53b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "3947f9ca665e4b5a9b3f3b5a91d3b2e1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_3f65482e13044759946af234820feed8", + "IPY_MODEL_9752e911c01a4fe1a963345d0291d055", + "IPY_MODEL_37b9866a8d2e49ad82c6aee97c43c306" + ], + "layout": "IPY_MODEL_8cb2db328b2f4bb19462e83a645e87fd" + } + }, + "39770f3dc8f54279998d180d5c8cac37": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_fa5704aadfa545ab8beec76fadeaa2b7", + "style": "IPY_MODEL_846b9d275a31464a8718115ce91711df", + "value": "Energy range (eV):" + } + }, + "398782b77df24fedac2db6e899aab973": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "39b8df13c0814b9b9d3120c65c0ba23c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_ae4ac4ba726140508e8a3852b5513c4e", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_5d76e866550747d4805b5fd5164c796e", + "value": 200 + } + }, + "39bec103240a4871a2feef15c702b062": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "39d56a7031314fd1aa09c3724485d93b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3a03607fa899422dbf9a0813e0aaa6d0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3a0d9dce61864ad39894659a6eb39c91": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "3a827646788b401f987a2fd105fba79d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_62469112d2f845b39887b823801a4e95", + "IPY_MODEL_db11b7b09f99411db03957767ff35c84", + "IPY_MODEL_88b4b39b821a47bda28df65bc88b2853", + "IPY_MODEL_feef6eb07064495c8db2d317cf3f2a6c", + "IPY_MODEL_be6a77ba38a54f8a9a5e0be52cfb80fb" + ], + "layout": "IPY_MODEL_ebb12ea3d5914b4da4bc53383bf17f0e" + } + }, + "3a9dd5337eaa4a97884f3c638b324820": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_0251c0df4b024f9ca45461884c30836b", + "IPY_MODEL_08a77d3803f240e48633baf954ee29a7", + "IPY_MODEL_4b1cc60ef7a946cb84bad651ff71bd96", + "IPY_MODEL_85b54555539442d1b504afcee919ab41" + ], + "layout": "IPY_MODEL_6f1f2fef047d4cd790adcee3c836e11a" + } + }, + "3aa2e8ca115e41689ddf7879824c3b3c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3ad0e209247f436f90297d3a413bf705": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_3bb12e00c0364900a11d33b303eadd5a", + "IPY_MODEL_986972c65e084add822b3ce913b6d7fb", + "IPY_MODEL_2264dcff7a094736aa732d482daeb5aa" + ], + "layout": "IPY_MODEL_169609d494534e6ba7bbe0a2779ee993" + } + }, + "3ad2e92a26f2428098be513d368dfb1d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_4126841b65de4621b2d9f2601b82f65f", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_10094d8a70334565917fe15cbcc89f47", + "value": 1 + } + }, + "3b0983e96aa8459eb3511cce82c9566f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3b3dc4fa1ecb44569956685d0577e465": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3b56b9881b654df69dd38414d99b40db": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "layout": "IPY_MODEL_a7390cd6f5fb4a9db6ddec1b1b909128", + "max": 1, + "step": null, + "style": "IPY_MODEL_4389a82c92654cd38b12d086e889c55c", + "value": 0.25 + } + }, + "3b59a0f0b4fc43a39b93f6a226e4a46b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3b8244eb20584a91b11a87bddda10e81": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "3b8a27aff50d45fcbf90b96cf177a1f3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "3bb12e00c0364900a11d33b303eadd5a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_08576dad15c842968e4ebd45fe30a043", + "style": "IPY_MODEL_61b08444a7384a4389fc7440dd07597d", + "value": "Sample Offset (mm), " + } + }, + "3c86a3b3f734491ab0f9c2f18911f1bb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_4dbfada6eb0041cab96be74432c11a08", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_1b6de1a2def74926b6ed891f2e7f9928", + "value": 715 + } + }, + "3c932985f0c84c4b8e4809f55014f0a8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3cc120ad3b664aaf8309891d3974ea00": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3ce47a8dfe594986a99be77bccd24d47": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_6dac7e8b25f24573bb89134069e36c03", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_ee70d7eca96a47879a6b8c1491038b2f", + "value": 0.55 + } + }, + "3cf54998af3d4a4e82328984c3c09549": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3d014c71c8184f798d753e98b7cc0a3b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_e6a951183026440a823d0ae2332f785e", + "style": "IPY_MODEL_928026ca4e9a4e048f9ac2c18385c012", + "value": "Membrane (mm), " + } + }, + "3d025b5ef7564e81afeec3904d9bb86f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3d27be27db6843838e429f494c881562": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "3d2d94092edb4c429ef31a5d771beeff": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3d69dcb5944142459a9739624f960588": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3d6fa9980ce6435f9a1d7f7776945514": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_b8f03880c3424c9b8f2f68ba16cbdd11", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_615cbfa3205444469576d49cb6e3809b", + "value": 0.8 + } + }, + "3d8a1fa4632b47fdb9e07125a22699f5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3d925617d0cf4f389c7c69e6b79b37a6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_9c79054a6e1b4bd2ac3e075cb0162ce3" + ], + "layout": "IPY_MODEL_c4f654c3a66d4c7bb5cf0e3310fbd692" + } + }, + "3db8d492b05b478cb28cd8936fb7f32f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3dd028afd1a24de9a55718a588d59e4a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "3e09fac7e2624ce0a752fecc1613f2e4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3e2c3d3959f641ca8c4ed49ea2caaee0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3e2ffef19f3846c79e1a65db08b680b1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "3e3ccd91d59645b78833dbe900e20e8b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3e93da9fb03541d1acaa19bb249cd77d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_aff3fb9e92fc4d39876e1372a1eedc1b", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_3063f6e573bf42efab788a15949d4bb6", + "value": 0.55 + } + }, + "3ea0036661f446f3a6b1c7ccb98b0375": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3eabf2a2920d42d4af395d57210ca831": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_249c3632265740dc994697afcebc0229" + ], + "layout": "IPY_MODEL_21edbaa9ea704b448d3350579cdd9974" + } + }, + "3ef43d869aef4d028b35f93bab024db1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3f07b1e110d44f4fb589356b23473d4e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "3f31c7a1b23e4b64bdc7fda289cfe352": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_99a957e0bf4b4814b3af916c67222b3a", + "style": "IPY_MODEL_cf3523438b1040858d50de58e9940793", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>735.57</td>\n <td>751.10</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>735.57</td>\n <td>751.10</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>735.57</td>\n <td>751.10</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>160.42</td>\n <td>143.60</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>160.42</td>\n <td>143.60</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>160.42</td>\n <td>143.60</td>\n </tr>\n </tbody>\n</table>" + } + }, + "3f3662d7c0c24780be4378e40eedfec0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_88ca49e7118c4927ac250721e7900c98", + "style": "IPY_MODEL_4e2bcee9964640d496374bb4495c02b7", + "value": "Grating Pitch:510 nm" + } + }, + "3f65482e13044759946af234820feed8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_b790a7f3c0c5434f99ef687d27f95b8a", + "style": "IPY_MODEL_6fc59c9911c24e1fa246945191021b86", + "value": "Energy range (eV):" + } + }, + "3f6a3f5ca4444ddc94d85df3b91797c2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_012d3362ca764ba69048ba63cbd73b7b" + ], + "layout": "IPY_MODEL_6413e6d40dcd4dc48c9521d5cd6c8f18" + } + }, + "3f9266d3b81449f4b8f90fe275b14e5d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "3fb12cd3df2f425b9b58744bdb22a919": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3ff533efb91f4b21813456745a3b8ea7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3ff7f0f3112a4a61a5028b888cb61747": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "3ffa96a815b648a0a15c50a9cca1337a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_83fa4f56b4294e81ad54f4c561d995cd", + "style": "IPY_MODEL_114467652c3b4852b03ddcdc2c976af3", + "value": "Energy range (eV):" + } + }, + "404465f69e734a6fb6ea228c02511811": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "408c774c010c4b0788ea2e54a1ea5bde": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "409d65a3770c47b896ec57b9f05ee24f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "40a0c92ee5d34e8fba02f471a834fd60": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "40a0d7cbf95a4a23959914963e7d8acc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "40b6f10d5f604a16878f6b8b79fd8ff6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_f6bddb15323c48059360da2cae00356e", + "style": "IPY_MODEL_0186bb58062e498f8e7c87f6ad4e44f5", + "value": "Low energy" + } + }, + "40db61a90ae24a8a8014031776f3a7fa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_bed70c7195c8410f8b299b306ed0c8e4", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_e5fd84e35c5743ac965957c3c834cf89" + } + }, + "4105c4eb7dc24794ac80cea920c2023d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "41180646d28c4851855b3b8bfb12b629": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_d19d74d001f5431ab64d25305d043bb2", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_5bf8361741514fc593b996d27d99492c", + "value": 3.1 + } + }, + "41217f4f88a248da996f8840ec1a938a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_58de85251cee476288e136c76392890e" + ], + "layout": "IPY_MODEL_7825e502abd64540a26e4ecbbcc1ee83" + } + }, + "4126841b65de4621b2d9f2601b82f65f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4157cb6361e94427bfcb8c118907c23a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4216cc9ea7e54544a0ef47ed62350ad5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_ac3e3e1dd71541ee8e8f83be381b825d", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_914c8a1570f54bb8b2eb069a28009b40" + } + }, + "421e4b2d0c5547cf8e008525d48ad765": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "4222d70735054cec829302c617a91764": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "42741c1f1687439c8c56fcfb5509e7d6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_e3dc087266454e8b9723bb5563c135b0", + "IPY_MODEL_6c76f83bdfbf45f8a2c08e2de02eb22e", + "IPY_MODEL_5c73c1e1516a4e03b3a698077948fbc1" + ], + "layout": "IPY_MODEL_61000d745f3d4c7fa959074b87f20693" + } + }, + "42bdf47fdf434de9887b09fe13f7e44f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_f3044b44da2f49ea95da6c7b8a5de1aa", + "style": "IPY_MODEL_65f7cd238fe04faea32418e78adcf616" + } + }, + "42c281a7b4d84390bda07f2ace5735b4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "42e6c2fcf67d498582560f2725c1eef2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "42fe584421464cb6a0fa3d74c64d415e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "432a00d8414942928f6f667f327a6c36": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "433dd08d935a40a3abb00683d9ffa0fc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_b529c87c4ac44cd7af83f86a99975fa9", + "max": 180, + "min": -10, + "style": "IPY_MODEL_f292f72ff6584e15a449534631ab6b39", + "value": 30 + } + }, + "4344039d669e4078985fcb7faa63b942": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_8c79193a2079419586067f13a0b118b8", + "IPY_MODEL_85d5dae7ecf9429fbc4c19b7448f7dae", + "IPY_MODEL_dfab25c7da39473ca5468dded38b6b0d", + "IPY_MODEL_bef8dbe624dc4a01baa8a469e9de7652" + ], + "layout": "IPY_MODEL_9509f20093cd4a858d90059864c60070" + } + }, + "4389a82c92654cd38b12d086e889c55c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "4393ae8743874d3bb4fa1060486b4fa6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "44240dbba0b04aa9bf03b568ad397b44": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_c3a93892e17544b68e9c7c4815b24ab7", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_b7b0c110ce7f4df5bf24dc5393f47bb8", + "value": 3.1 + } + }, + "44686ff4029a4ff9a50c48e765d62dee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_70a7b447b4f543389c476c55a65a2d9d", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_03f91a0b41cf43419cbcc8e780f72fa0", + "value": 715 + } + }, + "447c6591ce484c5fa888bbef629c64a2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_4157cb6361e94427bfcb8c118907c23a", + "style": "IPY_MODEL_59701201222745ceb7daa9b4dbd47b02" + } + }, + "4489e7023ebb4e8291c62aa548635c05": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_c024b058213e4f72b799eb6561a2af3c", + "max": 2000, + "style": "IPY_MODEL_a02eb837123c4d018359451d4a2d3764", + "value": 200 + } + }, + "449bf007280a4e6b84ed25891fa50569": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "44e0dde6a2ec459d8eee89f8207e48cd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_591aec1aa5f34366a405551aa47a6e17", + "IPY_MODEL_fef013802aef444fb8b20a4c71bd482c", + "IPY_MODEL_3ce47a8dfe594986a99be77bccd24d47" + ], + "layout": "IPY_MODEL_f818a612b38e4992acd0e0fbd454e7a8" + } + }, + "450480f8b3044caea2f16f401857b43b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "45207426a1804dfab251acc0e7538b33": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_bc1ceeffd7bc4225aff10fca0a9afb5e", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_618035e07781437f9aab2aced16bc8a1", + "value": 381 + } + }, + "45815797b9f647a2abc0b813ad08bb22": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "45ff297c67d842b3ba4effa22cb23baa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_248c3318da67438295cc69cf8e6d895c", + "style": "IPY_MODEL_5978bb349aa84a51b636e7d071b56192", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>96.54</td>\n <td>76.88</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>96.54</td>\n <td>76.88</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>96.54</td>\n <td>76.88</td>\n </tr>\n </tbody>\n</table>" + } + }, + "4637370959f04c02ad97d94b024cefd4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_2299d432da3b40f09768b0c41e757631", + "IPY_MODEL_eb18e4385afe4d82ae921552d66cc9ff", + "IPY_MODEL_1450608de43e4a43ba514a048582810b" + ], + "layout": "IPY_MODEL_a9f6d17a229b4de1a282d7f469ebc186" + } + }, + "46b7e70122084d1c98450552ad637e55": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "46c65c3babc14c31a8dd0a45433ffb3e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_832ac08b0af042abb56f26f430180cb9", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_8aabd04b11934f60b8699803b8885c78" + } + }, + "46cb97af1e19442db2ebf21b0ec074cb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_35e8bb89ca0f41ee8cc2e7d883ebdf5c", + "IPY_MODEL_5637e121d7b64188a54b67ca30a4a4d2", + "IPY_MODEL_370b344191ff4c9dbc6f89793f989a8b" + ], + "layout": "IPY_MODEL_276c7c929a154216a39e781b6b9cf85b" + } + }, + "46e704973b1d4872b32f536d19252e07": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_b2c8d9273e7e4284a4c1ec1d67e5a5f8", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_b13f2415d7674072b8f288556a2b158c", + "value": 34.5 + } + }, + "46ee5f4325fc41bc97f2a9f7672b3cc3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4711a9a9eb284ad088aa38d1c8f87f5c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "471b8f5ca66c44ebbb4645b9b6c4388e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_3379f6c0f25947319616981bd3d00215", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_ca7afb9df81046c8b84620c75b443529", + "value": 5.74 + } + }, + "474365a24770471bb09e0e288c23540f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_dba5b139cc844e8dafc73d50efb73532", + "IPY_MODEL_44240dbba0b04aa9bf03b568ad397b44", + "IPY_MODEL_605aaf7ed87d4a43bcbc9e351bd78b40" + ], + "layout": "IPY_MODEL_1ec1059b475b49559a8223b6f6373980" + } + }, + "47583746ccd84efbb92ced48fe91959a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "479c04420a9c4db88676175966b6ddea": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "47a1ab1e832041a79ccdbd2eda8133c8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "47a5b738af254fbba63e82976c0cedcf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "4872e7f046024654bbb57f1e8998d561": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "487c675d9c6245ea8b11bcfb86de312d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "489464f4ab8f4fc9b9cb69c3fea3bab6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_ba21afbc680b4d0f895210b07c612514", + "IPY_MODEL_955d886573e644e7859071513f256b40" + ], + "layout": "IPY_MODEL_c8d604bc3af44535896eefbcd65491c6" + } + }, + "48aca893471d4e538a93b4f1e8310941": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "48eaf9f4a32a4944920f67ee9ef6af1c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_b84c1cb4caba4acdbecb53cb1c1589aa" + ], + "layout": "IPY_MODEL_ba5ac17758a14a1491015a667ebcf7fe" + } + }, + "48f889ed8bd64532ba4d4250bb01d9c2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "49439690b66646a9994643b1cc03a23c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "495064f89bb34bd89215bf023ed706dd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4995e0fc002a4eb2bc219c989574f706": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "499fbe08c0994ef9a0c322758183c953": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "49ce3fdb165c41b98f93be6d00d22d8d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "4a242ae65cb649d4a59743d266e610b2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_72d2ebedb8a64e9da20ce78b24abb864" + ], + "layout": "IPY_MODEL_2ddaf319161b4ef19a3a17a77b7dc65f" + } + }, + "4a3b75ee430c4c54b59b3dd4939a6e4c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_dee156cecead4f6eb09a22e52c9bdc7f", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_cfce0ff4fe1248348ef2fdaeda9df8d9", + "value": 708 + } + }, + "4af3c147f6d04f33b23ef636174bb400": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "4aff20d454334bc592d4277fde34613f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4b0caa06a556497eb19e4eeb458cdfd4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_6217622efad84e15b962bed8c568a0d7", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_122c042830ff4c9095e9d511d6633226", + "value": 2000 + } + }, + "4b12a1f7be5e45ea87d9e1f63dfc5561": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_99aefb6c516a42e384cf8976381723bc", + "IPY_MODEL_00f2f96fb5344bb9a5c2f3657160dfaf" + ], + "layout": "IPY_MODEL_2708b18f36754c2083b5ab1e445ba0d0" + } + }, + "4b165726ab97448cb23feacbbb94043d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "4b1cc60ef7a946cb84bad651ff71bd96": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_04d47b9e029645b082e6f0e366685675", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_5cfc88f75478422e881160d7a967b288", + "value": 5.05 + } + }, + "4b6d469e54854b25b042a9ec22af2e85": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4bc14086b6fb466f8782651b71fd5174": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_28438eaf444e46dc8d5d5ca99def3503", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_8dafc72f1afa474fa205a5efde5d64c3", + "value": 0.75 + } + }, + "4c14f1e226264c48a67c16a61b6dfd11": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4c1548e6a5f34afbbbe4939505dae44c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_fd8d275160864f46a658f845adfefd8a", + "style": "IPY_MODEL_6fdf6e5344d74acca75ca2b44b58ef53", + "value": "Detector (m), " + } + }, + "4c5d238c36d34ab2896b909cc8a80da1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_6b9ac35710814b5390d3f1787d909f69", + "IPY_MODEL_9930ec49320842fbb3d2ec7655e6019d", + "IPY_MODEL_bee2fca98a9b472ca7f9197c589a8a14", + "IPY_MODEL_ccea9a0398714a68b2e156b4945d48fa", + "IPY_MODEL_1ae643ae8d174857b0f195064fb04527" + ], + "layout": "IPY_MODEL_dbaaa0e991d04123b83ca91aaf9fc749" + } + }, + "4c7f7ee5b8aa41998f32801d2fbdf9d2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_68eda98b95c542fc98d02fb53c2a62b0", + "style": "IPY_MODEL_ee3acab9503940038e15b45cc76fcaa9" + } + }, + "4c833b7146384dbd82855c611798f95f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4c84c9cf5e274f348ee1b42e32203ced": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_42bdf47fdf434de9887b09fe13f7e44f", + "IPY_MODEL_123065eeb16e428daae4a23bc15c40c7", + "IPY_MODEL_3eabf2a2920d42d4af395d57210ca831", + "IPY_MODEL_f2df510581a04eb3ae164abe9fdc08f6", + "IPY_MODEL_ff55576b46fe4b7b8e6e116aed8d2905", + "IPY_MODEL_1ce80fbdd6714b67909dd37a7f1b3649" + ], + "layout": "IPY_MODEL_b30d8ef36acc40478206c614adf7bfad" + } + }, + "4ca2d0e6ae1b4e449da09270111fa6ef": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4cd57ad892ec42aea6c7469742efded9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4d1b0c910f4d48b284730de62778f1df": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "4d2b98c4b57f4b1587749da05f5f98a8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_581adce20baa40958cdc01a30b3ff04e", + "max": 180, + "min": -10, + "style": "IPY_MODEL_3d27be27db6843838e429f494c881562", + "value": 30 + } + }, + "4d3bfbd36905499eac51461c1501fea7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_05233531775b498487b66efe53d20db4", + "IPY_MODEL_a644e3143f2f46bba555aae33a65e250", + "IPY_MODEL_9ce359aa5d96409497530cabb885b32f", + "IPY_MODEL_e694b770d5f04a4fbef6ccb8f54a5d59", + "IPY_MODEL_e89b796452254e308b5637a883bbdd83", + "IPY_MODEL_08f56ceebe26404f8cc6c6a5f4bbe38a" + ], + "layout": "IPY_MODEL_76c4f326b9b04197ac7211df240bf03e" + } + }, + "4d90bd3dd97145a6b0db24e6b77a5953": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "4dbfada6eb0041cab96be74432c11a08": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4dc5c797d6714f2796f1275624c817ad": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4dca26e49fe44f108a72943c687b8a7f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4dcc11aeabb04a5bb50f0023e301d6a1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4e2bcee9964640d496374bb4495c02b7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "4e48b6840cc746438be91ad34810610b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_237b7b0ac3c9481eb9b960894dd24391", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_b6a075d858f949d3bfc084675f7232c9", + "value": 2000 + } + }, + "4e53586ff3ac4b6e83852e1d4d437ee6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_7437f469ccbf432987c1da395c4f79f9", + "IPY_MODEL_641d97aa5e5d479a918336911a1561f8" + ], + "layout": "IPY_MODEL_a3204ea53c344b7aaf6c823cb9e9e07c" + } + }, + "4e6d9ce0cc9944eba03b6feedc314170": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_1699132b0c454de8a0d5a39cd85418bb", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_be36e48863a249a8ba0b327dd72eb1e6", + "value": 2000 + } + }, + "4eb0e0dd8cac4bc1bd2eaa9694ec5b65": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_9cb4697533b7404bbb704a0bb171a7dc" + ], + "layout": "IPY_MODEL_a548fb795fc1463fb253d5652f20fae7" + } + }, + "4edca99839534b029037dcd11f9449bb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4f113ff10b384744a4655290e4c471b0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4f3a9b5119d444c2912382f6a62af6c0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_d62221e013d94b828fd8ff3fceae368e", + "IPY_MODEL_3225617289a444a8b12efa90d3c3ea21", + "IPY_MODEL_b1d4f2b6c953467eb477d4d89167c8d6" + ], + "layout": "IPY_MODEL_c3bcb24daf824799a0468a1280ff6ad9" + } + }, + "4f5a7b4afadd4fd7837e4ef310e6cb00": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_0c8bd55780064c3697784363b3438380", + "style": "IPY_MODEL_ac8a5e40fc244c9aab19134cc7ba02b2", + "value": "Detector (m), " + } + }, + "4f8d7d3eef7747eeb0dd3053fe41b1c7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4f9a2c86e94b4620a7a920090374d50a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "4fba4b26317142958d99a97fd1c9bb45": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_0680bdfffe094e00843b5528e1fe4bbd", + "max": 2000, + "style": "IPY_MODEL_ddbeca41af4143d3819506ddfd3b3a1f", + "value": 200 + } + }, + "4fbba19df1444690bcb87b476c7dc63a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "4fdb167de4474792abc7c3c8f87e3210": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_4dca26e49fe44f108a72943c687b8a7f", + "style": "IPY_MODEL_a439da1b5dbe460fae6716fce1533e1b", + "value": "Detector (m), " + } + }, + "4fe14ce208b9490a9c6dc1205cff5fe6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_eb53a5b3370644d2a8558b7080aecf71", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_8cbc34e506cb4beca035219c44d168bb", + "value": 54.74 + } + }, + "4fe30845102041e1bae362d4159292da": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_7b0069dfda3a43699f393c4cd94f5535", + "style": "IPY_MODEL_8f3c26c4ef3d477bb326310b69c3ba00", + "value": "High energy" + } + }, + "5051358690854107a146ba28395430be": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_af47df33f28543278dc0dd9782945063", + "IPY_MODEL_1b21264edb82442bb2e3721693fd324f", + "IPY_MODEL_eb0c14c717f1403d828b152666086d06", + "IPY_MODEL_b5f8448b81d44ca5a64933adbad9fda3", + "IPY_MODEL_db1206a4284e4733ae23bcf98dc9ca64" + ], + "layout": "IPY_MODEL_d444ff2c9d084276ae77b336114cf070" + } + }, + "50514dde8aba4ecbb2c713993692efe1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "50582c3307ad48288f38f87423b35577": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "507b47758a5243f3936dcb6de969da6f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_57a76eb2bebe4836b011cfeb18dd83d0", + "style": "IPY_MODEL_cefbe4ec49bf49f6960301eb1be1be7d", + "value": "Energy range (eV):" + } + }, + "50840e29b9794dc19fbb435affe41631": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "50cc4a13de4e49e8a3b8a17b1cd8adb3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "50cda55ef7a644b9bbcd5581bf80d8ce": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_b199cb7342fb4545907c788a2ec7005d", + "style": "IPY_MODEL_1c4b68e0f6d2403ab0f85da582ef6136", + "value": "Sample Offset (mm), " + } + }, + "50d7bce775d54ee482586e1feff26968": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_0a2ea7d2354a4be498242128b5418a2b", + "IPY_MODEL_074fe9b1a97147c6b5c869648b0b9675", + "IPY_MODEL_6bfbffbbff5446e6bba1d8737badfb33", + "IPY_MODEL_7869a5302de14f2e9d3837bc144b865b", + "IPY_MODEL_326ba9b0b3084fd88354e738b31db85e", + "IPY_MODEL_00b71be1c2544a62a4c8e4a52b52d673" + ], + "layout": "IPY_MODEL_b6f705feaf464b1ba7210b52fc3ee597" + } + }, + "51972633238e4e64be478f7551c386fd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_d1235bac8f2f434582186d546d1d4864", + "max": 90, + "step": 1, + "style": "IPY_MODEL_ec51ee6161bf462aa45f8a73b3db37ca" + } + }, + "51b21d368bea4e12b9745ecc0f36d0fa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_39770f3dc8f54279998d180d5c8cac37", + "IPY_MODEL_ff550453a3444628888b482998d3aac2", + "IPY_MODEL_a5670804c8c84494963f22ec27662502" + ], + "layout": "IPY_MODEL_e7d010435f874558aec715a28db5bf22" + } + }, + "51f1219c2ed848bab74be6c98ff85d1f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_e6cd357762054ee89f7031294dc427fc", + "max": 2000, + "style": "IPY_MODEL_b651be26532b4ec3be5387e3ad97d52b", + "value": 200 + } + }, + "52467dac1e244eb7bdc55d3123e872a0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_ce2e3d0e73c7465f9925ec5ca2c6e642", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_fc660764407441aba08ed71b6a170ad8" + } + }, + "5283be70ed57424882ea78626a94ab56": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "52beb4fba4024d4f89cefa1338814c70": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "52e10c51abf74ba1818bbddb7a987ce9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_a7e59ce166d0454c9f43694935c50d27", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_1a00c50eba8b4a298f968e4142473410", + "value": 1 + } + }, + "52f5ae45a3644466858069d8d68e60f9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_13e095f412a842d5bc3e2f53ea927420", + "max": 180, + "min": -10, + "style": "IPY_MODEL_5cde1bbd95b847968081134e707c0b77", + "value": 30 + } + }, + "53444a4da488436786c0cb03405c668d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_b08f1dcf92fd436eae1d3cb21498aeb4", + "style": "IPY_MODEL_9955dbddde9548ad86722d416616709a", + "value": "TZPG (mm):" + } + }, + "535dcc3b907f414985f74e5bd132cb36": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "538297c5e46b4b2687f6a6f67493f8bc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "53b73e9192c4448ab2f12b5c146797ab": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "53beaddd73414cbe99519f2dedb47393": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "53c81ee3f9cd4be09dfd33f483e9a1bf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "53d7df892be14687935be35ac1e08ccb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_2371514924564f4bab3fd15f793943bc" + ], + "layout": "IPY_MODEL_3d69dcb5944142459a9739624f960588" + } + }, + "54507b90e7f74f5a98fe630354a28d73": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_18a6857b0cbe4ec9ae74ce40c9b68820", + "IPY_MODEL_6b91093add0b4d05843793be6183249f" + ], + "layout": "IPY_MODEL_017c7834dc3f4d76aa2bf237c942e53c" + } + }, + "5456552b22a844f7b316707ec112cb1f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "54983aac37584af3b73c23a60ed2830d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "54c7ae13851c43509acb9c19fc6fe804": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "54f2730a77494764a5e2cbf3cdb65b07": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "556c9f2873f84e85bbfb8c469be78816": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_2a97a11a25d3404ba6b2f5a67f4fa07d", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_fa7aeee02406408581688e0626955748", + "value": 381 + } + }, + "557911e4a3ea42a68b72e98c0186e540": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_99b8916ecb364806806b01551062faef", + "IPY_MODEL_4489e7023ebb4e8291c62aa548635c05", + "IPY_MODEL_5ac8198505c84264be4958992d4c5a4c", + "IPY_MODEL_fb5daf42b94f479c8c79b17393cab5c0" + ], + "layout": "IPY_MODEL_ae34631a85eb4cf2b4ee06968a465417" + } + }, + "55821564bc5f49a4918818eef5273625": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "5592a96ce0f74d5882b1e3fcabed15fe": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "561408052c774c3d8e0f24e30223f4db": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5637e121d7b64188a54b67ca30a4a4d2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_4c833b7146384dbd82855c611798f95f", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_ffc6518e02924afbbff504ebd07da4d0", + "value": 3.8 + } + }, + "5650b5be034f4382a13b584c80080a51": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "567a48e881104804967bf8cd9bb734e4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_14d6e9ed68e4416887d9187c1df4ff2e", + "IPY_MODEL_41180646d28c4851855b3b8bfb12b629", + "IPY_MODEL_34e0c59b21db49708e9fa3592b97b972" + ], + "layout": "IPY_MODEL_6393e13838084ce8956035fd70c40c83" + } + }, + "5685bd0d457647a68c94384887a8fc6b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_67375f3242b24a998730390e6c958810", + "style": "IPY_MODEL_d3e4642549714ec38a08f1acbf5666f8", + "value": "Low energy" + } + }, + "56a9d501ac0240979e6b624c177f8f10": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "56b8130e1c424ba681ff47a5de12e70d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "56ddecedd0724154ac3a9f9d6489e256": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_2bacd30f2cbf46308fb647e47b5a35b1", + "style": "IPY_MODEL_d1922d60300a42a3886e72bba7956e2e", + "value": "High energy" + } + }, + "5705f04ea026437c982cfd3848cb6be7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5713d6a7bb6649958930d5a4babd9c36": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "572caa6f60c048f3a93034925847b97c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_14e115fb9e4a4359a3befd2bcf1d2961", + "IPY_MODEL_6f8524ca04164ee9ab984d8ce7e4e826", + "IPY_MODEL_db89a93a3b584e228dbb8dd3b067e4cd", + "IPY_MODEL_df68991c32b84dceae169ea4d8ebcb4d", + "IPY_MODEL_07609125fcd549ed8dd78f325ca571a7", + "IPY_MODEL_41217f4f88a248da996f8840ec1a938a" + ], + "layout": "IPY_MODEL_f5d374adfab24c8ea47c197e155d92ce" + } + }, + "573cfa3a9fed46a1a7b26765c58ab7ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_ae362f912cfc463db0b0a70423942f72", + "style": "IPY_MODEL_f7a3a87664464c839fa1f6ecb7985e40", + "value": "Low energy" + } + }, + "5797f37233264248a1fb7077709c4b4e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "57a76eb2bebe4836b011cfeb18dd83d0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "57d55192ca9d42af9fb421f538662121": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "581adce20baa40958cdc01a30b3ff04e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5825f2c2d8df417ea6fc13d71b09e69e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "583d9007e97249d28d4e195dee78c9b4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5897357f4c9e4c41ae555c3b867b831a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_0a8a6a1564674cc0aa6b0590cc8bb9b8", + "IPY_MODEL_03c2c919a5a64eccaeaac4f329aa8f3a", + "IPY_MODEL_bbb49d3c319b414eadcec01dab6f927f", + "IPY_MODEL_6027f91c3eec48378685abb40e233eaf" + ], + "layout": "IPY_MODEL_d0e6d423d5094797aa8e07b50361ac10" + } + }, + "58ba155869fc4095a9d81345425d1db6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_788306dcf7d4455985e34c9a93eba1c3", + "IPY_MODEL_d70fc0960425408a94f27cb1f32e6170" + ], + "layout": "IPY_MODEL_b7cceb85700347bfb13fd866b2da1ebf" + } + }, + "58cb64efebe54fc0b9171c33a370e3de": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "58de85251cee476288e136c76392890e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_2fe900722d52458f90e88fa9900ca35e", + "IPY_MODEL_1718e31a328d492ab6b63c3a64b78d98" + ], + "layout": "IPY_MODEL_cb52538c58c84992a7493cc0d48227ed" + } + }, + "591aec1aa5f34366a405551aa47a6e17": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_e98fbbae13214f0bb5619ac287f91467", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_49439690b66646a9994643b1cc03a23c", + "value": 785 + } + }, + "595e6e1bc68a42c9920f03ccd6838076": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "59701201222745ceb7daa9b4dbd47b02": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "5978bb349aa84a51b636e7d071b56192": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "59a00cdd56e54b338987b4d555f4a544": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "59bc1dfa491441628ea4b21b7ef0bf43": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "59e6ca1b20a140719e04669acc234287": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_630455286ea74f27b6aacbdb54bb0490", + "style": "IPY_MODEL_c373d0dfa59a4783b6f6910ebcf2e688", + "value": "Sample Offset (mm), " + } + }, + "59e6dc1307a040e7aa354e026036ff77": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_7e28faf7094f4ab49617ec548a6687a2", + "max": 180, + "min": -10, + "style": "IPY_MODEL_0e1bf212a7b142749ca16f1cf43ca486", + "value": 30 + } + }, + "59fd145400d147c39789f66ec644c3f1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5a616074200840ba8712b75400b315b3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_016ca90651404e25970d8d226ee8cb3a", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_5de82d0245ed4ebe8eb90de7bbe4f0ed" + } + }, + "5a865c3ada36478ab3d1b9bdbb7f6c3a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5a9ebf28431445709ef397e566112a1d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_7be2150ad247489c8a2c3a50e05d6028", + "IPY_MODEL_e8324bee2aac45b18b2c6c2e57d4b959", + "IPY_MODEL_1aa69aa9e5244a7f9a0c3b3a5e01cf2b" + ], + "layout": "IPY_MODEL_dcebb47e02a247ec87ec753dbeef0d9e" + } + }, + "5ac8198505c84264be4958992d4c5a4c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_3cc120ad3b664aaf8309891d3974ea00", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_12b8e0e181b244bf899712082f8137a7", + "value": 5.05 + } + }, + "5ac9db84c3404043b38419121ae397c2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_2bf684e1456d4b62973a02a4b8bb27f3", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_15fb27b9a26c494a8415b0116be3d880", + "value": 0.5 + } + }, + "5b18153b372d47a198910e274d5c4ad5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5b238da8103e4664b582e0094d5b0c85": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "5b402bbcf0684b7795a572b4df075d80": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5b778f4d3610484ab5e7d6c514ed9527": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_bea23b4f4ef24bee953da3b6e05ac0e1" + ], + "layout": "IPY_MODEL_ec72161b1c2041c4aabb4a6f65ae4936" + } + }, + "5bd0835e78fd40c39bd65389723732ff": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_d526813200f84bcc88ad0a9167714604", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_b819b272c70543b3b9000fe6b67a8c7c", + "value": 200 + } + }, + "5bf8361741514fc593b996d27d99492c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5c3c83efd01e4b5c973affe855a8527b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_eb301f908a5445088919db027b4f3a41", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_75ac3f77a29648589f22787be5bf20f5", + "value": 3.1 + } + }, + "5c46e769d88e408fae21b2160aefd4e2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_11e2f69fefe145659944169598271d70", + "IPY_MODEL_4b12a1f7be5e45ea87d9e1f63dfc5561" + ], + "layout": "IPY_MODEL_f5780e842e0445698734de1b453cbbbc" + } + }, + "5c57a5bf573540558a3515082883fb2f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_5ffa622ab7494959b3bd80b6032926e4" + ], + "layout": "IPY_MODEL_1c47e5f03e8e49b7b5b1d27c75ecdfd8" + } + }, + "5c73c1e1516a4e03b3a698077948fbc1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_96c68bff2a7d413883e7d256175cb40b", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_dcfbcaf2d22c4b279cafb1149bec9222", + "value": 0.75 + } + }, + "5c79458e71b94c37a8d9a320d450b21a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5c8efdd7dcbd400bb115cd91e33d68e4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_232298db42424a7791719f9e13857717", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_6dd4708d40204c93b8d4754dec3430df", + "value": 381 + } + }, + "5cae56fc4a7c4592985145dc83b2f478": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5cde1bbd95b847968081134e707c0b77": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5ced2b25875946eab59e8292909f9589": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_9df7ce1b3a5b4f0d8a883398e8833545", + "IPY_MODEL_bf22c8e8e6cd4a9796f358f5b30bd54b", + "IPY_MODEL_98409ddb1623443a91565c30c3ce7ac2", + "IPY_MODEL_5bd0835e78fd40c39bd65389723732ff", + "IPY_MODEL_ec6fa19a06d84f4c9c9a72e833dabef0" + ], + "layout": "IPY_MODEL_77a074043f0740ec98c113178ab1d0c5" + } + }, + "5cf8f47c841c4a7d90d3603c3ed165ff": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5cfc88f75478422e881160d7a967b288": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5d6c427aa32544058966dcf374f4f0f5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "5d76e866550747d4805b5fd5164c796e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5de82d0245ed4ebe8eb90de7bbe4f0ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5df1008168204fb797b310d924a20bf3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5e3c35f9417f4631a9fa368bc68e5f1c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5e72a42662a94d22a39befd92d5c1562": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5e75c8a64ede45cdaec0176d77894301": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5eaa2ea30dd4493fb64ba24321d87a81": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_5ced2b25875946eab59e8292909f9589" + ], + "layout": "IPY_MODEL_d7f669a2523e449b97cb7b6c70880e29" + } + }, + "5ed47d5c096c4f9f8548c6e208366a32": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_e33d3f49bbdc44de9eae1c3bad941f8e", + "IPY_MODEL_489464f4ab8f4fc9b9cb69c3fea3bab6" + ], + "layout": "IPY_MODEL_fa934789640c4bc198e4e47e01446e76" + } + }, + "5ee90293502c4dfe884f87bcfdf67f9e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "5f18b6c4e9f8492ebbebc565d1fee55f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5f3104fa1e31475498d7e2f2fb104cfb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5f38f060e7074c96a62e6b6d7b97fd66": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5f98741111cf4e52b283d5c0659d118f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5fd1b4729e934f3796ec6d998a499727": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "5fe2d3701e18438ab6d7abce1175653b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "5ffa622ab7494959b3bd80b6032926e4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_bf60c8db2c74400a907401904a7d44e1" + ], + "layout": "IPY_MODEL_4b6d469e54854b25b042a9ec22af2e85" + } + }, + "6012c4621b4a46eaaba6b77b01c23ec3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6027f91c3eec48378685abb40e233eaf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_65d7f9f699494ab3bba7917217b6e418", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_98823a677eb84d28b5036d297912c587", + "value": 5.74 + } + }, + "603f2212748f494a83413a71c8c20bc9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "605aaf7ed87d4a43bcbc9e351bd78b40": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_bb1c1ad990b44267a4938c6215982974", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_40a0d7cbf95a4a23959914963e7d8acc", + "value": 0.55 + } + }, + "606351fc62934e7cac7a75a5b4651b95": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_6012c4621b4a46eaaba6b77b01c23ec3", + "style": "IPY_MODEL_9f0d05507c1e4bfe9de677ce8501b2eb", + "value": "Grating Pitch:510 nm" + } + }, + "606e9d5fefb3484999600243c7a1a3c7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_9922e7244f2a495e85b3bcff2ad120d2", + "max": 2000, + "style": "IPY_MODEL_85f82b02058f401ebe1747974358554f", + "value": 200 + } + }, + "60e435025261424a8e39316c6cd3d251": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "61000d745f3d4c7fa959074b87f20693": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "615cbfa3205444469576d49cb6e3809b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "617b92ab7766469fa9363b597dda5f46": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_3c932985f0c84c4b8e4809f55014f0a8", + "max": 180, + "min": -10, + "style": "IPY_MODEL_757cc7c996cf442f93ab75d1921c5423", + "value": 30 + } + }, + "618035e07781437f9aab2aced16bc8a1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6188e1a0316643b0a7bee8e26e57c69d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "618eb49f877e4c68a5413aff3248de38": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_656d93b801314b6c9447821d4f532f36" + ], + "layout": "IPY_MODEL_778bfc527d294600bcdd34b857591d0c" + } + }, + "61b08444a7384a4389fc7440dd07597d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "61f547a8952140d48ee6c07c5ea28587": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "621213403bc04ab580eb4fbac6e9dc48": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6217622efad84e15b962bed8c568a0d7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "62458e9de9be4b41a8527a92f62b8b8c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_17d4e80f6ee04effa939f0cbf39fe0f3", + "max": 2000, + "style": "IPY_MODEL_fa5401be67da47a0811bd495b4a94274", + "value": 100 + } + }, + "62469112d2f845b39887b823801a4e95": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 5, + "layout": "IPY_MODEL_2f338612194147e89b90c1b37a8bd49a", + "style": "IPY_MODEL_1799dfdc47944f25b139de39caf8ca15" + } + }, + "6274f0ae62f942e5a8a205663aca0518": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_056bd0702d324fe992d497ff680c4b28", + "IPY_MODEL_0c621d0fc0e0487d94f21458c2c827ed" + ], + "layout": "IPY_MODEL_bf31392c0d5c4b719f34c588db583d32" + } + }, + "628b0e7524c34249b3f8d4cb009936d2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "62b0f354406f450db07bafd2b6923c99": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "62e0414b817443c99d417cb5f3558d44": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "62e1dfc160a24aea9b640c8e2c8480d6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_b7b6754e19fe4a5ebce2d0f51447d9d9", + "style": "IPY_MODEL_7a2a3e84e0894ec0bae9f774cc983823", + "value": "Low energy" + } + }, + "62e70ab0954240d58af939a4aeeb43a7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "62e7d59c129b4e3ea8416a04dbd4d128": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "62feccdc7361441687c6fe70624a5586": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "630455286ea74f27b6aacbdb54bb0490": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "633efedd701147da9101660090322ff1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6393e13838084ce8956035fd70c40c83": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "63bd698de64543938d25a2b5a93993d7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_709145b12c43460e8ed571e86c8fb012", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_b335f25ddee4414eb1a4fec7e175ba53" + } + }, + "63c34085916d41d5bec8cedd6d27b9d3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_1b75fcbdc16f47519c5385abaca3635c" + ], + "layout": "IPY_MODEL_1f78ac4fa88a49429f06446eeee7eb02" + } + }, + "63c7fca8b44444d6a9b49a4c7243c38d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "63ddd9d071cc499bbe28d286ca01d093": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "63e91e5efddf4799b22dd03cc0c98703": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6413e6d40dcd4dc48c9521d5cd6c8f18": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "641d97aa5e5d479a918336911a1561f8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_dea40f7fbbfa43559c6c9f57eb6d6ae0", + "style": "IPY_MODEL_7cf45bf486b7423caf38cbc5b35dc512", + "value": "dr" + } + }, + "646caace03e244e7b57f2fe02eae3b4b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "64bea122107d4c9187a468d4be19b5bf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "64d2540d3ede45a1bc58b5bb21ca232c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_557911e4a3ea42a68b72e98c0186e540" + ], + "layout": "IPY_MODEL_99a48d7399074be6a9daf7e1d74da59e" + } + }, + "64d7ebb4eb924e0aa76c84fc0dbeef10": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "652f7e2b1fc64b5587d6a8fc3a1c07e9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6558bd02d8ce458c87aa25c4501c9249": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_c0e785e141a9448f90a131b5be2b9cf0", + "style": "IPY_MODEL_9277a071beb04b27b2508731f0bd7d0e", + "value": "High energy" + } + }, + "656877d49bda4ba7a29883308f5c2563": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_1598528d903d4be69a728aac3daa7cc0", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_3b8a27aff50d45fcbf90b96cf177a1f3", + "value": 3.8 + } + }, + "656d93b801314b6c9447821d4f532f36": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_07770ae5f8b24ecf882da1e47963f6f1", + "IPY_MODEL_c8380130d3cc478bbcf98189e4679800" + ], + "layout": "IPY_MODEL_2250dfe7d74c4bf69a16a0891f510aee" + } + }, + "65cb339a38ae4e299b9f7f87dac2da61": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_c45910f261204f869a0b31cd84e9e796", + "style": "IPY_MODEL_52beb4fba4024d4f89cefa1338814c70", + "value": "Grating Pitch:510 nm" + } + }, + "65d7f9f699494ab3bba7917217b6e418": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "65dde25404224440bfa734aa3dd8ac0f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "65f7cd238fe04faea32418e78adcf616": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "6606cd77d25743e1ac50cacdd54c5216": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "66297e690efa4cc3921f1384d650f4fb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "666b12f62b9c49519b21a8beef8a8740": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_0be6954b97fb43f7b33895c8f21bf7b1", + "max": 90, + "step": 1, + "style": "IPY_MODEL_f2afa2fc841a4e768453c3b2871c8e67" + } + }, + "66983998e0fe44d59c145bb03d2ba626": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "66a5722186e24bec8cd950cfee9431fd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "66aa3d72060142bfa4b918772fe7760b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6728aac8449545d3be02c35d1caf2a9b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "672eaf56e5134f1d88fa05b8b3f05c6d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "67375f3242b24a998730390e6c958810": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "673a124bc27143fb9454b08c0fcbb053": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6740e199088b4323b5694df0b1ec5652": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "67b77c19d6b147129b846ee361ed8ae6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_4c5d238c36d34ab2896b909cc8a80da1" + ], + "layout": "IPY_MODEL_83168b94a7a443d9b13a0ad1dbff9e1f" + } + }, + "6853cce1a96342ef839f0e4878622b07": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "68da1449af0f44ba92c1c30db1beb664": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "68eda98b95c542fc98d02fb53c2a62b0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6920056ec72648a3a7de8d7b571a3885": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6932c7eb2c3d4235a64207d024374594": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "695dc2f42d2548348b1e8a4615ba1e2e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "697a8cb7e15c4f3fa92d537790c57894": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "69a89ebaf5494f0d9496fbdab8734a38": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_d285432f89d94c1a8b1db22fce8233cc", + "style": "IPY_MODEL_cd45f126c13b47bcb3dbfa1dcc293c1f", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>144.93</td>\n <td>125.27</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>144.93</td>\n <td>125.27</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>144.93</td>\n <td>125.27</td>\n </tr>\n </tbody>\n</table>" + } + }, + "6a205a2b56154ab890e5470e45cc10e1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6a875258000f483db3e3d01599457bda": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_9d702972085b43829708abfeae396380", + "IPY_MODEL_9b25221096644274ae8da394b45fdafc", + "IPY_MODEL_67b77c19d6b147129b846ee361ed8ae6", + "IPY_MODEL_f8fbc130fe844bf296cf579a9ad0345e", + "IPY_MODEL_c446fb3be1df4deabbc1bed5a8dab7a5", + "IPY_MODEL_c1eee4b29a234915a7e975de3d740ed4" + ], + "layout": "IPY_MODEL_4105c4eb7dc24794ac80cea920c2023d" + } + }, + "6a9c8b8021ae4a90b3ce75abbae41ffa": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6a9e2f0becb3400aa9c24ff618848146": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6a9f6662311a4298955b7e17a31c04ac": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6abf7cfe5d2247ac98f70d36701923cc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_2ee6e8a9b74643db89e892c28d4d3782", + "style": "IPY_MODEL_70b33b7eb8aa43158457b664ba408091", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>6.70</td>\n <td>11.75</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>6.70</td>\n <td>11.75</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>6.70</td>\n <td>11.75</td>\n </tr>\n </tbody>\n</table>" + } + }, + "6ad167c1bdc54d578b95d597819f34ec": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "6af74ce5fdda4d2a8ead33c498d14549": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6b24bcf61ead40d8a567cef11c2f34c6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_9f7c231966c84fa88d34407f64c86c91", + "max": 2000, + "style": "IPY_MODEL_b3a1bf04e9b04fd6bb9b2e52d37d8a03", + "value": 100 + } + }, + "6b357855a7e44bb29aff4749bb577361": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_6a9c8b8021ae4a90b3ce75abbae41ffa", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_933621d1b8704bf9b5a6dc12931934a0", + "value": 1 + } + }, + "6b516557c538447c98820eaf0055014d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6b6730a3e2ca47d69c70808668364ffb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6b91093add0b4d05843793be6183249f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_93a50a3d9b204a4eb5e863d0e0b58529", + "style": "IPY_MODEL_97bdba3b45f94f94aee5a8248fa2e2b7" + } + }, + "6b9ac35710814b5390d3f1787d909f69": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 0, + "layout": "IPY_MODEL_10ba9fcc038c4eebba98bbc3cd3a1291", + "style": "IPY_MODEL_23c6b61c5aa044d097d7fb8626a42df1" + } + }, + "6bb9771a31f443bda50f8853d604ab17": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6bfbffbbff5446e6bba1d8737badfb33": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_048a4d04e51b444d88f945e1fc23da18" + ], + "layout": "IPY_MODEL_5825f2c2d8df417ea6fc13d71b09e69e" + } + }, + "6c21e1e3aa444edc935e548d6fb85333": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_d98582c5009a4fa48737390ea3a51ca0", + "style": "IPY_MODEL_e3877c40c3a046889ba89c9de0a8805b" + } + }, + "6c516c02c37d4b51ad025063b095ed12": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_868a3c4aa7cb43cd8fcaeb4f8de45f7d", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_0ebf2c17da5f42f0a577bd78a3add84a", + "value": 381 + } + }, + "6c533682af4540ce90de8888569de65d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6c76f83bdfbf45f8a2c08e2de02eb22e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_105eb91256d6476dae5da7d596be6520", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_d13d6d580da74973814e85dc32a62290", + "value": 3.8 + } + }, + "6cb7492afb184b90bc2f050a0d1b4f65": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_d6edd628d87b4426a5c8d875adb0fb5e", + "style": "IPY_MODEL_7796f74844834a0f98827e427fc26ad7" + } + }, + "6d007f0ead504aee9055ebb33717250f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_a192534a81034bb6b9962c7f4c17dcc6", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_7b345aa771484aa48ea2522e1c91028d" + } + }, + "6d4add090f9b44f8987b29406f529fa9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6d6e6bfb8fc848d2aa064d3b1054a5c8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_aab99d5a938946de8a04be5fae3f5eb3", + "style": "IPY_MODEL_dee91559234246268b9a0cff27b0653e", + "value": "Membrane (mm), " + } + }, + "6d7628b1ca874e78baf9edacb250e117": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_ad99e43a80c942219c716739f3db21a0", + "IPY_MODEL_3085fa1e06244f33a7a399a21092db9c", + "IPY_MODEL_8e0a36d43f9c45bfb7faaa7bc1497b1e" + ], + "layout": "IPY_MODEL_6a9f6662311a4298955b7e17a31c04ac" + } + }, + "6d7ff6224ebb4562b0c401fc874afa85": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_50cda55ef7a644b9bbcd5581bf80d8ce", + "IPY_MODEL_6d007f0ead504aee9055ebb33717250f", + "IPY_MODEL_63bd698de64543938d25a2b5a93993d7" + ], + "layout": "IPY_MODEL_9a988d72335d407e85c49b51c743d8c9" + } + }, + "6dac7e8b25f24573bb89134069e36c03": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6dd4708d40204c93b8d4754dec3430df": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6dd7ae3e035e46cba6912afac9eaa442": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6e8170f01b0247a2ad49644964be4558": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_ad76cc84e78e4a0abffd084f0ae68c8a", + "style": "IPY_MODEL_6ad167c1bdc54d578b95d597819f34ec" + } + }, + "6e8a2020b9a64fbd8893d74a32b83e08": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_63e91e5efddf4799b22dd03cc0c98703", + "max": 2000, + "style": "IPY_MODEL_2123fb46cbd34a70abcde54299a98a2e", + "value": 100 + } + }, + "6e987c0ed71946c787514414636cc342": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6ead73290555442badc69fe1b5ffc061": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6ec4407897944dd0bfee06709c3f9689": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_db268d2e3ef747aab857f5d8801f23c5", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_6fc35d86d2a64e65865c41e1dc5cfdab" + } + }, + "6ecf6dccbc7f425c847e9d2afa07e5d7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "6f1c16b5efd84869b59d01be62213626": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6f1f2fef047d4cd790adcee3c836e11a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "6f8524ca04164ee9ab984d8ce7e4e826": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_ca9fd49900314cda92953d73f031e333" + ], + "layout": "IPY_MODEL_844e3798130f4cb4a78afeca233dfa2b" + } + }, + "6f9684b551b7481a95aa831f0d21b9a7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_1517942f22354fab9f5e81a44dac2c50", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_29e176f9faa64933b6e895da01688c1a", + "value": 0.8 + } + }, + "6faddc7996114b76839e5c9079bbcfc7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_e660024ad715409792f8aa97d62557bf", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_5e75c8a64ede45cdaec0176d77894301", + "value": 880 + } + }, + "6fc35d86d2a64e65865c41e1dc5cfdab": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6fc59c9911c24e1fa246945191021b86": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "6fdb3b4ecfed427c9ba22f8e311a4b91": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "6fdf6e5344d74acca75ca2b44b58ef53": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "7011433627b44d0f8055a5ce303ba875": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "7018c2a8a0c9417a8b99998a7f3bd140": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "7033331c9b6c4b03a0a5f638b3199101": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "704515b387834af4b758afc7850391bc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_3aa2e8ca115e41689ddf7879824c3b3c", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_c4629f7520064104bcb5d87fbfe6a570" + } + }, + "7046480b99124eefb75b71c9b00d3586": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "70597e1d758240ba97e5369dbeb20315": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_969c875df2434813af070f3484ad0434", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_7c17efc38b77421e9a8206284dedb698", + "value": 5.05 + } + }, + "7074746fecbd4bf1823836465720058f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_3ff533efb91f4b21813456745a3b8ea7", + "max": 90, + "step": 1, + "style": "IPY_MODEL_85f199a4eeb94aa88f5289a2ea51b136" + } + }, + "7080477bc8544d86a9fd2f0608882fdb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_d2bf15717d4a420c866af2ccdc160291", + "style": "IPY_MODEL_5d6c427aa32544058966dcf374f4f0f5", + "value": "TZPG (mm):" + } + }, + "709145b12c43460e8ed571e86c8fb012": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "70a7b447b4f543389c476c55a65a2d9d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "70b33b7eb8aa43158457b664ba408091": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "70f0e4683b464fcf8678199e4ee1792f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "712adebc44234517aff4f723ce86ea09": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7132f5aa5f434635aac4111b484c19f3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_1eee8ea54ee14d4cbfc02679e2848bcf", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_ef613fbf0efa40eda267aa3cf637595d" + } + }, + "714944909cb34d35b02fc8c43b325653": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_0ff43cc8066745b1a191e3d4dd881889", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_a5a11a1d148941cb8b98d38ba611533b", + "value": 880 + } + }, + "716ab0770c2548febb6c4ae4299085db": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_d5dfc963b77b4258bcba769a7c582437", + "IPY_MODEL_51f1219c2ed848bab74be6c98ff85d1f", + "IPY_MODEL_9b07b80b1ad341dd88a23935c6d28e7b", + "IPY_MODEL_0b65a223b3d2475caddfa474e73e2425" + ], + "layout": "IPY_MODEL_4f9a2c86e94b4620a7a920090374d50a" + } + }, + "71eedba94d86439ea74e125f3d2f8ed9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "71f4ea80ea6546b4bf3b364fddcbcd50": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_0960f0c4478f4b7b855cb07a7d81b150", + "IPY_MODEL_1c0f75e42a2745259ab7c0d1bf20bd84", + "IPY_MODEL_2b10981afb224d56ae2d95eac5cb5625" + ], + "layout": "IPY_MODEL_32d9d51c5e784f3b8bc36772334d0fc9" + } + }, + "72055e782ec7408a80f709c3dd1e0bb5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_843ef36d376944369098b2cc42c9b943", + "style": "IPY_MODEL_42c281a7b4d84390bda07f2ace5735b4", + "value": "Grating Pitch:559 nm" + } + }, + "722a7094f32c411fa3635a42c5fbbfe4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "72394ffe803c4463a33406eaa7da7530": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7272c1580d824a5b9837d931b10f4557": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_1938be34506e4213ad9380f1409e0a8e", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_8f3d9a7e5e344f508d0cf8e9149c7f52" + } + }, + "727d014286f44784abc387b38498abd3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_23bd7995affa4a2db31f61874a136d8f", + "IPY_MODEL_aaa621c72ed44c8d80259c56169f7143", + "IPY_MODEL_cbc52cb11dd146a882103a93b90dcbe4", + "IPY_MODEL_c90a0eccb4b14aafb7e1b99aa3ff603d", + "IPY_MODEL_e6430fcb123d484aa2ce76c6759d1910" + ], + "layout": "IPY_MODEL_ddcf1f8646584742bba76ff4104132b8" + } + }, + "72902245503945a29a25782307bd450c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_7dd25aaec7e3497d862473270620c3f6", + "IPY_MODEL_46cb97af1e19442db2ebf21b0ec074cb", + "IPY_MODEL_4e53586ff3ac4b6e83852e1d4d437ee6", + "IPY_MODEL_3947f9ca665e4b5a9b3f3b5a91d3b2e1", + "IPY_MODEL_c361dfcc09ea420f8392247c1eb4b758" + ], + "layout": "IPY_MODEL_e681905bd366444e81fe76a65cfeb16d" + } + }, + "72a7326a72d54dfd93b33f81f7d44cdd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_307d3704c1cf476f917c889cd9b8957f", + "IPY_MODEL_3f31c7a1b23e4b64bdc7fda289cfe352" + ], + "layout": "IPY_MODEL_1fc3404bac854d3e99938246b56e462a" + } + }, + "72bb9fb41d394f47b1e68aedb14a0955": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "72c804a982ac4f21befb6bedb5671ef0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_53444a4da488436786c0cb03405c668d", + "IPY_MODEL_fb5dda5654534c08bcea2c2ad1765f6e", + "IPY_MODEL_3ad2e92a26f2428098be513d368dfb1d" + ], + "layout": "IPY_MODEL_0096d7599914460582582e46eef49cb5" + } + }, + "72d2ebedb8a64e9da20ce78b24abb864": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_1fec5050a7f7490c9fc65f99fd9f7d10" + ], + "layout": "IPY_MODEL_7feb0397689e44b48468b965194a7343" + } + }, + "72dfcce9ba9549668fcba708670144e1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "72f33fb9e2d14ce2bc4b307ba33ab8b6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "73040998bf0e4117980b8b4eb9276934": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_8ac37be2bed34aff8af4e0a4e738e5a9", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_a4528118f39d44db81f6c69d39b62755", + "value": 3.1 + } + }, + "7310590e3163460e8c9b826ad334f425": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "732f54aeda5443fbb055318ffb3da07f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7336e51de8234a49b67d0f98762241fb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "734427a2e9244830a3ef7cde6d424b8c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "735e61c34a864ccd8202c24ec6adc94b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_bedf3064b024405b8eaec352834e3d1b", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_60e435025261424a8e39316c6cd3d251" + } + }, + "7437f469ccbf432987c1da395c4f79f9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_21ed570baaf9469eb6a7ece304c7cbdc", + "style": "IPY_MODEL_f9a7a061d94547ce8ef0cd6d211950a5", + "value": "Grating Pitch:379 nm" + } + }, + "748a731d222c43b4bd1097fcffa49664": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_8561c6f7c90b4d6e9a4ee92fb7237936", + "style": "IPY_MODEL_c52c884126fb4a8fb7f35672acb64e72", + "value": "Energy range (eV):" + } + }, + "74bd64998aea40f6ac4f06805fbe8749": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_3742783172ff4b08b6fa9d9dbffdb519", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_7d248964315f4b80a0983f829feb0127", + "value": 0.55 + } + }, + "74fe97ae0c6f4acd86be36bd24c81280": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_7678d47e7a5a4358bc14915fef0a66e3", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_a006bcdd055c4483b342fa6f29ea3c2c", + "value": 20 + } + }, + "754713d8944041c89bb959de74402853": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_c597015364b64a4b975ac87f745d01e3", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_07123dc1b05b45c386fe9a74b54f63c6", + "value": 1 + } + }, + "755f930d236e4ad0b473df895f43a402": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7579bb047f234aa4a8760bc52e4072b0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_8c4d1a9c95d4440b88bf90d1d9fede03", + "IPY_MODEL_c211d58e7849455fadfc734888548311", + "IPY_MODEL_ae0dbdfa56e941b1828316ce3bed0be4" + ], + "layout": "IPY_MODEL_1a93985548bf4d2baea2ecdebd525e69" + } + }, + "757cc7c996cf442f93ab75d1921c5423": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "7583875d8a88440db51e54fd14bbd0b8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "75a65602d9ea4705a6499da28d426c27": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_bccae2dd19344ffb98fe1ef393c4345c", + "IPY_MODEL_4b0caa06a556497eb19e4eeb458cdfd4", + "IPY_MODEL_0ec271094a4240ccaf03687184d84e59", + "IPY_MODEL_a942e16106994722ae5dfdd199aa5f32" + ], + "layout": "IPY_MODEL_abca03721ef542dca49d7c85f17b16d7" + } + }, + "75ac3f77a29648589f22787be5bf20f5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "75d4e7cc15a9495f8a0a641e09e89247": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "75e6d9db264e40fd9634719932be68e8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "763177a971da4c968a442b2c0e92c5e0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "76544cfe38ed43caa96e5407726f950d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7678d47e7a5a4358bc14915fef0a66e3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7681a02d1f1e49d5bd65d33941f4e735": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_6c21e1e3aa444edc935e548d6fb85333", + "IPY_MODEL_7e60418aa00346acac2df7245cc5869f", + "IPY_MODEL_1eadb5935b524718a62961ed277410fb", + "IPY_MODEL_150a2798f9c94c859ca2da96d4857aeb", + "IPY_MODEL_5c57a5bf573540558a3515082883fb2f", + "IPY_MODEL_618eb49f877e4c68a5413aff3248de38" + ], + "layout": "IPY_MODEL_f0a7ba2d57fc485ea5571f31add7bb2a" + } + }, + "76b14567f8154381bc1171a7cdfd07e3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "76c4f326b9b04197ac7211df240bf03e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "76f71d525eda4c31b774649dbfc822e9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "76f88fc8f24144f59deb4646567abdef": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "7718c58cf55b4df3a9457744f4cd1f73": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "773df74aa2414bc083b6c92eb71de928": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "778bfc527d294600bcdd34b857591d0c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "778dd955b00a41a2a17b23d18076a6e1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7796f74844834a0f98827e427fc26ad7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "779dd5cdc3c04a268c2eb420b414088e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "77a074043f0740ec98c113178ab1d0c5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "77a26a4a672d4a10ad72394fdce2f459": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "77ea0026e3244e18ad9c587abcb1969b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_3fb12cd3df2f425b9b58744bdb22a919", + "style": "IPY_MODEL_4222d70735054cec829302c617a91764", + "value": "Low energy" + } + }, + "7825e502abd64540a26e4ecbbcc1ee83": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7869a5302de14f2e9d3837bc144b865b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_e42389d1f14e4276ab0e8f64ac5c6e5d" + ], + "layout": "IPY_MODEL_1eea5f3c74124769a9cbf5bae1558c76" + } + }, + "788306dcf7d4455985e34c9a93eba1c3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_573cfa3a9fed46a1a7b26765c58ab7ed", + "IPY_MODEL_d5d4aa350e9d4b639ee48b6659f85193" + ], + "layout": "IPY_MODEL_a75abb0454014fbfb53bee9b54f2b6be" + } + }, + "788f3c927f6d4695b4c9c6d3fa2ded18": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_30c8b2d416dc49ce9c79ded2bc4706ed", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_5f3104fa1e31475498d7e2f2fb104cfb", + "value": 1 + } + }, + "78bb5953c1524cb8b3f324b2442272bc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_f96a518d6b054ce1a21baffdf4f3efb5", + "IPY_MODEL_ee3f3e1ac7cb4336abc378dd6cb0889b" + ], + "layout": "IPY_MODEL_84bc8b5868864887926a7116237dd783" + } + }, + "791f64a9283344a2acde5afe4e5575a7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "794ac6ca90b84f88a5323df0e9d62873": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_1dafe9d4c86f44d68fb9eebb64a3fb7c", + "IPY_MODEL_b9636513b94d4146a2a969d3f7212635" + ], + "layout": "IPY_MODEL_a0edc6a2f4ea4df59180cfd75e633517" + } + }, + "7953fee2942646f1bf582c8f7c6a7ca9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "79699c6cd12e44bcbfd2be592e02b315": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "79a689551db24069ae992286b233a64b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "79a7314be9754a21897a86cfdcb6d8e3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "79b08b22489a4c22974d4a355325f545": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_bf6ceb35d67345479623c4a6944f43b9", + "IPY_MODEL_7cff3404e5b44824aabfb6167f3bfa29", + "IPY_MODEL_70597e1d758240ba97e5369dbeb20315", + "IPY_MODEL_fc6464a0a1d147c9a4ee9417393bf993" + ], + "layout": "IPY_MODEL_1becfd4428e64e28a73b3e407bee4174" + } + }, + "79b2c3ad60e049e3b9a13cea46b533de": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "79c760cd3e9e45419df6a7864a44377b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_0e1e3cce30f64ba0a3f862c5be38aae8", + "max": 90, + "step": 1, + "style": "IPY_MODEL_a588e85d525748f1abb7d089d59025b5" + } + }, + "79cc87efa60049c18e991eb335d22cc8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7a2a3e84e0894ec0bae9f774cc983823": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "7a4dad0aaf31452caa996e08690955ed": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7a60daf28c814d18b10571728d358d7b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7a773dcb42b3467ab5352e0f1510b418": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7a8160b4085a4202a11652381b6f4e47": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7a894e7cad3a4201b499382e92848f03": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "7a9cbb6ab37147c18cfdf6a49bf1b5ce": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7aad60a3ebf14412815618974191397a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_9083fef566b649cf911380990cc6999f", + "IPY_MODEL_ec707a66803e41b99934c9d1017f0a04", + "IPY_MODEL_74fe97ae0c6f4acd86be36bd24c81280", + "IPY_MODEL_735e61c34a864ccd8202c24ec6adc94b" + ], + "layout": "IPY_MODEL_1fb0f315e7f44b759a0089f6810490a1" + } + }, + "7afcd4e0cfdc45aaafc97a923ef8af2e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7b0069dfda3a43699f393c4cd94f5535": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7b345aa771484aa48ea2522e1c91028d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "7b71de25686240cd878c03176395ce28": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_507b47758a5243f3936dcb6de969da6f", + "IPY_MODEL_1dcb4d25c85349578062bb6f792edb6b", + "IPY_MODEL_6faddc7996114b76839e5c9079bbcfc7" + ], + "layout": "IPY_MODEL_a95589a386964a429a240d3670a88a4d" + } + }, + "7b802f9157d34c07a9c2685e4b25932c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "7ba921693bc3419b963af1fa5c7d108a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "7be2150ad247489c8a2c3a50e05d6028": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_9c42a86936ca4f6c99578ff2bc015c97", + "style": "IPY_MODEL_6740e199088b4323b5694df0b1ec5652", + "value": "Sample Offset (mm), " + } + }, + "7c136cb9c6674cd885da943a5e5cb4e8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_ab2e35861f0547cfbee273ed14b1afc2", + "style": "IPY_MODEL_260522d3656c48cc8d0c4c29ba2f68d8", + "value": "Membrane (mm), " + } + }, + "7c16b642345e459fbdc12d6fb1328b60": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_65dde25404224440bfa734aa3dd8ac0f", + "style": "IPY_MODEL_5ee90293502c4dfe884f87bcfdf67f9e", + "value": "Membrane (mm), " + } + }, + "7c17efc38b77421e9a8206284dedb698": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "7c185c1c73344affafc4c8256218a14d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7c819b0aaf224560a6e8892eae726610": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7cc99a4a5f9247be8a84e015bbc49099": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7cf45bf486b7423caf38cbc5b35dc512": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "7cff3404e5b44824aabfb6167f3bfa29": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_b9af07ea39c5460fa36f9520f3e65584", + "max": 2000, + "style": "IPY_MODEL_cce496be81e14b608c9e36fab047c6a0", + "value": 200 + } + }, + "7d248964315f4b80a0983f829feb0127": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "7d7753629e154f0fa7c020ff5938aafd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_22b14cbed6f84cacaa919734c8fde6ce", + "style": "IPY_MODEL_eb881a6853a5437d9e7cc0181d929383", + "value": "TZPG (mm):" + } + }, + "7dba8ec501e74495bcc907a8c85f067f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7dd25aaec7e3497d862473270620c3f6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 0, + "layout": "IPY_MODEL_2e5135fd8692452bace2ab9df423e72e", + "style": "IPY_MODEL_80fa50dcf5ca44c7abc1fe01ef16fa07" + } + }, + "7dd280175ee5493aa069ad66e666692d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7df1deb89e1a42698f7224fd41930318": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_268692882b4d445397d480eb9714c615", + "style": "IPY_MODEL_8cc6723ccf464f36b96f8f16a92037b6", + "value": "TZPG (mm):" + } + }, + "7e111e03204648929b4e56fa414ca088": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7e18cdaf356944048eda3c4d470d95e7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7e1bacf8e76d46dc91fd323cbc735803": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7e28faf7094f4ab49617ec548a6687a2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7e396e434908467ba36cd5918684322f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_302f06c0b7514f36b1a0770a147c4b14", + "IPY_MODEL_8922008792dc4f92b4ebc06d02d1b06e", + "IPY_MODEL_0e2829a4062b4649b6e4e0300bd4b194", + "IPY_MODEL_eab4eae027ca409e9182b1a10c9ed9cc", + "IPY_MODEL_988b704d87a5435dbb5c58fe57bfd3d7" + ], + "layout": "IPY_MODEL_59a00cdd56e54b338987b4d555f4a544" + } + }, + "7e398ba0e1bc4366bbef39915d4e30fc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_300209feb167409681e15dcc70a172b1", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_487c675d9c6245ea8b11bcfb86de312d" + } + }, + "7e60418aa00346acac2df7245cc5869f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_3a9dd5337eaa4a97884f3c638b324820" + ], + "layout": "IPY_MODEL_8279aebab74f4f4d9196f55837e4b6d7" + } + }, + "7ed9c434f95f424b9a18cc7b67b2562b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_68da1449af0f44ba92c1c30db1beb664", + "style": "IPY_MODEL_1e01a24116ce45739d8088f43598cea7", + "value": "Low energy" + } + }, + "7f20d0e43d5b4420ab755c6046499a41": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7f2f055efeae4755bf1de6855f722017": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_cf77cc8f06ae4d88b08b79fc5f95d198", + "style": "IPY_MODEL_6606cd77d25743e1ac50cacdd54c5216", + "value": "Membrane (mm), " + } + }, + "7f4e761864ac49f8b06b86d84be346b2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_910db8f08ace4751a750dd7d6f24f629" + ], + "layout": "IPY_MODEL_b96cf4cf5170445e91e1e0f161d0d845" + } + }, + "7f55bb71c01f4b6cb3cbee687b98ce46": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_3db8d492b05b478cb28cd8936fb7f32f", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_f5b25c24f22e46a99f8cccdc3e948c80", + "value": 1 + } + }, + "7f5bed80c5d34cc6b72bcca106958999": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "7f9064ee75c74146a53456b8b34f41be": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "7f9122896c0a4c9caa583d6e835ac9e5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_53beaddd73414cbe99519f2dedb47393", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_47a5b738af254fbba63e82976c0cedcf", + "value": 785 + } + }, + "7fd01ce43d7e40898e9bea70eb32cb82": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_4d2b98c4b57f4b1587749da05f5f98a8", + "IPY_MODEL_fbf8cae533e44a40927d28f7974ccd92", + "IPY_MODEL_06f39f0e0fe14a0786d78bd6bdf29281", + "IPY_MODEL_ce33b422b92c4866b25c735e4b53b372", + "IPY_MODEL_8fb5a368f513498fb618ea5aeeb6e7cf" + ], + "layout": "IPY_MODEL_c41f101a12634c57ab50481613303c14" + } + }, + "7feb0397689e44b48468b965194a7343": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "801794dea4d94ad09add87be03205a57": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_716ab0770c2548febb6c4ae4299085db" + ], + "layout": "IPY_MODEL_b4c789fe1e4e423d97d822aaaf599f5c" + } + }, + "8081d2f2fc9941b8ac3cadb41ac8a596": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "80a6f82641c84a9bb9bc32bcd3d72163": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "80b8e7824b6b4d0080d6b7a71711c924": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "80d31b0ede6d41c6bb770c2bc92538a6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "80fa50dcf5ca44c7abc1fe01ef16fa07": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "811d8cc362b24a9385657063afb3b9ff": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_881027767c884d09ab8737fdab4c235a", + "style": "IPY_MODEL_05cffa1b8f304dd9bcc946b221a9fd42", + "value": "Outer Zone Plate width dr:196 nm" + } + }, + "815d4e5c84b04de3861c687d09de9533": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "823c5523b0ff42c18d536a4243b0e7ec": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_2990c7b18ecc49fd8aa6a2ac09d42a0f", + "style": "IPY_MODEL_cdfea446c01241d3af41901cc27fde12", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>735.57</td>\n <td>751.10</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>735.57</td>\n <td>751.10</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>735.57</td>\n <td>751.10</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>177.11</td>\n <td>160.28</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>177.11</td>\n <td>160.28</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>177.11</td>\n <td>160.28</td>\n </tr>\n </tbody>\n</table>" + } + }, + "8247e2dd643441cab2297b33e2088f19": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8279aebab74f4f4d9196f55837e4b6d7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "82bf4f2321844415a65e52be3191fa36": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "82fda8bbfffb4ba189de426383091b8f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "83168b94a7a443d9b13a0ad1dbff9e1f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "832ac08b0af042abb56f26f430180cb9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8368fe357a8843cf90d12cb4ff298e6f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "83fa4f56b4294e81ad54f4c561d995cd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "83fde167f8414b5297f8b356466086c2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "840ee67d35854ce292676ef5724e18ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_a6178c42bc1e49938c0ff4b2b4a851b6", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_5456552b22a844f7b316707ec112cb1f", + "value": 0.8 + } + }, + "843ef36d376944369098b2cc42c9b943": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "844d33a472f04be5b1656904196b26f7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "844e3798130f4cb4a78afeca233dfa2b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "846b9d275a31464a8718115ce91711df": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "846d027ddbc7418caf69b5e3799c036c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_4344039d669e4078985fcb7faa63b942" + ], + "layout": "IPY_MODEL_3b0983e96aa8459eb3511cce82c9566f" + } + }, + "847587a5101345a1965ae4eea8a13eee": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "84899a9469e249e6b3bf5619ae5960db": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_f6f98ee9aa7046968618fc48ab80ce88", + "style": "IPY_MODEL_eb78087670cc4f7fbc559cc6b9cd6249", + "value": "TZPG (mm):" + } + }, + "84a85a98b2a14e5fae0cab05de7c85b4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_79a7314be9754a21897a86cfdcb6d8e3", + "style": "IPY_MODEL_1ec48db6b504488ca15d61be01bb5299", + "value": "Sample Offset (mm), " + } + }, + "84bc8b5868864887926a7116237dd783": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8527a3ea3c1b456fb627b127e58b8113": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_c1670012f6504fcc85ecddb7f406ad70", + "style": "IPY_MODEL_14f2778433e844a5b2b5d1b21b42019b", + "value": "Grating Pitch:432 nm" + } + }, + "85297aa12c1748b0b0797adb1d46be26": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_3ea0036661f446f3a6b1c7ccb98b0375", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_8f1d163f4d004782ab8253a4e7c2e0a8", + "value": 0.8 + } + }, + "8561c6f7c90b4d6e9a4ee92fb7237936": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "857a0f00a75b4fc285b7f8b2789ba36e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "85b54555539442d1b504afcee919ab41": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_e8b41cd74e0143818cf8bad21a6f1c04", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_76b14567f8154381bc1171a7cdfd07e3", + "value": 5.74 + } + }, + "85bac71d9e1541ab9cf4d5bfe1af0e3e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "85d5dae7ecf9429fbc4c19b7448f7dae": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_ef62a3fee1f04835acc22025b15ba38a", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_d0a3009840c049dfb7d80e6a7db2f895", + "value": 2000 + } + }, + "85dfb6baeda141849c7f7a44e1abea2f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "85eff841ccf94ae3a4d347e23514be43": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "85f199a4eeb94aa88f5289a2ea51b136": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "85f82b02058f401ebe1747974358554f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "861ee2e9f1cb497982405db34d92a6a2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "868a3c4aa7cb43cd8fcaeb4f8de45f7d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "87889a997fe14bce93a83ab5579df700": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "87908949a5a949bea75c37bf5664f288": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "879931ee8783413ea0d682024807ffeb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "881027767c884d09ab8737fdab4c235a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "88307488b5114a239347c3682eca9d6f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_46b7e70122084d1c98450552ad637e55", + "style": "IPY_MODEL_1a6d5837767e480b893bbeb1e5f12ac6", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>740.48</td>\n <td>754.82</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>740.48</td>\n <td>754.82</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>740.48</td>\n <td>754.82</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>84.13</td>\n <td>68.58</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>84.13</td>\n <td>68.58</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>84.13</td>\n <td>68.58</td>\n </tr>\n </tbody>\n</table>" + } + }, + "8870dfc654174bc3b6a98a1f273cb7c7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "88a11a52304c450499f004f8d3638a49": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "88b4b39b821a47bda28df65bc88b2853": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_8527a3ea3c1b456fb627b127e58b8113", + "IPY_MODEL_386c360722f44e62b76b12ed0662530b" + ], + "layout": "IPY_MODEL_72f33fb9e2d14ce2bc4b307ba33ab8b6" + } + }, + "88ca49e7118c4927ac250721e7900c98": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8902e27e9cae4c10bf841f1ce72a55e4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "89089eae9fd04b0e8cf5521f7c3696cc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_bdfaae25e14c41b5905673d4c6a1662b", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_cf9842103f624cbab6115eda5f9a2c0c", + "value": 5.74 + } + }, + "8922008792dc4f92b4ebc06d02d1b06e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_7f9122896c0a4c9caa583d6e835ac9e5", + "IPY_MODEL_a2c53569fe914dfaa8a9e2adbf65ae2f", + "IPY_MODEL_9ce8d65d222c4d8989738eff526c9e31" + ], + "layout": "IPY_MODEL_d81ce84dd3474572b2d44c7349b62772" + } + }, + "8943f1775fba4ac4815d59baeabb728c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_3d925617d0cf4f389c7c69e6b79b37a6" + ], + "layout": "IPY_MODEL_561408052c774c3d8e0f24e30223f4db" + } + }, + "894828cba7b2440b9fbf6e814bee02ab": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_118cc8b53ea0405b8d4737280a41469e", + "IPY_MODEL_e6d22d1e386d4b40a1cd23f52fc8d74f", + "IPY_MODEL_4a3b75ee430c4c54b59b3dd4939a6e4c" + ], + "layout": "IPY_MODEL_847587a5101345a1965ae4eea8a13eee" + } + }, + "896eec32714c48089a43babb407216f3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8975e2cfa70c41b6a4d90c150d9f102f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "89768eb3e20342aca6bcda60aed46670": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_f8e24dbbab444b8393c56854d57b2fcd", + "style": "IPY_MODEL_e473735c87b246349549daeb20a0fffb", + "value": "Detector (m), " + } + }, + "8999985f4add4e2ebcd5df48018a045a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "89b9e2c879434f828fc10cb95c1fa977": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "89e39ae665d74aa7a571acf761cae5fe": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8a13873288f34e6a863e91a974480581": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "8a4a04e7edcf4dc19d35e977c64101c7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8a508a2a61ee46d7b98a89ea0ba21c4e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8aabd04b11934f60b8699803b8885c78": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8ac37be2bed34aff8af4e0a4e738e5a9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8b06d698018e4a469bb214493b9739bd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8b1a547acc2146e9ab8813a8400f416b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8b7e7f5b27944879a8d78aebbe89cd13": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_9f7981dbebeb44c89e4a3b45a1ff6ec0", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_8a4a04e7edcf4dc19d35e977c64101c7", + "value": 54.74 + } + }, + "8c383b85ee81417ba036bdcdbb57b4d3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8c4d1a9c95d4440b88bf90d1d9fede03": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_3165ada44f2442bbb2147dd87d359cd6", + "style": "IPY_MODEL_ee74bb2175b9495ba5f35c48e31fa1ed", + "value": "Membrane (mm), " + } + }, + "8c79193a2079419586067f13a0b118b8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_d37adad632f04b20893b5375c19fe480", + "style": "IPY_MODEL_e58d9d8e0961484abb57bea4aa9dd008", + "value": "Detector (m), " + } + }, + "8c9e77641f334f59a43759f33091234b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "8cb2db328b2f4bb19462e83a645e87fd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8cbc34e506cb4beca035219c44d168bb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8cc6723ccf464f36b96f8f16a92037b6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "8cd4c6089b73456193ade379d87a103b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_6e8a2020b9a64fbd8893d74a32b83e08", + "IPY_MODEL_c0a66750d27b40e68603235cf9c17782", + "IPY_MODEL_31f7823a82464c5ab7bff89cf96891a1", + "IPY_MODEL_bbb24af1a8c84378b2938a5b1b0097cc" + ], + "layout": "IPY_MODEL_152c9f24bd424e0f9963c69d347a7287" + } + }, + "8ce7dbfb03054337b7c6552292060295": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_63ddd9d071cc499bbe28d286ca01d093", + "style": "IPY_MODEL_98c1f5af3d124ef78ba08a4876c65e1d", + "value": "TZPG (mm):" + } + }, + "8cf1295b157a44a99a42ebf6d4553a15": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8d12298968044c48b907fcfedfd5a102": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "8d22a9f571d948d8a2b7aac01e742ea6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8d65ea9cb16b4e97ab91ed739a8521d5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_a3a6bcb43d4545fda7c3e4a4f7dbb9d8", + "style": "IPY_MODEL_015a73ce1dfe4731b35affa13383b8bc", + "value": "High energy" + } + }, + "8d66008961274e2fbe0099e01f8be153": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8d6fb60768534b208c359a93ef93d9f2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "8dafc72f1afa474fa205a5efde5d64c3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8dbabab5adc74d10867f65876d3cd02e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_d3ab8c9d9bdd4d8fa2f79c54c2a41f22", + "IPY_MODEL_261d856d744c4497a6298e6881a832be", + "IPY_MODEL_2311522565884c11bf03f7f8fb15f2ec" + ], + "layout": "IPY_MODEL_cf988e41f9af49acb18cd861dd9ba0fc" + } + }, + "8e0a36d43f9c45bfb7faaa7bc1497b1e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_07795c0712a342f4a9ce1b55474acf07", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_450480f8b3044caea2f16f401857b43b", + "value": 880 + } + }, + "8e0cbd2df9fc4a4fab1ee17f3e71158e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_42fe584421464cb6a0fa3d74c64d415e", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_5650b5be034f4382a13b584c80080a51", + "value": 0.5 + } + }, + "8e7669b84cd940d4a84df278e4b168e0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_617b92ab7766469fa9363b597dda5f46", + "IPY_MODEL_18f369c30b8f4487a714a4e135cae66d", + "IPY_MODEL_2f79ec0cfdfe434d96029df93fbe4cb2", + "IPY_MODEL_dbaae4f96acc4c09b31bb05c61605ac0", + "IPY_MODEL_05d0d9d3a289460ca8800b32198fcfd1" + ], + "layout": "IPY_MODEL_40a0c92ee5d34e8fba02f471a834fd60" + } + }, + "8eb26b89f2aa44be9dc0a3a780ead1c8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_95827c043a2b4ca496af3b6223559b39", + "IPY_MODEL_e4faa1e047ba478caa1b0bbcd5a7aab9", + "IPY_MODEL_f1329b2828074aed81530ab8cd70b8c3" + ], + "layout": "IPY_MODEL_90fe662eabd04c289928b0993ac5f284" + } + }, + "8f1d163f4d004782ab8253a4e7c2e0a8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8f3c26c4ef3d477bb326310b69c3ba00": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "8f3d9a7e5e344f508d0cf8e9149c7f52": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8f4f4bc10dd24841b701bef43e969ab5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8fa7bb0cefa34066bc6d9a118a7ada5a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "8fac06980ff4484ca023e24a3a5602fc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "8fb236641ab84f578aea1d701711dd2d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_46ee5f4325fc41bc97f2a9f7672b3cc3", + "style": "IPY_MODEL_d3194e53d3b64108b9357e0dcec50ec0", + "value": "Grating Pitch:379 nm" + } + }, + "8fb5a368f513498fb618ea5aeeb6e7cf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_34dc2e5ab40f4e0e86d59fde261af831", + "IPY_MODEL_ed35289fb57a4efaba023c9d7b980952" + ], + "layout": "IPY_MODEL_dbe9bae4a4204cf49d016baf0f2b24e3" + } + }, + "901d6a2618da4216adc3a68a7ac21ed2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "905bc610ba044696aae64f4ebb41a148": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "907466a8717c4161bb3a032cd7a11a09": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9083fef566b649cf911380990cc6999f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_cf73181277984419a8c60b63a2837003", + "style": "IPY_MODEL_8d12298968044c48b907fcfedfd5a102", + "value": "Detector (m), " + } + }, + "908e149e2c8a4c7db267c27341d905cf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "90a0e0800d4744379d69635a4e12ab9a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "90aa766d53cc4eadbb69bf63659cf619": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "90cde5d6130f41a9b3254ed2bc866714": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "90fe662eabd04c289928b0993ac5f284": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "90feb4368dc543658e9b7f59d5ac64df": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "910db8f08ace4751a750dd7d6f24f629": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_2b49db57b3d24ea3a8e68a22970112ca" + ], + "layout": "IPY_MODEL_5f38f060e7074c96a62e6b6d7b97fd66" + } + }, + "9120f744ae4b4f588ffcdc8e73f9cff2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_6853cce1a96342ef839f0e4878622b07", + "style": "IPY_MODEL_1638538aa8b74f1b8128310a5372dc60", + "value": "Membrane (mm), " + } + }, + "914c8a1570f54bb8b2eb069a28009b40": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "917c198f84d74753bfa3c27bae2ace44": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9197127259f74ac9885344d2c62158af": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_14c564049d5045dab27cb19b3d2f37ae" + ], + "layout": "IPY_MODEL_062d1e839ff8471ba1a9cf7cc1c655a9" + } + }, + "91cda04e516d4033918d49d16c1e96ff": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "92698ad212164a5ea9a9adfbed290bae": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "926b4b33718d45ac8ab937e7792f3907": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9277a071beb04b27b2508731f0bd7d0e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "928026ca4e9a4e048f9ac2c18385c012": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "928a0614ef754c879c10fa93763bb720": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_b05c89cd877e4c16a1f4974384cfcc12", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_016a2d6ec61547da94dc740766349e9d", + "value": 0.8 + } + }, + "92adb9fb6f1d4bd697e422ae7788fd55": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "92b5f74ed1ef4252834272a38b6cca2e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "92bc3043537949a3ad3c1732ba266e23": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_38900705626a4bba867f93eed3d5467c", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_421e4b2d0c5547cf8e008525d48ad765", + "value": 381 + } + }, + "9314832a77484c5f817035c1f6a0b09d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "933621d1b8704bf9b5a6dc12931934a0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "935dda90de3d46b5b957de733877bc70": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "938902fac9bf45dd876ffc222c56b145": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "93a50a3d9b204a4eb5e863d0e0b58529": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "93f0932b0b72406eb9647a852882b949": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "941806f87be64600a154177f9707b168": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "942b5015097a42a38334dc0715155eba": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_94f9aac8070648c4b7f6f287e0b0b506", + "max": 2000, + "style": "IPY_MODEL_cb67a8c80df14c438e27e1c5bf4360a8", + "value": 100 + } + }, + "942d232a00b5490aa64a1d82a06f39d4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_bef5dd5148184b80873db37119306a32", + "style": "IPY_MODEL_adb306173a9949d19bdc94a654335263", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>96.54</td>\n <td>76.88</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>96.54</td>\n <td>76.88</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>96.54</td>\n <td>76.88</td>\n </tr>\n </tbody>\n</table>" + } + }, + "9434cd273da64991987f8cd5dfc7c30a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "943c6f3e8c1c4ce285775f9a7acee5b9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "945b5689d4474c59b3384eee98b31439": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "945cee30ed8e4859bed26023b7b0ef60": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "94d267ce78bb4518a37d86f81a9c4903": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_e4d5ec50a67547de8a6a57e0d0a796d2", + "style": "IPY_MODEL_04631676023e4637b7fbd9959f7537bb", + "value": "Grating Pitch:379 nm" + } + }, + "94e936b2d1c34102a357c59b4e054822": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_78bb5953c1524cb8b3f324b2442272bc" + ], + "layout": "IPY_MODEL_b165d89653194a3192d1ed39859108df" + } + }, + "94f9aac8070648c4b7f6f287e0b0b506": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "95073e8f40654b87a3b57eeb44acf7cc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_bf91ccf62ff448a5a717ab411c403b2e", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_6728aac8449545d3be02c35d1caf2a9b", + "value": 1 + } + }, + "9509f20093cd4a858d90059864c60070": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "954adb7652ec43338350ad57efb74d48": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "955d886573e644e7859071513f256b40": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_7dba8ec501e74495bcc907a8c85f067f", + "style": "IPY_MODEL_edd29724a3794a0d887eadd4c2885bbc", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>13.99</td>\n <td>28.62</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>13.99</td>\n <td>28.62</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>13.99</td>\n <td>28.62</td>\n </tr>\n </tbody>\n</table>" + } + }, + "95827c043a2b4ca496af3b6223559b39": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_2db04d002fad4d85ae5992830481a18a", + "style": "IPY_MODEL_7018c2a8a0c9417a8b99998a7f3bd140", + "value": "Energy range (eV):" + } + }, + "96101a048d36415ab269fa2ae414484c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "965a4cf4eaf5468e9044d5484ace9d83": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_bd2f09d9d4d04e65954591862909f28a", + "max": 180, + "min": -10, + "style": "IPY_MODEL_ec04144c2a38463e924cfad8942f1c1f", + "value": 30 + } + }, + "969c875df2434813af070f3484ad0434": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "96c68bff2a7d413883e7d256175cb40b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "96e4e74befe74b4e92d941726f68071a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "96ed9000ca7e4bddb43d160f24844aef": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_3f3662d7c0c24780be4378e40eedfec0", + "IPY_MODEL_e1565be99ec74a97b49bda13606b3e6c" + ], + "layout": "IPY_MODEL_a364c8a0c5ac4bce8f1b2d5cb21478eb" + } + }, + "970938a67fb349a2b86151bd2f9710fc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "97124282efbb4183b9df36749adcce09": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_cd647eb1dbf94d67a7c595181e844e9b", + "style": "IPY_MODEL_f6cbf548d16b47faa2683cf7fd138552" + } + }, + "9752e911c01a4fe1a963345d0291d055": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_6a9e2f0becb3400aa9c24ff618848146", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_03c57a29f45046b99fbcab6d54da1dc3", + "value": 840 + } + }, + "976879c4cb1d4dd3a7bfdfa8f5bf98b9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9769f36244b94b6589fef9bf5801df7f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_3a827646788b401f987a2fd105fba79d" + ], + "layout": "IPY_MODEL_2d3aced458614e61ba10159987f7db29" + } + }, + "976ae90a658046e58a883e8152327b53": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_7c16b642345e459fbdc12d6fb1328b60", + "IPY_MODEL_c2537060c01c458494833a5176363404", + "IPY_MODEL_9a85f6b5ac5e492b91fb8a8aff8b3ea1" + ], + "layout": "IPY_MODEL_074d187683904756854e64df7777314e" + } + }, + "97b2b15d400c4362915736e5cbc0db58": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "97bdba3b45f94f94aee5a8248fa2e2b7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "98409ddb1623443a91565c30c3ce7ac2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_a25758382255414bb4321c6ec7bc6097", + "IPY_MODEL_29d0383c9e9340a09e98eb7a8c727a49", + "IPY_MODEL_d8d91e92e2a94df9bbe15d64699b45cc" + ], + "layout": "IPY_MODEL_9ebe2839ecb348b49f5402238d440c94" + } + }, + "986972c65e084add822b3ce913b6d7fb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_c3894160023e4722b97eb6f238e075bd", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_a03d543642a54cd2b04eb0ada9f3deff" + } + }, + "98823a677eb84d28b5036d297912c587": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "988b704d87a5435dbb5c58fe57bfd3d7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_84899a9469e249e6b3bf5619ae5960db", + "IPY_MODEL_840ee67d35854ce292676ef5724e18ed", + "IPY_MODEL_85297aa12c1748b0b0797adb1d46be26" + ], + "layout": "IPY_MODEL_6932c7eb2c3d4235a64207d024374594" + } + }, + "98c1f5af3d124ef78ba08a4876c65e1d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "98e0fe56f7b84ca8835d27ee725db818": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9922e7244f2a495e85b3bcff2ad120d2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9930ec49320842fbb3d2ec7655e6019d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_b68f06648d2d4150af3a4f864807fec6", + "IPY_MODEL_ab789f7b9d8a49aca434a5248c81bfa6", + "IPY_MODEL_32f0c87ae1d9489c931bf79097611887" + ], + "layout": "IPY_MODEL_2a4414630aa745029cd095cc82f6ace7" + } + }, + "99346cbf21fc4fdcbb91f43c16ce5c18": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "9955dbddde9548ad86722d416616709a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "99a48d7399074be6a9daf7e1d74da59e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "99a957e0bf4b4814b3af916c67222b3a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "99aefb6c516a42e384cf8976381723bc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_85bac71d9e1541ab9cf4d5bfe1af0e3e", + "style": "IPY_MODEL_09ca06a32274428fa6515b183f848778", + "value": "High energy" + } + }, + "99b6b53987ec4676a876dc56e8469dd4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "99b8916ecb364806806b01551062faef": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_a0ec9ae62010465496e12379cd6dfc3f", + "max": 2000, + "style": "IPY_MODEL_83fde167f8414b5297f8b356466086c2", + "value": 100 + } + }, + "99b9c8c9d9294bcea17fbf4262169061": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_dcdabe8a43ce4aed914770989edb66b4", + "style": "IPY_MODEL_157a3476f5e3467c85f52328a5d4260f" + } + }, + "99babc5f59054f77848cc79140d8b634": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "99c8ca8954654c5e8fa50d0cc9f6724f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "99d3ba1826734520826f56fdfb81773d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "99e5d2184b9849978ecfcad8b3bb547a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9a85f6b5ac5e492b91fb8a8aff8b3ea1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_62e0414b817443c99d417cb5f3558d44", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_dfdbe7a10cea4dc5afc5579d0f346382", + "value": 0.8 + } + }, + "9a988d72335d407e85c49b51c743d8c9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9aa1680472b74465a6e87eb12f1b23eb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "9b07b80b1ad341dd88a23935c6d28e7b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_9ef7afa5888e419b80459574f8158a66", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_26b373c081ce4243a55d605ad1ba472b", + "value": 5.05 + } + }, + "9b1d810c4a8d4e5cb268dd66436e04d2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9b25221096644274ae8da394b45fdafc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_e22117bc643545a4a1303026b436ba64" + ], + "layout": "IPY_MODEL_196d1b8e34b5429a9272e7b80d1da349" + } + }, + "9b53a76ebad341a69eeada86169ca3ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_7080477bc8544d86a9fd2f0608882fdb", + "IPY_MODEL_928a0614ef754c879c10fa93763bb720", + "IPY_MODEL_ae40043acd384004af774aeb1bd62da5" + ], + "layout": "IPY_MODEL_107872ed45494d16aca4df013610785a" + } + }, + "9bac66ae80ee4b6e9d153897e930fbee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9be77dfc691a4f20b98f90ea43063217": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9bed63f6ce414952ad560401894da85c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "9c42a86936ca4f6c99578ff2bc015c97": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9c4b3781365749dabf296ed0c95c6464": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9c63b8c6825b4db2a2eaefec8802e8a9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9c650ee21c7d4b45932f9894243e5938": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9c79054a6e1b4bd2ac3e075cb0162ce3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_4fdb167de4474792abc7c3c8f87e3210", + "IPY_MODEL_4e48b6840cc746438be91ad34810610b", + "IPY_MODEL_04130b711e2f4dd598e55fa45483cf0f", + "IPY_MODEL_4216cc9ea7e54544a0ef47ed62350ad5" + ], + "layout": "IPY_MODEL_85eff841ccf94ae3a4d347e23514be43" + } + }, + "9c82dec939534fb7914f4b6fcab19ade": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "9c8819587e1746c79b6f74902bc6ebab": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_398782b77df24fedac2db6e899aab973", + "style": "IPY_MODEL_7a894e7cad3a4201b499382e92848f03", + "value": "Low energy" + } + }, + "9c989b0cd1c043e5b071dc5f6ca69c98": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9cb4697533b7404bbb704a0bb171a7dc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_2f44a8d0575b428f9cb1b0032e6053c0", + "IPY_MODEL_b7b33032c5cd4b1e8cc71788398749b2", + "IPY_MODEL_2dcb75f681bb428dbff9be9dafa5ecfa", + "IPY_MODEL_7272c1580d824a5b9837d931b10f4557" + ], + "layout": "IPY_MODEL_a43840f9754f48fdb7b16922969098b7" + } + }, + "9cb6ce05bc394512bd8582edf5b990a7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_b16aa00d69574aefa184625abe9e1604", + "style": "IPY_MODEL_f6fe8a1dbaf24ebe8d5a0df511ac4544" + } + }, + "9cbe2524cb2a439eada7911ec3c8c6f1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9ce359aa5d96409497530cabb885b32f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_e902808a56ca4508b58934d6762b8805" + ], + "layout": "IPY_MODEL_79cc87efa60049c18e991eb335d22cc8" + } + }, + "9ce8d65d222c4d8989738eff526c9e31": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_7e18cdaf356944048eda3c4d470d95e7", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_48aca893471d4e538a93b4f1e8310941", + "value": 0.55 + } + }, + "9cfb13b8609846549ffd0a65faa81032": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9cfb3c7424f942b5b0629eb43c247f66": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9d1802dd9af14b66a6fac8fbc3a6506e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9d35868b0fe94ef09d377ae4e70cc383": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9d62289c9b53493f90bd841bbb547409": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9d702972085b43829708abfeae396380": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_f9ab8eed9a804fd8b182dd53202bacdd", + "style": "IPY_MODEL_938902fac9bf45dd876ffc222c56b145" + } + }, + "9d7f6adcdad64a1e836dd9bb41562a80": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9da0b3bc25ea4b4d8f2a31aaee1b032b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9dee4918311e4e4f84bdbc1033ff4ca2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9df7ce1b3a5b4f0d8a883398e8833545": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_280ff64c14184ab48262a0cd1caaea1a", + "max": 180, + "min": -10, + "style": "IPY_MODEL_3a0d9dce61864ad39894659a6eb39c91", + "value": 50 + } + }, + "9e3759f8702b46e6a6f7097b9baeacea": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_c7eb3aa9c6e847c49835d344b00191aa", + "max": 2000, + "style": "IPY_MODEL_9c4b3781365749dabf296ed0c95c6464", + "value": 100 + } + }, + "9e43b3e516a54c59afce7a03ed510e9c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9e8eaa807c1c40b39178004024fa644b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9ebe2839ecb348b49f5402238d440c94": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9ed709265bb94ea1a2a27cfd02a13b0a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9eeed48e563a4f40a05034fea4e9e871": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9ef03cb11de34a488ae0096616bc2d4a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9ef7afa5888e419b80459574f8158a66": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9f0785c12f7943adaaefb141caffc0ac": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "9f0d05507c1e4bfe9de677ce8501b2eb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "9f0d55bfddba4a7eac31fde02f4b0387": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_4dc5c797d6714f2796f1275624c817ad", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_7ba921693bc3419b963af1fa5c7d108a", + "value": 5.74 + } + }, + "9f582d4617e442ca86a3e90f1b1ee9b2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9f7981dbebeb44c89e4a3b45a1ff6ec0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "9f7c231966c84fa88d34407f64c86c91": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a006bcdd055c4483b342fa6f29ea3c2c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a020e83ed3234d238c4cc736e482ae98": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a02eb837123c4d018359451d4a2d3764": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a03d543642a54cd2b04eb0ada9f3deff": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a052ec1b27b44911ade9fc23faa409ae": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a09b7e0bc3be4341802b0f2983675ef2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a0ec9ae62010465496e12379cd6dfc3f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a0edc6a2f4ea4df59180cfd75e633517": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a14b725a3d6746328c723a07236849a5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a14e5ae554a544dc92b353902a186ac1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_370849e15ed14071ada1450125fc71a2", + "max": 90, + "step": 1, + "style": "IPY_MODEL_9d35868b0fe94ef09d377ae4e70cc383" + } + }, + "a14f976ea63b4209b4008a991724d12c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "a192534a81034bb6b9962c7f4c17dcc6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a25758382255414bb4321c6ec7bc6097": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_d6c96a0acede4bc0aaf75b83c838f2f7", + "style": "IPY_MODEL_2e9ad4a5a17e4b3096e620b8a28144a8", + "value": "Sample Offset (mm), " + } + }, + "a25e05026346492583b8ee82c757ef2d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_5897357f4c9e4c41ae555c3b867b831a" + ], + "layout": "IPY_MODEL_1a863a77f1f9422eb0211acf192ada36", + "selected_index": null + } + }, + "a2659ca3aef048e5845879dd3e4f9ca7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_05c3683d3f6c4ab6999de0425aab9d12" + ], + "layout": "IPY_MODEL_33d0be65bbe247b39463819e5614ba47" + } + }, + "a2c53569fe914dfaa8a9e2adbf65ae2f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_4aff20d454334bc592d4277fde34613f", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_8368fe357a8843cf90d12cb4ff298e6f", + "value": 3.1 + } + }, + "a3204ea53c344b7aaf6c823cb9e9e07c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a33971dc7218436c83e0e06a0286987b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_c528103ee9124fd38019ca899f225b73", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_6af74ce5fdda4d2a8ead33c498d14549", + "value": 1 + } + }, + "a364c8a0c5ac4bce8f1b2d5cb21478eb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a381793da2e84dc4ac68c5f1413de51b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_f8c0214089024038b3ee6136ff7acdab", + "style": "IPY_MODEL_58cb64efebe54fc0b9171c33a370e3de", + "value": "Sample Offset (mm), " + } + }, + "a3a6bcb43d4545fda7c3e4a4f7dbb9d8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a3ae369bc64441c581093cd89da7b2d7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a43840f9754f48fdb7b16922969098b7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a439da1b5dbe460fae6716fce1533e1b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "a4528118f39d44db81f6c69d39b62755": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a472bdd4115b468790d295e52e9b40ee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_8cd4c6089b73456193ade379d87a103b" + ], + "layout": "IPY_MODEL_3e2c3d3959f641ca8c4ed49ea2caaee0", + "selected_index": null + } + }, + "a487fd2c0fbd4479b19c35c82ed1f1a5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_0e18f784c62b4592bb8f0a0137f2aa43", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_f5629c3330c0495ea9c3b22b19e09dc2" + } + }, + "a49a6aacdeb346009695124d40cd0d0b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a548fb795fc1463fb253d5652f20fae7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a5670804c8c84494963f22ec27662502": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_896eec32714c48089a43babb407216f3", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_abc3b1bc6f04493196cb3921bf53a50f", + "value": 880 + } + }, + "a588e85d525748f1abb7d089d59025b5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a5982be4ea084fe4be8ae9ce115d33f0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a5a11a1d148941cb8b98d38ba611533b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a5e7afa2b13544e1a77cdc5d1e8a5ab2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a5faa5ca617a44f4aae13d0f10da7481": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_908e149e2c8a4c7db267c27341d905cf", + "style": "IPY_MODEL_779dd5cdc3c04a268c2eb420b414088e", + "value": "Sample Offset (mm), " + } + }, + "a6178c42bc1e49938c0ff4b2b4a851b6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a62a7401c6264aa799797e16778ef7c6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a644e3143f2f46bba555aae33a65e250": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_0a6c5e06bdd14ca19d72be6e3b8af54e" + ], + "layout": "IPY_MODEL_7c185c1c73344affafc4c8256218a14d" + } + }, + "a65ce334853643da93b948c9bf5e1869": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_2d37031f158d40abaa43f0594b1b0eee", + "IPY_MODEL_3429fba3309c40b5b1e1259dd7ff39f3" + ], + "layout": "IPY_MODEL_045ae53809cb42a5895707575d65e23f" + } + }, + "a66319781b94422aa9a76d4152bcdd15": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_99b9c8c9d9294bcea17fbf4262169061", + "IPY_MODEL_a472bdd4115b468790d295e52e9b40ee", + "IPY_MODEL_305c767f789c4279b60c2a5628f71221", + "IPY_MODEL_5eaa2ea30dd4493fb64ba24321d87a81", + "IPY_MODEL_2f5a25811a25407caa5ed9736180386a", + "IPY_MODEL_ede49980abdb49778fec12e5ecd42f02" + ], + "layout": "IPY_MODEL_479c04420a9c4db88676175966b6ddea" + } + }, + "a69690a59e75427cb3df23767adb70ce": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a69de714c066404fa3f8d6071c4f3437": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a6d3b72fe80d493b8ec89334e23b9a83": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a7390cd6f5fb4a9db6ddec1b1b909128": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a75abb0454014fbfb53bee9b54f2b6be": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a761920c6ce447f48c16d96af9f88dfa": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a7e59ce166d0454c9f43694935c50d27": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a814ad01f31d46cc8bb06b3447141c78": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_dffb7d7e90f841c2a3c2357cdef47fcb", + "style": "IPY_MODEL_4d90bd3dd97145a6b0db24e6b77a5953", + "value": "Grating Pitch:559 nm" + } + }, + "a84a2b29351841e880b916fcb506e60b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a8776e09dec349cd9d8fbbbbefe7dbd0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a8ad80b5d807405c9e45a9413fab0f97": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a90db4a9a69043a48c171296197fe0e5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a942e16106994722ae5dfdd199aa5f32": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_954adb7652ec43338350ad57efb74d48", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_2d7836a42b724713b13326ba8b25c06f" + } + }, + "a95589a386964a429a240d3670a88a4d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a9a1b83e6a134ceabcaf3f240fdc9f0e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "a9a432f6241f44c896bb83084f9a41f7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a9bca5882da14534a98182ae2192548c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_3097de95f2234ffa9b09bdac11517524", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_e97ac5eab99b4eee81b932c24b30b6e2", + "value": 1 + } + }, + "a9f6d17a229b4de1a282d7f469ebc186": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "a9fd1bacccd946cf84a2637dd5520794": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "aa141600d4fe4ee8a1ae32d59a7577f4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "aa4eb3a5702a4983b154678a3637ea9b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "aa8112041ba34cd2a800d960fd244aee": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "aa8599494b8148c491159d14e70b10fc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_17597e9365f341ffb36a467cedbc7250", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_2ff4e56e1e6646c78a5adb37564e43d8", + "value": 20 + } + }, + "aaa621c72ed44c8d80259c56169f7143": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_7c136cb9c6674cd885da943a5e5cb4e8", + "IPY_MODEL_5ac9db84c3404043b38419121ae397c2", + "IPY_MODEL_1b498d9debbf4ab7a891554790593df0" + ], + "layout": "IPY_MODEL_a84a2b29351841e880b916fcb506e60b" + } + }, + "aab99d5a938946de8a04be5fae3f5eb3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "aaddacc4edcb4b7da0f766877f0f459b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "aafc6de014a54c29a7099996cc4f6eab": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_4711a9a9eb284ad088aa38d1c8f87f5c", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_adc604f280c74484bb51b52630435baa", + "value": 0.8 + } + }, + "ab2cd39d52ce482e8d0504ec69607bbb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ab2e35861f0547cfbee273ed14b1afc2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ab789f7b9d8a49aca434a5248c81bfa6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_327a5f338d4342a0bacf380e238527c9", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_93f0932b0b72406eb9647a852882b949", + "value": 3.8 + } + }, + "ab82f774b5c34905a3cb67d383eb9d39": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_d31d136b07db4342bc606f59393aee9e", + "style": "IPY_MODEL_c4744a92369a4b67911ba7584c7abba0", + "value": "Outer Zone Plate width dr:210 nm" + } + }, + "abad228b5d8647febd49bf15689e76fe": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "abc3b1bc6f04493196cb3921bf53a50f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "abca03721ef542dca49d7c85f17b16d7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "abfd79836bc2412da975fb417f1337d4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ac3e3e1dd71541ee8e8f83be381b825d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ac8a5e40fc244c9aab19134cc7ba02b2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ac9a7818c0e7471fbc2968daadd97a91": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "acdc5dfe51f34252937ce65e19f78eab": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_32ae9d6b141f4380bd6042711a8883b9", + "IPY_MODEL_72a7326a72d54dfd93b33f81f7d44cdd" + ], + "layout": "IPY_MODEL_e9d4d98c9791456abcbcadd777d2bb8a" + } + }, + "ace3a8cea2d841988d974281435e2a8c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "acf6ed2b3474441589a7fb8899209f24": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_c63fbec6f6c34ac99bfe7d76cd3cfe37", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_cf2a9e94276d444aad779e335d0a9114" + } + }, + "ad707e8ab1df489793ba232ed8c9c91e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_b1d1cdd073ef42b9a3e771f57d0afbeb", + "IPY_MODEL_c2355509c13d4e348bd77da36437c822", + "IPY_MODEL_0add05b2e852466f9401ffa8e5de53b7" + ], + "layout": "IPY_MODEL_4393ae8743874d3bb4fa1060486b4fa6" + } + }, + "ad76cc84e78e4a0abffd084f0ae68c8a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ad99e43a80c942219c716739f3db21a0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_d343463d46d74526804b9c0cf43aba1f", + "style": "IPY_MODEL_d64e8b04f1c744d690bdd0996e1746f2", + "value": "Energy range (eV):" + } + }, + "ada37a9d5fa94e9e980fb440e8bf5810": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "adb306173a9949d19bdc94a654335263": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "adc604f280c74484bb51b52630435baa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ade0fd5dbfe64bd5aa545fe57336f5fa": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ae0dbdfa56e941b1828316ce3bed0be4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_f23fde77f4f04750a6eaa2c3c8d6b09f", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_f455b32314ec4e729fc6ac935c7487f8", + "value": 1 + } + }, + "ae1472b7ac864500a7e7fb20ee28c408": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ae34631a85eb4cf2b4ee06968a465417": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ae362f912cfc463db0b0a70423942f72": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ae3ac9e50a724d1ea50351b5471e6d20": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ae40043acd384004af774aeb1bd62da5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_09a1ae5ec20c42738306fa842b0836ad", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_695dc2f42d2548348b1e8a4615ba1e2e", + "value": 0.8 + } + }, + "ae4ac4ba726140508e8a3852b5513c4e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ae622672125740aba082fd768ac23c0e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_e83e91565bbc44df9b373b71e82eb134", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_ea7671e4024e45c88c1d76effbd584ce", + "value": 381 + } + }, + "aec293726fb9433d886c373d65a35052": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "aec37f0e80dd4ba4ae9a58673526a561": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "aed99a9f471d4e52b3b13604b0a243c4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "af47df33f28543278dc0dd9782945063": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 0, + "layout": "IPY_MODEL_fa20a1720bfc47868b136c41382d7326", + "style": "IPY_MODEL_9f0785c12f7943adaaefb141caffc0ac" + } + }, + "af4b35df3106455fb0952265fa6141fb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "af5cfa183d434cc18e5906f12c8ac9ed": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "af84ec1d323c4a708c44ef6a3eb53e8c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "af8a062f54e14064b57a85cdb809bf91": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "afe7175a908a4390b57c309ac9bdcb97": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_7a4dad0aaf31452caa996e08690955ed", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_3f07b1e110d44f4fb589356b23473d4e", + "value": 0.8 + } + }, + "aff3fb9e92fc4d39876e1372a1eedc1b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b0285d870cff457184acb2c3addc3b26": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b05c89cd877e4c16a1f4974384cfcc12": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b0628f28de154271ab2026dd4347e069": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 3, + "layout": "IPY_MODEL_e2e6a7ac34c84e378d4e5e310ed551d7", + "style": "IPY_MODEL_1cb94be0bd864d65b365c1d22646e9c7" + } + }, + "b06fee92064946ce9108f004faceb742": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_7a8160b4085a4202a11652381b6f4e47", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_9314832a77484c5f817035c1f6a0b09d", + "value": 20 + } + }, + "b08f1dcf92fd436eae1d3cb21498aeb4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b0add1a1fc12467391c0541db8971fee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "layout": "IPY_MODEL_b5b15e86f42048e68226132ff706c120", + "max": 1, + "step": null, + "style": "IPY_MODEL_4995e0fc002a4eb2bc219c989574f706", + "value": 0.25 + } + }, + "b0b2797333a94f3dba2aaeabe9faed8a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b0ed1107289149ba81fee83b270b1711": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_d9d018cf0f634b90a49608d8b9a615f1", + "style": "IPY_MODEL_62b0f354406f450db07bafd2b6923c99", + "value": "Detector (m), " + } + }, + "b1396dbabf7e4f7faa78ee90077ed2d0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b13f2415d7674072b8f288556a2b158c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b14b3e87d5ec440aac1209a957ba4864": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "b15a78c95b954cbdb433593682d4d611": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b165d89653194a3192d1ed39859108df": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b16aa00d69574aefa184625abe9e1604": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b199cb7342fb4545907c788a2ec7005d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b1d1cdd073ef42b9a3e771f57d0afbeb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_c1a2726811f94b28a36b0b7c864162bd", + "style": "IPY_MODEL_7011433627b44d0f8055a5ce303ba875", + "value": "TZPG (mm):" + } + }, + "b1d4f2b6c953467eb477d4d89167c8d6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_30cef6bf6de54d619a0540a238435a5a", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_621213403bc04ab580eb4fbac6e9dc48", + "value": 880 + } + }, + "b228319d38584bcbb295d9fb23d68742": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b24c0a32052c41d6adcddf02f80494a5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b2a0aff6a9c94db08128187753636661": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_8fb236641ab84f578aea1d701711dd2d", + "IPY_MODEL_1c719c5cce6342a3b6c820efce28d8df" + ], + "layout": "IPY_MODEL_5713d6a7bb6649958930d5a4babd9c36" + } + }, + "b2c8d9273e7e4284a4c1ec1d67e5a5f8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b2e6ff627ed745e8940e5c20c2cf6347": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_065d9fc97bb5497ca3aa434dcdbfd6b1", + "style": "IPY_MODEL_64d7ebb4eb924e0aa76c84fc0dbeef10", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>740.48</td>\n <td>754.82</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>740.48</td>\n <td>754.82</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>740.48</td>\n <td>754.82</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>39.76</td>\n <td>24.21</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>39.76</td>\n <td>24.21</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>39.76</td>\n <td>24.21</td>\n </tr>\n </tbody>\n</table>" + } + }, + "b2edff5728ad4a4d99d3a7a4ba30fead": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b30d8ef36acc40478206c614adf7bfad": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b31c5681dd364522a538cb5d4d83e5d8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b335f25ddee4414eb1a4fec7e175ba53": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b3a1bf04e9b04fd6bb9b2e52d37d8a03": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b44749855deb483c96bb3fb8653212e4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b44fe5c44e6d4d08bd23dafbdabb6f87": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b49599b2a22541668a5bc3819fd51399": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_d13a77587fbf4d77b4ee25288cb2126c", + "IPY_MODEL_20c16348d15a4df3bcc6d58379a35450" + ], + "layout": "IPY_MODEL_b31c5681dd364522a538cb5d4d83e5d8" + } + }, + "b4b36d8309304d9d9e5c445947ebb1e5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b4b9d7e6b1b54d338bde03edd0551439": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "b4c789fe1e4e423d97d822aaaf599f5c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b4ed6577720f42469da0c932148a2687": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_18560cbbc89b4a21815374d36c85789a", + "IPY_MODEL_71f4ea80ea6546b4bf3b364fddcbcd50", + "IPY_MODEL_3848f53a073b47639d7157ee62de4eef", + "IPY_MODEL_556c9f2873f84e85bbfb8c469be78816", + "IPY_MODEL_bb342591669b4fc09e7b35e0ac23f43f" + ], + "layout": "IPY_MODEL_901d6a2618da4216adc3a68a7ac21ed2" + } + }, + "b4fbcebe999549798b49fb4c5329fa7a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_e7299e0190d8436f9c40153affaa19e8", + "IPY_MODEL_bb87ed58405245a1b1d512f2d0e9c873" + ], + "layout": "IPY_MODEL_5b402bbcf0684b7795a572b4df075d80" + } + }, + "b502849ac55642b3b6c5a7435a65954d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b51a3288e7484f64897d92fd026111d9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_cb38fd50238546b38803d6e650378de6", + "style": "IPY_MODEL_9c82dec939534fb7914f4b6fcab19ade", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>734.64</td>\n <td>750.39</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>734.64</td>\n <td>750.39</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>734.64</td>\n <td>750.39</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>174.34</td>\n <td>157.27</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>174.34</td>\n <td>157.27</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>174.34</td>\n <td>157.27</td>\n </tr>\n </tbody>\n</table>" + } + }, + "b529c87c4ac44cd7af83f86a99975fa9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b596c25ea08a48b690680b4f389c33ad": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b5b15e86f42048e68226132ff706c120": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b5bef905571f4c87b1c035c00162ff80": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b5f8448b81d44ca5a64933adbad9fda3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_c474a598b0844346adb7f57bc08c02e2", + "IPY_MODEL_fd6da5315e774c30918d7409a6e74a2f", + "IPY_MODEL_f05bd78e18c142d3a3d726ca1fbce319" + ], + "layout": "IPY_MODEL_26a653f497c64369bc2d3f0ab25f7d9e" + } + }, + "b604fb35dfce46ec80da3cdc19e48a1a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_22e9b07f45dc4e6cb6ed704626aaf22e", + "max": 2000, + "style": "IPY_MODEL_a09b7e0bc3be4341802b0f2983675ef2", + "value": 200 + } + }, + "b60c3509396f4501a5f8567d9638a96b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "description": "Update", + "layout": "IPY_MODEL_eac2418d91a241da94d16bf49262e97b", + "style": "IPY_MODEL_4d1b0c910f4d48b284730de62778f1df" + } + }, + "b63341388d8b40698c932d0745665571": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b63a868db6cc400ba35005f2e0636094": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b651be26532b4ec3be5387e3ad97d52b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b68f06648d2d4150af3a4f864807fec6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_8fa7bb0cefa34066bc6d9a118a7ada5a", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_26d3bb698efc407cb5ac6fd2e32043e3", + "value": 860 + } + }, + "b6a075d858f949d3bfc084675f7232c9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b6f705feaf464b1ba7210b52fc3ee597": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b706d1e6515b4bc9be4c63b90393c67b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_77a26a4a672d4a10ad72394fdce2f459", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_9c63b8c6825b4db2a2eaefec8802e8a9", + "value": 5.05 + } + }, + "b70a4c09d4034d71897984e5bbbfbd3b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b75d65297c80448cbfa29db04863b15e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b76e283a035c453980b7dcd15d734428": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b790a7f3c0c5434f99ef687d27f95b8a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b7b0c110ce7f4df5bf24dc5393f47bb8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b7b33032c5cd4b1e8cc71788398749b2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_926b4b33718d45ac8ab937e7792f3907", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_b24c0a32052c41d6adcddf02f80494a5", + "value": 2000 + } + }, + "b7b6754e19fe4a5ebce2d0f51447d9d9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b7cceb85700347bfb13fd866b2da1ebf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b819b272c70543b3b9000fe6b67a8c7c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "b83fe8cf5aa443b8b21161e94bd2ddcd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b84c1cb4caba4acdbecb53cb1c1589aa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_b0ed1107289149ba81fee83b270b1711", + "IPY_MODEL_256215f9f57e4614a5b37128425a66c0", + "IPY_MODEL_aa8599494b8148c491159d14e70b10fc", + "IPY_MODEL_a487fd2c0fbd4479b19c35c82ed1f1a5" + ], + "layout": "IPY_MODEL_30ea082e01454a72811a218080485c2b" + } + }, + "b853ecc147da479b91f397d3fc1f6195": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_9d1802dd9af14b66a6fac8fbc3a6506e", + "style": "IPY_MODEL_9aa1680472b74465a6e87eb12f1b23eb", + "value": "Membrane (mm), " + } + }, + "b8f03880c3424c9b8f2f68ba16cbdd11": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b922de1c4412441abb54b6d4ab8595af": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_673a124bc27143fb9454b08c0fcbb053", + "style": "IPY_MODEL_99346cbf21fc4fdcbb91f43c16ce5c18", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>24.37</td>\n <td>8.52</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>24.37</td>\n <td>8.52</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>24.37</td>\n <td>8.52</td>\n </tr>\n </tbody>\n</table>" + } + }, + "b9636513b94d4146a2a969d3f7212635": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_7e1bacf8e76d46dc91fd323cbc735803", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_f68c3c250e6b42f8bef66cccc1c96ff2", + "value": 54.74 + } + }, + "b96cf4cf5170445e91e1e0f161d0d845": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b9af07ea39c5460fa36f9520f3e65584": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b9bd7caeb73f444a9dbbeba29512e8aa": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "b9f96628b8894cdfb106bc996bd8e20f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ba13a53384a4449ea662246fb1e957e0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_63c34085916d41d5bec8cedd6d27b9d3" + ], + "layout": "IPY_MODEL_1d2cf49ea658495e8feb7c70045b9f23" + } + }, + "ba21afbc680b4d0f895210b07c612514": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_14f7109f4ebc4787a0539ba7831bea2c", + "style": "IPY_MODEL_17ca941506314ce48c6478b3ff18d7e2", + "value": "High energy" + } + }, + "ba3a6c53558f45ff8d0692be668af872": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ba5ac17758a14a1491015a667ebcf7fe": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ba6788e568ef427a9eac817d86fcd865": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "bb1c1ad990b44267a4938c6215982974": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bb342591669b4fc09e7b35e0ac23f43f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_a14e5ae554a544dc92b353902a186ac1", + "IPY_MODEL_4fe14ce208b9490a9c6dc1205cff5fe6" + ], + "layout": "IPY_MODEL_bbc1dcbb2aa742e68fc0e8820fed0842" + } + }, + "bb3fb55a50e648b5ba04ccecdaf83404": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_c9b7fb2fad244bd49a741d5cf9e2c187", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_8c383b85ee81417ba036bdcdbb57b4d3", + "value": 708 + } + }, + "bb64ef3939ad4b388c0874bfd3387ab1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "bb87ed58405245a1b1d512f2d0e9c873": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_87889a997fe14bce93a83ab5579df700", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_e7dc83684da1459b9cb661385ae9aa7a", + "value": 54.74 + } + }, + "bbb24af1a8c84378b2938a5b1b0097cc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_aa4eb3a5702a4983b154678a3637ea9b", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_11898ed2464243a191564ec16153e1f8", + "value": 5.74 + } + }, + "bbb49d3c319b414eadcec01dab6f927f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_79a689551db24069ae992286b233a64b", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_bdd4c24267154010b22fae40f68426fe", + "value": 5.05 + } + }, + "bbc1dcbb2aa742e68fc0e8820fed0842": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bbccb8f516834074a8b76b8f0358fc2f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bbdf6084e2344a4b92c4d2724141a007": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_c48d87df576c4d308ae8bc2298d71dd3", + "style": "IPY_MODEL_f9f70729bbfb41a0acf81cb9f5220c8d", + "value": "Outer Zone Plate width dr:192 nm" + } + }, + "bc1bfc5ccbee43469ae61fd840f0205a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "bc1ceeffd7bc4225aff10fca0a9afb5e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bc369aaa87624c86a5be1596dbc45a7d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_6274f0ae62f942e5a8a205663aca0518" + ], + "layout": "IPY_MODEL_abfd79836bc2412da975fb417f1337d4" + } + }, + "bc52293b78d04d1398361a993603c750": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "bc55db4f2dec4c6eba762d3444d44cf2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "bccae2dd19344ffb98fe1ef393c4345c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_0a5b32b383c34987b9a71b2af3577977", + "style": "IPY_MODEL_47583746ccd84efbb92ced48fe91959a", + "value": "Detector (m), " + } + }, + "bd0ca96ed8734e90bc930b9fc6e619f0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bd1748f967c24565b7514db9952935dd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bd25ba00bb4e436391d4bd680854e158": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_89b9e2c879434f828fc10cb95c1fa977", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_f56730ab95d94b42a125d1dc0eb3402c", + "value": 5200 + } + }, + "bd2f09d9d4d04e65954591862909f28a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bd477eeb8df54cea9843698c8ebde1f7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_80b8e7824b6b4d0080d6b7a71711c924", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_0638c50db4604026a5909b916fb5c22f", + "value": 0.5 + } + }, + "bd8e68284f3b43e78331bdf700e4cd93": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "bdbdab4713cd4d7b9ad17c53b9f53aaf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_ac9a7818c0e7471fbc2968daadd97a91", + "style": "IPY_MODEL_3dd028afd1a24de9a55718a588d59e4a", + "value": "TZPG (mm):" + } + }, + "bdd4c24267154010b22fae40f68426fe": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "bdfaae25e14c41b5905673d4c6a1662b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "be36e48863a249a8ba0b327dd72eb1e6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "be40e1cd73d74107b5a4554f9b14fb83": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "layout": "IPY_MODEL_a761920c6ce447f48c16d96af9f88dfa", + "max": 1, + "step": null, + "style": "IPY_MODEL_8d6fb60768534b208c359a93ef93d9f2", + "value": 0.25 + } + }, + "be68b0fd31b9432da7dd7e15c6551dd6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_99babc5f59054f77848cc79140d8b634", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_19d49cc37ee44d62a82c6d42f0088efe", + "value": 54.74 + } + }, + "be6a77ba38a54f8a9a5e0be52cfb80fb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_bdbdab4713cd4d7b9ad17c53b9f53aaf", + "IPY_MODEL_6f9684b551b7481a95aa831f0d21b9a7", + "IPY_MODEL_afe7175a908a4390b57c309ac9bdcb97" + ], + "layout": "IPY_MODEL_d86d00de404d42e9a120c206792e5f7f" + } + }, + "be78b926e0ad495aae07753eaafb2854": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_94d267ce78bb4518a37d86f81a9c4903", + "IPY_MODEL_c7318c2818344553b9a6ee9f82866cf3" + ], + "layout": "IPY_MODEL_499fbe08c0994ef9a0c322758183c953" + } + }, + "bea23b4f4ef24bee953da3b6e05ac0e1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_59e6dc1307a040e7aa354e026036ff77", + "IPY_MODEL_0a40246c3a76479fbf76ad91d1e23944", + "IPY_MODEL_e11bf1193eaf4008806f78aefde6d8e1", + "IPY_MODEL_45207426a1804dfab251acc0e7538b33", + "IPY_MODEL_d55bf92ebbd543458fb328aa330b09ac" + ], + "layout": "IPY_MODEL_5e3c35f9417f4631a9fa368bc68e5f1c" + } + }, + "bec27a69d37d4576b42f9ee94f6fd363": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bec4e03e57f948e1a2dceb2b8da4095a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "bed70c7195c8410f8b299b306ed0c8e4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bedf3064b024405b8eaec352834e3d1b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bee2fca98a9b472ca7f9197c589a8a14": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_e3d4f3123c2a416db640a6221290f7c9", + "IPY_MODEL_e0ab62a1be71457daeaf6363bdd5444b" + ], + "layout": "IPY_MODEL_1929449192744bd49cd6d1fd756f9b80" + } + }, + "bef5dd5148184b80873db37119306a32": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bef8dbe624dc4a01baa8a469e9de7652": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_7953fee2942646f1bf582c8f7c6a7ca9", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_a8ad80b5d807405c9e45a9413fab0f97" + } + }, + "bf09be76fafb43c7a024f24fe05669fb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "bf22c8e8e6cd4a9796f358f5b30bd54b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_3d014c71c8184f798d753e98b7cc0a3b", + "IPY_MODEL_f36b683997af41a28dc95a69dd478835", + "IPY_MODEL_3d6fa9980ce6435f9a1d7f7776945514" + ], + "layout": "IPY_MODEL_bd1748f967c24565b7514db9952935dd" + } + }, + "bf31392c0d5c4b719f34c588db583d32": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bf60c8db2c74400a907401904a7d44e1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_89768eb3e20342aca6bcda60aed46670", + "IPY_MODEL_4e6d9ce0cc9944eba03b6feedc314170", + "IPY_MODEL_b06fee92064946ce9108f004faceb742", + "IPY_MODEL_40db61a90ae24a8a8014031776f3a7fa" + ], + "layout": "IPY_MODEL_7310590e3163460e8c9b826ad334f425" + } + }, + "bf6b943294cb404c9f21370241015624": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bf6ceb35d67345479623c4a6944f43b9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_e5a6e38fe1a844a987871690750d05e4", + "max": 2000, + "style": "IPY_MODEL_8fac06980ff4484ca023e24a3a5602fc", + "value": 100 + } + }, + "bf91ccf62ff448a5a717ab411c403b2e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bfac3a154170479f8ef58ef4269388a2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "bfb18423290f44b9b2e776123232e9fa": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "bfcf655aee6741a8a59af78a00494709": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_e993a1bbf1a4429d8f55520dc5cb9047", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_6ead73290555442badc69fe1b5ffc061", + "value": 525 + } + }, + "bfee23e97e8b4c36928a6c0f1795ec58": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_778dd955b00a41a2a17b23d18076a6e1", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_e8317e5543d14b368137ad16eba99cef", + "value": 0.5 + } + }, + "c00b3644a0ed488ab1e4a0879ff8d175": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_00d83bc536044cbaa7081f853860f10c", + "style": "IPY_MODEL_d18ff27d9a2e4075bd0999c139b84af2", + "value": "Low energy" + } + }, + "c024b058213e4f72b799eb6561a2af3c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c04d4b179ab041e491bbafdbe2cb2953": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c0a3b186bdf543d7b2c8a0d61eb2d4fd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_72055e782ec7408a80f709c3dd1e0bb5", + "IPY_MODEL_1323fe9418a747bfbda692ad021757ca" + ], + "layout": "IPY_MODEL_b63341388d8b40698c932d0745665571" + } + }, + "c0a66750d27b40e68603235cf9c17782": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_e8abfceef65b49c4a5f5e406f240b18c", + "max": 2000, + "style": "IPY_MODEL_26c46c9642744230808e4a702b419a2c", + "value": 200 + } + }, + "c0abe011d4bb4251b26a543c7fc6c33e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_50840e29b9794dc19fbb435affe41631", + "style": "IPY_MODEL_ffe38966f27144a88cdd7eb29dea4afa", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>118.52</td>\n <td>133.14</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>118.52</td>\n <td>133.14</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>118.52</td>\n <td>133.14</td>\n </tr>\n </tbody>\n</table>" + } + }, + "c0b670d4106d4b369f4040b6e330ca92": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c0e785e141a9448f90a131b5be2b9cf0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c0e9205e95d84dce91c54e660802c5b0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c13f38cd58444d2d98837966a1db769e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_b0628f28de154271ab2026dd4347e069", + "IPY_MODEL_567a48e881104804967bf8cd9bb734e4", + "IPY_MODEL_96ed9000ca7e4bddb43d160f24844aef", + "IPY_MODEL_51b21d368bea4e12b9745ecc0f36d0fa", + "IPY_MODEL_ad707e8ab1df489793ba232ed8c9c91e" + ], + "layout": "IPY_MODEL_e23b3fc672ed408a9284d8d60b2da33b" + } + }, + "c1670012f6504fcc85ecddb7f406ad70": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c168088995664f3eb6171bbccaa8f859": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c1a2726811f94b28a36b0b7c864162bd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c1eb55fd7bf4486ea63005c687c3705f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "c1eee4b29a234915a7e975de3d740ed4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_d698f7d237114b72a9ecd655d79e23bf" + ], + "layout": "IPY_MODEL_d1f264592978441fb5fb4416ab627351" + } + }, + "c204477bb9b541069aeb91417584ef12": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_ffb9023a9db74e9dba659478dae0d206", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_fc6321dd0cfa43ed904cc7cbdea69707", + "value": 5.05 + } + }, + "c20904797d7e4f60b219f84256efc43d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_82fda8bbfffb4ba189de426383091b8f", + "style": "IPY_MODEL_23025a368508491b8074ba3da9c2ce29", + "value": "Detector (m), " + } + }, + "c20fdad8c5c74be08bef92beb4cfa6ab": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c211d58e7849455fadfc734888548311": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_3e3ccd91d59645b78833dbe900e20e8b", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_9cfb3c7424f942b5b0629eb43c247f66", + "value": 0.5 + } + }, + "c2355509c13d4e348bd77da36437c822": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_3ff7f0f3112a4a61a5028b888cb61747", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_e46b1e8521cc4bb384db85eaf72a4638", + "value": 0.8 + } + }, + "c2381f2f7bbf4a639dc1c9bb9f90499c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_7a773dcb42b3467ab5352e0f1510b418", + "max": 2000, + "style": "IPY_MODEL_857a0f00a75b4fc285b7f8b2789ba36e", + "value": 200 + } + }, + "c2537060c01c458494833a5176363404": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_c599b7cb6f0a40ec953eb5d81b202cf3", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_697a8cb7e15c4f3fa92d537790c57894", + "value": 0.3 + } + }, + "c2a2511702764fa5ac2e39abbd508416": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c2ab505c31254adbb7c5a655d40beca9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "c2b667c0991b451aa64bb934a925a494": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_f93c3c11978f44be86ae3dcd09393f2b", + "IPY_MODEL_b49599b2a22541668a5bc3819fd51399" + ], + "layout": "IPY_MODEL_92adb9fb6f1d4bd697e422ae7788fd55" + } + }, + "c2ebfff042264268a5b0cf6ad25b1bee": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c33fce3046e040d4bcbf194cb2bc5179": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "c361dfcc09ea420f8392247c1eb4b758": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_27b9d9cc150642e1a21f7bc6ab5aca4c", + "IPY_MODEL_52e10c51abf74ba1818bbddb7a987ce9", + "IPY_MODEL_95073e8f40654b87a3b57eeb44acf7cc" + ], + "layout": "IPY_MODEL_f74ec4d8b61c41a3965ebc043546162f" + } + }, + "c363bd32fd1743fab52a40d7eae82c3c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_af84ec1d323c4a708c44ef6a3eb53e8c", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_c6fb7c06a2584c5c9f8fcdca14d1f883", + "value": 54.74 + } + }, + "c369411c1ede47d388e649e7457c0265": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_19aeaf2303e04ed3b4360fa60c015797", + "IPY_MODEL_474365a24770471bb09e0e288c23540f", + "IPY_MODEL_1101e4705d924b53bae2327b1dc52f33", + "IPY_MODEL_7b71de25686240cd878c03176395ce28", + "IPY_MODEL_9b53a76ebad341a69eeada86169ca3ed" + ], + "layout": "IPY_MODEL_b70a4c09d4034d71897984e5bbbfbd3b" + } + }, + "c373d0dfa59a4783b6f6910ebcf2e688": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "c383b641000f4691a26d648b56304103": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c3894160023e4722b97eb6f238e075bd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c3a93892e17544b68e9c7c4815b24ab7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c3bcb24daf824799a0468a1280ff6ad9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c3c40432af7644cb8cc67795e9b6848c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "c3cd2091118f4634adc474f9aa848b4c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c3d29f9d2a3f4facbf1487e0e62a78ee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_fe77d08cdaf44e85882cd937fd251232", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_1efb59da7c4a46ff9fe10ac3a01a2f81", + "value": 1 + } + }, + "c3ffee83be43447f90203655c5ea9cdb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c41cd24bb78e4f89a1afbac92dd16a06": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c41f101a12634c57ab50481613303c14": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c446fb3be1df4deabbc1bed5a8dab7a5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_48eaf9f4a32a4944920f67ee9ef6af1c" + ], + "layout": "IPY_MODEL_a5982be4ea084fe4be8ae9ce115d33f0" + } + }, + "c45910f261204f869a0b31cd84e9e796": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c4629f7520064104bcb5d87fbfe6a570": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "c4744a92369a4b67911ba7584c7abba0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "c474a598b0844346adb7f57bc08c02e2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_8a508a2a61ee46d7b98a89ea0ba21c4e", + "style": "IPY_MODEL_2106cd34f4234b4d8cafbd7f9f0b1edc", + "value": "Energy range (eV):" + } + }, + "c48d87df576c4d308ae8bc2298d71dd3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c4aaefa9232240ffb649712fedcbcc4a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "c4f654c3a66d4c7bb5cf0e3310fbd692": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c52398c288cb472383815e432524af31": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_0ee1b4d4f53d46939587c48988ab8138", + "IPY_MODEL_52467dac1e244eb7bdc55d3123e872a0", + "IPY_MODEL_7132f5aa5f434635aac4111b484c19f3" + ], + "layout": "IPY_MODEL_f207fd0ef73b4501a7320341bf77aa09" + } + }, + "c528103ee9124fd38019ca899f225b73": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c52c884126fb4a8fb7f35672acb64e72": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "c5526b3489ba44b290133933978cbb5f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_bfb18423290f44b9b2e776123232e9fa", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_29f194119c324abf906789b9b4a9db19", + "value": 5.74 + } + }, + "c597015364b64a4b975ac87f745d01e3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c599b7cb6f0a40ec953eb5d81b202cf3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c62592dda7254639bceae52c7c6415c3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c63fbec6f6c34ac99bfe7d76cd3cfe37": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c6fb7c06a2584c5c9f8fcdca14d1f883": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "c7318c2818344553b9a6ee9f82866cf3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_e3dda80fff6141479947a01382a34e81", + "style": "IPY_MODEL_0a0f542f278e41abadabea6d55387152", + "value": "Outer Zone Plate width dr:134 nm" + } + }, + "c7603eb869fa4a2c9efd95288d25bcf6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_2fe3595a4fe4411eb5a3e9a788a90586", + "IPY_MODEL_a9bca5882da14534a98182ae2192548c", + "IPY_MODEL_a33971dc7218436c83e0e06a0286987b" + ], + "layout": "IPY_MODEL_1608398a230247d79cea8ecf4d7f7c22" + } + }, + "c799f250e3bd4ab28859c7aa6e835a44": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c7eb3aa9c6e847c49835d344b00191aa": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c7fdb091911a46fa858b84461c3af99f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c825ec7bf6e944978f7ff83890dd00e5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_aa8112041ba34cd2a800d960fd244aee", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_38931a9310794094a07e62a6bd84a9a6", + "value": 5.05 + } + }, + "c8380130d3cc478bbcf98189e4679800": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_e3f12e1caf6d4c6980e901bbe45e9540", + "IPY_MODEL_942d232a00b5490aa64a1d82a06f39d4" + ], + "layout": "IPY_MODEL_c62592dda7254639bceae52c7c6415c3" + } + }, + "c880829a6ca04159a3c2b31e1bac6511": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_26bb86a582774688ab3dd7759237010b", + "style": "IPY_MODEL_1e4361433f9f4928a95a07e46fdd71f3", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>923.66</td>\n <td>942.09</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>144.93</td>\n <td>125.27</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>144.93</td>\n <td>125.27</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>144.93</td>\n <td>125.27</td>\n </tr>\n </tbody>\n</table>" + } + }, + "c8d604bc3af44535896eefbcd65491c6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c9024e7b869a4a93b9ae95bcf9c4de98": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_008288c1f0c24d95a70be3e032f68751", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_c3c40432af7644cb8cc67795e9b6848c" + } + }, + "c90a0eccb4b14aafb7e1b99aa3ff603d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_57d55192ca9d42af9fb421f538662121", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_07955369d5104a1da5d2015a1344ee56", + "value": 381 + } + }, + "c918039080114470a82a7a0c29501e32": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c99bd31ae92e4918b026812a983261da": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_1e349bdc4c3141269927ff152f0cb0de", + "style": "IPY_MODEL_0e89a4f81f8a4380af173439ea2c31f6", + "value": "Low energy" + } + }, + "c9afb09d09e54c178db02412860d05a7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c9b7fb2fad244bd49a741d5cf9e2c187": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "c9ba50dac1094b91b0a0f30471a2a9fa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "c9bede7beda24d8ea990db7ea56829b8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_230fe8ddc63b402d8dd1143fb14ebd1a", + "IPY_MODEL_e27fc9a951f34681a0064f534a02f60f", + "IPY_MODEL_754713d8944041c89bb959de74402853" + ], + "layout": "IPY_MODEL_9c989b0cd1c043e5b071dc5f6ca69c98" + } + }, + "ca25df6722664b68ac1e4133b621efd2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ca312c3a313c40deaac941327537f221": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ca7afb9df81046c8b84620c75b443529": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ca9fd49900314cda92953d73f031e333": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_62458e9de9be4b41a8527a92f62b8b8c", + "IPY_MODEL_4fba4b26317142958d99a97fd1c9bb45", + "IPY_MODEL_c825ec7bf6e944978f7ff83890dd00e5", + "IPY_MODEL_89089eae9fd04b0e8cf5521f7c3696cc" + ], + "layout": "IPY_MODEL_9b1d810c4a8d4e5cb268dd66436e04d2" + } + }, + "caec6c5ba89347d28f126f526baff2ba": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "cb00112097554dba87c10746c5d177fb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "cb38fd50238546b38803d6e650378de6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cb52538c58c84992a7493cc0d48227ed": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cb67a8c80df14c438e27e1c5bf4360a8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "cb94b7acff5a4310b2c1c11c8010f9ad": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cbc52cb11dd146a882103a93b90dcbe4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_a5faa5ca617a44f4aae13d0f10da7481", + "IPY_MODEL_1236f6fd72a848e0b7cb3f4ba91260e2", + "IPY_MODEL_5a616074200840ba8712b75400b315b3" + ], + "layout": "IPY_MODEL_d8ae241349b6408b8c86a17a2a8613d8" + } + }, + "cc2f91266d3b49fbbb12f4c081c4805c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cce496be81e14b608c9e36fab047c6a0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ccea9a0398714a68b2e156b4945d48fa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_748a731d222c43b4bd1097fcffa49664", + "IPY_MODEL_314a9597e264463c9baa03341ccf09df", + "IPY_MODEL_714944909cb34d35b02fc8c43b325653" + ], + "layout": "IPY_MODEL_e83e0fb377b0464a929a773e6f5e9729" + } + }, + "cd1a6f095e2b4eab84dda3c15b31a197": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_58ba155869fc4095a9d81345425d1db6" + ], + "layout": "IPY_MODEL_62e70ab0954240d58af939a4aeeb43a7" + } + }, + "cd31c43959fc4cb9a7e5f31c614d5b39": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "cd4265ec4c3f42af9d221ffa47a10aee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_fbbb036dc1944c2e9684617d704be335", + "IPY_MODEL_606e9d5fefb3484999600243c7a1a3c7", + "IPY_MODEL_c204477bb9b541069aeb91417584ef12", + "IPY_MODEL_e814e4553d1547899188d4526ac33689" + ], + "layout": "IPY_MODEL_96101a048d36415ab269fa2ae414484c" + } + }, + "cd45f126c13b47bcb3dbfa1dcc293c1f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "cd647eb1dbf94d67a7c595181e844e9b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cdcd4580d7cf42bf9b1d595234991ef5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cdf55c048ace4ec5961e188a6ad1a7d0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cdfea446c01241d3af41901cc27fde12": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ce163d86f178493fbaf23e6881985a25": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ce2e3d0e73c7465f9925ec5ca2c6e642": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ce2ee549dc7d45e5828616555cdd271a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_82bf4f2321844415a65e52be3191fa36", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_4fbba19df1444690bcb87b476c7dc63a" + } + }, + "ce33b422b92c4866b25c735e4b53b372": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_e8f36ef7fa984dd494fe3bb74f9d0cc6", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_a052ec1b27b44911ade9fc23faa409ae", + "value": 381 + } + }, + "ce6d269271f648bd95b998d5a5e00e11": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ce985fcbb8f44247824bd1f5135b0edb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "cec8946fca2c4fdab284783f3ddff397": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cefbe4ec49bf49f6960301eb1be1be7d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "cf2a9e94276d444aad779e335d0a9114": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "cf3523438b1040858d50de58e9940793": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "cf73181277984419a8c60b63a2837003": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cf77cc8f06ae4d88b08b79fc5f95d198": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cf9842103f624cbab6115eda5f9a2c0c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "cf988e41f9af49acb18cd861dd9ba0fc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "cfce0ff4fe1248348ef2fdaeda9df8d9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "d0a3009840c049dfb7d80e6a7db2f895": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "d0e4709300e848e1908cefb20b6b5b0c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_19ad69fb3b5c4e669e872498e8978c10", + "IPY_MODEL_1931b49f139a4e56b28a1a6502de0455", + "IPY_MODEL_0bea43f5fefb4a70b14846ee460a48a9" + ], + "layout": "IPY_MODEL_9ef03cb11de34a488ae0096616bc2d4a" + } + }, + "d0e6d423d5094797aa8e07b50361ac10": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d10140f801634658bec84de787485a43": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d1235bac8f2f434582186d546d1d4864": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d130bc55943f4ba6bee6f66eeb45ec9b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_5705f04ea026437c982cfd3848cb6be7", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_aec293726fb9433d886c373d65a35052", + "value": 3.8 + } + }, + "d13a77587fbf4d77b4ee25288cb2126c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_b63a868db6cc400ba35005f2e0636094", + "style": "IPY_MODEL_ead591fab80f47418041d3a04a091d81", + "value": "High energy" + } + }, + "d13d6d580da74973814e85dc32a62290": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "d18ff27d9a2e4075bd0999c139b84af2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "d1922d60300a42a3886e72bba7956e2e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "d193618a4eae4e27b83d95cffa31b99d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_7aad60a3ebf14412815618974191397a" + ], + "layout": "IPY_MODEL_e73adf3b25c1435a8597a0abe201b4e8" + } + }, + "d199f4cda8b9450fb8ef86bacdad6c8f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Source and KBS" + }, + "children": [ + "IPY_MODEL_e390ca3000884f7a9e2dbb641ca12f8a" + ], + "layout": "IPY_MODEL_72dfcce9ba9549668fcba708670144e1" + } + }, + "d19d74d001f5431ab64d25305d043bb2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d1ac99ee0e734db987f1f7b2a6de70d1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d1b023fce1394f1ca09ac30b59e2dc1a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "d1d217e798db4a11bb3dbf83ab291fa0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d1d55260bf254e35a7f8df1ab6a16f11": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d1f264592978441fb5fb4416ab627351": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d2288afa81494239ac61b002068ebdf8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 3, + "layout": "IPY_MODEL_f99a4e28327d459698f5b3178865a17b", + "style": "IPY_MODEL_bc52293b78d04d1398361a993603c750" + } + }, + "d22c0947ffb8453cbcd9f0bc3c708fd6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_e666f34b46824295b31b6d2ba347e7c8", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_aaddacc4edcb4b7da0f766877f0f459b" + } + }, + "d285432f89d94c1a8b1db22fce8233cc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d2bf15717d4a420c866af2ccdc160291": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d2f59e3a3ea345f4abfbca26550c8e3c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d3194e53d3b64108b9357e0dcec50ec0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "d31d136b07db4342bc606f59393aee9e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d333d53beb3e42028afd8c0916c4d2da": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d343463d46d74526804b9c0cf43aba1f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d37adad632f04b20893b5375c19fe480": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d3a746d58aab4344b4922a755859aa29": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "d3ab8c9d9bdd4d8fa2f79c54c2a41f22": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_ecbe3860080e47c091610ac1355bf54e", + "style": "IPY_MODEL_eb2ea7e802d74089a3dfb6519117659e", + "value": "TZPG (mm):" + } + }, + "d3da53454def429ca92ddaad8e0e2331": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "d3dbd40533d9441182e4fb8f40ee3a3f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_14761b3043e5429e8d8ed861bd9eae75", + "IPY_MODEL_45ff297c67d842b3ba4effa22cb23baa" + ], + "layout": "IPY_MODEL_39d56a7031314fd1aa09c3724485d93b" + } + }, + "d3e4642549714ec38a08f1acbf5666f8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "d40054141e284e0985397d41f09718a8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "d444ff2c9d084276ae77b336114cf070": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d46ad83e5f22497587f9ee270ee883c0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_ecd9a8ef26964134bd8956f10a30b993", + "IPY_MODEL_d56a7c695a76439ea6156aa0e5a7aa00" + ], + "layout": "IPY_MODEL_9e43b3e516a54c59afce7a03ed510e9c" + } + }, + "d4950f257fcb46b4aee4ef9d285db1ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "d4a3123e5dba40a6a8ac4ba21a81a36e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "d4efde5a30664154ba4746f08f977f73": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d50f77a2d7f14a60a9bae6b1e2a272bb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "d5126b34932f48c79817412900c32d36": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 2, + "layout": "IPY_MODEL_e170efb34ce6481e81a74b158d8a69c1", + "style": "IPY_MODEL_d3a746d58aab4344b4922a755859aa29" + } + }, + "d526813200f84bcc88ad0a9167714604": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d53e19a5217b4bfe99cf33628d833c2b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 0, + "layout": "IPY_MODEL_c04d4b179ab041e491bbafdbe2cb2953", + "style": "IPY_MODEL_5fe2d3701e18438ab6d7abce1175653b" + } + }, + "d5405eaafbf0487698edfd7ca5a998c9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d55bf92ebbd543458fb328aa330b09ac": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_666b12f62b9c49519b21a8beef8a8740", + "IPY_MODEL_e5a3f94fe3a4479ea556534a2d4ab250" + ], + "layout": "IPY_MODEL_e044c0c1a67b44c29f31e0eb2a76f0fa" + } + }, + "d56a7c695a76439ea6156aa0e5a7aa00": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_d1d217e798db4a11bb3dbf83ab291fa0", + "style": "IPY_MODEL_2ed83a06fc4c40c1936f49365ac7cd99", + "value": "Outer Zone Plate width dr:196 nm" + } + }, + "d5d4aa350e9d4b639ee48b6659f85193": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_535dcc3b907f414985f74e5bd132cb36", + "style": "IPY_MODEL_fb5521a8d977436dbf0e1b5332c1f8bf", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>42.05</td>\n <td>26.19</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>42.05</td>\n <td>26.19</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>42.05</td>\n <td>26.19</td>\n </tr>\n </tbody>\n</table>" + } + }, + "d5dfc963b77b4258bcba769a7c582437": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_abad228b5d8647febd49bf15689e76fe", + "max": 2000, + "style": "IPY_MODEL_25d1646dbbfc4f7e9be7c8b1f9fe9830", + "value": 100 + } + }, + "d62221e013d94b828fd8ff3fceae368e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_98e0fe56f7b84ca8835d27ee725db818", + "style": "IPY_MODEL_55821564bc5f49a4918818eef5273625", + "value": "Energy range (eV):" + } + }, + "d64e8b04f1c744d690bdd0996e1746f2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "d68592599611449abbde95aa501f7f83": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "d698f7d237114b72a9ecd655d79e23bf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_e7f647e9b9d74b179ae92bbb47605c1e", + "IPY_MODEL_fe49601ea4d14dd9aa543f5e08e823b5" + ], + "layout": "IPY_MODEL_5cf8f47c841c4a7d90d3603c3ed165ff" + } + }, + "d6c96a0acede4bc0aaf75b83c838f2f7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d6edd628d87b4426a5c8d875adb0fb5e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d70fc0960425408a94f27cb1f32e6170": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_8d65ea9cb16b4e97ab91ed739a8521d5", + "IPY_MODEL_6abf7cfe5d2247ac98f70d36701923cc" + ], + "layout": "IPY_MODEL_56b8130e1c424ba681ff47a5de12e70d" + } + }, + "d72fb88a7cd241f58ac283636cdbc1fa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_6b24bcf61ead40d8a567cef11c2f34c6", + "IPY_MODEL_c2381f2f7bbf4a639dc1c9bb9f90499c", + "IPY_MODEL_0a609402842a4db4af8710d852e045e4", + "IPY_MODEL_471b8f5ca66c44ebbb4645b9b6c4388e" + ], + "layout": "IPY_MODEL_a8776e09dec349cd9d8fbbbbefe7dbd0" + } + }, + "d736231aab14452da8f4fb3b2a0642f9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d7aaab2149fa469d9ae16bc5bdb12256": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_71eedba94d86439ea74e125f3d2f8ed9", + "style": "IPY_MODEL_9434cd273da64991987f8cd5dfc7c30a", + "value": "Low energy" + } + }, + "d7d2983b19364409a1a2c9e0be24a2b8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "d7f669a2523e449b97cb7b6c70880e29": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d81ce84dd3474572b2d44c7349b62772": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d86d00de404d42e9a120c206792e5f7f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d8ae241349b6408b8c86a17a2a8613d8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d8cde1c7892f49c3acdfc05a68084066": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_5a865c3ada36478ab3d1b9bdbb7f6c3a", + "style": "IPY_MODEL_c9ba50dac1094b91b0a0f30471a2a9fa", + "value": "Outer Zone Plate width dr:134 nm" + } + }, + "d8d91e92e2a94df9bbe15d64699b45cc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_28b1ecd5c9d343978328d54a708440bb", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_62feccdc7361441687c6fe70624a5586" + } + }, + "d91c57445d4043cc85440265e42f49fe": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "d96c89470f324a8281107afae1d59d6e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d98582c5009a4fa48737390ea3a51ca0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "d9d018cf0f634b90a49608d8b9a615f1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "da3fad48dc904984a1a35c5d98d9432f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_72902245503945a29a25782307bd450c" + ], + "layout": "IPY_MODEL_c918039080114470a82a7a0c29501e32" + } + }, + "da62150d89194ba5936f99d45791e2be": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_a020e83ed3234d238c4cc736e482ae98", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_eeec9cc9cc3c4f0dbf2d1ce8adc2addb", + "value": 20 + } + }, + "da6d2abc12234b7e90552aeb6fa9f26a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "da8069815053446fba0b4e9a04b4749f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "db012a8ead0d4c26966c6d7cc59a85de": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "db11b7b09f99411db03957767ff35c84": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_f1168b826a5b41a7a1a6d5ab7e8ee3b1", + "IPY_MODEL_73040998bf0e4117980b8b4eb9276934", + "IPY_MODEL_3e93da9fb03541d1acaa19bb249cd77d" + ], + "layout": "IPY_MODEL_c41cd24bb78e4f89a1afbac92dd16a06" + } + }, + "db1206a4284e4733ae23bcf98dc9ca64": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_7d7753629e154f0fa7c020ff5938aafd", + "IPY_MODEL_788f3c927f6d4695b4c9c6d3fa2ded18", + "IPY_MODEL_1af068565c044c04bd4fc8d22060a432" + ], + "layout": "IPY_MODEL_53b73e9192c4448ab2f12b5c146797ab" + } + }, + "db1873d9e54542aabb262bbb90a36f4c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "db268d2e3ef747aab857f5d8801f23c5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "db6d98c2cdf34132a15b0f3a448f1c2b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 0, + "layout": "IPY_MODEL_c0b670d4106d4b369f4040b6e330ca92", + "style": "IPY_MODEL_5283be70ed57424882ea78626a94ab56" + } + }, + "db89a93a3b584e228dbb8dd3b067e4cd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Beam splitting Off axis Zone plate" + }, + "children": [ + "IPY_MODEL_5051358690854107a146ba28395430be" + ], + "layout": "IPY_MODEL_aa141600d4fe4ee8a1ae32d59a7577f4" + } + }, + "dba5b139cc844e8dafc73d50efb73532": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_ee9d87946c574bff8226abdd5e71e888", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_89e39ae665d74aa7a571acf761cae5fe", + "value": 785 + } + }, + "dbaaa0e991d04123b83ca91aaf9fc749": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "dbaae4f96acc4c09b31bb05c61605ac0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Substrate thickness (um):", + "layout": "IPY_MODEL_aec37f0e80dd4ba4ae9a58673526a561", + "max": 1000, + "min": 1, + "step": 1, + "style": "IPY_MODEL_dd6e1e3c95f14e4192b0c2c13e8d42b8", + "value": 381 + } + }, + "dbe821801fd44b539e7cdb82c9ced984": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "dbe833114d8249a5a8f96eb57c6054e1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "dbe9bae4a4204cf49d016baf0f2b24e3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "dcdabe8a43ce4aed914770989edb66b4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "dce85ec4beee4ea38cbbdd8b9ed05401": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_79c760cd3e9e45419df6a7864a44377b", + "IPY_MODEL_34b4f28941aa4a5999a50ba252e4fbfb" + ], + "layout": "IPY_MODEL_3701c608876248d883d7245627cb438d" + } + }, + "dcebb47e02a247ec87ec753dbeef0d9e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "dcfbcaf2d22c4b279cafb1149bec9222": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "dd3b0f69198749eaa7d18f18a0e58e5b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "dd6e1e3c95f14e4192b0c2c13e8d42b8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "dd70e7dbb8cf428184daf1e1dac3460f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_f199d8f768bb46b29ab60b6b4231e0ab" + ], + "layout": "IPY_MODEL_e94cb5b6dc1349f59cb84dffd7783578" + } + }, + "ddbeca41af4143d3819506ddfd3b3a1f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ddcf1f8646584742bba76ff4104132b8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "de38aa00aaac4830b1740dd52ee95d31": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "dea40f7fbbfa43559c6c9f57eb6d6ae0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "dee156cecead4f6eb09a22e52c9bdc7f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "dee91559234246268b9a0cff27b0653e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "def0f407961045db987cdbc95973711c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_727d014286f44784abc387b38498abd3" + ], + "layout": "IPY_MODEL_9da0b3bc25ea4b4d8f2a31aaee1b032b" + } + }, + "df68991c32b84dceae169ea4d8ebcb4d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_b4ed6577720f42469da0c932148a2687" + ], + "layout": "IPY_MODEL_cb94b7acff5a4310b2c1c11c8010f9ad" + } + }, + "dfab25c7da39473ca5468dded38b6b0d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_e0442cd6a6364f598cbda4d05aa5caf4", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_4af3c147f6d04f33b23ef636174bb400", + "value": 20 + } + }, + "dfaf17f099664f8c9c339ed45e056a41": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_d53e19a5217b4bfe99cf33628d833c2b", + "IPY_MODEL_fc184f8b718b4239b84d18d78ceacc17", + "IPY_MODEL_be78b926e0ad495aae07753eaafb2854", + "IPY_MODEL_8eb26b89f2aa44be9dc0a3a780ead1c8", + "IPY_MODEL_c7603eb869fa4a2c9efd95288d25bcf6" + ], + "layout": "IPY_MODEL_c2ebfff042264268a5b0cf6ad25b1bee" + } + }, + "dfdbe7a10cea4dc5afc5579d0f346382": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "dffb7d7e90f841c2a3c2357cdef47fcb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e03d1f77227844929fd321524dc728d5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_3d2d94092edb4c429ef31a5d771beeff", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_9eeed48e563a4f40a05034fea4e9e871" + } + }, + "e0442cd6a6364f598cbda4d05aa5caf4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e044c0c1a67b44c29f31e0eb2a76f0fa": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e09941d4440f4f87afeeec0ed24b5fa1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_9cbe2524cb2a439eada7911ec3c8c6f1", + "style": "IPY_MODEL_c1eb55fd7bf4486ea63005c687c3705f", + "value": "Low energy" + } + }, + "e0ab62a1be71457daeaf6363bdd5444b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_db1873d9e54542aabb262bbb90a36f4c", + "style": "IPY_MODEL_bf09be76fafb43c7a024f24fe05669fb", + "value": "dr" + } + }, + "e0ef8d0fb97242a2aa99f2ce9beae92a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e0f69e62bd6c4e60a45d4083ae051850": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_ca25df6722664b68ac1e4133b621efd2", + "style": "IPY_MODEL_126d79c2846746c0af3c3934ba49adca", + "value": "Detector (m), " + } + }, + "e118e02a5c684e989e4b4979ceefc3aa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_4f113ff10b384744a4655290e4c471b0", + "max": 90, + "step": 1, + "style": "IPY_MODEL_409d65a3770c47b896ec57b9f05ee24f" + } + }, + "e11bf1193eaf4008806f78aefde6d8e1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_84a85a98b2a14e5fae0cab05de7c85b4", + "IPY_MODEL_08e0876bd23b4c459cf49ea86c1b340b", + "IPY_MODEL_d22c0947ffb8453cbcd9f0bc3c708fd6" + ], + "layout": "IPY_MODEL_59fd145400d147c39789f66ec644c3f1" + } + }, + "e124cb67ebfb477aa31db87fba042d1b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "e127e8666721431a919ee93db0c28b96": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e1565be99ec74a97b49bda13606b3e6c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_0c8a4049c51c49a5bede923813d4db64", + "style": "IPY_MODEL_ff4f504201d84d7da355cc5d8b14b39a", + "value": "Outer Zone Plate width dr:229 nm" + } + }, + "e170efb34ce6481e81a74b158d8a69c1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e1840e790c3149489f69970b0641668c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e22117bc643545a4a1303026b436ba64": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_942b5015097a42a38334dc0715155eba", + "IPY_MODEL_325c7c54cab149d6b74e21750ae4e69b", + "IPY_MODEL_f601595d2d4a4a20b8b39db2d56661bf", + "IPY_MODEL_c5526b3489ba44b290133933978cbb5f" + ], + "layout": "IPY_MODEL_97b2b15d400c4362915736e5cbc0db58" + } + }, + "e23b3fc672ed408a9284d8d60b2da33b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e27fc9a951f34681a0064f534a02f60f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_92b5f74ed1ef4252834272a38b6cca2e", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_d68592599611449abbde95aa501f7f83", + "value": 0.5 + } + }, + "e2c6e1c1ec4e499fb2a06d7d1d7ddd82": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_9120f744ae4b4f588ffcdc8e73f9cff2", + "IPY_MODEL_bd477eeb8df54cea9843698c8ebde1f7", + "IPY_MODEL_fda8c9ae38b74003887db4ec395f1d62" + ], + "layout": "IPY_MODEL_5fd1b4729e934f3796ec6d998a499727" + } + }, + "e2d086698cd54d0893b4b1c04df83e9b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "e2e6a7ac34c84e378d4e5e310ed551d7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e2f05fa1f3f142e48d9ad865cc923222": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "e33d3f49bbdc44de9eae1c3bad941f8e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_5685bd0d457647a68c94384887a8fc6b", + "IPY_MODEL_e7e44de9f2d34bc3bcf9eb045e4fa582" + ], + "layout": "IPY_MODEL_ee93d36ae09845a680524434d5d644fc" + } + }, + "e3877c40c3a046889ba89c9de0a8805b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "e390ca3000884f7a9e2dbb641ca12f8a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_1e4b992fe8934422af4d9458c3f3af2d", + "IPY_MODEL_b604fb35dfce46ec80da3cdc19e48a1a", + "IPY_MODEL_b706d1e6515b4bc9be4c63b90393c67b", + "IPY_MODEL_9f0d55bfddba4a7eac31fde02f4b0387" + ], + "layout": "IPY_MODEL_db012a8ead0d4c26966c6d7cc59a85de" + } + }, + "e3d4f3123c2a416db640a6221290f7c9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_268971d7654f44499eb003b127592ea8", + "style": "IPY_MODEL_ffa789d47ba64884981a8f6a5d5d6394", + "value": "dr" + } + }, + "e3dc087266454e8b9723bb5563c135b0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_2646552d39fd4cac95dbc732e667100e", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_c4aaefa9232240ffb649712fedcbcc4a", + "value": 860 + } + }, + "e3dda80fff6141479947a01382a34e81": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e3f12e1caf6d4c6980e901bbe45e9540": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_d4efde5a30664154ba4746f08f977f73", + "style": "IPY_MODEL_b4b9d7e6b1b54d338bde03edd0551439", + "value": "High energy" + } + }, + "e42333bde0f7486e9316ebeeca5a5a43": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Off axis (mm):", + "layout": "IPY_MODEL_202b214623454008b5ea88e8132928fd", + "max": 2, + "step": 0.05, + "style": "IPY_MODEL_e2d086698cd54d0893b4b1c04df83e9b", + "value": 0.75 + } + }, + "e42389d1f14e4276ab0e8f64ac5c6e5d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_35c13a9cc1204589aa0dc41ad59ee98e", + "IPY_MODEL_c9bede7beda24d8ea990db7ea56829b8", + "IPY_MODEL_c52398c288cb472383815e432524af31", + "IPY_MODEL_92bc3043537949a3ad3c1732ba266e23", + "IPY_MODEL_21679e5862e5452e93a9b0d0d846016d" + ], + "layout": "IPY_MODEL_b596c25ea08a48b690680b4f389c33ad" + } + }, + "e43e9692077e4705802e349f0df8d521": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_ee7641dd2be8469bb5a1868d43fcdbd0", + "max": 90, + "step": 1, + "style": "IPY_MODEL_37884ab275a94c9eb9be2b0ce73ef44a" + } + }, + "e46b1e8521cc4bb384db85eaf72a4638": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "e473735c87b246349549daeb20a0fffb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "e4bd75d014d04d4db00abd9de47414bb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e4d5ec50a67547de8a6a57e0d0a796d2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e4faa1e047ba478caa1b0bbcd5a7aab9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_27c53dfedd77419dab08fe8734998263", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_50514dde8aba4ecbb2c713993692efe1", + "value": 840 + } + }, + "e58d9d8e0961484abb57bea4aa9dd008": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "e5a3f94fe3a4479ea556534a2d4ab250": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_64bea122107d4c9187a468d4be19b5bf", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_b76e283a035c453980b7dcd15d734428", + "value": 54.74 + } + }, + "e5a6e38fe1a844a987871690750d05e4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e5fd84e35c5743ac965957c3c834cf89": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "e6430fcb123d484aa2ce76c6759d1910": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_33cb170ad6604c058fe0236763e1aa45", + "IPY_MODEL_e96a8fbd8f2a415f82bb21258c428954" + ], + "layout": "IPY_MODEL_861ee2e9f1cb497982405db34d92a6a2" + } + }, + "e643bc9e5a6341908964cdfcb42846be": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e6595e40cc0c49a5a0c982d6d4d2bfbd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_2c76e150d675492c88e689124921a889", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_ce985fcbb8f44247824bd1f5135b0edb", + "value": 5200 + } + }, + "e660024ad715409792f8aa97d62557bf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e666f34b46824295b31b6d2ba347e7c8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e681905bd366444e81fe76a65cfeb16d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e694b770d5f04a4fbef6ccb8f54a5d59": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_1ac716938c3640bbb0e64744fe7cc1bf" + ], + "layout": "IPY_MODEL_25938042af0b4ea78682a6679e563878" + } + }, + "e6a951183026440a823d0ae2332f785e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e6cd357762054ee89f7031294dc427fc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e6d22d1e386d4b40a1cd23f52fc8d74f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_54f2730a77494764a5e2cbf3cdb65b07", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_f04c92a7244d46b1b1eb9b9f43ad15fb", + "value": 695 + } + }, + "e7299e0190d8436f9c40153affaa19e8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample normal (deg):", + "layout": "IPY_MODEL_8902e27e9cae4c10bf841f1ce72a55e4", + "max": 90, + "step": 1, + "style": "IPY_MODEL_8b06d698018e4a469bb214493b9739bd" + } + }, + "e73adf3b25c1435a8597a0abe201b4e8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e77b41e1cba146c8b1ccffe0ec120faa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "IHF width (um):", + "layout": "IPY_MODEL_935dda90de3d46b5b957de733877bc70", + "max": 2000, + "style": "IPY_MODEL_a9a1b83e6a134ceabcaf3f240fdc9f0e", + "value": 200 + } + }, + "e7a0cc9f1f634b36b305561a1b61f8d1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e7cbddb1916a4f0bba8eae52d08852d4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_722a7094f32c411fa3635a42c5fbbfe4", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_28c56a51b5264e41b213faefa80adf22", + "value": 0.8 + } + }, + "e7d010435f874558aec715a28db5bf22": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e7dc83684da1459b9cb661385ae9aa7a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "e7e44de9f2d34bc3bcf9eb045e4fa582": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_048d5ddda0f24907b9e4f68d685f1d6c", + "style": "IPY_MODEL_e124cb67ebfb477aa31db87fba042d1b", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>24.37</td>\n <td>8.52</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>24.37</td>\n <td>8.52</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>24.37</td>\n <td>8.52</td>\n </tr>\n </tbody>\n</table>" + } + }, + "e7f647e9b9d74b179ae92bbb47605c1e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_40b6f10d5f604a16878f6b8b79fd8ff6", + "IPY_MODEL_4c7f7ee5b8aa41998f32801d2fbdf9d2" + ], + "layout": "IPY_MODEL_bbccb8f516834074a8b76b8f0358fc2f" + } + }, + "e814e4553d1547899188d4526ac33689": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_2ecc37538cd846ce805cba3350512b3c", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_9bac66ae80ee4b6e9d153897e930fbee", + "value": 5.74 + } + }, + "e8317e5543d14b368137ad16eba99cef": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "e8324bee2aac45b18b2c6c2e57d4b959": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_2d9add00a24f446788c766d84a2d3147", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_b75d65297c80448cbfa29db04863b15e" + } + }, + "e83e0fb377b0464a929a773e6f5e9729": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e83e91565bbc44df9b373b71e82eb134": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e84dc39db22648f38121d8f8d38ca114": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e89b796452254e308b5637a883bbdd83": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_d193618a4eae4e27b83d95cffa31b99d" + ], + "layout": "IPY_MODEL_9c650ee21c7d4b45932f9894243e5938" + } + }, + "e8abfceef65b49c4a5f5e406f240b18c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e8b41cd74e0143818cf8bad21a6f1c04": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e8f36ef7fa984dd494fe3bb74f9d0cc6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e902808a56ca4508b58934d6762b8805": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_d2288afa81494239ac61b002068ebdf8", + "IPY_MODEL_44e0dde6a2ec459d8eee89f8207e48cd", + "IPY_MODEL_d46ad83e5f22497587f9ee270ee883c0", + "IPY_MODEL_4f3a9b5119d444c2912382f6a62af6c0", + "IPY_MODEL_20eeb642eb9c4fbb9ee3b6a232e949fe" + ], + "layout": "IPY_MODEL_b9f96628b8894cdfb106bc996bd8e20f" + } + }, + "e93c6e5226004adcb4bae211ab867d36": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Y:", + "layout": "IPY_MODEL_d1ac99ee0e734db987f1f7b2a6de70d1", + "max": 50, + "min": -50, + "step": 0.5, + "style": "IPY_MODEL_8d66008961274e2fbe0099e01f8be153" + } + }, + "e93e0d924f884becb6b3b01e4dc926c6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_6bb9771a31f443bda50f8853d604ab17", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_ba6788e568ef427a9eac817d86fcd865", + "value": 5.05 + } + }, + "e94cb5b6dc1349f59cb84dffd7783578": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e9597b8cb1484592ad1f8956714f6c41": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_3ef43d869aef4d028b35f93bab024db1", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_20978716cd7b48eca694bfbf7283cee7", + "value": 54.74 + } + }, + "e95d76ccaa05407b8d28297f33cae553": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e96a8fbd8f2a415f82bb21258c428954": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_85dfb6baeda141849c7f7a44e1abea2f", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_2b2d14bc75714702a05b8bafcd3949ed", + "value": 54.74 + } + }, + "e97ac5eab99b4eee81b932c24b30b6e2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "e98fbbae13214f0bb5619ac287f91467": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e993a1bbf1a4429d8f55520dc5cb9047": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "e9d4d98c9791456abcbcadd777d2bb8a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ea7671e4024e45c88c1d76effbd584ce": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ea9bf02174a544b1b15387b8d352a0b5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "eab4eae027ca409e9182b1a10c9ed9cc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_1f6f3b84cc064d2c9787ea78c362ca71", + "IPY_MODEL_0093fc9dafb24620b5ed997430716841", + "IPY_MODEL_2783bc6d95034b34ab07b4981d1ee08a" + ], + "layout": "IPY_MODEL_00b41c0291014bbb9030a0a0688483c7" + } + }, + "eac2418d91a241da94d16bf49262e97b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ead591fab80f47418041d3a04a091d81": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "eb0c14c717f1403d828b152666086d06": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_2748d81534a24461b88a3d7dcbf8a5b9", + "IPY_MODEL_d8cde1c7892f49c3acdfc05a68084066" + ], + "layout": "IPY_MODEL_a62a7401c6264aa799797e16778ef7c6" + } + }, + "eb18e4385afe4d82ae921552d66cc9ff": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "X:", + "layout": "IPY_MODEL_05c5b06f970a4145b57bfc5ae6311a91", + "max": 10, + "min": -10, + "step": 0.01, + "style": "IPY_MODEL_bec4e03e57f948e1a2dceb2b8da4095a" + } + }, + "eb2ea7e802d74089a3dfb6519117659e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "eb301f908a5445088919db027b4f3a41": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "eb53a5b3370644d2a8558b7080aecf71": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "eb78087670cc4f7fbc559cc6b9cd6249": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "eb881a6853a5437d9e7cc0181d929383": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ebb12ea3d5914b4da4bc53383bf17f0e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ebc67a604b2d48d78dd9ed0b8373369a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ec04144c2a38463e924cfad8942f1c1f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ec51ee6161bf462aa45f8a73b3db37ca": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ec6c07e0cb8f43c18b646fff0b5c1852": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ec6fa19a06d84f4c9c9a72e833dabef0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_e118e02a5c684e989e4b4979ceefc3aa", + "IPY_MODEL_e9597b8cb1484592ad1f8956714f6c41" + ], + "layout": "IPY_MODEL_e127e8666721431a919ee93db0c28b96" + } + }, + "ec707a66803e41b99934c9d1017f0a04": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Z:", + "layout": "IPY_MODEL_d96c89470f324a8281107afae1d59d6e", + "max": 5800, + "min": 1000, + "step": 1, + "style": "IPY_MODEL_b0b2797333a94f3dba2aaeabe9faed8a", + "value": 2000 + } + }, + "ec72161b1c2041c4aabb4a6f65ae4936": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ecbe3860080e47c091610ac1355bf54e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ecd9a8ef26964134bd8956f10a30b993": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_ece3d3fffcfd40e482af3a2293e88b19", + "style": "IPY_MODEL_53c81ee3f9cd4be09dfd33f483e9a1bf", + "value": "Grating Pitch:510 nm" + } + }, + "ece3d3fffcfd40e482af3a2293e88b19": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ed35289fb57a4efaba023c9d7b980952": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Etch angle from surface (deg):", + "layout": "IPY_MODEL_d333d53beb3e42028afd8c0916c4d2da", + "max": 90, + "step": 0.01, + "style": "IPY_MODEL_8d22a9f571d948d8a2b7aac01e742ea6", + "value": 54.74 + } + }, + "ed8fece8d8a142a1a42db20c0d031a52": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_157b981741d641349c52bd34c286d70e", + "style": "IPY_MODEL_3e2ffef19f3846c79e1a65db08b680b1", + "value": "Membrane (mm), " + } + }, + "edd29724a3794a0d887eadd4c2885bbc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ede49980abdb49778fec12e5ecd42f02": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_c2b667c0991b451aa64bb934a925a494" + ], + "layout": "IPY_MODEL_791f64a9283344a2acde5afe4e5575a7" + } + }, + "ee3acab9503940038e15b45cc76fcaa9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ee3f3e1ac7cb4336abc378dd6cb0889b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_6558bd02d8ce458c87aa25c4501c9249", + "IPY_MODEL_c0abe011d4bb4251b26a543c7fc6c33e" + ], + "layout": "IPY_MODEL_54c7ae13851c43509acb9c19fc6fe804" + } + }, + "ee70d7eca96a47879a6b8c1491038b2f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ee74bb2175b9495ba5f35c48e31fa1ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ee7641dd2be8469bb5a1868d43fcdbd0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ee86cffc38cf47908da4d9b6beb69fb7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "layout": "IPY_MODEL_5c79458e71b94c37a8d9a320d450b21a", + "max": 1, + "step": null, + "style": "IPY_MODEL_7b802f9157d34c07a9c2685e4b25932c", + "value": 0.25 + } + }, + "ee93d36ae09845a680524434d5d644fc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ee9d87946c574bff8226abdd5e71e888": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "eeec9cc9cc3c4f0dbf2d1ce8adc2addb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ef522a82bbc945c1817c88ebef2c0fea": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_8ce7dbfb03054337b7c6552292060295", + "IPY_MODEL_aafc6de014a54c29a7099996cc4f6eab", + "IPY_MODEL_f2926d12cc5744579cad910574a2fa53" + ], + "layout": "IPY_MODEL_066d62f55b04454eac0b187a65854580" + } + }, + "ef5eb0b5118749baa38a9666c0bce198": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Spot sizes" + }, + "children": [ + "IPY_MODEL_5c46e769d88e408fae21b2160aefd4e2" + ], + "layout": "IPY_MODEL_135c90eb3f4941918158daaff3b875c5" + } + }, + "ef613fbf0efa40eda267aa3cf637595d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ef62a3fee1f04835acc22025b15ba38a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f04c92a7244d46b1b1eb9b9f43ad15fb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f05bd78e18c142d3a3d726ca1fbce319": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_8999985f4add4e2ebcd5df48018a045a", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_20f55321e5ca432a952690a617a7f48a", + "value": 880 + } + }, + "f068d30509d74330baf7f754fc97d4ef": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f0a7ba2d57fc485ea5571f31add7bb2a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f1168b826a5b41a7a1a6d5ab7e8ee3b1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_92698ad212164a5ea9a9adfbed290bae", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_2364bded8a0144d9a14726a521ad6a46", + "value": 927 + } + }, + "f1329b2828074aed81530ab8cd70b8c3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_dbe833114d8249a5a8f96eb57c6054e1", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_9d62289c9b53493f90bd841bbb547409", + "value": 880 + } + }, + "f199d8f768bb46b29ab60b6b4231e0ab": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_11cec4e93da2496eb73cb28acd9370b0" + ], + "layout": "IPY_MODEL_c7fdb091911a46fa858b84461c3af99f" + } + }, + "f207fd0ef73b4501a7320341bf77aa09": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f20d3d55c68f4e879d410053d1351338": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f232e3aa48844ebaa48b57f9a152a775": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f23fde77f4f04750a6eaa2c3c8d6b09f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f2926d12cc5744579cad910574a2fa53": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Width:", + "layout": "IPY_MODEL_5df1008168204fb797b310d924a20bf3", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_e2f05fa1f3f142e48d9ad865cc923222", + "value": 0.8 + } + }, + "f292f72ff6584e15a449534631ab6b39": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f2afa2fc841a4e768453c3b2871c8e67": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f2df510581a04eb3ae164abe9fdc08f6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_8e7669b84cd940d4a84df278e4b168e0" + ], + "layout": "IPY_MODEL_af8a062f54e14064b57a85cdb809bf91" + } + }, + "f3044b44da2f49ea95da6c7b8a5de1aa": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f36b683997af41a28dc95a69dd478835": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "width:", + "layout": "IPY_MODEL_b83fe8cf5aa443b8b21161e94bd2ddcd", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_b5bef905571f4c87b1c035c00162ff80", + "value": 0.3 + } + }, + "f3a03f072757430ca71e11dc80a6f66f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_054d734918144b098782d1ba69e18fab", + "IPY_MODEL_d3dbd40533d9441182e4fb8f40ee3a3f" + ], + "layout": "IPY_MODEL_9f582d4617e442ca86a3e90f1b1ee9b2" + } + }, + "f3b4041068e1440fbd110ad0b5f96bae": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_6d6e6bfb8fc848d2aa064d3b1054a5c8", + "IPY_MODEL_bfee23e97e8b4c36928a6c0f1795ec58", + "IPY_MODEL_6b357855a7e44bb29aff4749bb577361" + ], + "layout": "IPY_MODEL_970938a67fb349a2b86151bd2f9710fc" + } + }, + "f3daef71794d4274bd8b7231c8f3c1f5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f44e688c29df43c9af3d98d6cab408d8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f455b32314ec4e729fc6ac935c7487f8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f541f7680bb041bd8cf7cf8cc51ffef8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "f5629c3330c0495ea9c3b22b19e09dc2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f56730ab95d94b42a125d1dc0eb3402c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f5780e842e0445698734de1b453cbbbc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f5b25c24f22e46a99f8cccdc3e948c80": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f5d374adfab24c8ea47c197e155d92ce": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f601595d2d4a4a20b8b39db2d56661bf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "VFM focal length (m):", + "layout": "IPY_MODEL_8247e2dd643441cab2297b33e2088f19", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_905bc610ba044696aae64f4ebb41a148", + "value": 5.05 + } + }, + "f610e8f7e5ca40fe8263f5d3b8727672": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f640d044144f4b00b986c454324d8dc7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_a814ad01f31d46cc8bb06b3447141c78", + "IPY_MODEL_ab82f774b5c34905a3cb67d383eb9d39" + ], + "layout": "IPY_MODEL_f44e688c29df43c9af3d98d6cab408d8" + } + }, + "f65a829e0964430d84551dd7d860878f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f68c3c250e6b42f8bef66cccc1c96ff2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f6bddb15323c48059360da2cae00356e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f6cbf548d16b47faa2683cf7fd138552": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": {} + }, + "f6f98ee9aa7046968618fc48ab80ce88": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f6fe8a1dbaf24ebe8d5a0df511ac4544": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "f74ec4d8b61c41a3965ebc043546162f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f7a3a87664464c839fa1f6ecb7985e40": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "f818a612b38e4992acd0e0fbd454e7a8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f830b02748b145d098cdb1beea5ee68f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f8c0214089024038b3ee6136ff7acdab": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f8cf68654b0f43e3b61993179ea592cf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f8e24dbbab444b8393c56854d57b2fcd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f8fbc130fe844bf296cf579a9ad0345e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Sample" + }, + "children": [ + "IPY_MODEL_1182c6c4fdd544669bec5bea53b46efb" + ], + "layout": "IPY_MODEL_e1840e790c3149489f69970b0641668c" + } + }, + "f90fcd7851ac4c57a78b29755ae3ec5c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_310b69aad5204c178025fef4f646f9c1", + "IPY_MODEL_a25e05026346492583b8ee82c757ef2d", + "IPY_MODEL_9769f36244b94b6589fef9bf5801df7f", + "IPY_MODEL_3f6a3f5ca4444ddc94d85df3b91797c2", + "IPY_MODEL_ba13a53384a4449ea662246fb1e957e0", + "IPY_MODEL_bc369aaa87624c86a5be1596dbc45a7d" + ], + "layout": "IPY_MODEL_0e33f048d2a84da8abaf0e7eb6439b12" + } + }, + "f917cad1c3ce4d17bbbb59a75f6f4444": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f93c3c11978f44be86ae3dcd09393f2b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_d7aaab2149fa469d9ae16bc5bdb12256", + "IPY_MODEL_b51a3288e7484f64897d92fd026111d9" + ], + "layout": "IPY_MODEL_79b2c3ad60e049e3b9a13cea46b533de" + } + }, + "f93f5cfc28cd4bb28e070630c505e0f9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "f96a518d6b054ce1a21baffdf4f3efb5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_1dd13844fe5a44e8ba058b8ceef2bb96", + "IPY_MODEL_fe5b80cb3858401194ddcab8ab757dae" + ], + "layout": "IPY_MODEL_0d185da3f13241719f1f5ac4d3a7ed4c" + } + }, + "f99a4e28327d459698f5b3178865a17b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f9a7a061d94547ce8ef0cd6d211950a5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "f9ab8eed9a804fd8b182dd53202bacdd": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f9c79e0b4c27466498abd941f9289bde": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "f9ec0adbc9924a44b7f8820c1b43a4f7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Design:", + "layout": "IPY_MODEL_9e8eaa807c1c40b39178004024fa644b", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_ca312c3a313c40deaac941327537f221", + "value": 860 + } + }, + "f9f70729bbfb41a0acf81cb9f5220c8d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "fa20a1720bfc47868b136c41382d7326": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "fa5401be67da47a0811bd495b4a94274": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "fa5704aadfa545ab8beec76fadeaa2b7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "fa7aeee02406408581688e0626955748": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "fa934789640c4bc198e4e47e01446e76": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "faaf261b8f6b4bf4a7142583edcc9209": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "fb3624dd2351487495fc8e9f484d0cd2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "layout": "IPY_MODEL_da6d2abc12234b7e90552aeb6fa9f26a", + "style": "IPY_MODEL_a14f976ea63b4209b4008a991724d12c", + "value": "Sample Offset (mm), " + } + }, + "fb5521a8d977436dbf0e1b5332c1f8bf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "fb5daf42b94f479c8c79b17393cab5c0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_1cdf4276851e41a9a78b09789bfbfd0f", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_80d31b0ede6d41c6bb770c2bc92538a6", + "value": 5.74 + } + }, + "fb5dda5654534c08bcea2c2ad1765f6e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Height:", + "layout": "IPY_MODEL_9d7f6adcdad64a1e836dd9bb41562a80", + "max": 3, + "min": 0.1, + "step": 0.05, + "style": "IPY_MODEL_6fdb3b4ecfed427c9ba22f8e311a4b91", + "value": 1 + } + }, + "fb7f6fffdebe41bb9e9badde736f894a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_18240c25d3f14a17aaad06f9d460f6ec", + "IPY_MODEL_54507b90e7f74f5a98fe630354a28d73" + ], + "layout": "IPY_MODEL_d10140f801634658bec84de787485a43" + } + }, + "fb95713181f647028fbc62869f688fc8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "fbbb036dc1944c2e9684617d704be335": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Exit Slit (um):", + "layout": "IPY_MODEL_91cda04e516d4033918d49d16c1e96ff", + "max": 2000, + "style": "IPY_MODEL_a3ae369bc64441c581093cd89da7b2d7", + "value": 100 + } + }, + "fbf8cae533e44a40927d28f7974ccd92": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_7f2f055efeae4755bf1de6855f722017", + "IPY_MODEL_8e0cbd2df9fc4a4fab1ee17f3e71158e", + "IPY_MODEL_13fa02dd13fe414383d59972f0a11dd5" + ], + "layout": "IPY_MODEL_32e7a015da13438b8702082b4bda5c51" + } + }, + "fc184f8b718b4239b84d18d78ceacc17": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_f9ec0adbc9924a44b7f8820c1b43a4f7", + "IPY_MODEL_656877d49bda4ba7a29883308f5c2563", + "IPY_MODEL_4bc14086b6fb466f8782651b71fd5174" + ], + "layout": "IPY_MODEL_945b5689d4474c59b3384eee98b31439" + } + }, + "fc6321dd0cfa43ed904cc7cbdea69707": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "fc6464a0a1d147c9a4ee9417393bf993": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_6188e1a0316643b0a7bee8e26e57c69d", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_365b47fb005d41b3bb3d3fb75c98f50b", + "value": 5.74 + } + }, + "fc660764407441aba08ed71b6a170ad8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "fc989fdd77cf467a85a089d3e52da129": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Sample Z (mm):", + "layout": "IPY_MODEL_7a60daf28c814d18b10571728d358d7b", + "max": 180, + "min": -10, + "style": "IPY_MODEL_5592a96ce0f74d5882b1e3fcabed15fe", + "value": 25 + } + }, + "fd6da5315e774c30918d7409a6e74a2f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_75e6d9db264e40fd9634719932be68e8", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_6e987c0ed71946c787514414636cc342", + "value": 840 + } + }, + "fd7eefe9256342c0a8ab229ac53f2417": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "High:", + "layout": "IPY_MODEL_0eb87bc4bbac461293c9159bac33e724", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_fdd146481314417fb9fd45610392e9fb", + "value": 555 + } + }, + "fd8d275160864f46a658f845adfefd8a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "fda8c9ae38b74003887db4ec395f1d62": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "pitch:", + "layout": "IPY_MODEL_495064f89bb34bd89215bf023ed706dd", + "max": 2, + "min": 0.01, + "step": 0.01, + "style": "IPY_MODEL_bb64ef3939ad4b388c0874bfd3387ab1", + "value": 1 + } + }, + "fdd146481314417fb9fd45610392e9fb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "fde629f2aeba4ed09ccac8343dd57192": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "HFM focal length (m):", + "layout": "IPY_MODEL_7dd280175ee5493aa069ad66e666692d", + "max": 10, + "step": 0.01, + "style": "IPY_MODEL_8870dfc654174bc3b6a98a1f273cb7c7", + "value": 5.74 + } + }, + "fdf3b508f08c487a85f69cb5fb88ebee": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "fe49601ea4d14dd9aa543f5e08e823b5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "children": [ + "IPY_MODEL_4fe30845102041e1bae362d4159292da", + "IPY_MODEL_9cb6ce05bc394512bd8582edf5b990a7" + ], + "layout": "IPY_MODEL_0b037907096446b8b44335bb8bf6d635" + } + }, + "fe5b80cb3858401194ddcab8ab757dae": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "layout": "IPY_MODEL_c383b641000f4691a26d648b56304103", + "style": "IPY_MODEL_bc1bfc5ccbee43469ae61fd840f0205a", + "value": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>H (um)</th>\n <th>V (um)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>F0G-1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G0</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F0G1</th>\n <td>739.31</td>\n <td>753.94</td>\n </tr>\n <tr>\n <th>F1G-1</th>\n <td>88.95</td>\n <td>103.58</td>\n </tr>\n <tr>\n <th>F1G0</th>\n <td>88.95</td>\n <td>103.58</td>\n </tr>\n <tr>\n <th>F1G1</th>\n <td>88.95</td>\n <td>103.58</td>\n </tr>\n </tbody>\n</table>" + } + }, + "fe68f9ae1ff74155bd78d72b615c54e2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "fe77d08cdaf44e85882cd937fd251232": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "fe9b30da901a4bb2b6aeea7c278070ff": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "feef6eb07064495c8db2d317cf3f2a6c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "children": [ + "IPY_MODEL_373310221a6d44be9e9e8d5405d7b910", + "IPY_MODEL_bfcf655aee6741a8a59af78a00494709", + "IPY_MODEL_fd7eefe9256342c0a8ab229ac53f2417" + ], + "layout": "IPY_MODEL_633efedd701147da9101660090322ff1" + } + }, + "fef013802aef444fb8b20a4c71bd482c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedFloatTextModel", + "state": { + "description": "Grating angle (mrad):", + "layout": "IPY_MODEL_7afcd4e0cfdc45aaafc97a923ef8af2e", + "max": 10, + "min": 1, + "step": 0.05, + "style": "IPY_MODEL_a69690a59e75427cb3df23767adb70ce", + "value": 3.1 + } + }, + "ff15da5594f94778b6cd10248ce20448": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ff3dcdac3a884084b957cfc92f200413": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ff4c6090397e4711844908bcc1240fac": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DropdownModel", + "state": { + "_options_labels": [ + "Custom", + "O", + "Fe", + "Co", + "Ni", + "Cu", + "Gd" + ], + "description": "Type:", + "index": 2, + "layout": "IPY_MODEL_61f547a8952140d48ee6c07c5ea28587", + "style": "IPY_MODEL_08d8e10bba014f5f98c2ab9287f483ed" + } + }, + "ff4f504201d84d7da355cc5d8b14b39a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ff550453a3444628888b482998d3aac2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "BoundedIntTextModel", + "state": { + "description": "Low:", + "layout": "IPY_MODEL_945cee30ed8e4859bed26023b7b0ef60", + "max": 3200, + "min": 450, + "style": "IPY_MODEL_7f9064ee75c74146a53456b8b34f41be", + "value": 840 + } + }, + "ff55576b46fe4b7b8e6e116aed8d2905": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "AccordionModel", + "state": { + "_titles": { + "0": "Detector" + }, + "children": [ + "IPY_MODEL_846d027ddbc7418caf69b5e3799c036c" + ], + "layout": "IPY_MODEL_c3cd2091118f4634adc474f9aa848b4c" + } + }, + "ff8925e683be437dab5e91d4b3770f83": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ffa789d47ba64884981a8f6a5d5d6394": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + }, + "ffb9023a9db74e9dba659478dae0d206": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": {} + }, + "ffc6518e02924afbbff504ebd07da4d0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "initial" + } + }, + "ffe38966f27144a88cdd7eb29dea4afa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "description_width": "" + } + } + }, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/example/TZPGcalc.png b/doc/source/TZPGcalc.png similarity index 100% rename from example/TZPGcalc.png rename to doc/source/TZPGcalc.png diff --git a/doc/source/conf.py b/doc/source/conf.py new file mode 100644 index 0000000000000000000000000000000000000000..1c0d3879b82bde88097e2dc3164ebd215685b727 --- /dev/null +++ b/doc/source/conf.py @@ -0,0 +1,182 @@ +# -*- coding: utf-8 -*- +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain a selection of the most common options. For a +# full list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'TZPG calculator' +copyright = '2021, Loïc Le Guyader' +author = 'Loïc Le Guyader' + +# The short X.Y version +version = '' +# The full version, including alpha/beta/rc tags +release = '' + + +# -- General configuration --------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.mathjax', + 'sphinx_rtd_theme', + 'nbsphinx', + 'jupyter_sphinx.execute' +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = None + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +# html_theme = 'alabaster' +html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'TZPGcalculatordoc' + + +# -- Options for LaTeX output ------------------------------------------------ + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'TZPGcalculator.tex', 'TZPG calculator Documentation', + 'Loïc Le Guyader', 'manual'), +] + + +# -- Options for manual page output ------------------------------------------ + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'tzpgcalculator', 'TZPG calculator Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ---------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'TZPGcalculator', 'TZPG calculator Documentation', + author, 'TZPGcalculator', 'One line description of project.', + 'Miscellaneous'), +] + + +# -- Options for Epub output ------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + + +# -- Extension configuration ------------------------------------------------- diff --git a/doc/source/index.rst b/doc/source/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..bca9bb9facc2b1360907a6db0cfbcf21e22a8fd3 --- /dev/null +++ b/doc/source/index.rst @@ -0,0 +1,44 @@ +.. TZPG calculator documentation master file, created by + sphinx-quickstart on Thu Sep 23 13:18:21 2021. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to TZPG calculator's documentation! +=========================================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + +Installation +============ + +The installation steps are + +1. Clone the git repository + + .. code:: bash + + git clone https://git.xfel.eu/gitlab/SCS/tzpgcalc.git + + +#. Install the package + + .. code:: bash + + cd tzpgcalc + pip3 install -U -e . + +Usage +===== + +The following notebook demonstrate how to use the calculator: +:doc:`TZPG calculator <Interactive TZPG calculator>` + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/example/2019-12-11_Interactive_TZPGs_calculator.ipynb b/example/2019-12-11_Interactive_TZPGs_calculator.ipynb deleted file mode 100644 index b3c6db34ce890870153716ada433f4d2ac89d264..0000000000000000000000000000000000000000 --- a/example/2019-12-11_Interactive_TZPGs_calculator.ipynb +++ /dev/null @@ -1,898 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Cloning into 'TZPGcalc'...\n", - "remote: Enumerating objects: 10, done.\u001b[K\n", - "remote: Counting objects: 100% (10/10), done.\u001b[K\n", - "remote: Compressing objects: 100% (8/8), done.\u001b[K\n", - "remote: Total 10 (delta 2), reused 0 (delta 0)\u001b[K\n", - "Unpacking objects: 100% (10/10), done.\n" - ] - } - ], - "source": [ - "!git clone https://in.xfel.eu/gitlab/SCS/TZPGcalc.git/" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "window.mpl = {};\n", - "\n", - "\n", - "mpl.get_websocket_type = function() {\n", - " if (typeof(WebSocket) !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof(MozWebSocket) !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert('Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.');\n", - " };\n", - "}\n", - "\n", - "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = (this.ws.binaryType != undefined);\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById(\"mpl-warnings\");\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent = (\n", - " \"This browser does not support binary websocket messages. \" +\n", - " \"Performance may be slow.\");\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = $('<div/>');\n", - " this._root_extra_style(this.root)\n", - " this.root.attr('style', 'display: inline-block');\n", - "\n", - " $(parent_element).append(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", - " fig.send_message(\"send_image_mode\", {});\n", - " if (mpl.ratio != 1) {\n", - " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", - " }\n", - " fig.send_message(\"refresh\", {});\n", - " }\n", - "\n", - " this.imageObj.onload = function() {\n", - " if (fig.image_mode == 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function() {\n", - " fig.ws.close();\n", - " }\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "}\n", - "\n", - "mpl.figure.prototype._init_header = function() {\n", - " var titlebar = $(\n", - " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", - " 'ui-helper-clearfix\"/>');\n", - " var titletext = $(\n", - " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", - " 'text-align: center; padding: 3px;\"/>');\n", - " titlebar.append(titletext)\n", - " this.root.append(titlebar);\n", - " this.header = titletext[0];\n", - "}\n", - "\n", - "\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", - "\n", - "}\n", - "\n", - "\n", - "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", - "\n", - "}\n", - "\n", - "mpl.figure.prototype._init_canvas = function() {\n", - " var fig = this;\n", - "\n", - " var canvas_div = $('<div/>');\n", - "\n", - " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", - "\n", - " function canvas_keyboard_event(event) {\n", - " return fig.key_event(event, event['data']);\n", - " }\n", - "\n", - " canvas_div.keydown('key_press', canvas_keyboard_event);\n", - " canvas_div.keyup('key_release', canvas_keyboard_event);\n", - " this.canvas_div = canvas_div\n", - " this._canvas_extra_style(canvas_div)\n", - " this.root.append(canvas_div);\n", - "\n", - " var canvas = $('<canvas/>');\n", - " canvas.addClass('mpl-canvas');\n", - " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", - "\n", - " this.canvas = canvas[0];\n", - " this.context = canvas[0].getContext(\"2d\");\n", - "\n", - " var backingStore = this.context.backingStorePixelRatio ||\n", - "\tthis.context.webkitBackingStorePixelRatio ||\n", - "\tthis.context.mozBackingStorePixelRatio ||\n", - "\tthis.context.msBackingStorePixelRatio ||\n", - "\tthis.context.oBackingStorePixelRatio ||\n", - "\tthis.context.backingStorePixelRatio || 1;\n", - "\n", - " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband = $('<canvas/>');\n", - " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", - "\n", - " var pass_mouse_events = true;\n", - "\n", - " canvas_div.resizable({\n", - " start: function(event, ui) {\n", - " pass_mouse_events = false;\n", - " },\n", - " resize: function(event, ui) {\n", - " fig.request_resize(ui.size.width, ui.size.height);\n", - " },\n", - " stop: function(event, ui) {\n", - " pass_mouse_events = true;\n", - " fig.request_resize(ui.size.width, ui.size.height);\n", - " },\n", - " });\n", - "\n", - " function mouse_event_fn(event) {\n", - " if (pass_mouse_events)\n", - " return fig.mouse_event(event, event['data']);\n", - " }\n", - "\n", - " rubberband.mousedown('button_press', mouse_event_fn);\n", - " rubberband.mouseup('button_release', mouse_event_fn);\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband.mousemove('motion_notify', mouse_event_fn);\n", - "\n", - " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", - " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", - "\n", - " canvas_div.on(\"wheel\", function (event) {\n", - " event = event.originalEvent;\n", - " event['data'] = 'scroll'\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " mouse_event_fn(event);\n", - " });\n", - "\n", - " canvas_div.append(canvas);\n", - " canvas_div.append(rubberband);\n", - "\n", - " this.rubberband = rubberband;\n", - " this.rubberband_canvas = rubberband[0];\n", - " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", - " this.rubberband_context.strokeStyle = \"#000000\";\n", - "\n", - " this._resize_canvas = function(width, height) {\n", - " // Keep the size of the canvas, canvas container, and rubber band\n", - " // canvas in synch.\n", - " canvas_div.css('width', width)\n", - " canvas_div.css('height', height)\n", - "\n", - " canvas.attr('width', width * mpl.ratio);\n", - " canvas.attr('height', height * mpl.ratio);\n", - " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", - "\n", - " rubberband.attr('width', width);\n", - " rubberband.attr('height', height);\n", - " }\n", - "\n", - " // Set the figure to an initial 600x600px, this will subsequently be updated\n", - " // upon first draw.\n", - " this._resize_canvas(600, 600);\n", - "\n", - " // Disable right mouse context menu.\n", - " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", - " return false;\n", - " });\n", - "\n", - " function set_focus () {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "}\n", - "\n", - "mpl.figure.prototype._init_toolbar = function() {\n", - " var fig = this;\n", - "\n", - " var nav_element = $('<div/>');\n", - " nav_element.attr('style', 'width: 100%');\n", - " this.root.append(nav_element);\n", - "\n", - " // Define a callback function for later on.\n", - " function toolbar_event(event) {\n", - " return fig.toolbar_button_onclick(event['data']);\n", - " }\n", - " function toolbar_mouse_event(event) {\n", - " return fig.toolbar_button_onmouseover(event['data']);\n", - " }\n", - "\n", - " for(var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " // put a spacer in here.\n", - " continue;\n", - " }\n", - " var button = $('<button/>');\n", - " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", - " 'ui-button-icon-only');\n", - " button.attr('role', 'button');\n", - " button.attr('aria-disabled', 'false');\n", - " button.click(method_name, toolbar_event);\n", - " button.mouseover(tooltip, toolbar_mouse_event);\n", - "\n", - " var icon_img = $('<span/>');\n", - " icon_img.addClass('ui-button-icon-primary ui-icon');\n", - " icon_img.addClass(image);\n", - " icon_img.addClass('ui-corner-all');\n", - "\n", - " var tooltip_span = $('<span/>');\n", - " tooltip_span.addClass('ui-button-text');\n", - " tooltip_span.html(tooltip);\n", - "\n", - " button.append(icon_img);\n", - " button.append(tooltip_span);\n", - "\n", - " nav_element.append(button);\n", - " }\n", - "\n", - " var fmt_picker_span = $('<span/>');\n", - "\n", - " var fmt_picker = $('<select/>');\n", - " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", - " fmt_picker_span.append(fmt_picker);\n", - " nav_element.append(fmt_picker_span);\n", - " this.format_dropdown = fmt_picker[0];\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = $(\n", - " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", - " fmt_picker.append(option);\n", - " }\n", - "\n", - " // Add hover states to the ui-buttons\n", - " $( \".ui-button\" ).hover(\n", - " function() { $(this).addClass(\"ui-state-hover\");},\n", - " function() { $(this).removeClass(\"ui-state-hover\");}\n", - " );\n", - "\n", - " var status_bar = $('<span class=\"mpl-message\"/>');\n", - " nav_element.append(status_bar);\n", - " this.message = status_bar[0];\n", - "}\n", - "\n", - "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", - "}\n", - "\n", - "mpl.figure.prototype.send_message = function(type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "}\n", - "\n", - "mpl.figure.prototype.send_draw_message = function() {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", - " }\n", - "}\n", - "\n", - "\n", - "mpl.figure.prototype.handle_save = function(fig, msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "}\n", - "\n", - "\n", - "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1]);\n", - " fig.send_message(\"refresh\", {});\n", - " };\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", - " var x0 = msg['x0'] / mpl.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", - " var x1 = msg['x1'] / mpl.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch(cursor)\n", - " {\n", - " case 0:\n", - " cursor = 'pointer';\n", - " break;\n", - " case 1:\n", - " cursor = 'default';\n", - " break;\n", - " case 2:\n", - " cursor = 'crosshair';\n", - " break;\n", - " case 3:\n", - " cursor = 'move';\n", - " break;\n", - " }\n", - " fig.rubberband_canvas.style.cursor = cursor;\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_message = function(fig, msg) {\n", - " fig.message.textContent = msg['message'];\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", - " // Request the server to send over a new figure.\n", - " fig.send_draw_message();\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", - " fig.image_mode = msg['mode'];\n", - "}\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function() {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message(\"ack\", {});\n", - "}\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function(fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* FIXME: We get \"Resource interpreted as Image but\n", - " * transferred with MIME type text/plain:\" errors on\n", - " * Chrome. But how to set the MIME type? It doesn't seem\n", - " * to be part of the websocket stream */\n", - " evt.data.type = \"image/png\";\n", - "\n", - " /* Free the memory for the previous frames */\n", - " if (fig.imageObj.src) {\n", - " (window.URL || window.webkitURL).revokeObjectURL(\n", - " fig.imageObj.src);\n", - " }\n", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data);\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig[\"handle_\" + msg_type];\n", - " } catch (e) {\n", - " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", - " }\n", - " }\n", - " };\n", - "}\n", - "\n", - "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", - "mpl.findpos = function(e) {\n", - " //this section is from http://www.quirksmode.org/js/events_properties.html\n", - " var targ;\n", - " if (!e)\n", - " e = window.event;\n", - " if (e.target)\n", - " targ = e.target;\n", - " else if (e.srcElement)\n", - " targ = e.srcElement;\n", - " if (targ.nodeType == 3) // defeat Safari bug\n", - " targ = targ.parentNode;\n", - "\n", - " // jQuery normalizes the pageX and pageY\n", - " // pageX,Y are the mouse positions relative to the document\n", - " // offset() returns the position of the element relative to the document\n", - " var x = e.pageX - $(targ).offset().left;\n", - " var y = e.pageY - $(targ).offset().top;\n", - "\n", - " return {\"x\": x, \"y\": y};\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * http://stackoverflow.com/a/24161582/3208463\n", - " */\n", - "function simpleKeys (original) {\n", - " return Object.keys(original).reduce(function (obj, key) {\n", - " if (typeof original[key] !== 'object')\n", - " obj[key] = original[key]\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function(event, name) {\n", - " var canvas_pos = mpl.findpos(event)\n", - "\n", - " if (name === 'button_press')\n", - " {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * mpl.ratio;\n", - " var y = canvas_pos.y * mpl.ratio;\n", - "\n", - " this.send_message(name, {x: x, y: y, button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event)});\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "}\n", - "\n", - "mpl.figure.prototype._key_event_extra = function(event, name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "}\n", - "\n", - "mpl.figure.prototype.key_event = function(event, name) {\n", - "\n", - " // Prevent repeat events\n", - " if (name == 'key_press')\n", - " {\n", - " if (event.which === this._key)\n", - " return;\n", - " else\n", - " this._key = event.which;\n", - " }\n", - " if (name == 'key_release')\n", - " this._key = null;\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which != 17)\n", - " value += \"ctrl+\";\n", - " if (event.altKey && event.which != 18)\n", - " value += \"alt+\";\n", - " if (event.shiftKey && event.which != 16)\n", - " value += \"shift+\";\n", - "\n", - " value += 'k';\n", - " value += event.which.toString();\n", - "\n", - " this._key_event_extra(event, name);\n", - "\n", - " this.send_message(name, {key: value,\n", - " guiEvent: simpleKeys(event)});\n", - " return false;\n", - "}\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", - " if (name == 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message(\"toolbar_button\", {name: name});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", - "\n", - "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", - "\n", - "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.close = function() {\n", - " comm.close()\n", - " };\n", - " ws.send = function(m) {\n", - " //console.log('sending', m);\n", - " comm.send(m);\n", - " };\n", - " // Register the callback with on_msg.\n", - " comm.on_msg(function(msg) {\n", - " //console.log('receiving', msg['content']['data'], msg);\n", - " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", - " ws.onmessage(msg['content']['data'])\n", - " });\n", - " return ws;\n", - "}\n", - "\n", - "mpl.mpl_figure_comm = function(comm, msg) {\n", - " // This is the function which gets called when the mpl process\n", - " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", - "\n", - " var id = msg.content.data.id;\n", - " // Get hold of the div created by the display call when the Comm\n", - " // socket was opened in Python.\n", - " var element = $(\"#\" + id);\n", - " var ws_proxy = comm_websocket_adapter(comm)\n", - "\n", - " function ondownload(figure, format) {\n", - " window.open(figure.imageObj.src);\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy,\n", - " ondownload,\n", - " element.get(0));\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element.get(0);\n", - " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", - " if (!fig.cell_info) {\n", - " console.error(\"Failed to find cell for figure\", id, fig);\n", - " return;\n", - " }\n", - "\n", - " var output_index = fig.cell_info[2]\n", - " var cell = fig.cell_info[0];\n", - "\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function(fig, msg) {\n", - " var width = fig.canvas.width/mpl.ratio\n", - " fig.root.unbind('remove')\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable()\n", - " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", - " fig.close_ws(fig, msg);\n", - "}\n", - "\n", - "mpl.figure.prototype.close_ws = function(fig, msg){\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "}\n", - "\n", - "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width/mpl.ratio\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", - "}\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function() {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message(\"ack\", {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () { fig.push_to_output() }, 1000);\n", - "}\n", - "\n", - "mpl.figure.prototype._init_toolbar = function() {\n", - " var fig = this;\n", - "\n", - " var nav_element = $('<div/>');\n", - " nav_element.attr('style', 'width: 100%');\n", - " this.root.append(nav_element);\n", - "\n", - " // Define a callback function for later on.\n", - " function toolbar_event(event) {\n", - " return fig.toolbar_button_onclick(event['data']);\n", - " }\n", - " function toolbar_mouse_event(event) {\n", - " return fig.toolbar_button_onmouseover(event['data']);\n", - " }\n", - "\n", - " for(var toolbar_ind in mpl.toolbar_items){\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) { continue; };\n", - "\n", - " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", - " button.click(method_name, toolbar_event);\n", - " button.mouseover(tooltip, toolbar_mouse_event);\n", - " nav_element.append(button);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", - " nav_element.append(status_bar);\n", - " this.message = status_bar[0];\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", - " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", - " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", - " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", - " buttongrp.append(button);\n", - " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", - " titlebar.prepend(buttongrp);\n", - "}\n", - "\n", - "mpl.figure.prototype._root_extra_style = function(el){\n", - " var fig = this\n", - " el.on(\"remove\", function(){\n", - "\tfig.close_ws(fig, {});\n", - " });\n", - "}\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function(el){\n", - " // this is important to make the div 'focusable\n", - " el.attr('tabindex', 0)\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " }\n", - " else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "\n", - "}\n", - "\n", - "mpl.figure.prototype._key_event_extra = function(event, name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager)\n", - " manager = IPython.keyboard_manager;\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which == 13) {\n", - " this.canvas_div.blur();\n", - " event.shiftKey = false;\n", - " // Send a \"J\" for go to next cell\n", - " event.which = 74;\n", - " event.keyCode = 74;\n", - " manager.command_mode();\n", - " manager.handle_keydown(event);\n", - " }\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_save = function(fig, msg) {\n", - " fig.ondownload(fig, null);\n", - "}\n", - "\n", - "\n", - "mpl.find_output_cell = function(html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i=0; i<ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code'){\n", - " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] == html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "}\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel != null) {\n", - " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", - "}\n" - ], - "text/plain": [ - "<IPython.core.display.Javascript object>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4QAAAHCCAYAAAC30AdjAAAgAElEQVR4nOy9e3QV1d3/v0NCDgm3hIBKEYJck3ATSMJNDWotRAs0IpeQ1iB4QSxBrFYr8k1Fn4IKAibhIsVIbWxLXQERpRoVixKe2jwCwpKCUkq5GRCiEHI9Oe/fH/zOMJNzy7nMZR/er7X2WvXMnjmbN3Tm85qzZ7YAIYQQQgghhJCrEmH2AAghhBBCCCGEmAOFkBBCCCGEEEKuUiiEhBBCCCGEEHKVQiEkhBBCCCGEkKsUCiEhhBBCCCGEXKVQCAkhhBBCCCHkKoVCSAghhBBCCCFXKRRCQsKEHTt2QAgBIeT7v7Vz3Dt27DB7KIQQQojlycjIgBAC+fn5Zg+FhAHyVY7kqsfhcGDTpk342c9+hh49eqBNmzZo27YtevXqhTFjxmDBggUoLS3FDz/8YPZQDYVCSAgh4Ul+fr5ynnS2iIgItG/fHt26dcOoUaMwd+5c/PWvf0V9fb3uY8nPz8fRo0d1/R5/qaqqUsZWVVVl9nB0h0JIQol8lSO5qqmqqlJOgs4WFRWFTp06ISoqSvN5cXGx2cM1FAohIYSEJ2ohvPbaa5XWoUMHREREaK59CQkJWLNmjW5jser5+ujRo8rYrCarekAhJKFEvsqRXNVMmDABQghERkbiV7/6FQ4fPoympiYAQGNjI/bt24cXXngBQ4YMoRBKhFULDEIIsQJqIWyO3W7Hl19+ieXLl+OGG25Q+s2YMQMOhyPkY7Hq+ZpCSEjgyFc5kquWw4cPKyf7JUuW+OxfU1NjwKisA4WQEELCE29CqObSpUuYPn260vd3v/tdyMdi1fM1hZCQwJGvciRXLZs2bVJO9l999VVAxzh9+jReeeUVTJw4EUlJSejQoQPatGmD3r17Y/bs2Thw4IDHfXNzcyGEQG5uLgCguLgYI0eORIcOHRAXF4fbb78df//735X+jY2NeOWVVzBs2DC0b98eHTp0QGZmJv7v//7P7fGbC90///lPTJ48Gddddx1sNht69+6Nxx9/3OOzES0Rwvr6ehQVFWHs2LFISEhA69atce2112LixIl47733fMXnEXWBcPr0aTzyyCPo2bMnbDYbrr32WsyYMQMHDx5s0f7N2b9/P/Lz83HrrbeiV69eaNOmDdq3b48bb7wRCxcuxNmzZz0eNzExUZk+XF9fjxdffBGDBw9GbGwsOnTogFtvvRXbt2/3+ef77LPPkJOTgx49esBms6FDhw5IS0vD0qVLcfHixRZlRAghgdJSIQQun+eHDh0KIQQ6dOiAc+fOeeznz/XAeQ301BITE132aWpqwh//+EdkZmbimmuuQevWrdG5c2fccccdePPNN33+gvnVV19h7ty5SE5ORrt27dC2bVv069cP06ZNw1tvvaXMEGr+KEnzlpGR4XLs06dP4/HHH0dKSgpiY2MRGxuLlJQUPPHEE/j222/djqe5dH7zzTd44IEH0LNnT0RHR7vNwBNqoauvr8eSJUswaNAgxMbGIi4uDj/+8Y+9Xpe9CWEoa52//vWvyMjIQHx8PGJiYjBkyBCsXLlSyd4TR48exfz585GSkoK2bdsiJiYG/fv3R15eHo4dO9aijIhxUAiJNKiF8IMPPgjoGOoLmrtnD202G9566y2v++bm5ir/OyoqCu3bt9cc85133kFdXR1+8pOfQAiB6OhotG3bVukTGxuLiooKl+OrhW7Lli2Ijo5WLujO/+286Lq7++lLCP/zn/9gwIABmhcSdOzYUXPRnDNnTkC5Ovd/7bXXcN1110EIgZiYGLRr107Z1qZNG4/y5U0InVLnPEanTp00z8x069YN//rXv9we17lvQUEBRowYASEEWrdurRlXREQENmzY4Hb/pqYm5OXlaTJq164dIiMjlf/u378//vOf/wSUGyGEtAR/hBC4XMQ7+7s7vwVyPcjLy8O1116rbI+Pj9c8z5iamqrpf+7cOdxyyy2aYzb/jokTJ3p8Cc7SpUvRqlUrl/O/+jPnDdKsrCx07txZ+bxz586asWVlZWmO/cknnyAuLk7p37ZtW811Oj4+Hp9++qnLmNRCWFJSolxLYmNj0bZt24CE8De/+Q1uvvlmpYZQj8vbL4DehDBUtc4jjzwCIQRatWrlMq57773X45/tj3/8I2w2m+b7YmJilP9u37493n///RZnRfSHQkik4ejRo4oIDBo0CIcOHfL7GM899xxeeukl7N+/H42NjQAuF/0HDhxATk6OcmE4efKky77Ok2RcXBxiYmKwbt06ZVrqv/71LwwfPhxCCPTs2RO//OUv0alTJ2zatAkNDQ1wOByoqKhA7969IYTAmDFjXI6vFrqOHTti7Nixyi+hjY2N+Mtf/oL4+HgIIZCWlga73e5x/+ZUV1cjKSkJQgiMHTsWn3zyCerq6gAA33//PV5++WXlwrZy5Uq/c1WPu0ePHvjggw+UO7//+Mc/MGjQIEVujx8/7nF/d0J477334vXXX9fcUayvr8eHH36I9PR0CCEwbNgwt+NyCmF8fDy6deuGLVu2oKGhAcDlv7ORI0cqkvf999+77P/MM89ACIFrrrkGRUVFyp32hoYG7NixQ7kLP2zYMJ93SwkhJFD8FcKLFy8qN66aF+7BXg+8na+d2O12RVhuvPFGvPPOO7h06ZLy/Rs3bsQ111wDIQQeffRRl/1Xr16tkcY9e/Yo2y5duoQPPvgA06ZN07xNvKVTRv/73/8qcpOSkoLPPvtM2bZz5070798fQgh06tQJJ06c0Oyr/o527dphxIgR+Oc//6ls96cucebTsWNH2Gw2rF27FrW1tcoY77nnHuW73n77bY/7uxPCUNQ68fHxiI6Oxssvv6zk/N133+H+++9XxvXRRx+57P/BBx+gVatWiIqKwq9//WscPXoUDocDDocD//rXvzBlyhSlHuAvhdaBQkik4oEHHtDc0Rw6dCjmzp2LDRs2YP/+/UE/QH/XXXdBCIHnnnvOZZv6jtsf//hHl+3ffPON5u6Zu7uLH330kbK9uRipha5fv35un4EsKytT+mzatMnj/s1ZvHgxhLg8bcYpRM0pLS1V7qw6LyAtxfm90dHRbqfzVlZWolOnThBCYO7cuR739/eZlIsXLyp3rN3l7RRCm83mdsrqmTNn0KZNG7d/p0ePHkVkZCRiYmKwd+9et99/4cIFXH/99RBCYPPmzX6NnRBCWoq/QggAffv2dXsDMtjrQUvO13/4wx8ghEBSUpLbm20AUFFRgYiICERHR6OyslL5/Pz588rMm+nTp7f4ut5SIZwzZ44iPKdPn3bZfvz4cXTo0AFCCDzyyCMevyMxMTGoRwbU01zd/Yrb1NSk/MI6YMAAj/sH8gxhS2sdTy/nc94Av//++13G7Px3t27dOo/fP3HiRAghMH/+fL/HTvSBQkikorGxEYsWLdJM7VC3a665BgsWLPA4/98XzruS48aNc9nmPEn26NHD4wWqT58+EELg5ptvdrvdbrcr0yjeffddzTa10K1fv97jGEePHg0hBO6++26P+zfHKUbu7jI6cTgcykXwf//3fz32c4fze3Nycjz2efrppyHE5Veie9o/kJcUTJ06FUK4f9GQ88/tbVy33norhBD49a9/rfncWYA1n2rUnF/+8pcQIvDptoQQ4otAhNA5TT45OVnzebDXg5acr52ysmrVKq9jHDhwIIQQ+POf/6x89uqrr0KIy9P7T5065XV/NS0RQofDodyc/M1vfuPxWL/+9a/dXq/U3/HSSy+1eGzucGbUvXt3jzXFBx98oHzfl19+6Xb/QISwJbWOt3E9++yzEEIgPT1d87mzDuncubPXWTNvvfWWcsOAWAMKIZGS77//Hm+88Qbuv/9+DBkyRPOMnfNk9I9//MPtvnv37sXDDz+MQYMGoX379i5rOHm6G+c8STYXMTVjxoyBEAKPPfaYxz7dunVz+4uUWuiOHDnicX/nNMYePXp43F/NiRMnNLmon6to3pzPZvzlL3/x+P3u8HaX08mHH36o9Pv3v//tdn9PBcY777yDqVOn4oYbbkBsbKzbmwHN7+QCVwqfV155xeO4nNNnmt/p/PGPfwwhLk+r8ZaZ8+ZEZmaml4QIISRwQiWEobge+Dpfq298Nn/OsHlr3bo1hBB44YUXlP1nzpwJIQRGjhzpV0YtEcIjR44ofdxNd3Sino2jvl6pv6O8vNyv8TXHKXS/+MUvPPapra1Vnv177bXX3O7vSQj1rHXWr18PIQT69Omj+fz5559XZN7b37vz8ZeYmBgvCREjoRCSsKC2thZlZWXKOoVCCFx//fXKfHwnBQUFmgfSIyIiEBcXp1nkV4jLzwE2p/mbt9zRkjt26jdfqlELnfN5DnesWbMGQlx+wN7T/mo+//xztwLlrfm7hqNzv7/97W8e+xw8eFDp19I7zk1NTcjOztaMLSoqSlNkOKd8zpw50+U7PWWtxtPfa0pKil+ZuXuLHSGEhIJgpozedNNNymehuB74EsIzZ874/R3qa+b48eMhhMC0adP8iahFQrh7926lj6eXkQGer1fq7/jmm2/8Gl9znPXCU0895bWf87GIpUuXut3fXb2hd61TXFwMIVzfLDt37ly//+6JNeDfBAk71PPf1c91ffXVV8pD9lOmTMHnn3/u8naz3//+925PcurjyiaE6gugt6UfgkEvIXROHYqMjMT/+3//D19//bXLNJSf//znHv9eghFC54sFnnzySY/7EkKIEQTzUhn1uS0U1wNfQnj69GmlT0uW9WlOZmamFEIY7FqHegmhEbWOJyF86KGHIITAiBEjvP6ZiPWgEJKwY9euXcoJW30CdT5In5yc7HFuu3O6g9lCGMopo+oLmDdhCwbn8UM9ZfS2226DEAIPPfSQx+M6p3aGWgidf5fTp0/3uC8hhBhBMMtOqM9/obge+BLChoYGZZrj2rVr/T7+fffdByH0nzL64YcfejxWS6aMhkoIvU0Zraur83vKqBG1jichdP47ve666zzuS6wJhZCEHfv27VNO2CtWrFA+d76h1FuBP3bsWEsI4e9//3uP+zufU/TnpTLO5xbdPWcXCpzf+/Of/9xjn4ULF0KIy6/y9rR/8wLDOeXJU1Fx8eJF5W10oRZC50twOnfu7DL1mBBCjCTQhek7duyorNXnJNjrgfNZtI8//thjH+fLz+666y6/j+98Pi0qKsqvl8ocO3bM401HJy19qcyTTz4JIby/VCZUQujtRXVqMW3pS2WMqHU8CaH6JTjq5TiI9aEQEmn497//3aI1fh577DHlhPT3v/9d+fzxxx+HEJcfonZ38n3vvfeU/cwWwqSkJLcS8vHHHyt9mj/o700If/vb30KIy9NMv/jiC49jA6CstecPzu+12Wxup+GcPXtWWTT44Ycf9rh/cyFMTU31uA9w5U1wegjhN998o9yZbf4G0ubU19cH9fpxQgjxRkuFsKamRvPcdfNphkDw1wPn4vKlpaUe93v99dchxOVn15q/UdvXd3z//ffKM27Tpk1r8bITVVVVyp/b25/r4YcfVm5Oult24uTJk8o6hb/85S812/QQQk/XqKamJuUt2CkpKR73b15vGFHreBLCxsZG5W3rN910k8tU1eYEUm8QfaAQEml455130KpVK9x5553YuHGj5mTc0NCAL774Qnk7mRCXX4esni6hnrL48MMPKyei6upqrF27FrGxsUhISLCEEHbs2BG33XabIleNjY3461//qtzZHDZsmMvaUN6E8OLFi8ri8B07dkRBQQG+++47ZXtVVRXee+89/OIXv3B74fGFetw9e/ZEWVmZciH6/PPPMWTIEAgh0L59e7cL0XoSQuf02KioKKxbt065uJw+fRqPPvqocgdXDyEErrxaW4jL03r279+vbGtsbMSePXvw7LPPonv37m7XQSSEkFDgTQibmpqwf/9+LF++HDfccIPmnOVOCIK9HjhnqUyePFlZbL45drtdmc4fHR2N5557TrMIenV1NT7++GPMnTsXHTt2dNl/7dq1yp9j0qRJLgvTb9u2DRMnTtQsTA9c+fVz3rx5HtfTPX78uCJ8AwYMwK5du5Rtn332GZKTkxVh9LYwfaiEsGPHjmjTpg1effVVzcL0ziWVPMm3p3rDiFrHkxA6v995M3XEiBH48MMPNetdHjlyBGvWrEFqaqrbdRCJOVAIiTT87W9/U05yzhYdHY1OnTq5vE552LBhmouPk+nTp2v6xcXFKQ9fDx8+HAUFBZYQwi1btiiv4+7YsaPyCm8hLk8vcTcdxpsQApfveo4cOVLp43zrmPNOrLM1f410S3Du+9prr+G6666DEAKxsbFo166d5tfDbdu2ed2/uRBWVVUhKSlJ2d6qVSvExcUpf98PPfSQ17+XYIXQ4XBg0aJFmn9fMTExSEhIUP7dONtnn33mR2KEENJy1EKofn1/XFyc5m2SQlye5u7r2b1grgdvvPGGsr1169bo1q0bEhMTMWbMGE2/H374AT/96U81x+vQoYPmHO684eeO3/3ud5o/W0xMDDp16qT5rPl02Oeee05zzenevTsSExNdXlDzySefKL90CnF5eSH1+sZxcXHYuXOny5j0EMLf/OY3uOmmm5Q8nUsyONszzzzjdX939YbetY43IQSAzZs3K49zOP9cCQkJmlpGCIHnn3++BUkRI6AQEqn4+uuvsWrVKkyZMgXJyclo3749WrVqhbZt26Jv376YOnUq/vznP3t8kLqpqQkrV67E4MGDYbPZ0L59e9x4441YsmQJ6urqvJ7kjBRCAPjnP/+JyZMn49prr0V0dDRuuOEG/OpXv8L58+fdHteXEAKX79r+6U9/wsSJE/GjH/0I0dHRaNOmDXr27IkJEyZg5cqVfj2z4UQtdKdPn8YjjzyCxMREREdH45prrkF2dja++uqrFu3fnPPnz+PRRx9Fz5490bp1a3Tu3Bm33nor/vSnPwHw/vcSrBA62b9/P+bOnYvk5GS0a9cOUVFR6Ny5M0aPHo0nnngi6PWoCCHEG2ohVEtcu3bt8KMf/QgjR47Eww8/jLfeesvnND0nwVwP3njjDdx0003o2LGjImie5OC9997DtGnT0KNHD9hsNkRHR+P666/HT37yEyxZssTrS9T279+PBx54AH369EFMTAzatWuH/v37Izs7G6WlpS7X+qamJqxatQqpqalo166dIp7ulgU6deoUfvWrXyE5ORkxMTGIjY1FcnIyHn/8cbdTSQF9hDA/Px/19fX43e9+h4EDByI2NhYdO3bE7bff7nW6rbd6Q+9ax5cQAkBlZSXy8/ORnp6O+Ph4REZGokOHDhgyZAjuv/9+bN68ucX/Von+UAgJsQgtETqr4k3oCCGEEKKlJTeQCTEK+SpPQsIUCiEhhBBydUAhJFZCvsqTkDCFQkgIIYRcHVAIiZWQr/IkJEyhEBJCCCFXBxRCYiXkqzwJCVMohIQQQsjVAYWQWAlDKs9Lly5h8+bNmDVrFvr16webzYbY2FgMHjwYzz77bEALOp8/fx55eXno0aMHoqOj0aNHD8yfP9/lFcSEEEKIjKgXrnbXtm/f7na/4uJipKWloW3btoiPj0dmZqZmrTVCCCFEjSFCuH79euUClpycjClTpmDcuHHKGiVJSUmorKxs8fHOnj2LPn36QAiBXr16YerUqRgwYACEEOjXr5+yCCchhBAiK04hnDx5MnJzc13al19+6bLP/PnzlTXbJk2ahHHjxiEqKgqRkZHYvHmzCX8KQgghVscQIXz99dfx4IMPuqxDdurUKQwdOhRCCGRnZ7f4eDk5ORBC4O6770ZjY6Py+bx583yunUIIIYTIgFMIW7reWVlZGYQQSEhIwOHDh5XPy8vLER0djbi4OM6iIYQQ4oLpDyuVl5dDCAGbzdaiBSpPnTqFVq1aITo6Gt9++61mW11dHbp06YLIyEi/fnEkhBBCrIa/QpiZmQkhBFasWOGyLS8vD0IILFu2LMSjJIQQIjumC+GlS5eU6aSnTp3y2f+1116DEAK333672+2zZs2CEALFxcUhHikhhBBiHP4IYU1NDWw2G4QQOH78uMv2nTt3QgiBjIyM0A+UEEKI1JguhPv374cQAq1bt0ZdXZ3P/s7nI5544gm32wsLCyGEwIIFC0I9VEIIIcQwnEL4zDPP4OGHH8YjjzyCVatW4dixYy599+zZAyEEunTp4vZY1dXVEEIgPj5e72ETQgiRDNOF8P7774cQAhMmTGhR/6ysLAghsGrVKrfbt2zZojxfSAghhMiKp7eMtm7dGosXL9b0ffvttyGEwNChQz0eLy4uDkIIXLhwQe+hE0IIkQhThfDdd99FREQEWrdujb1797ZonzvuuANCCKxfv97tdudD9XfccUeLjpeSkuK2RUZGol27dh63s7GxsbFZs7Vr1w7XXntti69FVmXRokV44403cOTIEdTU1ODQoUP4n//5H8TExEAIgZUrVyp9S0pKIITAmDFjPB6vW7duEELg5MmTPr/bU7a8NrKxsbHJ2bxdG00TwoMHDyI+Pt7louYLo4SwVatWsNlsIf/LSEpKUu7yJiUlhfTYXbt2RdeuXXX5R6TnuPVszJt5mz1uGfPWM2sj8rbZbGjXrl2Lryuy8f7770MIgbi4ONTU1AAwTgj1ujaysbGFf+va1VrN7DyMbt6ujaYI4YkTJ5CYmAghBB577DG/9jVqyqgzvFDjfI5DCIHq6uqQHbexsRHr1q3DunXr0NDQgDNnzuDMmTNwOBwhOb5e49Yb5m0szNtY9Bi3OuvGxkY4HA7p8tbr/G0lUlNTIYTAjh07ABg3ZfRqyJYQog/r1lmrXW14O38bLoTnzp1DSkoKhBC47777/C4wjHqpjMxCWFtbqynoQgELZi3M2z3M21iMEMLm/x0KKITBk52dDSEE3nzzTQDGvVTmasiWEKIPZgsghdAiQnjx4kWkp6crv+DZ7Xa/j2HUshMUQi0smLUwb/cwb2PRSwg3bNiADRs2UAgtzPjx4yGEwNtvvw1Au+zEiRMnXPqHatmJqyFbQog+mC2AFEILCGFdXR1uu+02CCEwbty4Fi1C7w71wvTNF58P5cL0FEItLJi1MG/3MG9jMWLcFELrcebMGbRt29ZlzUEjFqYP92wJIfphtgBSCE0WQrvdrjz7d/PNN+PSpUs+9ykoKED//v3x1FNPuWzLycmBEAKTJ0/WFCjOC15ubm7QY5ZRCJ139VkwX4F5GwvzNhYKoXvCQVp27dqFzZs3u8ykOXr0KMaMGQMhBCZOnKjZ5nypWkJCAg4fPqx8Xl5eDpvNhri4OFRVVQU1rnDIlhBiDmYLIIXQZCFcuXKlcvHPyspCbm6u23b27Flln/z8fI9yd/bsWfTu3RtCCPTu3RvTpk3DwIEDIYRA3759ce7cuaDHLJsQqpGxgNML5m0szNtYmLd7wkFaiouLIYTAddddhzvvvBMzZszAmDFj0KZNGwghMGDAALczYZzP2cfGxmLSpEnIzMxEVFQUIiMjsXnz5qDHFQ7ZEkLMwWwBpBCaLIROufPVjh496rKPp1/7zp07h3nz5qF79+6Ijo5G9+7dkZeXF/TdTycUQi0smD3DvK/AvI1Fj3Hb7XZs374d27dvh91ulzLvcJCWr776Cg8//DCGDRuGLl26ICoqCh07dsTIkSOxfPlyZbkJdxQXF2P48OGIjY1FXFwcxo8fj127doVkXOGQLSHEHMwWQAqhBZ4hlA0KoRYWzJ5h3ldg3sbCt4y6h9KiH8yWEBIoZgsghZBC6DeyCaH6rn5DQwMqKipQUVGBpqamkByfBbMW5u0e5m0sRghhU1OTdHlTWvSD2RJCAsVsAaQQUgj9RjYh1OMuvhoWzFqYt3uYt7EYIYR6QCGUF2ZLCAkUswWQQkgh9BsKoRYWzFqYt3uYt7FQCN1DadEPZksICRSzBZBCSCH0G5mFsKGhAefPn8f58+fhcDhCcnwWzFqYt3uYt7EYIYQOh0O6vCkt+sFsCSGBYrYAUggphH4jsxBynbYrMG9jYd7GwpfKuIfSoh/MlhASKGYLIIWQQug3FEItLJi1MG/3MG9joRC6h9KiH8yWEBIoZgsghZBC6DcUQi0smLUwb/cwb2PhMh/uobToB7MlhASK2QJIIaQQ+g2FUAsLZi3M2z3M21gohO6htOgHsyWEBIrZAkghpBD6jWxCqEbGAk4vmLexMG9jYd7uobToB7MlhASK2QJIIaQQ+g2FUAsLZs8w7yswb2PRY9x2ux1lZWUoKyuD3W6XMm9Ki34wW0JIoJgtgBRCCqHfUAi1sGD2DPO+AvM2Fr5Uxj2UFv1gtoSQQDFbACmEFEK/kU0I1Xf1GxoasHv3buzevRtNTU0hOT4LZi3M2z3M21iMEMKmpibp8qa06AezJYQEitkCSCGkEPpNSkoKkpKSUF1dHdJWWVmp+0s3QnUXX426gKusrAx5Lno15s28WwLzvoLeWQP6552UlERp0QkKISEkUMwWQAohhdBvUlJSlIJFryZrwSxrY97M2xPM+wpGC6FejdKiDxRCQkigmC2AFEIKod/ILIQNDQ24cOECLly4AIfDEZLjs2DWwryZt9WaXkLocDikzJvSog8UQkJIoJgtgBRCCqHf6DVlVN1CVVwB+q/T5nA4TJ8ex7zlasxbzryNeKmM3nlzyqh+UAgJIYFitgBSCCmEfiPbRU/vgploYd7GwryNwwgh1BvZzt8ywWwJIYFitgBSCCmEfiPbRY8Fs7Ewb2Nh3sbiFEHn/5Ytb9nO3zLBbAkhgWK2AFIIKYR+I9tFjwWzsTBvY2He5kEhJGqYLSEkUMwWQAohhdBvZLzoOe/qy1jAyQjzNhbmbQ4y5i3j+VsWmC0hJFDMFkAKIYXQb2S+6MlYwMkM8zYW5q0vdrsdO3bswI4dO2C326XMW+bzt9VhtoSQQDFbACmEFEK/kfmiJ2MBJzPM21iYt77wpTLEG8yWEBIoZow+GfwAACAASURBVAsghZBC6DeyXfTUd/Xr6+vx6aef4tNPP4Xdbjd7aGEJ8zYW5m0czQXQbrdLl7ds52+ZYLaEkEAxWwAphBRCv5HtoifjXXyZYd7GwryNIxyylu38LRPMlhASKGYLIIWQQug3sl30wqGIkwnmbSzM2zjCIWvZzt8ywWwJIYFitgBSCCmEfiPbRa95EVdbW4va2lqzhxW2MG9jYd7G4U4IZctbtvO3TDBbQkigmC2AFEIKod/IdtHjOm3GwryNhXkbB18qQ7zBbAkhgWK2AFIIKYR+I9tFjwWzsTBvY2HexkEhJN5gtoSQQDFbACmEFEK/ke2ix4LZWJi3sTBvY1FPEaUQEjXMlhASKGYLIIXQAkJYUVGBJUuWICsrC926dYMQAkIE9vWJiYnK/u7awYMHgx6vbBc9FszGwryNhXmbB4WQqGG2hJBAMVsAKYQWEMJJkya5lbdAcAphbm6u23bq1KmgxyvjRc95V1/GAk5GmLexMG9zkDFvGc/fssBsCSGBYrYAUggtIIRLly7FokWLsHXrVpw+fRo2my1oIdQTmS96MhZwMsO8jYV560vzhehlzFvm87fVYbaEkEAxWwAphBYQwuZQCPVDxgJOZpi3sTBvfeFLZYg3mC0hJFDMFkAKIYXQb5yhOQsidXM4HEq/pqYmt32M7ltXV4cdO3Zgx44d+OGHH/D+++/j/fffR11dncu+apy/AHhqVujLvJk38zaub319PVavXo3Vq1ejtrYWdXV1XvO2So5qKC36wWwJIYFitgBSCMNUCF988UU89NBDyMvLw7p163DmzJmQjS8lJQVdu3ZV7oyr24ULF5R+u3fvdtvH2c6fP6/0raio8NpXPf69e/d67Xvy5Eml74EDB7B69Wrk5OQgJycHc+bMUf736tWrNftt2LBB8+fcvn271+9RU1ZW5rWvuijbsWOH177qRa4//fRTr32ZN/Nm3sblvXfvXpd8586d6zZvq2bes2dPSotOUAgJIYGyzgISqG5XG2ErhM1bbGysS3ESKBRCFszMm3lfjXlXVFRg1KhRGDVqFAoKCrBuHYXQCnz33Xfo0qULhBDo3bu3177FxcVIS0tD27ZtER8fj8zMTOzatSsk46AQEkICZZ0FJFDdrjbCTgjnzZuH0tJSHDt2DDU1NThw4AAee+wxREZGIiIiAlu2bGnxsZzhNG82mw3JycnKmw3Vbzh0Tq9qbGxEfX29S59g+9rtdr/7Xrx4EYWFhSgsLMSJEyewfPlyrFy5EhcvXlT2c073ctLY2Ii6ujqv32OFvsybeTNv4/L+4YcfMH36dEyfPh1nzpzBuXPnXPL2NHXU05/X6L7JyclhJy25ubmIiIjwKYTz58+HEAIxMTGYNGkSxo0bh6ioKERGRmLz5s1Bj4NCSAgJFLMFkEIYZkLoiVdffRVCCPTv37/F+3gTwua/EJaUlGj2LS0t9Xi3euPGjZq+W7du9dg3FHfYCwoKlLv606dPR1ZWFrKyslBUVKTst337ds2+GzZs8PgdW7du1fTduHGjx76lpaWaviUlJR77btq0SdN306ZNHvsyb+bNvI3Pu6CgAOnp6UhPT8eMGTMwY8YMl7ytnnXXrl3DSlo+/PBDCCHw4IMPehXCsrIyCCGQkJCAw4cPK5+Xl5cjOjoacXFxqKqqCmosFEJCSKCss4AEqtvVxlUjhE1NTbjmmmsghMDRo0eDOpa7KaNWLeDWrVunTKlzFnHuptRZvYiTpWBm3sw7nPP2lLU6b6tnHU5CWFNTg969eyMlJQWHDx/2KoSZmZkQQmDFihUu2/Ly8iCEwLJly4IaD4WQEBIo6ywggep2tXHVCCEAjBo1CkIIlJeXB3UcT28ZVePtjXfB9A3kzXu1tbVYvXo1CgoKNNPo1PvZ7XZDxi9bX+bNvMO5r795e8panbfVsw4naXnyyScRERGBnTt34ujRox6FsKamRrmuHj9+3GX7zp07IYRARkZGUOMJp2wJIcZitgBSCK8iIUxKSoIQAvv27QvqOLJd9Bobr6wVVl9fj0OHDuHQoUNoamoye2hhCfM2FuZtHOqsGxsb0dTUJF3esp2/PbFv3z5ERUVh1qxZAOBVCPfs2QMhBLp06eL2WNXV1RBCID4+PqgxhUu2hBDjMVsAKYRXiRAeOHAAERERiI2NRX19fVDHku2ipy7iamtrNQUdCT3M21iYt3E0F8Lm/y0Dsp2/3dHU1IS0tDR07twZ3333HQDvQvj2229DCIGhQ4d6PGZcXByEEJo32/pLOGRLCDEHswWQQiihEBYUFKB///546qmnNJ+/++67+Oijj1z679u3D8nJyRBCIC8vL+jxyXbRY8FsLMzbWJi3cTQ2NqK0tBSlpaUUQhNZuXIlhBAoLi5WPvMmhCUlJRBCYMyYMR6P2a1bNwghNMuMeMLbC9dkz5YQYg5mCyCF0AJCuG3bNowYMUJpztdnqz/btm2b0j8/Px9CCOTm5mqO4/w8MTEREydOxPTp05Geno6oqCgIITB27FjU1NQEPV7ZCgoWzMbCvI2FeZsHhdB4jh07hnbt2rk870chJITIjNkCSCG0gBAWFxe7XUxe3dR3Qj0JYXl5OWbNmoVBgwYhISEBUVFR6NSpE8aOHYv169e7vOwgUGQrKNR39Vkw6w/zNhbmbR4UQuP56U9/iujoaBw8eFDzOaeMEkJkxmwBpBBaQAhlQ+aLnowFnMwwb2Nh3sYiY94yn78BQAiBuLg4ZGRkaNqIESMghECbNm2Uz06fPg2AL5UhhFgfswWQQkgh9BuZL3oyFnAyw7yNhXnrS2NjI0pKSlBSUsJnCE3C12wadXOuuateduLEiRMux+SyE4QQszFbACmEFEK/kfmiJ2MBJzPM21iYt77wLaPWxduUUYAL0xNCrI3ZAkghpBD6jWwXPfVd/fr6ehw5cgRHjhyRZt0w2WDexsK8jcPdOoSy5S3b+bul+BLCsrIyCCGQkJCAw4cPK5+Xl5fDZrMhLi4OVVVVQY0hXLMlhOiP2QJIIaQQ+o1sFz0Z7+LLDPM2FuZtHOGQtWzn75biSwgBYP78+RBCIDY2FpMmTUJmZiaioqIQGRmJzZs3Bz2GcM2WEKI/ZgsghZBC6DeyXfTCoYiTCeZtLMzbOMIha9nO3y2lJUIIXH6r9/DhwxEbG4u4uDiMHz8eu3btCskYwjVbQoj+mC2AFEIKod/IdtFTF3GcUqc/zNtYmLdxcMoo8QazJYQEitkCSCGkEPqNbBc9LtxtLMzbWJi3cfClMsQbzJYQEihmCyCFkELoN7Jd9FgwGwvzNhbmbRyNjY3YtGkTNm3aRCEkLjBbQkigmC2AFEIKod/IdtFjwWwszNtYmLd5UAiJGmZLCAkUswWQQkgh9BvZLnrqu/osmPWHeRsL8zYPCiFRw2wJIYFitgBSCCmEfiPzRU/GAk5mmLexMG9jkTFvmc/fVofZEkICxWwBpBBSCP1G5ouejAWczDBvY2He+sJnCIk3mC0hJFDMFkAKIYXQb1JSUpCUlITq6mrdmsPh0GXsehRwDodD1yyMaMybeXuCeV/BiLeM6p13UlISpUUnKISEkEAxWwAphBRCv0lJSYEQQtdWXV0dsvGq7+rX19fj0KFDOHToUMjWDauurtY9D+Z9BeathXkbl7e7dQhlzJvSog8UQkJIoJgtgBRCCqHfyCiEek7rYsGshXkzb6s1vYRQDyiE8kIhJIQEitkCSCGkEPqNXlNGKysrpS+YKysrTZ8ex7yt2Zi3/HkbLYR65M0po/pBISSEBIrZAkghpBD6jV4XPXUhpFfBXF9fj2PHjuHYsWO6TPEK5bj1hnkbC/M2Fj3G7W7KqGx5U1r0g9kSQgLFbAGkEFII/UZmIdRjnTYWzFqYt3uYt7EYIYR6/GJIIZQXZksICRSzBZBCSCH0GwqhFhbMWpi3e5i3seglhCUlJSgpKaEQEheYLSEkUMwWQAohhdBvKIRaWDBrYd7uYd7GYsS4KYREDbMlhASK2QJIIaQQ+o2MQui8q8+C+QrM21iYt7FQCN1DadEPZksICRSzBZBCSCH0G9mEUI2MBZxeMG9jYd7GwrzdQ2nRD2ZLCAkUswWQQkgh9BsKoRYWzJ5h3ldg3sai1zOEpaWlKC0t5TOExAVmSwgJFLMFkEJIIfQbCqEWFsyeYd5XYN7GwreMuofSoh/MlhASKGYLIIWQQug3sgmh+q5+fX09Dhw4gAMHDkizbpheMG9jYd7GYtQ6hLLlTWnRD2ZLCAkUswWQQkgh9BsZhTDUd/HVsGDWwrzdw7yNxQgh1AMKobwwW0JIoJgtgBRCCqHfUAi1sGDWwrzdw7yNhULoHkqLfjBbQkigmC2AFEIKod/ILIQNDQ04efIkTp48CYfDEZLjs2DWwrzdw7yNxQghdDgc0uVNadEPZksICRSzBZBCSCH0G5mFkOu0XYF5GwvzNha+VMY9lBb9YLaEkEAxWwAphBYQwoqKCixZsgRZWVno1q2bUgwEyvnz55GXl4cePXogOjoaPXr0wPz581FVVRWS8VIItbBg1sK83cO8jUUvIdy4cSM2btxIISQuMFtCSKCYLYAUQgsI4aRJk5QCQN0C4ezZs+jTpw+EEOjVqxemTp2KAQMGQAiBfv364dy5c0GPl0KohQWzFubtHuZtLFzmwz2UFv1gtoSQQDFbACmEFhDCpUuXYtGiRdi6dStOnz4Nm80WsBDm5ORACIG7775bU6DMmzcPQgjk5uYGPV4ZhdB5V58F8xWYt7Ewb2OhELqH0qIfzJYQEihmCyCF0AJC2JxAhfDUqVNo1aoVoqOj8e2332q21dXVoUuXLoiMjERlZWVQ45NNCNXIWMDpBfM2FuZtLMzbPZQW/WC2hJBAMVsAKYRhJISvvfYahBC4/fbb3W6fNWsWhBAoLi4OanwUQi0smD3DvK/AvI1Fr2cIt27diq1bt/IZQuICsyWEBIrZAkghDCMhnD9/PoQQeOKJJ9xuLywshBACCxYsCGp8FEItLJg9w7yvwLyNhW8ZdQ+lRT+YLSEkUMwWQAphGAlhVlYWhBBYtWqV2+1btmxRni8MBtmEUH1Xv76+Hnv37sXevXvR1NQUkuOzYNbCvN3DvI3FCCFsamqSLm9Ki34wW0JIoJgtgBTCMBLCO+64A0IIrF+/3u32srIyCCFwxx13tOh4znCaN5vNJp0QhvouvhoWzFqYt3uYt7EYIYR6QCGUF2ZLCAkUswWQQkgh9AiFsGWwYNbCvN3DvI2FQugeSot+MFtCSKCYLYAUwjASQk4ZdY+6iGtoaMCZM2dw5swZOByOkByfBbMW5u0e5m0sRgihw+GQLm9Ki34wW0JIoJgtgBTCMBJCvlTGPVy42z3M21iYt7HwpTLuobToB7MlhASK2QJIIQwjIeSyE+5hwewe5m0szNtY9BLCDRs2YMOGDRRC4gKzJYQEitkCSCEMIyFUL0zffPH5q3lhehbM7mHexsK8jYXLfLiH0qIfzJYQEihmCyCFUEIhLCgoQP/+/fHUU0+5bMvJyYEQApMnT9YUKHl5eRBCIDc3N+jxySiEzrv6LJivwLyNhXkbC4XQPeEiLcuXL0dWVhb69OmDDh06IDo6Gj169MAvfvELfPnllx73Ky4uRlpaGtq2bYv4+HhkZmZi165dIRlTuGRLCDEeswWQQmgBIdy2bRtGjBihtIiICAghNJ9t27ZN6Z+fn+9R7s6ePYvevXtDCIHevXtj2rRpGDhwIIQQ6Nu3L86dOxf0eGUTQjUyFnB6wbyNhXkbC/N2T7hIS0JCAtq0aYP09HRkZWUhKysL/fr1gxACrVu3xjvvvOOyj/M5+5iYGEyaNAnjxo1DVFQUIiMjsXnz5qDHFC7ZEkKMx2wBpBBaQAiLi4uVAsBTUz/3500IAeDcuXOYN28eunfvjujoaHTv3h15eXmoqqoKyXgphFpYMHuGeV+BeRuLHuO22+3Yvn07tm/fDrvdLmXe4SItn332GWpra10+LyoqghAC1157rebvxLnsUkJCAg4fPqx8Xl5ejujoaMTFxQV9jQyXbAkhxmO2AFIILSCEskEh1BLKcX+CghY3K43bE1bPGwDw5pstb1YatxtkyNuff+PB/DvnW0bdczVIi3OWzL59+5TPMjMzIYTAihUrXPo7H6lYtmxZUN97NWRLCNEHswWQQkgh9BvZhFB9V7+hoQEVFRWoqKhAU1NTSI5PIdQiU94ApBdC2fIOJyFsamqyfN7NuRqkJSkpCUIIHDx4EABQU1OjPJt//Phxl/47d+6EEAIZGRlBfe/VkC0hRB/MFkAKIYXQb2QTQj3u4quhEGqRKW8A0guhbHmHkxDqAYUwOP7whz8gIiICffv2hd1uBwDs2bMHQgh06dLF7T7OzOPj44P67nDPlhCiH2YLIIWQQug3FEItFEItMuUNgELoAwrhFSiE1uPFF19Ebm4u7rnnHgwYMABCCPzoRz9CRUWF0uftt9+GEAJDhw71eJy4uDgIIXDhwoWAxxJu2RJCjMNsAaQQUgj9RmYhbGhowPnz53H+/Hk4HI6QHJ9CqEWmvAGElRDKkHc4CaHD4bB83s0JN2m5/fbbNS9gS0xMxN///ndNn5KSEgghMGbMGI/H6datG4QQOHnypM/vdGbYvNlstrDKlhBiHGYLIIWQQug3Mguh1ddpCzchtHreAMJKCGXIO5yEkC+VsQ5VVVXYuXMnfvzjH0MIgeeff17ZRiEkhFgdswWQQkgh9BsKoRYjhPC3eN2lObdaYdxqZMobwBXZK3/Jc6MQhmTcBfjE7b/l3+J1CuH/D4UwOBoaGjB8+HBERETg888/B8Apo4QQ62O2AFIIKYR+QyHUQiHUIlPeACiEPqAQeoZCaE1efPFFCCGwaNEiAHypDCHE+pgtgBRCCqHfUAi1UAi1yJQ3AAqhDyiEnqEQWpPXXnsNQgjMmTMHgHbZiRMnTrj057IThBCzMVsAKYQUQr+RTQjVWL2ACwchVGP1vAFIL4RqrJ43hdA3FMLgyc3NhRACL730kvIZF6YnhFgZswWQQkgh9BsKoRYKoWesnjcACqEPKIRXsNvtKCsrQ1lZGex2u+Xzdkc4SMtnn32G7du3o6mpSfN5Q0MDXnnlFbRq1QoxMTH473//q2wrKyuDEAIJCQk4fPiw8nl5eTlsNhvi4uJQVVUV1LjCIVtCiDmYLYAUQgqh31AItVAIPWP1vAFQCH1AIbwCXypjDYqLiyGEQOfOnTFu3DjMmDEDP/nJT9C1a1cIIdCmTRv85S9/cdlv/vz5EEIgNjYWkyZNQmZmJqKiohAZGYnNmzcHPa5wyJYQYg5mCyCFkELoNykpKUhKSkJ1dXVIW2VlpS6FkPqufkNDA3bv3o3du3e73F0OFHUBV1lZGfJcqqursax6u8fGvEOU81eveW789x2SvPX4d2xk3s0FsKmpydJ5u2tJSUnSS8u///1vPP300xgzZgy6du2K1q1bo23bthgwYADmzZuHr7/+2uO+xcXFGD58OGJjYxEXF4fx48dj165dIRkXhZAQEihmCyCFkELoNykpKUrBolcLZcGsx118NeoCTtbGvJm3J5j3FfTOGjAmb0qLPlAICSGBYrYAUggphH5DIdTCglkL82beVmsUQm2jtOgDhZAQEihmCyCFkELoN3pNGVU3h8MRsvGqi7iGhgZcuHABFy5cCNl3OBwOXbMwojFv5u0J5n2F5kLocDikyzscpoxaFQohISRQzBZACiGF0G9ku+jpvU4b0cK8jYV5G4cRL5XRG9nO3zLBbAkhgWK2AFIIKYR+I9tFjwWzsTBvY2HexkEhJN5gtoSQQDFbACmEFEK/ke2ix4LZWJi3sTBvY3GKoPN/y5a3bOdvmTDicQo2NrbwaepHDcwWQAohhdBvZCsoWDAbC/M2FuZtHhRCosaIF66xsbGFT6uuvvLCM7MFkEJIIfQbGQsK5119GQs4GWHexsK8zUHGvGU8f8sChZCNjc2fRiG0DhTCAJC5oJCxgJMZ5m0szFtf7HY7duzYgR07dsBut0uZt8znb6vDKaNsbGy+WmVlJYXQglAIA0DmgkLGAk5mmLexMG994UtliDeYLSHEF9XV1RRCC0IhDADZLnrqu/r19fX49NNP8emnn8Jut5s9tLCEeRsL8zaO5gJot9uly1u287dMMFtCiC8ohNaEQhgAsl30ZLyLLzPM21iYt3GEQ9aynb9lgtkSQnxBIbQmFMIAkO2iFw5FnEwwb2Nh3sYRDlnLdv6WCWZLCPEFhdCaUAgDQLaLXvMirra2FrW1tWYPK2xh3sbCvI3DnRDKlrds52+ZYLaEEF9QCK0JhTAAZLvocZ02Y2HexsK8jYMvlSHeYLaEEF9QCK0JhTAAZLvosWA2FuZtLMzbOCiExBvMlhDiCwqhNbGMENbU1GDRokXo27cvbDYbunbtivvuuw8nTpzw6ziJiYleF8E8ePBg0GOV7aLHgtlYmLexMG9jUU8RpRASNcyWEOILCqE1sYQQ1tbWYuTIkRBCoGvXrpg6dSrS09MhhECXLl1w5MiRFh/LKYS5ublu26lTp4Ier2wXPRbMxsK8jYV5mweFkKhhtoQQX1AIrYklhHDhwoUQQmDUqFG4ePGi8vny5cshhEBGRkaLj+UUQj2R8aLnvKsvYwEnI8zbWJi3OciYt4znb1lgtoQQX1AIrYnpQlhfX4+OHTtCCIEvvvjCZfvgwYMhhEBFRUWLjkch9I6MBZzMMG9jYd760nwhehnzlvn8bXWYLSHEFxRCa2K6EH788ccQQqB3795uty9evBhCCOTn57foeBRC78hYwMkM8zYW5q0vfKkM8QazJYT4gkJoTUwXwhUrVkAIgSlTprjdvm3bNgghkJWV1aLjOYXwxRdfxEMPPYS8vDysW7cOZ86cCdmYnaE5CyJ1czgcSr+mpia3fYzuW1dXhx07dmDHjh344Ycf8P777+P9999HXV2dy75qnL8AeGpW6Mu8mTfzNq5vfX09Vq9ejdWrV6O2thZ1dXVe87ZKjmooLfrBbAkhvqAQWhPThXDBggUQQmDBggVut+/duxdCCAwbNqxFx/P0ltHY2Fhs2LAhJGNOSUlB165dlTvj6nbhwgWl3+7du932cbbz588rfSsqKrz2VQvt3r17vfY9efKk0vfAgQNYvXo1cnJykJOTgzlz5ij/e/Xq1Zr9muezfft2r9+jpqyszGtfdVG2Y8cOr33Vi1x/+umnXvsyb+bNvI3Le+/evS75zp07123eVs28Z8+elBadoBASQnxBIbQmpgvhAw88ACEEFi5c6Hb7119/DSEE+vbt26LjzZs3D6WlpTh27Bhqampw4MABPPbYY4iMjERERAS2bNnS4rE5w2nenMtiyFDAsWBm3sybeYcq74qKCowaNQqjRo1CQUEB1q2jEJIrUAgJIb6gEFqTsBNCT7z66qsQQqB///4t3sebECYnJytvNlS/4dA5vaqxsRH19fUufYLta7fb/e578eJFFBYWYvr06Vi6dCkmT56MKVOmYOXKlZg2bZrSsrOzlWI6Oztbs615s0rfGTNmKH2nT59uib5TpkxBamoqpk+fjiFDhuD6669H9+7dMXz4cEtmKHvew4cPR2JiIhITE7F06VIMGzYMw4cPx5QpUyyZocx533PPPUhNTUVqaipefPFFLF++HMuXL8fKlStx8eJFZRqpp6mbdXV1bs9ZRvZNTk6mtOgEhZAQ4gsKoTUxXQhDPWXUE01NTbjmmmsghMDRo0eDOpa7KaMlJSWaPqWlpR7vVm/cuFHTd+vWrR77huIOe0FBAUaNGoVevXohNTUVN954I2688UZMnz4d6enpSE9Px6233qoUqjk5ORg5cqSyrXnLyMjQ9B01apTHvrfccoum7+jRoz32vemmmzR9b7rpJo99R48erel7yy23eOw7atQoTd+MjAyPfUeOHKnpe+utt3rsm56erul72223IT09HampqejcuTN69eqFTp06IS4uDnFxcUhMTGTeOuTdo0cPtGvXDu3atUNqaiquv/56XH/99UhNTWXeIc47NTUVPXv2RM+ePZGWlob09HRkZWUhKysLRUVFWLduHbZv3645D23YsMHj+Wrr1q2avhs3bvTYt7S0VNO3pKTEY99NmzZp+m7atEnZ1rVrV0qLTlAICSG+oBBaE9OFMNQvlfHGqFGjIIRAeXl5UMeRTQidU+rURVx6ejpmzJjBglkHQUlLS1OK5k6dOiEhIQEJCQkUQp3yTkxMREJCAtq2bavJXv1vnXmHJm9npup8ndudU0YphFcvFEJCiC8ohNbEdCEM9bIT3khKSoIQAvv27QvqOJ7eMqrG2xvvgukbyJv3amtrsXr1akyfPh0rV65EQUEBCgoKsHr1amRnZytNXfypP3fX2Ndz32nTpiEtLU2ZzuicYpeWlibF+GXrm5qaisTERPTo0UMzDVqW8cvUd9q0aZgxY4bmXNJ8iqbdbjfkXBhoX0qLfjBbQogvKITWxHQhVC9Mv2fPHpft/i5M74kDBw4gIiICsbGxqK+vD+pYsl30GhsvrxWWk5ODwsJCLF68GIsXL8aaNWs0BR9baFp2drbyy0lqaioGDRqEQYMGIS0tzfSxhWNT/ypYWFiICRMmYMKECcqzb2yha2pJXL16NdasWYNDhw7h0KFDaGpqMvtU1yJkO3/LBLMlhPiCQmhNTBdCAFi4cCGEEBg9erTmH8fy5cshhEBGRoamf0FBAfr374+nnnpK8/m7776Ljz76yOX4+/btQ3JyMoQQyMvLC3q8sl301EJYUFCgKejMLjDDsTUXQvUURrPHFo5NLYQFBQXKdMfmv3CxBd+aC6H6zaLNf5WzKrKdv2WC2RJCfEEhtCaWEMLa2lqMGDECQgh07doVU6dOVf67S5cuOHLkiKZ/fn4+hBDIzc11+3liYiImrpOAwQAAIABJREFUTpyovDQlKioKQgiMHTsWNTU1QY9XtosehdD4oplCaFyjEBrXsrOzMWfOHMyZM4dCSFxgtoQQX1AIrYklhBAAampqsGjRIvTu3RvR0dG47rrrMHPmTBw/ftylrychLC8vx6xZszBo0CAkJCQgKioKnTp1wtixY7F+/XqXZ1sCRbaLHoXQ+KKZQmhcoxAa29Qvb6EQEjXMlhDiCwqhNbGMEMqEbBe9xsZGlJaWYs6cORRCA1p2djZuueUWzJkzh0JoQEtLS0OfPn3Qp08fCqEBjUJIPMFsCSG+oBBaEwphAMh60VMvQZGTQyE0onBuvgyC2WMKx6ZeJmH16tUUQp0bhZB4gtkSQnxBIbQmFMIAkPWiRyE0vnCmEOrfKITGtezsbMyePRuzZ8/mM4TEBWZLCPEFhdCaUAgDQNaLHoXQ2EYhNKZRCI1rfMso8QazJYT4gkJoTSiEASDbRa+xsRElJSWYPXs2CgsL8fzzz+P555/nOoQ6Fs2jR4/G7NmzkZqaisGDB2Pw4MEUQp1aWloaevXqhV69eqGwsBATJ07ExIkTuQ6hDs3dOoRHjhzBkSNHuA6hQVy6dAmbN2/GrFmz0K9fP9hsNsTGxmLw4MF49tlncfHiRY/7FhcXIy0tDW3btkV8fDwyMzOxa9eukI1N9mwJIfpDIbQmFMIAkO2ip37LqPqOvvMzttAXzc63jKalpWl+wTJ7bOHY1L/C8ldvfVtzIVwn4VVTtvN3c9avX68UU8nJyZgyZQrGjRuH9u3bQwiBpKQkVFZWuuw3f/58CCEQExODSZMmYdy4cYiKikJkZCQ2b94ckrHJni0hRH8ohNaEQhgAsl30KITGF80UQuMahdC4RiE0n9dffx0PPvggvvrqK83np06dwtChQyGEQHZ2tmZbWVkZhBBISEjA4cOHlc/Ly8sRHR2NuLg4VFVVBT022bMlhOgPhdCaUAgDQLaLnloIOWXUmKJZvQ4hp4zq29RCyCmj+jZOGbU25eXlEELAZrOhvr5e+TwzMxNCCKxYscJln7y8PAghsGzZsqC/P5yzJYSEBgqhNaEQBoBsFz0uTG980cyF6Y1rXJjeuMaXylibS5cuKYXWqVOnAAA1NTWw2WwQQuD48eMu++zcuRNCCGRkZAT9/eGcLSEkNFAIrQmFMABku+hRCI0vmimExjUKoXEtOzsbDz74IB588EEKoQXZv38/hBBo3bo16urqAAB79uyBEAJdunRxu4+zOIuPjw/6+8M5W0JIaKAQWhMKYQDIdtGjEBpfNFMIjWsUQmMbF6a3Lvfffz+EEJgwYYLy2dtvvw0hBIYOHepxv7i4OAghcOHChaC+P5yzJYSEBgqhNaEQBoBsF73GxkZs2rQJDz74IIXQgJadnY2bbroJDz74IIXQgJaWloY+ffqgT58+FEIDGoXQmrz77ruIiIhA69atsXfvXuXzkpISCCEwZswYj/t269YNQgicPHmyRd/lzLB5s9lsYZktISR0UAitCYUwAGQtKLgwvfGFMxem179xYXpjG4XQehw8eBDx8fEQQmDlypWabRRCQoiVoBBaEwphAKSkpCApKQnV1dW6NYfDEfJx6yWEM2bMwLRp06RueryRUi8hZN7aprcQMu8rzYhnCB0Oh67n1qSkpLCSlhMnTiAxMRFCCDz22GMu2zlllBBiJSiE1oRCGAApKSnKP2a9mvr/JKFCLyGcNm2a7nno3aZNmyaNEDJvY4WQeWuFUH3+0EMI1cWCXi1cpOXcuXPK9ei+++5zeyORL5UhhFgJCqE1oRAGgGxCqH6GsLCwEIsXL8bixYtDtg4hC2bXoln9DOGgQYMwaNAgCqFOeaufISwsLMSECRMwYcKEkP0qxrw9C+GaNWtw6NAhHDp0KGTrEFIIW8bFixeRnp4OIQTuvvtu2O12t/3Uy06cOHHCZTuXnSCEGAmF0JpQCANArymjlZWVbv9PEizqt4yq7+g7PwtlwTx58mTTp8e1tE2ePFkXQVG/ZTQtLU3zCxbz1kcInb/C6vFcLPP2LITrdLhqqouFyspKThl1Q11dHW677TYIITBu3DjNIvTu4ML0hBCrQCG0JhTCANDroufp/yTBYqQQhrLQ17vpNW4jhZB5GyuEV3veRguhHlPnZZcWu92OrKwsCCFw880349KlSz73KSsrgxACCQkJOHz4sPJ5eXk5bDYb4uLiUFVVFfTYZM+WEKI/FEJrQiEMAJmFsLCwEEuWLMGSJUt0mTJ6tRfMzqJZvQ7hkCFDMGTIEF2mjDJvrRAWFhbiZz/7GX72s5/pMmX0as/b3ZTRY8eO4dixY7pMGaUQurJy5Uoln6ysLOTm5rptZ8+e1ew3f/58CCEQGxuLSZMmITMzE1FRUYiMjMTmzZtDMjbZsyWE6A+F0JpQCANAZiHUYx1CFsyuRbOeC9Mzb23Te2F65n2lGf1SGQqhK/n5+S16TvLo0aMu+xYXF2P48OGIjY1FXFwcxo8fj127doVsbLJnSwjRHwqhNaEQBgCFkAWzr6KZQmjcuCmExo07Ozsbs2fPxuzZsymExAVmSwjxBYXQmlAIA4BCyILZV9FMITRu3BRCY8et98L0FEJ5YbaEEF9QCK0JhTAAZBTCkpISzJ49m0JowLizs7MxevRozJ49m0JowLjT0tLQq1cv9OrVi0JowLgphMQTzJYQ4gsKoTWhEAaAbELoxIiF6VkwawtnvRemZ97GLkzPvCmExDPMlhDiCwqhNaEQBgCFkAVzSwtnCqH+46YQGjfu7OxszJkzB3PmzOEzhMQFZksI8QWF0JpQCAOAQsiCuSWNQmjMuCmExo2bbxkl3mC2hBBfUAitCYUwAGQTwsbGRpSWlmLOnDkoLCxEfn4+8vPzuQ6hjs8Q3nLLLZgzZw5SU1MxcOBADBw4kEKo4zOEffr0QZ8+fVBYWIi77roLd911F9chNGgdwgMHDuDAgQNch5AwW0KITyiE1oRCGAAyCqHzLaPqO/rOz6xYeMpaMDuLZudbRtPS0jS/YFl53LLmrf4VNlS/ejNv9625EK7T4apJIZQXZksI8QWF0JpQCAOAQsiC2VfRTCE0btwUQuPGTSEk3mC2hBBfUAitCYUwAGQWwqKiIrzwwgt44YUXsHbtWssWnrIWzM6iWb0O4Y033ogbb7yRU0YNEMKioiJkZWUhKyuLU0YNEMK1a9fi5MmTOHnyJBwOR0jOVxRCeWG2hBBfUAitiWWEsKamBosWLULfvn1hs9nQtWtX3HfffThx4oTfxzp//jzy8vLQo0cPREdHo0ePHpg/fz6qqqpCMlaZhZDrEOo/bi5Mb+y4uTC9cePmS2WIN5gtIcQXFEJrYgkhrK2txciRIyGEQNeuXTF16lSkp6dDCIEuXbrgyJEjLT7W2bNn0adPHwgh0KtXL0ydOhUDBgyAEAL9+vXDuXPngh4vhZAFs6+imUJo3LgphMaNOzs7GzNnzsTMmTMphMQFZksI8QWF0JpYQggXLlwIIQRGjRqFixcvKp8vX74cQghkZGS0+Fg5OTkQQuDuu+/WFCjz5s2DEAK5ublBj5dCyILZV9FMITRu3BRCY8fNhemJJ5gtIcQXFEJrYroQ1tfXo2PHjhBC4IsvvnDZPnjwYAghUFFR4fNYp06dQqtWrRAdHY1vv/1Ws62urg5dunRBZGQkKisrgxqzjEK4ceNGzJw5k0JowLizs7MxatQozJw5k0JowLjT0tLQq1cv9OrVi0JowLgphMQTzJYQ4gsKoTUxXQg//vhjCCHQu3dvt9sXL14MIQTy8/N9Huu1116DEAK333672+2zZs2CEALFxcVBjFg+IXTChemNHTcXpjdm3FyY3thxUwiJJ5gtIcQXFEJrYroQrlixAkIITJkyxe32bdu2QQiBrKwsn8eaP38+hBB44okn3G4vLCyEEAILFiwIaswUQhbMLS2cKYT6j5tCaNy4s7OzMXfuXMydO5fPEBIXmC0hxBcUQmtiuhAuWLDAq6Tt3bsXQggMGzbM57GysrIghMCqVavcbt+yZYvyfGEwUAhZMLekUQiNGTeF0Lhx8y2jxBvMlhDiCwqhNTFdCB944AEIIbBw4UK327/++msIIdC3b1+fx7rjjjsghMD69evdbi8rK4MQAnfccUeLxuYMp3mz2WxSCWFjYyO2bt2KuXPnorCwEM888wyeeeYZrFmzxrKFp6wFs7NozsjIwNy5c5GamoqBAwdi4MCBFEIdnyHs27cv+vbti8LCQtx555248847uQ6hAUK4Zs0a7N27F3v37kVTU1NIzlcUQnlhtoQQX1AIrQmF0AvhJITOt4yq7+g7P7Ni4Slrwewsmp1vGU1LS9P8gmXlccuat/pX2FD96s283bfmQrhOh6smhVBemC0hxBcUQmtiuhByyugVKITyF8zOoplCaNy4KYTGjZtCSLzBbAkhvqAQWhPThZAvlbmCEUJYVFSEZcuWYdmyZVi7dq1lC09ZC2Zn0axeh3Do0KEYOnQop4waIIRFRUWYPHkyJk+ezCmjBgjh2rVrcebMGZw5cwYOhyMk5ysKobwwW0KILyiE1sR0IeSyE1fgwvTyF8zOopkL0xs3bi5Mb9y4+VIZ4g1mSwjxBYXQmpguhOqF6ffs2eOyPdCF6ZsvPn+1L0xPITRu3BRCY8dNITRu3NnZ2bj33ntx7733UgiJC8yWEOILCqE1MV0IAWDhwoUQQmD06NGafxzLly+HEAIZGRma/gUFBejfvz+eeuopl2Pl5ORACIHJkydrCpS8vDwIIZCbmxv0eCmELJh9Fc0UQuPGTSE0dtxcmJ54gtkSQnxBIbQmlhDC2tpajBgxAkIIdO3aFVOnTlX+u0uXLjhy5Iimf35+vke5O3v2LHr37q1MQ502bRoGDhwIIS6/qfTcuXNBj1dGIdywYQPuvfdeCqEB487OzsbIkSNx7733UggNGHdaWhpuuOEG3HDDDRRCA8ZNISSeYLaEEF9QCK2JJYQQAGpqarBo0SL07t0b0dHRuO666zBz5kwcP37cpa83IQSAc+fOYd68eejevTuio6PRvXt35OXloaqqKiRjlU0InXBhemPHzYXpjRk3F6Y3dtwUQuIJZksI8QWF0JpYRghlgkLIgrmlhTOFUP9xUwiNG3d2djbmzZuHefPmYc2aNRRCooHZEkJ8QSG0JhTCAKAQsmBuSaMQGjNuCqFx4+ZbRok3mC0hxBcUQmtCIQwA2YTQbrdj+/btmDdvHoqKivD000/j6aefxpo1ayxbeMpaMDuL5ltvvRXz5s1DamoqBgwYgAEDBlAIdXyGsF+/fujXrx+Kioowfvx4jB8/nusQGiCEa9asQUVFBSoqKtDU1BSS8xWFUF6YLSHEFxRCa0IhDADZhFD9llH1HX3nZ1YsPGUtmJ1Fs/Mto2lpaZpfsKw8blnzVv8KG6pfvZm3+9ZcCNfpcNWkEMoLsyWE+IJCaE0ohAFAIWTB7KtophAaN24KoXHjphASbzBbQogvKITWhEIYADILYVFREV5++WW8/PLLWLt2rWULT1kLZmfRrF6HcNiwYRg2bBinjBoghEVFRbjnnntwzz33cMqoAUK4du1anD9/HufPn4fD4QjJ+YpCKC/MlhDiCwqhNaEQBoDMQsh1CPUfNxemN3bcXJjeuHHzpTLEG8yWEOILCqE1oRAGAIWQBbOvoplCaNy4KYTGjZtCSLzBbAkhvqAQWhMKYQBQCFkw+yqaKYTGjZtCaOy4uTA98QSzJYT4gkJoTSiEAUAhZMHsrVEIjR03hdDYcVMIiSeYLSHEFxRCa0IhDADZhNAJF6Y3dtxcmN6YcXNhemPHTSEknmC24ccnKJCu4c03pWxm5xZQ1gFAIbQmFMIAoBCyYG5p4Uwh1H/cFELjxp2dnY1HH30Ujz76KNasWUMhNImKigosWbIEWVlZ6Natm5KXL4qLi5GWloa2bdsiPj4emZmZ2LVrV8jGFQ7ZEi1mCweF0NotECiE1oRCGAAUQhbMLWkUQmPGTSE0btx8qYw1mDRpkpKRunlj/vz5EEIgJiYGkyZNwrhx4xAVFYXIyEhs3rw5JOMKh2yJFrOFg0Jo7RYIFEJrQiEMgJSUFCQlJaG6ujqkrbKyUpdCyG63o6ysDI8++iiKiorw5JNP4sknn8SaNWtCXnhOnjwZ06ZNk6JNnjxZt2cIb7vtNjz66KNITU1V/k+mhxAy78vPEPbv3x/9+/dHUVERxo0bh3HjxumyDuHVnndzIVyzZg12796N3bt3o6mpKSTnK3WxUFlZGfLzbFJSkvTSsnTpUixatAhbt27F6dOnYbPZvAphWVkZhBBISEjA4cOHlc/Ly8sRHR2NuLg4VFVVBT0uCmH4oS7+f4vXpWgFJ94Eyl+Sp735JgpOvGl6bi1tFMLwhEIYACkpKW7vzoay6fVSGfUdfednoSyYZW2hFkLnS2XS0tI0v2Axb32E0PkrbKh+9WbeLRPCdTpcNdXFgl4t3KTFlxBmZmZCCIEVK1a4bMvLy4MQAsuWLQt6HBTC8INCSCGkEF4dUAgDgELIgplCaJ28KYTG5U0htCbehLCmpkbZfvz4cZftO3fuhBACGRkZQY+DQhh+UAgphBTCqwMKYQDoNWVU3RwOR8jGqxbCoqIirFq1CqtWrcLatWtDUiTOmDHD9OlxwbZQTS9sLoSpqakYPnw4hg8fHrIpo8zbsxAWFRVh6tSpmDp1asi+g3n/f+2dbWxU55n+b7DxYArFlkPARYTWwWAsEkoKdogLpCkEyGZlOym2gQ+QZaGbCoHiwv8LwrBplWS1SyHBvEQsolC5rVBjhEtEkaW4G96ERArpkg3mRSjBdIGIIMBhPB57rv+H7oxn7DPDzJk5zzPPmesn3VIz88zxw2X3PPfvzHmJLoS7d+/G/fv3cf/+/ZTtswKBgKP7VjecMtqfWEJ47tw5iAhGjRpl+X6wOcvPz096HhRC90EhpBBSCDMDCqENTFv0nH4OIWtg0+zkcwhZkeX0cwhZfaXipjJOY9r+Ox5iCeHhw4chIpg2bVrUz+fl5UFEcP/+/aTm4cZsMx0KIYWQQpgZUAhtYNqiRyFU3zRTCNUVhVBdUQjTk1hC2NTUBBFBRUVF1M8HH11x48aNuH5eMMP+5fF4XJdtpkMhpBBSCDMDCqENTGsoKITqm2YKobqiEKqtcBGkEKYHFELiFBRCCiGFMDOgENrAtIaCQqi2KIRqi0KotsJvSkUhTA94yihxCgohhZBCmBlQCG1g4qLn9/tDR/aDjR2F0LlavHgxdu7c6ciD6VmRVVZWhhkzZmDGjBmOPJieFVkUwvSDN5UhTkEhpBBSCDMDCqENTF30gg1csLGjEDrfOFMIna/wx3pQCJ2txYsXo76+HvX19di1axeFME2I97ETHR0dA97nYydILCiEFEIKYWZAIbSBqYsehVBtUQjVFIVQXfGmMukJH0xPnIJCSCGkEGYGFEIbmLbo9fT0oK2tDfX19dixYwfWr1+P9evXY9euXdobTDfW4sWLMXfuXNTX12P69OmYPHkyJk+eTCF0qGbMmIGSkhKUlJRgx44dmDdvHubNm0chdKD6C+GuXbtw/PhxHD9+HD09Pbp3dXFh2v47Hh4lhK2trRARFBQU4NKlS6HXT506BY/Hg7y8PNy9ezfpebgx20yHQkghpBBmBhRCG5i26IXfVCb8iH7wNVbqm+bgTWVmzJgR8Q2W7rm5scK/heW33s5WfyF838BV07T9txVHjhxBeXl5qAYNGgQRiXjtyJEjEZ9Zu3YtRATDhg1DZWUlFi5ciOzsbGRlZeHQoUMpmZcbsiWRUAgphBTCzIBCaAPTFj0KofqmmUKoriiE6opCmB7s27cv1FBFq3379ll+7gc/+AGGDRuGvLw8LFiwACdPnkzZvNyQLYmEQkghpBBmBhRCG5i26PUXwsbGRjQ2NlIIHWyaw4Vw+vTpmD59OoXQoeovhHV1dairq9M+LzeWlRB6vV54vV7du7m4MW3/bRLM1n1QCCmEFMLMgEJoA9MWPT6HUH3TzOcQqis+h1Bd8aYyJBbM1n1QCCmEFMLMgEJoA9MWPQqh+qaZQqiuKITqikJIYsFs3QeFkEJIIcwM0kIIT5w4gYULFyI/Px/f+ta3MGPGDOzfvz/h7Tzquora2tqUzNe0RY9CqL5pphCqKwqh2go/5ZxCSMJhtu6DQkghpBBmBtqF8A9/+AOysrIwaNAgzJkzB6+++iry8vIgIvj5z3+e0LaCQjh16lQsW7ZsQO3cuTMlczZt0aMQqi0KodqiEKqt8JtSUQhJOMzWfVAIKYQUwsxAqxDeuXMH3/72tyEi+OCDD0Kv37x5ExMmTICIoK2tLe7tBYVw06ZNqZ9sGCYuel6vF42NjXwwvaKqq6tDY2MjH0yvoMrKykI37uGD6Z0vCiGJBrN1HxRCCiGFMDPQKoT/9m//BhFBZWXlgPeam5shInj55Zfj3h6FMDbBBi7Y2FEInW+cKYTOV/hjPSiEztbixYuxfv16rF+/Hrt27aIQkgiYrfugEFIIKYSZgVYhnD17NkQEv/nNbwa85/P5MHToUAwdOjTuW5pTCGNDIVRbFEI1RSFUV7ypDIkFs3UfFEIKIYUwM9AqhCNHjoSI4LPPPrN8f/r06RARfPrpp3FtLyiEL7/8MtatW4dVq1ahoaEBf/7zn1M57VBofr9/QAUCgdC43t5eyzGqx3Z1daGtrQ319fXYunUr1qxZgzVr1qCxsRGLFy+OqP7NX6xKh7FLliwJjV2yZElajK2trcXcuXNRX1+PZ555BhMnTsTEiRMxffr0tMzQ9LynT5+OkpISlJSUYOvWrXj++efx/PPPo7a2Ni0zNDnvuro6LFmyBEuWLMH27dvR2NiIY8eO4dixY+jq6rLcH4XT09MTc9+lYiylxTmYrfugEFIIKYSZgTYhvHfvXugP4t69e5ZjqqqqICJoaWmJa5ux7jI6Z84c3Lx5MyVzLy0tRWFhIcKvpQnW/fv3Q+NOnz5tOSZYX3/9dWjs2bNnY469fft2aOz58+djjr1x40Zo7IULF0LfBJaVlWH27Nmhb1CWLFkS8e3Ks88+G9Gs/uhHP4p4v3+Fj33hhRdijg1vhOfOnRtzbPhDxefNmxdzbE1NTWjs/PnzY479yU9+Ehq7YMGCmGNfffXV0NiXXnop5tjq6urQ2H/4h38IfStYVlaGUaNGoaCgAAUFBRg/fjzzdiDv8ePHhzKePXt2xDeyzDu1eS9cuHDAv/lnP/tZ6BvD/vuivXv3Ruw7jx49GnPfFU5ra2vMseGi19bWFnNs+Fkm3/3udyktDkEhdB8UQgohhTAz0CaEN27cCP1BRDvVaOnSpRARNDU1xbXNP/3pT9i8eTPOnTuHe/fu4ebNm2hpaUFJSQlEBNOnT0dPT0/ccwyG0788Hg+FkA1zVEGhEKrNm0KoLu/58+ejqKgIRUVFqK2tpRCSCCiE7oNCSCGkEGYGSQlhVVUVJk2alFCdOXMGgDNCGI0HDx5g4sSJEBH89re/jftzsYRw8uTJ8Hq9ERV+uqbf74fP5xswJtmxPT09CY998OBB6NlhHR0d2LJlC7Zt24YHDx6EPhc83SuI3+9HV1dXzJ+TDmOZN/Nm3uryvnfvHurq6lBXV4fbt2/jzp07A/KOdupotH+v6rGTJ0+mtDgEhdB9UAgphBTCzCApIZw6dWrMB8FbVfAxEk6cMhqLxsZGiAiWLVuW9LasThntL63Nzc1Rj1bv378/YmxLS0vUsak4wr59+3bMnDkTM2fORF1dHaqrq1FdXY0dO3aEPnf06NGIz+7duzfqz+j/+9i/f3/Usc3NzRFjm5qaoo49ePBgxNiDBw9GHcu8mTfzVp93+HMeg9cS9s873bMuLCyktDgEhdB9UAgphBTCzMBVN5WJxbFjxyAiePHFF5PelmlCGH7KaPgNIsJP8Ur3Js6Uhpl5M2835x0t6/C80z1rCqFzUAjdB4WQQkghzAzS9rET3d3dCT92Iha///3vISKorq5OelvR7jIaTqw73iUz1s6d97xeL3bu3Int27dHnEYX/rn+11Y6NX/TxjJv5u3msYnmHS3r8LzTPWtKi3MwW/dBIaQQUggzA1c9mD4WixYtgojgF7/4RdLbMm3R8/v9oaPjPp8P7e3taG9vR29vr+6puRLmrRbmrY7wrP1+P3p7e43L27T9t0kwW/dBIaQQUggzA61CeOfOHXz729+GiOCDDz4IvX7r1i1MmDAh4prDcII3qOno6Ih4/a233sJXX30V8Vp3dzc2b94MEUFubu6Az9jBtEUvvInzer0RDR1JPcxbLcxbHf2FsP9/m4Bp+2+TYLbug0JIIaQQZgZahRAA/vCHP2Dw4MEYNGgQfvSjH+EnP/kJ8vLyICKor6+3ntj//SFdu3ZtwOsejwcVFRWoq6vDSy+9hO985zsQEQwdOjRCOpPBtEWPDbNamLdamLc6/H4/mpub0dzcTCEkA2C27oNCSCGkEGYG2oUQAE6cOIEFCxYgLy8Pw4YNw/Tp0/HrX/866vhoQtjQ0IB58+bhiSeeQG5uLoYOHYoJEybgpz/9KS5evJiy+Zq26LFhVgvzVgvz1geFkITDbN0HhZBCSCHMDNJCCE3DtEUv/Kg+G2bnYd5qYd76oBCScJit+6AQUggphJkBhdAGJi96JjZwJsO81cK81WJi3ibvv9MdZus+KIQUQgphZkAhtIHJi56JDZzJMG+1MG9n8fv9aGpqQlNTE68hJANgtu6DQkghpBBmBhRCG5i86JnYwJkM81YL83YW3mWUxILZug8KIYWQQpgZUAhtYNqiF35U3+fz4erVq7h69aoxzw0zDeatFuatDqvnEJqWt2n7b5Ngtu6DQkghpBBmBhRCG5i26Jl4FN9kmLdamLc63JC1aftvk2C27oNCSCGkEGYGFEIbmLb9ZraOAAAgAElEQVTouaGJMwnmrRbmrQ43ZG3a/tskmK37oBBSCCmEmQGF0AamLXrhTRxPqXMe5q0W5q0OnjJKYlFaWorCwlLtjRwrdfXz9z8K1cvvnzSi6t45g/f/3zFzasUZ1L1zRntu8Vb434Sdv6n33uuCyEqIrMR773WFXl+6NL1K9//3VFdhIYUwYUxrKPjgbrUwb7Uwb3XwpjIkFhRC9xWFkEJIIcyMohDawLSGgg2zWpi3Wpi3Ovx+Pw4ePIiDBw9SCMkAKITuKwohhZBCmBlFIbSBaQ0FG2a1MG+1MG99UAhJOBRCd1fd++3G1PtvnTGnTMs2yb8jCmF6FoXQBqY1FOFH9dkwOw/zVgvz1geFkIRDIWSxWI8qCmF6FoXQBiY3FCY2cCbDvNXCvNViYt4m77/THQohi8V6VFEI07MohDYoLS1FSUkJOjs7HatAIODI3J1o4AKBgKNZqCjmzbyjwbz7UHENodN5l5SUUAgdgkLIYrEeVRTC9CwKoQ1KS0tDz1Bxqjo7Ox89ERs40cB1dnY6ngfz7oN5R4d5O5u3iruMqsibQugMFEIWi/WoohCmZ1EIbWCaEIYf1ff5fGhvb0d7e3vKnhvGhjkS5s28062cEsLe3l4j86YQOgOFkMViPaoohOlZFEIbOHXK6K1btxxrmJ28zie8gbt165b20+OYd3oW8zY/bxXXDDqdN08ZdQ4KIYvFelRRCNOzKIQ2cOqmBOGNkKkNcyrn7TTMWy3MWy1OzFu1EDqRd6bfVObhw4fYuHEjiouL4fF4UFhYiNdeew0dHR1Jb5tCyGKxHlUUwvQsCqENTBZCn8+HL774Al988YUjp3hlesMMMO9oMG+1qBDC3t5e4/LOZCH0er149tlnISIoLCxETU0NysrKICIYNWoUrl69mtT2S0tLMWbMZLz3XheLxWJZ1r//+z0KYRoWhdAGJguhE89pY8McCfO2hnmrRYUQOn1TGQphatmwYQNEBDNnzsSDBw9Cr2/ZsgUigjlz5iS1/b9fX58XavZYLBYrVlEI06cohDagEEbChjkS5m0N81aLU0LY1NSEpqYmCqFh+Hw+jBw5EiKCv/zlLwPef/rppyEiOHv2rO2fQSFksViJFIUwfYpCaAMKYSRsmCNh3tYwb7WomDeF0Bw++ugjiAiefPJJy/fffPNNiAg2bdpk+2fwlFEWi5VI7d4doBCmSVEIbWCiEAaP6rNh7oN5q4V5q4VCaE2mCuHWrVshIli0aJHl+0eOHIGIoLq62vbP4E1lWCyW3dItgBRCCmHCmCaE4ZjYwDkF81YL81YL87YmU4XwjTfegIjgjTfesHz//PnzEBE888wztn8GhZD1qFq69L+wdOl/oazsP0MVfE333KJV+FyDpXtObsv47/NOr9Kdh+qiENqAQhgJG+boMO8+mLdanLqGsLm5Gc3NzbyG0DBWrlwJEcGGDRss3798+TJEBMXFxY/cVjDD/vX3x1hQCFnRy0RZoRCqmnd6le48VBeF0AYUwkjYMEeHeffBvNXCu4xaQyGkELL0lYmyQiFUNe/0Kt15qC4KoQ1ME8Lwo/o+nw8XLlzAhQsXjHlumFMwb7Uwb7Woeg6haXlnqhDylFFWOpSJskIhVDXv9CrdeaguCqENTBTCVB/FD4cNcyTM2xrmrRYVQugEFEJn4E1lWOlQJsoKhVDVvNOrdOehuiiENqAQRsKGORLmbQ3zVguF0JpMFUJVj52gELJYLDulWwAphBTChDFZCLu7u3Hjxg3cuHEDgUAgJdtnwxwJ87aGeatFhRAGAgHj8s5UIQx/MP25c+cGvJ+qB9NTCFkslp3SLYAUQo1C2NnZiQMHDmD16tUoKytDTk5O0kcoAaClpQWzZ8/GiBEjMGLECMyZMwdHjhxJzaRhthDyOW19MG+1MG+18KYy1mSqEALAhg0bICJ47rnnIrLdsmULRARz5sxJavsUQhaLZbd0CyCFUKMQnjt3LrTwh1cyQhi8TiI7OxsLFixAZWUlcnNzISLYvn17SuZNIYyEDXMkzNsa5q0Wp4Rw//792L9/P4XQQLxeL8rLyyEiKCwsRE1NTei/R40ahatXrya1fQohi8WyW7oFkEKoUQivXLmCFStWYPfu3fjkk0+Svobh4sWLyMrKgsfjwalTp0Kvt7e3o6CgANnZ2bh8+XLS86YQRsKGORLmbQ3zVgsf82FNJgshADx8+BAbN27Ek08+iZycHIwZMwbLly/H9evXk942hZDFYtkt3QJIIUyjawjffvvtpITw9ddfh4hg7dq1A9771a9+BRHB6tWrk5ylmUIYPKrPhrkP5q0W5q0WCqE1mS6ETkIhZLFYdku3AFIIXSSETzzxBEQEx48fH/Del19+CRHB+PHjk5skzBPCcExs4JyCeauFeauFeVtDIXQOCiGLxbJbugWQQugSIbx79+4jm4jHHnsMIoJ79+4lNU8KYSRsmKPDvPtg3mpx6hrClpYWtLS08BpCMgAKIYvFslu6BZBC6BIh/PTTTyEiyM/Pjzrm+9//PkQEf/3rX5OYJYWwP2yYo8O8+2DeauFdRq2hEDoHhZDFYtkt3QJIIXSJEJ48eRIigrFjx0YdU1FRARHByZMn49pmsHHoXx6PxyghDD+q7/P5cP78eZw/fx69vb0p2T4b5kiYtzXMWy0qhLC3t9e4vCmEzkEhZLFYdku3AFIIkxDCqqoqTJo0KaE6c+ZM1O1RCJ2/C2OqjuKHw4Y5EuZtDfNWiwohdAIKoblQCFkslt3SLYAUwiSEcOrUqaGFO95qa2uLuj2eMsqGWSXMWy3MWy0UQmsohM5BIWSxWHZLtwBSCF1yyihvKhOd8Cauu7sbt2/fxu3btxEIBFKyfTbMkTBva5i3WlQIYSAQMC5vCqFzUAhZLJbd0i2AFEKXCCHAx05Egw/utoZ5q4V5q4U3lbGGQugcFEIWi2W3dAsghdBFQsgH01vDhtka5q0W5q0Wp4Rw79692Lt3L4WQDIBCyGKx7JZuAaQQGiiEwRvUdHR0RLx+8eJFZGVlwePx4PTp06HXL126hIKCAmRnZ+Py5ctJz5NCGAkb5kiYtzXMWy18zIc1FELnoBCyWCy7pVsAKYSahbCqqgrl5eUoLy/HuHHjQncKDb5WVVU1cGL/1yxcu3ZtwHvBbwKzs7OxcOFCVFZWIjc3FyKC9957LyVzNlEIg0f12TD3wbzVwrzVQiG0hkLoHMyWEGIX3ULUvzKNWPtvJUI4fvz4mHcltbrmL5YQAkBLSwtmzZqF4cOHY/jw4Zg1axb++Mc/pmzOpglhOCY2cE7BvNXCvNXCvK2htDgHsyWE2EW3AFII0+iUUVOgEEbChjk6zLsP5q0WJ+bd09ODo0eP4ujRo+jp6TEyb0qLczBbQohddAsghZBCmDAUwkjYMEeHeffBvNXCu4xaQ2lxDmZLCLGLbgGkEFIIE8Y0IQw/qt/d3Y2zZ8/i7Nmz6O3tTcn22TBHwrytYd5qUSGEvb29xuVNaXEOZksIsYtuAaQQUggTxjQhdOIofjhsmCNh3tYwb7WoEEInoBCaC7MlhNhFtwBSCCmECUMhjIQNcyTM2xrmrRYKoTWUFudgtoQQu+gWQAohhTBhTBbC7u5ufP311/j6668RCARSsn02zJEwb2uYt1pUCGEgEDAub0qLczBbQohddAsghZBCmDAmCyGf09YH81YL81YLbypjDaXFOZgtIcQuugWQQkghTBgKYSRsmCNh3tYwb7VQCK2htDgHsyWE2EW3AFIIKYQJQyGMhA1zJMzbGuatFj7mwxpKi3MwW0KIXXQLIIWQQpgwFMJI2DBHwrytYd5qoRBaQ2lxDmZLCLGLbgGkEFIIE8Y0IQzHxAbOKZi3Wpi3Wpi3NZQW52C2hBC76BZACiGFMGEohJGwYY4O8+6DeavFiXn39PSgtbUVra2t6OnpMTJvSotzMFtCiF10CyCFkEKYMBTCSNgwR4d598G81cKbylhDaXEOZksIsYtuAaQQUggTprS0FCUlJejs7Exp3bp1y5FGKPyofnd3N06fPo3Tp0+jt7c3JdsPb+Bu3bqV8lycKubNvOOBeffRXwB7e3uNy7ukpITS4hAUQkKIXXQLIIWQQpgwpaWloYbFqUplw+zEUfxwwhs4U4t5M+9oMO8+nM4aUJM3pcUZKISEELvoFkAKIYUwYSiEkbBhjoR5M+90KwphZFFanIFCSAixi24BpBBSCBPGqVNGwysQCKRsvuFNXHd3N+7fv4/79++n7GcEAgHtp8cxb7OKeZuZd38hDAQCxuXNU0adg0JICLGLbgGkEFIIE8a0Rc/p57SRSJi3Wpi3OlTcVMZpTNt/mwSzJYTYRbcAUggphAlj2qLHhlktzFstzFsdFEISC2ZLCLGLbgGkEFIIE8a0RY8Ns1qYt1qYt1qCIhj836blbdr+2ySYLSHELroFkEJIIUwY0xY9NsxqYd5qYd76oBCScJgtIcQuugWQQkghTBgTF73gUX0TGzgTYd5qYd56MDFvE/ffpsBsCSF20S2AFEIKYcKYvOiZ2MCZDPNWC/N2lp6eHrS1taGtrQ09PT1G5m3y/jvdYbaEELvoFkAKIYUwYUxe9Exs4EyGeauFeTsLbypDYsFsCSF20S2AFEIKYcKYtuiFH9X3+Xw4fvw4jh8/jp6eHt1TcyXMWy3MWx39BbCnp8e4vE3bf/ens7MTBw4cwOrVq1FWVoacnByICDZt2vTIz16/fh3Lly9HYWEhPB4PiouL0dDQAK/Xm5K5mZ4tIUQfugWQQkghTBjTFj0Tj+KbDPNWC/NWhxuyNm3/3Z9z585BRAbUo4Tw8uXLeOyxxyAimDJlCmpqalBUVAQRQUVFBbq6upKem+nZEkL0oVsAKYQUwoQxbdFzQxNnEsxbLcxbHW7I2rT9d3+uXLmCFStWYPfu3fjkk0/w5ptvxiWEFRUVEBGsWbMm9Jrf70d1dXXc3zA+CtOzJYToQ7cAUggphAlj2qLXv4nzer0pO0WIDIR5q4V5q8NKCE3L27T996N4++23Hyl0Z86cgYjg8ccfH/BN4M2bNzFkyBDk5+cnLfluy5YQog7dAkghpBAmjGmLHp/TphbmrRbmrQ7eVCb9iEcIGxoaICJYsWKF5fsvvPACRARtbW1JzcVt2RJC1KFbACmEFMKEMW3RY8OsFuatFuatDgph+hGPEFZWVkJEsGPHDsv3161bBxHBu+++m9Rc3JYtIUQdugWQQqhRCJO5W5oV+/bts7zYPli1tbUpmbdpix4bZrUwb7Uwb7WEnyJKIdRPPEI4bdo0iAgOHz5s+f62bdsgIqivr09qLm7LlhCiDt0CSCHUKIR275YWjaAQTp06FcuWLRtQO3fuTMm8TVv02DCrhXmrhXnrg0Kon3iEsLi4GCKC1tZWy/f37NkDEcHKlSvj+pnBDPuXx+NxVbaEEHXoFkAKoUYhtHu3tGgEhTAVd0uLhYkNRfCovokNnIkwb7Uwbz2YmLfu/XdVVRUmTZqUUJ05cybq9iiEhBA3oFsAKYRpdA1hPAtbLCiEj8bEBs5kmLdamLez9H8QvYl5695/T506NealDVYV62YvPGWUEOIGdAsghZBCmDAmL3omNnAmw7zVwrydhTeVST94UxlCiBvQLYAUQhcK4csvv4x169Zh1apVaGhowJ///OeUzjMYWrAhCq9AIBAa19vbazlG9diuri60tbWhra0N9+7dw7Fjx3Ds2DF0dXUN+Gw4wW8AolU6jGXezJt5qxvr8/mwc+dO7Ny5E16vF11dXTHzTpccw3GbtPCxE4QQN6BbACmELhRCq5ozZw5u3ryZknmWlpaisLAwdGQ8vO7fvx8ad/r0acsxwfr6669DY8+ePRtz7O3bt0Njz58/H3PsjRs3QmMvXLiAnTt3YunSpVi6dCn+5V/+JfS/d+7cGfG5vXv3Rvw7jx49GvPnhNPa2hpzbHhT1tbWFnNs+EOujx8/HnMs82bezFtd3ufPnx+Q789+9jPLvNM18+9+97uukpZUPpi+u7s7qblQCAkhdnk/DSQwvDINVwnhn/70J2zevBnnzp3DvXv3cPPmTbS0tKCkpAQigunTp6Onpyfu7cW6cJ5CyIaZeTPvTMv77NmzmDlzJmbOnInt27fj/fcphLqJd92sqKiAiGDt2rWh1/x+P1555ZWUXWpBISSE2OX9NJDA8Mo0khJCHXdLs8ODBw8wceJEiAh++9vfxv25WEI4efLk0J0Nw+9wGDy9yu/3w+fzDRiT7Nienp6Exz548ACNjY1obGxER0cHtmzZgm3btuHBgwehzwVP9wri9/vR1dUV8+ekw1jmzbyZt7q87927h7q6OtTV1eH27du4c+fOgLyjnToa7d+reuzkyZONl5aqqiqUl5ejvLwc48aNg4hg7NixodeqqqoGfObSpUsoKCiAiOCpp55CbW0tioqKICJ47rnnBnxzaAcKISHELroFkEKYhBDquFuaXRobGyEiWLZsWdLbsjpltKmpKWJMc3Nz1KPV+/fvjxjb0tISdWwqjrBv3749dFS/rq4O1dXVqK6uxo4dO0KfO3r0aMRn9+7dG/VntLS0RIzdv39/1LHNzc0RY5uamqKOPXjwYMTYgwcPRh3LvJk381af9/bt21FWVoaysjIsWbIES5YsGZB3umddWFhovLSMHz8+5jo7fvx4y899+eWXWL58OcaMGYOcnBxMmDABGzduhNfrtRyfKBRCQohd3k8DCQyvTMNVp4zG4tixYxARvPjii0lvyzQhDJ5SF2zirE6pS/cmzpSGmXkzbzfnHS3r8LzTPWs3CGG6QiEkhNjl/TSQwPDKNDJGCH//+99DRFBdXZ30tqLdZTScWHe8S2asnTvveb1e7Ny5E9u3b484jS78c/2vrXRq/qaNZd7M281jE807Wtbhead71pQW52C2hBC76BZACmGGCOGiRYsgIvjFL36R9LZMW/T8/r5nhfl8PrS3t6O9vR29vb26p+ZKmLdamLc6wrP2+/3o7e01Lm/T9t8mwWwJIXbRLYAUQgOFMHiDmo6OjojX33rrLXz11VcRr3V3d2Pz5s0QEeTm5g74jB1MW/TCmziv1xvR0JHUw7zVwrzV0V8I+/+3CZi2/zYJZksIsYtuAaQQahZCO3dLC144f+3atQGvezweVFRUoK6uDi+99BK+853vQEQwdOhQfPDBBymZs2mLHhtmtTBvtTBvdfj9fjQ3N6O5uZlCSAbAbAkhdtEtgBRCzUJo525p0YSwoaEB8+bNwxNPPIHc3FwMHToUEyZMwE9/+lNcvHgxZXM2bdFjw6wW5q0W5q0PCiEJh9kSQuyiWwAphGl0yqgpmLbohR/VZ8PsPMxbLcxbHxRCEg6zJYTYRbcAUggphAlj8qJnYgNnMsxbLcxbLSbmbfL+O91htoQQu+gWQAohhTBhTF70TGzgTIZ5q4V5O4vf70dTUxOampp4DSEZALMlhNhFtwBSCCmECWPyomdiA2cyzFstzNtZeJdREgtmSwixi24BpBBSCBPGtEUv/Ki+z+fD1atXcfXqVWOeG2YazFstzFsdVs8hNC1v0/bfJsFsCSF20S2AFEIKYcKYtuiZeBTfZJi3Wpi3OtyQtWn7b5NgtoQQu+gWQAohhTBhTFv03NDEmQTzVgvzVocbsjZt/20SzJYQYhfdAkghpBAmjGmLXngTx1PqnId5q4V5q4OnjJJYMFtCiF10CyCFkEKYMKYtenxwt1qYt1qYtzp4UxkSC2ZLCLGLbgGkEFIIE8a0RY8Ns1qYt1qYtzr8fj8OHjyIgwcPUgjJAJgtIcQuugWQQkghTBjTFj02zGph3mph3vqgEJJwmC0hxC66BZBCSCFMGNMWvfCj+myYnYd5q4V564NCSMJhtoQQu+gWQAohhTBhTF70TGzgTIZ5q4V5q8XEvE3ef6c7zJYQYhfdAkghpBAmTGlpKUpKStDZ2elYBQIBR+buRAMXCAQczUJFMW/mHQ3m3YeKawidzrukpITS4hAUQkKIXXQLIIWQQpgwpaWlEBFHq7Oz05G5O9HAdXZ2Op4H8+6DeUeHeTubt4q7jKrIm9LiDBRCQohddAsghZBCmDCmCWH4UX2fz4f29na0t7en7LlhbJgjYd7MO93KKSHs7e01Mm9KizNQCAkhdtEtgBRCCmHCOHXK6K1btxxrmJ28zie8gbt165b20+OYd3oW8zY/bxXXDDqdN08ZdQ4KISHELroFkEJIIUwYpxa98EbI1IY5lfN2GuatFuatFifmrVoIncib0uIczJYQYhfdAkghpBAmjMlC6PP58MUXX+CLL75w5BSvTG+YAeYdDeatFhVC2Nvba1zelBbnYLaEELvoFkAKIYUwYUwWQiee08aGORLmbQ3zVosKIXT6pjIUQrNgtoQQu+gWQAohhTBhKISRsGGOhHlbw7zV4pQQNjU1oampiUJIBsBsCSF20S2AFEIKYcJQCCNhwxwJ87aGeatFxbwphCQcZksIsYtuAaQQUggTxkQhDB7VZ8PcB/NWC/NWC4XQGkqLczBbQohddAsghZBCmDCmCWE4JjZwTsG81cK81cK8raG0OAezJYTYRbcAUggphAlDIYyEDXN0mHcfzFstTl1D2NzcjObmZl5DSAbAbAkhdtEtgBRCCmHCUAgjYcMcHebdB/NWC+8yag2lxTmYLSHELroFkEJIIUwY04Qw/Ki+z+fDhQsXcOHCBWOeG+YUzFstzFstqp5DaFrelBbnYLaEELvoFkAKIYUwYUwUwlQfxQ+HDXMkzNsa5q0WFULoBBRCc2G2hBC76BZACiGFMGEohJGwYY6EeVvDvNVCIbSG0uIczJYQYhfdAkghpBAmjMlC2N3djRs3buDGjRsIBAIp2T4b5kiYtzXMWy0qhDAQCBiXN6XFOZgtIcQuugWQQqhRCD///HO88847eP7551FQUIDs7GyMHj0a1dXV+Pjjj21vt6WlBbNnz8aIESMwYsQIzJkzB0eOHEnZvE0WQj6nrQ/mrRbmrRbeVMYa06UlmXXz+vXrWL58OQoLC+HxeFBcXIyGhgZ4vd6UzM30bAkh+tAtgBRCjUI4duxYiAiGDx+OuXPnoqamBlOmTIGIYNCgQdi6dWvC29y6dStEBNnZ2ViwYAEqKyuRm5sLEcH27dtTMm8KYSRsmCNh3tYwb7U4JYT79+/H/v37KYSasLtuXr58GY899hhEBFOmTEFNTQ2KioogIqioqEBXV1fSczM9W0KIPnQLIIVQoxD++Mc/xoEDBwYcndy9ezdEBFlZWfjss8/i3t7FixeRlZUFj8eDU6dOhV5vb28PHUm9fPly0vOmEEbChjkS5m0N81YLH/NhjenSYnfdrKiogIhgzZo1odf8fj+qq6shIti0aVPSczM9W0KIPnQLIIUwTa8hfPHFFyEi2Lx5c9yfef311yEiWLt27YD3fvWrX0FEsHr16qTnZqIQBo/qs2Hug3mrhXmrhUJojZulJdq6eebMGYgIHn/88QHfBN68eRNDhgxBfn5+0r9DN2dLCHEW3QJIIUxTIVy/fj1EBKtWrYr7M0888QREBMePHx/w3pdffgkRwfjx45Oem2lCGI6JDZxTMG+1MG+1MG9r3Cwt0dbNhoYGiAhWrFhh+bkXXngBIoK2trakfr6bsyWEOItuAaQQpqkQvvrqqxARNDQ0xDX+7t27j2wigtdP3Lt3L6m5UQgjYcMcHebdB/NWi1PXELa0tKClpYXXEKYh0dbNyspKiAh27Nhh+bl169ZBRPDuu+8m9fPdnC0hxFl0CyCFMA2F8MqVK/B4PBARnD17Nq7PfPrppxAR5OfnRx3z/e9/HyKCv/71r0nNj0IYCRvm6DDvPpi3WniXUWvcKi2x1s1p06ZBRHD48GHLz27btg0igvr6+qTm4NZsCSHOo1sAKYRpJoR+vx8//OEPISKora2N+3MnT56EiGDs2LFRxwQvqj958mRc2wyG078GDx4Mj8cT9X27VVJSEmqESkpKUrrtcePGYdy4cZg8eTKKiopQVFRkxLydLObNvHXP28S8CwsLUVhYGPpv0/L2eDwYPnx43GuLCTxq3SwuLoaIoLW11fLze/bsgYhg5cqVcf28aNk6tTayWCz3V2FhepXuPFRXrLXxkUJYVVWFSZMmJVRnzpyJuc3gjWGKiopw586duBYnQK0QiggGDx6s/ZeXKeXxeNhkMG/XFvNWW4MHD0ZWVlbca0uq0bFuqhLCrKwsDB8+XPvv2MTifiD9i7+j9C/+juzX8OHDMXr0aMt9/iOFcOrUqaEjufFWrIvWf/nLX0JEMHr06IQfD+GGU0aJNcxbLcxbLcxbLbrz1rFuqjpllNhH998leTT8HaU//B05g9JTRnft2gURwciRI3Hu3LmEP++Gm8oQa5i3Wpi3Wpi3WtyUd7zrpqqbyhD7uOnv0q3wd5T+8HfkDMqE8He/+x0GDx6MYcOG4cSJE7a3Y/pjJ4g1zFstzFstzFstbsk7kXVT1WMniH3c8nfpZvg7Sn/4O3IGJUL44YcfYsiQIcjJycGxY8eS2pbpD6Yn1jBvtTBvtTBvtbgh70TXzXgfTN/d3e3UlMkjcMPfpdvh7yj94e/IGRwXwhMnTiA3NxfZ2dk4dOhQ3J8LXmjf0dER8frFixeRlZUFj8eD06dPh16/dOkSCgoKkJ2dnfC1iVbwD04tzFstzFstzFstpudtd90M3lQt/ICp3+/HK6+8AhHBpk2bHJgtiRfT/y4zAf6O0h/+jpzBcSHMy8uDiOB73/seli1bZll79uwZOLH/u1bw2rVrA94LfhOYnZ2NhQsXorKyErm5uRARvPfeeymZN//g1MK81cK81cK81WJ63nbXzeCBURHBU089hdraWhQVFUFE8Nxzzw345pCoxfS/y0yAv6P0h78jZ3BcCOO5u9qyZcuifs5KCAGgpaUFs9684K0AAAkpSURBVGbNwvDhwzF8+HDMmjULf/zjH539xxBCCCEOY3fdBP5+Lf3y5csxZswY5OTkYMKECdi4cSO8Xq/afwQhhBBj0PJgekIIIYQQQggh+qEQEkIIIYQQQkiGQiEkhBBCCCGEkAyFQkgIIYQQQgghGQqFkBBCCCGEEEIyFAohIYQQQgghhGQoFEJCCCGEEEIIyVAohHHy+eef45133sHzzz+PgoICZGdnY/To0aiursbHH3+se3quo7OzEwcOHMDq1atRVlaGnJwciAg2bdqke2pG8/DhQ2zcuBHFxcXweDwoLCzEa6+9ho6ODt1Tcx1nz57F22+/jerqaowdOzb0/DiSer755hscOnQI//RP/4SJEyfC4/Fg2LBhePrpp/Gv//qvePDgge4pkgwlmd7h+vXrWL58OQoLC+HxeFBcXIyGhgY+U9IBuDbqJZl9+L59+zBjxgx861vfQn5+PhYuXIiTJ08qnL07YHcSJ8GGbvjw4Zg7dy5qamowZcoUiAgGDRqErVu36p6iqzh37pzlw5gphPbxer149tlnISIoLCxETU0NysrKICIYNWoUrl69qnuKrqKystLyb5iknj179oTynTx5MhYtWoT58+djxIgREBGUlJTg1q1buqdJMhC7vcPly5fx2GOPQUQwZcoU1NTUoKioCCKCiooKdHV1Kf6XuBeujfqxuw9fu3YtRAS5ubmorKzE/PnzkZ2djaysLBw6dEjDv8Rc2J3EyY9//GMcOHBgwJG53bt3Q0SQlZWFzz77TNPs3MeVK1ewYsUK7N69G5988gnefPNNCmGSbNiwASKCmTNnRhxt27JlC0QEc+bM0Tc5F/LOO+9g48aNaGlpwf/+7//C4/FQCB3i17/+NVatWoX/+Z//iXj9b3/7G6ZNmwYRweLFizXNjmQydnuHiooKiAjWrFkTes3v96O6upprYYrh2qgfO/vw1tZWiAgKCgpw6dKl0OunTp1CTk4O8vLycPfuXSXzdwPsTlLAiy++CBHB5s2bdU/Ftbz99ttcBJPA5/Nh5MiREBH85S9/GfD+008/DRHB2bNnNcwuM6AQ6uHUqVMQEXg8Hvh8Pt3TISREtN7hzJkzEBE8/vjjA74JvHnzJoYMGYL8/Hz4/X6V03UlXBvTn2j78IULF0JELL9lX7NmDUQE//Ef/6FyqkbD7iQFrF+/HiKCVatW6Z6Ka6EQJsdHH30EEcGTTz5p+T6/gXUeCqEevvnmm9CpSH/72990T4eQENF6h4aGBogIVqxYYfm5F154ASKCtrY2BbN0N1wb0x+rffjDhw9Da+r169cHfObjjz/mt7sJwu4kBbz66qsQETQ0NOieimuhECbH1q1bISJYtGiR5ftHjhyBiKC6ulrxzDIHCqEe/vu//xsigiFDhvC6K5JWROsdgtcf79ixw/Jz69atg4jg3XffVTFNV8O1Mf2x2ocH7zMxatQoy890dnZCRJCfn69yqkbD7iRJrly5Emr0eEqBc1AIk+ONN96AiOCNN96wfP/8+fMQETzzzDOKZ5Y5UAj18M///M8QEfzjP/6j7qkQEiJW7xC8Zurw4cOWn922bRtEBPX19Sqm6mq4NqY/Vvvww4cPQ0Qwbdq0qJ/Ly8uDiOD+/fsqpmk87E6SwO/344c//CFEBLW1tbqn42oohMmxcuVKiAg2bNhg+f7ly5chIiguLlY8s8yBQqieDz/8EIMGDcKQIUNw/vx53dMhBMCje4fi4mKICFpbWy0/H7wj48qVK52equvh2pjeRNuHNzU1he64G43gHX5v3LihYqrGkzHdSVVVFSZNmpRQnTlzJuY2X3/9dYgIioqKcOfOHUX/EjNIdd4UwuTgoqcfCqFaPv/8c+Tn50NEsG3bNt3TIYaio3egEKqDa2P6EmsfTiFMPRnTnUydOtXymWCxKtYF27/85S8hIhg9ejQuX76s7h9iCKnOm0KYHDwtRj8UQnV0dHRg/PjxPK2OJI2O3oGnjKqDa2N68qh9OE8ZTT3sTmywa9cuiAhGjhyJc+fO6Z5ORkAhTA5eOK8fCqEa7ty5g9LSUogIXnvtNQQCAd1TIgRA/L0DbyqjDq6N6Uc8+3DeVCb1sDtJkN/97ncYPHgwhg0bhhMnTuieTsZAIUwO3lpbPxRC53nw4AHKysogInjllVfQ09Oje0qEAEisd+BjJ9TBtTG9iHcfHv7YiY6OjgHv87ETicPuJAE+/PBDDBkyBDk5OTh27Jju6WQUFMLkCH/4rtWRaT5813kohM7S1dUVapTnz5/Ph9CTtCHR3iHeB9N3d3c7NeWMgWtj+pDoPpwPpk8t7E7i5MSJE8jNzUV2djYOHTqkezoZB4UweTZs2AARwXPPPYfOzs7Q61u2bOGRNAVQCJ2jp6cH1dXVEBHMmjUL33zzje4pEQLAfu9QUVEBEcHatWtDr/n9frzyyitcC1MM10b92NmHt7a2QkRQUFCAS5cuhV4/deoUPB4P8vLycPfuXSen7SrYncRJ8OLU733ve1i2bJll7dmzR/c0XUVVVRXKy8tRXl6OcePGQUQwduzY0GtVVVW6p2gUXq8X5eXlEBEUFhaipqYm9N+jRo3C1atXdU/RVRw5ciT0t1peXo5BgwZBRCJeO3LkiO5puoLgTTaC1/pE20d/9dVXuqdKMgy7vcOlS5dQUFAAEcFTTz2F2tpaFBUVhcSl/zeHxD5cG/Vjdx++du1aiAiGDRuGyspKLFy4ENnZ2cjKyuKXNwlCIYyTeO4stmzZMt3TdBXBO0xFq/Hjx+ueonE8fPgQGzduxJNPPomcnByMGTMGy5cvx/Xr13VPzXXs27fvkfuMffv26Z6mK9i0aVNc++hr167pnirJMJLpHb788kssX74cY8aMQU5ODiZMmICNGzfC6/Wq/UdkAFwb9ZLMPnzfvn34wQ9+gGHDhiEvLw8LFizAyZMn1f8jDIdCSAghhBBCCCEZCoWQEEIIIYQQQjIUCiEhhBBCCCGEZCgUQkIIIYQQQgjJUCiEhBBCCCGEEJKhUAgJIYQQQgghJEOhEBJCCCGEEEJIhkIhJIQQQgghhJAMhUJICCGEEEIIIRkKhZAQQgghhBBCMhQKISGEEEIIIYRkKBRCQgghhBBCCMlQ/j8mCOJUijTYQAAAAABJRU5ErkJggg==\" width=\"900\">" - ], - "text/plain": [ - "<IPython.core.display.HTML object>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2857a27b5bef44d7b3cee485285b5f57", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "VBox(children=(Accordion(children=(VBox(children=(HBox(children=(Label(value='Energy (eV):'), FloatRangeSlider…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "<TZPGcalc.TZPGcalc.TZPGcalc at 0x7f66c4509940>" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import numpy as np\n", - "%matplotlib notebook\n", - "import matplotlib.pyplot as plt\n", - "\n", - "import matplotlib as mpl\n", - "mpl.rcParams['savefig.dpi'] = 300\n", - "mpl.rcParams['figure.dpi'] = 150\n", - "mpl.rcParams['figure.constrained_layout.use'] = True\n", - "\n", - "from TZPGcalc import TZPGcalc\n", - "\n", - "TZPGcalc()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.9" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/setup.py b/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..f62f9742bad2919399bd0a590e03310154b8cd5e --- /dev/null +++ b/setup.py @@ -0,0 +1,12 @@ +from setuptools import setup, find_packages + +setup(name='TZPGcalc', + version=1.0, + description='TZPG calculator for SCS', + author='Loïc Le Guyader', + author_email='loic.le.guyader@xfel.eu', + url='https://in.xfel.eu/gitlab/SCS/tzpgcalc', + packages=find_packages('src'), + package_dir={'': 'src'}, + python_requires='>=3.8' + ) diff --git a/src/TZPGcalc/GeoBeams.py b/src/TZPGcalc/GeoBeams.py new file mode 100644 index 0000000000000000000000000000000000000000..f0fc76a659bf3eda1a90a651af9dd021a68badd6 --- /dev/null +++ b/src/TZPGcalc/GeoBeams.py @@ -0,0 +1,277 @@ +# -*- coding: utf-8 -*- +""" Geometric beam calculator for SCS. + + Copyright (2021) SCS Team. +""" + +import numpy as np +import matplotlib.pyplot as plt +from sympy.physics.optics import GeometricRay, FreeSpace, ThinLens +from sympy.solvers import solve +from sympy import symbols, simplify +from sympy.utilities.lambdify import lambdify + + +class GeoBeams: + """The Beams object to compute beam propagation from source point to sample. + + Inputs + ------ + elems : dict + dictionnaries of numerical values for the different parameters. + """ + def __init__(self): + # all distances in meters + self.elems = { + 'dIHF': -56, # Intermediate Horizontal Focus position + 'dEX': -30, # Exit Slit position + 'dHFM': -3.35, # Horizontal Focusing Mirror position + 'fHFM': 5.74, # HFM focal length + 'dVFM': -2, # Vertical Focusing Mirror position + 'fVFM': 5.05, # VFM focal length + 'dBOZ': -0.23, # Beam splitting Off axis Zone plate position + 'fBOZ': 0.25, # BOZ focal length + 'theta_grating': 0, # grating deflection angle in rad + 'dSAMZ': 0.0, # Sample position + 'WH': 0.8e-3, # BOZ horizontal width + 'WV': 0.8e-3, # BOZ vertical width + 'offaxis': -0.55e-3, # BOZ center to optical axis + 'EXw': 100e-6, # Exit Slit width + 'IHFw': 200e-6, # IHF source width + 'x1': 0, # horizontal beam height at source + 'theta1_x': 0, # horizontal beam angle at source + 'x2': 0, # horizontal beam height at BOZ + 'y1': 0, # vertical beam height at source + 'theta1_y': 0, # vertical beam angle at source + 'y2': 0 # vertical beam height at BOZ + } + self.compute_eqs() + + def compute_eqs(self): + """Compute the beam propagation equation between source and zone plate. + + eq_x, eq_y: tuple, the horizontal x and vertical y equations to + compute the initial angle from the source to pass by the zone plate + position x2, given the source position at x1. + """ + dEX, dIHF, dVFM, dHFM, dBOZ = symbols('dEX, dIHF, dVFM, dHFM, dBOZ') + fVFM, fHFM, fBOZ = symbols('fVFM, fHFM, fBOZ') + x1, theta1_x, x2 = symbols('x1, theta1_x, x2') + y1, theta1_y, y2 = symbols('y1, theta1_y, y2') + + # horizontal and vertical beam propagation from the + # source to the zone plate + self.HFM = simplify( + FreeSpace(-dHFM+dBOZ)*ThinLens(fHFM) * + FreeSpace(-dIHF+dHFM)*GeometricRay(x1, theta1_x)) + self.VFM = simplify( + FreeSpace(-dVFM+dBOZ)*ThinLens(fVFM) * + FreeSpace(-dEX+dVFM)*GeometricRay(y1, theta1_y)) + self.HFM_f = lambdify(self.elems.keys(), self.HFM, ['numpy']) + self.VFM_f = lambdify(self.elems.keys(), self.VFM, ['numpy']) + + # beams for the zone plate first order (0th order is unfocused) + self.HBOZ = simplify(ThinLens(fBOZ)*self.HFM) + self.VBOZ = simplify(ThinLens(fBOZ)*self.VFM) + self.HBOZ_f = lambdify(self.elems.keys(), self.HBOZ, ['numpy']) + self.VBOZ_f = lambdify(self.elems.keys(), self.VBOZ, ['numpy']) + + # solve which beam angle at the source theta1 ends on the + # zone plate at x2, given x1 + self.theta1_x = solve(self.HFM[0] - x2, theta1_x)[0] + self.theta1_y = solve(self.VFM[0] - y2, theta1_y)[0] + self.theta1_x_f = lambdify(self.elems.keys(), self.theta1_x, ['numpy']) + self.theta1_y_f = lambdify(self.elems.keys(), self.theta1_y, ['numpy']) + + def path(self): + """Compute the horizontal and vertical beam propagation. + + """ + + x = [] + z_x = [] + + # source + x1 = self.elems['x1'] + angle1 = self.elems['theta1_x'] + x += [x1] + z_x += [self.elems['dIHF']] + ray = GeometricRay(x1, angle1) + + # KBS + ray = (ThinLens(self.elems['fHFM']) * + FreeSpace(-self.elems['dIHF'] + self.elems['dHFM'])*ray) + z_x += [self.elems['dHFM']] + x += [ray[0].evalf()] + + # BOZ + ray = (ThinLens(self.elems['fBOZ']) * + FreeSpace(-self.elems['dHFM'] + self.elems['dBOZ'])*ray) + z_x += [self.elems['dBOZ']] + x += [ray[0].evalf()] + + # sample + ray = FreeSpace(-self.elems['dBOZ']+self.elems['dSAMZ'])*ray + z_x += [self.elems['dSAMZ']] + x += [ray[0].evalf()] + + y = [] + z_y = [] + + # source + y1 = self.elems['y1'] + angle1 = self.elems['theta1_y'] + y += [y1] + z_y += [self.elems['dEX']] + ray = GeometricRay(y1, angle1) + + # KBS + ray = (ThinLens(self.elems['fVFM']) * + FreeSpace(-self.elems['dEX']+self.elems['dVFM'])*ray) + z_y += [self.elems['dVFM']] + y += [ray[0].evalf()] + + # BOZ + ray = (ThinLens(self.elems['fBOZ']) * + FreeSpace(-self.elems['dVFM']+self.elems['dBOZ'])*ray) + z_y += [self.elems['dBOZ']] + y += [ray[0].evalf()] + + # sample + ray = FreeSpace(-self.elems['dBOZ']+self.elems['dSAMZ'])*ray + z_y += [self.elems['dSAMZ']] + y += [ray[0].evalf()] + + return z_x, x, z_y, y + + def plot(self): + fig, ax = plt.subplots(2, 1, figsize=(6, 4), sharex=True, sharey=True) + + xmin, xmax = [np.Inf, -np.Inf] + ymin, ymax = [np.Inf, -np.Inf] + for k, (x2, y2) in enumerate(zip( + [self.elems['WH']/2, -self.elems['WH']/2], + np.array([self.elems['WV']/2, -self.elems['WV']/2]) + + self.elems['offaxis'])): + for kk, (x1, y1) in enumerate(zip( + [self.elems['IHFw']/2, -self.elems['IHFw']/2], + [self.elems['EXw']/2, -self.elems['EXw']/2])): + c = f'C{3*k+kk}' + + self.elems['x1'] = x1 + self.elems['x2'] = x2 + self.elems['y1'] = y1 + self.elems['y2'] = y2 + + self.elems['theta1_x'] = self.theta1_x_f( + *list(self.elems.values())) + self.elems['theta1_y'] = self.theta1_y_f( + *list(self.elems.values())) + + z_x, x, z_y, y = self.path() + ax[0].plot(z_x, 1e3*np.array(x), c=c) + ax[1].plot(z_y, 1e3*np.array(y), c=c) + + if xmin > x[-1]: + xmin = x[-1] + if xmax < x[-1]: + xmax = x[-1] + + if ymin > y[-1]: + ymin = y[-1] + if ymax < y[-1]: + ymax = y[-1] + + ax[0].set_ylabel('x (mm)') + ax[1].set_ylabel('y (mm)') + ax[1].set_xlabel('z (m)') + + return fig + + def plane_image(self, p0, n, ZPorder, Gorder=0): + """Compute the BOZ image on a plane. + + Inputs + ------ + p0: [x, y, z] point on the imaging plane + n: [X, Y, Z] plane normal vector + ZPorder: int, order of the zone plate, i.e. 0 or 1 + Gorder: int, grating order, in [-1, 0, 1] + Returns + ------- + list of 4 corners [x,y] + """ + xmin, xmax = [np.Inf, -np.Inf] + ymin, ymax = [np.Inf, -np.Inf] + for k, (x2, y2) in enumerate(zip( + [self.elems['WH']/2, -self.elems['WH']/2], + np.array([self.elems['WV']/2, -self.elems['WV']/2]) + + self.elems['offaxis'])): + for kk, (x1, y1) in enumerate(zip( + [self.elems['IHFw']/2, -self.elems['IHFw']/2], + [self.elems['EXw']/2, -self.elems['EXw']/2])): + + self.elems['x1'] = x1 + self.elems['y1'] = y1 + self.elems['x2'] = x2 + self.elems['y2'] = y2 + + self.elems['theta1_x'] = self.theta1_x_f( + *list(self.elems.values())) + self.elems['theta1_y'] = self.theta1_y_f( + *list(self.elems.values())) + + # evaluate HFM/VFM or HBOZ/VBOZ + if ZPorder == 1: + bx = self.HBOZ_f(*list(self.elems.values())) + by = self.VBOZ_f(*list(self.elems.values())) + elif ZPorder == 0: + bx = self.HFM_f(*list(self.elems.values())) + by = self.VFM_f(*list(self.elems.values())) + else: + raise ValueError( + 'ZPorder other than 0 or 1 not implemented') + + # intersection beam with plane + l1 = np.array([x2, y2, self.elems['dBOZ']]) + l12 = np.array([bx[1][0] + Gorder*self.elems['theta_grating'], + by[1][0], 1]) + + p = self.LinePlaneIntersection(p0, n, l1, l12=l12) + + if xmin > p[0]: + xmin = p[0] + if xmax < p[0]: + xmax = p[0] + + if ymin > p[1]: + ymin = p[1] + if ymax < p[1]: + ymax = p[1] + + return np.array([[xmax, ymax], [xmax, ymin], + [xmin, ymin], [xmin, ymax]]) + + def LinePlaneIntersection(self, p0, n, l1, *, l2=None, l12=None): + """ Calculate the intersection point in space between a line (beam) + passing through 2 points l1 and l2 and a (sample) plane passing by + p0 with normal n + + l1: [x,y,z] point on line + l2: [x,y,z] point on line + p0: [x,y,z] point on plane + n: plane normal vector + """ + assert not((l2 is None) and (l12 is None)), ( + "Either l2 or l12 must be defined") + + # plane parametrized as (p - p0).n = 0 + # line parametrized as p = l1 + l12*d with d Real + if l12 is None: + l12 = l2 - l1 + + if np.dot(l12, n) == 0: + return [0, 0, 0] # line is either in the plane or outside of it + else: + d = np.dot((p0 - l1), n)/np.dot(l12, n) + return l1 + l12*d diff --git a/src/TZPGcalc/TZPGcalc.py b/src/TZPGcalc/TZPGcalc.py new file mode 100644 index 0000000000000000000000000000000000000000..ff0fb2c6885fef26a8fb39c7216428825a2e368c --- /dev/null +++ b/src/TZPGcalc/TZPGcalc.py @@ -0,0 +1,771 @@ +# -*- coding: utf-8 -*- +""" TZPG simple calculator for SCS. + + Interactive widget to calculate beam sizes and position at the sample and + detector planes for the SCS instrument. + + Copyright (2019-2021) SCS Team. +""" + +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt +from matplotlib.patches import Rectangle, Polygon +from matplotlib.colors import hsv_to_rgb + +import ipywidgets as widgets +from ipywidgets import HBox, VBox +from IPython.display import display + +from TZPGcalc.GeoBeams import GeoBeams + + +# number of membrane to show +SampleN = 7 + +# Database of existing zone plates parameters +TZPG_db = { + 'Custom': { + 'design_nrj': 860, + 'TZPGwH': 1, + 'TZPGwV': 1, + 'TZPGoffaxis': 0.75, + 'grating': 3.8, + 'F': 0.25 + }, + 'O': { + 'design_nrj': 530, + 'TZPGwH': 0.8, + 'TZPGwV': 0.8, + 'TZPGoffaxis': 0.55, + 'grating': 3.1, + 'F': 0.25 + }, + 'Fe': { + 'design_nrj': 715, + 'TZPGwH': 0.8, + 'TZPGwV': 0.8, + 'TZPGoffaxis': 0.55, + 'grating': 3.1, + 'F': 0.25 + }, + 'Co': { + 'design_nrj': 785, + 'TZPGwH': 0.8, + 'TZPGwV': 0.8, + 'TZPGoffaxis': 0.55, + 'grating': 3.1, + 'F': 0.25 + }, + 'Ni': { + 'design_nrj': 860, + 'TZPGwH': 0.8, + 'TZPGwV': 0.8, + 'TZPGoffaxis': 0.55, + 'grating': 3.1, + 'F': 0.25 + }, + 'Cu': { + 'design_nrj': 927, + 'TZPGwH': 0.8, + 'TZPGwV': 0.8, + 'TZPGoffaxis': 0.55, + 'grating': 3.1, + 'F': 0.25 + }, + 'Gd': { + 'design_nrj': 1210, + 'TZPGwH': 0.8, + 'TZPGwV': 0.8, + 'TZPGoffaxis': 0.55, + 'grating': 3.1, + 'F': 0.25 + } +} + + +class TZPGcalc(): + def __init__(self): + self.geo_beams = GeoBeams() + self.initFig() + self.initWidgets() + for v in ['fVFM', 'fHFM', 'EXw', 'IHFw']: + if v in ['fVFM', 'fHFM']: + scale = 1.0 + else: + scale = 1e6 + self.widgets[v].value = scale*self.geo_beams.elems[v] + + # spot sizes of all beams + self.SpotSizes = {} + for d in ['det', 'sam']: + self.SpotSizes[d] = {} + for k in ['L', 'H']: + self.SpotSizes[d][k] = np.zeros((6, 2)) + + self.UpdateFig() + display(self.control) + + def initFig(self): + "Creates a figure for the sample plane and detector plane images." + + plt.close('TZPGcalc') + fig, (self.ax_sam, self.ax_det) = plt.subplots( + 1, 2, num='TZPGcalc', figsize=(6, 3)) + + # display scale + self.scale = 1e3 # displayed distances in [mm] + + self.ax_sam.set_title('Sample plane') + self.ax_det.set_title('Detector plane') + + self.ax_sam.set_aspect('equal') + self.ax_det.set_aspect('equal') + self.ax_sam.set_xlim([-2, 2]) + self.ax_sam.set_ylim([-2, 2]) + self.ax_det.set_xlim([-35, 35]) + self.ax_det.set_ylim([-20, 50]) + + # red and blue shifted color of the beams + c_rr = hsv_to_rgb([0/360, 50/100, 100/100]) + c_rb = hsv_to_rgb([40/360, 50/100, 100/100]) + c_gr = hsv_to_rgb([95/360, 60/100, 100/100]) + c_gb = hsv_to_rgb([145/360, 60/100, 100/100]) + + self.samBeamsL = { + 'F0G0': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F0G1': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F0G-1': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F1G0': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor=c_rr, alpha=0.7, lw=None)), + 'F1G1': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor=c_gr, alpha=0.7, lw=None)), + 'F1G-1': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor=c_gr, alpha=0.7, lw=None)) + } + + self.detBeamsL = { + 'F0G0': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F0G1': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F0G-1': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F1G0': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor=c_rr, alpha=0.7, lw=None)), + 'F1G1': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor=c_gr, alpha=0.7, lw=None)), + 'F1G-1': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor=c_gr, alpha=0.7, lw=None)) + } + + self.samBeamsH = { + 'F0G0': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F0G1': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F0G-1': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F1G0': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor=c_rb, alpha=0.7, lw=None)), + 'F1G1': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor=c_gb, alpha=0.7, lw=None)), + 'F1G-1': self.ax_sam.add_patch( + Polygon([(0, 0)], facecolor=c_gb, alpha=0.7, lw=None)) + } + + self.detBeamsH = { + 'F0G0': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F0G1': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F0G-1': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor="black", alpha=0.4, lw=None)), + 'F1G0': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor=c_rb, alpha=0.7, lw=None)), + 'F1G1': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor=c_gb, alpha=0.7, lw=None)), + 'F1G-1': self.ax_det.add_patch( + Polygon([(0, 0)], facecolor=c_gb, alpha=0.7, lw=None)) + } + + self.detLines = { + 'module': self.ax_det.add_patch( + Rectangle((0, 0), 1, 1, fill=False, facecolor='k')), + 'Vfilter': self.ax_det.add_patch( + Rectangle((0, 0), 1, 1, facecolor="blue", alpha=0.4)), + 'Hfilter': self.ax_det.add_patch( + Rectangle((0, 0), 1, 1, facecolor="blue", alpha=0.4)), + 'diamond': self.ax_det.add_patch( + Rectangle((-8, -8), 16, 16, facecolor="blue", alpha=0.4, + angle=45)) + } + + # 5x5 membranes + self.sampleLines = {} + self.etchLines = {} + for k in range(SampleN*SampleN): + self.sampleLines[k] = self.ax_sam.add_patch( + Rectangle((0, 0), 1, 1, fill=False, facecolor='k')) + self.etchLines[k] = self.ax_sam.add_patch( + Rectangle((0, 0), 1, 1, fill=False, facecolor='k', + alpha=0.4, ls='--')) + + def RectUpdate(self, rect, xLeft, yBottom, xRight, yTop): + """Updates the position and size of the given Rectangle. + + Inputs + ------ + rect: Rectangle to update + xLeft: x position of the left corner + yBottom: y position of the bottom corner + xRight: x position of the right corner + yTop: y position of the top corner + """ + + xw = np.abs(xLeft - xRight) + yw = np.abs(yTop - yBottom) + + rect.set_xy((self.scale*xLeft, self.scale*yBottom)) + rect.set_height(self.scale*yw) + rect.set_width(self.scale*xw) + + def PolyUpdate(self, poly, xLeft, yBottom, xRight, yTop): + """Updates the corner position of a Polygon. + + Inputs + ------ + poly: regular Polygon to update + xLeft: x position of the left corner + yBottom: y position of the bottom corner + xRight: x position of the right corner + yTop: y position of the top corner + """ + + xy = self.scale*np.array([ + [xLeft, yBottom], + [xLeft, yTop], + [xRight, yTop], + [xRight, yBottom]]) + + poly.set_xy(xy) + + def UpdateBeams(self, Beams, img, conf): + """Updates the position and size of the beams. + + Inputs + ------ + Beams: dictionary of f'F{f}G{g}' Polygon for f = 0 and 1 zone + plate order and g = +1, 0 and -1 grating order + img: dictionary of parameters for the imaging plane + conf: dictionary of parameters for optics + """ + # shortcut + sge = self.geo_beams.elems + + sge['fBOZ'] = conf['F'] + sge['theta_grating'] = conf['theta_grating'] + + # imaging plane + n = np.array([np.sin(img['incidence']), + 0, + np.cos(img['incidence'])]) + p0 = np.array([0, 0, img['z']]) + + res = {} + for z, (f, g) in enumerate([(0, -1), (0, 0), (0, 1), + (1, -1), (1, 0), (1, 1)]): + beam = f'F{f}G{g}' + res[beam] = (self.geo_beams.plane_image(p0, n, f, g) + - np.array([0, sge['offaxis']])) # 0th order offset + + corners = self.scale*res[beam] + + Beams[beam].set_xy(corners) + for k in [0, 1]: + vs = corners[:, k] + self.SpotSizes[img['type']][conf['Energy']][z, k] = ( + 1e3*(np.max(vs) - np.min(vs))) + + def DetectorUpdate(self, Xoff, Yoff): + """Draws DSSC detector module with filter mask. + + Inputs + ------ + Xoff: x offset + Yoff: y offset + """ + # x module axis is vertical, y module axis is horizontal + # the module 15 is +0.91 mm vertical from the beam and + # 4.233 mm horizontal from the beam + offset_h = 4.233e-3 # [m] + offset_v = 0.91e-3 # [m] + + moduleHw = 256*0.236e-3 # [m] + moduleVw = 128*0.204e-3 # [m] + + filterW = 7e-3 # [m] + filterL = 160e-3 # [m] + diamondW = 16e-3 # [m] + + self.RectUpdate(self.detLines['module'], + -moduleHw - offset_h + Xoff, offset_v + Yoff, + -offset_h + Xoff, moduleVw + offset_v + Yoff) + self.RectUpdate(self.detLines['Vfilter'], + -filterW/2 + Xoff, -filterL/2 + Yoff, + filterW/2 + Xoff, filterL/2 + Yoff) + self.RectUpdate(self.detLines['Hfilter'], + -filterL/2 + Xoff, -filterW/2 + Yoff, + filterL/2 + Xoff, filterW/2 + Yoff) + + # moving rotated rectangles is a pain in matplotlib + self.detLines['diamond'].set_xy(( + self.scale*Xoff, self.scale*(Yoff - diamondW/2*np.sqrt(2)))) + + def SampleUpdate(self, w, p, Xoff, Yoff, thickness=0.525, + incidence=0, etch_angle=54.74): + """Draws the sample. + + Inputs + ------ + w: membrane width + p: membrane pitch + Xoff: sample x offset + Yoff: sample y offset + thickness: sample thickness used to calculate the etched facets + incidence: incidence angle in rad + etch_angle: etching angle from surface in rad + """ + # Si etching angle + wp = w + 2*thickness/np.tan(etch_angle) + + # incidence angle squeezes sample and etch lines + # and induces an apparent shift off the etch lines + ci = np.cos(incidence) + thsi = thickness*np.sin(incidence) + + j = 0 + for r in range(-(SampleN-1)//2, (SampleN-1)//2+1): + for c in range(-(SampleN-1)//2, (SampleN-1)//2+1): + self.RectUpdate( + self.sampleLines[j], + ci*(r*p - w/2 + Xoff), c*p - w/2 - Yoff, + ci*(r*p + w/2 + Xoff), c*p + w/2 - Yoff) + self.RectUpdate( + self.etchLines[j], + ci*(r*p - wp/2 + Xoff)+thsi, c*p - wp/2 - Yoff, + ci*(r*p + wp/2 + Xoff)+thsi, c*p + wp/2 - Yoff) + j += 1 + + def UpdateFig(self): + """Updates the figure with the current slider values. + + """ + # shortcuts + sw = self.widgets + sge = self.geo_beams.elems + + # we calculate the optics for the central wavelength + nrjL = sw['nrjL'].value # [eV] + nrjH = sw['nrjH'].value # [eV] + wlL = 1240/nrjL*1e-9 + wlH = 1240/nrjH*1e-9 + nrjD = sw['nrjD'].value # [eV] + wlD = 1240/nrjD*1e-9 + + F = sw['F'].value # [m] hidden nominal focal length + theta_grating = sw['grating'].value*1e-3 # [rad] + sampleZ = sw['SAMZ'].value*1e-3 # [m] + samIncidence = np.deg2rad(sw['samIncidence'].value) # [rad] + detectorZ = sw['detZ'].value*1e-3 # [m] + + sge['WH'] = sw['TZPGwH'].value*1e-3 # [m] + sge['WV'] = sw['TZPGwV'].value*1e-3 # [m] + sge['offaxis'] = -sw['TZPGoffaxis'].value*1e-3 # [m] + sge['EXw'] = sw['EXw'].value*1e-6 # [m] + sge['IHFw'] = sw['IHFw'].value*1e-6 # [m] + sge['fVFM'] = sw['fVFM'].value # [m] + sge['fHFM'] = sw['fHFM'].value # [m] + + d_nominal = wlD/np.sin(theta_grating) + sw['d_label'].value = ( + f'Grating Pitch:{int(np.round(d_nominal*1e9))} nm') + + # zone plate radius at the point further away from the optical axis + rn = np.sqrt((sge['WH']/2.0)**2 + + (sge['WV']/2.0 + np.abs(sge['offaxis']))**2) + dr_nominal = wlD * F / (2*rn) + sw['dr_label'].value = ( + f'Outer Zone Plate width dr:{int(np.round(dr_nominal*1e9))} nm') + + # Optics properties (focal length and grating angle) for the + # low energy and high energy photon + F_L = 2*rn*dr_nominal/wlL + G_L = np.arcsin(wlL/d_nominal) + confL = {'Energy': 'L', + 'F': F_L, + 'theta_grating': G_L} + F_H = 2*rn*dr_nominal/wlH + G_H = np.arcsin(wlH/d_nominal) + confH = {'Energy': 'H', + 'F': F_H, + 'theta_grating': G_H} + + # Configuration for imaging plane + sam = {'type': 'sam', 'z': sampleZ, 'incidence': samIncidence} + det = {'type': 'det', 'z': detectorZ, 'incidence': 0} + + # update the beams + self.UpdateBeams(self.samBeamsL, sam, confL) + self.UpdateBeams(self.detBeamsL, det, confL) + self.UpdateBeams(self.samBeamsH, sam, confH) + self.UpdateBeams(self.detBeamsH, det, confH) + + # update Spot Size Tables + for v in ['L', 'H']: + df = pd.DataFrame(self.SpotSizes['sam'][v], + index=['F0G-1', 'F0G0', 'F0G1', + 'F1G-1', 'F1G0', 'F1G1'], + columns=['H (um)', 'V (um)']) + self.widgets[f'SpotSize{v}'].value = df.to_html( + float_format='{:.2f}'.format) + + # update the detector + detXoff = self.widgets['detX'].value*1e-3 # [m] + detYoff = self.widgets['detY'].value*1e-3 # [m] + self.DetectorUpdate(detXoff, detYoff) + + # update the sample + samw = self.widgets['samw'].value*1e-3 # [m] + samp = self.widgets['samp'].value*1e-3 # [m] + samXoff = self.widgets['samX'].value*1e-3 # [m] + samYoff = self.widgets['samY'].value*1e-3 # [m] + samthickness = self.widgets['samthickness'].value*1e-6 # [m] + samEtchAngle = np.deg2rad(self.widgets['samEtchAngle'].value) # [rad] + self.SampleUpdate(samw, samp, samXoff, samYoff, samthickness, + samIncidence, samEtchAngle) + + def initWidgets(self): + """ Creates the necessary interactive widget controls. + """ + + style = {'description_width': 'initial'} + layout = {} # max_width': '300px'} + + self.Update = widgets.Button( + description='Update', + ) + + @self.Update.on_click + def plot_on_click(b): + self.UpdateFig() + + self.widgets = {} + + # Spot sizes + self.widgets['SpotSizeL'] = widgets.HTML() + self.widgets['SpotSizeH'] = widgets.HTML() + SpotSize = HBox([VBox([widgets.Label(value='Low energy'), + self.widgets['SpotSizeL']]), + VBox([ + widgets.Label(value='High energy'), + self.widgets['SpotSizeH']]) + ]) + + # Source + self.widgets['EXw'] = widgets.BoundedIntText( + value=100, + min=0, + max=2000, + step=1, + description='Exit Slit (um):', + style=style, + layout=layout + ) + self.widgets['IHFw'] = widgets.BoundedIntText( + value=200, + min=0, + max=2000, + step=1, + description='IHF width (um):', + style=style, + layout=layout + ) + self.widgets['fVFM'] = widgets.BoundedFloatText( + value=0, + min=0, + max=10, + step=0.01, + description='VFM focal length (m):', + style=style, + layout=layout + ) + self.widgets['fHFM'] = widgets.BoundedFloatText( + value=0, + min=0, + max=10, + step=0.01, + description='HFM focal length (m):', + style=style, + layout=layout + ) + SourceTab = VBox([ + self.widgets['EXw'], + self.widgets['IHFw'], + self.widgets['fVFM'], + self.widgets['fHFM']]) + + # TZPG part + self.widgets['Type'] = widgets.Dropdown( + options=list(TZPG_db), + value='Custom', + description='Type:', + style=style, + disabled=False + ) + + def TZPGtype(change): + v = TZPG_db[change.new] + self.widgets['nrjD'].value = v['design_nrj'] + self.widgets['TZPGwH'].value = v['TZPGwH'] + self.widgets['TZPGwV'].value = v['TZPGwV'] + self.widgets['TZPGoffaxis'].value = v['TZPGoffaxis'] + self.widgets['grating'].value = v['grating'] + self.widgets['F'].value = v['F'] + # necessary to recompute grating pitch and outer zone plate width + self.UpdateFig() + + self.widgets['Type'].observe(TZPGtype, names='value') + + # hidden nominal zone plate focus + self.widgets['F'] = widgets.BoundedFloatText( + value=0.25, + min=0, + max=1 + ) + + self.widgets['nrjL'] = widgets.BoundedIntText( + value=840, + min=450, + max=3200, + step=1, + description='Low:', + style=style, + layout=layout + ) + self.widgets['nrjH'] = widgets.BoundedIntText( + value=880, + min=450, + max=3200, + step=1, + description='High:', + style=style, + layout=layout + ) + self.widgets['nrjD'] = widgets.BoundedIntText( + value=860, + min=450, + max=3200, + step=1, + width=4, + description='Design:', + style=style, + layout=layout + ) + self.widgets['TZPGwH'] = widgets.BoundedFloatText( + value=1.0, + min=.1, + max=3.0, + step=0.05, + description='Height:', + style=style, + layout=layout + ) + self.widgets['TZPGwV'] = widgets.BoundedFloatText( + value=1.0, + min=.1, + max=3.0, + step=0.05, + description='Width:', + style=style, + layout=layout + ) + self.widgets['TZPGoffaxis'] = widgets.BoundedFloatText( + value=0.75, + min=.0, + max=2.0, + step=0.05, + description='Off axis (mm):', + style=style, + layout=layout + ) + self.widgets['grating'] = widgets.BoundedFloatText( + value=3.8, + min=1., + max=10.0, + step=0.05, + description='Grating angle (mrad):', + style=style, + layout=layout + ) + self.widgets['dr_label'] = widgets.Label(value='dr') + self.widgets['d_label'] = widgets.Label(value='dr') + TZPGTab = VBox([ + self.widgets['Type'], + HBox([self.widgets['nrjD'], + self.widgets['grating'], + self.widgets['TZPGoffaxis']]), + HBox([self.widgets['d_label'], + self.widgets['dr_label']]), + HBox([widgets.Label(value='Energy range (eV):'), + self.widgets['nrjL'], self.widgets['nrjH']]), + HBox([widgets.Label(value='TZPG (mm):'), + self.widgets['TZPGwH'], + self.widgets['TZPGwV']]) + ]) + + # sample part + self.widgets['SAMZ'] = widgets.BoundedFloatText( + value=30., + min=-10., + max=180.0, + step=.1, + description='Sample Z (mm):', + style=style, + layout=layout + ) + self.widgets['samw'] = widgets.BoundedFloatText( + value=.5, + min=0.01, + max=2.0, + step=.01, + description='width:', + style=style, + layout=layout + ) + self.widgets['samp'] = widgets.BoundedFloatText( + value=1.0, + min=0.01, + max=2.0, + step=.01, + description='pitch:', + style=style, + layout=layout + ) + self.widgets['samX'] = widgets.BoundedFloatText( + value=0., + min=-10, + max=10, + step=0.01, + description='X:', + style=style, + layout=layout + ) + self.widgets['samY'] = widgets.BoundedFloatText( + value=0., + min=-10, + max=10, + step=0.01, + description='Y:', + style=style, + layout=layout + ) + self.widgets['samthickness'] = widgets.BoundedFloatText( + value=381, + min=1, + max=1000, + step=1, + description='Substrate thickness (um):', + style=style, + layout=layout + ) + self.widgets['samIncidence'] = widgets.BoundedFloatText( + value=0, + min=0, + max=90, + step=1, + description='Sample normal (deg):', + style=style, + layout=layout + ) + self.widgets['samEtchAngle'] = widgets.BoundedFloatText( + value=54.74, + min=0, + max=90, + step=0.01, + description='Etch angle from surface (deg):', + style=style, + layout=layout + ) + samTab = VBox([ + self.widgets['SAMZ'], + HBox([widgets.Label(value='Membrane (mm), '), + self.widgets['samw'], + self.widgets['samp']]), + HBox([widgets.Label(value='Sample Offset (mm), '), + self.widgets['samX'], + self.widgets['samY']]), + self.widgets['samthickness'], + HBox([self.widgets['samIncidence'], + self.widgets['samEtchAngle']]) + ]) + + # Detector tab + self.widgets['detZ'] = widgets.BoundedFloatText( + value=2000., + min=1000, + max=5800, + step=1, + description='Z:', + style=style, + layout=layout + ) + self.widgets['detX'] = widgets.BoundedFloatText( + value=20., + min=-50, + max=50, + step=0.5, + description='X:', + style=style, + layout=layout + ) + self.widgets['detY'] = widgets.BoundedFloatText( + value=0., + min=-50, + max=50, + step=0.5, + description='Y:', + style=style, + layout=layout + ) + detTab = VBox([HBox([widgets.Label(value='Detector (m), '), + self.widgets['detZ'], + self.widgets['detX'], + self.widgets['detY'] + ])]) + + # combined tabs + tab0 = widgets.Accordion([SourceTab]) + tab0.set_title(0, 'Source and KBS') + tab0.selected_index = 0 + + tab1 = widgets.Accordion([TZPGTab]) + tab1.set_title(0, 'Beam splitting Off axis Zone plate') + tab1.selected_index = 0 + + tab2 = widgets.Accordion([samTab]) + tab2.set_title(0, 'Sample') + tab2.selected_index = 0 + + tab3 = widgets.Accordion([detTab]) + tab3.set_title(0, 'Detector') + tab3.selected_index = 0 + + tab4 = widgets.Accordion([SpotSize]) + tab4.set_title(0, 'Spot sizes') + tab4.selected_index = 0 + + self.control = VBox([self.Update, tab0, tab1, tab2, tab3, tab4]) diff --git a/example/.gitkeep b/src/TZPGcalc/__init__.py similarity index 100% rename from example/.gitkeep rename to src/TZPGcalc/__init__.py