diff --git a/demo/illusions/angular.ipynb b/demo/illusions/angular.ipynb index c826e193..3e18470b 100644 --- a/demo/illusions/angular.ipynb +++ b/demo/illusions/angular.ipynb @@ -1,5 +1,12 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Radial components & illusions: wedges, wheel-of-fortune/pin-wheel" + ] + }, { "cell_type": "code", "execution_count": null, @@ -9,6 +16,9 @@ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", + "import IPython\n", + "import ipywidgets as iw\n", + "\n", "from stimuli.utils import plot_stim\n" ] }, @@ -33,6 +43,81 @@ "plt.colorbar()\n", "plt.show()" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## wedge" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from stimuli.components.angular import wedge\n", + "\n", + "help(wedge)\n", + "\n", + "# Define widgets\n", + "w_length = iw.IntSlider(value=5, min=1, max=10, description=\"heigh/width [deg]\")\n", + "w_ppd = iw.IntSlider(value=40, min=1, max=64, description=\"ppd\")\n", + "\n", + "w_angle = iw.IntSlider(value=45, min=0, max=360, description=\"angle\")\n", + "w_rot = iw.IntSlider(value=45, min=0, max=360, description=\"rotate\")\n", + "w_radii = iw.FloatRangeSlider(\n", + " value=[1.0, 2.0], min=0.1, max=5.0, step=0.1, description=\"radii (inner,outer)\"\n", + ")\n", + "\n", + "w_idisc = iw.FloatSlider(value=1.0, min=0.0, max=1.0, description=\"intensity disc\")\n", + "w_iback = iw.FloatSlider(value=0.5, min=0.0, max=1.0, description=\"intensity background\")\n", + "\n", + "b_size = iw.HBox([w_length, w_ppd])\n", + "b_intensities = iw.HBox([w_idisc, w_iback])\n", + "ui = iw.VBox([b_size, w_angle, w_rot, w_radii, b_intensities])\n", + "\n", + "# Function for showing stim\n", + "def show_wedge(\n", + " angle=None,\n", + " rotation=None,\n", + " length=None,\n", + " ppd=None,\n", + " radii=None,\n", + " intensity_disc=None,\n", + " intensity_background=None,\n", + "):\n", + "\n", + " stim = wedge(\n", + " angle=angle,\n", + " rotation=rotation,\n", + " visual_size=(length, length),\n", + " ppd=ppd,\n", + " radius=radii[1],\n", + " inner_radius=radii[0],\n", + " intensity_background=intensity_background,\n", + " intensity=intensity_disc,\n", + " )\n", + " plot_stim(stim)\n", + "\n", + "# Set interactivity\n", + "out = iw.interactive_output(\n", + " show_wedge,\n", + " {\n", + " \"angle\": w_angle,\n", + " \"rotation\": w_rot,\n", + " \"length\": w_length,\n", + " \"ppd\": w_ppd,\n", + " \"radii\": w_radii,\n", + " \"intensity_background\": w_iback,\n", + " \"intensity_disc\": w_idisc,\n", + " },\n", + ")\n", + "\n", + "# Show\n", + "display(ui, out)" + ] } ], "metadata": {