{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2025-07-17T12:11:22.373024Z",
"start_time": "2025-07-17T12:11:22.366727Z"
}
},
"outputs": [],
"source": [
"local = False #Set to False if working with a web-hosted Jupyter server\n",
"#Core libraries\n",
"import os\n",
"import base64\n",
"import re\n",
"from time import time\n",
"import warnings\n",
"warnings.simplefilter(action='ignore', category=FutureWarning)\n",
"#Third party libraries\n",
"import ipywidgets as widgets\n",
"from ipywidgets import HBox, VBox, Layout\n",
"from IPython.display import Javascript, display\n",
"from bqplot import *\n",
"from bqplot import pyplot as plt\n",
"from bqplot.interacts import *\n",
"import numpy as np\n",
"#Custom libraries\n",
"from SelectFilesWidget import *\n",
"from tools import *\n",
"from def_strain import *\n",
"from def_DW import *\n",
"from def_XRD import *\n",
"from def_fit import *"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2025-07-17T12:11:22.497967Z",
"start_time": "2025-07-17T12:11:22.376166Z"
}
},
"outputs": [],
"source": [
"#*******************************************************************\n",
"# WIDGET: XRD data selection\n",
"# \n",
"# This allows to load a file from the local drive. \n",
"#*******************************************************************\n",
"\n",
"dirname = ''\n",
"filename = ''\n",
"#load default data\n",
"tth,iexp = np.loadtxt(\"Example_data.txt\", unpack = True) #Read experimental data\n",
"iexp[iexp==0] = np.min(iexp[np.nonzero(iexp)]) #Replace any 0s with the minimum value\n",
"iexp /= iexp.max() #Normalize to 1\n",
"th = tth * np.pi/360 #Convert 2theta angle -> theta angles in radians\n",
"\n",
"#*** !TO BE USED WHEN THE NOTEBOOK IS RUNNED LOCALLY ***\n",
"try:\n",
" f=open(\"last_path\", \"r\")\n",
" init_dir=f.read()\n",
" f.close()\n",
"except:\n",
" init_dir=os.getcwd()\n",
"load_button = SelectFilesButton() #this is the custom load file button\n",
"load_button.description = \"NO DATA... PLEASE LOAD XRD FILE.\" \n",
"load_button.layout.width = \"50%\"\n",
"load_button.default_path = init_dir\n",
"\n",
"#*** !TO BE USED WHEN THE NOTEBOOK IS HOSTED ON THE WEB ***\n",
"upload_button=widgets.FileUpload(\n",
" description='Upload XRD data',\n",
" accept='.txt', # Accepted file extension e.g. '.txt', '.pdf', 'image/*', 'image/*,.pdf'\n",
" multiple=False, # True to accept multiple files upload else False\n",
" layout=Layout(width='25%')\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2025-07-17T12:11:22.792458Z",
"start_time": "2025-07-17T12:11:22.501624Z"
}
},
"outputs": [],
"source": [
"#***************************************************************************\n",
"# WIDGETS: define the experiment / material / Strain+Debye-Waller parameters\n",
"#***************************************************************************\n",
"\n",
"resol_fct = widgets.Dropdown(\n",
" options=['Pseudo-Voigt', 'Gaussian', 'Lorentzian', 'Generalized bell', 'Split pseudo-Voigt'],\n",
" value='Gaussian',\n",
" description='Resolution',\n",
" disabled=False,\n",
" continuous_update=False\n",
")\n",
"\n",
"resol_width = widgets.Text(\n",
" value='0.01',\n",
" placeholder='Full width at half-maximum',\n",
" description='FWHM (°)',\n",
" disabled=False,\n",
" continuous_update=False,\n",
")\n",
"resol_shape = widgets.Text(\n",
" value='0.001',\n",
" placeholder='eta',\n",
" description='Shape',\n",
" disabled=False,\n",
" continuous_update=False\n",
")\n",
"\n",
"# Wavelength, offset and background\n",
"exp_wl = widgets.Text(\n",
" value='1.5406',\n",
" placeholder='Wavelength',\n",
" description='Wavelength '+ u\"(\\u212B)\",\n",
" disabled=False,\n",
" continuous_update=False,\n",
" style = {'description_width': 'initial'}\n",
")\n",
"exp_offset = widgets.Text(\n",
" value='0.',\n",
" placeholder='2 theta offset',\n",
" description='2'+u\"\\u03B8\"+' offset (°)',\n",
" disabled=False,\n",
" continuous_update=False\n",
")\n",
"exp_bkg = widgets.Text(\n",
" value='0.',\n",
" placeholder='Background',\n",
" description='Background',\n",
" disabled=False,\n",
" continuous_update=False\n",
")\n",
"\n",
"#*** Widgets for the \"Material\" tab ***\n",
"# Type of crystal and Miller indices\n",
"cryst_name = widgets.Dropdown(\n",
" options=sorted(os.listdir('structures/')),\n",
" value='ZrO2.cif',\n",
" description='Material',\n",
" disabled=False,\n",
")\n",
"cryst_h = widgets.Text(\n",
" value='0',\n",
" placeholder='h',\n",
" description='h',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" layout=Layout(width='20%')\n",
")\n",
"cryst_k = widgets.Text(\n",
" value='0',\n",
" placeholder='k',\n",
" description='k',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" layout=Layout(width='20%')\n",
")\n",
"cryst_l = widgets.Text(\n",
" value='4',\n",
" placeholder='l',\n",
" description='l',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" layout=Layout(width='20%')\n",
")\n",
"\n",
"# Sample type (single crystal or film)\n",
"sample = widgets.Dropdown(\n",
" options=['Single crystal', 'Thin film', 'Thick film', 'Thick film + substrate'],\n",
" value='Single crystal',\n",
" description='Sample type',\n",
" disabled=False,\n",
")\n",
"\n",
"#*** Widgets for the \"Strain / Disorder\" tab ***\n",
"# Spline model for strain and DW depth profiles\n",
"sdw_model = widgets.Dropdown(\n",
" options=['B-splines smooth', 'B-splines abrupt'],\n",
" value='B-splines smooth',\n",
" description='Strain/DW depth-profile',\n",
" disabled=False,\n",
" style = {'description_width': 'initial'},\n",
" layout=Layout(width='29%')\n",
")\n",
"sdw_basis = widgets.Text(\n",
" value='6',\n",
" placeholder='Number of basis functions',\n",
" description='Control points',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" style = {'description_width': 'initial'},\n",
" layout=Layout(width='15%')\n",
")\n",
"\n",
"#Strain V-Scale sliders\n",
"strain_scale = widgets.FloatSlider(\n",
" value=1,\n",
" min=0.5, \n",
" max=1.5, \n",
" step=0.01,\n",
" description='Strain: scale',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" orientation='horizontal',\n",
" readout = True\n",
")\n",
"#Strain H-Scale sliders\n",
"strain_shift = widgets.FloatSlider(\n",
" value=0,\n",
" min=-0.1, \n",
" max=0.1, \n",
" step=0.01,\n",
" description='shift',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" orientation='horizontal',\n",
" readout = True\n",
")\n",
"\n",
"# Irradiated thickness and number of slices used for the XRD computation\n",
"th_value = widgets.Text(\n",
" value='100',\n",
" placeholder='Damaged depth (nm)',\n",
" description='Damaged depth (nm) ',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" style = {'description_width': 'initial'},\n",
" layout=Layout(width='29%')\n",
")\n",
"th_slices = widgets.Text(\n",
" value='60',\n",
" placeholder='Number of sub-layers',\n",
" description='Data points',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" style = {'description_width': 'initial'},\n",
" layout=Layout(width='15%')\n",
")\n",
"#DW V-Scale sliders\n",
"dw_scale = widgets.FloatSlider(\n",
" value=1,\n",
" min=0.5,\n",
" max=1.5,\n",
" step=0.01,\n",
" description='DW: scale',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" orientation='horizontal',\n",
" readout = True\n",
")\n",
"#DW H-Scale sliders\n",
"dw_shift = widgets.FloatSlider(\n",
" value=0,\n",
" min=-0.1,\n",
" max=0.1,\n",
" step=0.01,\n",
" description='shift',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" orientation='horizontal',\n",
" readout = True\n",
")\n",
"\n",
"#*** Widgets for the \"Film parameters\" tab ***\n",
"text_film = widgets.HTML(\n",
" value='Modify these parameters only if you are using the \"thick film\" or the \"thick film+substrate\" sample types.'\n",
")\n",
"fth_value = widgets.Text(\n",
" value='1000',\n",
" description='Film thickness (nm)',\n",
" placeholder='Film thickness has to be larger than damaged depth',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" style = {'description_width': 'initial'},\n",
" layout=Layout(width='20%')\n",
") \n",
"\n",
"sub_name = widgets.Dropdown(\n",
" options=sorted(os.listdir('structures/')),\n",
" value=sorted(os.listdir('structures/'))[-1],\n",
" description='Substrate',\n",
" disabled=False,\n",
" layout=Layout(width='20%')\n",
")\n",
"sub_h = widgets.Text(\n",
" value='0',\n",
" placeholder='h',\n",
" description='h',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" layout=Layout(width='20%')\n",
")\n",
"sub_k = widgets.Text(\n",
" value='0',\n",
" placeholder='k',\n",
" description='k',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" layout=Layout(width='19%')\n",
")\n",
"sub_l = widgets.Text(\n",
" value='4',\n",
" placeholder='l',\n",
" description='l',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" layout=Layout(width='19%')\n",
")\n",
"#*** Widgets for the \"Fitting parameters\" tab ***\n",
"algo = widgets.Dropdown(\n",
" options=['Least squares', 'Least squares (no bounds)', 'Simulated annealing (GSA)'],\n",
" value='Least squares',\n",
" description='Fitting algorithm',\n",
" disabled=False,\n",
" style = {'description_width': 'initial'},\n",
" layout=Layout(width='25%')\n",
")\n",
"min_strain = widgets.Text(\n",
" value='0',\n",
" description='Min. strain',\n",
" placeholder='Lower limit for the strain',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" layout=Layout(width='19%')\n",
")\n",
"max_strain = widgets.Text(\n",
" value='5',\n",
" description='Max. strain',\n",
" placeholder='Upper limit for the strain',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" layout=Layout(width='18%')\n",
")\n",
"min_dw = widgets.Text(\n",
" value='0',\n",
" description='Min. DW',\n",
" placeholder='Lower limit for the Debye-Waller',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" layout=Layout(width='18%')\n",
")\n",
"max_dw = widgets.Text(\n",
" value='1',\n",
" description='Max. DW',\n",
" placeholder='Upper limit for the Debye-Waller',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" layout=Layout(width='18%')\n",
")\n",
"text_gsa = widgets.HTML(\n",
" value = 'GSA parameters:',\n",
" layout=Layout(width='15%')\n",
")\n",
"gsa_temp = widgets.Text(\n",
" value='100',\n",
" description='Temperature',\n",
" placeholder='Simulated annealing pseudo-temperature [1-1000]',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" style = {'description_width': 'initial'} \n",
")\n",
"gsa_cycles = widgets.Text(\n",
" value='1000',\n",
" description='Monte-Carlo steps',\n",
" placeholder='Number of Monte Carlo cycles in the GSA routine',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" style = {'description_width': 'initial'}\n",
")\n",
"gsa_Tsteps = widgets.Text(\n",
" value='10',\n",
" description='Cooling stages',\n",
" placeholder='How many temperature dwells',\n",
" disabled=False,\n",
" continuous_update=False,\n",
" style = {'description_width': 'initial'}\n",
")\n",
"\n",
"w_list = [resol_fct, #0\n",
" resol_width, #1\n",
" resol_shape, #2\n",
" exp_wl, #3\n",
" exp_offset, #4\n",
" exp_bkg, #5\n",
" cryst_name, #6\n",
" cryst_h, #7\n",
" cryst_k, #8\n",
" cryst_l, #9\n",
" sample, #10\n",
" sdw_model, #11\n",
" sdw_basis, #12\n",
" th_value, #13\n",
" th_slices, #14\n",
" fth_value, #15\n",
" sub_name, #16\n",
" sub_h, #17\n",
" sub_k, #18\n",
" sub_l, #19\n",
" algo, #20\n",
" min_strain, #21\n",
" max_strain, #22\n",
" min_dw, #23\n",
" max_dw, #24\n",
" gsa_temp, #25\n",
" gsa_cycles, #26\n",
" gsa_Tsteps] #27\n",
"\n",
"# Compute global variables from the widgets\n",
"cst = compute_cst(w_list,th)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2025-07-17T12:11:22.850356Z",
"start_time": "2025-07-17T12:11:22.795155Z"
},
"scrolled": false
},
"outputs": [],
"source": [
"#*******************************************************************\n",
"# WIDGETS: interactive plots of strain, DW and XRD \n",
"#*******************************************************************\n",
"\n",
"eps = max(auto_strain(tth, iexp, cst), 0.1)\n",
"sp = np.full(cst[\"sdw_basis\"], eps)\n",
"dwp = np.ones(cst[\"sdw_basis\"]) \n",
" \n",
"#Create backup (used for to restore saved data when fit is cancelled) \n",
"sp_back, dwp_back = np.copy(sp), np.copy(dwp)\n",
"\n",
"# compute the initial strain, DW and intensity\n",
"strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
"dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
"ical, t0 = f_Refl(th, np.concatenate((sp,dwp)), cst)\n",
"error = rmse(iexp,ical)\n",
"\n",
"old_strain = np.copy(strain)\n",
"old_dw = np.copy(dw)\n",
"\n",
"# compute the values of strain and DW at the control point coords (in1d, around)\n",
"control_sp_x, control_sp_y = control_sp(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
"control_dwp_x, control_dwp_y = control_dwp(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
"\n",
"#********** Strain figure **********\n",
"xscale = LinearScale()\n",
"yscale = LinearScale()\n",
"xax = Axis(scale=xscale, label='', grids='off')\n",
"yax = Axis(scale=yscale, label='Strain (%)', orientation='vertical', grids='off')\n",
"strain_line = Lines(x=(cst[\"t\"]-cst[\"z\"])/10,\n",
" y=strain*100,\n",
" scales={'x': xscale, 'y': yscale})\n",
"strain_scat = Scatter(x=(cst[\"t\"] - control_sp_x)/10, \n",
" y=control_sp_y*100,\n",
" interactions={\"click\": \"select\"},\n",
" selected_style={\"opacity\": 1.0, \"fill\": \"DarkOrange\", \"stroke\": \"Red\"},\n",
" enable_move=True, restrict_y = True,default_size=128,\n",
" scales={'x': xscale, 'y': yscale})\n",
"fig_strain=Figure(marks=[strain_scat, strain_line], axes=[xax, yax], animation_duration = 300)\n",
"\n",
"#********** DW figure **********\n",
"xscale = LinearScale()\n",
"yscale = LinearScale(min=0)#, max = 1.1) #MODIFY HERE TO REMOVE DW UPPER BOUND IN PLOT\n",
"xax = Axis(scale=xscale, label='Depth (nm)')\n",
"yax = Axis(scale=yscale, label='Debye-Waller factor', orientation='vertical', grids='off')\n",
"dw_line = Lines(x=(cst[\"t\"]-cst[\"z\"])/10,\n",
" y=dw,\n",
" scales={'x': xscale, 'y': yscale})\n",
"dw_scat = Scatter(x=(cst[\"t\"] - control_dwp_x)/10, \n",
" y=control_dwp_y,\n",
" interactions={\"click\": \"select\"},\n",
" selected_style={\"opacity\": 1.0, \"fill\": \"DarkOrange\", \"stroke\": \"Red\"},\n",
" enable_move=True, restrict_y = True,default_size=128,\n",
" scales={'x': xscale, 'y': yscale})\n",
"fig_DW=Figure(marks=[dw_scat, dw_line], axes=[xax, yax], animation_duration = 300)\n",
"\n",
"#********** XRD figure **********\n",
"xscale = LinearScale()\n",
"yscale = LinearScale()\n",
"xrd_scat = Scatter(x=th*360/np.pi, y=np.log10(iexp), scales={'x': xscale, 'y': yscale})\n",
"xrd_line = Lines(x=th*360/np.pi, y=np.log10(ical), scales={'x': xscale, 'y': yscale}, colors=['red'])\n",
"\n",
"panzoom = PanZoom(scales={'x': [xscale], 'y': [yscale]})\n",
"xax = Axis(scale=xscale, label='2'+u\"\\u03B8\"+' (deg.)', grids='off')\n",
"yax = Axis(scale=yscale, label='', orientation='vertical', grid_lines='none', visible=False)\n",
"\n",
"fig_XRD = Figure(marks=[xrd_scat, xrd_line], axes=[xax, yax], animation_duration = 300,interaction=panzoom)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2025-07-17T12:11:22.970889Z",
"start_time": "2025-07-17T12:11:22.852496Z"
}
},
"outputs": [],
"source": [
"#*******************************************************************\n",
"# WIDGETS: SAVE EVERYTHING / FIT / CANCEL FIT\n",
"#*******************************************************************\n",
"\n",
"save = widgets.Button(\n",
" description='Save',\n",
" disabled=False,\n",
" button_style='', # 'success', 'info', 'warning', 'danger' or ''\n",
" tooltip='Save all parameters, depth-profiles and simulation'\n",
")\n",
"\n",
"fit = widgets.Button(\n",
" description='Fit',\n",
" disabled=False,\n",
" button_style='', # 'success', 'info', 'warning', 'danger' or ''\n",
" tooltip='Fit experimental data'\n",
")\n",
"\n",
"cancel = widgets.Button(\n",
" description='Cancel',\n",
" disabled=False,\n",
" button_style='', # 'success', 'info', 'warning', 'danger' or ''\n",
" tooltip='Reload previous strain/DW values'\n",
")\n",
"\n",
"out = widgets.Output() #This is an output text area below the GUI\n",
"with out:\n",
" print(\"Computing time: %f4 sec. RMS error: %f4\"%(t0,error))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2025-07-17T12:11:23.236150Z",
"start_time": "2025-07-17T12:11:22.973434Z"
}
},
"outputs": [],
"source": [
"#*******************************************************************\n",
"# EVENT LOOP: OBSERVE ALL WIDGET VALUES AND MOUSE EVENTS\n",
"#*******************************************************************\n",
"#Observe the file load widget (local version)\n",
"def on_file_change(change):\n",
" global dirname, filename, th, iexp, cst, sp, dwp, old_strain, old_dw\n",
" #open data file\n",
" dirname = os.path.dirname(load_button.files[0])\n",
" filename = os.path.basename(load_button.files[0])\n",
" load_button.description = \"File: \"+ os.path.join(dirname, filename)\n",
" \n",
" #save data file path\n",
" f = open(\"last_path\", \"w\")\n",
" f.write(dirname)\n",
" f.close()\n",
" \n",
" #load the xrd data\n",
" tth,iexp = np.loadtxt(load_button.files[0], unpack = True) #Read experimental data\n",
" iexp[iexp==0] = np.min(iexp[np.nonzero(iexp)]) #Replace any 0s with the minimum value\n",
" iexp /= iexp.max() #Normalize to 1\n",
" th = tth * np.pi/360 #Convert 2theta angle -> theta angles in radians\n",
" \n",
" #check if there are widget values stored in the folder. If none keep defaults\n",
" try:\n",
" ipyw_values = np.load(os.path.join(dirname, \"ipyw_values.npy\"), allow_pickle=True).item()\n",
" ipyw_flag = 1\n",
" with out:\n",
" out.clear_output()\n",
" print(\"Found saved session\")\n",
" except:\n",
" ipyw_flag = 0\n",
" with out:\n",
" out.clear_output()\n",
" print(\"No saved session found\")\n",
" if ipyw_flag == 1:\n",
" for i,key in enumerate(ipyw_values):\n",
" w_list[i].value = ipyw_values[key]\n",
"\n",
" #Check if there are saved B-spline weights. If none keep defaults\n",
" try:\n",
" sp, dwp = np.loadtxt(os.path.join(dirname, \"weights.txt\"), unpack=True)\n",
" #Create backup (used for to restore saved data when fit is cancelled) \n",
" sp_back, dwp_back = np.copy(sp), np.copy(dwp)\n",
" #compute the initial strain, DW and intensity\n",
" strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" control_sp_x, control_sp_y = control_sp(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" control_dwp_x, control_dwp_y = control_dwp(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" with out:\n",
" print(\"Found saved B-spline weights\")\n",
" except:\n",
" eps = max(auto_strain(tth, iexp, cst), 0.1)\n",
" sp = np.full(cst[\"sdw_basis\"], eps)\n",
" dwp = np.ones(cst[\"sdw_basis\"]) \n",
" sp_back, dwp_back = np.copy(sp), np.copy(dwp)\n",
" strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" control_sp_x, control_sp_y = control_sp(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" control_dwp_x, control_dwp_y = control_dwp(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" with out:\n",
" print(\"No B-spline weights found\")\n",
" \n",
" #update the strain/DW plots \n",
" with strain_line.hold_sync():\n",
" strain_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" strain_line.y = strain*100\n",
" with strain_scat.hold_sync():\n",
" strain_scat.x = (cst[\"t\"] - control_sp_x)/10\n",
" strain_scat.y = control_sp_y*100\n",
" with dw_line.hold_sync():\n",
" dw_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" dw_line.y = dw\n",
" with dw_scat.hold_sync():\n",
" dw_scat.x = (cst[\"t\"] - control_dwp_x)/10\n",
" dw_scat.y = control_dwp_y\n",
" \n",
" #compute xrd\n",
" cst = compute_cst(w_list,th)\n",
" ical, t0 = f_Refl(th, np.concatenate((sp,dwp)), cst)\n",
" error = rmse(iexp,ical)\n",
" with out:\n",
" print(\"Computing time: %f4 sec. RMS error: %f4\"%(t0,error))\n",
" \n",
" #update xrd plot\n",
" with xrd_scat.hold_sync():\n",
" xrd_scat.x = th*360/np.pi\n",
" xrd_scat.y = np.log10(iexp)\n",
" with xrd_line.hold_sync():\n",
" xrd_line.x = th*360/np.pi\n",
" xrd_line.y = np.log10(ical)\n",
" # create a strain/dw backup (for shift)\n",
" old_strain = np.copy(strain)\n",
" old_dw = np.copy(dw)\n",
" \n",
"load_button.observe(on_file_change, names='files')\n",
"\n",
"\n",
"#Observe the file load widget (online version)\n",
"@out.capture(clear_output=True)\n",
"def on_file_upload(change):\n",
" global dirname, filename, th, iexp, cst, sp, dwp, old_strain, old_dw\n",
" \n",
" filename = (upload_button.metadata[0]['name']) #get the file name from the embedded metadata dict\n",
" raw_data = upload_button.value[filename]['content'].decode() #extract data byte string and convert to str\n",
" try:\n",
" data = np.fromstring(raw_data, dtype=float, sep = ' ') #convert str to 1D np array\n",
" data = data.reshape(int(len(data)/2),2) #reshape to 2cols format\n",
" tth,iexp = data[:,0], data[:,1] #Read experimental data\n",
" iexp[iexp==0] = np.min(iexp[np.nonzero(iexp)]) #Replace any 0s with the minimum value\n",
" iexp /= iexp.max() #Normalize to 1\n",
" th = tth * np.pi/360 #Convert 2theta angle -> theta angles in radians\n",
" # guess strain from data and generate profiles\n",
" eps = max(auto_strain(tth, iexp, cst), 0.1)\n",
" sp = np.full(cst[\"sdw_basis\"], eps)\n",
" dwp = np.ones(cst[\"sdw_basis\"])\n",
" strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" # generate control points\n",
" control_sp_x, control_sp_y = control_sp(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" control_dwp_x, control_dwp_y = control_dwp(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" #compute XRD\n",
" ical, t0 = f_Refl(th, np.concatenate((sp,dwp)), cst)\n",
" error = rmse(iexp,ical)\n",
" with out:\n",
" print(\"Computing time: %f4 sec. RMS error: %f4\"%(t0,error))\n",
" except:\n",
" with out:\n",
" print(\"ERROR. CHECK INPUT DATA: Numbers only in 2-columns space-separated values\")\n",
" print(\"PLEASE REFRESH PAGE.\")\n",
" \n",
" \n",
" \n",
" #update xrd plot\n",
" #panzoom = PanZoom(scales={'x': [xscale], 'y': [yscale]})\n",
" xscale.min = th.min()*360/np.pi\n",
" xscale.max = th.max()*360/np.pi\n",
" yscale.min = np.log10(iexp.min())\n",
" yscale.max = np.log10(iexp.max())\n",
" with xrd_scat.hold_sync():\n",
" xrd_scat.x = th*360/np.pi\n",
" xrd_scat.y = np.log10(iexp)\n",
" with xrd_line.hold_sync():\n",
" xrd_line.x = th*360/np.pi\n",
" xrd_line.y = np.log10(ical)\n",
" #update strain/DW plot \n",
" with strain_line.hold_sync():\n",
" strain_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" strain_line.y = strain*100\n",
" with strain_scat.hold_sync():\n",
" strain_scat.x = (cst[\"t\"] - control_sp_x)/10\n",
" strain_scat.y = control_sp_y*100\n",
" with dw_line.hold_sync():\n",
" dw_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" dw_line.y = dw\n",
" with dw_scat.hold_sync():\n",
" dw_scat.x = (cst[\"t\"] - control_dwp_x)/10\n",
" dw_scat.y = control_dwp_y\n",
" \n",
" # create a strain/dw backup (for shift)\n",
" old_strain = np.copy(strain)\n",
" old_dw = np.copy(dw)\n",
" \n",
" \n",
"upload_button.observe(on_file_upload, names='value')\n",
"\n",
"\n",
"#observe input widgets and update changes\n",
"@out.capture(clear_output=True)\n",
"def update_xrd(change):\n",
" #update the XRD curve only\n",
" global cst\n",
" cst = compute_cst(w_list,th)\n",
" ical, t0 = f_Refl(th, np.concatenate((sp,dwp)), cst)\n",
" xrd_line.y = np.log10(ical)\n",
" error = rmse(iexp,ical)\n",
" with out:\n",
" out.clear_output()\n",
" print(\"Computing time: %f4 sec. RMS error: %f4\"%(t0,error))\n",
"\n",
"@out.capture(clear_output=True) \n",
"def update_all(change):\n",
" #update the strain/DW and XRD curves upon widget modification (except Nb of Bsplines)\n",
" global cst, control_sp_x, control_sp_y, control_dwp_x, control_dwp_y, old_strain, old_dw\n",
" cst = compute_cst(w_list,th)\n",
" # update strain and DW\n",
" strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" # update the values of strain and DW at the control point coords (in1d, around)\n",
" control_sp_x, control_sp_y = control_sp(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" control_dwp_x, control_dwp_y = control_dwp(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" # update the plots\n",
" with strain_line.hold_sync():\n",
" strain_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" strain_line.y = strain*100\n",
" with strain_scat.hold_sync():\n",
" strain_scat.x = (cst[\"t\"] - control_sp_x)/10\n",
" strain_scat.y = control_sp_y*100\n",
" with dw_line.hold_sync():\n",
" dw_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" dw_line.y = dw\n",
" with dw_scat.hold_sync():\n",
" dw_scat.x = (cst[\"t\"] - control_dwp_x)/10\n",
" dw_scat.y = control_dwp_y\n",
" # update XRD\n",
" ical, t0 = f_Refl(th, np.concatenate((sp,dwp)), cst)\n",
" xrd_line.y = np.log10(ical)\n",
" error = rmse(iexp,ical)\n",
" with out:\n",
" out.clear_output()\n",
" print(\"Computing time: %f4 sec. RMS error: %f4\"%(t0,error))\n",
" # create a strain/dw backup (for shift)\n",
" old_strain = np.copy(strain)\n",
" old_dw = np.copy(dw)\n",
"\n",
"@out.capture(clear_output=True)\n",
"def update_all_w_basis(change):\n",
" #update the strain/DW and XRD curves upon Nb of Bsplines modification\n",
" global cst, sp, dwp, control_sp_x, control_sp_y, control_dwp_x, control_dwp_y, old_strain, old_dw\n",
" #read the new value for the number of basis functions\n",
" cst = compute_cst(w_list,th)\n",
" #compute the new weights\n",
" sp_new = old2new_strain(cst[\"z\"], sp, cst[\"t\"], cst[\"sdw_basis\"],cst[\"sdw_model\"])\n",
" dwp_new = old2new_DW(cst[\"z\"], dwp, cst[\"t\"], cst[\"sdw_basis\"],cst[\"sdw_model\"])\n",
" sp, dwp = sp_new, dwp_new\n",
" #compute the corresponding strain and DW\n",
" strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" # update the values of strain and DW at the control point coords (in1d, around)\n",
" control_sp_x, control_sp_y = control_sp(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" control_dwp_x, control_dwp_y = control_dwp(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" # update the plots\n",
" with strain_line.hold_sync():\n",
" strain_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" strain_line.y = strain*100\n",
" with strain_scat.hold_sync():\n",
" strain_scat.x = (cst[\"t\"] - control_sp_x)/10\n",
" strain_scat.y = control_sp_y*100\n",
" with dw_line.hold_sync():\n",
" dw_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" dw_line.y = dw\n",
" with dw_scat.hold_sync():\n",
" dw_scat.x = (cst[\"t\"] - control_dwp_x)/10\n",
" dw_scat.y = control_dwp_y\n",
" # update XRD\n",
" ical, t0 = f_Refl(th, np.concatenate((sp,dwp)), cst)\n",
" error = rmse(iexp,ical)\n",
" xrd_line.y = np.log10(ical)\n",
" with out:\n",
" out.clear_output()\n",
" print(\"Computing time: %f4 sec. RMS error: %f4\"%(t0,error))\n",
" \n",
" # create a strain/dw backup (for shift)\n",
" old_strain = np.copy(strain)\n",
" old_dw = np.copy(dw)\n",
"\n",
"#observe all widgets\n",
"for i, widget in enumerate(w_list):\n",
" if i<=10:\n",
" widget.observe(update_xrd, names='value')\n",
" elif i==12:\n",
" widget.observe(update_all_w_basis, names='value')\n",
" else:\n",
" widget.observe(update_all, names='value')\n",
"\n",
"#observe the strain slider \n",
"@out.capture(clear_output=True)\n",
"def update_strain_scale(change=None):\n",
" global sp, strain, control_sp_y, cst, old_strain\n",
" #get scale factor from widget and modify control points accordingly\n",
" control_sp_y = control_sp_y*strain_scale.value\n",
" strain_scat.y = control_sp_y*100\n",
" #update strain curve\n",
" sp = interp_and_fit_strain(control_sp_x, control_sp_y, cst[\"z\"], sp, cst[\"sdw_model\"]) #compute the weights\n",
" strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" strain_line.y = strain*100 #redraw new strain\n",
" #switch slider back to default value = 1\n",
" strain_scale.value = 1\n",
" #update XRD curve\n",
" cst = compute_cst(w_list,th)\n",
" ical, t0 = f_Refl(th, np.concatenate((sp,dwp)), cst)\n",
" error = rmse(iexp,ical)\n",
" xrd_line.y = np.log10(ical)\n",
" with out:\n",
" out.clear_output()\n",
" print(\"Computing time: %f4 sec. RMS error: %f4\"%(t0,error))\n",
" # create a strain/dw backup (for shift)\n",
" old_strain = np.copy(strain)\n",
"\n",
"strain_scale.observe(update_strain_scale, names = 'value')\n",
"\n",
"#observe the strain shift slider \n",
"@out.capture(clear_output=True)\n",
"def update_strain_shift(change=None):\n",
" global sp, strain, control_sp_y, cst, old_strain\n",
" # create an array twice the initial size to be shifted\n",
" length = int(len(old_strain))\n",
" expanded_strain = np.zeros(2*length)\n",
" expanded_strain[int(length/2):int(3*length/2)]=old_strain\n",
" expanded_strain[int(3*length/2):2*length]=old_strain[-1]\n",
" # get shift factor from widget and shift curve accordingly \n",
" cut = int(strain_shift.value * length)\n",
" shifted_strain = expanded_strain[int(length/2)+cut:int(3*length/2)+cut]\n",
" \n",
" # compute new weights, new strain and update strain curve\n",
" sp = shift_strain(cst[\"z\"], sp, cst[\"t\"], shifted_strain, cst[\"sdw_model\"])\n",
" control_sp_x, control_sp_y = control_sp(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" strain = f_strain(cst[\"z\"], sp, cst[\"t\"], cst[\"sdw_model\"])\n",
" # update plot (for some reason there is no need to update the XRD. Its done via observe_strain_plot)\n",
" strain_line.y = strain*100 #redraw new strain\n",
" strain_scat.y = control_sp_y*100\n",
" # switch slider back to default value = 0\n",
" strain_shift.value = 0\n",
"strain_shift.observe(update_strain_shift, names = 'value')\n",
"\n",
"#observe the dw slider \n",
"@out.capture(clear_output=True)\n",
"def update_dw_scale(change=None):\n",
" global dwp, dw, control_dwp_y, cst, old_dw\n",
" #get scale factor from widget and modify control points accordingly\n",
" control_dwp_y = control_dwp_y*dw_scale.value\n",
"# control_dwp_y[control_dwp_y>1] = 1 #TEMPORARILY REMOVE DW UPPER LIMIT\n",
" dw_scat.y = control_dwp_y\n",
" #update strain curve\n",
" dwp = interp_and_fit_dw(control_dwp_x, control_dwp_y, cst[\"z\"], dwp, cst[\"sdw_model\"]) #compute the weights\n",
" dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" dw_line.y = dw #redraw new strain\n",
" #switch slider back to default value = 1\n",
" dw_scale.value = 1.\n",
" #update XRD and update the curve\n",
" cst = compute_cst(w_list,th)\n",
" ical, t0 = f_Refl(th, np.concatenate((sp,dwp)), cst)\n",
" error = rmse(iexp,ical)\n",
" xrd_line.y = np.log10(ical)\n",
" with out:\n",
" out.clear_output()\n",
" print(\"Computing time: %f4 sec. RMS error: %f4\"%(t0,error))\n",
" # create a strain/dw backup (for shift)\n",
" old_dw = np.copy(dw)\n",
"dw_scale.observe(update_dw_scale, names = 'value')\n",
"\n",
"#observe the dw shift slider \n",
"@out.capture(clear_output=True)\n",
"def update_dw_shift(change=None):\n",
" global dwp, dw, control_dwp_y, cst, old_dw\n",
" # create an array twice the initial size to be shifted\n",
" length = int(len(old_dw))\n",
" expanded_dw = np.ones(2*length)\n",
" expanded_dw[int(length/2):int(3*length/2)]=old_dw\n",
" expanded_dw[int(3*length/2):2*length]=old_dw[-1]\n",
" # get shift factor from widget and shift curve accordingly \n",
" cut = int(dw_shift.value * length)\n",
" shifted_dw = expanded_dw[int(length/2)+cut:int(3*length/2)+cut]\n",
" \n",
" # compute new weights, new strain and update strain curve\n",
" dwp = shift_dw(cst[\"z\"], dwp, cst[\"t\"], shifted_dw, cst[\"sdw_model\"])\n",
" control_dwp_x, control_dwp_y = control_dwp(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" dw = f_DW(cst[\"z\"], dwp, cst[\"t\"], cst[\"sdw_model\"])\n",
" # update plot (for some reason there is no need to update the XRD. Its done via observe_strain_plot)\n",
" dw_line.y = dw #redraw new strain\n",
" dw_scat.y = control_dwp_y\n",
" # switch slider back to default value = 0\n",
" dw_shift.value = 0\n",
"dw_shift.observe(update_dw_shift, names = 'value')\n",
"\n",
"#observe the strain interactive plot\n",
"@out.capture(clear_output=True)\n",
"def update_strain_xrd(change=None):\n",
" global sp, control_sp_x, control_sp_y, cst, old_strain\n",
" \n",
" # get the new control point values\n",
" if np.any(strain_scat.selected):\n",
" old_control_sp_y = np.copy(control_sp_y)\n",
" if len(strain_scat.selected)>1:\n",
" with out:\n",
" print(\"Moving multiple points:\", *strain_scat.selected)\n",
" delta_strain = change['new']/100 - old_control_sp_y #get old-new difference array\n",
" delta_strain = delta_strain[np.nonzero(delta_strain)] #find the delta value\n",
" new_control_sp_y = old_control_sp_y\n",
" new_control_sp_y[strain_scat.selected] += delta_strain #shift only selected points\n",
" else: \n",
" new_control_sp_y = change['new']/100 #get new strain values\n",
" \n",
" #compute the new weights and update the curve\n",
" sp = interp_and_fit_strain(control_sp_x, new_control_sp_y, cst[\"z\"], sp, cst[\"sdw_model\"]) \n",
" strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" with strain_line.hold_sync():\n",
" strain_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" strain_line.y = strain*100 #redraw new strain\n",
" with strain_scat.hold_sync():\n",
" strain_scat.x = (cst[\"t\"] - control_sp_x)/10\n",
" strain_scat.y = new_control_sp_y*100 \n",
" \n",
" control_sp_y = new_control_sp_y #update the control point values\n",
" #update XRD\n",
" cst = compute_cst(w_list,th)\n",
" ical, t0 = f_Refl(th, np.concatenate((sp,dwp)), cst)\n",
" error = rmse(iexp,ical)\n",
" xrd_line.y = np.log10(ical)\n",
" with out:\n",
" out.clear_output()\n",
" print(\"Computing time: %f4 sec. RMS error: %f4\"%(t0,error))\n",
" # create a strain/dw backup (for shift)\n",
" old_strain = np.copy(strain)\n",
"\n",
"strain_scat.observe(update_strain_xrd, names=['y'])\n",
"\n",
"#observe the dw interactive plot\n",
"@out.capture(clear_output=True)\n",
"def update_dw_xrd(change=None):\n",
" global dwp, control_dwp_x, control_dwp_y, cst, old_dw\n",
" \n",
" # get the new control point values\n",
" if np.any(dw_scat.selected):\n",
" old_control_dwp_y = np.copy(control_dwp_y)\n",
" if len(dw_scat.selected)>1:\n",
" with out:\n",
" print(\"Moving multiple points:\", *dw_scat.selected)\n",
" delta_dw = change['new'] - old_control_dwp_y #get old-new difference array\n",
" delta_dw = delta_dw[np.nonzero(delta_dw)] #find the delta value\n",
" new_control_dwp_y = old_control_dwp_y\n",
" new_control_dwp_y[dw_scat.selected] += delta_dw #shift only selected points\n",
" else: \n",
" new_control_dwp_y = change['new'] #get new strain values\n",
"\n",
" #compute the weights \n",
" dwp = interp_and_fit_dw(control_dwp_x, new_control_dwp_y, cst[\"z\"], dwp, cst[\"sdw_model\"])\n",
" dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" with dw_line.hold_sync():\n",
" dw_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" dw_line.y = dw #redraw new dw\n",
" with dw_scat.hold_sync():\n",
" dw_scat.x = (cst[\"t\"] - control_dwp_x)/10\n",
" dw_scat.y = new_control_dwp_y\n",
" \n",
" control_dwp_y = new_control_dwp_y #update the control point values\n",
" #update XRD and update the curve\n",
" cst = compute_cst(w_list,th)\n",
" ical, t0 = f_Refl(th, np.concatenate((sp,dwp)), cst)\n",
" error = rmse(iexp,ical)\n",
" xrd_line.y = np.log10(ical)\n",
" with out:\n",
" out.clear_output()\n",
" print(\"Computing time: %f4 sec. RMS error: %f4\"%(t0,error))\n",
" # create a strain/dw backup (for shift)\n",
" old_dw = np.copy(dw)\n",
"\n",
"dw_scat.observe(update_dw_xrd, names=['y'])\n",
"\n",
"#observe the save button\n",
"def on_save_clicked(b):\n",
" #save the widget values\n",
" ipyw_values = {\n",
" \"resol_fct\": resol_fct.value,\n",
" \"resol_width\": resol_width.value,\n",
" \"resol_shape\": resol_shape.value,\n",
" \"exp_wl\": exp_wl.value,\n",
" \"exp_offset\": exp_offset.value,\n",
" \"exp_bkg\": exp_bkg.value,\n",
" \"cryst_name\": cryst_name.value,\n",
" \"cryst_h\": cryst_h.value,\n",
" \"cryst_k\": cryst_k.value,\n",
" \"cryst_l\": cryst_l.value,\n",
" \"sample\": sample.value,\n",
" \"sdw_model\": sdw_model.value,\n",
" \"sdw_basis\": sdw_basis.value,\n",
" \"th_value\": th_value.value,\n",
" \"th_slices\": th_slices.value,\n",
" \"fth_value\": fth_value.value,\n",
" \"sub_name\": sub_name.value,\n",
" \"sub_h\": sub_h.value,\n",
" \"sub_k\": sub_k.value,\n",
" \"sub_l\": sub_l.value,\n",
" \"algo\": algo.value,\n",
" \"min_strain\": min_strain.value,\n",
" \"max_strain\": max_strain.value,\n",
" \"min_dw\": min_dw.value,\n",
" \"max_dw\": max_dw.value,\n",
" \"gsa_temp\": gsa_temp.value,\n",
" \"gsa_cycles\": gsa_cycles.value,\n",
" \"gsa_Tsteps\": gsa_Tsteps.value\n",
" }\n",
" #if the notebook is runned locally, save the widget values to disk\n",
" if local:\n",
" np.save(os.path.join(dirname, \"ipyw_values.npy\"), ipyw_values)\n",
" with out:\n",
" out.clear_output()\n",
" print(\"Data saved.\")\n",
" \n",
" #save the B-spline weights. If the notebook is runned locally, save the data to disk\n",
" if local: \n",
" np.savetxt(os.path.join(dirname, \"weights.txt\"), np.column_stack((sp,dwp)), fmt=\"%10.8f\")\n",
" \n",
" #save the XRD simulation\n",
" #if the notebook is runned locally, save the data to disk\n",
" #otherwise, the data is downloaded via a base64-encoded data URL\n",
" ical = f_Refl(th, np.concatenate((sp,dwp)), cst)[0]\n",
" out_xrd = np.column_stack((th*360/np.pi,iexp,ical))\n",
" if local: \n",
" np.savetxt(os.path.join(dirname, \"simul_xrd.txt\"), out_xrd, fmt=\"%10.8f\")\n",
" else: \n",
" with out:\n",
" out.clear_output()\n",
" out_xrd = np.array2string(out_xrd, threshold = 1e6) #convert the array to a str\n",
" out_xrd = re.sub('[\\[\\]]', ' ', out_xrd) #remove the [] brackets\n",
" out_xrd = out_xrd.replace(\"\\n\", \"%0A\") #thanks raphj (@linuxfr.org) for this hack\n",
" #The next 2 lines are needed for base64 encoding only\n",
" #out_xrd = base64.b64encode(out_xrd.encode('ascii')) #convert to base64\n",
" #out_xrd = str(out_xrd).replace(\"'\",\"\").replace(\"b\",\"\") #remove the b and the quotes from b64 string\n",
" xrd_link = \"\"\"Download XRD simulation.\"\"\"\n",
" dl_xrd.value = xrd_link\n",
" \n",
" #save the strain/DW depth-profiles\n",
" #if the notebook is runned locally, save the data to disk\n",
" #otherwise, the data is downloaded via a base64-encoded data URL\n",
" strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" depth = (cst[\"t\"]-cst[\"z\"])/10\n",
" out_sdw = np.column_stack((depth,strain,dw))\n",
" if local:\n",
" np.savetxt(os.path.join(dirname, \"simul_strain_dw.txt\"),out_sdw , fmt=\"%10.8f\")\n",
" else: \n",
" out_sdw = np.array2string(out_sdw, threshold = 1e6) #convert the array to a str\n",
" out_sdw = re.sub('[\\[\\]]', ' ', out_sdw) #remove the [] brackets\n",
" out_sdw = out_sdw.replace(\"\\n\", \"%0A\") #thanks raphj (@linuxfr.org) for this hack\n",
" #The next 2 lines are needed for base64 encoding only\n",
" #out_sdw = base64.b64encode(out_sdw.encode('ascii')) #convert to base64\n",
" #out_sdw = str(out_sdw).replace(\"'\",\"\").replace(\"b\",\"\") #remove the b and the quotes from b64 string\n",
" sdw_link = \"Download strain/DW depth profiles.\"\n",
" dl_sdw.value = sdw_link\n",
"\n",
"save.on_click(on_save_clicked)\n",
"\n",
"#observe the fit button\n",
"@out.capture(clear_output=True)\n",
"def on_fit_clicked(b):\n",
" global cst, sp, sp_back, dwp_back, dwp, control_sp_x, control_sp_y, control_dwp_x, control_dwp_y, old_strain, old_dw\n",
" dl_xrd.value = \"\"\n",
" dl_sdw.value = \"\"\n",
" sp_back, dwp_back = np.copy(sp), np.copy(dwp)\n",
" cst = compute_cst(w_list,th)\n",
" with out:\n",
" out.clear_output()\n",
" print (\"Fitting... Please Wait.\")\n",
" t0 = time()\n",
" sp, dwp = fit_curve(th, iexp, np.concatenate((sp,dwp)), cst)\n",
" fit_time = time() - t0\n",
" \n",
" # update XRD\n",
" ical = f_Refl(th, np.concatenate((sp,dwp)), cst)[0]\n",
" error = rmse(iexp, ical)\n",
" xrd_line.y = np.log10(ical)\n",
" \n",
" # update strain and DW\n",
" strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" # update the values of strain and DW at the control point coords (in1d, around)\n",
" control_sp_x, control_sp_y = control_sp(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" control_dwp_x, control_dwp_y = control_dwp(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" # update the plots\n",
" with strain_line.hold_sync():\n",
" strain_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" strain_line.y = strain*100\n",
" with strain_scat.hold_sync():\n",
" strain_scat.x = (cst[\"t\"] - control_sp_x)/10\n",
" strain_scat.y = control_sp_y*100\n",
" with dw_line.hold_sync():\n",
" dw_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" dw_line.y = dw\n",
" with dw_scat.hold_sync():\n",
" dw_scat.x = (cst[\"t\"] - control_dwp_x)/10\n",
" dw_scat.y = control_dwp_y \n",
" with out:\n",
" out.clear_output()\n",
" print(\"Done. Fitting time: %5.4f sec. RMS error: %f4\" %(fit_time, error))\n",
" # create a strain/dw backup (for shift)\n",
" old_strain = np.copy(strain)\n",
" old_dw = np.copy(dw)\n",
"\n",
"fit.on_click(on_fit_clicked)\n",
"\n",
"#observe the cancel button\n",
"def on_cancel_clicked(b):\n",
" global cst, sp, dwp, control_sp_x, control_sp_y, control_dwp_x, control_dwp_y, old_strain, old_dw\n",
" dl_xrd.value = \"\"\n",
" dl_sdw.value = \"\"\n",
" cst = compute_cst(w_list,th)\n",
" sp, dwp = np.copy(sp_back), np.copy(dwp_back)\n",
" with out:\n",
" print(\"Fit cancelled.\")\n",
" \n",
" # update strain and DW\n",
" strain = f_strain(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" dw = f_DW(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" # update the values of strain and DW at the control point coords (in1d, around)\n",
" control_sp_x, control_sp_y = control_sp(cst[\"z\"],sp,cst[\"t\"],cst[\"sdw_model\"])\n",
" control_dwp_x, control_dwp_y = control_dwp(cst[\"z\"],dwp,cst[\"t\"],cst[\"sdw_model\"])\n",
" # update the plots\n",
" with strain_line.hold_sync():\n",
" strain_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" strain_line.y = strain*100\n",
" with strain_scat.hold_sync():\n",
" strain_scat.x = (cst[\"t\"] - control_sp_x)/10\n",
" strain_scat.y = control_sp_y*100\n",
" with dw_line.hold_sync():\n",
" dw_line.x = (cst[\"t\"]-cst[\"z\"])/10\n",
" dw_line.y = dw\n",
" with dw_scat.hold_sync():\n",
" dw_scat.x = (cst[\"t\"] - control_dwp_x)/10\n",
" dw_scat.y = control_dwp_y\n",
" # update XRD\n",
" ical = f_Refl(th, np.concatenate((sp,dwp)), cst)[0]\n",
" xrd_line.y = np.log10(ical)\n",
" # create a strain/dw backup (for shift)\n",
" old_strain = np.copy(strain)\n",
" old_dw = np.copy(dw)\n",
"\n",
"\n",
"cancel.on_click(on_cancel_clicked)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2025-07-17T12:11:23.481363Z",
"start_time": "2025-07-17T12:11:23.240080Z"
},
"scrolled": false
},
"outputs": [],
"source": [
"#*******************************************************************\n",
"# Generate the GUI\n",
"#*******************************************************************\n",
"#Experiment tab\n",
"resol_box = HBox([resol_fct, resol_width, resol_shape])\n",
"exp_box = HBox([exp_wl, exp_offset, exp_bkg])\n",
"exp_tab = VBox([resol_box, exp_box])\n",
"\n",
"#Material tab\n",
"cryst_box = HBox([cryst_name, cryst_h, cryst_k, cryst_l])\n",
"\n",
"#sample_box = HBox([cryst, cryst_h, cryst_k, cryst_l])\n",
"mater_tab = VBox([cryst_box, sample])\n",
"\n",
"#Strain/DW tab\n",
"sdw_box = HBox([sdw_model, sdw_basis, strain_scale, strain_shift])\n",
"th_box = HBox([th_value, th_slices, dw_scale, dw_shift])\n",
"sdw_tab = VBox([sdw_box, th_box])\n",
"\n",
"#Film parameters tab\n",
"sub_box = HBox([fth_value, sub_name, sub_h, sub_k, sub_l])\n",
"film_tab = VBox([text_film, sub_box])\n",
"\n",
"#Fitting tab\n",
"limits = HBox([algo, min_strain, max_strain, min_dw, max_dw])\n",
"gsa = HBox([text_gsa,gsa_temp, gsa_cycles, gsa_Tsteps])\n",
"#fit_tab = VBox([limits, gsa])\n",
"fit_tab = limits\n",
"\n",
"\n",
"#Generate tabs\n",
"tab = widgets.Tab(children=[exp_tab, mater_tab, sdw_tab, film_tab, fit_tab], selected_index = 0)\n",
"tab.set_title(0, 'Experiment')\n",
"tab.set_title(1, 'Material')\n",
"tab.set_title(2, 'Strain / Disorder')\n",
"tab.set_title(3, 'Film parameters')\n",
"tab.set_title(4, 'Fitting parameters')\n",
"\n",
"#Strain/DW/XRD plots\n",
"fig_strain.layout.height = '50%'\n",
"fig_strain.layout.width = '640px'\n",
"fig_strain.fig_margin=dict(top=30, bottom=15, left=50, right=10)\n",
"fig_DW.layout.height = '50%'\n",
"fig_DW.layout.width = '640px'\n",
"fig_DW.fig_margin=dict(top=0, bottom=40, left=50, right=10)\n",
"\n",
"\n",
"fig_XRD.layout.width = '640px'\n",
"fig_XRD.fig_margin=dict(top=30, bottom=40, left=10, right=0)\n",
"fig_XRD.display_toolbar=True\n",
"\n",
"items_layout = Layout(overflow_x = 'visible', overflow_y = 'visible') \n",
"fig_sdw = VBox([fig_strain,fig_DW], layout = items_layout)\n",
"\n",
"fig_tot = HBox([fig_sdw, fig_XRD])\n",
"\n",
"savefitcancel = HBox([fit,save,cancel])\n",
"\n",
"dl_xrd = widgets.HTML(\"\")\n",
"dl_sdw = widgets.HTML(\"\")\n",
"\n",
"if local:\n",
" gui = VBox([load_button,tab,fig_tot, savefitcancel,out]) #Local notebook\n",
"else:\n",
" gui = VBox([upload_button,tab,fig_tot, savefitcancel, dl_xrd, dl_sdw, out]) #Web-hosted notebook\n",
"\n",
"gui\n",
"\n",
"#**************************\n",
"#TODO: implement GSA for offline mode\n",
"\n"
]
}
],
"metadata": {
"hide_input": false,
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.12.7"
},
"varInspector": {
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"delete_cmd_postfix": "",
"delete_cmd_prefix": "del ",
"library": "var_list.py",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"delete_cmd_postfix": ") ",
"delete_cmd_prefix": "rm(",
"library": "var_list.r",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
],
"window_display": false
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {
"01e1a1e9e1cd4ddc8598627f74707923": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"022e2ca27554403091498cd6222f5519": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"02b342e164fe45b288d4968ee4b8678d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Background",
"layout": "IPY_MODEL_ce22a98492db4aa5a450dad9d6e54a2d",
"placeholder": "Background",
"value": "0."
}
},
"03ca75aee06d4886a6eb98f9ba8141d1": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Wavelength (A)",
"layout": "IPY_MODEL_051ad276125c40a9bf112d981ae7961d",
"placeholder": "Wavelength",
"value": "1.5406"
}
},
"047cca2f212b41d1b85530a819840547": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"04b3ffb1e5b34b84a87a02072b2e6c5f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"051ad276125c40a9bf112d981ae7961d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"07cf85bb2e4b43e2965c273b9a093c1e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_dc74953413a544bebbef06e2f20296d9",
"IPY_MODEL_aaf893d4c83447559580faa2ff9f4ec8",
"IPY_MODEL_3d890c4f3f7b41bb9f70139863a9907b"
],
"layout": "IPY_MODEL_38fd933a19c6484ab6f5b4f434c7bf2b"
}
},
"080923cf410e4bffb738a43bb2504da3": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_493ad87ff6154b77b084a3da3b05c6cf",
"IPY_MODEL_8fcc9b5c558544b3bc75c504c49e92fd",
"IPY_MODEL_e4eed15d6abf41079fe820bdb807ed78",
"IPY_MODEL_c06dd3d7156e4ac89dfa683ff1b6de2b"
],
"layout": "IPY_MODEL_52f3b23cbcbe497fbd00bd78a2d1b0bd"
}
},
"08451bfa626e413387f81934741fd981": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"0b43d8eebf11451fb48788f18052543e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"0b87ff2463174c22b66a7abbbfe7817f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Thickness (nm)",
"layout": "IPY_MODEL_f434268cbc3f408d9128402992e48816",
"placeholder": "Irradiated thickness (nm)",
"value": "200"
}
},
"0c45d415ab7f4eff841937c026ee5779": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_ef8ab5e48d954ff58fbc9294908162b7",
"IPY_MODEL_b27589063226437f9c10411e307adc03",
"IPY_MODEL_15eb4b79d92b425794cbf0ded921d0b5"
],
"layout": "IPY_MODEL_0e2d523d5c2b4ad0a84c68f4dd23c694"
}
},
"0d43bcc78f2b43958b6bd643d2bb2d8d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"0d553ef22b094062b71951b9ec04bf6c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"0de0091ac746469d98d1cc982620ef8a": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_1dedfc46980c438da3e1a620d2287158",
"IPY_MODEL_17e9b7e5ccf947d088eaef46deed2dd2"
],
"layout": "IPY_MODEL_cea7f8a1bfbb49b5ae932f3dc79ddb66"
}
},
"0e2d523d5c2b4ad0a84c68f4dd23c694": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"0fc12402d7624fc78da19033c8b058ae": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"1210c00847414c71b2becafa8ddf448b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Thickness (nm)",
"layout": "IPY_MODEL_b25fa469a7bb422bad3c7ee35abf4407",
"placeholder": "Irradiated thickness (nm)",
"value": "200"
}
},
"128118b6b903448eaea837b7739ee909": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"12b208a0719b4463a934a49e2938b955": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_bd3a93bc2e1f4c809bddd90a28525495",
"IPY_MODEL_4b7ae754790b4f6280148af4489a761d"
],
"layout": "IPY_MODEL_132073142a20472384868fcf52e11b5e"
}
},
"12f6ebae94e340f8920cd1cd89a97148": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"132073142a20472384868fcf52e11b5e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"133c109275d845ffadde589d2d47ccea": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_c8b70cd487ce4ae0a7e87d60c8a04082",
"IPY_MODEL_2136f7a489874134b54a25f42bb2ee89",
"IPY_MODEL_88f215fe6dab4f6a9e70e00e6d9d654c"
],
"layout": "IPY_MODEL_f8ef29541f6e43f08d73c4def62b2a9d"
}
},
"14039bf021d44b05b0a0bbbae667eb6b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Pseudo-Voigt",
"Gaussian",
"Lorentzian"
],
"_view_module_version": "~2.1.4",
"description": "Resolution",
"layout": "IPY_MODEL_b237ebca2ab749ec9279082f313ae294",
"value": "Pseudo-Voigt"
}
},
"143fd6b4cdd74206a5ee06794f4c6c98": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Single crystal",
"Thin film",
"Thick film",
"Thick film + substrate"
],
"_view_module_version": "~2.1.4",
"description": "Sample",
"layout": "IPY_MODEL_0d553ef22b094062b71951b9ec04bf6c",
"value": "Single crystal"
}
},
"14e321b0e9704e2cb75ac3ee7bc39ada": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"15a5f6176ebf4e558cc8a46524d2c623": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "l",
"layout": "IPY_MODEL_2daa1e4fe87443a2a7d3488af2f565f0",
"placeholder": "l",
"value": "0"
}
},
"15eb4b79d92b425794cbf0ded921d0b5": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Shape",
"layout": "IPY_MODEL_44d5b4c0f90f4de09750d480ed844366",
"placeholder": "eta",
"value": "0.1"
}
},
"1609c69d8cba4076adab750a7a196980": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"163eb35e5f5542a5a83683bcc16e70f6": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"16455feae5dc47a3a2891e48306e5faf": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Basis functions",
"layout": "IPY_MODEL_d7355b6686cd4fa3b7a8d9640f62f244",
"placeholder": "Number of basis functions",
"value": "6"
}
},
"16ec1f084f7d497d96d1921a758c2621": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "l",
"layout": "IPY_MODEL_04b3ffb1e5b34b84a87a02072b2e6c5f",
"placeholder": "l",
"value": "0"
}
},
"1773d96fbc034129b9dfa56fb276721c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_34c8e4e09e324ffcaa1cb3b4139caa50",
"IPY_MODEL_fa5b9cbaf05344bcbaa152eda1f64a24"
],
"layout": "IPY_MODEL_d17d9bff9b7d428f915196ab1ca2e58e"
}
},
"17e9b7e5ccf947d088eaef46deed2dd2": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_68e45ebeddb64cc188e7976136c43b98",
"IPY_MODEL_c756de02a2444424bc08d4bb3938464f"
],
"layout": "IPY_MODEL_afe8d26de46b454cbe62123625ac4f0d"
}
},
"181d20882e0e4756b706199a4e7c71d5": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"1854f82b447d4428b2419b25e774859f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"1ac2a650bfb144f0bb64b10e41c62ba7": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_ba891412ad8941ed8449b0a71bd9fb30",
"IPY_MODEL_1cd434e200df4a3287d6dd16ca10429d"
],
"layout": "IPY_MODEL_361c425234b44a9d8fd08378850f9a10"
}
},
"1b06fbc8452648cd983aa33675045de3": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"1b1ce12bf84a4867a826f10b863dc651": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_dc3096bbf1c143e197a724d0915923d8",
"IPY_MODEL_5681b66f9310412e8f29cf64a086cca1"
],
"layout": "IPY_MODEL_2ae1b2e062c349079d27545862c8321e"
}
},
"1b9f7bf27fea4ec5be3b6c6ef5ecf5b4": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"1cd434e200df4a3287d6dd16ca10429d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Basis functions",
"layout": "IPY_MODEL_b78e229eb7bd485cbd10d92f2c5990f1",
"placeholder": "Number of basis functions",
"value": "6"
}
},
"1de636fbdd144ae082e1f9ac5c66d515": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"1dedfc46980c438da3e1a620d2287158": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_e3cad2050f8b402fb3ebafb71f5c2eec",
"IPY_MODEL_16455feae5dc47a3a2891e48306e5faf"
],
"layout": "IPY_MODEL_5097bbbe3a254c1982a228efc65767da"
}
},
"1e6b3aefd5f44bce9ef0815b76792a3a": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"B-splines smooth",
"B-spline abrupt"
],
"_view_module_version": "~2.1.4",
"description": "Model",
"layout": "IPY_MODEL_5d2b92d559c14f0fa46e37bc12b3295f",
"value": "B-splines smooth"
}
},
"1ec97cead0154914817ee34f756dce39": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"SrTiO3.cif"
],
"_view_module_version": "~2.1.4",
"description": "Crystal",
"layout": "IPY_MODEL_de0ba05a068a467c886d30243206d90b",
"value": "SrTiO3.cif"
}
},
"1fd88921555041338e10f1c2999406c9": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"2136f7a489874134b54a25f42bb2ee89": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "FWHM (°)",
"layout": "IPY_MODEL_65e544261a374440a5ab365edcdf9938",
"placeholder": "Full width at half-maximum",
"value": "0.003"
}
},
"213753488f9e405b94d03aafff67e8e3": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"21dd3f7acda249f581f27693c94f3332": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_9ed0696f6ec148cfbbd4cc5613c454bb",
"IPY_MODEL_b7179e50c2b3444f92811e9af0404191"
],
"layout": "IPY_MODEL_557b0a9c9d554dffbdb85b1b7e9925d0"
}
},
"22d3d69a9d904d4faae5f5496744993d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"2377e4209632450385b8c6e5d097408b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"239b70b5dda24765adfd261c2dbefa73": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Number of slices",
"layout": "IPY_MODEL_cf68a6d90a4a480fa8f7813ea9863b70",
"placeholder": "Number of slices",
"value": "100"
}
},
"23f95150837747239450a370e11c8a27": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"2428e093366144bfbd785b555cf59f4e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"252056ee1b634f0088a1d99ce6a9f367": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"263fbe6c98c4490aae23a9cbe48eb852": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"2712adcefff445faabf594a9456a49bd": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Single crystal",
"Thin film",
"Thick film",
"Thick film + substrate"
],
"_view_module_version": "~2.1.4",
"description": "Sample",
"layout": "IPY_MODEL_4d6dccd3d15f499f93a5e368666a3ca3",
"value": "Single crystal"
}
},
"290b42d5885c42588fdde167c2b9e76c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"2a96f6566d424bb8bf2797705553083b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"2aab23f08c8b41f6beaa49df3e4bcd2e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_080923cf410e4bffb738a43bb2504da3",
"IPY_MODEL_3075c6b71ea64e9f9646c1faa5fc5c74"
],
"layout": "IPY_MODEL_53e34df7adc74a5cb9bf5f90271f6d7c"
}
},
"2ab8de0847df4488bd24eaefa461d839": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"2ae1b2e062c349079d27545862c8321e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"2cece8ae58274107b668274cdc56432e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"2daa1e4fe87443a2a7d3488af2f565f0": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"2fd29fc594664da78a80c501471e0827": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Background",
"layout": "IPY_MODEL_c28509d395d74b82a4b347809efa9b62",
"placeholder": "Background",
"value": "0."
}
},
"2ffccff6795541d4bd32e70d54999dff": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"3028205d98c04b97bf0bee8558fbb302": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"3075c6b71ea64e9f9646c1faa5fc5c74": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Single crystal",
"Thin film",
"Thick film",
"Thick film + substrate"
],
"_view_module_version": "~2.1.4",
"description": "Sample",
"layout": "IPY_MODEL_64f09dcba3e145f3a1aa7c7df916a3a5",
"value": "Single crystal"
}
},
"312029fc5faf4354a577f82167404a50": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Background",
"layout": "IPY_MODEL_d6e08c4d6f1e4188905b878529acb30f",
"placeholder": "Background",
"value": "0."
}
},
"31909de2a4f34faf9aa1f3ea40966142": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Basis functions",
"layout": "IPY_MODEL_5388da8f750a4f57b02d7ee7944ab69e",
"placeholder": "Number of basis functions",
"value": "6"
}
},
"3268d529dbb94f1dab602d3f4def4733": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"32992b28f23f4eaab9d81c4e7ca639d7": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Background",
"layout": "IPY_MODEL_ea89874dc7ee44588091f6422cf61217",
"placeholder": "Background",
"value": "0."
}
},
"33afc9d0613a4c9db61065b8f368aca9": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"34c8e4e09e324ffcaa1cb3b4139caa50": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_3c5ae15be6a349a686fa66a3fd58ee73",
"IPY_MODEL_e6cc81b70c38436397ae0599f6eafd6c",
"IPY_MODEL_a513eff9a588416696ffb490f039873e"
],
"layout": "IPY_MODEL_e6eb2ab31cf94d0195dd175457e4e7b6"
}
},
"35696efdc2c544909730e175ae2c2e3f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"361c425234b44a9d8fd08378850f9a10": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"3669c31e36974388a584383b3b70a809": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "h",
"layout": "IPY_MODEL_a6529cfa415f4d089d0041ad80e91360",
"placeholder": "h",
"value": "0"
}
},
"38fd933a19c6484ab6f5b4f434c7bf2b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"393960dab8c7428e942331ff1fcedbb5": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"39a8a40f91b24dd8be858ada2e55030d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_ccb40e2fa35e4d069f1adba6fdaa3dad",
"IPY_MODEL_8a7b3dcfc80d490f8458b265c0136724"
],
"layout": "IPY_MODEL_b4d0e83bdb764b48910dbb56650562dc"
}
},
"3a128ef63a3843fab9250bc0e7d20ed2": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Wavelength (A)",
"layout": "IPY_MODEL_d095f44b59c34d6d896f029664c987ee",
"placeholder": "Wavelength",
"value": "1.5406"
}
},
"3a76248cff414856840e1912be4ecc02": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"3c5ae15be6a349a686fa66a3fd58ee73": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Pseudo-Voigt",
"Gaussian",
"Lorentzian"
],
"_view_module_version": "~2.1.4",
"description": "Resolution",
"layout": "IPY_MODEL_4fe3043fc9d24a77ad6ea5f4032c9056",
"value": "Pseudo-Voigt"
}
},
"3d890c4f3f7b41bb9f70139863a9907b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Background",
"layout": "IPY_MODEL_f397182b6e1c4e688fd21150369c2ae5",
"placeholder": "Background",
"value": "0."
}
},
"3e485df25eaf40448c6124d5ce70307c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_74b0cab678dc4d6a849606a55acc87dd",
"IPY_MODEL_a901bed71dbd4fec8c4b81fca39d0c43",
"IPY_MODEL_ae3f8f5af16a4144a5a72f70160638ad",
"IPY_MODEL_16ec1f084f7d497d96d1921a758c2621"
],
"layout": "IPY_MODEL_2a96f6566d424bb8bf2797705553083b"
}
},
"3feabbddb69e45838f77d79b3e44d1b4": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"3ffebd9906a4453e94568ac2f90719f7": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"40cf40c7a3094d4e9c9a796663157852": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"433b2861c5ed4f95bbe6197ef7824d84": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"443cdd33a9e04020a5b0ddf8b059a07d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_7daf23dc8cea4472943eda93334ec8ef",
"IPY_MODEL_31909de2a4f34faf9aa1f3ea40966142"
],
"layout": "IPY_MODEL_bb16debbb2c446029ec8f9f1a17a89cc"
}
},
"44a63b65700a436c83ed5f5e879b8595": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"44d5b4c0f90f4de09750d480ed844366": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"4584e377e51b40e6a7aed64571e78472": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "\\(2\\theta \\) offset (°)",
"layout": "IPY_MODEL_6fa5556634ea4950bf762e381dde94a9",
"placeholder": "2 theta offset",
"value": "0."
}
},
"45c04d0ab69045779767991f479cf54b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"SrTiO3.cif"
],
"_view_module_version": "~2.1.4",
"description": "Crystal",
"layout": "IPY_MODEL_c012b61f57044527b82d53f61ff569aa",
"value": "SrTiO3.cif"
}
},
"461dacfe9a99497e93b2b56a0f0e20b5": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"493ad87ff6154b77b084a3da3b05c6cf": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"SrTiO3.cif"
],
"_view_module_version": "~2.1.4",
"description": "Crystal",
"layout": "IPY_MODEL_4af939a4ba294f809b28382eb181e819",
"value": "SrTiO3.cif"
}
},
"4af939a4ba294f809b28382eb181e819": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"4afc06fff8874d06988440d41d58dc93": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"4b7ae754790b4f6280148af4489a761d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_e75569b679574e69b589425ef4504bee",
"IPY_MODEL_239b70b5dda24765adfd261c2dbefa73"
],
"layout": "IPY_MODEL_3268d529dbb94f1dab602d3f4def4733"
}
},
"4b7c1a7c7d504f2ab055414ee091f88d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"4cd7733f84014012bb375a64bc7c7256": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "AccordionModel",
"state": {
"_model_module_version": "~2.1.4",
"_titles": {
"0": "Experimental Parameters",
"1": "Material Parameters",
"2": "Strain / Disorder"
},
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_7bd87629b95d40e1875f89093d360fe0",
"IPY_MODEL_a0a27febffaf4dbe9872aa9f23e1096f",
"IPY_MODEL_12b208a0719b4463a934a49e2938b955"
],
"layout": "IPY_MODEL_252056ee1b634f0088a1d99ce6a9f367"
}
},
"4d539857ecf94810bcf974c0f7b1ff72": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "AccordionModel",
"state": {
"_model_module_version": "~2.1.4",
"_titles": {
"0": "Experimental Parameters",
"1": "Material Parameters",
"2": "Strain / Disorder"
},
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_dd5c99cb541e4697ac31b7c4cd1da22d",
"IPY_MODEL_71502a598905442c9754d8d92e68fc45",
"IPY_MODEL_ddbfe259326b4a34a2b5801077de9eb1"
],
"layout": "IPY_MODEL_bf95a749992d4451907616b02074626d"
}
},
"4d6dccd3d15f499f93a5e368666a3ca3": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"4db067178fd04a24aca9a33cd723e415": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"4eed6df091a54673a3988e3c1945f4fe": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "AccordionModel",
"state": {
"_model_module_version": "~2.1.4",
"_titles": {
"0": "Experimental Parameters",
"1": "Material Parameters",
"2": "Strain / Disorder"
},
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_7bcc019cb74a41f496d497cefdd0a804",
"IPY_MODEL_2aab23f08c8b41f6beaa49df3e4bcd2e",
"IPY_MODEL_9234176593d84c5896b8dddadb8e804f"
],
"layout": "IPY_MODEL_96a9cf617e8a4df6a84e0cc747782b0e",
"selected_index": -1
}
},
"4fe3043fc9d24a77ad6ea5f4032c9056": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"50434795399245b7a8e7c3a6dfc2be78": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "l",
"layout": "IPY_MODEL_4db067178fd04a24aca9a33cd723e415",
"placeholder": "l",
"value": "0"
}
},
"5097bbbe3a254c1982a228efc65767da": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"523efb61586c4c50bc5a60b8fe6ed224": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Basis functions",
"layout": "IPY_MODEL_cfd013224b314a9eb7bc3e389deb444a",
"placeholder": "Number of basis functions",
"value": "6"
}
},
"52db681b61674c90917253c27daa8b73": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"52f3b23cbcbe497fbd00bd78a2d1b0bd": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"535016ca7f3a4a1fbc9075ebfbcc797a": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"5388da8f750a4f57b02d7ee7944ab69e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"53cd2052c711499cb7adfb953428597e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"53e34df7adc74a5cb9bf5f90271f6d7c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"557b0a9c9d554dffbdb85b1b7e9925d0": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"55c7ce4c507844d086a77e5a6bdc4ae4": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"56639096223a4305b5cbdf36df8dfc9e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Wavelength (A)",
"layout": "IPY_MODEL_2377e4209632450385b8c6e5d097408b",
"placeholder": "Wavelength",
"value": "1.5406"
}
},
"5681b66f9310412e8f29cf64a086cca1": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Basis functions",
"layout": "IPY_MODEL_1b06fbc8452648cd983aa33675045de3",
"placeholder": "Number of basis functions",
"value": "6"
}
},
"56c361dfdb70488793df7e8f59d6b2e7": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"SrTiO3.cif"
],
"_view_module_version": "~2.1.4",
"description": "Crystal",
"layout": "IPY_MODEL_88f9b242da304dfa824dab1f71d32a90",
"value": "SrTiO3.cif"
}
},
"58f7ccc6fea54233912b8f134a341491": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"59dfeb9c46314755ab8fbe2ef17a3a40": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"5bf4607014354c46bac6cd201a15d7b3": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"5c875f1f60a148418065755db24a5d92": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Shape",
"layout": "IPY_MODEL_33afc9d0613a4c9db61065b8f368aca9",
"placeholder": "eta",
"value": "0.1"
}
},
"5d2b92d559c14f0fa46e37bc12b3295f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"5e27a2af440a4f3693852a6dfd18be99": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"5efc3c7747d649f7a25c83428ed9bc33": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "FWHM (°)",
"layout": "IPY_MODEL_22d3d69a9d904d4faae5f5496744993d",
"placeholder": "Full width at half-maximum",
"value": "0.003"
}
},
"5f19746bf8484956ae1c0cb1e599fedd": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_56639096223a4305b5cbdf36df8dfc9e",
"IPY_MODEL_be32278fa80d4add960cfd4114b1d8ec",
"IPY_MODEL_99420b9ab2ba4aaa8070502c34d97a44"
],
"layout": "IPY_MODEL_53cd2052c711499cb7adfb953428597e"
}
},
"61b59c32698d4c6da78d741b14b84d16": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"61e1b195fa294450a988a471cd6419a3": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"61fbfce41317443fa75ee9614e2538df": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"621afae08a6b423a95a56a5603ad7a02": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_dc40dfd1dfb246bea46fa8c5f2ed7959",
"IPY_MODEL_ea56a1df1c704d989d21c94712c21f3b"
],
"layout": "IPY_MODEL_adbcb9bc27984d08b37cde7524cf48a9"
}
},
"62465def71b9420e925dba7f23eadb63": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"63d651dd1b424e52ba4b71eb4cb6fe5c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "l",
"layout": "IPY_MODEL_6c8e7604eebd463e892a3c34796508f2",
"placeholder": "l",
"value": "0"
}
},
"64310224de054d05be87f7b021091425": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_90f54ab372c643a7806462b16171386d",
"IPY_MODEL_bdeb021ac56f4f5885eae1b2c16e6884",
"IPY_MODEL_9aa303424caa423c8d0434f96e8ec80d",
"IPY_MODEL_50434795399245b7a8e7c3a6dfc2be78"
],
"layout": "IPY_MODEL_40cf40c7a3094d4e9c9a796663157852"
}
},
"64cb8c43907e4116afd9a7c8d5904eec": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "FWHM (°)",
"layout": "IPY_MODEL_4afc06fff8874d06988440d41d58dc93",
"placeholder": "Full width at half-maximum",
"value": "0.003"
}
},
"64f09dcba3e145f3a1aa7c7df916a3a5": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"65bff97b2657404b8869f409bddc8c5e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Number of slices",
"layout": "IPY_MODEL_f612f6b409524fb28ca13d1bf452efd7",
"placeholder": "Number of slices",
"value": "100"
}
},
"65ccd66b950645e6b5cdbec9bdd6af12": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_1210c00847414c71b2becafa8ddf448b",
"IPY_MODEL_89c5f864878b40f5ad84532702a48b8c"
],
"layout": "IPY_MODEL_f4226babf5df491a9343cee57709f984"
}
},
"65e544261a374440a5ab365edcdf9938": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"6657c896b552436dbdbdf8cd775eabe1": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Thickness (nm)",
"layout": "IPY_MODEL_14e321b0e9704e2cb75ac3ee7bc39ada",
"placeholder": "Irradiated thickness (nm)",
"value": "200"
}
},
"67859f19990e4ade908c5936f7a0e37c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"68e45ebeddb64cc188e7976136c43b98": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Thickness (nm)",
"layout": "IPY_MODEL_08451bfa626e413387f81934741fd981",
"placeholder": "Irradiated thickness (nm)",
"value": "200"
}
},
"6c8e7604eebd463e892a3c34796508f2": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"6cb2f1453f5a478f91571787702fb1e7": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "AccordionModel",
"state": {
"_model_module_version": "~2.1.4",
"_titles": {
"0": "Experimental Parameters",
"1": "Material Parameters",
"2": "Strain / Disorder"
},
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_7f669a325e9047ea8e05222d7d6c540f",
"IPY_MODEL_824f066082434d4dad36089b42a2805e",
"IPY_MODEL_7a7c1c5bc7804bb2aef03c9338692cbb"
],
"layout": "IPY_MODEL_1b9f7bf27fea4ec5be3b6c6ef5ecf5b4"
}
},
"6cb639f7f5ae4ba6a7f84dd1ba1e6add": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"6d2b4d0c214740b5b2b80876b0525089": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_f7c6fad43b944446a76fbf596c080409",
"IPY_MODEL_f24b67482c9544dc8ee6138464b2f674",
"IPY_MODEL_312029fc5faf4354a577f82167404a50"
],
"layout": "IPY_MODEL_12f6ebae94e340f8920cd1cd89a97148"
}
},
"6e53f4447491472885dc58007d133983": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Shape",
"layout": "IPY_MODEL_db216d66f630478bb51f8f03ecef3c35",
"placeholder": "eta",
"value": "0.1"
}
},
"6fa5556634ea4950bf762e381dde94a9": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"71502a598905442c9754d8d92e68fc45": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_64310224de054d05be87f7b021091425",
"IPY_MODEL_80124985e68b4b1e9e4cfa0b5f8a569b"
],
"layout": "IPY_MODEL_2ab8de0847df4488bd24eaefa461d839"
}
},
"7157f2f346ff4b83b89c95ad8b0e1e8d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_3a128ef63a3843fab9250bc0e7d20ed2",
"IPY_MODEL_4584e377e51b40e6a7aed64571e78472",
"IPY_MODEL_02b342e164fe45b288d4968ee4b8678d"
],
"layout": "IPY_MODEL_96f47c8f2a5d4de4a9dd7d6b6f639d3b"
}
},
"71f6fb39b3fe4cfdaa985e32dd4731ca": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"72d118cff2194dd9b253bc51f119f40c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"73d04f721ed34ab1b6d21d458f38b750": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"74b0cab678dc4d6a849606a55acc87dd": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"SrTiO3.cif"
],
"_view_module_version": "~2.1.4",
"description": "Crystal",
"layout": "IPY_MODEL_1de636fbdd144ae082e1f9ac5c66d515",
"value": "SrTiO3.cif"
}
},
"784c2bb9b7e94da3949772fd40e1e095": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Number of slices",
"layout": "IPY_MODEL_93b59fe3fc044d8db89b95a95c97e309",
"placeholder": "Number of slices",
"value": "100"
}
},
"790ea191ee6646b5bb83aad35a55172c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_1ec97cead0154914817ee34f756dce39",
"IPY_MODEL_3669c31e36974388a584383b3b70a809",
"IPY_MODEL_832a98e2a878414986c41458066ab435",
"IPY_MODEL_bb435e3e0b8746c58e4e4100d1c7f9fc"
],
"layout": "IPY_MODEL_e22d54a1a2bc499ab19b1b70f0266030"
}
},
"7a1c35781d0e4497a494e479190046f4": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "AccordionModel",
"state": {
"_model_module_version": "~2.1.4",
"_titles": {
"0": "Experimental Parameters",
"1": "Material Parameters",
"2": "Strain / Disorder"
},
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_e0256ba0689d41acb3781967608716be",
"IPY_MODEL_f2adf5a142c342ff91682d5fd86f0135",
"IPY_MODEL_0de0091ac746469d98d1cc982620ef8a"
],
"layout": "IPY_MODEL_022e2ca27554403091498cd6222f5519"
}
},
"7a1ea1d498a8496da6c73b9154b1850e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "AccordionModel",
"state": {
"_model_module_version": "~2.1.4",
"_titles": {
"0": "Experimental Parameters",
"1": "Material Parameters",
"2": "Strain / Disorder"
},
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_1773d96fbc034129b9dfa56fb276721c",
"IPY_MODEL_621afae08a6b423a95a56a5603ad7a02",
"IPY_MODEL_8e14213cd6cd4b03a46f99b31f96e63e"
],
"layout": "IPY_MODEL_7a30e68b0e054686884f5883944a1fb7"
}
},
"7a30e68b0e054686884f5883944a1fb7": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"7a5267fe732440688a40f8beb880d64d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "k",
"layout": "IPY_MODEL_8e66d4953f6e4a20b6cb62627b9ef706",
"placeholder": "k",
"value": "0"
}
},
"7a7c1c5bc7804bb2aef03c9338692cbb": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_21dd3f7acda249f581f27693c94f3332",
"IPY_MODEL_39a8a40f91b24dd8be858ada2e55030d"
],
"layout": "IPY_MODEL_acc0da2c68a64d39a10cbd30154a32a5"
}
},
"7bcc019cb74a41f496d497cefdd0a804": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_cd01bf9a7da74b82a752e3d264e46b06",
"IPY_MODEL_07cf85bb2e4b43e2965c273b9a093c1e"
],
"layout": "IPY_MODEL_949a04a4f5354ba2ad293ab1a945dd24"
}
},
"7bd87629b95d40e1875f89093d360fe0": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_b29508a4cf0640939358759ec65143ce",
"IPY_MODEL_6d2b4d0c214740b5b2b80876b0525089"
],
"layout": "IPY_MODEL_c4f79cf3854445119021b81072e50a0a"
}
},
"7c04aa8271c349308325029ed69bd047": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Number of slices",
"layout": "IPY_MODEL_23f95150837747239450a370e11c8a27",
"placeholder": "Number of slices",
"value": "100"
}
},
"7daf23dc8cea4472943eda93334ec8ef": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"B-splines smooth",
"B-spline abrupt"
],
"_view_module_version": "~2.1.4",
"description": "Model",
"layout": "IPY_MODEL_f025f9010fb944f5abfa5a2e02d7631d",
"value": "B-splines smooth"
}
},
"7efc22f8fcc84989af8b84f5fafa6cc0": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_8ae410fcc74d4b058c396078f62b0d35",
"IPY_MODEL_143fd6b4cdd74206a5ee06794f4c6c98"
],
"layout": "IPY_MODEL_7fe6f60d28c545c69f534b48cbf66652"
}
},
"7f669a325e9047ea8e05222d7d6c540f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_133c109275d845ffadde589d2d47ccea",
"IPY_MODEL_5f19746bf8484956ae1c0cb1e599fedd"
],
"layout": "IPY_MODEL_d5f328679f0c4427bff0ef3edabe51f3"
}
},
"7fe6f60d28c545c69f534b48cbf66652": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"80124985e68b4b1e9e4cfa0b5f8a569b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Single crystal",
"Thin film",
"Thick film",
"Thick film + substrate"
],
"_view_module_version": "~2.1.4",
"description": "Sample",
"layout": "IPY_MODEL_9bdca68de6d24041ad8c1d9048c119c2",
"value": "Single crystal"
}
},
"8153b9ee13804473814b8a4d75c8ab34": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"824f066082434d4dad36089b42a2805e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_790ea191ee6646b5bb83aad35a55172c",
"IPY_MODEL_bf99cdbd44e148ee8256bff1a5a1a2f5"
],
"layout": "IPY_MODEL_6cb639f7f5ae4ba6a7f84dd1ba1e6add"
}
},
"82d238d6b7ee4b17a8333acf95b3359d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "\\(2\\theta \\) offset (°)",
"layout": "IPY_MODEL_cd32332bfc2e4d05a89f928095e1cb46",
"placeholder": "2 theta offset",
"value": "0."
}
},
"832a98e2a878414986c41458066ab435": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "k",
"layout": "IPY_MODEL_ebe4b3b1450f4ed09ca2d45c3473c60e",
"placeholder": "k",
"value": "0"
}
},
"834cf4559d2a4a6a92e377fc34d1d7fa": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"83607d09d3a549719f44cbe4117ec3f7": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "k",
"layout": "IPY_MODEL_047cca2f212b41d1b85530a819840547",
"placeholder": "k",
"value": "0"
}
},
"8370939114cb4edcbbba66d4c91412dd": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_1b1ce12bf84a4867a826f10b863dc651",
"IPY_MODEL_9d07ac877a744eb8b95d29ead14bcc19"
],
"layout": "IPY_MODEL_c2a1f50df49f45bc9651dcdf2348f44c"
}
},
"84a2f63be79845cf927061e3e9157a6d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_03ca75aee06d4886a6eb98f9ba8141d1",
"IPY_MODEL_c3ba6b2c36c3478186578320011d0434",
"IPY_MODEL_32992b28f23f4eaab9d81c4e7ca639d7"
],
"layout": "IPY_MODEL_abf88a8ed1dc44849308fca46a73ac67"
}
},
"87ca6d7ad0e1449a885dc41abe433033": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_45c04d0ab69045779767991f479cf54b",
"IPY_MODEL_b30b864d0dd5486ebe2d4dae5215c72e",
"IPY_MODEL_83607d09d3a549719f44cbe4117ec3f7",
"IPY_MODEL_63d651dd1b424e52ba4b71eb4cb6fe5c"
],
"layout": "IPY_MODEL_290b42d5885c42588fdde167c2b9e76c"
}
},
"88f215fe6dab4f6a9e70e00e6d9d654c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Shape",
"layout": "IPY_MODEL_8be4a912c71e4200ab48ec5f2ee0569e",
"placeholder": "eta",
"value": "0.1"
}
},
"88f9b242da304dfa824dab1f71d32a90": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"8997099dbd364b3b9b65782cc2f8c466": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"89c5f864878b40f5ad84532702a48b8c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Number of slices",
"layout": "IPY_MODEL_bb11f2fe6bad47228a397d312e1d9324",
"placeholder": "Number of slices",
"value": "100"
}
},
"8a7b3dcfc80d490f8458b265c0136724": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Number of slices",
"layout": "IPY_MODEL_8997099dbd364b3b9b65782cc2f8c466",
"placeholder": "Number of slices",
"value": "100"
}
},
"8aa2c367117c499e90b0465867264afa": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"8ae410fcc74d4b058c396078f62b0d35": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_56c361dfdb70488793df7e8f59d6b2e7",
"IPY_MODEL_93af31ba96134e99b22cdcb7335a2cf3",
"IPY_MODEL_7a5267fe732440688a40f8beb880d64d",
"IPY_MODEL_a2917688e7c6423ca5ce76441654ec9e"
],
"layout": "IPY_MODEL_163eb35e5f5542a5a83683bcc16e70f6"
}
},
"8be4a912c71e4200ab48ec5f2ee0569e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"8cd4a9f087ab43f591ec093f5d22a91c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Pseudo-Voigt",
"Gaussian",
"Lorentzian"
],
"_view_module_version": "~2.1.4",
"description": "Resolution",
"layout": "IPY_MODEL_a2d650575f5545dc833af80e1c06ef4c",
"value": "Pseudo-Voigt"
}
},
"8d30cc04694047f4badf22b1f2bda928": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "FWHM (°)",
"layout": "IPY_MODEL_55c7ce4c507844d086a77e5a6bdc4ae4",
"placeholder": "Full width at half-maximum",
"value": "0.003"
}
},
"8e14213cd6cd4b03a46f99b31f96e63e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_1ac2a650bfb144f0bb64b10e41c62ba7",
"IPY_MODEL_e0028c2c988b4504bd6d7acf9774a16b"
],
"layout": "IPY_MODEL_71f6fb39b3fe4cfdaa985e32dd4731ca"
}
},
"8e66d4953f6e4a20b6cb62627b9ef706": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"8ee39c78747c4cd3b9cc875ed885c38b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"8fcc9b5c558544b3bc75c504c49e92fd": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "h",
"layout": "IPY_MODEL_d1dc62243c4c4f398da4f028352b368b",
"placeholder": "h",
"value": "0"
}
},
"90f54ab372c643a7806462b16171386d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"SrTiO3.cif"
],
"_view_module_version": "~2.1.4",
"description": "Crystal",
"layout": "IPY_MODEL_01e1a1e9e1cd4ddc8598627f74707923",
"value": "SrTiO3.cif"
}
},
"9234176593d84c5896b8dddadb8e804f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_443cdd33a9e04020a5b0ddf8b059a07d",
"IPY_MODEL_65ccd66b950645e6b5cdbec9bdd6af12"
],
"layout": "IPY_MODEL_ab7c78f70cef49b4a4615928c86c3678"
}
},
"93af31ba96134e99b22cdcb7335a2cf3": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "h",
"layout": "IPY_MODEL_cd2e8442b98a46cd9a660bbd7347f558",
"placeholder": "h",
"value": "0"
}
},
"93b59fe3fc044d8db89b95a95c97e309": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"93f6356b283e4432b4d4d08a542a862b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"949a04a4f5354ba2ad293ab1a945dd24": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"96a9cf617e8a4df6a84e0cc747782b0e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"96f47c8f2a5d4de4a9dd7d6b6f639d3b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"9836cc9b18164924808465369960f6f6": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "h",
"layout": "IPY_MODEL_52db681b61674c90917253c27daa8b73",
"placeholder": "h",
"value": "0"
}
},
"99420b9ab2ba4aaa8070502c34d97a44": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Background",
"layout": "IPY_MODEL_8aa2c367117c499e90b0465867264afa",
"placeholder": "Background",
"value": "0."
}
},
"9aa303424caa423c8d0434f96e8ec80d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "k",
"layout": "IPY_MODEL_9da123c4e64240fb98ffc29e79c192e5",
"placeholder": "k",
"value": "0"
}
},
"9bdca68de6d24041ad8c1d9048c119c2": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"9d07ac877a744eb8b95d29ead14bcc19": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_0b87ff2463174c22b66a7abbbfe7817f",
"IPY_MODEL_65bff97b2657404b8869f409bddc8c5e"
],
"layout": "IPY_MODEL_b9bf9ff0a7dc44bbb65a1bf6b1cad075"
}
},
"9da123c4e64240fb98ffc29e79c192e5": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"9ed0696f6ec148cfbbd4cc5613c454bb": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"B-splines smooth",
"B-spline abrupt"
],
"_view_module_version": "~2.1.4",
"description": "Model",
"layout": "IPY_MODEL_393960dab8c7428e942331ff1fcedbb5",
"value": "B-splines smooth"
}
},
"9fabd08ddbfc40e5b2ac7d239e9edb60": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Wavelength (A)",
"layout": "IPY_MODEL_433b2861c5ed4f95bbe6197ef7824d84",
"placeholder": "Wavelength",
"value": "1.5406"
}
},
"a0a27febffaf4dbe9872aa9f23e1096f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_3e485df25eaf40448c6124d5ce70307c",
"IPY_MODEL_c1ce105bba11497eb091da8092fe5403"
],
"layout": "IPY_MODEL_ea66fe223d05433d9a2c3b5f1af31b16"
}
},
"a0eec8bf11ba460ba9ed5bc920b6dbc2": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"a2917688e7c6423ca5ce76441654ec9e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "l",
"layout": "IPY_MODEL_3ffebd9906a4453e94568ac2f90719f7",
"placeholder": "l",
"value": "0"
}
},
"a2d650575f5545dc833af80e1c06ef4c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"a3d9912f017d424a89e0f2b5f9b2cfd8": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"a408be83e26f4cef9c54884e642a9f87": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "k",
"layout": "IPY_MODEL_1854f82b447d4428b2419b25e774859f",
"placeholder": "k",
"value": "0"
}
},
"a513eff9a588416696ffb490f039873e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Shape",
"layout": "IPY_MODEL_128118b6b903448eaea837b7739ee909",
"placeholder": "eta",
"value": "0.1"
}
},
"a5b15afae8e04ac89c35bd656c759dbb": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"a6529cfa415f4d089d0041ad80e91360": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"a7418d7a52c046c7989fb2e8c07d3162": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"a780c4552f224cb3897af7918b230146": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Basis functions",
"layout": "IPY_MODEL_834cf4559d2a4a6a92e377fc34d1d7fa",
"placeholder": "Number of basis functions",
"value": "6"
}
},
"a7a441b41b654eb3bbe8534d2fc4fbbb": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"SrTiO3.cif"
],
"_view_module_version": "~2.1.4",
"description": "Crystal",
"layout": "IPY_MODEL_3feabbddb69e45838f77d79b3e44d1b4",
"value": "SrTiO3.cif"
}
},
"a8792b4122cc406084b2e5dc661f6f44": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_c21bc454f0f04334bdb70e99d19b0b83",
"IPY_MODEL_c0e8392eb75a4c149865aa18a46f9cf5"
],
"layout": "IPY_MODEL_ff1aa6d62e9d414580229e5ec7f6a377"
}
},
"a8fc67f127d745f8b30221611298c587": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Pseudo-Voigt",
"Gaussian",
"Lorentzian"
],
"_view_module_version": "~2.1.4",
"description": "Resolution",
"layout": "IPY_MODEL_d4b08ceba4ae4b839356eb09eade90f2",
"value": "Pseudo-Voigt"
}
},
"a901bed71dbd4fec8c4b81fca39d0c43": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "h",
"layout": "IPY_MODEL_a7418d7a52c046c7989fb2e8c07d3162",
"placeholder": "h",
"value": "0"
}
},
"aaf893d4c83447559580faa2ff9f4ec8": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "\\(2\\theta \\) offset (°)",
"layout": "IPY_MODEL_fc04e521f87b4ea38e348fe476ec5254",
"placeholder": "2 theta offset",
"value": "0."
}
},
"ab7c78f70cef49b4a4615928c86c3678": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"abf88a8ed1dc44849308fca46a73ac67": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"acc0da2c68a64d39a10cbd30154a32a5": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"adbcb9bc27984d08b37cde7524cf48a9": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"ae3f8f5af16a4144a5a72f70160638ad": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "k",
"layout": "IPY_MODEL_f73353d1a30846feab04a48a2c58881b",
"placeholder": "k",
"value": "0"
}
},
"ae6324d5ccb74b1aa22adc63931f88f4": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Shape",
"layout": "IPY_MODEL_461dacfe9a99497e93b2b56a0f0e20b5",
"placeholder": "eta",
"value": "0.1"
}
},
"afe8d26de46b454cbe62123625ac4f0d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"b237ebca2ab749ec9279082f313ae294": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"b25fa469a7bb422bad3c7ee35abf4407": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"b27589063226437f9c10411e307adc03": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "FWHM (°)",
"layout": "IPY_MODEL_3028205d98c04b97bf0bee8558fbb302",
"placeholder": "Full width at half-maximum",
"value": "0.003"
}
},
"b29508a4cf0640939358759ec65143ce": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_14039bf021d44b05b0a0bbbae667eb6b",
"IPY_MODEL_8d30cc04694047f4badf22b1f2bda928",
"IPY_MODEL_5c875f1f60a148418065755db24a5d92"
],
"layout": "IPY_MODEL_5bf4607014354c46bac6cd201a15d7b3"
}
},
"b2f450837656411baf5103d64f99952e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"b30b864d0dd5486ebe2d4dae5215c72e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "h",
"layout": "IPY_MODEL_93f6356b283e4432b4d4d08a542a862b",
"placeholder": "h",
"value": "0"
}
},
"b381625e59974dda9e3c818f6945cd39": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "AccordionModel",
"state": {
"_model_module_version": "~2.1.4",
"_titles": {
"0": "Experimental Parameters",
"1": "Material Parameters",
"2": "Strain / Disorder"
},
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_a8792b4122cc406084b2e5dc661f6f44",
"IPY_MODEL_7efc22f8fcc84989af8b84f5fafa6cc0",
"IPY_MODEL_8370939114cb4edcbbba66d4c91412dd"
],
"layout": "IPY_MODEL_0fc12402d7624fc78da19033c8b058ae"
}
},
"b4d0e83bdb764b48910dbb56650562dc": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"b62f03ba28684942ad340b4c8c1d826b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"b7179e50c2b3444f92811e9af0404191": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Basis functions",
"layout": "IPY_MODEL_a0eec8bf11ba460ba9ed5bc920b6dbc2",
"placeholder": "Number of basis functions",
"value": "6"
}
},
"b78e229eb7bd485cbd10d92f2c5990f1": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"b959ea83b10c4e98bc2dcc6905f83b89": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_6657c896b552436dbdbdf8cd775eabe1",
"IPY_MODEL_7c04aa8271c349308325029ed69bd047"
],
"layout": "IPY_MODEL_b2f450837656411baf5103d64f99952e"
}
},
"b9bf9ff0a7dc44bbb65a1bf6b1cad075": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"ba8582d88668463498fe22bdf95e292b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_bcec7600e6624946adc0d96e8a1ba6b6",
"IPY_MODEL_523efb61586c4c50bc5a60b8fe6ed224"
],
"layout": "IPY_MODEL_0d43bcc78f2b43958b6bd643d2bb2d8d"
}
},
"ba891412ad8941ed8449b0a71bd9fb30": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"B-splines smooth",
"B-spline abrupt"
],
"_view_module_version": "~2.1.4",
"description": "Model",
"layout": "IPY_MODEL_44a63b65700a436c83ed5f5e879b8595",
"value": "B-splines smooth"
}
},
"bb11f2fe6bad47228a397d312e1d9324": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"bb16debbb2c446029ec8f9f1a17a89cc": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"bb435e3e0b8746c58e4e4100d1c7f9fc": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "l",
"layout": "IPY_MODEL_72d118cff2194dd9b253bc51f119f40c",
"placeholder": "l",
"value": "2"
}
},
"bcec7600e6624946adc0d96e8a1ba6b6": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"B-splines smooth",
"B-spline abrupt"
],
"_view_module_version": "~2.1.4",
"description": "Model",
"layout": "IPY_MODEL_5e27a2af440a4f3693852a6dfd18be99",
"value": "B-splines smooth"
}
},
"bd3a93bc2e1f4c809bddd90a28525495": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_1e6b3aefd5f44bce9ef0815b76792a3a",
"IPY_MODEL_a780c4552f224cb3897af7918b230146"
],
"layout": "IPY_MODEL_e7b1bc15e5314c8b9dd77d2d0b797d47"
}
},
"bdeb021ac56f4f5885eae1b2c16e6884": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "h",
"layout": "IPY_MODEL_c434ddc50fc94e32aef48a265bd61b6f",
"placeholder": "h",
"value": "0"
}
},
"be32278fa80d4add960cfd4114b1d8ec": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "\\(2\\theta \\) offset (°)",
"layout": "IPY_MODEL_df90f419014a42c9a093a47e34d95191",
"placeholder": "2 theta offset",
"value": "0."
}
},
"bf95a749992d4451907616b02074626d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"bf99cdbd44e148ee8256bff1a5a1a2f5": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Single crystal",
"Thin film",
"Thick film",
"Thick film + substrate"
],
"_view_module_version": "~2.1.4",
"description": "Sample",
"layout": "IPY_MODEL_b62f03ba28684942ad340b4c8c1d826b",
"value": "Single crystal"
}
},
"c012b61f57044527b82d53f61ff569aa": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"c06dd3d7156e4ac89dfa683ff1b6de2b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "l",
"layout": "IPY_MODEL_1609c69d8cba4076adab750a7a196980",
"placeholder": "l",
"value": "0"
}
},
"c0e8392eb75a4c149865aa18a46f9cf5": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_9fabd08ddbfc40e5b2ac7d239e9edb60",
"IPY_MODEL_82d238d6b7ee4b17a8333acf95b3359d",
"IPY_MODEL_d20add6cdc9a4e08b97188a1527777d2"
],
"layout": "IPY_MODEL_3a76248cff414856840e1912be4ecc02"
}
},
"c1110d16067146799f9106834e43ac57": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_8cd4a9f087ab43f591ec093f5d22a91c",
"IPY_MODEL_64cb8c43907e4116afd9a7c8d5904eec",
"IPY_MODEL_6e53f4447491472885dc58007d133983"
],
"layout": "IPY_MODEL_535016ca7f3a4a1fbc9075ebfbcc797a"
}
},
"c1ce105bba11497eb091da8092fe5403": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Single crystal",
"Thin film",
"Thick film",
"Thick film + substrate"
],
"_view_module_version": "~2.1.4",
"description": "Sample",
"layout": "IPY_MODEL_181d20882e0e4756b706199a4e7c71d5",
"value": "Single crystal"
}
},
"c21bc454f0f04334bdb70e99d19b0b83": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_a8fc67f127d745f8b30221611298c587",
"IPY_MODEL_5efc3c7747d649f7a25c83428ed9bc33",
"IPY_MODEL_ae6324d5ccb74b1aa22adc63931f88f4"
],
"layout": "IPY_MODEL_a3d9912f017d424a89e0f2b5f9b2cfd8"
}
},
"c28509d395d74b82a4b347809efa9b62": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"c2a1f50df49f45bc9651dcdf2348f44c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"c3ba6b2c36c3478186578320011d0434": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "\\(2\\theta \\) offset (°)",
"layout": "IPY_MODEL_213753488f9e405b94d03aafff67e8e3",
"placeholder": "2 theta offset",
"value": "0."
}
},
"c419a061e70849ca897123e42d7d4b49": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Shape",
"layout": "IPY_MODEL_263fbe6c98c4490aae23a9cbe48eb852",
"placeholder": "eta",
"value": "0.1"
}
},
"c434ddc50fc94e32aef48a265bd61b6f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"c4f79cf3854445119021b81072e50a0a": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"c756de02a2444424bc08d4bb3938464f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Number of slices",
"layout": "IPY_MODEL_2cece8ae58274107b668274cdc56432e",
"placeholder": "Number of slices",
"value": "100"
}
},
"c8b70cd487ce4ae0a7e87d60c8a04082": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Pseudo-Voigt",
"Gaussian",
"Lorentzian"
],
"_view_module_version": "~2.1.4",
"description": "Resolution",
"layout": "IPY_MODEL_59dfeb9c46314755ab8fbe2ef17a3a40",
"value": "Pseudo-Voigt"
}
},
"ccb40e2fa35e4d069f1adba6fdaa3dad": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Thickness (nm)",
"layout": "IPY_MODEL_e5c23d20082b4927ae75718bfdb0ce0f",
"placeholder": "Irradiated thickness (nm)",
"value": "200"
}
},
"cd01bf9a7da74b82a752e3d264e46b06": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_eb7bc24914884751bf164586b8b2f689",
"IPY_MODEL_e2dc690844834a0084d09425a8f4b38a",
"IPY_MODEL_c419a061e70849ca897123e42d7d4b49"
],
"layout": "IPY_MODEL_0b43d8eebf11451fb48788f18052543e"
}
},
"cd2e8442b98a46cd9a660bbd7347f558": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"cd32332bfc2e4d05a89f928095e1cb46": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"ce22a98492db4aa5a450dad9d6e54a2d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"ce5ac740b66541a8b727246fc53feae0": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"cea7f8a1bfbb49b5ae932f3dc79ddb66": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"cf68a6d90a4a480fa8f7813ea9863b70": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"cfd013224b314a9eb7bc3e389deb444a": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"d095f44b59c34d6d896f029664c987ee": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"d17d9bff9b7d428f915196ab1ca2e58e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"d1dc62243c4c4f398da4f028352b368b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"d20add6cdc9a4e08b97188a1527777d2": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Background",
"layout": "IPY_MODEL_73d04f721ed34ab1b6d21d458f38b750",
"placeholder": "Background",
"value": "0."
}
},
"d4b08ceba4ae4b839356eb09eade90f2": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"d5f328679f0c4427bff0ef3edabe51f3": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"d6e08c4d6f1e4188905b878529acb30f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"d7355b6686cd4fa3b7a8d9640f62f244": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"da459e706fe24840824cff6df1c2c380": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"db216d66f630478bb51f8f03ecef3c35": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"dc3096bbf1c143e197a724d0915923d8": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"B-splines smooth",
"B-spline abrupt"
],
"_view_module_version": "~2.1.4",
"description": "Model",
"layout": "IPY_MODEL_35696efdc2c544909730e175ae2c2e3f",
"value": "B-splines smooth"
}
},
"dc40dfd1dfb246bea46fa8c5f2ed7959": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_a7a441b41b654eb3bbe8534d2fc4fbbb",
"IPY_MODEL_9836cc9b18164924808465369960f6f6",
"IPY_MODEL_a408be83e26f4cef9c54884e642a9f87",
"IPY_MODEL_15a5f6176ebf4e558cc8a46524d2c623"
],
"layout": "IPY_MODEL_67859f19990e4ade908c5936f7a0e37c"
}
},
"dc74953413a544bebbef06e2f20296d9": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Wavelength (A)",
"layout": "IPY_MODEL_2ffccff6795541d4bd32e70d54999dff",
"placeholder": "Wavelength",
"value": "1.5406"
}
},
"dcdbcef6ce9548f3857cf27b536db516": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"dd5c99cb541e4697ac31b7c4cd1da22d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_c1110d16067146799f9106834e43ac57",
"IPY_MODEL_7157f2f346ff4b83b89c95ad8b0e1e8d"
],
"layout": "IPY_MODEL_4b7c1a7c7d504f2ab055414ee091f88d"
}
},
"ddbfe259326b4a34a2b5801077de9eb1": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_ba8582d88668463498fe22bdf95e292b",
"IPY_MODEL_b959ea83b10c4e98bc2dcc6905f83b89"
],
"layout": "IPY_MODEL_61fbfce41317443fa75ee9614e2538df"
}
},
"de0ba05a068a467c886d30243206d90b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"df90f419014a42c9a093a47e34d95191": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"e0028c2c988b4504bd6d7acf9774a16b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_eb29103869d54b56b92ab8a6d33aaa05",
"IPY_MODEL_784c2bb9b7e94da3949772fd40e1e095"
],
"layout": "IPY_MODEL_f174599edb10403a9251c9b764ea5a0a"
}
},
"e0256ba0689d41acb3781967608716be": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_0c45d415ab7f4eff841937c026ee5779",
"IPY_MODEL_84a2f63be79845cf927061e3e9157a6d"
],
"layout": "IPY_MODEL_e7d532169ca54758aecd659750695351"
}
},
"e22d54a1a2bc499ab19b1b70f0266030": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"e2dc690844834a0084d09425a8f4b38a": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "FWHM (°)",
"layout": "IPY_MODEL_f5061b571b014fe2860231011fd7fa52",
"placeholder": "Full width at half-maximum",
"value": "0.003"
}
},
"e327f224461b4f3fa783989151fa4b12": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"e3cad2050f8b402fb3ebafb71f5c2eec": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"B-splines smooth",
"B-spline abrupt"
],
"_view_module_version": "~2.1.4",
"description": "Model",
"layout": "IPY_MODEL_dcdbcef6ce9548f3857cf27b536db516",
"value": "B-splines smooth"
}
},
"e4eed15d6abf41079fe820bdb807ed78": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "k",
"layout": "IPY_MODEL_58f7ccc6fea54233912b8f134a341491",
"placeholder": "k",
"value": "0"
}
},
"e5c23d20082b4927ae75718bfdb0ce0f": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"e6cc81b70c38436397ae0599f6eafd6c": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "FWHM (°)",
"layout": "IPY_MODEL_da459e706fe24840824cff6df1c2c380",
"placeholder": "Full width at half-maximum",
"value": "0.003"
}
},
"e6eb2ab31cf94d0195dd175457e4e7b6": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"e75569b679574e69b589425ef4504bee": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Thickness (nm)",
"layout": "IPY_MODEL_e327f224461b4f3fa783989151fa4b12",
"placeholder": "Irradiated thickness (nm)",
"value": "200"
}
},
"e7b1bc15e5314c8b9dd77d2d0b797d47": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"e7d532169ca54758aecd659750695351": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"ea56a1df1c704d989d21c94712c21f3b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Single crystal",
"Thin film",
"Thick film",
"Thick film + substrate"
],
"_view_module_version": "~2.1.4",
"description": "Sample",
"layout": "IPY_MODEL_2428e093366144bfbd785b555cf59f4e",
"value": "Single crystal"
}
},
"ea66fe223d05433d9a2c3b5f1af31b16": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"ea89874dc7ee44588091f6422cf61217": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"eb29103869d54b56b92ab8a6d33aaa05": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Thickness (nm)",
"layout": "IPY_MODEL_8153b9ee13804473814b8a4d75c8ab34",
"placeholder": "Irradiated thickness (nm)",
"value": "200"
}
},
"eb7bc24914884751bf164586b8b2f689": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Pseudo-Voigt",
"Gaussian",
"Lorentzian"
],
"_view_module_version": "~2.1.4",
"description": "Resolution",
"layout": "IPY_MODEL_61b59c32698d4c6da78d741b14b84d16",
"value": "Pseudo-Voigt"
}
},
"ebe4b3b1450f4ed09ca2d45c3473c60e": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"ee4038bcea104f28b8a3c02c6198a9ff": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Wavelength (A)",
"layout": "IPY_MODEL_61e1b195fa294450a988a471cd6419a3",
"placeholder": "Wavelength",
"value": "1.5406"
}
},
"ef8ab5e48d954ff58fbc9294908162b7": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "DropdownModel",
"state": {
"_model_module_version": "~2.1.4",
"_options_labels": [
"Pseudo-Voigt",
"Gaussian",
"Lorentzian"
],
"_view_module_version": "~2.1.4",
"description": "Resolution",
"layout": "IPY_MODEL_a5b15afae8e04ac89c35bd656c759dbb",
"value": "Pseudo-Voigt"
}
},
"f025f9010fb944f5abfa5a2e02d7631d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"f174599edb10403a9251c9b764ea5a0a": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"f2248cd3061449fab005d302670c4e9a": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "\\(2\\theta \\) offset (°)",
"layout": "IPY_MODEL_1fd88921555041338e10f1c2999406c9",
"placeholder": "2 theta offset",
"value": "0."
}
},
"f24b67482c9544dc8ee6138464b2f674": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "\\(2\\theta \\) offset (°)",
"layout": "IPY_MODEL_8ee39c78747c4cd3b9cc875ed885c38b",
"placeholder": "2 theta offset",
"value": "0."
}
},
"f2adf5a142c342ff91682d5fd86f0135": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "VBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_87ca6d7ad0e1449a885dc41abe433033",
"IPY_MODEL_2712adcefff445faabf594a9456a49bd"
],
"layout": "IPY_MODEL_ce5ac740b66541a8b727246fc53feae0"
}
},
"f397182b6e1c4e688fd21150369c2ae5": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"f3c8b209ea0d4588801f671a626bab2b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"f4226babf5df491a9343cee57709f984": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"f434268cbc3f408d9128402992e48816": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"f5061b571b014fe2860231011fd7fa52": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"f612f6b409524fb28ca13d1bf452efd7": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"f73353d1a30846feab04a48a2c58881b": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"f7c6fad43b944446a76fbf596c080409": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "TextModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"description": "Wavelength (A)",
"layout": "IPY_MODEL_62465def71b9420e925dba7f23eadb63",
"placeholder": "Wavelength",
"value": "1.5406"
}
},
"f8ef29541f6e43f08d73c4def62b2a9d": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"fa5b9cbaf05344bcbaa152eda1f64a24": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "HBoxModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4",
"children": [
"IPY_MODEL_ee4038bcea104f28b8a3c02c6198a9ff",
"IPY_MODEL_f2248cd3061449fab005d302670c4e9a",
"IPY_MODEL_2fd29fc594664da78a80c501471e0827"
],
"layout": "IPY_MODEL_f3c8b209ea0d4588801f671a626bab2b"
}
},
"fc04e521f87b4ea38e348fe476ec5254": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
},
"ff1aa6d62e9d414580229e5ec7f6a377": {
"model_module": "jupyter-js-widgets",
"model_module_version": "~2.1.4",
"model_name": "LayoutModel",
"state": {
"_model_module_version": "~2.1.4",
"_view_module_version": "~2.1.4"
}
}
},
"version_major": 1,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}