{ "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{+w}{ }\\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{+w}{ }\\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": "70e0d02ef757446bad0a38a64b5cc9af", "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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LpcohNnX13f16lWr1TplyhTXYqRGo9FgMERGRhqNRplMRqFQ5syZM/oPyul0Njc3K5VKDMPS09NHroSn1+trampoNFpmZuaQB4w7SLFYTPx95coVhFBKSgr+L4gzmUxCoZD45FUqVUhISGhoaFNTU1dXl1gsxmvQO53O+vp6rVYrkUgiIyNHGd5gxcXFTqczPz/fdaNOp7t27ZrBYMAwLDU1lViVMyoqKisr69ChQ5BTAQFyKghaU6ZMQQj19PQghF555ZUzZ85QKBQ6nW6xWFJSUt58803i6/W1117T6XS5ubmff/650+lctmzZ1q1bR3PK3Llz//73v1MoFIfDMX/+/Ndee2337t1FRUVUKtXhcDz44IObN28m4jl9+vSf/vQnnU7HZDItFsuMGTNef/31iIiIH3744YUXXkAIvfXWW/iRv/vd71avXu10Oj/55JMvvvjCZrPR6XSbzVZYWPjCCy/g90oPHjz40Ucfbd++/a233hoYGIiJifn6669H+cl0dna+/PLLjY2NDAbDarVGRERs3759uNa8VCp9/fXXjUYji8Vis9kbNmxw3eu9IHHffffd22+/feTIEbwo9MMPP7xy5UqFQnHp0iWEEIVCeZca18kAAAihSURBVPLJJwsLC1988cX6+nqHw8FgMLZu3VpQUDCa8AY7efLkrFmzXNey/uabb/bs2WOz2Tgcjl6vp9Fo+/fvJxanysvL+/DDD7VaLY/HG9P7AsEKcioIWvjSK3irJTs7e/369UlJSVQqVSaTbd++/fXXX//www+Jg69fv06hUD755BORSNTX1zfKU8LCwg4cOBAZGfnVV1/95S9/2bx5c1RU1JEjR7hc7p49e77++uulS5fi9x2rq6t37NhRUFDw29/+ls/nX7169ZVXXnn11Vc/+OCDOXPm7Nmz56mnnnrllVfwFg8+Hucf//jHZ5999pvf/Ob+++9nMBhlZWW7du0SCoW/+tWviBg++uijV199NSsrC48Z19XVRayIghsYGCD+djgcW7ZsUalU77zzTnZ2dnt7+yuvvPLSSy99/vnnQqHQ7TPs6OjYuXPn9OnTd+7cyefzy8vL//CHP7geMO4gx62oqOiBBx547bXXKBTKrl27Pv74Y6lUmp+f/95775nNZry3f/78+XhDfzThEYxGY2Nj42OPPUZs6e3tff/999esWfPkk08y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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> Size: 480B\n",
       "Dimensions:  (dim_0: 30)\n",
       "Coordinates:\n",
       "    x0       (dim_0) float64 240B 0.0 0.06897 0.1379 0.2069 ... 1.862 1.931 2.0\n",
       "Dimensions without coordinates: dim_0\n",
       "Data variables:\n",
       "    y0       (dim_0) float64 240B 0.4188 0.5489 0.3076 ... 0.3689 0.3822 0.5687\n",
       "Attributes:\n",
       "    tuid:                             20250702-042635-417-c54a7c\n",
       "    name:                             Cosine experiment\n",
       "    grid_2d:                          False\n",
       "    grid_2d_uniformly_spaced:         False\n",
       "    1d_2_settables_uniformly_spaced:  False
" ], "text/plain": [ " Size: 480B\n", "Dimensions: (dim_0: 30)\n", "Coordinates:\n", " x0 (dim_0) float64 240B 0.0 0.06897 0.1379 0.2069 ... 1.862 1.931 2.0\n", "Dimensions without coordinates: dim_0\n", "Data variables:\n", " y0 (dim_0) float64 240B 0.4188 0.5489 0.3076 ... 0.3689 0.3822 0.5687\n", "Attributes:\n", " tuid: 20250702-042635-417-c54a7c\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": "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six3mCAJgq8QNUKCIABw0003cffdd1NcXMzFF1/sWAlxJXsyccstt3Drrbd2eM3YsWM7vX9kZKQjAXAVf39/NmzYwLp16/juu+9YuXIln3zyCXPnzuXHH39Eq9X2+bE7S0AsFkun9+ns+TpKCHuiqqqKqKioPt1XELyBWBESBAGAK6+8Eo1Gw7Zt2zrcFgNITk6msLCQ2tradrcfPnzY8Xn7n1artd0JLYDs7Ox2f7efKLNYLMyfP7/Dj5iYmE5jTklJobKykurq6na3Dx06lOzsbEwmU6f37enXAraj5vPmzePll18mKyuLP//5z6xdu5Z169Z1+vg9YV/Nqaqqane7fTWqL4YOHYrVaiUrK6vbawsKCmhpaXGsggmCLxKJkCAIAAQFBfGvf/2LJ598kssuu6zDaxYtWoTFYuEf//hHu9tfeeUVJElynDqz/9n2xBnAq6++2u7vWq2Wq6++mmXLlnHgwIFznq+srKzLmKdNm4Ysy+zatavd7VdffTXl5eXnxAlnVk56+rVUVFSc8xj28RjNzc1dxtedkJAQoqKi2LBhQ7vb+9Pk8IorrkCj0fDUU0+ds3139qqR/d+tryfYBMEbiK0xQRAcOtuesrvsssuYM2cOv//978nNzWXcuHH8+OOPfP311zz44IOOmqD09HRuvPFG/vnPf1JdXc306dNZs2YNx44dO+cxn3/+edatW8fUqVO5++67SU1NpaKigt27d7N69eoOExG7mTNnEhkZyerVq5k7d67j9iVLlvD+++/z8MMPk5GRwaxZs6ivr2f16tXce++9XH755T3+Wp566ik2bNjAJZdcQnJyMqWlpfzzn/9kwIABzJw5sy//zO3cddddPP/889x1111MmjSJDRs2cOTIkT4/3rBhw/j973/P008/zaxZs7jqqqswGAzs2LGDhIQEnnvuOce1q1atYuDAgeLovODblDquJgiCstoen+9K2+PzsizLtbW18kMPPSQnJCTIer1eHj58uPzXv/71nKPZjY2N8i9/+Us5MjJSDgwMlC+77DI5Ly/vnGPhsizLJSUl8n333ScnJSXJer1ejouLk+fNmye/+eabjms6O2r+y1/+Uh42bNg5cTc0NMi///3v5cGDBzse85prrpGPHz/eq69lzZo18uWXXy4nJCTIfn5+ckJCgnzjjTfKR44c6fLf7WwdHZ+3x3nn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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 evals47
# data points30
# variables4
chi-square 0.06768400
reduced chi-square 0.00260323
Akaike info crit.-174.823085
Bayesian info crit.-169.218295
R-squared 0.98353432
Parameters
namevaluestandard errorrelative errorinitial valueminmaxvary
frequency 0.99791525 0.00801281(0.80%)0.8 -inf infTrue
amplitude 0.51169740 0.01308112(2.56%)0.5 0.10000000 2.00000000True
offset 0.00858835 0.01009786(117.58%)0 -inf infTrue
phase 0.04930261 0.05651389(114.63%)0 -inf infTrue
Correlations (unreported values are < 0.100)
Parameter1Parameter 2Correlation
frequencyphase-0.8864
frequencyoffset-0.3839
offsetphase+0.3409
frequencyamplitude-0.1214
amplitudephase+0.1086
" ], "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': np.float64(0.5116973976809251),\n", " 'frequency': np.float64(0.9979152541764723)}" ] }, "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/20250702/20250702-042635-417-c54a7c-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": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHgCAYAAAChG7dTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC98UlEQVR4nOzdd3hUZfbA8e+dSe8JqYQ0OiFA6L0Jil3svWBd2+pPXRV1RbCva1u7rK69rLruWrEgKCBFAqGXENKAVNIT0mbe3x93ZkhIAgkkuTPJ+TxPHjJ37sycSUhy7vue9z2aUkohhBBCCNGNmYwOQAghhBCis0nCI4QQQohuTxIeIYQQQnR7kvAIIYQQotuThEcIIYQQ3Z4kPEIIIYTo9iThEUIIIUS3JwmPEEIIIbo9SXiEEEII0e1JwiOEcNA0jUceecToMFxOfHw811xzjdFhCCGOQhIeIZxUeno6N910E3379sXLy4uAgAAmT57Miy++yKFDh4wOT7iY7du388gjj5CZmWl0KEIYws3oAIQQzX377bdceOGFeHp6ctVVV5GUlERdXR0rV67kL3/5C9u2bePNN9/s8Nc9dOgQbm7ya6G9du3ahcnk3NeP27dvZ+HChcyYMYP4+HijwxGiy8lvNiGcTEZGBpdccglxcXH88ssvREVFOe679dZb2bNnD99++22nvLaXl1enPG93pJSipqYGb29vPD09jQ5HCHEMzn1JIkQP9Le//Y3KykreeuutJsmOXf/+/bnjjjsctxsaGnj00Ufp168fnp6exMfH88ADD1BbW9vkcevXr2fOnDmEhobi7e1NQkIC1157bZNzjqzheeSRR9A0jT179nDNNdcQFBREYGAg8+bNo7q6ullsH3zwAaNHj8bb25uQkBAuueQScnJy2vS+9+/fz7XXXktERASenp4MHTqUt99+23H/oUOHGDx4MIMHD24ypVdcXExUVBSTJk3CYrEAcM011+Dn58fevXuZM2cOvr6+9O7dm0WLFqGUavK6VquVF154gaFDh+Ll5UVERAQ33XQTJSUlTc6Lj4/nzDPP5IcffmDMmDF4e3vzxhtvOO5rXMPzzjvvoGkaK1eu5M9//jNhYWEEBQVx0003UVdXR2lpKVdddRXBwcEEBwdz7733nnBcK1euZNy4cXh5edG3b1/ee++9JvFceOGFAMycORNN09A0jeXLl7fpeyNEt6CEEE4lOjpa9e3bt83nX3311QpQF1xwgXrllVfUVVddpQA1d+5cxzn5+fkqODhYDRw4UD3zzDNq8eLF6sEHH1RDhgxp8lyAWrBggeP2ggULFKBGjhypzjvvPPXqq6+q66+/XgHq3nvvbfLYxx57TGmapi6++GL16quvqoULF6rQ0FAVHx+vSkpKjvoe8vLyVJ8+fVRMTIxatGiReu2119TZZ5+tAPX88887zluzZo0ym83q//7v/xzHLrnkEuXt7a127drV5Gvi5eWlBgwYoK688kr18ssvqzPPPFMB6q9//WuT177++uuVm5ubuuGGG9Trr7+u7rvvPuXr66vGjh2r6urqHOfFxcWp/v37q+DgYHX//fer119/XS1btsxx39VXX+0491//+pcCVHJysjr11FPVK6+8oq688krH123KlCnqsssuU6+++qojrnffffe44xo0aJCKiIhQDzzwgHr55ZfVqFGjlKZpauvWrUoppdLT09Wf//xnBagHHnhAvf/+++r9999XeXl5R/2+CNGdSMIjhBMpKytTgDrnnHPadH5qaqoC1PXXX9/k+D333KMA9csvvyillPryyy8VoP7444+jPl9rCc+1117b5Lxzzz1X9erVy3E7MzNTmc1m9fjjjzc5b8uWLcrNza3Z8SNdd911KioqShUVFTU5fskll6jAwEBVXV3tODZ//nxlMpnUb7/9pj777DMFqBdeeKHJ4+xJ4O233+44ZrVa1RlnnKE8PDxUYWGhUkqpFStWKEB9+OGHTR6/ZMmSZsfj4uIUoJYsWdIs/tYSnjlz5iir1eo4PnHiRKVpmvrTn/7kONbQ0KD69Omjpk+f7jh2PHH99ttvjmMFBQXK09NT3X333Y5j9q+VPUkToqeRKS0hnEh5eTkA/v7+bTr/u+++A+Cuu+5qcvzuu+8GcNT6BAUFAfDNN99QX1/f7rj+9Kc/Nbk9depUDh486Ij3P//5D1arlYsuuoiioiLHR2RkJAMGDGDZsmWtPrdSii+++IKzzjoLpVSTx8+ZM4eysjI2bNjgOP+RRx5h6NChXH311dxyyy1Mnz6dP//5zy0+92233eb4XNM0brvtNurq6vj5558B+OyzzwgMDOTkk09u8rqjR4/Gz8+vWdwJCQnMmTOnzV+36667Dk3THLfHjx+PUorrrrvOccxsNjNmzBj27t3rONbeuBITE5k6darjdlhYGIMGDWrynEL0dFK0LIQTCQgIAKCioqJN52dlZWEymejfv3+T45GRkQQFBZGVlQXA9OnTOf/881m4cCHPP/88M2bMYO7cuVx22WVtKriNjY1tcjs4OBiAkpISAgICSEtLQynFgAEDWny8u7t7q89dWFhIaWkpb775ZqsrzwoKChyfe3h48PbbbzN27Fi8vLz417/+1SSpsDOZTPTt27fJsYEDBwI4lmanpaVRVlZGeHj4MV8X9ISnPY78ugUGBgIQExPT7Hjj2pz2xnXk64D+PTqy3keInkwSHiGcSEBAAL1792br1q3telxLf/CPvP/zzz9nzZo1fP311/zwww9ce+21PPvss6xZswY/P7+jPt5sNrd4XNkKba1WK5qm8f3337d47tGe32q1AnDFFVdw9dVXt3jO8OHDm9z+4YcfAKipqSEtLa3diUjj1w4PD+fDDz9s8f6wsLAmt729vdv1/K193Vo6rhoVLbc3rmN9f4QQkvAI4XTOPPNM3nzzTVavXs3EiROPem5cXBxWq5W0tDSGDBniOJ6fn09paSlxcXFNzp8wYQITJkzg8ccf56OPPuLyyy/nk08+4frrrz+hmPv164dSioSEBMcoSluFhYXh7++PxWJh9uzZxzx/8+bNLFq0iHnz5pGamsr111/Pli1bHKMndlarlb179zaJZ/fu3QCOfWj69evHzz//zOTJk9udzHSmzojrWEmxEN2d1PAI4WTuvfdefH19uf7668nPz292f3p6Oi+++CIAp59+OgAvvPBCk3Oee+45AM444wxAn3o68mo/OTkZoNny9eNx3nnnYTabWbhwYbPXUUpx8ODBVh9rNps5//zz+eKLL1oc2SosLHR8Xl9fzzXXXEPv3r158cUXeeedd8jPz+f//u//Wnzul19+uUkcL7/8Mu7u7syaNQuAiy66CIvFwqOPPtrssQ0NDZSWlh71fXeWzojL19cXwLD3JITRZIRHCCfTr18/PvroIy6++GKGDBnSZKfl33//nc8++8yx58uIESO4+uqrefPNNyktLWX69OmsW7eOd999l7lz5zJz5kwA3n33XV599VXOPfdc+vXrR0VFBYsXLyYgIMCRNJ1ozI899hjz588nMzOTuXPn4u/vT0ZGBl9++SU33ngj99xzT6uPf+qpp1i2bBnjx4/nhhtuIDExkeLiYjZs2MDPP/9McXExAI899hipqaksXboUf39/hg8fzsMPP8xDDz3EBRdc0OS9eHl5sWTJEq6++mrGjx/P999/z7fffssDDzzgmBKaPn06N910E08++SSpqamccsopuLu7k5aWxmeffcaLL77IBRdccMJfn/bqjLiSk5Mxm808/fTTlJWV4enpyUknndRqnZAQ3Y4xi8OEEMeye/dudcMNN6j4+Hjl4eGh/P391eTJk9VLL72kampqHOfV19erhQsXqoSEBOXu7q5iYmLU/Pnzm5yzYcMGdemll6rY2Fjl6empwsPD1ZlnnqnWr1/f5DVpZVm6fRm3nX3ZdUZGRpPjX3zxhZoyZYry9fVVvr6+avDgwerWW29tskdOa/Lz89Wtt96qYmJilLu7u4qMjFSzZs1Sb775plJKqZSUFOXm5tZkqblS+rLusWPHqt69ezv2+7n66quVr6+vSk9PV6eccory8fFRERERasGCBcpisTR77TfffFONHj1aeXt7K39/fzVs2DB17733qgMHDjjOiYuLU2eccUaLsbe2LP3IbQBa+3ra4+3IuKZPn95kqbtSSi1evFj17dtXmc1mWaIuehxNKalqE0J0L9dccw2ff/45lZWVRocihHASUsMjhBBCiG5PEh4hhBBCdHuS8AghhBCi25MaHiGEEEJ0ezLCI4QQQohuTxIeIYQQQnR7kvAIl/TOO++gaZqjCeTRxMfHOzbqE0II0TNJwiO63O+//84jjzziElvc79y5k3vvvZfk5GT8/f2JiorijDPOYP369S2ev3//fi666CKCgoIICAjgnHPOYe/evU3OycnJYeHChYwbN47g4GBCQ0OZMWMGP//8c7Pnsyd2LX3k5eU1O/+rr75i1KhReHl5ERsby4IFC2hoaGhyzowZM1p9zpa6mrflOZcuXcq1117LwIED8fHxoW/fvlx//fXk5uYe82vc3tc60g033ICmaZx55plNjh88eJBnnnmGadOmERYWRlBQEBMmTODTTz9t9bk2bNjA2WefTUhICD4+PiQlJfGPf/yjyTlPPPEEEyZMICwsDC8vLwYMGMCdd97ZpAUG6B3ZW/s6f/LJJ+36uoDeEiI8PNzRCLaxyspKFixYwKmnnkpISAiapvHOO++0+DytxaRpGieffHK742rJ8b73+vp6EhMT0TSNv//978f12kf7mdE0rdWGrKL7k9YSosv9/vvvLFy4kGuuuYagoKDjeo4rr7ySSy65BE9Pz44N7gj//Oc/eeuttzj//PO55ZZbKCsr44033mDChAksWbKkSbPLyspKZs6cSVlZGQ888ADu7u48//zzTJ8+ndTUVHr16gXA//73P55++mnmzp3L1VdfTUNDA++99x4nn3wyb7/9NvPmzWsWx6JFi5p1BD/ya/f9998zd+5cZsyYwUsvvcSWLVt47LHHKCgo4LXXXnOc9+CDDzZrFlpVVcWf/vQnTjnllON6zvvuu4/i4mIuvPBCBgwYwN69e3n55Zf55ptvSE1NJTIy8phf67a+VmPr16/nnXfewcvLq9l9q1ev5sEHH+T000/noYcews3NjS+++IJLLrmE7du3s3Dhwibn//jjj5x11lmMHDmSv/71r/j5+ZGens6+ffuanJeSkkJycjKXXHIJ/v7+7Nixg8WLF/Ptt9+Smprq6Flld+mllzZr33GsprAtefjhh6murm7xvqKiIhYtWkRsbCwjRoxg+fLlrT7P+++/3+zY+vXrefHFF5t9/09Ue9/7Sy+9RHZ29gm95rRp01p8j88//zybNm1y9FETPZCxGz2LnuiZZ55psS1BZzly2//2WL9+vaqoqGhyrKioSIWFhanJkyc3Of70008rQK1bt85xbMeOHcpsNqv58+c7jm3durVZa4Gamho1ePBg1adPnybHW2tR0JLExEQ1YsQIVV9f7zj24IMPKk3T1I4dO4762Pfff18B6sMPPzyu5/z111+btWz49ddfFaAefPDBY8Z+PPFbrVY1ceJEde2117bYXmHv3r0qMzOz2WNOOukk5enpqSorKx3Hy8rKVEREhDr33HNbbD1xLJ9//rkC1Mcff+w4lpGRoQD1zDPPtPv5jrRlyxbl5uamFi1apAD12WefNbm/pqZG5ebmKqWU+uOPPxSg/vWvf7X5+a+77jqlaZrKyck54ViVOr73np+frwIDAx3vsSO+bnbV1dXK399fnXzyyR32nML1yJSW6FKPPPIIf/nLXwBISEhwDDNnZmY6hsFbGorXNI1HHnnEcbulGh6lFI899hh9+vTBx8eHmTNnsm3bthbjSE9PJz09/Zjxjh49Gj8/vybHevXqxdSpU9mxY0eT459//jljx45l7NixjmODBw9m1qxZ/Pvf/3YcGzp0KKGhoU0e6+npyemnn86+ffuoqKhoMZaKigosFkuL923fvp3t27dz44034uZ2eOD2lltuQSnVbArkSB999BG+vr6cc845x/Wc06ZNw2Rq+utk2rRphISENPs6dVT877//Plu3buXxxx9v8TkTEhKIi4trckzTNObOnUttbW2TqcaPPvqI/Px8Hn/8cUwmE1VVVVit1mPGbRcfHw+03om8qqqKurq6Nj/fke644w7OPfdcpk6d2uL9np6ebRpFa0ltbS1ffPEF06dPp0+fPm16zP79+7nuuuvo3bs3np6eJCQkcPPNN7f4Htv63u+//34GDRrEFVdc0eL9xcXF3HPPPQwbNgw/Pz8CAgI47bTT2LRp0zGf++uvv6aiooLLL7+82X1r167l9NNPJzg4GF9fX4YPH86LL754zOcUrkcSHtGlzjvvPC699FJAH2J+//33ef/99x3dq0/Eww8/zF//+ldGjBjBM888Q9++fTnllFOoqqpqdu6sWbNOaGg7Ly+vSdJitVrZvHkzY8aMaXbuuHHjSE9PbzWRafycPj4++Pj4NLtv5syZBAQE4OPjw9lnn01aWlqT+zdu3AjQ7PV79+5Nnz59HPe3pLCwkJ9++om5c+c2mY45kecEfYqvsrKyWXLXkva+VkVFBffddx8PPPBAu//Q22ufGsf1888/ExAQwP79+xk0aJDjD+rNN99MTU1Ns+dQSlFUVEReXh4rVqzgz3/+M2azmRkzZjQ7d+HChfj5+eHl5cXYsWP58ccf2xXvZ599xu+//87f/va3dj2urb777jtKS0tbTAZacuDAAcaNG8cnn3zCxRdfzD/+8Q+uvPJKfv3112ZTbm197+vWrePdd9/lhRdeQNO0Fs/Zu3cv//3vfznzzDN57rnn+Mtf/sKWLVuYPn06Bw4cOGrMH374Id7e3px33nlNjv/0009MmzaN7du3c8cdd/Dss88yc+ZMvvnmmzZ9LYRrkRoe0aWGDx/OqFGj+Pjjj5k7d67jyhhoVvTZHoWFhfztb3/jjDPO4Ouvv3b80nzwwQd54oknTjTsJlasWMHq1at56KGHHMeKi4upra0lKiqq2fn2YwcOHGDQoEEtPueePXv4z3/+w4UXXojZbHYc9/Hx4ZprrnEkPCkpKTz33HNMmjSJDRs2EBMTA+AoDm7t9Y/2B+HTTz+loaGh2R+8E3lOgBdeeIG6ujouvvjio553PK+1aNEivL29+b//+79jPndjxcXF/POf/2Tq1KlNXistLY2GhgbOOeccrrvuOp588kmWL1/OSy+9RGlpKR9//HGT58nPz2/y+D59+vDRRx8xePBgxzGTycQpp5zCueeeS3R0NHv37uW5557jtNNO46uvvuKMM844ZryHDh3innvu4f/+7/+Ij49v06rE9vrwww/x9PTkggsuaNP58+fPJy8vj7Vr1zZJUBctWoSy7WPbnveulOL222/n4osvZuLEia2+x2HDhrF79+4mI4lXXnklgwcP5q233uKvf/1ri48rLi5myZIlzJ07F39/f8dxi8XCTTfdRFRUFKmpqU1q4pTsx9stScIjuoWff/6Zuro6br/99iZXiHfeeWeLCc/x/uEoKCjgsssuIyEhgXvvvddx/NChQwAtFlHbC2rt5xypurqaCy+8EG9vb5566qkm91100UVcdNFFjttz585lzpw5TJs2jccff5zXX3+9Ta9fXl7e6nv66KOPCAsLa7ZC50Se87fffmPhwoVcdNFFnHTSSa2edzyvtXv3bl588UU+/vjjdhWtW61WLr/8ckpLS3nppZea3FdZWUl1dTV/+tOfHKuyzjvvPOrq6njjjTdYtGgRAwYMcJwfEhLCTz/9RE1NDRs3buQ///lPs87ssbGx/PDDD02OXXnllSQmJnL33Xe3KeF56qmnqK+v54EHHmjz+2yP8vJyvv32W04//fQ2LSCwWq3897//5ayzzmpxNNP+s9ee9/7OO++wZcuWY067Nv5eWywWSktL8fPzY9CgQWzYsKHVx33++efU1dU1S+g3btxIRkYGzz//fLP33took3BtkvCIbiErKwugyR8lgLCwMIKDgzvkNaqqqjjzzDOpqKhg5cqVTWp7vL29Ab0e4kj2KRH7OY1ZLBbHqqHvv/+e3r17HzOOKVOmMH78+CbL2I/1+i29NujTBKtXr+a2225rUjtzIs+5c+dOzj33XJKSkvjnP//Z5L7i4uIm9Rze3t4EBga267XuuOMOJk2axPnnn9/i67fm9ttvZ8mSJbz33nuMGDGiyX3257dPt9pddtllvPHGG6xevbrJ/y0PDw/HCr0zzzyTWbNmMXnyZMLDw5stj28sJCSEefPm8dRTT7Fv3z769OlDWVlZk2TYw8ODkJAQMjMzeeaZZ3jllVea1ZF1lC+++IKamppmyYDFYmk24hoSEkJJSQnl5eUkJSW1+7Vaeu/l5eXMnz+fv/zlL47RytZYrVZefPFFXn31VTIyMprUs9lXQLbkww8/JCQkhNNOO63JcXsN3/G8F+GapIZHOI3WrqpaK9TtSnV1dZx33nls3ryZ//3vf81+SYaEhODp6dnivjP2Yy0lMzfccAPffPMN77zzTptGQuxiYmIoLi523LZPr7T2+q0lUh999BFAi/Ubx/OcOTk5nHLKKQQGBvLdd981mUIAfdQkKirK8XHHHXe067V++eUXlixZwh133OEodM/MzKShoYFDhw6RmZnZ4sjTwoULefXVV3nqqae48sorm91vf/6IiIgmx8PDwwEoKSlp9pjGJk2aRFRUVJv2eLH/Ybd//+64444mXxN7ncnDDz9MdHQ0M2bMcLxPe/1RYWEhmZmZ7SqsbsmHH35IYGBgsyQtJyenSUxRUVH8/vvvJ/Ra0Py9//3vf3dMe9rfo30bgJKSEjIzMx0J8hNPPMFdd93FtGnT+OCDD/jhhx/46aefGDp0aKtfh+zsbFasWMGFF17Y4h5TomeRER7R5VpLbOwjMUeudLGP3hyNfTVOWloaffv2dRwvLCw85h+rY7FarVx11VUsXbqUf//730yfPr3ZOSaTiWHDhrW4IeHatWvp27dvsz/+f/nLX/jXv/7FCy+80Gxk4Vj27t3bpNA7OTkZ0PdTGTdunOP4gQMH2LdvHzfeeGOLz/PRRx/Rr18/JkyY0Oy+9j7nwYMHOeWUU6itrWXp0qUt1uM8++yzTb4f9kSjra9l36PlyOJT0FcOJSQk8Pzzz3PnnXc6jr/yyis88sgj3Hnnndx3330tfh1Gjx7NTz/95Chabvz6QJuK6mtqaigrKzvmefbVYfbnvPfee5usTLL/HGRnZ7Nnz54m/5/tbrnlFkBPCo53L6vc3FyWLVvGNddc02xqMDIykp9++qnJsREjRhAYGEhAQABbt249rtc88r1nZ2dTUlLC0KFDm537xBNP8MQTT7Bx40aSk5P5/PPPmTlzJm+99VaT80pLS1stjP/4449RSrWY0Pfr1w+ArVu3NtlPS3Rjhi2IFz3Wa6+9pgC1cePGZveFhoaqc889t8mxu+++WwFqwYIFjmP2/Wnse/kUFBQod3d3dcYZZyir1eo474EHHlBAs3149uzZo/bs2dOmeG+55RYFqDfeeOOo5z311FPN9szZuXOnMpvN6r777mty7t/+9jcFqAceeOCoz1lQUNDs2LfffqsA9ec//7nJ8cGDB6sRI0aohoYGx7GHHnpIaZqmtm/f3ux5NmzYoAD117/+tdXXb+tzVlZWqnHjxil/f3+1fv36o76nE3mtrKws9eWXXzb7CAsLU2PGjFFffvllk+/rJ598okwmk7r88sub/L9o7Wtx2WWXNTl+6aWXKjc3N7V//37H+6yqqmr2ePs+PI2/li197/bt26eCg4PV8OHDj/n1WLFiRbP3+eijjypA3XvvverLL79UdXV1zR7X1n14nnvuOQWopUuXHjOWxq666iplMpla3BvK/jVu63tPSUlp9h7feOMNBahrrrlGffnll6q0tFQppdSoUaPUjBkzmjznv//9bwWo6dOntxjr8OHDVWxsbIvfe4vFohISElRcXJwqKSlp8X2I7kVGeESXGz16NKCvoLrkkktwd3fnrLPOwtfXl+uvv56nnnqK66+/njFjxvDbb7+xe/fuYz5nWFgY99xzD08++SRnnnkmp59+Ohs3buT7779v8erPviT9WMXLL7zwAq+++ioTJ07Ex8eHDz74oMn95557rmMp9y233MLixYs544wzuOeee3B3d+e5554jIiKCu+++2/GYL7/8knvvvZcBAwYwZMiQZs958sknO6ZWJk2axMiRIxkzZgyBgYFs2LCBt99+m5iYmGaFrM888wxnn302p5xyCpdccglbt27l5Zdf5vrrr2fIkCHN3pt9+uVoy5Hb+pyXX34569at49prr2XHjh1N9t7x8/Nj7ty5R/syt/m1YmNjiY2NbfbYO++8k4iIiCavs27dOq666ip69erFrFmzmk03TZo0yTF6MnLkSK699lrefvttGhoamD59OsuXL+ezzz5j/vz5jpGotLQ0Zs+ezcUXX8zgwYMxmUysX7+eDz74gPj4eMcUHegjN+np6cyaNYvevXuTmZnJG2+8QVVVVZv2eZkyZUqzY/bRnLFjxzb7mr788suUlpY6RqW+/vprx/TQ7bffTmBgYJPzP/zwQ3r37t3iUvqjeeKJJ/jxxx+ZPn06N954I0OGDCE3N5fPPvuMlStXEhQU1Ob3PmrUKEaNGtXk+e0/k0OHDm3yHs8880wWLVrEvHnzmDRpElu2bOHDDz9scQQM9JGbzZs3c//997c4qmwymXjttdc466yzSE5OZt68eURFRbFz5062bdvWrOhadANGZ1yiZ3r00UdVdHS0MplMTUZqqqur1XXXXacCAwOVv7+/uuiii1RBQcExR3iU0q/YFi5cqKKiopS3t7eaMWOG2rp1a4s7LcfFxam4uLhjxnn11VcroNWPI3eLzsnJURdccIEKCAhQfn5+6swzz1RpaWlNzlmwYMFRn3PZsmWOcx988EGVnJysAgMDlbu7u4qNjVU333yzysvLazHeL7/8UiUnJytPT0/Vp08f9dBDD7U4CmCxWFR0dLQaNWrUMb8GbXnOuLi4Vt9PW77O7Y3/SC3ttGz/P9Lax5EjIHV1deqRRx5RcXFxyt3dXfXv3189//zzTc4pLCxUN954oxo8eLDy9fVVHh4easCAAerOO+9stnv2Rx99pKZNm6bCwsKUm5ubY/QyJSWlzV+PIy1btqzFnZbtX4O2/j/duXOnAtRdd911XHFkZWWpq666SoWFhSlPT0/Vt29fdeutt6ra2lql1Im999Z2aa6pqVF333234+d78uTJavXq1Wr69OktjvDcf//9ClCbN28+6uutXLlSnXzyycrf31/5+vqq4cOHq5deeqntXwzhMjSlZMMBIYQQQnRvskpLCCGEEN2eJDxCCCGE6PYk4RFCCCFEtycJjxBCCCG6PUl4hBBCCNHtScIjhBBCiG5PEh4hhBBCdHuS8AghhBCi25OERwghhBDdniQ8QgghhOj2pHkoYLVaOXDgAP7+/i02mRNCCCGE81FKUVFRQe/evTGZjj6GIwkPcODAAWJiYowOQwghhBDHIScnhz59+hz1HEl4AH9/f0D/ggUEBBgcjRBCCCHaory8nJiYGMff8aORhAcc01gBAQGS8AghhBAupi3lKFK0LIQQQohuzykTnldeeYX4+Hi8vLwYP34869atO+r5paWl3HrrrURFReHp6cnAgQP57rvvuihaIYQQQjg7p5vS+vTTT7nrrrt4/fXXGT9+PC+88AJz5sxh165dhIeHNzu/rq6Ok08+mfDwcD7//HOio6PJysoiKCio64MXQgghhFPSlFLK6CAaGz9+PGPHjuXll18G9CXjMTEx3H777dx///3Nzn/99dd55pln2LlzJ+7u7m16jdraWmprax237UVPZWVlUsMjhBBCuIjy8nICAwPb9Pfbqaa06urqSElJ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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].values, dataset[\"x0\"][-1].values, 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", "\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", "\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", "\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].values, dataset_[\"x0\"][-1].values, 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", "\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", "\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(\n", " self.dataset[\"x0\"][0].values, self.dataset[\"x0\"][-1].values, 1000\n", " )\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": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHgCAYAAAChG7dTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC9+ElEQVR4nOzdd3hUZfbA8e+dSe8JqYQ0OiFA6L0Jil3svWBd2+pPXRV1RbCva1u7rK69rLruWrEgKCA1EOkQQhqQSnpC2sz7++PODAlJIIEkdyY5n+fJQ+bOnZkzCUnOfd/zvkdTSimEEEIIIboxk9EBCCGEEEJ0Nkl4hBBCCNHtScIjhBBCiG5PEh4hhBBCdHuS8AghhBCi25OERwghhBDdniQ8QgghhOj2JOERQgghRLcnCY8QQgghuj1JeIQQDpqm8cgjjxgdhsuJj4/nmmuuMToMIcRRSMIjhJNKT0/npptuom/fvnh5eREQEMDkyZN58cUXOXTokNHhCRezfft2HnnkETIzM40ORQhDuBkdgBCiuW+//ZYLL7wQT09PrrrqKpKSkqirq2PlypX85S9/Ydu2bbz55psd/rqHDh3CzU1+LbTXrl27MJmc+/px+/btLFy4kBkzZhAfH290OEJ0OfnNJoSTycjI4JJLLiEuLo5ffvmFqKgox3233nore/bs4dtvv+2U1/by8uqU5+2OlFLU1NTg7e2Np6en0eEIIY7BuS9JhOiB/va3v1FZWclbb73VJNmx69+/P3fccYfjdkNDA48++ij9+vXD09OT+Ph4HnjgAWpra5s8bsOGDcyZM4fQ0FC8vb1JSEjg2muvbXLOkTU8jzzyCJqmsWfPHq655hqCgoIIDAxk3rx5VFdXN4vtgw8+YPTo0Xh7exMSEsIll1xCTk5Om973/v37ufbaa4mIiMDT05OhQ4fy9ttvO+4/dOgQgwcPZvDgwU2m9IqLi4mKimLSpElYLBYArrnmGvz8/Ni7dy9z5szB19eX3r17s2jRIpRSTV7XarXywgsvMHToULy8vIiIiOCmm26ipKSkyXnx8fGceeaZ/PDDD4wZMwZvb2/eeOMNx32Na3jeeecdNE1j5cqV/PnPfyYsLIygoCBuuukm6urqKC0t5aqrriI4OJjg4GDuvffeE45r5cqVjBs3Di8vL/r27ct7773XJJ4LL7wQgJkzZ6JpGpqmsXz58jZ9b4ToFpQQwqlER0ervn37tvn8q6++WgHqggsuUK+88oq66qqrFKDmzp3rOCc/P18FBwergQMHqmeeeUYtXrxYPfjgg2rIkCFNngtQCxYscNxesGCBAtTIkSPVeeedp1599VV1/fXXK0Dde++9TR772GOPKU3T1MUXX6xeffVVtXDhQhUaGqri4+NVSUnJUd9DXl6e6tOnj4qJiVGLFi1Sr732mjr77LMVoJ5//nnHeWvWrFFms1n93//9n+PYJZdcory9vdWuXbuafE28vLzUgAED1JVXXqlefvlldeaZZypA/fWvf23y2tdff71yc3NTN9xwg3r99dfVfffdp3x9fdXYsWNVXV2d47y4uDjVv39/FRwcrO6//371+uuvq2XLljnuu/rqqx3n/utf/1KASk5OVqeeeqp65ZVX1JVXXun4uk2ZMkVddtll6tVXX3XE9e677x53XIMGDVIRERHqgQceUC+//LIaNWqU0jRNbd26VSmlVHp6uvrzn/+sAPXAAw+o999/X73//vsqLy/vqN8XIboTSXiEcCJlZWUKUOecc06bzk9NTVWAuv7665scv+eeexSgfvnlF6WUUl9++aUC1Pr164/6fK0lPNdee22T884991zVq1cvx+3MzExlNpvV448/3uS8LVu2KDc3t2bHj3TdddepqKgoVVRU1OT4JZdcogIDA1V1dbXj2Pz585XJZFK//fab+uyzzxSgXnjhhSaPsyeBt99+u+OY1WpVZ5xxhvLw8FCFhYVKKaVWrFihAPXhhx82efySJUuaHY+Li1OAWrJkSbP4W0t45syZo6xWq+P4xIkTlaZp6k9/+pPjWENDg+rTp4+aPn2649jxxPXbb785jhUUFChPT0919913O47Zv1b2JE2InkamtIRwIuXl5QD4+/u36fzvvvsOgLvuuqvJ8bvvvhvAUesTFBQEwDfffEN9fX274/rTn/7U5PbUqVM5ePCgI97//Oc/WK1WLrroIoqKihwfkZGRDBgwgGXLlrX63EopvvjiC8466yyUUk0eP2fOHMrKyti4caPj/EceeYShQ4dy9dVXc8sttzB9+nT+/Oc/t/jct912m+NzTdO47bbbqKur4+effwbgs88+IzAwkJNPPrnJ644ePRo/P79mcSckJDBnzpw2f92uu+46NE1z3B4/fjxKKa677jrHMbPZzJgx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Nnmsp6cnp59+Ovv27aOioqLFWCoqKrBYLC3et337drZv386NN96Im9vhgdtbbrkFpVSzKZAjffTRR/j6+nLOOecc13NOmzYNk6npr5Np06YREhLS7OvUUfG///77bN26lccff7zF50xISCAuLq7JMU3TmDt3LrW1tU2mGj/66CPy8/N5/PHHMZlMVFVVYbVajxm3XXx8PNB6J/Kqqirq6ura/HxHuuOOOzj33HOZOnVqi/d7enq2aRStJbW1tXzxxRdMnz6dPn36tOkx+/fv57rrrqN37954enqSkJDAzTff3OJ7bOt7v//++xk0aBBXXHFFi/cXFxdzzz33MGzYMPz8/AgICOC0007jjz/+OOZzf/3111RUVHD55Zc3u2/t2rWcfvrpBAcH4+vry/Dhw3nxxReP+ZzC9UjCI7rUeeedx6WXXgroQ8zvv/8+77//vqN79Yl4+OGH+etf/8qIESN45pln6Nu3L6eccgpVVVXNzp01a9YJDW3n5eU1SVqsViubN29mzJgxzc4dN24c6enprSYyjZ/Tx8cHHx+fZvfNnDmTgIAAfHx8OPvss0lLS2ty/6ZNmwCavX7v3r3p06eP4/6WFBYW8tNPPzF37twm0zEn8pygT/FVVlY2S+5a0t7Xqqio4L777uOBBx5o9x96e+1T47h+/vlnAgIC2L9/P4MGDXL8Qb355pupqalp9hxKKYqKisjLy2PFihX8+c9/xmw2M2PGjGbnLly4ED8/P7y8vBg7diw//vhju+L97LPP+P333/nb3/7Wrse11XfffUdpaWmLyUBLDhw4wLhx4/jkk0+4+OKL+cc//sGVV17Jr7/+2mzKra3vfd26dbz77ru88MILaJrW4jl79+7lv//9L2eeeSbPPfccf/nLX9iyZQvTp0/nwIEDR435ww8/xNvbm/POO6/J8Z9++olp06axfft27rjjDp599llmzpzJN99806avhXAtUsMjutTw4cMZNWoUH3/8MXPnznVcGQPNij7bo7CwkL/97W+cccYZfP31145fmg8++CBPPPHEiYbdxIoVK1i9ejUPPfSQ41hxcTG1tbVERUU1O99+7MCBAwwaNKjF59yzZw//+c9/uPDCCzGbzY7jPj4+XHPNNY6EJyUlheeee45JkyaxceNGYmJiABzFwa29/tH+IHz66ac0NDQ0+4N3Is8J8MILL1BX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IIC+ffuybds2W4dTaebOnUufPn0IDg62KneE83ft2jWAQn+b1UUSnipw+fJljEYjfn5+VuV+fn52c535zyoj5tdee43AwECrD9zo6Gi+/vprNm7cyLRp09iyZQv9+/fHaDRWavzlUZ46N2/enK+++oqVK1fyzTffYDKZ6N69O+fOnauOkG+roudw165dHDp0iGeeecaq3J7PoSjsww8/JDMzk0cffdRSFh4eTkxMDGvXrmX27NkkJCTQs2dPMjIybBhp+QQEBPD555+zdOlSli5dSlBQEJGRkcTFxdk6tAq7cOECP//8c6H3oCOcP5PJxLhx4+jRowdt2rSxSQyyWrqoFFOnTmXx4sXExsZadeIdOnSo5fe2bdvSrl07mjRpQmxsLL1797ZFqBUSERFBRESE5X737t1p2bIlc+bMYfLkyTaMrOLmzp1L27Zt6dq1q1W5o51DR/btt98yceJEVq5cadWnpX///pbf27VrR3h4OMHBwSxZsoSnn37aFqGWW/PmzWnevLnlfvfu3Tl58iQzZsxgwYIFNoys4ubPn0/t2rV58MEHrcod4fy98MILHDp0yKZ9j6SFpwrUq1cPvV7PxYsXrcovXryIv7+/jaK6vYrE/OGHHzJ16lTWrVtHu3btbrttaGgo9erV48SJExWOuaIq4zw5OzvTsWPHGl+f69evs3jx4lL987SncyhuWbx4Mc888wxLliyxamUtSu3atbnrrrsc5hx27dq1xtdFKcVXX33FE088gcFguO22Ne38vfjii6xevZrNmzfTsGFDm8UhCU8VMBgMdOrUiY0bN1rKTCYTGzdutGodsCfljfmDDz5g8uTJrF27ls6dO5f4POfOnSM1NZWAgIBKibsiKuM8GY1GDh48WOPr8/3335OTk8Pw4cNLfB57OofCbNGiRTz55JMsWrTIakqB4mRmZnLy5EmHOYf79++v8XXZsmULJ06cKNWXjppy/pRSvPjiiyxfvpxNmzbRuHFjmwckqsDixYuVi4uLiomJUUeOHFHPPvusql27tkpOTrZ1aMUqKeYnnnhCvf7665btp06dqgwGg/rhhx9UUlKS5ZaRkaGUUiojI0P985//VNu3b1cJCQlqw4YNKiwsTDVr1kxlZ2fbpI5/VtY6T5w4Uf3yyy/q5MmTau/evWro0KHK1dVVHT582FZVsFLW+hS4++671ZAhQwqV14RzWJyMjAy1b98+tW/fPgWo6dOnq3379qnTp0/bOrTbKinu119/XT3xxBOW7RcuXKicnJzUp59+avU+vHr1qmWbf/zjHyo2NlYlJCSobdu2qT59+qh69eqplJSUaq/fn5W1vjNmzFArVqxQx48fVwcPHlRjx45VOp1ObdiwwVZVsFLW+hQYPny4Cg8PL/KY9nz+bmfMmDHK29tbxcbGWv1tZmVl2SQeSXiq0CeffKIaNWqkDAaD6tq1q9qxY4etQyrR7WLu1auXGjlypOV+cHCwAgrdxo8fr5RSKisrS913333K19dXOTs7q+DgYDV69Gi7S/rKUudx48ZZtvXz81MDBgxQcXFxNoi6eGWpj1JKHTt2TAFq3bp1hY5VU85hUQqGL//59uf625uS4h45cqTq1auXZftevXqVWM8hQ4aogIAAZTAYVIMGDdSQIUPUiRMnqrdixShrfadNm6aaNGmiXF1dlY+Pj4qMjFSbNm2yTfBFKGt9lFLq6tWrys3NTf3nP/8p8pj2fP5up6jXAVDz5s2zSTzazaCEEEIIIRyW9OERQgghhMOThEcIIYQQDk8SHiGEEEI4PEl4hBBCCOHwJOERQgghhMOThEcIIYQQDk8SHiGEEEI4PEl4hBBCCOHwJOERQtwxYmJiqF279m23mTBhAh06dKiWeP4sJCSEmTNnVvvzjho1Ck3T0DSNFStWlGqfkJAQyz5Xr16t0viEqAyS8AhhY3/8sDEYDDRt2pRJkyaRn59v69DKrSwfnCVJTExE0zT2799f6LHIyEjGjRtXKc9TlWJjYy3nuLhbbGwsu3fv5tlnn7VJjNHR0SQlJdG/f/9Sbb97926WLl1axVEJUXmcbB2AEML8YTNv3jxycnJYs2YNL7zwAs7OzrzxxhtlPpbRaETTNHS6mv99Ji8vz9YhlEteXh7Ozs6W+927dycpKclyf+zYsaSnpzNv3jxLmY+PDwaDoVrj/CMXFxf8/f1Lvb2vry8+Pj5VGJEQlavm/0cUwgEUfNgEBwczZswY+vTpw6pVqwCYPn06bdu2xcPDg6CgIJ5//nkyMzMt+xZcplm1ahWtWrXCxcWFM2fOsHv3bvr27Uu9evXw9vamV69exMXFWT2vpmnMmTOHgQMH4u7uTsuWLdm+fTsnTpwgMjISDw8PunfvzsmTJ632W7lyJWFhYbi6uhIaGsrEiRMtLVIhISEAPPTQQ2iaZrlf0n4F8cyePZsHHngADw8P3nvvvTK9jmlpaYwYMYI6derg7u5O//79OX78+G33mTp1Kn5+fnh6evL000+TnZ1daJsvv/ySli1b4urqSosWLfjss88sjxW0QH333Xf06tULV1dXFi5caLW/wWDA39/fcnNzc7Oc84KbwWAodEmrKs5PaeXm5vLiiy8SEBCAq6srwcHBTJkypUzHEMKeSMIjhB1yc3MjNzcXAJ1Ox6xZszh8+DDz589n06ZNvPrqq1bbZ2VlMW3aNL788ksOHz5M/fr1ycjIYOTIkfz222/s2LGDZs2aMWDAADIyMqz2nTx5MiNGjGD//v20aNGCYcOG8be//Y033niDPXv2oJTixRdftGz/66+/MmLECMaOHcuRI0eYM2cOMTExluRk9+7dAMybN4+kpCTL/ZL2KzBhwgQeeughDh48yFNPPVWm123UqFHs2bOHVatWsX37dpRSDBgwoNiWoiVLljBhwgTef/999uzZQ0BAgFUyA7Bw4ULeeecd3nvvPY4ePcr777/P22+/zfz58622e/311xk7dixHjx6lX79+ZYr7dir7/JTWrFmzWLVqFUuWLCE+Pp6FCxdaJa9C1Dg2WaNdCGExcuRINXjwYKWUUiaTSa1fv165uLiof/7zn0Vu//3336u6deta7s+bN08Bav/+/bd9HqPRqDw9PdWPP/5oKQPUW2+9Zbm/fft2Bai5c+dayhYtWqRcXV0t93v37q3ef/99q2MvWLBABQQEWB13+fLlVtuUdr9x48ZZbZOQkKAA5ebmpjw8PKxuOp1OjR07Viml1O+//64AtW3bNsu+ly9fVm5ubmrJkiWW18rb29vyeEREhHr++eetni88PFy1b9/ecr9Jkybq22+/tdpm8uTJKiIiwiq+mTNnqtL64zn/o+DgYDVjxgzL/ao6P6WJ56WXXlL33nuvMplMxe63efNmBai0tLRitxHCXkgfHiHswOrVq6lVqxZ5eXmYTCaGDRvGhAkTANiwYQNTpkzh2LFjpKenk5+fT3Z2NllZWbi7uwPmSybt2rWzOubFixd56623iI2NJSUlBaPRSFZWFmfOnLHa7o/7+fn5AdC2bVursuzsbNLT0/Hy8uLAgQNs27bNqsXAaDQWiunPSrtf586di9z/u+++o2XLllZljz/+uOX3o0eP4uTkRHh4uKWsbt26NG/enKNHjxZ5zKNHj/Lcc89ZlUVERLB582YArl+/zsmTJ3n66acZPXq0ZZv8/Hy8vb2t9isu7oqqrvPzZ6NGjaJv3740b96c6OhoBg4cyH333VdJtRKi+knCI4QdiIqKYvbs2RgMBgIDA3FyMr81ExMTGThwIGPGjOG9997Dx8eH3377jaeffprc3FzLh5ebmxuaplkdc+TIkaSmpvLxxx8THByMi4sLERERlktlBf7YubbgGEWVmUwmADIzM5k4cSJ/+ctfCtXD1dW12DqWdj8PD48i9w8KCqJp06ZWZW5ubsU+X2Uo6Cv1xRdfWCVSAHq93up+cXFXVHWdnz8LCwsjISGBn3/+mQ0bNvDoo4/Sp08ffvjhh3LVQwhbk4RHCDvg4eFR6MMcYO/evZhMJj766CPLqKslS5aU6pjbtm3js88+Y8CAAQCcPXuWy5cvVzjWsLAw4uPji4y3gLOzM0ajscz7VUTLli3Jz89n586ddO/eHYDU1FTi4+Np1apVsfvs3LmTESNGWMp27Nhh+d3Pz4/AwEBOnTpl1Zpkzyrzdfby8mLIkCEMGTKEhx9+mOjoaK5cuSKjs0SNJAmPEHasadOm5OXl8cknnzBo0CC2bdvG559/Xqp9mzVrxoIFC+jcuTPp6en861//qpQWkXfeeYeBAwfSqFEjHn74YXQ6HQcOHODQoUO8++67gHmk1saNG+nRowcuLi7UqVOnVPtVRLNmzRg8eDCjR49mzpw5eHp68vrrr9OgQQMGDx5c5D5jx45l1KhRdO7cmR49erBw4UIOHz5MaGioZZuJEyfy8ssv4+3tTXR0NDk5OezZs4e0tDReeeWVCsdd2SrrdZ4+fToBAQF07NgRnU7H999/j7+/f4kTNwphr2SUlhB2rH379kyfPp1p06bRpk0bFi5cWOqhwXPnziUtLY2wsDCeeOIJXn75ZerXr1/hmPr168fq1atZt24dXbp0oVu3bsyYMYPg4GDLNh999BHr168nKCiIjh07lnq/ipo3bx6dOnVi4MCBREREoJRizZo1VpeA/mjIkCG8/fbbvPrqq3Tq1InTp08zZswYq22eeeYZvvzyS+bNm0fbtm3p1asXMTExNG7cuNLirkyV9Tp7enrywQcf0LlzZ7p06UJiYiJr1qxxiPmdxJ1JU0opWwchhBDCdkaNGsXVq1fLPDt2bGwsUVFRpKWlScuPsHuSqgshhLCMFFy9enWptm/dunWpl6EQwh5IC48QQtzhUlJSSE9PByAgIKBUI85Onz5tmdAxNDRULnUJuycJjxBCCCEcnqTkQgghhHB4kvAIIYQQwuFJwiOEEEIIhycJjxBCCCEcniQ8QgghhHB4kvAIIYQQwuFJwiOEEEIIhycJjxBCCCEc3v8HvzB77pt8L/AAAAAASUVORK5CYII=", "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{+w}{ }\\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{+w}{ }\\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{+w}{ }\\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{+w}{ }\\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{+w}{ }\\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{+w}{ }\\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{+w}{ }\\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{+w}{ }\\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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fd9+++3XFy9e/N977713Y0FBQd+33367n6PNkiVL4vPy8uLuuOOOTSfzunsaKefoQrwdqdwFRzQL0W4OHjzIN998A8A555xzXO/WyaqqquKVxW+TWltGDsNwGSMCdOnpt4ToEqqqqprmZ09PT2fy5Mke25pNqsd8jgIDA21/+MMf/vfYY48tiI6Onti/f/+8MWPGHLj22mszFyxYkN+aY917771fO2qoly5dunHx4sWzVq5c+bfp06eXALz55pvb169fnwKscuyTmJh45K233voeYNq0aSuXLFkyPSwsrHrRokUZADExMd+NHj164vLly+Ouuuqq3ODgYNt77733rWP/adOmlf7000/9P/7441EPP/zwNsd2f3//hi+++OIj5zKO1NTUfS+++OK4yy677DDAv/71r3FDhgzJdsQnDNIT3YV4O1K5C45oFqJd1NXVsWTJErTWjB49mvT09HY9fnV1NaWFR+hnrmCEubDZtnKxKsSJtNZ89NFHVFZWEhMTw9lnn+3rkDrVgw8+uOPw4cN/eeaZZ96aNGnS3s2bNw+84IILbrr77rvTW3OcWbNmNSXdsbGxlRaLpcE5QY2Ojq4sLy8Pcd4nJSWlaR9/f38dHBxcPWzYsKZtqamplQC5ublN+91yyy2n9O/f/8aQkJB7AgICfv/NN99MKCoqCnc+bmJiYr5rHfTll1++YfXq1WmlpaV+lZWV5lWrVo2+8MILN7bmNfYGkkR3IZNSokgID3TTN2ZQGAOfuuOIZiG88dVXX1FWVkZERATnnHNOUwlGe4mJiWHYuCkATLTkEqrqPLaVi1Uh3Bs8eDBBQUFcfPHFWCyWlnfoYSIiIhpvu+22/W+//fb3WVlZL0+bNm3Tyy+/fKbZbNbAceM4ampq3OZZQUFBTSsiKqUwm83HrZColEJrffx0an5+J7Rx3uaYms9msymABx98MO2ll146a/78+RvfeOONN7744ot/nXbaaRsbGxuPK0UJDAxscI3vrrvu2u3n52d9+umnRzz77LPDrFar6d57793e0nvT20g5RxfSk0c0C9GSnJwcfvrpJwDmz59PQEDzc8y21UXzzuSuDZuJopyplgN8UT8U57KO7jz9lhAdTSnFpEmTGDduXK9MoN0ZMmRI4YYNG0YMGTKkCiArK6sPcATgiy++iG925w70448/9h80aFDOP//5z58c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CH78CSL69KG6uppNmza1KiYhehqbzebxOa01Rxb+H7Vbt2KOiCD51f/gn5zcidH51v/+97+4l156ae4f/vCHTzZu3PjMa6+99k1z7fPy8vznzZs3LzIy8rcWi+WBlJSU695+++1+rW0TFRX1W6XUQtfH7Nmzzz6Zc7dWfX29uuiii2ZERUXdbrFYHoiOjv7NZZdddnpzPzMAt9xyyylRUVG/tVgsfxgwYMD1b731VutHk3th2rRp56enp1/muv3f//73QKXUwoMHDwa217kkie4kERERnHXWWY5J4VFKEf/IIwSNH4+tooJDv/0ttlqZRUb0DuPHj+f2228nLa11PVdlH39C5GdGCdTT4y9nd6TnP9yxfVr+Pan8/Eh88gkChg1DFxYybPduwKjXbukPghA9VUlJCc888wxff/017hZkK3nzv5R9+CGYzST+9a8EDB7s5ig917vvvjtswIABh+666649Y8aMqezbt2+zt64WLFiwYNOmTYOeeuqppV9++eXzp5xyyr5rrrnmFxs3buzTmjZr1qz599atW//iePz9739/A+DSSy/dfjLndjV06NBr7r777nRPz//qV7+avnz58lN+//vff/r999//4/bbb/9y6dKl026++ebJnvZ56KGHRr344otzf/WrX327bNmyF1JSUvKvvfbaq3bs2BHSzFvX5UkS7SNaa0z+/iT9/W+Y+/albs9eCp58ytdhCdFpTCYTZpcZNJrTcOgQRx56CICPR5/Fj/3cJ+AKSAgPZFJK8/PZNsUREkLSP/+BqU8fklb+QKBSREdHU2OfLk+I3mbt2rVUVVVx+PDhE+4U1e3ZQ8GTTwIQe8/dhJzqMW/qkfr27fubt956a2ZWVlZ/pdTCqVOnXtBc++LiYr+MjIzUu+++e8X1119/4Iwzzih+9913v42JiSl+5JFHTvG2DcDw4cOr09LSKh2Pjz/+eFh0dHTJ9ddfn93Wc7fFli1b+k+YMGHn3XffvWfKlCmlDz300PZRo0bt27Jli8ee5ddee23KjBkzMv7yl79smjdvXuGXX375sb+/f8Of//zncZ72GTp06DVz5sz52bx58+YFBQXdFxoaevftt98+vqCgwDJ9+vTzAgICfte3b9/fPPPMM0Na+xrWrFkT4a5Xf+jQode05jiSRHeynJwc3nrrLVauNKYC8ouOpt9jjwFQ8t//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", "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": [], "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.23" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "2b1ecc2764d84135a40dac728511a922": { "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 } }, "342f96a6fe4945af982249ad38d45da5": { "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 } }, "5b66eb2b572d4c9784121a26ab123744": { "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 } }, "610079b7d4a54a60b52852085e453f99": { "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_2b1ecc2764d84135a40dac728511a922", "placeholder": "​", "style": "IPY_MODEL_ef9026bd2cb240ba83ab3cbc73459c26", "tabbable": null, "tooltip": null, "value": " [ elapsed time: 00:00 | time left: 00:00 ] " } }, "70e0d02ef757446bad0a38a64b5cc9af": { "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_d65788359f634ad380f9b84bc8cce3c0", "IPY_MODEL_7350d8b8df6248c397d31857587930d4", "IPY_MODEL_610079b7d4a54a60b52852085e453f99" ], "layout": "IPY_MODEL_c54b0d9f40c8493fb458d0a3fd85fc67", "tabbable": null, "tooltip": null } }, "7350d8b8df6248c397d31857587930d4": { "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_5b66eb2b572d4c9784121a26ab123744", "max": 100.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_dfa3a4ef1e794786a5381b9525a43779", "tabbable": null, "tooltip": null, "value": 100.0 } }, "c54b0d9f40c8493fb458d0a3fd85fc67": { "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 } }, "d3a656c42e664ac9a83ef355f8e9062f": { "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 } }, "d65788359f634ad380f9b84bc8cce3c0": { "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_d3a656c42e664ac9a83ef355f8e9062f", "placeholder": "​", "style": "IPY_MODEL_342f96a6fe4945af982249ad38d45da5", "tabbable": null, "tooltip": null, "value": "Completed: 100%" } }, "dfa3a4ef1e794786a5381b9525a43779": { "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": "" } }, "ef9026bd2cb240ba83ab3cbc73459c26": { "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 } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }