Skip to content

Commit

Permalink
feat: add z-cutoff slider (#44)
Browse files Browse the repository at this point in the history
* fix: use HTML math mode in sliders
  ComPWA/ampform@009ddb4
  • Loading branch information
redeboer committed Aug 4, 2021
1 parent e34bdb6 commit cf833a4
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 20 deletions.
2 changes: 1 addition & 1 deletion docs/report/005.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,7 @@
" name = \"imag_real\"\n",
" sliders._sliders[name] = ipywidgets.RadioButtons(\n",
" options=[\"imag\", \"real\", \"abs\"],\n",
" description=\"$s$-plane plot\",\n",
" description=R\"\\(s\\)-plane plot\",\n",
" )\n",
" sliders._arg_to_symbol[name] = name\n",
"\n",
Expand Down
39 changes: 22 additions & 17 deletions docs/report/009.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -549,19 +549,13 @@
" # Set plot domain\n",
" x_min, x_max = 1e-3, 3\n",
" y_min, y_max = -0.5, +0.5\n",
" z_min, z_max = -2, +2\n",
"\n",
" plot_domain = np.linspace(x_min, x_max, num=500)\n",
" x_values = np.linspace(x_min, x_max, num=160)\n",
" y_values = np.linspace(y_min, y_max, num=80)\n",
" X, Y = np.meshgrid(x_values, y_values)\n",
" plot_domain_complex = X + Y * 1j\n",
"\n",
" z_cut_min = 0.75 * z_min\n",
" z_cut_max = 0.75 * z_max\n",
" cut_off_min = np.vectorize(lambda z: z if z > z_cut_min else z_cut_min)\n",
" cut_off_max = np.vectorize(lambda z: z if z < z_cut_max else z_cut_max)\n",
"\n",
" # Set slider values and ranges\n",
" m0_values = np.linspace(x_min, x_max, num=n_resonances + 2)\n",
" m0_values = m0_values[1:-1]\n",
Expand All @@ -576,24 +570,22 @@
" }\n",
" )\n",
" for R in range(n_resonances):\n",
" # ranges\n",
" sliders.set_ranges({f\"m{R}\": (0, 3, 100)})\n",
" for i in range(n_channels):\n",
" sliders.set_ranges(\n",
" {\n",
" fR\"\\Gamma_{{{R},{i}}}\": (-1, +1, 100),\n",
" fR\"\\gamma_{{{R},{i}}}\": (0, 2, 100),\n",
" f\"m{R}\": (0, 3, 100),\n",
" fR\"\\Gamma_{{{R},{i}}}\": (-2, +2, 100),\n",
" fR\"\\gamma_{{{R},{i}}}\": (0, 10, 100),\n",
" f\"m_a{i}\": (0, 1, 0.01),\n",
" f\"m_b{i}\": (0, 1, 0.01),\n",
" }\n",
" )\n",
" # values\n",
" sliders.set_values({f\"m{R}\": m0_values[R]})\n",
" for i in range(n_channels):\n",
" sliders.set_values(\n",
" {\n",
" fR\"\\Gamma_{{{R},{i}}}\": 0.4 + R * 0.2 - i * 0.3,\n",
" fR\"\\gamma_{{{R},{i}}}\": 1 - 0.1 * R + 0.1 * i,\n",
" f\"m{R}\": m0_values[R],\n",
" fR\"\\Gamma_{{{R},{i}}}\": 2.0\n",
" * (0.4 + R * 0.2 - i * 0.3),\n",
" fR\"\\gamma_{{{R},{i}}}\": 0.25 * (10 - R + i),\n",
" f\"m_a{i}\": (i + 1) * 0.25,\n",
" f\"m_b{i}\": (i + 1) * 0.25,\n",
" }\n",
Expand Down Expand Up @@ -655,6 +647,7 @@
"\n",
" # 3D plot\n",
" def plot3(**kwargs):\n",
" z_cutoff = kwargs.pop(\"z_cutoff\")\n",
" epsilon = kwargs[\"epsilon\"]\n",
" kwargs[\"epsilon\"] = 0\n",
" imag_real = kwargs.pop(\"imag_real\")\n",
Expand All @@ -670,6 +663,8 @@
" ax_title = \"$|T|$\"\n",
" else:\n",
" raise NotImplementedError\n",
" cut_off_min = np.vectorize(lambda z: z if z > -z_cutoff else -z_cutoff)\n",
" cut_off_max = np.vectorize(lambda z: z if z < +z_cutoff else +z_cutoff)\n",
" Z_values = cut_off_min(cut_off_max(Z_values))\n",
" for ax in axes[1:]:\n",
" ax.clear()\n",
Expand Down Expand Up @@ -750,7 +745,17 @@
" name = \"imag_real\"\n",
" sliders._sliders[name] = ipywidgets.RadioButtons(\n",
" options=[\"imag\", \"real\", \"abs\"],\n",
" description=\"$s$-plane plot\",\n",
" description=R\"\\(s\\)-plane plot\",\n",
" )\n",
" sliders._arg_to_symbol[name] = name\n",
"\n",
" # Create cut-off slider for z-direction\n",
" name = \"z_cutoff\"\n",
" sliders._sliders[name] = ipywidgets.IntSlider(\n",
" value=30,\n",
" min=+1,\n",
" max=+100,\n",
" description=R\"\\(z\\)-cutoff\",\n",
" )\n",
" sliders._arg_to_symbol[name] = name\n",
"\n",
Expand Down Expand Up @@ -837,7 +842,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
"version": "3.8.11"
}
},
"nbformat": 4,
Expand Down
4 changes: 2 additions & 2 deletions docs/report/010.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -600,11 +600,11 @@
" name = \"imag_real\"\n",
" sliders._sliders[name] = ipywidgets.RadioButtons(\n",
" options=[\"imag\", \"real\", \"abs\"],\n",
" description=\"$s$-plane plot\",\n",
" description=R\"\\(s\\)-plane plot\",\n",
" )\n",
" sliders._arg_to_symbol[name] = name\n",
"\n",
" # Create switch for imag/real/abs\n",
" # Create cut-off slider for z-direction\n",
" name = \"z_cutoff\"\n",
" sliders._sliders[name] = ipywidgets.IntSlider(\n",
" value=10,\n",
Expand Down

0 comments on commit cf833a4

Please sign in to comment.