{ "cells": [ { "cell_type": "markdown", "id": "c80cd461", "metadata": {}, "source": [ "(analysis-framework-tutorial)=\n", "# Tutorial 3. Building custom analyses - the data analysis framework\n", "\n", "```{seealso}\n", "\n", "The complete source code of this tutorial can be found in\n", "\n", "{nb-download}`Tutorial 3. Building custom analyses - the data analysis framework.ipynb`\n", "\n", "```\n", "\n", "Quantify provides an analysis framework in the form of a {class}`~quantify_core.analysis.base_analysis.BaseAnalysis` class and several subclasses for simple cases (e.g., {class}`~quantify_core.analysis.base_analysis.BasicAnalysis`, {class}`~quantify_core.analysis.base_analysis.Basic2DAnalysis`, {class}`~quantify_core.analysis.spectroscopy_analysis.ResonatorSpectroscopyAnalysis`). The framework provides a structured, yet flexible, flow of the analysis steps. We encourage all users to adopt the framework by sub-classing the {class}`~quantify_core.analysis.base_analysis.BaseAnalysis`.\n", "\n", "To give insight into the concepts and ideas behind the analysis framework, we first write analysis scripts to *\"manually\"* analyze the data as if we had a new type of experiment in our hands.\n", "Next, we encapsulate these steps into reusable functions packing everything together into a simple python class.\n", "\n", "We conclude by showing how the same class is implemented much more easily by extending the {class}`~quantify_core.analysis.base_analysis.BaseAnalysis` and making use of the quantify framework." ] }, { "cell_type": "code", "execution_count": 1, "id": "114e888a", "metadata": { "mystnb": { "code_prompt_show": "Imports and auxiliary utilities" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "import json\n", "import logging\n", "from pathlib import Path\n", "from typing import Tuple\n", "\n", "import lmfit\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import xarray as xr\n", "\n", "import quantify_core.visualization.pyqt_plotmon as pqm\n", "from quantify_core.analysis.cosine_analysis import CosineAnalysis\n", "from quantify_core.analysis.fitting_models import CosineModel, cos_func\n", "from quantify_core.data.handling import (\n", " default_datadir,\n", " get_latest_tuid,\n", " load_dataset,\n", " locate_experiment_container,\n", " set_datadir,\n", ")\n", "from quantify_core.measurement import MeasurementControl\n", "from quantify_core.utilities.examples_support import mk_cosine_instrument\n", "from quantify_core.utilities.inspect_utils import display_source_code\n", "from quantify_core.visualization.SI_utilities import set_xlabel, set_ylabel" ] }, { "cell_type": "markdown", "id": "97036a87", "metadata": {}, "source": [ "Before instantiating any instruments or starting a measurement we change the\n", "directory in which the experiments are saved using the\n", "{meth}`~quantify_core.data.handling.set_datadir`\n", "\\[{meth}`~quantify_core.data.handling.get_datadir`\\] functions.\n", "\n", "----------------------------------------------------------------------------------------\n", "\n", "⚠️ **Warning!**\n", "\n", "We recommend always setting the directory at the start of the python kernel and stick\n", "to a single common data directory for all notebooks/experiments within your\n", "measurement setup/PC.\n", "\n", "The cell below sets a default data directory (`~/quantify-data` on Linux/macOS or\n", "`$env:USERPROFILE\\\\quantify-data` on Windows) for tutorial purposes. Change it to your\n", "desired data directory. The utilities to find/search/extract data only work if\n", "all the experiment containers are located within the same directory.\n", "\n", "----------------------------------------------------------------------------------------" ] }, { "cell_type": "code", "execution_count": 2, "id": "efe3fa65", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Data will be saved in:\n", "/root/quantify-data\n" ] } ], "source": [ "set_datadir(default_datadir()) # change me!" ] }, { "cell_type": "markdown", "id": "6795b2b8", "metadata": {}, "source": [ "## Run an experiment\n", "\n", "We mock an experiment in order to generate a toy dataset to use in this tutorial." ] }, { "cell_type": "code", "execution_count": 3, "id": "881bb888", "metadata": { "mystnb": { "code_prompt_show": "Source code of a mock instrument" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/html": [ "
def mk_cosine_instrument() -> Instrument:\n",
       "    """A container of parameters (mock instrument) providing a cosine model."""\n",
       "\n",
       "    instr = Instrument("ParameterHolder")\n",
       "\n",
       "    # ManualParameter's is a handy class that preserves the QCoDeS' Parameter\n",
       "    # structure without necessarily having a connection to the physical world\n",
       "    instr.add_parameter(\n",
       "        "amp",\n",
       "        initial_value=0.5,\n",
       "        unit="V",\n",
       "        label="Amplitude",\n",
       "        parameter_class=ManualParameter,\n",
       "    )\n",
       "    instr.add_parameter(\n",
       "        "freq",\n",
       "        initial_value=1,\n",
       "        unit="Hz",\n",
       "        label="Frequency",\n",
       "        parameter_class=ManualParameter,\n",
       "    )\n",
       "    instr.add_parameter(\n",
       "        "t", initial_value=1, unit="s", label="Time", parameter_class=ManualParameter\n",
       "    )\n",
       "    instr.add_parameter(\n",
       "        "phi",\n",
       "        initial_value=0,\n",
       "        unit="Rad",\n",
       "        label="Phase",\n",
       "        parameter_class=ManualParameter,\n",
       "    )\n",
       "    instr.add_parameter(\n",
       "        "noise_level",\n",
       "        initial_value=0.05,\n",
       "        unit="V",\n",
       "        label="Noise level",\n",
       "        parameter_class=ManualParameter,\n",
       "    )\n",
       "    instr.add_parameter(\n",
       "        "acq_delay", initial_value=0.02, unit="s", parameter_class=ManualParameter\n",
       "    )\n",
       "\n",
       "    def cosine_model():\n",
       "        sleep(instr.acq_delay())  # simulates the acquisition delay of an instrument\n",
       "        return (\n",
       "            cos_func(instr.t(), instr.freq(), instr.amp(), phase=instr.phi(), offset=0)\n",
       "            + np.random.randn() * instr.noise_level()\n",
       "        )\n",
       "\n",
       "    # Wrap our function in a Parameter to be able to associate metadata to it, e.g. unit\n",
       "    instr.add_parameter(\n",
       "        name="sig", label="Signal level", unit="V", get_cmd=cosine_model\n",
       "    )\n",
       "\n",
       "    return instr\n",
       "
\n" ], "text/latex": [ "\\begin{Verbatim}[commandchars=\\\\\\{\\}]\n", "\\PY{k}{def} \\PY{n+nf}{mk\\PYZus{}cosine\\PYZus{}instrument}\\PY{p}{(}\\PY{p}{)} \\PY{o}{\\PYZhy{}}\\PY{o}{\\PYZgt{}} \\PY{n}{Instrument}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}A container of parameters (mock instrument) providing a cosine model.\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\n", " \\PY{n}{instr} \\PY{o}{=} \\PY{n}{Instrument}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{ParameterHolder}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{)}\n", "\n", " \\PY{c+c1}{\\PYZsh{} ManualParameter\\PYZsq{}s is a handy class that preserves the QCoDeS\\PYZsq{} Parameter}\n", " \\PY{c+c1}{\\PYZsh{} structure without necessarily having a connection to the physical world}\n", " \\PY{n}{instr}\\PY{o}{.}\\PY{n}{add\\PYZus{}parameter}\\PY{p}{(}\n", " \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{amp}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{initial\\PYZus{}value}\\PY{o}{=}\\PY{l+m+mf}{0.5}\\PY{p}{,}\n", " \\PY{n}{unit}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{V}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{label}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Amplitude}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{parameter\\PYZus{}class}\\PY{o}{=}\\PY{n}{ManualParameter}\\PY{p}{,}\n", " \\PY{p}{)}\n", " \\PY{n}{instr}\\PY{o}{.}\\PY{n}{add\\PYZus{}parameter}\\PY{p}{(}\n", " \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{freq}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{initial\\PYZus{}value}\\PY{o}{=}\\PY{l+m+mi}{1}\\PY{p}{,}\n", " \\PY{n}{unit}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Hz}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{label}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Frequency}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{parameter\\PYZus{}class}\\PY{o}{=}\\PY{n}{ManualParameter}\\PY{p}{,}\n", " \\PY{p}{)}\n", " \\PY{n}{instr}\\PY{o}{.}\\PY{n}{add\\PYZus{}parameter}\\PY{p}{(}\n", " \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{t}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{initial\\PYZus{}value}\\PY{o}{=}\\PY{l+m+mi}{1}\\PY{p}{,} \\PY{n}{unit}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{s}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{label}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Time}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{parameter\\PYZus{}class}\\PY{o}{=}\\PY{n}{ManualParameter}\n", " \\PY{p}{)}\n", " \\PY{n}{instr}\\PY{o}{.}\\PY{n}{add\\PYZus{}parameter}\\PY{p}{(}\n", " \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{phi}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{initial\\PYZus{}value}\\PY{o}{=}\\PY{l+m+mi}{0}\\PY{p}{,}\n", " \\PY{n}{unit}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Rad}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{label}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Phase}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{parameter\\PYZus{}class}\\PY{o}{=}\\PY{n}{ManualParameter}\\PY{p}{,}\n", " \\PY{p}{)}\n", " \\PY{n}{instr}\\PY{o}{.}\\PY{n}{add\\PYZus{}parameter}\\PY{p}{(}\n", " \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{noise\\PYZus{}level}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{initial\\PYZus{}value}\\PY{o}{=}\\PY{l+m+mf}{0.05}\\PY{p}{,}\n", " \\PY{n}{unit}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{V}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{label}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Noise level}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,}\n", " \\PY{n}{parameter\\PYZus{}class}\\PY{o}{=}\\PY{n}{ManualParameter}\\PY{p}{,}\n", " \\PY{p}{)}\n", " \\PY{n}{instr}\\PY{o}{.}\\PY{n}{add\\PYZus{}parameter}\\PY{p}{(}\n", " \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{acq\\PYZus{}delay}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{initial\\PYZus{}value}\\PY{o}{=}\\PY{l+m+mf}{0.02}\\PY{p}{,} \\PY{n}{unit}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{s}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{parameter\\PYZus{}class}\\PY{o}{=}\\PY{n}{ManualParameter}\n", " \\PY{p}{)}\n", "\n", " \\PY{k}{def} \\PY{n+nf}{cosine\\PYZus{}model}\\PY{p}{(}\\PY{p}{)}\\PY{p}{:}\n", " \\PY{n}{sleep}\\PY{p}{(}\\PY{n}{instr}\\PY{o}{.}\\PY{n}{acq\\PYZus{}delay}\\PY{p}{(}\\PY{p}{)}\\PY{p}{)} \\PY{c+c1}{\\PYZsh{} simulates the acquisition delay of an instrument}\n", " \\PY{k}{return} \\PY{p}{(}\n", " \\PY{n}{cos\\PYZus{}func}\\PY{p}{(}\\PY{n}{instr}\\PY{o}{.}\\PY{n}{t}\\PY{p}{(}\\PY{p}{)}\\PY{p}{,} \\PY{n}{instr}\\PY{o}{.}\\PY{n}{freq}\\PY{p}{(}\\PY{p}{)}\\PY{p}{,} \\PY{n}{instr}\\PY{o}{.}\\PY{n}{amp}\\PY{p}{(}\\PY{p}{)}\\PY{p}{,} \\PY{n}{phase}\\PY{o}{=}\\PY{n}{instr}\\PY{o}{.}\\PY{n}{phi}\\PY{p}{(}\\PY{p}{)}\\PY{p}{,} \\PY{n}{offset}\\PY{o}{=}\\PY{l+m+mi}{0}\\PY{p}{)}\n", " \\PY{o}{+} \\PY{n}{np}\\PY{o}{.}\\PY{n}{random}\\PY{o}{.}\\PY{n}{randn}\\PY{p}{(}\\PY{p}{)} \\PY{o}{*} \\PY{n}{instr}\\PY{o}{.}\\PY{n}{noise\\PYZus{}level}\\PY{p}{(}\\PY{p}{)}\n", " \\PY{p}{)}\n", "\n", " \\PY{c+c1}{\\PYZsh{} Wrap our function in a Parameter to be able to associate metadata to it, e.g. unit}\n", " \\PY{n}{instr}\\PY{o}{.}\\PY{n}{add\\PYZus{}parameter}\\PY{p}{(}\n", " \\PY{n}{name}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{sig}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{label}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Signal level}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{unit}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{V}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{get\\PYZus{}cmd}\\PY{o}{=}\\PY{n}{cosine\\PYZus{}model}\n", " \\PY{p}{)}\n", "\n", " \\PY{k}{return} \\PY{n}{instr}\n", "\\end{Verbatim}\n" ], "text/plain": [ "def mk_cosine_instrument() -> Instrument:\n", " \"\"\"A container of parameters (mock instrument) providing a cosine model.\"\"\"\n", "\n", " instr = Instrument(\"ParameterHolder\")\n", "\n", " # ManualParameter's is a handy class that preserves the QCoDeS' Parameter\n", " # structure without necessarily having a connection to the physical world\n", " instr.add_parameter(\n", " \"amp\",\n", " initial_value=0.5,\n", " unit=\"V\",\n", " label=\"Amplitude\",\n", " parameter_class=ManualParameter,\n", " )\n", " instr.add_parameter(\n", " \"freq\",\n", " initial_value=1,\n", " unit=\"Hz\",\n", " label=\"Frequency\",\n", " parameter_class=ManualParameter,\n", " )\n", " instr.add_parameter(\n", " \"t\", initial_value=1, unit=\"s\", label=\"Time\", parameter_class=ManualParameter\n", " )\n", " instr.add_parameter(\n", " \"phi\",\n", " initial_value=0,\n", " unit=\"Rad\",\n", " label=\"Phase\",\n", " parameter_class=ManualParameter,\n", " )\n", " instr.add_parameter(\n", " \"noise_level\",\n", " initial_value=0.05,\n", " unit=\"V\",\n", " label=\"Noise level\",\n", " parameter_class=ManualParameter,\n", " )\n", " instr.add_parameter(\n", " \"acq_delay\", initial_value=0.02, unit=\"s\", parameter_class=ManualParameter\n", " )\n", "\n", " def cosine_model():\n", " sleep(instr.acq_delay()) # simulates the acquisition delay of an instrument\n", " return (\n", " cos_func(instr.t(), instr.freq(), instr.amp(), phase=instr.phi(), offset=0)\n", " + np.random.randn() * instr.noise_level()\n", " )\n", "\n", " # Wrap our function in a Parameter to be able to associate metadata to it, e.g. unit\n", " instr.add_parameter(\n", " name=\"sig\", label=\"Signal level\", unit=\"V\", get_cmd=cosine_model\n", " )\n", "\n", " return instr" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display_source_code(mk_cosine_instrument)" ] }, { "cell_type": "code", "execution_count": 4, "id": "f58b3e02", "metadata": { "mystnb": { "remove-output": true } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting iterative measurement...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ec9bde714ec54df59eb5995090ca57c3", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Completed: 0%| [ elapsed time: 00:00 | time left: ? ] it" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "meas_ctrl = MeasurementControl(\"meas_ctrl\")\n", "plotmon = pqm.PlotMonitor_pyqt(\"plotmon\")\n", "meas_ctrl.instr_plotmon(plotmon.name)\n", "pars = mk_cosine_instrument()\n", "\n", "meas_ctrl.settables(pars.t)\n", "meas_ctrl.setpoints(np.linspace(0, 2, 30))\n", "meas_ctrl.gettables(pars.sig)\n", "dataset = meas_ctrl.run(\"Cosine experiment\")" ] }, { "cell_type": "code", "execution_count": 5, "id": "0e3dbd26", "metadata": {}, "outputs": [ { "data": { "image/png": "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zZ8/n9h9Mzw8PD09/fDhwxBTAQFiKpizbrrpJvSPtddfeOGFM2fO0Gg0JpNpt9uTkpJee+014uv15ZdfNhgM2dnZ+/fv93g869ate+655/w5ZfXq1X/+859pNJrb7b755ptffvnlt9566+jRo3Q63e1233nnnU8//TSRn4qKijfeeMNgMLDZbLvdnpKSsmfPHplMdvHixWeffRYh9Prrr+Mjf/vb327atMnj8Xz44YefffYZ3iDW6XQWFxc/++yzuK/00KFD77///s6dO19//fXh4eHIyMiDBw/6+cn09vbu2LGjpaWFxWI5HA6ZTLZz586xavMKhWLPnj0Wi4XD4XC53H/5l3/xfjVwmcS++eabN9988+uvv8bLJt9zzz0bNmxQqVR4P3Aajfb4448XFxf/7ne/u3LlitvtZrFYzz33XGFhoT/ZG+nUqVPLli3z3rP6yy+/3Ldvn9Pp5PF4JpOJwWAcOHCA2DIoJyfnj3/8o16vF4vFk/q7wFwFMRXMWXj7DlxrycjIePjhh+Pj4+l0elNT086dO/fs2fPHP/6ROPjatWs0Gu3DDz+Mi4sbGhry85SQkJAvvvgiLCzs888/f++9955++unw8PCvv/5aKBTu27fv4MGDt956K+53rK+v37VrV2Fh4VNPPSWRSC5fvvzCCy+8+OKL7777blZW1r59+375y1++8MILuMaDx+N8+umnn3zyyZNPPrl582YWi1VeXr579265XP7II48QeXj//fdffPHF9PR0nGesr6+P2O8FGx4eJh673e5t27ZpNJq33347IyOju7v7hRde2L59+/79++Vyuc9n2NPT89JLLy1evPill16SSCRnz5599dVXvQ+Ycian7OjRo3fcccfLL79Mo9F27979wQcfKBSK/Pz8d955x2az4db+m2++GVf0/ckewWKxtLS0PPjgg0TK4ODgH/7wh7vuuuvxxx9ns9lWq7W6utq7ZzclJcXj8dTW1vpUbcENC+bSgDlFo9HU19fX1dUdPXr0pZdeotFouJNy8+bNSUlJDAaDRqMtXbr0F7/4RV1dnV6vJ050Op27du1KTk7mcDh4JOeEp7jd7p07d0ZGRjKZzC1btoSEhHR2dm7btk0qlbJYrEcffRQh9MMPP+CDP/744+jo6O3bt+PRpIsXL37iiSdqa2uVSiWdTsc7wbHZbB6Px+PxGAyG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", "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plotmon.main_QtPlot" ] }, { "cell_type": "markdown", "id": "b2e180c6", "metadata": {}, "source": [ "## Manual analysis steps\n", "\n", "### Loading the data\n", "\n", "The {class}`~xarray.Dataset` contains all the information required to perform a basic analysis of the experiment.\n", "We can alternatively load the dataset from disk based on its {class}`~quantify_core.data.types.TUID`, a timestamp-based unique identifier. If you do not know the tuid of the experiment you can find the latest tuid containing a certain string in the experiment name using {meth}`~quantify_core.data.handling.get_latest_tuid`.\n", "See the {ref}`data-storage` documentation for more details on the folder structure and files contained in the data directory." ] }, { "cell_type": "code", "execution_count": 6, "id": "6210845e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset>\n",
       "Dimensions:  (dim_0: 30)\n",
       "Coordinates:\n",
       "    x0       (dim_0) float64 0.0 0.06897 0.1379 0.2069 ... 1.793 1.862 1.931 2.0\n",
       "Dimensions without coordinates: dim_0\n",
       "Data variables:\n",
       "    y0       (dim_0) float64 0.5105 0.4104 0.3298 ... 0.2996 0.4366 0.5159\n",
       "Attributes:\n",
       "    tuid:                             20231215-162652-646-f7551e\n",
       "    name:                             Cosine experiment\n",
       "    grid_2d:                          False\n",
       "    grid_2d_uniformly_spaced:         False\n",
       "    1d_2_settables_uniformly_spaced:  False
" ], "text/plain": [ "\n", "Dimensions: (dim_0: 30)\n", "Coordinates:\n", " x0 (dim_0) float64 0.0 0.06897 0.1379 0.2069 ... 1.793 1.862 1.931 2.0\n", "Dimensions without coordinates: dim_0\n", "Data variables:\n", " y0 (dim_0) float64 0.5105 0.4104 0.3298 ... 0.2996 0.4366 0.5159\n", "Attributes:\n", " tuid: 20231215-162652-646-f7551e\n", " name: Cosine experiment\n", " grid_2d: False\n", " grid_2d_uniformly_spaced: False\n", " 1d_2_settables_uniformly_spaced: False" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tuid = get_latest_tuid(contains=\"Cosine experiment\")\n", "dataset = load_dataset(tuid)\n", "dataset" ] }, { "cell_type": "markdown", "id": "868ba095", "metadata": {}, "source": [ "### Performing a fit\n", "\n", "We have a sinusoidal signal in the experiment dataset, the goal is to find the underlying parameters.\n", "We extract these parameters by performing a fit to a model, a cosine function in this case.\n", "For fitting we recommend using the lmfit library. See [the lmfit documentation](https://lmfit.github.io/lmfit-py/model.html) on how to fit data to a custom model." ] }, { "cell_type": "code", "execution_count": 7, "id": "e8f19380", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHHCAYAAABTMjf2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACzUUlEQVR4nOzddXxcZfb48c8dibtL0yS1pKmlLrTUhRqwsOiihf0B22XRBdZggUV2WZxlv3hhcYqUAqVOC/XUm7qkcXcdub8/bmbaNJ7MzB153q9XXqGTOzMnCUnOPM95zpFkWZYRBEEQBEHwQBq1AxAEQRAEQVCLSIQEQRAEQfBYIhESBEEQBMFjiURIEARBEASPJRIhQRAEQRA8lkiEBEEQBEHwWCIREgRBEATBY4lESBAEQRAEjyUSIUEQBEEQPJZIhARBcChJknjssce6fb8zZ84gSRLvvfdeq4/dddddzJ49u/fB2dm//vUv+vXrh1arJT09XdVYJkyYwB//+EdVYxAEZyASIUHwUO+99x6SJCFJEj///HOrj8uyTEJCApIksXDhQhUi7JrTp0/z1ltv8ac//UntUDq0evVq/vjHP3LRRRfx7rvv8tRTT6kaz0MPPcRrr71GQUGBqnEIgtpEIiQIHs7Hx4ePPvqo1e0//fQTOTk5eHt7qxBV17300kskJyczffp0tUPp0Pr169FoNLz99tvceOONzJ8/X9V4Lr30UoKCgvjPf/6jahyCoDaRCAmCh5s/fz6ff/45RqOxxe0fffQRo0ePJiYmRqXIOmcwGPjwww+56qqr1A6lU0VFRfj6+uLl5aV2KABoNBquvPJK3n//fcTsbcGTiURIEDzctddeS2lpKWvWrLHe1tTUxBdffMF1113X6vra2lruv/9+EhIS8Pb2JiUlheeee67VH9PGxkbuvfdeIiMjCQwMZPHixeTk5LQZQ25uLrfeeivR0dF4e3szZMgQ3nnnnU5j//nnnykpKWHWrFmtPtbQ0MBjjz3GoEGD8PHxITY2ll/96lecPHmy25/LmjVrmDx5MiEhIQQEBJCSktKtrThJknj33Xepra21bke+9957HdY9XVhL9dhjjyFJEidOnODmm28mJCSE4OBgbrnlFurq6lrd/3//+x/jxo3Dz8+P0NBQLr74YlavXt3imtmzZ5OVlcXevXu7/LkIgrvRqR2AIAjqSkpKYuLEiXz88cdccsklAPzwww9UVlZyzTXX8PLLL1uvlWWZxYsXs2HDBpYsWUJ6ejo//vgjDz74ILm5ubzwwgvWa2+77Tb+97//cd111zFp0iTWr1/PggULWj1/YWEhEyZMQJIkli5dSmRkJD/88ANLliyhqqqKe+65p93Yt2zZgiRJjBw5ssXtJpOJhQsXsm7dOq655hr+8Ic/UF1dzZo1azh48CD9+/fv8udy6NAhFi5cyPDhw3n88cfx9vbmxIkT/PLLL13+Gn/wwQe88cYb7Nixg7feeguASZMmdfn+57vqqqtITk7m6aefZvfu3bz11ltERUXx7LPPWq/5+9//zmOPPcakSZN4/PHH8fLyYvv27axfv545c+ZYrxs9ejQAv/zyS6uvoSB4DFkQBI/07rvvyoC8c+dO+dVXX5UDAwPluro6WZZl+de//rU8ffp0WZZlOTExUV6wYIEsy7L89ddfy4D85JNPtnisK6+8UpYkST5x4oQsy7K8d+9eGZDvuuuuFtddd911MiA/+uij1tuWLFkix8bGyiUlJS2uveaaa+Tg4GBrTKdPn5YB+d1337Ve85vf/EYODw9v9bm98847MiA///zzrT5mNpu79bm88MILMiAXFxe38VXsuptuukn29/dvcVtbn5PFhV+nRx99VAbkW2+9tcV1l19+eYuvwfHjx2WNRiNffvnlsslkanGt5XM/n5eXl3znnXf24DMSBPcgtsYEQeCqq66ivr6elStXUl1dzcqVK9vcFvv+++/RarXcfffdLW6///77kWWZH374wXod0Oq6C1d3ZFlm+fLlLFq0CFmWKSkpsb7NnTuXyspKdu/e3W7cpaWlhIaGtrp9+fLlRERE8Pvf/77VxyRJ6tbnEhISAsA333yD2WxuNxZHueOOO1r8e8qUKZSWllJVVQXA119/jdls5m9/+xsaTctf8ZbP/XyhoaGUlJTYL2BBcHIiERIEgcjISGbNmsVHH33El19+iclk4sorr2x1XVZWFnFxcQQGBra4ffDgwdaPW95rNBr69+/f4rqUlJQW/y4uLqaiooI33niDyMjIFm+33HILoBQZd0Ruo9D35MmTpKSkoNO1v/vf1c/l6quv5qKLLuK2224jOjqaa665hs8++0y1pKhv374t/m1JBMvLywHlc9doNKSlpXXp8WRZbjNBEgRPIWqEBEEA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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# create a fitting model based on a cosine function\n", "fitting_model = lmfit.Model(cos_func)\n", "\n", "# specify initial guesses for each parameter\n", "fitting_model.set_param_hint(\"amplitude\", value=0.5, min=0.1, max=2, vary=True)\n", "fitting_model.set_param_hint(\"frequency\", value=0.8, vary=True)\n", "fitting_model.set_param_hint(\"phase\", value=0)\n", "fitting_model.set_param_hint(\"offset\", value=0)\n", "params = fitting_model.make_params()\n", "\n", "# here we run the fit\n", "fit_result = fitting_model.fit(dataset.y0.values, x=dataset.x0.values, params=params)\n", "\n", "# It is possible to get a quick visualization of our fit using a build-in method of lmfit\n", "_ = fit_result.plot_fit(show_init=True)" ] }, { "cell_type": "markdown", "id": "488679bd", "metadata": {}, "source": [ "The summary of the fit result can be nicely printed in a Jupyter-like notebook:" ] }, { "cell_type": "code", "execution_count": 8, "id": "e6f191c1", "metadata": {}, "outputs": [ { "data": { "text/html": [ "

Fit Result

Model: Model(cos_func)

Fit Statistics
fitting methodleastsq
# function evals41
# data points30
# variables4
chi-square 0.05635328
reduced chi-square 0.00216743
Akaike info crit.-180.319367
Bayesian info crit.-174.714578
R-squared 0.98513230
Parameters
namevaluestandard errorrelative errorinitial valueminmaxvary
frequency 0.99032408 0.00753104(0.76%)0.8 -inf infTrue
amplitude 0.49326750 0.01198974(2.43%)0.5 0.10000000 2.00000000True
offset-0.01044975 0.00923843(88.41%)0 -inf infTrue
phase 0.04482929 0.05346225(119.26%)0 -inf infTrue
Correlations (unreported values are < 0.100)
Parameter1Parameter 2Correlation
frequencyphase-0.8872
frequencyoffset-0.3906
offsetphase+0.3463
frequencyamplitude-0.1324
amplitudephase+0.1171
" ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fit_result" ] }, { "cell_type": "markdown", "id": "3a6641e6", "metadata": {}, "source": [ "### Analyzing the fit result and saving key quantities" ] }, { "cell_type": "code", "execution_count": 9, "id": "4c8a7ea6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'amplitude': 0.49326750221397175, 'frequency': 0.9903240752953916}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "quantities_of_interest = {\n", " \"amplitude\": fit_result.params[\"amplitude\"].value,\n", " \"frequency\": fit_result.params[\"frequency\"].value,\n", "}\n", "quantities_of_interest" ] }, { "cell_type": "markdown", "id": "54821380", "metadata": {}, "source": [ "Now that we have the relevant quantities, we want to store them in the same\n", "`experiment directory` where the raw dataset is stored.\n", "\n", "First, we determine the experiment directory on the file system." ] }, { "cell_type": "code", "execution_count": 10, "id": "2084197a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PosixPath('/root/quantify-data/20231215/20231215-162652-646-f7551e-Cosine experiment')" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the experiment folder is retrieved with a convenience function\n", "exp_folder = Path(locate_experiment_container(dataset.tuid))\n", "exp_folder" ] }, { "cell_type": "markdown", "id": "033c7543", "metadata": {}, "source": [ "Then, we save the quantities of interest to disk in the human-readable JSON format." ] }, { "cell_type": "code", "execution_count": 11, "id": "57d7ca8f", "metadata": {}, "outputs": [], "source": [ "with open(exp_folder / \"quantities_of_interest.json\", \"w\", encoding=\"utf-8\") as file:\n", " json.dump(quantities_of_interest, file)" ] }, { "cell_type": "markdown", "id": "9054cdd5", "metadata": {}, "source": [ "### Plotting and saving figures\n", "\n", "We would like to save a plot of our data and the fit in our lab logbook but the figure above is not fully satisfactory: there are no units and no reference to the original dataset.\n", "\n", "Below we create our own plot for full control over the appearance and we store it on disk in the same `experiment directory`.\n", "For plotting, we use the ubiquitous matplotlib and some visualization utilities." ] }, { "cell_type": "code", "execution_count": 12, "id": "81af206d", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHgCAYAAAChG7dTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC+VElEQVR4nOzdd1hUZ/bA8e+doQy9SFURsCKiYu/RWKIpJprNJtlNNb3vb1PX7G6MSXZTdjeb7KZt3LRN79XEFLuJJYpEsYsgihQVpUifeX9/3JmBkSIocIfhfJ6HR7j3znAAGc593/OeV1NKKYQQQgghPJjJ6ACEEEIIIdqbJDxCCCGE8HiS8AghhBDC40nCI4QQQgiPJwmPEEIIITyeJDxCCCGE8HiS8AghhBDC40nCI4QQQgiPJwmPEEIIITyeJDxCCCdN03j44YeNDqPTSUhI4NprrzU6DCFEMyThEcJNZWZmcvPNN9O7d28sFgvBwcFMmDCBZ599loqKCqPDE53M9u3befjhh8nOzjY6FCEM4WV0AEKIhhYvXsyvf/1rfH19ufrqq0lJSaG6upo1a9Zw3333sW3bNl5++eU2/7wVFRV4ecnLQmvt2rULk8m97x+3b9/OwoULmTJlCgkJCUaHI0SHk1c2IdxMVlYWl19+OfHx8SxbtozY2Fjnudtvv529e/eyePHidvncFoulXZ7XEymlqKysxM/PD19fX6PDEUKcgnvfkgjRBT311FOUlZXxyiuvuCQ7Dn379uV3v/ud8+Pa2loeffRR+vTpg6+vLwkJCTz44INUVVW5PG7jxo3MnDmTiIgI/Pz8SExM5LrrrnO55uQanocffhhN09i7dy/XXnstoaGhhISEMG/ePMrLyxvE9tZbbzFixAj8/PwIDw/n8ssv58CBAy36unNzc7nuuuuIjo7G19eXQYMG8eqrrzrPV1RUkJSURFJSksuUXlFREbGxsYwfPx6r1QrAtddeS2BgIPv27WPmzJkEBATQvXt3HnnkEZRSLp/XZrPxzDPPMGjQICwWC9HR0dx8880cO3bM5bqEhAQuuOACvv32W0aOHImfnx//+c9/nOfq1/C8/vrraJrGmjVruOuuu4iMjCQ0NJSbb76Z6upqjh8/ztVXX01YWBhhYWHcf//9ZxzXmjVrGD16NBaLhd69e/O///3PJZ5f//rXAJx99tlomoamaaxYsaJFPxshPIISQriVHj16qN69e7f4+muuuUYB6pJLLlHPP/+8uvrqqxWg5syZ47ymoKBAhYWFqf79+6u//e1vatGiReqPf/yjGjhwoMtzAWrBggXOjxcsWKAANWzYMHXxxRerF154Qd1www0KUPfff7/LYx977DGlaZq67LLL1AsvvKAWLlyoIiIiVEJCgjp27FizX0N+fr7q2bOniouLU4888oh68cUX1YUXXqgA9c9//tN53bp165TZbFa///3vnccuv/xy5efnp3bt2uXyPbFYLKpfv37qqquuUs8995y64IILFKD+/Oc/u3zuG264QXl5eakbb7xRvfTSS+qBBx5QAQEBatSoUaq6utp5XXx8vOrbt68KCwtTf/jDH9RLL72kli9f7jx3zTXXOK997bXXFKBSU1PVrFmz1PPPP6+uuuoq5/dt4sSJ6re//a164YUXnHG98cYbpx3XgAEDVHR0tHrwwQfVc889p4YPH640TVMZGRlKKaUyMzPVXXfdpQD14IMPqjfffFO9+eabKj8/v9mfixCeRBIeIdxIcXGxAtRFF13UouvT09MVoG644QaX4/fee68C1LJly5RSSn366acKUD///HOzz9dUwnPddde5XDd37lzVrVs358fZ2dnKbDarv/zlLy7Xbd26VXl5eTU4frLrr79excbGqiNHjrgcv/zyy1VISIgqLy93Hps/f74ymUxq1apV6sMPP1SAeuaZZ1we50gC77zzTucxm82mzj//fOXj46MOHz6slFJq9erVClBvv/22y+OXLFnS4Hh8fLwC1JIlSxrE31TCM3PmTGWz2ZzHx40bpzRNU7fccovzWG1trerZs6eaPHmy89jpxLVq1SrnscLCQuXr66vuuece5zHH98qRpAnR1ciUlhBupKSkBICgoKAWXf/1118DcPfdd7scv+eeewCctT6hoaEAfPXVV9TU1LQ6rltuucXl40mTJnH06FFnvJ988gk2m41LL72UI0eOON9iYmLo168fy5cvb/K5lVJ8/PHHzJ49G6WUy+NnzpxJcXExaWlpzusffvhhBg0axDXXXMNtt93G5MmTueuuuxp97jvuuMP5vqZp3HHHHVRXV/PDDz8A8OGHHxISEsKMGTNcPu+IESMIDAxsEHdiYiIzZ85s8fft+uuvR9M058djxoxBKcX111/vPGY2mxk5ciT79u1zHmttXMnJyUyaNMn5cWRkJAMGDHB5TiG6OilaFsKNBAcHA1BaWtqi6/fv34/JZKJv374ux2NiYggNDWX//v0ATJ48mV/96lcsXLiQf/7zn0yZMoU5c+bw29/+tkUFt7169XL5OCwsDIBjx44RHBzMnj17UErRr1+/Rh/v7e3d5HMfPnyY48eP8/LLLze58qywsND5vo+PD6+++iqjRo3CYrHw2muvuSQVDiaTid69e7sc69+/P4BzafaePXsoLi4mKirqlJ8X9ISnNU7+voWEhAAQFxfX4Hj92pzWxnXy5wH9Z3RyvY8QXZkkPEK4keDgYLp3705GRkarHtfYH/yTz3/00UesW7eOL7/8km+//ZbrrruOf/zjH6xbt47AwMBmH282mxs9ruyFtjabDU3T+Oabbxq9trnnt9lsAFx55ZVcc801jV4zZMgQl4+//fZbACorK9mzZ0+rE5H6nzsqKoq333670fORkZEuH/v5+bXq+Zv6vjV2XNUrWm5tXKf6+QghJOERwu1ccMEFvPzyy6xdu5Zx48Y1e218fDw2m409e/YwcOBA5/GCggKOHz9OfHy8y/Vjx45l7Nix/OUvf+Gdd97hiiuu4L333uOGG244o5j79OmDUorExETnKEpLRUZGEhQUhNVqZfr06ae8fsuWLTzyyCPMmzeP9PR0brjhBrZu3eocPXGw2Wzs27fPJZ7du3cDOPvQ9OnThx9++IEJEya0OplpT+0R16mSYiE8ndTwCOFm7r//fgICArjhhhsoKChocD4zM5Nnn30WgPPOOw+AZ555xuWap59+GoDzzz8f0KeeTr7bT01NBWiwfP10XHzxxZjNZhYuXNjg8yilOHr0aJOPNZvN/OpXv+Ljjz9udGTr8OHDzvdramq49tpr6d69O88++yyvv/46BQUF/P73v2/0uZ977jmXOJ577jm8vb2ZNm0aAJdeeilWq5VHH320wWNra2s5fvx4s193e2mPuAICAgAM+5qEMJqM8AjhZvr06cM777zDZZddxsCBA106Lf/00098+OGHzp4vQ4cO5ZprruHll1/m+PHjTJ48mQ0bNvDGG28wZ84czj77bADeeOMNXnjhBebOnUufPn0oLS1l0aJFBAcHO5OmM435scceY/78+WRnZzNnzhyCgoLIysri008/5aabbuLee+9t8vFPPPEEy5cvZ8yYMdx4440kJydTVFREWloaP/zwA0VFRQA89thjpKens3TpUoKCghgyZAgPPfQQf/rTn7jkkktcvhaLxcKSJUu45pprGDNmDN988w2LFy/mwQcfdE4JTZ48mZtvvpnHH3+c9PR0zjnnHLy9vdmzZw8ffvghzz77LJdccskZf39aqz3iSk1NxWw28+STT1JcXIyvry9Tp05tsk5ICI9jzOIwIcSp7N69W914440qISFB+fj4qKCgIDVhwgT173//W1VWVjqvq6mpUQsXLlSJiYnK29tbxcXFqfnz57tck5aWpn7zm9+oXr16KV9fXxUVFaUuuOACtXHjRpfPSRPL0h3LuB0cy66zsrJcjn/88cdq4sSJKiAgQAUEBKikpCR1++23u/TIaUpBQYG6/fbbVVxcnPL29lYxMTFq2rRp6uWXX1ZKKbVp0ybl5eXlstRcKX1Z96hRo1T37t2d/X6uueYaFRAQoDIzM9U555yj/P39VXR0tFqwYIGyWq0NPvfLL7+sRowYofz8/FRQUJAaPHiwuv/++9WhQ4ec18THx6vzzz+/0dibWpZ+chuApr6fjnjbMq7Jkye7LHVXSqlFixap3r17K7PZLEvURZejKSVVbUIIz3Lttdfy0UcfUVZWZnQoQgg3ITU8QgghhPB4kvAIIYQQwuNJwiOEEEIIjyc1PEIIIYTweDLCI4QQQgiPJwmPEEIIITyeJDyi03r99dfRNM25EWRzEhISnM36hBBnrqysjBtuuIGYmBg0TeP//u//jA5JiGZJwiMM8dNPP/Hwww93ijb3O3fu5P777yc1NZWgoCBiY2M5//zz2bhxY6PX5+bmcumllxIaGkpwcDAXXXQR+/btc7nmwIEDLFy4kNGjRxMWFkZERARTpkzhhx9+aPB8q1at4sILLyQuLg6LxUJMTAyzZs3ixx9/bHDtd999x/XXX09KSgpms9m5Z9SZfE27du3i97//PePHj8disTSbZCYkJKBpWoO3W265pdHrz+Rzgb6r/P33309iYiK+vr706NGDSy65hPLycuc1S5cu5brrrqN///74+/vTu3dvbrjhBvLy8hp9zurqav7617+SlJSExWIhOjqa888/n4MHDzqvWbFiRaNfp6ZprFu3znldeXk5zz//POeccw6xsbEEBQUxbNgwXnzxRaxWa4u+Jw5paWlceOGFhIeH4+/vT0pKCv/617+avP748eNERUU5N45ti+es769//Suvv/46t956K2+++SZXXXWV8yakqbf6m6E+/PDDjV5jsVgafK6mnu+JJ55wua61/39E1yJbSwhD/PTTTyxcuJBrr72W0NDQ03qOq666issvvxxfX9+2De4k//3vf3nllVf41a9+xW233UZxcTH/+c9/GDt2LEuWLHHZ8LKsrIyzzz6b4uJiHnzwQby9vfnnP//J5MmTSU9Pp1u3bgB8/vnnPPnkk8yZM4drrrmG2tpa/ve//zFjxgxeffVV5s2b53zO3bt3YzKZuOWWW4iJieHYsWO89dZbnHXWWSxevJhZs2Y5r33nnXd4//33GT58ON27d2+Tr2nt2rX861//Ijk5mYEDB5Kent7s9ys1NZV77rnH5VhLNxRtzecqLi5m8uTJHDx4kJtuuom+ffty+PBhVq9eTVVVFf7+/gA88MADFBUV8etf/5p+/fqxb98+nnvuOb766ivS09OJiYlxPmdNTQ3nn38+P/30EzfeeCNDhgzh2LFjrF+/nuLiYnr27OkSw1133cWoUaNcjvXt29f5/r59+7jzzjuZNm0ad999N8HBwXz77bfcdtttrFu3jjfeeKNF35fvvvuO2bNnM2zYMP785z8TGBhIZmamSxJ2soceesgl8WuL56xv2bJljB07lgULFjiPhYWF8eabbza49p///Ce//PKLcw+z+l588UUCAwOdHze18/uMGTO4+uqrXY4NGzbM5ePW/l8VXYyxjZ5FV/W3v/2t0a0J2svJrf9bY+PGjaq0tNTl2JEjR1RkZKSaMGGCy/Enn3xSAWrDhg3OYzt27FBms1nNnz/feSwjI6PB9gKVlZUqKSlJ9ezZ85QxnThxQkVHR6uZM2e6HM/NzVXV1dVKKaXOP/98FR8ff8Zf09GjR1VJSYlS6tQ/t+a2X2iJ1nyuW2+9VYWGhqp9+/Y1+5wrV65ssJ3EypUrFaD++Mc/uhx/8sknlbe3t1q/fn2zz7l8+XIFqA8//LDZ6w4fPqwyMjIaHJ83b54C1J49e5p9vFJKFRcXq+joaDV37txGt8VozNatW5WXl5d65JFHGo3zdJ7zZImJiS36WZeXl6ugoCA1Y8YMl+NNbbPRGEDdfvvtp7yuNf9/RNcjU1qiwz388MPcd999ACQmJjqHp7Ozs8nOzkbTNF5//fUGj9M0jYcfftj5cWM1PEopHnvsMXr27Im/vz9nn30227ZtazSOzMxMMjMzTxnviBEjXO5AAbp168akSZPYsWOHy/GPPvqIUaNGudz1JyUlMW3aND744APnsUGDBhEREeHyWF9fX8477zwOHjxIaWlpszH5+/sTGRnZYEqwe/fueHt7t+nXFB4eTlBQ0Cmfs77q6mpOnDjRqse05nMdP36c1157jZtuuonExESqq6ub3PX9rLPOwmQyNTgWHh7u8rXabDaeffZZ5s6dy+jRo6mtrW12hMShtLSU2traRs9FREQwaNCgBsfnzp0L0OB73Zh33nmHgoIC/vKXv2AymThx4gQ2m63Zx/zud79j7ty5TJo0qc2e08ExnZeVlcXixYtdfn8b8+WXX1JaWsoVV1zR6HmlFCUlJagWdEipqKigsrKyyfOt+b9qs9l45plnGDRokHPq8uabb+bYsWMterzofCThER3u4osv5je/+Q2gD3W/+eabvPnmm84drM/EQw89xJ///GeGDh3K3/72N3r37s0555zT6B/fadOmNTrE3lL5+fkuSYvNZmPLli2MHDmywbWjR48mMzPzlIlMfn4+/v7+zumY+kpKSjhy5Ag7d+7kwQcfJCMj44zib+rzn5yItdayZcvw9/cnMDCQhIQEnn322TaKrs6aNWuorKykb9++XHLJJfj7++Pn58eECRNaNI1RVlZGWVmZy9e6fft2Dh06xJAhQ7jpppsICAggICCAIUOGsHz58kafZ968eQQHB2OxWDj77LObrOs6WX5+PkCLvtc//PADwcHB5ObmMmDAAAIDAwkODubWW29t9I//hx9+yE8//cRTTz3VZs9Z38CBA3nzzTeJiIggNTX1lL+/b7/9Nn5+flx88cWNnu/duzchISEEBQVx5ZVXUlBQ0Oh1r7/+OgEBAfj5+ZGcnMw777zTbJyncvPNN3PfffcxYcIEnn32WebNm8fbb7/NzJkzqampOaPnFm7K4BEm0UU1NdyclZWlAPXaa681eAwn7eR98o7dhYWFysfHR51//vnKZrM5r3vwwQcV0GBKKz4+vskpn1NZtWqV0jRN/fnPf3YeO3z4sALUI4880uD6559/XgFq586dTT7nnj17lMViUVdddVWj52fOnKkABSgfHx918803q4qKiiafr7kprZZ+TSc71TTB7Nmz1ZNPPqk+++wz9corr6hJkyYpQN1///0tjqMln+vpp59WgOrWrZsaPXq0evvtt9ULL7ygoqOjVVhYmMtu4o159NFHFaCWLl3qPPbJJ584n7Nfv37qtddeU6+99prq16+f8vHxUb/88ovz2h9//FH96le/Uq+88or6/PPP1eOPP666deumLBaLSktLa/ZzV1VVqeTkZJWYmKhqampO+X0YMmSI8vf3V/7+/urOO+9UH3/8sbrzzjsVoC6//HKXa8vLy1WvXr2c06dNTb215jmb0pLpy6NHjyofHx916aWXNjj3zDPPqDvuuEO9/fbb6qOPPlK/+93vlJeXl+rXr58qLi52uXb8+PHqmWeeUZ9//rl68cUXVUpKigLUCy+80OTnbu7/z+rVqxWg3n77bZfjS5YsafS48AyS8AhDtEfC88477yhALVmyxOVxhYWFjSY8p6ugoED17NlT9e7d26UOJicnRwHqySefbPCYV155RQFq8+bNjT7niRMnVGpqqgoLC1O5ubmNXrN582b13XffqVdeeUWdddZZat68eQ3qcOprTcLT1Nd0stbWRdhsNjVz5kzl5eWlDhw40KLHtORzOWpTIiIiXOJdu3Zto7U59a1cuVJ5eXk1+CP8v//9z5lM5uTkOI/v379feXt7qyuuuKLZePfs2aP8/Pwa1FWd7MYbb1SAWrx4cbPXOfTu3VsB6pZbbnE5fvPNNytA7d6923nsoYceUrGxsc7vSVMJT2uesyktSXj+85//KEB9/vnnp3w+pZR6++23FaAef/zxZq+rqqpSKSkpKjQ0VJWXlzd6TXP/f+666y4VEhKiCgsL1eHDh13eAgMD1Q033NCieEXnIlNawmPs378fgH79+rkcj4yMJCwsrE0+x4kTJ7jgggsoLS3l888/d6mD8fPzA2i0lsQxTeC4pj6r1crll1/O9u3b+eijj5pcXZWamsqMGTO47rrr+P7779mwYUOb9BZq7ms6U5qm8fvf/57a2lpWrFgB6HUY+fn5Lm+t5fg+zp492yXesWPHkpiYyE8//dTo43bu3MncuXNJSUnhv//9b6PPOWHCBOLi4pzHe/XqxcSJE5t8Toe+ffty0UUXsXz58iaXnP/tb39j0aJFPProo5x33nnO41artcH3pLq62iUuxzSww29/+1tAX5kEkJ2dzd/+9jf+8pe/nPJn2NLnLCoqcompuLi42ec92dtvv014eDjnnntui67/7W9/S0xMTKPtGerz8fHhjjvu4Pjx42zatKlVMQHs2bOH4uJioqKiiIyMdHkrKyujsLCw1c8p3J8sSxduRdO0Ro+3tmdJe6iurubiiy9my5YtfPvtt6SkpLicDw8Px9fXt9H+Lo5jjSUzN954I1999RVvv/02U6dObVEsPj4+XHjhhTzxxBNUVFQ0mki1xKm+prbgSB6KiooAeP/9912W3QMtKlitz/F9jI6ObnAuKiqq0cLTAwcOcM455xASEsLXX3/doLj1VM+5efPmU8YVFxfnLNgODg52Off666/zwAMPcMstt/CnP/2pQWyJiYkux5YvX86UKVPo3r0727ZtaxBXVFQUgPNrfeihh+jRowdTpkxxFhA7ksnDhw+TnZ1Nr169MJlMLX7Oiy++mJUrVzrPX3PNNY0uKGhMTk4Oq1ev5qabbmpRIb1DXFyc8//Kqa4DWnTtyWw2G1FRUS59gepri3pC4X4k4RGGaCqxcYzEnLz6yDF605z4+HhAv3vr3bu38/jhw4fPeOWFzWbj6quvZunSpXzwwQdMnjy5wTUmk4nBgwc3Wri6fv16evfu3eCP7H333cdrr73GM8880+Bu+1QqKipQSlFaWnpaCU9Lvqa24Gi66PgjMnPmTL7//vszes4RI0YAepPHkx06dIikpCSXY0ePHuWcc86hqqqKpUuXEhsb2+BxgwcPxtvbu8nnbMkfwX379mGxWBqMsHz++efccMMNXHzxxTz//PMNHhcTE9PgezJ06FBA/1q///57Z4Fx/Zig7vuak5PD3r17Xf7vO9x2222AnsiEhoa2+Dn/8Y9/uPzuNNfb6WTvvvsuSqkmV2c1RilFdnZ2g/46jTn5/1Vr9OnThx9++IEJEyac9s2C6ISMnVETXdWLL77YZE1LRESEmjt3rsuxe+65p0VFy97e3i0uWt67d6/au3dvi+K97bbbFKD+85//NHvdE088oQD1888/O4/t3LlTmc1m9cADD7hc+9RTTylAPfjgg80+Z0FBQYNjx44dU3FxcSouLq7Jx52qhqelX1N9zdVFHD16VNXW1rocq66uVhMmTFA+Pj4qLy+vxZ/nVJ9LKaWGDh2qgoODXfq4fPvttwpQTz31lPNYWVmZGj16tAoKClIbN25s9nNedNFFymw2qx07djiPbd++XZnNZnXbbbc5jxUWFjZ4bHp6uvL29lYXXnihy/GVK1cqi8Wizj77bFVZWdns529MWlqaAtRvf/tbl+O/+c1vlJeXl7Pma/Xq1erTTz91eXMUZ99///3q008/dfZoaulzNudUNTxDhgxRvXr1cvldrK+x76GjuP/pp59u9rqSkhLVp08fFRERoaqqqhp9/ub+/6xYsUIBLr2xHGpqatSxY8ea+KpEZyYjPMIQjjv0P/7xj1x++eV4e3sze/ZsAgICuOGGG3jiiSe44YYbGDlyJKtWrWL37t2nfM7IyEjuvfdeHn/8cS644ALOO+88Nm/ezDfffNPo8l/Hku5TtZ5/5plneOGFFxg3bhz+/v689dZbLufnzp1LQEAAoN9JL1q0iPPPP597770Xb29vnn76aaKjo126D3/66afcf//99OvXj4EDBzZ4zhkzZjinG84991x69uzJmDFjiIqKIicnh9dee41Dhw7x/vvvuzxuy5YtfPHFFwDs3buX4uJiHnvsMUAfMZg9e3arv6bi4mL+/e9/Azi3s3juuecIDQ0lNDSUO+64A4AvvviCxx57jEsuuYTExESKiop45513yMjI4K9//atLR+OmtPRzgd7SYMaMGUycOJGbb76Z4uJinn76afr378+tt97qvO6KK65gw4YNXHfddezYscOl901gYCBz5sxxfvzXv/6VpUuXMnXqVO666y4A/vWvfxEeHs6DDz7ovO6yyy7Dz8+P8ePHExUVxfbt23n55Zfx9/d32e5g//79XHjhhWiaxiWXXMKHH37o8vUOGTKEIUOGNPs9GTZsGNdddx2vvvoqtbW1TJ48mRUrVvDhhx8yf/5856jLxIkTGzzW0cV81KhRLl9nS5/zdGVkZLBlyxb+8Ic/NDmaGx8fz2WXXcbgwYOxWCysWbOG9957j9TUVG6++Wbndc8//zyfffYZs2fPplevXuTl5fHqq6+Sk5PDm2++iY+Pj/Palv7/mTx5MjfffDOPP/446enpnHPOOXh7e7Nnzx4+/PBDnn32WS655JIz+h4IN2R0xiW6rkcffVT16NFDmUwmlzux8vJydf3116uQkBAVFBSkLr30UudKq+ZGeJRSymq1qoULF6rY2Fjl5+enpkyZojIyMhrttNzSZenXXHONczl4Y28n30EeOHBAXXLJJSo4OFgFBgaqCy64oEFHXUeX2abeli9f7rz2ueeeUxMnTlQR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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# create matplotlib figure\n", "fig, ax = plt.subplots()\n", "\n", "# plot data\n", "dataset.y0.plot.line(ax=ax, x=\"x0\", marker=\"o\", label=\"Data\")\n", "\n", "# plot fit\n", "x_fit = np.linspace(dataset[\"x0\"][0], dataset[\"x0\"][-1], 1000)\n", "y_fit = cos_func(x=x_fit, **fit_result.best_values)\n", "ax.plot(x_fit, y_fit, label=\"Fit\")\n", "ax.legend()\n", "\n", "# set units-aware tick labels\n", "set_xlabel(dataset.x0.long_name, dataset.x0.units)\n", "set_ylabel(dataset.y0.long_name, dataset.y0.units)\n", "\n", "# add a reference to the origal dataset in the figure title\n", "fig.suptitle(f\"{dataset.attrs['name']}\\ntuid: {dataset.attrs['tuid']}\")\n", "\n", "# Save figure\n", "fig.savefig(exp_folder / \"Cosine fit.png\", dpi=300, bbox_inches=\"tight\")" ] }, { "cell_type": "markdown", "id": "ccfab7e1", "metadata": {}, "source": [ "## Reusable fitting model and analysis steps\n", "\n", "The previous steps achieve our goal, however, the code above is not easily reusable and hard to maintain or debug.\n", "We can do better than this! We can package our code in functions that perform specific tasks.\n", "In addition, we will use the objected-oriented interface of `lmfit` to further structure our code.\n", "We explore the details of the object-oriented approach later in this tutorial." ] }, { "cell_type": "code", "execution_count": 13, "id": "652768c7", "metadata": {}, "outputs": [], "source": [ "class MyCosineModel(lmfit.model.Model):\n", " \"\"\"\n", " `lmfit` model with a guess for a cosine fit.\n", " \"\"\"\n", "\n", " def __init__(self, *args, **kwargs):\n", " \"\"\"Configures the constraints of the model.\"\"\"\n", " # pass in the model's equation\n", " super().__init__(cos_func, *args, **kwargs)\n", "\n", " # configure constraints that are independent from the data to be fitted\n", "\n", " self.set_param_hint(\"frequency\", min=0, vary=True) # enforce positive frequency\n", " self.set_param_hint(\"amplitude\", min=0, vary=True) # enforce positive amplitude\n", " self.set_param_hint(\"offset\", vary=True)\n", " self.set_param_hint(\n", " \"phase\", vary=True, min=-np.pi, max=np.pi\n", " ) # enforce phase range\n", "\n", " def guess(self, data, **kws) -> lmfit.parameter.Parameters:\n", " \"\"\"Guess parameters based on the data.\"\"\"\n", "\n", " self.set_param_hint(\"offset\", value=np.average(data))\n", " self.set_param_hint(\"amplitude\", value=(np.max(data) - np.min(data)) / 2)\n", " # a simple educated guess based on experiment type\n", " # a more elaborate but general approach is to use a Fourier transform\n", " self.set_param_hint(\"frequency\", value=1.2)\n", "\n", " params_ = self.make_params()\n", " return lmfit.models.update_param_vals(params_, self.prefix, **kws)" ] }, { "cell_type": "markdown", "id": "47143c62", "metadata": {}, "source": [ "Most of the code related to the fitting model is now packed in a single object, while the analysis steps are split into functions that take care of specific tasks." ] }, { "cell_type": "code", "execution_count": 14, "id": "d288a58c", "metadata": {}, "outputs": [], "source": [ "def extract_data(label: str) -> xr.Dataset:\n", " \"\"\"Loads a dataset from its label.\"\"\"\n", " tuid_ = get_latest_tuid(contains=label)\n", " dataset_ = load_dataset(tuid_)\n", " return dataset_\n", "\n", "def run_fitting(dataset_: xr.Dataset) -> lmfit.model.ModelResult:\n", " \"\"\"Executes fitting.\"\"\"\n", " model = MyCosineModel() # create the fitting model\n", " params_guess = model.guess(data=dataset_.y0.values)\n", " result = model.fit(\n", " data=dataset_.y0.values, x=dataset_.x0.values, params=params_guess\n", " )\n", " return result\n", "\n", "def analyze_fit_results(fit_result_: lmfit.model.ModelResult) -> dict:\n", " \"\"\"Analyzes the fit results and saves quantities of interest.\"\"\"\n", " quantities = {\n", " \"amplitude\": fit_result_.params[\"amplitude\"].value,\n", " \"frequency\": fit_result_.params[\"frequency\"].value,\n", " }\n", " return quantities\n", "\n", "def plot_fit(\n", " fig_: matplotlib.figure.Figure,\n", " ax_: matplotlib.axes.Axes,\n", " dataset_: xr.Dataset,\n", " fit_result_: lmfit.model.ModelResult,\n", ") -> Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes]:\n", " \"\"\"Plots a fit result.\"\"\"\n", " dataset_.y0.plot.line(ax=ax_, x=\"x0\", marker=\"o\", label=\"Data\") # plot data\n", "\n", " x_fit_ = np.linspace(dataset_[\"x0\"][0], dataset_[\"x0\"][-1], 1000)\n", " y_fit_ = cos_func(x=x_fit_, **fit_result_.best_values)\n", " ax_.plot(x_fit, y_fit_, label=\"Fit\") # plot fit\n", " ax_.legend()\n", "\n", " # set units-aware tick labels\n", " set_xlabel(dataset_.x0.long_name, dataset_.x0.units, ax_)\n", " set_ylabel(dataset_.y0.long_name, dataset_.y0.units, ax_)\n", "\n", " # add a reference to the original dataset_ in the figure title\n", " fig_.suptitle(f\"{dataset_.attrs['name']}\\ntuid: {dataset_.attrs['tuid']}\")\n", "\n", "def save_quantities_of_interest(tuid_: str, quantities_of_interest_: dict) -> None:\n", " \"\"\"Saves the quantities of interest to disk in JSON format.\"\"\"\n", " exp_folder_ = Path(locate_experiment_container(tuid_))\n", " # Save fit results\n", " with open(exp_folder_ / \"quantities_of_interest.json\", \"w\", encoding=\"utf-8\") as f_:\n", " json.dump(quantities_of_interest_, f_)\n", "\n", "def save_mpl_figure(tuid_: str, fig_: matplotlib.figure.Figure) -> None:\n", " \"\"\"Saves a matplotlib figure as PNG.\"\"\"\n", " exp_folder_ = Path(locate_experiment_container(tuid_))\n", " fig_.savefig(exp_folder_ / \"Cosine fit.png\", dpi=300, bbox_inches=\"tight\")\n", " plt.close(fig_)" ] }, { "cell_type": "markdown", "id": "c9d139bd", "metadata": {}, "source": [ "Now the execution of the entire analysis becomes much more readable and clean:" ] }, { "cell_type": "code", "execution_count": 15, "id": "358959d4", "metadata": {}, "outputs": [], "source": [ "dataset = extract_data(label=\"Cosine experiment\")\n", "fit_result = run_fitting(dataset)\n", "quantities_of_interest = analyze_fit_results(fit_result)\n", "save_quantities_of_interest(dataset.tuid, quantities_of_interest)\n", "fig, ax = plt.subplots()\n", "plot_fit(fig_=fig, ax_=ax, dataset_=dataset, fit_result_=fit_result)\n", "save_mpl_figure(dataset.tuid, fig)" ] }, { "cell_type": "markdown", "id": "31482522", "metadata": {}, "source": [ "If we inspect the experiment directory, we will find a structure that looks like the following:\n", "\n", "```{code-block}\n", "20230125-172712-018-87b9bf-Cosine experiment/\n", "├── Cosine fit.png\n", "├── dataset.hdf5\n", "├── quantities_of_interest.json\n", "└── snapshot.json\n", "```\n", "\n", "## Creating a simple analysis class\n", "\n", "Even though we have improved code structure greatly, in order to execute the same analysis against some other dataset we would have to copy-paste a significant portion of code (the analysis steps).\n", "\n", "We tackle this by taking advantage of the Object Oriented Programming (OOP) in python.\n", "We will create a python class that serves as a structured container for data (attributes) and the methods (functions) that act on the information.\n", "\n", "Some of the advantages of OOP are:\n", "\n", "- the same class can be instantiated multiple times to act on different data while reusing the same methods;\n", "- all the methods have access to all the data (attributes) associated with a particular instance of the class;\n", "- subclasses can inherit from other classes and extend their functionalities.\n", "\n", "Let's now observe what such a class could look like.\n", "\n", "```{warning}\n", "This analysis class is intended for educational purposes only.\n", "It is not intended to be used as a template!\n", "See the end of the tutorial for the recommended usage of the analysis framework.\n", "```" ] }, { "cell_type": "code", "execution_count": 16, "id": "da4a3264", "metadata": {}, "outputs": [], "source": [ "class MyCosineAnalysis:\n", " \"\"\"Analysis as a class.\"\"\"\n", "\n", " def __init__(self, label: str):\n", " \"\"\"This is a special method that python calls when an instance of this class is\n", " created.\"\"\"\n", "\n", " self.label = label\n", "\n", " # objects to be filled up later when running the analysis\n", " self.tuid = None\n", " self.dataset = None\n", " self.fit_results = {}\n", " self.quantities_of_interest = {}\n", " self.figs_mpl = {}\n", " self.axs_mpl = {}\n", "\n", " # with just slight modification our functions become methods\n", " # with the advantage that we have access to all the necessary information from self\n", " def run(self):\n", " \"\"\"Execute the analysis steps.\"\"\"\n", " self.extract_data()\n", " self.run_fitting()\n", " self.analyze_fit_results()\n", " self.create_figures()\n", " self.save_quantities_of_interest()\n", " self.save_figures()\n", "\n", " def extract_data(self):\n", " \"\"\"Load data from disk.\"\"\"\n", " self.tuid = get_latest_tuid(contains=self.label)\n", " self.dataset = load_dataset(tuid)\n", "\n", " def run_fitting(self):\n", " \"\"\"Fits the model to the data.\"\"\"\n", " model = MyCosineModel()\n", " guess = model.guess(self.dataset.y0.values)\n", " result = model.fit(\n", " self.dataset.y0.values, x=self.dataset.x0.values, params=guess\n", " )\n", " self.fit_results.update({\"cosine\": result})\n", "\n", " def analyze_fit_results(self):\n", " \"\"\"Analyzes the fit results and saves quantities of interest.\"\"\"\n", " self.quantities_of_interest.update(\n", " {\n", " \"amplitude\": self.fit_results[\"cosine\"].params[\"amplitude\"].value,\n", " \"frequency\": self.fit_results[\"cosine\"].params[\"frequency\"].value,\n", " }\n", " )\n", "\n", " def save_quantities_of_interest(self):\n", " \"\"\"Save quantities of interest to disk.\"\"\"\n", " exp_folder_ = Path(locate_experiment_container(self.tuid))\n", " with open(\n", " exp_folder_ / \"quantities_of_interest.json\", \"w\", encoding=\"utf-8\"\n", " ) as file_:\n", " json.dump(self.quantities_of_interest, file_)\n", "\n", " def plot_fit(self, fig_: matplotlib.figure.Figure, ax_: matplotlib.axes.Axes):\n", " \"\"\"Plot the fit result.\"\"\"\n", "\n", " self.dataset.y0.plot.line(ax=ax_, x=\"x0\", marker=\"o\", label=\"Data\") # plot data\n", "\n", " x_fit_ = np.linspace(self.dataset[\"x0\"][0], self.dataset[\"x0\"][-1], 1000)\n", " y_fit_ = cos_func(x=x_fit_, **self.fit_results[\"cosine\"].best_values)\n", " ax_.plot(x_fit_, y_fit_, label=\"Fit\") # plot fit\n", " ax_.legend()\n", "\n", " # set units-aware tick labels\n", " set_xlabel(self.dataset.x0.long_name, self.dataset.x0.attrs[\"units\"], ax_)\n", " set_ylabel(self.dataset.y0.long_name, self.dataset.y0.attrs[\"units\"], ax_)\n", "\n", " # add a reference to the original dataset in the figure title\n", " fig_.suptitle(f\"{dataset.attrs['name']}\\ntuid: {dataset.attrs['tuid']}\")\n", "\n", " def create_figures(self):\n", " \"\"\"Create figures.\"\"\"\n", " fig_, ax_ = plt.subplots()\n", " self.plot_fit(fig_, ax_)\n", "\n", " fig_id = \"cos-data-and-fit\"\n", " self.figs_mpl.update({fig_id: fig_})\n", " # keep a reference to `ax` as well\n", " # it can be accessed later to apply modifications (e.g., in a notebook)\n", " self.axs_mpl.update({fig_id: ax_})\n", "\n", " def save_figures(self):\n", " \"\"\"Save figures to disk.\"\"\"\n", " exp_folder_ = Path(locate_experiment_container(self.tuid))\n", " for fig_name, fig_ in self.figs_mpl.items():\n", " fig_.savefig(exp_folder_ / f\"{fig_name}.png\", dpi=300, bbox_inches=\"tight\")\n", " plt.close(fig_)" ] }, { "cell_type": "markdown", "id": "b56c4016", "metadata": {}, "source": [ "Running the analysis is now as simple as:" ] }, { "cell_type": "code", "execution_count": 17, "id": "ba6ee364", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHgCAYAAAChG7dTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC+UklEQVR4nOzdd1hUZ/bA8e+doQy9SFURsCKiYu/RWKIpJprNJtlNNb3vb1PX7G6MSXZTdjeb7KZt3LRN79XEFLuJJYpEsYsgihQVpUifeX9/3JmBkSIocIfhfJ6HR7j3znAAGc593/OeV1NKKYQQQgghPJjJ6ACEEEIIIdqbJDxCCCGE8HiS8AghhBDC40nCI4QQQgiPJwmPEEIIITyeJDxCCCGE8HiS8AghhBDC40nCI4QQQgiPJwmPEEIIITyeJDxCCCdN03j44YeNDqPTSUhI4NprrzU6DCFEMyThEcJNZWZmcvPNN9O7d28sFgvBwcFMmDCBZ599loqKCqPDE53M9u3befjhh8nOzjY6FCEM4WV0AEKIhhYvXsyvf/1rfH19ufrqq0lJSaG6upo1a9Zw3333sW3bNl5++eU2/7wVFRV4ecnLQmvt2rULk8m97x+3b9/OwoULmTJlCgkJCUaHI0SHk1c2IdxMVlYWl19+OfHx8SxbtozY2Fjnudtvv529e/eyePHidvncFoulXZ7XEymlqKysxM/PD19fX6PDEUKcgnvfkgjRBT311FOUlZXxyiuvuCQ7Dn379uV3v/ud8+Pa2loeffRR+vTpg6+vLwkJCTz44INUVVW5PG7jxo3MnDmTiIgI/Pz8SExM5LrrrnO55uQanocffhhN09i7dy/XXnstoaGhhISEMG/ePMrLyxvE9tZbbzFixAj8/PwIDw/n8ssv58CBAy36unNzc7nuuuuIjo7G19eXQYMG8eqrrzrPV1RUkJSURFJSksuUXlFREbGxsYwfPx6r1QrAtddeS2BgIPv27WPmzJkEBATQvXt3HnnkEZRSLp/XZrPxzDPPMGjQICwWC9HR0dx8880cO3bM5bqEhAQuuOACvv32W0aOHImfnx//+c9/nOfq1/C8/vrraJrGmjVruOuuu4iMjCQ0NJSbb76Z6upqjh8/ztVXX01YWBhhYWHcf//9ZxzXmjVrGD16NBaLhd69e/O///3PJZ5f//rXAJx99tlomoamaaxYsaJFPxshPIISQriVHj16qN69e7f4+muuuUYB6pJLLlHPP/+8uvrqqxWg5syZ47ymoKBAhYWFqf79+6u//e1vatGiReqPf/yjGjhwoMtzAWrBggXOjxcsWKAANWzYMHXxxRerF154Qd1www0KUPfff7/LYx977DGlaZq67LLL1AsvvKAWLlyoIiIiVEJCgjp27FizX0N+fr7q2bOniouLU4888oh68cUX1YUXXqgA9c9//tN53bp165TZbFa///3vnccuv/xy5efnp3bt2uXyPbFYLKpfv37qqquuUs8995y64IILFKD+/Oc/u3zuG264QXl5eakbb7xRvfTSS+qBBx5QAQEBatSoUaq6utp5XXx8vOrbt68KCwtTf/jDH9RLL72kli9f7jx3zTXXOK997bXXFKBSU1PVrFmz1PPPP6+uuuoq5/dt4sSJ6re//a164YUXnHG98cYbpx3XgAEDVHR0tHrwwQfVc889p4YPH640TVMZGRlKKaUyMzPVXXfdpQD14IMPqjfffFO9+eabKj8/v9mfixCeRBIeIdxIcXGxAtRFF13UouvT09MVoG644QaX4/fee68C1LJly5RSSn366acKUD///HOzz9dUwnPddde5XDd37lzVrVs358fZ2dnKbDarv/zlLy7Xbd26VXl5eTU4frLrr79excbGqiNHjrgcv/zyy1VISIgqLy93Hps/f74ymUxq1apV6sMPP1SAeuaZZ1we50gC77zzTucxm82mzj//fOXj46MOHz6slFJq9erVClBvv/22y+OXLFnS4Hh8fLwC1JIlSxrE31TCM3PmTGWz2ZzHx40bpzRNU7fccovzWG1trerZs6eaPHmy89jpxLVq1SrnscLCQuXr66vuuece5zHH98qRpAnR1ciUlhBupKSkBICgoKAWXf/1118DcPfdd7scv+eeewCctT6hoaEAfPXVV9TU1LQ6rltuucXl40mTJnH06FFnvJ988gk2m41LL72UI0eOON9iYmLo168fy5cvb/K5lVJ8/PHHzJ49G6WUy+NnzpxJcXExaWlpzusffvhhBg0axDXXXMNtt93G5MmTueuuuxp97jvuuMP5vqZp3HHHHVRXV/PDDz8A8OGHHxISEsKMGTNcPu+IESMIDAxsEHdiYiIzZ85s8fft+uuvR9M058djxoxBKcX111/vPGY2mxk5ciT79u1zHmttXMnJyUyaNMn5cWRkJAMGDHB5TiG6OilaFsKNBAcHA1BaWtqi6/fv34/JZKJv374ux2NiYggNDWX//v0ATJ48mV/96lcsXLiQf/7zn0yZMoU5c+bw29/+tkUFt7169XL5OCwsDIBjx44RHBzMnj17UErRr1+/Rh/v7e3d5HMfPnyY48eP8/LLLze58qywsND5vo+PD6+++iqjRo3CYrHw2muvuSQVDiaTid69e7sc69+/P4BzafaePXsoLi4mKirqlJ8X9ISnNU7+voWEhAAQFxfX4Hj92pzWxnXy5wH9Z3RyvY8QXZkkPEK4keDgYLp3705GRkarHtfYH/yTz3/00UesW7eOL7/8km+//ZbrrruOf/zjH6xbt47AwMBmH282mxs9ruyFtjabDU3T+Oabbxq9trnnt9lsAFx55ZVcc801jV4zZMgQl4+//fZbACorK9mzZ0+rE5H6nzsqKoq333670fORkZEuH/v5+bXq+Zv6vjV2XNUrWm5tXKf6+QghJOERwu1ccMEFvPzyy6xdu5Zx48Y1e218fDw2m409e/YwcOBA5/GCggKOHz9OfHy8y/Vjx45l7Nix/OUvf+Gdd97hiiuu4L333uOGG244o5j79OmDUorExETnKEpLRUZGEhQUhNVqZfr06ae8fsuWLTzyyCPMmzeP9PR0brjhBrZu3eocPXGw2Wzs27fPJZ7du3cDOPvQ9OnThx9++IEJEya0OplpT+0R16mSYiE8ndTwCOFm7r//fgICArjhhhsoKChocD4zM5Nnn30WgPPOOw+AZ555xuWap59+GoDzzz8f0KeeTr7bT01NBWiwfP10XHzxxZjNZhYuXNjg8yilOHr0aJOPNZvN/OpXv+Ljjz9udGTr8OHDzvdramq49tpr6d69O88++yyvv/46BQUF/P73v2/0uZ977jmXOJ577jm8vb2ZNm0aAJdeeilWq5VHH320wWNra2s5fvx4s193e2mPuAICAgAM+5qEMJqM8AjhZvr06cM777zDZZddxsCBA106Lf/00098+OGHzp4vQ4cO5ZprruHll1/m+PHjTJ48mQ0bNvDGG28wZ84czj77bADeeOMNXnjhBebOnUufPn0oLS1l0aJFBAcHO5OmM435scceY/78+WRnZzNnzhyCgoLIysri008/5aabbuLee+9t8vFPPPEEy5cvZ8yYMdx4440kJydTVFREWloaP/zwA0VFRQA89thjpKens3TpUoKCghgyZAgPPfQQf/rTn7jkkktcvhaLxcKSJUu45pprGDNmDN988w2LFy/mwQcfdE4JTZ48mZtvvpnHH3+c9PR0zjnnHLy9vdmzZw8ffvghzz77LJdccskZf39aqz3iSk1NxWw28+STT1JcXIyvry9Tp05tsk5ICI9jzOIwIcSp7N69W914440qISFB+fj4qKCgIDVhwgT173//W1VWVjqvq6mpUQsXLlSJiYnK29tbxcXFqfnz57tck5aWpn7zm9+oXr16KV9fXxUVFaUuuOACtXHjRpfPSRPL0h3LuB0cy66zsrJcjn/88cdq4sSJKiAgQAUEBKikpCR1++23u/TIaUpBQYG6/fbbVVxcnPL29lYxMTFq2rRp6uWXX1ZKKbVp0ybl5eXlstRcKX1Z96hRo1T37t2d/X6uueYaFRAQoDIzM9U555yj/P39VXR0tFqwYIGyWq0NPvfLL7+sRowYofz8/FRQUJAaPHiwuv/++9WhQ4ec18THx6vzzz+/0dibWpZ+chuApr6fjnjbMq7Jkye7LHVXSqlFixap3r17K7PZLEvURZejKSVVbUIIz3Lttdfy0UcfUVZWZnQoQgg3ITU8QgghhPB4kvAIIYQQwuNJwiOEEEIIjyc1PEIIIYTweDLCI4QQQgiPJwmPEEIIITyeJDyi03r99dfRNM25EWRzEhISnM36hBBnrqysjBtuuIGYmBg0TeP//u//jA5JiGZJwiMM8dNPP/Hwww93ijb3O3fu5P777yc1NZWgoCBiY2M5//zz2bhxY6PX5+bmcumllxIaGkpwcDAXXXQR+/btc7nmwIEDLFy4kNGjRxMWFkZERARTpkzhhx9+aPB8q1at4sILLyQuLg6LxUJMTAyzZs3ixx9/bHDtd999x/XXX09KSgpms9m5Z9SZfE27du3i97//PePHj8disTSbZCYkJKBpWoO3W265pdHrz+Rzgb6r/P33309iYiK+vr706NGDSy65hPLycuc1S5cu5brrrqN///74+/vTu3dvbrjhBvLy8hp9zurqav7617+SlJSExWIhOjqa888/n4MHDzqvWbFiRaNfp6ZprFu3znldeXk5zz//POeccw6xsbEEBQUxbNgwXnzxRaxWa4u+Jw5paWlceOGFhIeH4+/vT0pKCv/617+avP748eNERUU5N45ti+es769//Suvv/46t956K2+++SZXXXWV8yakqbf6m6E+/PDDjV5jsVgafK6mnu+JJ55wua61/39E1yJbSwhD/PTTTyxcuJBrr72W0NDQ03qOq666issvvxxfX9+2De4k//3vf3nllVf41a9+xW233UZxcTH/+c9/GDt2LEuWLHHZ8LKsrIyzzz6b4uJiHnzwQby9vfnnP//J5MmTSU9Pp1u3bgB8/vnnPPnkk8yZM4drrrmG2tpa/ve//zFjxgxeffVV5s2b53zO3bt3YzKZuOWWW4iJieHYsWO89dZbnHXWWSxevJhZs2Y5r33nnXd4//33GT58ON27d2+Tr2nt2rX861//Ijk5mYEDB5Kent7s9ys1NZV77rnH5VhLNxRtzecqLi5m8uTJHDx4kJtuuom+ffty+PBhVq9eTVVVFf7+/gA88MADFBUV8etf/5p+/fqxb98+nnvuOb766ivS09OJiYlxPmdNTQ3nn38+P/30EzfeeCNDhgzh2LFjrF+/nuLiYnr27OkSw1133cWoUaNcjvXt29f5/r59+7jzzjuZNm0ad999N8HBwXz77bfcdtttrFu3jjfeeKNF35fvvvuO2bNnM2zYMP785z8TGBhIZmamSxJ2soceesgl8WuL56xv2bJljB07lgULFjiPhYWF8eabbza49p///Ce//PKLcw+z+l588UUCAwOdHze18/uMGTO4+uqrXY4NGzbM5ePW/l8VXYyxjZ5FV/W3v/2t0a0J2svJrf9bY+PGjaq0tNTl2JEjR1RkZKSaMGGCy/Enn3xSAWrDhg3OYzt27FBms1nNnz/feSwjI6PB9gKVlZUqKSlJ9ezZ85QxnThxQkVHR6uZM2e6HM/NzVXV1dVKKaXOP/98FR8ff8Zf09GjR1VJSYlS6tQ/t+a2X2iJ1nyuW2+9VYWGhqp9+/Y1+5wrV65ssJ3EypUrFaD++Mc/uhx/8sknlbe3t1q/fn2zz7l8+XIFqA8//LDZ6w4fPqwyMjIaHJ83b54C1J49e5p9vFJKFRcXq+joaDV37txGt8VozNatW5WXl5d65JFHGo3zdJ7zZImJiS36WZeXl6ugoCA1Y8YMl+NNbbPRGEDdfvvtp7yuNf9/RNcjU1qiwz388MPcd999ACQmJjqHp7Ozs8nOzkbTNF5//fUGj9M0jYcfftj5cWM1PEopHnvsMXr27Im/vz9nn30227ZtazSOzMxMMjMzTxnviBEjXO5AAbp168akSZPYsWOHy/GPPvqIUaNGudz1JyUlMW3aND744APnsUGDBhEREeHyWF9fX8477zwOHjxIaWlpszH5+/sTGRnZYEqwe/fueHt7t+nXFB4eTlBQ0Cmfs77q6mpOnDjRqse05nMdP36c1157jZtuuonExESqq6ub3PX9rLPOwmQyNTgWHh7u8rXabDaeffZZ5s6dy+jRo6mtrW12hMShtLSU2traRs9FREQwaNCgBsfnzp0L0OB73Zh33nmHgoIC/vKXv2AymThx4gQ2m63Zx/zud79j7ty5TJo0qc2e08ExnZeVlcXixYtdfn8b8+WXX1JaWsoVV1zR6HmlFCUlJagWdEipqKigsrKyyfOt+b9qs9l45plnGDRokHPq8uabb+bYsWMterzofCThER3u4osv5je/+Q2gD3W/+eabvPnmm84drM/EQw89xJ///GeGDh3K3/72N3r37s0555zT6B/fadOmNTrE3lL5+fkuSYvNZmPLli2MHDmywbWjR48mMzPzlIlMfn4+/v7+zumY+kpKSjhy5Ag7d+7kwQcfJCMj44zib+rzn5yItdayZcvw9/cnMDCQhIQEnn322TaKrs6aNWuorKykb9++XHLJJfj7++Pn58eECRNaNI1RVlZGWVmZy9e6fft2Dh06xJAhQ7jpppsICAggICCAIUOGsHz58kafZ968eQQHB2OxWDj77LObrOs6WX5+PkCLvtc//PADwcHB5ObmMmDAAAIDAwkODubWW29t9I//hx9+yE8//cRTTz3VZs9Z38CBA3nzzTeJiIggNTX1lL+/b7/9Nn5+flx88cWNnu/duzchISEEBQVx5ZVXUlBQ0Oh1r7/+OgEBAfj5+ZGcnMw777zTbJyncvPNN3PfffcxYcIEnn32WebNm8fbb7/NzJkzqampOaPnFm7K4BEm0UU1NdyclZWlAPXaa681eAwn7eR98o7dhYWFysfHR51//vnKZrM5r3vwwQcV0GBKKz4+vskpn1NZtWqV0jRN/fnPf3YeO3z4sALUI4880uD6559/XgFq586dTT7nnj17lMViUVdddVWj52fOnKkABSgfHx918803q4qKiiafr7kprZZ+TSc71TTB7Nmz1ZNPPqk+++wz9corr6hJkyYpQN1///0tjqMln+vpp59WgOrWrZsaPXq0evvtt9ULL7ygoqOjVVhYmMtu4o159NFHFaCWLl3qPPbJJ584n7Nfv37qtddeU6+99prq16+f8vHxUb/88ovz2h9//FH96le/Uq+88or6/PPP1eOPP666deumLBaLSktLa/ZzV1VVqeTkZJWYmKhqampO+X0YMmSI8vf3V/7+/urOO+9UH3/8sbrzzjsVoC6//HKXa8vLy1WvXr2c06dNTb215jmb0pLpy6NHjyofHx916aWXNjj3zDPPqDvuuEO9/fbb6qOPPlK/+93vlJeXl+rXr58qLi52uXb8+PHqmWeeUZ9//rl68cUXVUpKigLUCy+80OTnbu7/z+rVqxWg3n77bZfjS5YsafS48AyS8AhDtEfC88477yhALVmyxOVxhYWFjSY8p6ugoED17NlT9e7d26UOJicnRwHqySefbPCYV155RQFq8+bNjT7niRMnVGpqqgoLC1O5ubmNXrN582b13XffqVdeeUWdddZZat68eQ3qcOprTcLT1Nd0stbWRdhsNjVz5kzl5eWlDhw40KLHtORzOWpTIiIiXOJdu3Zto7U59a1cuVJ5eXk1+CP8v//9z5lM5uTkOI/v379feXt7qyuuuKLZePfs2aP8/Pwa1FWd7MYbb1SAWrx4cbPXOfTu3VsB6pZbbnE5fvPNNytA7d6923nsoYceUrGxsc7vSVMJT2uesyktSXj+85//KEB9/vnnp3w+pZR6++23FaAef/zxZq+rqqpSKSkpKjQ0VJWXlzd6TXP/f+666y4VEhKiCgsL1eHDh13eAgMD1Q033NCieEXnIlNawmPs378fgH79+rkcj4yMJCwsrE0+x4kTJ7jgggsoLS3l888/d6mD8fPzA2i0lsQxTeC4pj6r1crll1/O9u3b+eijj5pcXZWamsqMGTO47rrr+P7779mwYUOb9BZq7ms6U5qm8fvf/57a2lpWrFgB6HUY+fn5Lm+t5fg+zp492yXesWPHkpiYyE8//dTo43bu3MncuXNJSUnhv//9b6PPOWHCBOLi4pzHe/XqxcSJE5t8Toe+ffty0UUXsXz58iaXnP/tb39j0aJFPProo5x33nnO41artcH3pLq62iUuxzSww29/+1tAX5kEkJ2dzd/+9jf+8pe/nPJn2NLnLCoqcompuLi42ec92dtvv014eDjnnntui67/7W9/S0xMTKPtGerz8fHhjjvu4Pjx42zatKlVMQHs2bOH4uJioqKiiIyMdHkrKyujsLCw1c8p3J8sSxduRdO0Ro+3tmdJe6iurubiiy9my5YtfPvtt6SkpLicDw8Px9fXt9H+Lo5jjSUzN954I1999RVvv/02U6dObVEsPj4+XHjhhTzxxBNUVFQ0mki1xKm+prbgSB6KiooAeP/9912W3QMtKlitz/F9jI6ObnAuKiqq0cLTAwcOcM455xASEsLXX3/doLj1VM+5efPmU8YVFxfnLNgODg52Off666/zwAMPcMstt/CnP/2pQWyJiYkux5YvX86UKVPo3r0727ZtaxBXVFQUgPNrfeihh+jRowdTpkxxFhA7ksnDhw+TnZ1Nr169MJlMLX7Oiy++mJUrVzrPX3PNNY0uKGhMTk4Oq1ev5qabbmpRIb1DXFyc8//Kqa4DWnTtyWw2G1FRUS59gepri3pC4X4k4RGGaCqxcYzEnLz6yDF605z4+HhAv3vr3bu38/jhw4fPeOWFzWbj6quvZunSpXzwwQdMnjy5wTUmk4nBgwc3Wri6fv16evfu3eCP7H333cdrr73GM8880+Bu+1QqKipQSlFaWnpaCU9Lvqa24Gi66PgjMnPmTL7//vszes4RI0YAepPHkx06dIikpCSXY0ePHuWcc86hqqqKpUuXEhsb2+BxgwcPxtvbu8nnbMkfwX379mGxWBqMsHz++efccMMNXHzxxTz//PMNHhcTE9PgezJ06FBA/1q///57Z4Fx/Zig7vuak5PD3r17Xf7vO9x2222AnsiEhoa2+Dn/8Y9/uPzuNNfb6WTvvvsuSqkmV2c1RilFdnZ2g/46jTn5/1Vr9OnThx9++IEJEyac9s2C6ISMnVETXdWLL77YZE1LRESEmjt3rsuxe+65p0VFy97e3i0uWt67d6/au3dvi+K97bbbFKD+85//NHvdE088oQD1888/O4/t3LlTmc1m9cADD7hc+9RTTylAPfjgg80+Z0FBQYNjx44dU3FxcSouLq7Jx52qhqelX1N9zdVFHD16VNXW1rocq66uVhMmTFA+Pj4qLy+vxZ/nVJ9LKaWGDh2qgoODXfq4fPvttwpQTz31lPNYWVmZGj16tAoKClIbN25s9nNedNFFymw2qx07djiPbd++XZnNZnXbbbc5jxUWFjZ4bHp6uvL29lYXXnihy/GVK1cqi8Wizj77bFVZWdns529MWlqaAtRvf/tbl+O/+c1vlJeXl7Pma/Xq1erTTz91eXMUZ99///3q008/dfZoaulzNudUNTxDhgxRvXr1cvldrK+x76GjuP/pp59u9rqSkhLVp08fFRERoaqqqhp9/ub+/6xYsUIBLr2xHGpqatSxY8ea+KpEZyYjPMIQjjv0P/7xj1x++eV4e3sze/ZsAgICuOGGG3jiiSe44YYbGDlyJKtWrWL37t2nfM7IyEjuvfdeHn/8cS644ALOO+88Nm/ezDfffNPo8l/Hku5TtZ5/5plneOGFFxg3bhz+/v689dZbLufnzp1LQEAAoN9JL1q0iPPPP597770Xb29vnn76aaKjo126D3/66afcf//99OvXj4EDBzZ4zhkzZjinG84991x69uzJmDFjiIqKIicnh9dee41Dhw7x/vvvuzxuy5YtfPHFFwDs3buX4uJiHnvsMUAfMZg9e3arv6bi4mL+/e9/Azi3s3juuecIDQ0lNDSUO+64A4AvvviCxx57jEsuuYTExESKiop45513yMjI4K9//atLR+OmtPRzgd7SYMaMGUycOJGbb76Z4uJinn76afr378+tt97qvO6KK65gw4YNXHfddezYscOl901gYCBz5sxxfvzXv/6VpUuXMnXqVO666y4A/vWvfxEeHs6DDz7ovO6yyy7Dz8+P8ePHExUVxfbt23n55Zfx9/d32e5g//79XHjhhWiaxiWXXMKHH37o8vUOGTKEIUOGNPs9GTZsGNdddx2vvvoqtbW1TJ48mRUrVvDhhx8yf/5856jLxIkTGzzW0cV81KhRLl9nS5/zdGVkZLBlyxb+8Ic/NDmaGx8fz2WXXcbgwYOxWCysWbOG9957j9TUVG6++Wbndc8//zyfffYZs2fPplevXuTl5fHqq6+Sk5PDm2++iY+Pj/Palv7/mTx5MjfffDOPP/446enpnHPOOXh7e7Nnzx4+/PBDnn32WS655JIz+h4IN2R0xiW6rkcffVT16NFDmUwmlzux8vJydf3116uQkBAVFBSkLr30UudKq+ZGeJRSymq1qoULF6rY2Fjl5+enpkyZojIyMhrttNzSZenXXHONczl4Y28n30EeOHBAXXLJJSo4OFgFBgaqCy64oEFHXUeX2abeli9f7rz2ueeeUxMnTlQR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", "text/plain": [ "
" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a_obj = MyCosineAnalysis(label=\"Cosine experiment\")\n", "a_obj.run()\n", "a_obj.figs_mpl[\"cos-data-and-fit\"]" ] }, { "cell_type": "markdown", "id": "6b1d19bb", "metadata": {}, "source": [ "The first line will instantiate the class by calling the {code}`.__init__()` method.\n", "\n", "As expected this will save similar files into the `experiment directory`:\n", "\n", "```{code-block}\n", "20230125-172712-018-87b9bf-Cosine experiment/\n", "├── cos-data-and-fit.png\n", "├── Cosine fit.png\n", "├── dataset.hdf5\n", "├── quantities_of_interest.json\n", "└── snapshot.json\n", "```\n", "\n", "## Extending the BaseAnalysis\n", "\n", "While the above stand-alone class provides the gist of an analysis, we can do even better by defining a structured framework that all analyses need to adhere to and factoring out the pieces of code that are common to most analyses.\n", "Besides that, the overall functionality can be improved.\n", "\n", "Here is where the {class}`~quantify_core.analysis.base_analysis.BaseAnalysis` enters the scene.\n", "It allows us to focus only on the particular aspect of our custom analysis by implementing only the relevant methods. Take a look at how the above class is implemented where we are making use of the analysis framework. For completeness, a fully documented {class}`~quantify_core.analysis.fitting_models.CosineModel` which can serve as a template is shown as well." ] }, { "cell_type": "code", "execution_count": 18, "id": "0909e0d6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
class CosineModel(lmfit.model.Model):\n",
       "    """\n",
       "    Exemplary lmfit model with a guess for a cosine.\n",
       "\n",
       "    .. note::\n",
       "\n",
       "        The :mod:`lmfit.models` module provides several fitting models that might fit\n",
       "        your needs out of the box.\n",
       "    """\n",
       "\n",
       "    def __init__(self, *args, **kwargs):\n",
       "        # pass in the model's equation\n",
       "        super().__init__(cos_func, *args, **kwargs)\n",
       "\n",
       "        # configure constraints that are independent from the data to be fitted\n",
       "        self.set_param_hint("frequency", min=0, vary=True)  # enforce positive frequency\n",
       "        self.set_param_hint("amplitude", min=0, vary=True)  # enforce positive amplitude\n",
       "        self.set_param_hint("offset", vary=True)\n",
       "        self.set_param_hint(\n",
       "            "phase", vary=True, min=-np.pi, max=np.pi\n",
       "        )  # enforce phase range\n",
       "\n",
       "    # pylint: disable=missing-function-docstring\n",
       "    def guess(self, data, x, **kws) -> lmfit.parameter.Parameters:\n",
       "        """\n",
       "        guess parameters based on the data\n",
       "\n",
       "        Parameters\n",
       "        ----------\n",
       "        data: np.ndarray\n",
       "            Data to fit to\n",
       "        x: np.ndarray\n",
       "            Independet variable\n",
       "        """\n",
       "\n",
       "        self.set_param_hint("offset", value=np.average(data))\n",
       "        self.set_param_hint("amplitude", value=(np.max(data) - np.min(data)) / 2)\n",
       "\n",
       "        # Guess frequency and phase using Fourier Transform\n",
       "        freq_guess, phase_guess = fft_freq_phase_guess(data, x)\n",
       "        phase_wrap = (phase_guess + np.pi) % (2 * np.pi) - np.pi\n",
       "        self.set_param_hint("frequency", value=freq_guess)\n",
       "        self.set_param_hint("phase", value=phase_wrap)\n",
       "\n",
       "        params = self.make_params()\n",
       "        return lmfit.models.update_param_vals(params, self.prefix, **kws)\n",
       "\n",
       "    # Same design patter is used in lmfit.models to inherit common docstrings.\n",
       "    # We adjust these common docstrings to our docs build pipeline\n",
       "    __init__.__doc__ = get_model_common_doc() + mk_seealso("cos_func")\n",
       "    guess.__doc__ = get_guess_common_doc()\n",
       "
\n" ], "text/latex": [ "\\begin{Verbatim}[commandchars=\\\\\\{\\}]\n", "\\PY{k}{class} \\PY{n+nc}{CosineModel}\\PY{p}{(}\\PY{n}{lmfit}\\PY{o}{.}\\PY{n}{model}\\PY{o}{.}\\PY{n}{Model}\\PY{p}{)}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\\PY{l+s+sd}{ Exemplary lmfit model with a guess for a cosine.}\n", "\n", "\\PY{l+s+sd}{ .. note::}\n", "\n", "\\PY{l+s+sd}{ The :mod:`lmfit.models` module provides several fitting models that might fit}\n", "\\PY{l+s+sd}{ your needs out of the box.}\n", "\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\n", " \\PY{k}{def} \\PY{n+nf+fm}{\\PYZus{}\\PYZus{}init\\PYZus{}\\PYZus{}}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{,} \\PY{o}{*}\\PY{n}{args}\\PY{p}{,} \\PY{o}{*}\\PY{o}{*}\\PY{n}{kwargs}\\PY{p}{)}\\PY{p}{:}\n", " \\PY{c+c1}{\\PYZsh{} pass in the model\\PYZsq{}s equation}\n", " \\PY{n+nb}{super}\\PY{p}{(}\\PY{p}{)}\\PY{o}{.}\\PY{n+nf+fm}{\\PYZus{}\\PYZus{}init\\PYZus{}\\PYZus{}}\\PY{p}{(}\\PY{n}{cos\\PYZus{}func}\\PY{p}{,} \\PY{o}{*}\\PY{n}{args}\\PY{p}{,} \\PY{o}{*}\\PY{o}{*}\\PY{n}{kwargs}\\PY{p}{)}\n", "\n", " \\PY{c+c1}{\\PYZsh{} configure constraints that are independent from the data to be fitted}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{frequency}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n+nb}{min}\\PY{o}{=}\\PY{l+m+mi}{0}\\PY{p}{,} \\PY{n}{vary}\\PY{o}{=}\\PY{k+kc}{True}\\PY{p}{)} \\PY{c+c1}{\\PYZsh{} enforce positive frequency}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{amplitude}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n+nb}{min}\\PY{o}{=}\\PY{l+m+mi}{0}\\PY{p}{,} \\PY{n}{vary}\\PY{o}{=}\\PY{k+kc}{True}\\PY{p}{)} \\PY{c+c1}{\\PYZsh{} enforce positive amplitude}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{offset}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{vary}\\PY{o}{=}\\PY{k+kc}{True}\\PY{p}{)}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\n", " \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{phase}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{vary}\\PY{o}{=}\\PY{k+kc}{True}\\PY{p}{,} \\PY{n+nb}{min}\\PY{o}{=}\\PY{o}{\\PYZhy{}}\\PY{n}{np}\\PY{o}{.}\\PY{n}{pi}\\PY{p}{,} \\PY{n+nb}{max}\\PY{o}{=}\\PY{n}{np}\\PY{o}{.}\\PY{n}{pi}\n", " \\PY{p}{)} \\PY{c+c1}{\\PYZsh{} enforce phase range}\n", "\n", " \\PY{c+c1}{\\PYZsh{} pylint: disable=missing\\PYZhy{}function\\PYZhy{}docstring}\n", " \\PY{k}{def} \\PY{n+nf}{guess}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{,} \\PY{n}{data}\\PY{p}{,} \\PY{n}{x}\\PY{p}{,} \\PY{o}{*}\\PY{o}{*}\\PY{n}{kws}\\PY{p}{)} \\PY{o}{\\PYZhy{}}\\PY{o}{\\PYZgt{}} \\PY{n}{lmfit}\\PY{o}{.}\\PY{n}{parameter}\\PY{o}{.}\\PY{n}{Parameters}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\\PY{l+s+sd}{ guess parameters based on the data}\n", "\n", "\\PY{l+s+sd}{ Parameters}\n", "\\PY{l+s+sd}{ \\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}}\n", "\\PY{l+s+sd}{ data: np.ndarray}\n", "\\PY{l+s+sd}{ Data to fit to}\n", "\\PY{l+s+sd}{ x: np.ndarray}\n", "\\PY{l+s+sd}{ Independet variable}\n", "\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{offset}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{value}\\PY{o}{=}\\PY{n}{np}\\PY{o}{.}\\PY{n}{average}\\PY{p}{(}\\PY{n}{data}\\PY{p}{)}\\PY{p}{)}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{amplitude}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{value}\\PY{o}{=}\\PY{p}{(}\\PY{n}{np}\\PY{o}{.}\\PY{n}{max}\\PY{p}{(}\\PY{n}{data}\\PY{p}{)} \\PY{o}{\\PYZhy{}} \\PY{n}{np}\\PY{o}{.}\\PY{n}{min}\\PY{p}{(}\\PY{n}{data}\\PY{p}{)}\\PY{p}{)} \\PY{o}{/} \\PY{l+m+mi}{2}\\PY{p}{)}\n", "\n", " \\PY{c+c1}{\\PYZsh{} Guess frequency and phase using Fourier Transform}\n", " \\PY{n}{freq\\PYZus{}guess}\\PY{p}{,} \\PY{n}{phase\\PYZus{}guess} \\PY{o}{=} \\PY{n}{fft\\PYZus{}freq\\PYZus{}phase\\PYZus{}guess}\\PY{p}{(}\\PY{n}{data}\\PY{p}{,} \\PY{n}{x}\\PY{p}{)}\n", " \\PY{n}{phase\\PYZus{}wrap} \\PY{o}{=} \\PY{p}{(}\\PY{n}{phase\\PYZus{}guess} \\PY{o}{+} \\PY{n}{np}\\PY{o}{.}\\PY{n}{pi}\\PY{p}{)} \\PY{o}{\\PYZpc{}} \\PY{p}{(}\\PY{l+m+mi}{2} \\PY{o}{*} \\PY{n}{np}\\PY{o}{.}\\PY{n}{pi}\\PY{p}{)} \\PY{o}{\\PYZhy{}} \\PY{n}{np}\\PY{o}{.}\\PY{n}{pi}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{frequency}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{value}\\PY{o}{=}\\PY{n}{freq\\PYZus{}guess}\\PY{p}{)}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{phase}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{value}\\PY{o}{=}\\PY{n}{phase\\PYZus{}wrap}\\PY{p}{)}\n", "\n", " \\PY{n}{params} \\PY{o}{=} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{make\\PYZus{}params}\\PY{p}{(}\\PY{p}{)}\n", " \\PY{k}{return} \\PY{n}{lmfit}\\PY{o}{.}\\PY{n}{models}\\PY{o}{.}\\PY{n}{update\\PYZus{}param\\PYZus{}vals}\\PY{p}{(}\\PY{n}{params}\\PY{p}{,} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{prefix}\\PY{p}{,} \\PY{o}{*}\\PY{o}{*}\\PY{n}{kws}\\PY{p}{)}\n", "\n", " \\PY{c+c1}{\\PYZsh{} Same design patter is used in lmfit.models to inherit common docstrings.}\n", " \\PY{c+c1}{\\PYZsh{} We adjust these common docstrings to our docs build pipeline}\n", " \\PY{n+nf+fm}{\\PYZus{}\\PYZus{}init\\PYZus{}\\PYZus{}}\\PY{o}{.}\\PY{n+nv+vm}{\\PYZus{}\\PYZus{}doc\\PYZus{}\\PYZus{}} \\PY{o}{=} \\PY{n}{get\\PYZus{}model\\PYZus{}common\\PYZus{}doc}\\PY{p}{(}\\PY{p}{)} \\PY{o}{+} \\PY{n}{mk\\PYZus{}seealso}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{cos\\PYZus{}func}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{)}\n", " \\PY{n}{guess}\\PY{o}{.}\\PY{n+nv+vm}{\\PYZus{}\\PYZus{}doc\\PYZus{}\\PYZus{}} \\PY{o}{=} \\PY{n}{get\\PYZus{}guess\\PYZus{}common\\PYZus{}doc}\\PY{p}{(}\\PY{p}{)}\n", "\\end{Verbatim}\n" ], "text/plain": [ "class CosineModel(lmfit.model.Model):\n", " \"\"\"\n", " Exemplary lmfit model with a guess for a cosine.\n", "\n", " .. note::\n", "\n", " The :mod:`lmfit.models` module provides several fitting models that might fit\n", " your needs out of the box.\n", " \"\"\"\n", "\n", " def __init__(self, *args, **kwargs):\n", " # pass in the model's equation\n", " super().__init__(cos_func, *args, **kwargs)\n", "\n", " # configure constraints that are independent from the data to be fitted\n", " self.set_param_hint(\"frequency\", min=0, vary=True) # enforce positive frequency\n", " self.set_param_hint(\"amplitude\", min=0, vary=True) # enforce positive amplitude\n", " self.set_param_hint(\"offset\", vary=True)\n", " self.set_param_hint(\n", " \"phase\", vary=True, min=-np.pi, max=np.pi\n", " ) # enforce phase range\n", "\n", " # pylint: disable=missing-function-docstring\n", " def guess(self, data, x, **kws) -> lmfit.parameter.Parameters:\n", " \"\"\"\n", " guess parameters based on the data\n", "\n", " Parameters\n", " ----------\n", " data: np.ndarray\n", " Data to fit to\n", " x: np.ndarray\n", " Independet variable\n", " \"\"\"\n", "\n", " self.set_param_hint(\"offset\", value=np.average(data))\n", " self.set_param_hint(\"amplitude\", value=(np.max(data) - np.min(data)) / 2)\n", "\n", " # Guess frequency and phase using Fourier Transform\n", " freq_guess, phase_guess = fft_freq_phase_guess(data, x)\n", " phase_wrap = (phase_guess + np.pi) % (2 * np.pi) - np.pi\n", " self.set_param_hint(\"frequency\", value=freq_guess)\n", " self.set_param_hint(\"phase\", value=phase_wrap)\n", "\n", " params = self.make_params()\n", " return lmfit.models.update_param_vals(params, self.prefix, **kws)\n", "\n", " # Same design patter is used in lmfit.models to inherit common docstrings.\n", " # We adjust these common docstrings to our docs build pipeline\n", " __init__.__doc__ = get_model_common_doc() + mk_seealso(\"cos_func\")\n", " guess.__doc__ = get_guess_common_doc()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
class CosineAnalysis(ba.BaseAnalysis):\n",
       "    """\n",
       "    Exemplary analysis subclass that fits a cosine to a dataset.\n",
       "    """\n",
       "\n",
       "    def process_data(self):\n",
       "        """\n",
       "        In some cases, you might need to process the data, e.g., reshape, filter etc.,\n",
       "        before starting the analysis. This is the method where it should be done.\n",
       "\n",
       "        See :meth:`~quantify_core.analysis.spectroscopy_analysis.ResonatorSpectroscopyAnalysis.process_data`\n",
       "        for an implementation example.\n",
       "        """  # pylint: disable=line-too-long\n",
       "\n",
       "    def run_fitting(self):\n",
       "        """\n",
       "        Fits a :class:`~quantify_core.analysis.fitting_models.CosineModel` to the data.\n",
       "        """\n",
       "        # create a fitting model based on a cosine function\n",
       "        model = CosineModel()\n",
       "        guess = model.guess(self.dataset.y0.values, x=self.dataset.x0.values)\n",
       "        result = model.fit(\n",
       "            self.dataset.y0.values, x=self.dataset.x0.values, params=guess\n",
       "        )\n",
       "        self.fit_results.update({"cosine": result})\n",
       "\n",
       "    def create_figures(self):\n",
       "        """\n",
       "        Creates a figure with the data and the fit.\n",
       "        """\n",
       "        fig, ax = plt.subplots()\n",
       "        fig_id = "cos_fit"\n",
       "        self.figs_mpl.update({fig_id: fig})\n",
       "        self.axs_mpl.update({fig_id: ax})\n",
       "\n",
       "        self.dataset.y0.plot(ax=ax, x="x0", marker="o", linestyle="")\n",
       "        qpl.plot_fit(ax, self.fit_results["cosine"])\n",
       "        qpl.plot_textbox(ax, ba.wrap_text(self.quantities_of_interest["fit_msg"]))\n",
       "\n",
       "        adjust_axeslabels_SI(ax)\n",
       "        qpl.set_suptitle_from_dataset(fig, self.dataset, "x0-y0")\n",
       "        ax.legend()\n",
       "\n",
       "    def analyze_fit_results(self):\n",
       "        """\n",
       "        Checks fit success and populates :code:`quantities_of_interest`.\n",
       "        """\n",
       "        fit_result = self.fit_results["cosine"]\n",
       "        fit_warning = ba.check_lmfit(fit_result)\n",
       "\n",
       "        # If there is a problem with the fit, display an error message in the text box.\n",
       "        # Otherwise, display the parameters as normal.\n",
       "        if fit_warning is None:\n",
       "            self.quantities_of_interest["fit_success"] = True\n",
       "            unit = self.dataset.y0.units\n",
       "            text_msg = "Summary\\n"\n",
       "            text_msg += format_value_string(\n",
       "                r"$f$", fit_result.params["frequency"], end_char="\\n", unit="Hz"\n",
       "            )\n",
       "            text_msg += format_value_string(\n",
       "                r"$A$", fit_result.params["amplitude"], unit=unit\n",
       "            )\n",
       "        else:\n",
       "            text_msg = fit_warning\n",
       "            self.quantities_of_interest["fit_success"] = False\n",
       "\n",
       "        # save values and fit uncertainty\n",
       "        for parameter_name in ["frequency", "amplitude"]:\n",
       "            self.quantities_of_interest[parameter_name] = ba.lmfit_par_to_ufloat(\n",
       "                fit_result.params[parameter_name]\n",
       "            )\n",
       "        self.quantities_of_interest["fit_msg"] = text_msg\n",
       "
\n" ], "text/latex": [ "\\begin{Verbatim}[commandchars=\\\\\\{\\}]\n", "\\PY{k}{class} \\PY{n+nc}{CosineAnalysis}\\PY{p}{(}\\PY{n}{ba}\\PY{o}{.}\\PY{n}{BaseAnalysis}\\PY{p}{)}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\\PY{l+s+sd}{ Exemplary analysis subclass that fits a cosine to a dataset.}\n", "\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\n", " \\PY{k}{def} \\PY{n+nf}{process\\PYZus{}data}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{)}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\\PY{l+s+sd}{ In some cases, you might need to process the data, e.g., reshape, filter etc.,}\n", "\\PY{l+s+sd}{ before starting the analysis. This is the method where it should be done.}\n", "\n", "\\PY{l+s+sd}{ See :meth:`\\PYZti{}quantify\\PYZus{}core.analysis.spectroscopy\\PYZus{}analysis.ResonatorSpectroscopyAnalysis.process\\PYZus{}data`}\n", "\\PY{l+s+sd}{ for an implementation example.}\n", "\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}} \\PY{c+c1}{\\PYZsh{} pylint: disable=line\\PYZhy{}too\\PYZhy{}long}\n", "\n", " \\PY{k}{def} \\PY{n+nf}{run\\PYZus{}fitting}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{)}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\\PY{l+s+sd}{ Fits a :class:`\\PYZti{}quantify\\PYZus{}core.analysis.fitting\\PYZus{}models.CosineModel` to the data.}\n", "\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", " \\PY{c+c1}{\\PYZsh{} create a fitting model based on a cosine function}\n", " \\PY{n}{model} \\PY{o}{=} \\PY{n}{CosineModel}\\PY{p}{(}\\PY{p}{)}\n", " \\PY{n}{guess} \\PY{o}{=} \\PY{n}{model}\\PY{o}{.}\\PY{n}{guess}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{y0}\\PY{o}{.}\\PY{n}{values}\\PY{p}{,} \\PY{n}{x}\\PY{o}{=}\\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{x0}\\PY{o}{.}\\PY{n}{values}\\PY{p}{)}\n", " \\PY{n}{result} \\PY{o}{=} \\PY{n}{model}\\PY{o}{.}\\PY{n}{fit}\\PY{p}{(}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{y0}\\PY{o}{.}\\PY{n}{values}\\PY{p}{,} \\PY{n}{x}\\PY{o}{=}\\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{x0}\\PY{o}{.}\\PY{n}{values}\\PY{p}{,} \\PY{n}{params}\\PY{o}{=}\\PY{n}{guess}\n", " \\PY{p}{)}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{fit\\PYZus{}results}\\PY{o}{.}\\PY{n}{update}\\PY{p}{(}\\PY{p}{\\PYZob{}}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{cosine}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{:} \\PY{n}{result}\\PY{p}{\\PYZcb{}}\\PY{p}{)}\n", "\n", " \\PY{k}{def} \\PY{n+nf}{create\\PYZus{}figures}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{)}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\\PY{l+s+sd}{ Creates a figure with the data and the fit.}\n", "\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", " \\PY{n}{fig}\\PY{p}{,} \\PY{n}{ax} \\PY{o}{=} \\PY{n}{plt}\\PY{o}{.}\\PY{n}{subplots}\\PY{p}{(}\\PY{p}{)}\n", " \\PY{n}{fig\\PYZus{}id} \\PY{o}{=} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{cos\\PYZus{}fit}\\PY{l+s+s2}{\\PYZdq{}}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{figs\\PYZus{}mpl}\\PY{o}{.}\\PY{n}{update}\\PY{p}{(}\\PY{p}{\\PYZob{}}\\PY{n}{fig\\PYZus{}id}\\PY{p}{:} \\PY{n}{fig}\\PY{p}{\\PYZcb{}}\\PY{p}{)}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{axs\\PYZus{}mpl}\\PY{o}{.}\\PY{n}{update}\\PY{p}{(}\\PY{p}{\\PYZob{}}\\PY{n}{fig\\PYZus{}id}\\PY{p}{:} \\PY{n}{ax}\\PY{p}{\\PYZcb{}}\\PY{p}{)}\n", "\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{y0}\\PY{o}{.}\\PY{n}{plot}\\PY{p}{(}\\PY{n}{ax}\\PY{o}{=}\\PY{n}{ax}\\PY{p}{,} \\PY{n}{x}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{x0}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{marker}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{o}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{linestyle}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{)}\n", " \\PY{n}{qpl}\\PY{o}{.}\\PY{n}{plot\\PYZus{}fit}\\PY{p}{(}\\PY{n}{ax}\\PY{p}{,} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{fit\\PYZus{}results}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{cosine}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{)}\n", " \\PY{n}{qpl}\\PY{o}{.}\\PY{n}{plot\\PYZus{}textbox}\\PY{p}{(}\\PY{n}{ax}\\PY{p}{,} \\PY{n}{ba}\\PY{o}{.}\\PY{n}{wrap\\PYZus{}text}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{quantities\\PYZus{}of\\PYZus{}interest}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{fit\\PYZus{}msg}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{)}\\PY{p}{)}\n", "\n", " \\PY{n}{adjust\\PYZus{}axeslabels\\PYZus{}SI}\\PY{p}{(}\\PY{n}{ax}\\PY{p}{)}\n", " \\PY{n}{qpl}\\PY{o}{.}\\PY{n}{set\\PYZus{}suptitle\\PYZus{}from\\PYZus{}dataset}\\PY{p}{(}\\PY{n}{fig}\\PY{p}{,} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{p}{,} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{x0\\PYZhy{}y0}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{)}\n", " \\PY{n}{ax}\\PY{o}{.}\\PY{n}{legend}\\PY{p}{(}\\PY{p}{)}\n", "\n", " \\PY{k}{def} \\PY{n+nf}{analyze\\PYZus{}fit\\PYZus{}results}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{)}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", "\\PY{l+s+sd}{ Checks fit success and populates :code:`quantities\\PYZus{}of\\PYZus{}interest`.}\n", "\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n", " \\PY{n}{fit\\PYZus{}result} \\PY{o}{=} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{fit\\PYZus{}results}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{cosine}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\n", " \\PY{n}{fit\\PYZus{}warning} \\PY{o}{=} \\PY{n}{ba}\\PY{o}{.}\\PY{n}{check\\PYZus{}lmfit}\\PY{p}{(}\\PY{n}{fit\\PYZus{}result}\\PY{p}{)}\n", "\n", " \\PY{c+c1}{\\PYZsh{} If there is a problem with the fit, display an error message in the text box.}\n", " \\PY{c+c1}{\\PYZsh{} Otherwise, display the parameters as normal.}\n", " \\PY{k}{if} \\PY{n}{fit\\PYZus{}warning} \\PY{o+ow}{is} \\PY{k+kc}{None}\\PY{p}{:}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{quantities\\PYZus{}of\\PYZus{}interest}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{fit\\PYZus{}success}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]} \\PY{o}{=} \\PY{k+kc}{True}\n", " \\PY{n}{unit} \\PY{o}{=} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{y0}\\PY{o}{.}\\PY{n}{units}\n", " \\PY{n}{text\\PYZus{}msg} \\PY{o}{=} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Summary}\\PY{l+s+se}{\\PYZbs{}n}\\PY{l+s+s2}{\\PYZdq{}}\n", " \\PY{n}{text\\PYZus{}msg} \\PY{o}{+}\\PY{o}{=} \\PY{n}{format\\PYZus{}value\\PYZus{}string}\\PY{p}{(}\n", " \\PY{l+s+sa}{r}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{\\PYZdl{}f\\PYZdl{}}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{fit\\PYZus{}result}\\PY{o}{.}\\PY{n}{params}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{frequency}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{,} \\PY{n}{end\\PYZus{}char}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+se}{\\PYZbs{}n}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{unit}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Hz}\\PY{l+s+s2}{\\PYZdq{}}\n", " \\PY{p}{)}\n", " \\PY{n}{text\\PYZus{}msg} \\PY{o}{+}\\PY{o}{=} \\PY{n}{format\\PYZus{}value\\PYZus{}string}\\PY{p}{(}\n", " \\PY{l+s+sa}{r}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{\\PYZdl{}A\\PYZdl{}}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{fit\\PYZus{}result}\\PY{o}{.}\\PY{n}{params}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{amplitude}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{,} \\PY{n}{unit}\\PY{o}{=}\\PY{n}{unit}\n", " \\PY{p}{)}\n", " \\PY{k}{else}\\PY{p}{:}\n", " \\PY{n}{text\\PYZus{}msg} \\PY{o}{=} \\PY{n}{fit\\PYZus{}warning}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{quantities\\PYZus{}of\\PYZus{}interest}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{fit\\PYZus{}success}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]} \\PY{o}{=} \\PY{k+kc}{False}\n", "\n", " \\PY{c+c1}{\\PYZsh{} save values and fit uncertainty}\n", " \\PY{k}{for} \\PY{n}{parameter\\PYZus{}name} \\PY{o+ow}{in} \\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{frequency}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{amplitude}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{:}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{quantities\\PYZus{}of\\PYZus{}interest}\\PY{p}{[}\\PY{n}{parameter\\PYZus{}name}\\PY{p}{]} \\PY{o}{=} \\PY{n}{ba}\\PY{o}{.}\\PY{n}{lmfit\\PYZus{}par\\PYZus{}to\\PYZus{}ufloat}\\PY{p}{(}\n", " \\PY{n}{fit\\PYZus{}result}\\PY{o}{.}\\PY{n}{params}\\PY{p}{[}\\PY{n}{parameter\\PYZus{}name}\\PY{p}{]}\n", " \\PY{p}{)}\n", " \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{quantities\\PYZus{}of\\PYZus{}interest}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{fit\\PYZus{}msg}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]} \\PY{o}{=} \\PY{n}{text\\PYZus{}msg}\n", "\\end{Verbatim}\n" ], "text/plain": [ "class CosineAnalysis(ba.BaseAnalysis):\n", " \"\"\"\n", " Exemplary analysis subclass that fits a cosine to a dataset.\n", " \"\"\"\n", "\n", " def process_data(self):\n", " \"\"\"\n", " In some cases, you might need to process the data, e.g., reshape, filter etc.,\n", " before starting the analysis. This is the method where it should be done.\n", "\n", " See :meth:`~quantify_core.analysis.spectroscopy_analysis.ResonatorSpectroscopyAnalysis.process_data`\n", " for an implementation example.\n", " \"\"\" # pylint: disable=line-too-long\n", "\n", " def run_fitting(self):\n", " \"\"\"\n", " Fits a :class:`~quantify_core.analysis.fitting_models.CosineModel` to the data.\n", " \"\"\"\n", " # create a fitting model based on a cosine function\n", " model = CosineModel()\n", " guess = model.guess(self.dataset.y0.values, x=self.dataset.x0.values)\n", " result = model.fit(\n", " self.dataset.y0.values, x=self.dataset.x0.values, params=guess\n", " )\n", " self.fit_results.update({\"cosine\": result})\n", "\n", " def create_figures(self):\n", " \"\"\"\n", " Creates a figure with the data and the fit.\n", " \"\"\"\n", " fig, ax = plt.subplots()\n", " fig_id = \"cos_fit\"\n", " self.figs_mpl.update({fig_id: fig})\n", " self.axs_mpl.update({fig_id: ax})\n", "\n", " self.dataset.y0.plot(ax=ax, x=\"x0\", marker=\"o\", linestyle=\"\")\n", " qpl.plot_fit(ax, self.fit_results[\"cosine\"])\n", " qpl.plot_textbox(ax, ba.wrap_text(self.quantities_of_interest[\"fit_msg\"]))\n", "\n", " adjust_axeslabels_SI(ax)\n", " qpl.set_suptitle_from_dataset(fig, self.dataset, \"x0-y0\")\n", " ax.legend()\n", "\n", " def analyze_fit_results(self):\n", " \"\"\"\n", " Checks fit success and populates :code:`quantities_of_interest`.\n", " \"\"\"\n", " fit_result = self.fit_results[\"cosine\"]\n", " fit_warning = ba.check_lmfit(fit_result)\n", "\n", " # If there is a problem with the fit, display an error message in the text box.\n", " # Otherwise, display the parameters as normal.\n", " if fit_warning is None:\n", " self.quantities_of_interest[\"fit_success\"] = True\n", " unit = self.dataset.y0.units\n", " text_msg = \"Summary\\n\"\n", " text_msg += format_value_string(\n", " r\"$f$\", fit_result.params[\"frequency\"], end_char=\"\\n\", unit=\"Hz\"\n", " )\n", " text_msg += format_value_string(\n", " r\"$A$\", fit_result.params[\"amplitude\"], unit=unit\n", " )\n", " else:\n", " text_msg = fit_warning\n", " self.quantities_of_interest[\"fit_success\"] = False\n", "\n", " # save values and fit uncertainty\n", " for parameter_name in [\"frequency\", \"amplitude\"]:\n", " self.quantities_of_interest[parameter_name] = ba.lmfit_par_to_ufloat(\n", " fit_result.params[parameter_name]\n", " )\n", " self.quantities_of_interest[\"fit_msg\"] = text_msg" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display_source_code(CosineModel)\n", "display_source_code(CosineAnalysis)" ] }, { "cell_type": "markdown", "id": "4c1eee01", "metadata": {}, "source": [ "Now we can simply execute it against our latest experiment as follows:" ] }, { "cell_type": "code", "execution_count": 19, "id": "c030ad1e", "metadata": {}, "outputs": [ { "data": { "image/png": "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vmzDhg2npYTUtmrVqsEdOnQoWbJkydzp06dveOWVVy6ePHnyVcOGDUtdunTpG4MGDTr42GOPXZaTk+PfkLiHDRuWv3Pnzn/aHwsXLnwjODi4dNCgQUcbchwZiW5hCQkJWCwWioqLKXv8MYIefYzin1aR/tjjJDzztORgijbt119/BWDkyJHU9we3LtbyclL/704qjh7Fv1Mnur7zDv6dOjXqWEopYu6/H/z8OPH6G5Q+8yw9/u8ODp04wcaNG5k2bVqj4xSitdm0aRMAffv2JTIy0qN9Snf9wvH77werlYhLLyXhqf/XZuf7xMTEVOTl5UWef/75KQMGDCjq0qVLQUxMjNur7YSEhIpu3bode+mllyaOHTs2Jzk5uWj27NlnHzlyJDE6OjrX0zYHDhwItlqtqkuXLjVGcqOiooqPHTsWXVfMixcvjr3iiituqaqq8gsICKh49tlnP542bZpjFPraa68957PPPjvH/nVlZaXfnDlzEv/9739faN+2atWqV0eOHJlf+9jPP/9837KyMsuDDz64ra4YRo8efSw5OfmLoUOHnjh8+HDov/71r3OnTp160+7du/+TkJDgdhSxc+fOGQsWLPgJYNy4casWLlw4Pjw8vGTOnDlbAGJiYn48++yzhy9dujTuuuuuc1wY7Ny5s09gYOBfnY9ltVodHayAgABtHxU/efKk38UXX/y7nj17pn700Uc/1PU6apNOdAvz8/Nj6NChrFq1iu05OVzx75dJvf0O8r/8EsvZZxN13bXeDlGIZnP11Vezb98+unXr1uhjaK3JePxxynbuxBwRQdI7bze6A22nlCLmnnuoyswif9Eiunz9NYfGjGHbtm1MnjyZgICAMzq+EK1BRUUF27dvB2D48OEe7VOVk8OxO+5Al5YSMm4cCX9/os12oAGWLl0aB3DBBRdkAjzyyCO/PvLII7/Wtc9777238Oabb545ZMiQ+0wmk05MTEwfOXLkrsOHDyc0pE1jTZo06cSyZctez8rKCpw/f37y448/fkn//v3ftXekn3zyyU1//OMff7G3//3vf3/Zueeeu+fmm2/eY982cODAQlfH/vTTT4f0799//+DBg10+b1cr3SLz0ksvPd6nT58/P/fcc/1feumlre726969e6b9/wEBATo4OLikT58+jm3JyclFAMeOHauxHn3v3r0Pv/HGG984b/v2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dxRrQCDnPfEAPz88ud13oAEefPDB31x88cVrjh07dkaduI8++qjTN998MywhIeG0lRBnzJgxY9u2bT2ef/75Rd99991rI0aMOHjjjTf+fuvWrWEAXbt2Lbj//vu/+9///vfGkiVL3hwyZMjhhx566OolS5bEuDtf7969b3zggQcGu3u+oKDAv1evXpkPP/zwN+7abNmypdtVV121cdGiRfPmz5//flVVlenKK6+8Pisrq0nXff/d73639ddff+2xefPm0+oPv/vuu0O6dOmSNmPGjEatINkUpBPtA0wmk2MU4Id1m2uMsH3aZxKVyszAE4dIPnG4yUfYhGgOubm5fPPNN448/4Y6+emnVOfm4p+YSMTMGTWe87QaQFNXDRg8dCi9QkKIy8wk5/XXsVZIGVnRuplMJnr06MGIESPcttFak/vqqwBEX3M1o4f3lhQO4JFHHjk7JCSk7PHHH99YVlZmWbt2bWRjjpOZmRlw1113Xf73v/99cUhISI0/Wrm5uX5btmxJfuCBB5bfcsstRydOnJj7ySef/BATE5P75JNPjgB46KGH9t1///37J02alDt58uQTixYtWhEQEFCxfPnyxMa+tvvuu+/AwoULVzzyyCO/umuze/fu+S+88MK2Cy+8MPuSSy7J/Pzzz784efJkxFdffdXJ3T69e/e+ccqUKb+ZNm3atKCgoIdDQ0MfuOeee4ZmZWX5jx8/fmZgYOBfoqOj73YeSb/vvvv2hYSElLzwwguDa79vGzZsSJ4xY4bLxV5ainSifcSAAQMAiKk+gZlTq7rlBEXyXdJwAH6797smH2ETojn88ssvbNq0iVWrVjV4X2tFBSfeehuAjrfcgvKrubCqp9UAmrpqQN++fbn6rrvorDVVaenkf/llkx5fCF9UvHoNpdu3owID6fiHm70djk/Iysryf+211857/vnnlw8bNqzAYrGUr1y5Mt65zQMPPDBYKTW7vmNddtllFw4fPnzfn/70p0O1nysvLzdZrVYVHBxcYzazv79/1c6dO5Nqt6+oqFCPPfbYgIqKCv+pU6e2aH3cjIwMC0BCQkKdS2avWrVqcIcOHUqWLFkyd/r06RteeeWViydPnnzVsGHDUpcuXfrGoEGDDj722GOX5eTk+ANYLBbrueeeu3358uWDrdZTq4s/99xzyVpr08MPP+yVZcPtfLITrZS6Uyl1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6FZEJdHK8FOlVJlSqlEptUwp1X5C3c6P/4FSSiulngpimCLAKioqqKur8+uYtOuuA6Bm6VKc9fUALN1exqxffcLNf1rDA69siZi64l27dgFGHXjbnq2q7TsYWX2UFmVief7kTh+jr68CJ/qmhIQEYmNjcTqd7Nmzp8M2JovFszhQ1T//FcrwAsY9NmOAUljr60maM4fYgQPDHZYQIsJFVBIN/CfwbeCbwLlAPfCBUqrbJbCUUucA3wC2BjVCEVBvvfUWixcvZvPmzX4dlzB5MnFDh6IbGqhZ+gFLt5dx70ubKKtunWyGu67YO/loW8oBkPPZ+wCsyhlPTby108fp66vAib7L/e92586dnbZJ++qNANR89BEtp7q+ahKJV4vcYxZy9xgLraRdf104wxFC9BERk0Qro4vuQeDnWuslWuutwG1ALnB1N8cmAX8H7gY6L9470z5eKZXi3oDkXoYveig/Px/o+gu6I0opzwDD0//6F4+9vZOOvorDXVd85MgRGhsbSUhIYMiQIa32OerqsSz/EID3h3U8F200rAIn+rZx48YBsH//fhobGztskzBunDEIz26n+o03OmwDkXm1qLGxkQMHDgCQu28fMVlZJJ1/ftjiEUL0HRGTRAPDgGxgmfsOrXU1sBbobrb73wLvaq2XddPO7RGg2msr9TtaERBnnXUWJpOJ8vJyKisr/To27ZqrITaWpi1bSDx0oNN24awrHjJkCN/85je58sor29WA17z7LrqhAXtuPl8OGEHbIUzu2319FTjRtw0cOJCsrKwuSzrgTG/06X/+s8MBhpF6tWj37t04nU7SbTZSamqMAYUyN7QQwgeRlES7pyU43ub+41772lFK3QRMwUiMffULINVry/fjWBFAiYmJnpXRduzY4dexMVlZpMydC8DlxV902z4cdcVKKQYNGuSZF9tNa83pV425ofNuu4XFt04lO7V1yUZ2qiUqVoETfZ+7N7qrz2jqZZdhslqxHzpMw9q1rfY5nDpirxaVlJQAkL/LKOlIu+7akMcghOibwpZEK6VuUUrVuTcgtgePMRh4GrhFa+1zhqS1btZa17g3oNbf5xaBM3bsWMD/JBog/ZavATCndDNJtoYu20ZSXXHTtm0079yFiosj7eqrW60C9/RNk/jH3TP4/OGLJIEWEcGdRB88eJCGho4/ZyarldSrjBUMT7/6z1b71hWfatcD7S2cV4uuvvpqromJZejBg1jPP5+4NmVXQgjRmXD2RL8FTPLaTrruH9Sm3SCgs/WdpwIDgU1KqRalVAswG/i263bXKwWIiOAu6aioqODEiRN+HZswZQpxo0djcdiZd3h9h23CVVf89ttv8/rrr1NRUdFu3+l/GL3QKQsWYE5LA86sAnfVpDyKCjOlhENEjAEDBjB79mwWLlyIxdL5j9G0r34VgNply7AfP/Pv3terQMG+WtTRoEbd0ED8m2+S0NRExq0Lg/r8QojoErbCL611LV49wK6BheXAxcAW130pGLN0LO7kYT4GJrS576/AbuBXWmtHYKMWwZCQkEBhYSH79u1j9+7dZGVl+XysUoqMW75G+Y8f5SvFq3iz8Hyc6sxvw3DVFdtsNrZt24bdbufcc89tta/l5Elq3n0XgLSbvhqymITojTlz5nTbxjJ6NAnTptK4YSOnX36Zgd95EPD9KlAwrxYt3V7GY2/vbNUjnpsSzxPx+8msrSWuoADrrFlBe34hRPSJmJpobazf/BTwQ6XUlUqpCcCLwDHgTXc7pdTHSqn/cB1Tq7Xe7r1hTItX6fq76CNmzpzJzTffzHnnnef3samXX44pOZnc+kouqStutS9cdcV79+7FbreTnp7eboGV0y//A22zYZl4NgmTJoU0LiGCLePrXweg6pVXcLpm85g+LIOcVEu7wbNuwb5a1NGgRqtqZrZtDVt3bEZjlIapHi4AJYTonyJtCPITgBX4I5AGfA7Mb1PvXAgMCH1oIpgKCgp6fKwpMZG0a6/l1Asv8F91m7j9u7dQUdvEwGTjSzkcZRHu+u5x48a1WmDF2dTE6X/8A4DMRYtkWWHRp1RUVLBx40YGDhzI1KlTO2yTfNFFxA4ejP3IEaqXLCH9ppswmxSPXjGWe1/ahIJWAwyDfbWos0GNw8ynsSgHWGJojokj6aqrA/7cQojoFlE/u7Xhx1rrbK21RWt9idZ6b5s2Q7XWP+niMeZorR8MdqwismR8/TaIiaFx7VomNZSFpa7YXW/52roD7Nlr/LMdP358qzbVS97Ccfo0sbm5JLtmFhGirzh8+DDr1q1j3bp1GBcP21Nms6e2+NTzL3imu5s/PofFC6eEfBaajgc1akaYjSk1Bx8+xNIh09l40h6U5xdCRK+ISqJF/2az2fj444/5/e9/T0tLi1/HxubmkvoVY+nhyj//ORjhdcl7EYk/L/kM7XRSo6xsPnFmvlztdHLqhRcASL/tVpmLVvQ548aNw2w2U1FRwfHjbWcjPSP12uswJSVhKymh7tNPPfeHYxaajgYrZqoG0k2NmBwOcg+X8vqI2WGZAlMI0bdJEi0iRkxMDFu3buX48ePs3bu3+wPayLjzTgBqP/wQ26FDgQ6vU23rLUfGGD1cu5ozWi0iUfvRMmwHD2JKSiLt+utDFp8QgZKQkMDo0aMB2LJlS6ftzElW0m++CYCTi3/fqtc61LPQdDRYcYTrM5pXWsoXgyZwIjE9oqbAFEL0DZJEi4hhMpmYMMGYbOXLL7/0+3jLqFEkzZ4NWlP55+cCHV6H2tZbKjQHHemcciZwwGEMknrs7Z20tDg4+bvfAZBx262Yk5JCEp8QgTZx4kQAtm/fjsPR+QRIGYsWoSwWmrZvp/7zz0MVXjttBzWacDLCZMyoOuxgMf8eOScsU2AKIfo+SaJFRHF/Qe/fv5/6+nq/j8+8524Aqt54A1tp8Fdzb1tvqVFsb8lhSfM4mon1LCKx5ZW3aN6zB5PVSsZttwU9LiGCpbCwEKvVSn19PQcOHOi0XUxmJuk3uXqjf7e40xrqYHMPagRjEONgUxVxJicJDQ0cJJMjKdkhnwJTCBEdJIkWESUrK4vc3FycTmePeqMTp07FOnMmtLRw8re/C0KErflUR6k15pf+AkD6woWexVWE6IvMZrNnwGxXJR0AGXfcjoqLo3Hz5nZLgYeS96BGS009Z23fwajdu/lo2lfCMgWmECI6SBItIs7kyZMB2LhxY496r7Ie+DYA1UuW0HywuJvWveNdRznQVMtwcyVmnK3anFe2HUvJfkyJiWQs+npQ4xEiFCZPnozVaiUrK6vLz2jswIGk3XgjABW//nXYeqPhzKDGJ+o3cfa2bQwbkMvfn1gkCbQQosckiRYRZ8KECcTFxXHq1ClKSkr8Pj7h7LNJuvhicDo5+exvAh+gF+96y7NjypkdV8zEmGOe/bHOFu7e/R5gzMgRk54e1HiECIVBgwbxne98hwsvvLDbuc4HfOMeVGIiTV9upfaDD0IUYcds27cRt3olmEyc9V8PSQmHEKJXJIkWESc+Pp5p06YxdepUUlJSevQYWd/+FihFzXvv09jNJefecNdbJqlm8k3VAOx3GGsBKWBB8Rqya05gzswk8667gxaHEKFmNpt9aheTlUXmHXcAUPHkr9E2WzDD6pTD4eC1F1/kWG4OyVdeSXxhYVjiEEJED0miRUSaO3cul19+OZmZmT063jJ6NKnXXANA+X8/7lnwIRjmj8/hW2crlIKjjhRqtFHiMSzByT0lnwCQ9a1vYU6yBi0GIcJBa82+ffso7WYQb+btizBnDcB++DCnX3klRNG1tvXVVzmQnMy6GTPI+OY3wxKDECK6yGoPfnA4HNjtsqpVMMXFxWEyBea33cDvfofaDz+kads2qt94k7Trrg3I47Zlt9upOrIPgK9cdD5fScthYLKFof/8E1W1NcSNKCTt+uuC8txChNOKFStYvnw5I0aM4JZbbum0nclqJes/vkX5o49y4tnfkrJgATFZWSGL09nQwLq1ayEjg3GpaSQOLQjZcwshopck0T7QWlNeXk5VVVW4Q4l6JpOJYcOGERcXh9aao0ePsn37dubNm+d3ch0zYAAD7ruPiieeoOLJJ0meewnmHpaHdGXHjh00NjaSmprKFRdMwWQy0bhjByV/+xsAgx5+WFYnFFFpwoQJLF++nP3793P69GnSu6j5T7v+Oqr++U+aduzg+C9+Sd6T/xeyOPcvXkx5RgZozcyvyxSTQojAkG92H7gT6IEDB5KYmNjtQBrRM06nk2PHjlFWVsaQIUNwOBy8/PLLNDY2UlBQwJgxY/x+zIyFt1D1r39hKy7m+K9+Re5//3dAY9Zas379egCmTp2KyWRCt7RQ/uNHwekk5bIFJJ1/fkCfU4hIkZGRwfDhwzl48CDr1q3j0ksv7bStMpvJ/uljlNxwIzXvvUfqNVeH5LPRtHcvGzZvhpEjGZaRQWZ2dtCfUwjRP0gS3Q2Hw+FJoHtanyt8l5WVxbFjx2hpaSE2NpZp06axcuVKVq1a1aMkWsXFkfPzn3Fo4a1Uv/Y6KfPnB/SL22azYbFYMJvNTJkyBYDKv/6Vph07MKWkMOiRRwL2XEJEohkzZnDw4EE2bdrE7NmzsVg6Xz47Ydw4Mm69lVMvvED5Tx5j2JIlQR0roO12iv/f/6PYtVR50YIFQXsuIUT/IwMLu+GugU5MTAxzJP1DXFwcgGc54enTp2M2myktLeXIkSM9eszEqVNJv3UhAGU/+jEtp08HJliMmURuvfVWvv3tb2O1WmncvoMTTz8DGGUcoaz7FCIcRowYQVZWFjabjY0bN3bbPuvb3yI2Nxf70aMc/9lPgxrbyd//gZ0OJy2xsQzMzGTEiBFBfT4hRP8iSbSPpIQjNNq+zklJSZx99tkArFq1qsePO/DBB4krKKClvJxjDz8c8Nk6UlJScNTVc+yhh6ClheR580i99pqAPocQkUgpRVFREQBr1671/ADujMlqJfd//wdMJqqXvEX1W28FJa76Vas4uXgxKTU1ZCYkMPOCC+T/cSFEQEkSLSKe+wt69+7dVFZW9ugxTImJ5D39FCo+nvoVK6n8wx96HdfOnTupq6sDQDudHHv4YWwlJcQMGkTOTx+TL2zRb0yYMIGkpCSsVis1NTXdtk+cMoUB998HQNmjP6Fp586AxmMvL+fo9x4Cp5Nx507n/u9/37NUuRBCBIok0f3QnDlzePDBB8Mdhs+ysrIYOXIkACtXruzx41jOOovsH/0QgBNPP0P1O+/2+LGqq6t57bXXeOqpp6iqquLEU09T9/HHqLg48p95GnNaWo8fW4i+JiYmhrvuuot77rmnyxk6vA345jexzpyJbmzkyL33YT9eEZBYHDU1HPnmvThOnyZ+7Biyf/QjlFIBmzpTCCHc5H+VKLZo0SKUUu22J554gp/97GeedkOHDuWpp54KX6A+mD17NsnJyeTl5fXqcVKvu470224F4Ngjj1D3xRc9epwVK1bgdDoZPHgwjtdeo/KPfwQg5+c/I2HixF7FKERflJqa6tfVF2U2k/frJ4kbPpyW48c5ctedtPTwSpObs6mJ0vvup3n3bo6OG8uxe+7B4ePKikII4S9JoqPc/PnzKSsra7VNnTqV5OTkcIfml7y8PB544AHOOeecXj2OUopBP/gByZdeCnY7pffeR+2yZX49xqlTp9jiWkp8Sl0dFf/zvwBkPfgAqVde2av4hOjrmpubWbt2LU4fxh2YU1IY/IffEzNwIM379nN40SLsFT3rkXbU1HD4rrto2LABkpPZXlTEx2vX+jTYUQghekKS6B7QWuNsaAj5prX2O9b4+Hiys7NbbRdffLGnnGPOnDkcOnSI73znO56e6khlDlCPkjKZyP2fJ0i65GK0zUbptx+g8i9/9XmwobsXOt/pJOY3zwIw4P77GSBLCYt+TmvNn//8Z5YuXcrWrVt9OiZu8GCGvPC8J5Euuf4GGr/80q/ntZWUcOiWhTRu2IgpKYmqR35AdX09VquVqVOn9uRUhBCiWzJPdA/oxkb2TAn9f8yjN21EBXiqvddff52JEydyzz33cPfddwf0sYPB6XSyY8cOjh071uXCDt0xxcWR/9RTlP34Uapff52KJ56gfvVqsn/0Q+KGDOn0uBMnTrDV9QV/1kcfgcnEoIf/k/TbZBU0IZRSTJo0iWXLlvHZZ58xfvx4YnxYrTN+2DAKXvobR+69D9uBA5QsvJUB99xD5j13Y4qP7/Q43dLC6VdepeLJJ9ENDcRkZZH9+8W89+GHAMyaNYvY2NiAnZ8QQniTnugo984775CUlOTZbrjhhlb7MzIyMJvNJCcne3qqI1llZSVvvPEGa9asobi4uFePpWJiyPnvn5P9k58Ys3asXMmBr1zOsR88Qv3q1Tibmz1tHdXV1HzwIW89+SQayC0tJUvD4D/8gYyvfz2ie/CFCKXp06eTnJxMVVUVq1ev9vm4uCFDGPrqqyTPnQt2Oyd/+1v2X3IJJxcvpnn/fs+VIq01tiNHOPXCCxz4ylc4/vOfoxsaSDznHIb+659srqykpqaGlJQUpk2bFqzTFEII6YnuCZWQwOhNoa+zUwkJfh9z4YUXsnjxYs9tq9XKzTffHMiwQiorK4upU6eyYcMGPvjgA+65555ejbpXSpF+01dJPGcax3/xS+o//5zqN9+k+s03wWTCnJEBLS04qqpwKoX17LOJGTmCmVkDGf7eE8T4OBOBEP1FbGwsl1xyCW+88QYrV65k4sSJpKSk+HSsOclK3jNPU7t0Kcef+B9ayso48fQznHj6GZTFgjk5GUd9Pbqh4cwxqakMeODbpH/1q9TW1/P5558DcMkll/jUCy6EED0l/8P0gFIq4GUVwWK1WqNula4LL7yQ7du3c/z4cTZt2hSQ3qb4wkKG/PlPNG7Zwul//Yv6FStpOXECx8mTZ9oMHsyF06Zy2VVXkTJqVK+fU4hoNWHCBNavX09paSkff/wx11zj+8JDSilSFiwg+eKLqX7vPWreeZeGdevQTU20NDUZjWJiSJw0ieTLFpB21VWYrMbS4Z9++il2u53BgwfLvNBCiKCTJFoQFxfX7SpjkSQxMZE5c+awdOlSPv74Y0aPHh2w2UYSJk0iYdIktNY4Tp6k5eRJVEwM5qwsYmTuZyF8opRiwYIF/OlPf2Lr1q1MnjyZoUOH+vcYcXGkXX01aVdfjXY4sJeW4mxoQFksxOblYYqLa3fM+eefT3V1NZdccomUWAkhgk5qogVDhw5lxYoVHD16lJNePa+RbNq0aeTk5NDU1MR7773Xo5lLuqKUIiYrC8uYMVSlpPD8v/9NeXl5QJ9DiGiWm5vL1KlTGTduHFlZWb16LGU2E1dQgGXMGOKHDeswgQZjjMdtt91Gbm5ur55PCCF8IUm04Kc//SklJSUUFhb2+ssuVMxmM1deeSUmk4ndu3dTVlYWlOdxOBwsWbKEo0eP9mq1RCH6o8suu4zrr78eq6vcIliOHz8e1McXQoiOSDlHFHv++ec7vH/58uWtbs+YMYMv/ZyXNRJkZ2czf/58BgwYELSep48++oiysjIsFgvz588PynMIEa28B/1qrTl9+jQZGRkBfY4dO3bw73//m6KiIubOnStlHEKIkJEkWvRpvV3BsCs7d+5k7dq1AFxzzTV9bpVHISKFzWbjrbfeYv/+/dx9991kZmYG5HErKyt56623AOPqlCTQQohQknIOETVOnjzJ+++/79Nyw905evQob775JgDnnXceo2Q2DiF6zGw2U1tbS3NzM6+88goNXlPU9VR9fT0vv/wyNpuNIUOGcOGFFwYgUiGE8J0k0SIq2O12XnzxRdatW9frgYZVVVW8/PLL2O12CgsLueiiiwIYqRD9j9ls5vrrryclJYWTJ096kt+eam5u5h//+AenTp0iLS2NG264oVfzxQshRE/I/zoiKsTGxnpqljdu3Mjbb7/d4x7ppKQksrKyyMnJ4YYbbsBsNgcyVCH6peTkZBYuXEhCQgJHjx7lb3/7W496pBsaGnjxxRc5evQoCQkJ3HLLLSQlJQUhYiGE6Jok0SJqjB07liuuuAKlFJs3b/b7srG79zomJoabbrqJW265hfj4+GCFK0S/k5WVxS233ILFYqG0tJTnnnvO72k1Dx06xLFjx0hMTGThwoUMGDAgSNEKIUTXJIkWUWXKlCnceOONxMTEsG/fPn7/+9+zY8eOLo+pq6tjyZIlvPvuu577LBZL0KflEqI/ysvL44477iA1NZXq6mqfrhh5l2eNGn0W42ZcxJAZl3GoMR6HM7BzxAshhK9kdg4Rdc466yzuuOMOXnvtNSorKykuLmbcuHEANDY20tTUREtLCxUVFezbt48dO3bQ0tICwPTp0xk4cGA4wxci6mVlZXHXXXdRWlra6vO2atUqBg4cSHp6OgCnT5/m4MGDbNu2jdtuu42Nx1t47O2dlFU3ATVACTmpFh69Yizzx+eE52SEEP2WCvRKb32RUioFqK6uriYlJaXVvqamJoqLixk2bBgWiyU8AfYjgXy97XY7q1evZsqUKZ6ayQ0bNrTqcXbLz89n3rx5DB48uFfPKYTombKyMv74xz92un9AwSj+d3cKbb+x3JPaLV44RRLpfqimpobU1FSAVK11TbjjEf2L9ESLqBUbG8sFF1zQ6r6WlhZiYmKIiYkhLS2NIUOGMGHCBPLy8mSOWSHCSCnF2WefTWlpKXV1dWitSUlJIT8/n5GjRnP3m0fRNLc7TmMk0o+9vZO5Y7Mxm+RzLIQIDUmiRb8yY8YMZsyYEe4whBBtZGdnc80113S4b/WBSo7VHOz0WA2UVTexrvgURYWBWchFCCG6IwMLo1x5eTkPPPAAI0aMwGKxMGjQIGbOnMnixYsDsuCBEEIEW0VtU0DbCSFEIEhPdBQ7ePAgM2fOJC0tjccff5wJEyYQHx/Ptm3b+OMf/0heXh5XXnlluMMUQoguDUz2bXyEr+2EECIQpCe6F2w2W6ebe7YHX9ra7fZu2/bEfffdR0xMDBs2bODGG29kzJgxDB8+nKuuuop3332XK664gpKSEpRSbNmyxXNcVVUVSimWL1/uuW/79u0sWLCApKQkBg0axK233tpqftd///vfTJgwgYSEBDIzM7nkkkuor68HYPny5UyfPh2r1UpaWhozZ87k0KFDPTonIUT/M31YBjmpFjqrdlZATqqF6cMyQhmWEKKfk57oXvjFL37R6b6RI0fyta99zXP7f//3f9sly24FBQUsWrTIc/vpp59uV2rx6KOP+hVbZWUlH374IY8//nin8x37OpCuqqqKiy66iLvuuotf//rXNDY28vDDD3PjjTfyySefUFZWxs0338wTTzzBNddcQ21tLStXrkRrTUtLC1dffTV33303//jHP7DZbKxbty5iB/E5nJp1xaeoqG1iYLLxpSwDlYQIL7NJ8egVY7n3pU0oaDVDh/vT+egVY+WzKoQIKUmio9T+/fvRWjN69OhW9w8YMICmJqNu8P777+fee+/t9rGeffZZJk+ezOOPP+657y9/+QuDBw9m79691NXV0dLSwrXXXktBQQEAEyZMAODUqVNUV1dz+eWXU1hYCMCYMWMCco6BtnR7mdcctAaZg1aIyDB/fA6LF05p9xnNls+oECJMJInuhUceeaTTfSZT60qZhx56qNO2bXtlH3jggd4F1oV169bhdDq55ZZbaG5uP11UR7788ks+/fRTz1zL3g4cOMC8efO4+OKLmTBhApdeeinz5s3j+uuvJz09nYyMDBYtWsSll17K3LlzueSSS7jxxhvJyYmsL7yl28u496VN7eagLa9u4t6XNskctEJEgPnjc5g7NluuFgkhIoLURPdCXFxcp1tMTIzPbWNjY7tt668RI0aglGLPnj2t7h8+fDgjRowgISEBOJPsey+607bspK6ujiuuuIItW7a02vbt28cFF1yA2Wzmo48+4v3332fs2LH85je/YfTo0RQXFwPw17/+ldWrV3Peeefx6quvMmrUKNasWeP3OQWLw6l57O2d7RJoOHPZ+LG3d8rywkJEALNJUVSYyVWT8igqzJQEWggRNpJER6nMzEzmzp3Ls88+6xng15GsrCzAWC3MzXuQIcCUKVPYsWMHQ4cOZcSIEa02d721UoqZM2fy2GOPsXnzZuLi4njjjTc8jzF58mQeeeQRVq1axfjx43n55ZcDeLa9s674VKvLw215z0ErhBBCCAGSREe13/3ud7S0tDBt2jReffVVdu3axZ49e3jppZfYvXs3ZrOZhIQEZsyYwS9/+Ut27drFZ599xg9/+MNWj3P//fdz6tQpbr75ZtavX8+BAwf44IMPuP3223E4HKxdu5bHH3+cDRs2cPjwYV5//XVOnDjBmDFjKC4u5pFHHmH16tUcOnSIDz/8kH379kVUXbTMQSuEEEIIf0lNdBQrLCxk8+bNPP744zzyyCOUlpYSHx/P2LFjeeihh7jvvvsAY5DgnXfeydSpUxk9ejRPPPEE8+bN8zxObm4uX3zxBQ8//DDz5s2jubmZgoIC5s+fj8lkIiUlhRUrVvDUU09RU1NDQUEB//d//8eCBQs4fvw4u3fv5oUXXqCyspKcnBzuv/9+vvGNb4TrZWlH5qAVQgghhL+Udy1suCljhN1jwN1AGvAFcK/Wel83x+UBvwIWAInAfuB2rfUGH583Baiurq4mJSWl1b6mpiaKi4sZNmwYFoskUcEWjtfb4dTM+tUnlFc3dVgXrTBmAPj84Yuk/lIIISJITU0NqampAKla65pwxyP6l0gr5/hP4NvAN4FzgXrgA6VUp9mUUiodI9m2YyTRY4HvAaeDHq2ICu45aIF2iznIHLRCCCGE6EjEJNGuXugHgZ9rrZdorbcCtwG5wNVdHPowcERrfbvWep3Wulhr/aHW+kDQgxZRwz0HbXZq699r2akWmd5OCCGEEO1EUk30MCAbWOa+Q2tdrZRaCxQBr3Ry3JUYvdX/AmYDR4Hfaa3/1NkTKaXigXivu5J7GbuIAjIHrRBCCCF8FUlJdLbrz+Nt7j/uta8jw4F7gSeBx4FzgGeUUjat9QudHPMI4N862qJfcM9BK4QQQgjRlbCVcyilblFK1bk3ILbbgzpmAjZprf9La71Za/1H4E8YddWd+QWQ6rXld/ckkTQAM5rJ6yyEEEKIviCcPdFvAWu9brvLKwYBZV73DwK2dPE4ZcDONvftAq7r7ACtdTPgWfO67bLb3tyrCTY0NHhW+RPBY7PZADCbzWGORAghhBCic2FLorXWtUCt+7ZrYGE5cDGupNk19dy5wOIuHuoLYHSb+0YBhwIRp9lsJi0tjYqKCgASExO7TLpFzzmdTk6cOEFiYmK7ZdOFEEIIISJJxGQqWmutlHoK+KFSah9QDPwMOAa86W6nlPoYeENr/azrrl8Dq5RS/wX8E5gO3OPaAiI72yjJdifSInhMJhNDhgyRHypCCCGEiGgRk0S7PAFYgT9iLLbyOTBfa+293nIhMMB9Q2u9Xil1DUad848xku8HtdZ/D1RQSilycnIYOHAgdrs9UA8rOhAXF4fJFDEzLwohhBBCdCiiViwMl65WLBRCCCFEZJIVC0U4SZefEEIIIYQQfpIkWgghhBBCCD9JEi2EEEIIIYSfIm1gYVjV1Eg5lRBCCNFXyPe2CCcZWAgopfKA0nDHIYQQQogeyddaHw13EKJ/kSQaz0IvuXgt/hJAyRgJen6QHj/c5Pz6vmg/x2g/P4j+c5Tz6/uCeY7JwDEtCY0IMSnnwFjoBQjKL1ivRUNqo3H6HTm/vi/azzHazw+i/xzl/Pq+IJ9jVL5mIvLJwEIhhBBCCCH8JEm0EEIIIYQQfpIkOviagcdcf0YjOb++L9rPMdrPD6L/HOX8+r7+cI6in5GBhUIIIYQQQvhJeqKFEEIIIYTwkyTRQgghhBBC+EmSaCGEEEIIIfwkSbQQQgghhBB+kiQ6iJRS9yulSpRSTUqptUqp6eGOyRf+xK2UulsptVIpddq1LWvbXin1vFJKt9mWBv9MfOPn+S7q4FyaQhlvd/w8n+UdnI9WSr3r1Sai37/OKKUuUEq9rZQ65or56nDH5At/41ZKXauU+kgpdUIpVaOUWq2UurRNm5908B7uDuqJ+KgH5zunk3+z2SEKuUs9OJ+OPl9aKbXDq03Evn9dUUo9opRar5SqVUpVKKXeVEqNDndcQgSKJNFBopT6KvAkxpQ+U4AvgQ+UUgPDGlg3ehD3HOAfwIVAEXAE+FApldem3VIgx2u7OeDB90AP36caWp9LQbDj9FUPzudaWp/LeMAB/KtNu4h8/7phxTj/+8MdiJ/8jfsC4CPgMmAq8CnwtlJqcpt2O2j9Hs4KSLS919P3aTStz6ciwHH1lL/n8wCtz2MwcIr2n8FIff+6Mhv4LTADmAvEYnw/WMMalRCBorWWLQgbsBZ41uu2CWNp8R+EO7Zgxg2YMZLM27zuex54M9znFojzBRYBVeGOO4jv34Ou98/aF94/P14XDVwd7jhCFTdGwvVjr9s/AbaE+3wCcb4YP9w1kBbueIPx/gFXA06goK+9fz6cW5brNbkg3LHIJlsgNumJDgKlVBxGj9Ay931aa6frdlG44upOgOJOxOhtONXm/jmuy3l7lFKLlVKZgYi5N3pxvklKqUNKqSNKqSVKqXFBDtUnAXr/7gRe0VrXt7k/4t4/0TGllAlIpv1ncKSrxOCgUurvSqkhYQgvkLYopcpcpSwzwx1MAN0JLNNaH2pzfzS8f6muP9v+2xSiT5IkOjgGYPTIHm9z/3EgIur2OhGIuH8FHMMrkcMoBbgNuBh4GOMS3/tKKXOvou29npzvHuAO4CpgIcZnaJVSKj9YQfqhV++fq3Z6PPDnNrsi9f0THXsISAL+6XXfWoyrKPOBe4FhwEqlVHLIo+u9MuCbwHWu7QiwXCk1JaxRBYBSKhdYQPvPYJ9//1w/7p4CvtBabw9zOEIEREy4AxDRQyn1A+AmYI7W2jPYTmv9ilezbUqprcABjMuyH4c0yF7SWq8GVrtvK6VWAbuAbwA/CldcAXInsE1rvc77zmh6/6KdUuprwKPAVVprT42w1vp9r2ZblVJrgUPAjcBzoY2yd7TWezB+zLqtUkoVAt8Bbg1PVAHzdaAKeNP7zih5/36L8SO9L9RyC+ET6YkOjpMYg7MGtbl/EFAe+nB81uO4lVIPAT8A5mmtt3bVVmt90PVcI3oeakD0+n3SWtuBzYT/XKB3758V4wdQt1/IEfT+CS9KqZswejBv1Fov66qt1roK2Ev0vIfr6OPnopRSGFe5/qa1tnXVtq+9f0qpZ4HLgQu11qXhjkeIQJEkOghc/wFuxLj8DXguZV2MVy9mpOlp3Eqp/8TohZ2vtd7Q3fO4Sh8yMS7Lhk0g3idXScMEwnwu0OvzuQGIB17q7nki5f0TZyilbgb+CtystX7Xh/ZJQCHR8x5Oou+fy2yMpLjbH7J95f1ThmeBa4CLtNbF4Y5JiECSco7geRJ4QSm1AaOX5EGMqY/+Gs6gfNBl3EqpF4GjWutHXLcfBn4KfA0o8ZqrtU5rXef6z/5R4DWM3tBC4AlgP/BBqE6qC/6e74+BNRjxpwHfx5jirm0NY7j4dT5e7sSYgaPS+84+8P51yhW7d0/dMKXUJOCU1vpweKLqXndxK6V+AeRprW9ztf8a8ALGVGlrvT6DjVrraleb/wXexigByMWYAtGBMT1lWPXgfB8EijFmILEAdwEXAfNCGXdn/D0fL3cCazuqF47k968bv8X4brgKqPX6t1mttW4MX1hCBEi4pweJ5g34D4z/9JoxBoacG+6Yehs3sBx43ut2CcaURW23n7j2J2AkWxWAzdX+j8CgcJ9nD8/3115ty4F3gcnhPoeeno/rvtGu92xuB48V8e9fF6/DnE7+bT4f7th6EzfGlIPL27ynXZ4n8ArGgN9moNR1uzDc59rD8/1PjB9xjUAlxrzYF4b7PHp6Pq77UoEG4O5OHjNi379uXouOXgcNLAp3bLLJFohNaa0RQgghhBBC+E5qooUQQgghhPCTJNFCCCGEEEL4SZJoIYQQQggh/CRJtBBCCCGEEH6SJFoIIYQQQgg/SRIthBBCCCGEnySJFkIIIYQQwk+SRAshhBBCCOEnSaKFEP2KUmqRUqqqmzY/UUptCU1E7Z67xLW0daif93mllHZtV/t4TInXMWnBjVAIISKLJNFCRIA2CYxNKbVfKfVjpVRMuGPrKX+SMR8ea6jr8SZ1sG+5UuqpQDxPMCml5ni9x51tc4BzMJZWD4elQA7wvo/tzwGuC144QggRufrsF7QQUWgpcDsQD1wG/BawA7/w94GUUmZAa62dAY0wDJRSseGOoSeUUrFaa7vXXaswElS3p4EUjPfc7ZTW2haK+DrRrLUu97Wx1vqEUupUMAMSQohIJT3RQkSOZq11udb6kNZ6MbAMuBJAKfVdpdQ2pVS9UuqIUup3Sqkk94HuEgWl1JVKqZ1AMzBEKXWOUuojpdRJpVS1UuozpdQU7yd19YB+Qyn1jlKqQSm1SylVpJQa4erlrVdKrVJKFbY57iql1CalVJNS6qBS6lF3z7lSqsTV7A3X45f4cpxXPPcqpd5SStUD/8+fF1Epla6UelEpddp1Pu8rpUZ2c8wPlFLHlVK1SqnnAEsHbe5yvTZNSqndSqn7vPa5e8q/6nqNm4BbvI/XWttc72+5K1Ft5Mx77t5sbcs5gvH++PFaximlnlVKlbke55BS6hF/HkMIIaKVJNFCRK5GIM71dyfwbWAc8HXgIuCJNu0TgYeBu1ztKoBk4AVgFjAD2Ae8p5RKbnPsj4AXgUnAbuBl4A8YveDTAAU8626slDrf1f5pYCzwDWARZxLec1x/3o7R+3qOj8e5/QR4A5gA/KXjl6dTz7tivhIocsX+Xmc92kqpG13P91+u48qA+9q0uQX4qSvOMa62P1NKfb3Nw/3SdW5jgA/8jLsrgX5/fPVtjNfxRmA0xg+Dkp6ehBBCRBWttWyyyRbmDSPxe9P1dwVcAjQB/9NJ++uBk163FwEamNjN85iAGuByr/s08DOv2zNc993hdd9NQKPX7WXAI20eeyFwrM3jXt2mja/H/bpNm6Gu+xuAujabA3jK1W6kq915Xsdmuo67weu1qvLavwr4bZvnWwNs8bq9H7i5TZsfAqvaxPdAT97zNveXAA8G+/3xJR7gGeBjQHVx3BxXPGnh/AzJJptssoV6k5poISLH5UqpOiAWI9l9GaOHFKXUJcAjwFkYdbQxgEUplai1bnAdbwO2ej+gUmoQ8HOMRGcgYMbosR7S5rm9jzvu+nNbm/ssSqkUrXUNMBGYqZTy7tk0dxBTW74et6GT478K7Gpz39+9/j4GaAHWuu/QWlcqpfa49nVkDPD7NvetBi4EUEpZgULgOaXUn7zaxADVbY7rLO7eCtX709bzwEfAHqXUUuAdrfWHPToDIYSIMpJECxE5PgXuxUiGj2mtW8CotwXeARZjXI4/hVGe8RxGuYc7IWrUWus2j/kCRk/sA8AhjFrp1ZwpE3HzHgCnu7jPXQKWBDwKvN7BeTR1cY6+HlffyfFHtNb7ve9QSjV28XyB4K49vxuv5NzF0eZ2Z3H3Vqjen1a01puUUsOABRhXR/6plFqmtb7e18cQQohoJUm0EJGjvm2C6DIVIzn6nnbNtuGq4/XFTOA+rfV7ruMGAwMCEOsmYHQn8brZMXo//T2uN3Zh/L92LkaZBkqpTIx63p1dHHMuRg2x2wz3X7TWx5VSx4DhWuu/tz04QgXsdXb1bL8KvKqU+jewVCmVobWWWTmEEP2aJNFCRL79GCUe31JKvY2RGH/Tx2P3AbcqpTZglIH8D8aAxd76KfCOUuow8G+MgY8TgfFa6x+62pQAFyulvsCYheK0j8f1mNZ6n1JqCfAnpdQ3gFqMwX5HgSWdHPY08LzrNfoCY/DcOOCgV5tHgWeUUtUYUxHGYwzoS9daP9nbuIMgIK+zUuq7GAMtN7se4wagHKgKdMBCCNHXyOwcQkQ4rfWXwHcxZt7YjpHk+TrN2J1AOkbP5N8wBopVBCCmD4DLgXnAeoyBeN/BKBlx+x4wFziCkYT5elxv3Q5sxCiBWY0xUPMy3XrOZu9zeRX4GcZsJxuBAozSGe82f8aY9eR2jFrkzzAGKBYHMO6ACeDrXAv8J0at93qMAZSX6SiYf1wIIXpLtS+hFEII0d8opZ7HmGHjaj+Pm4NRz5+uta4KdFxCCBGppCdaCCGE2+VKqTql1OW+NFZK7cD3JcKFECKqSE+0EEIIlFIDMermAcq01t3ONKKUKsCo1wc4KGUeQoj+RJJoIYQQQggh/CTlHEIIIYQQQvhJkmghhBBCCCH8JEm0EEIIIYQQfpIkWgghhBBCCD9JEi2EEEIIIYSfJIkWQgghhBDCT5JECyGEEEII4SdJooUQQgghhPDT/wevcZsGU/imtwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a_obj = CosineAnalysis(label=\"Cosine experiment\").run()\n", "a_obj.display_figs_mpl()" ] }, { "cell_type": "markdown", "id": "5f30a46e", "metadata": {}, "source": [ "Inspecting the `experiment directory` will show something like this:\n", "\n", "```{code-block}\n", "20230125-172712-018-87b9bf-Cosine experiment/\n", "├── analysis_CosineAnalysis/\n", "│ ├── dataset_processed.hdf5\n", "│ ├── figs_mpl/\n", "│ │ ├── cos_fit.png\n", "│ │ └── cos_fit.svg\n", "│ ├── fit_results/\n", "│ │ └── cosine.txt\n", "│ └── quantities_of_interest.json\n", "├── cos-data-and-fit.png\n", "├── Cosine fit.png\n", "├── dataset.hdf5\n", "├── quantities_of_interest.json\n", "└── snapshot.json\n", "```\n", "\n", "As you can conclude from the {class}`!CosineAnalysis` code, we did not implement quite a few methods in there.\n", "These are provided by the {class}`~quantify_core.analysis.base_analysis.BaseAnalysis`.\n", "To gain some insight into what exactly is being executed we can enable the logging module and use the internal logger of the analysis instance:" ] }, { "cell_type": "code", "execution_count": 20, "id": "62be0929", "metadata": { "myst_nb": { "output_stderr": "show" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:Executing `.analysis_steps` of CosineAnalysis\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:extracting data: >\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:executing step 1: >\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:executing step 2: >\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:executing step 3: >\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:executing step 4: >\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:executing step 5: >\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:executing step 6: >\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:executing step 7: >\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:executing step 8: >\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:CosineAnalysis:executing step 9: >\n" ] } ], "source": [ "# activate logging and set global level to show warnings only\n", "logging.basicConfig(level=logging.WARNING)\n", "\n", "# set analysis logger level to info (the logger is inherited from BaseAnalysis)\n", "a_obj.logger.setLevel(level=logging.INFO)\n", "_ = a_obj.run()" ] } ], "metadata": { "file_format": "mystnb", "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.9.18" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "09b262f695b041b2b4602ba04d11c3ce": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "29805bf95cbe4d2988964ad24a592e76": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "37351c51704340afa94d2448925e960b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_7e712efb61d74f06baacbae71eb0ce97", "placeholder": "​", "style": "IPY_MODEL_29805bf95cbe4d2988964ad24a592e76", "tabbable": null, "tooltip": null, "value": "Completed: 100%" } }, "3bbc572c1ade4c719613df9442833c19": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "55ff53e8ec1e4eb7bdfcc24c6ac36cea": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7541ca061c43443c8adcd6d96bebc04c": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7e712efb61d74f06baacbae71eb0ce97": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "823b4caf7c7148bf943d2b6a8cccda97": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_3bbc572c1ade4c719613df9442833c19", "max": 100.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_c0b5ddd94a514fe0a53843e241bf9cbc", "tabbable": null, "tooltip": null, "value": 100.0 } }, "aef3366cebe34f3b8e440b0962913e68": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_7541ca061c43443c8adcd6d96bebc04c", "placeholder": "​", "style": "IPY_MODEL_09b262f695b041b2b4602ba04d11c3ce", "tabbable": null, "tooltip": null, "value": " [ elapsed time: 00:00 | time left: 00:00 ] " } }, "c0b5ddd94a514fe0a53843e241bf9cbc": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "ec9bde714ec54df59eb5995090ca57c3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_37351c51704340afa94d2448925e960b", "IPY_MODEL_823b4caf7c7148bf943d2b6a8cccda97", "IPY_MODEL_aef3366cebe34f3b8e440b0962913e68" ], "layout": "IPY_MODEL_55ff53e8ec1e4eb7bdfcc24c6ac36cea", "tabbable": null, "tooltip": null } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }