diff --git a/notebooks/Parameters.ipynb b/notebooks/Parameters.ipynb new file mode 100644 index 0000000..c6e1b72 --- /dev/null +++ b/notebooks/Parameters.ipynb @@ -0,0 +1,365 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9be9d9b3", + "metadata": {}, + "source": [ + "# Parameter Change Gifs" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "29ecf18f", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/59/8y2d5r257c77vzymnqs47x080000gn/T/ipykernel_66806/3873724712.py:6: DeprecationWarning: \n", + "The `fooof` package is being deprecated and replaced by the `specparam` (spectral parameterization) package.\n", + "This version of `fooof` (1.1) is fully functional, but will not be further updated.\n", + "New projects are recommended to update to using `specparam` (see Changelog for details).\n", + " from fooof.sim.params import Stepper\n" + ] + } + ], + "source": [ + "from copy import deepcopy\n", + "\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from fooof.sim.params import Stepper\n", + "from fooof.sim import gen_power_spectrum\n", + "from fooof.core.info import get_indices" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "671c17ae", + "metadata": {}, + "outputs": [], + "source": [ + "import seaborn as sns\n", + "sns.set_context('poster')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "722839b9", + "metadata": {}, + "outputs": [], + "source": [ + "# Import custom code\n", + "from vcode.plts import plot_spectra, plot_bar\n", + "from vcode.gif import clear_output, animate_plot\n", + "from vcode.utils import incrementer" + ] + }, + { + "cell_type": "markdown", + "id": "7a47cda4", + "metadata": {}, + "source": [ + "## SETTINGS" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2137df03", + "metadata": {}, + "outputs": [], + "source": [ + "# Set which aperiodic mode to run\n", + "AP_MODE = 'knee'" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "id": "e4810eb2", + "metadata": {}, + "outputs": [], + "source": [ + "# Simulation settings\n", + "if AP_MODE == 'fixed':\n", + " F_RANGE = [3, 35]\n", + " AP_DEF = [1, 1]\n", + " OSC_DEF = [10, 0.5, 0.5]\n", + "else:\n", + " F_RANGE = [3, 150]\n", + " AP_MODE == [1, 25, 1]\n", + " OSC_DEF = [6, 0.25, 0.5]" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "id": "5a97f766", + "metadata": {}, + "outputs": [], + "source": [ + "# Plot settings\n", + "YLIM = np.log10([0.1, 20]) if AP_MODE == 'fixed' else np.log10([0.025, 0.5])\n", + "LOG_FREQS = True" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "id": "5867e9ed", + "metadata": {}, + "outputs": [], + "source": [ + "# Set whether to save out\n", + "SAVE = False" + ] + }, + { + "cell_type": "markdown", + "id": "0afe48be", + "metadata": {}, + "source": [ + "## DEFINE AXES" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "id": "a8d221fc", + "metadata": {}, + "outputs": [], + "source": [ + "def make_axes():\n", + " \n", + " fig, ax = plt.subplots(figsize=(6, 5))\n", + " \n", + " return fig, ax" + ] + }, + { + "cell_type": "markdown", + "id": "3de93bf6", + "metadata": {}, + "source": [ + "## SIMULATE DATA" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "id": "79efbdf9", + "metadata": {}, + "outputs": [], + "source": [ + "freqs, powers = gen_power_spectrum(F_RANGE, AP_DEF, OSC_DEF,\n", + " nlv=0, freq_res=0.25, f_rotation=None)" + ] + }, + { + "cell_type": "markdown", + "id": "6ee28543", + "metadata": {}, + "source": [ + "## EXAMPLE PLOT" + ] + }, + { + "cell_type": "code", + "execution_count": 133, + "id": "23e9a203", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = make_axes()\n", + "plot_spectra(freqs, [powers], log_freqs=LOG_FREQS, ylim=YLIM, ax=ax)" + ] + }, + { + "cell_type": "markdown", + "id": "1b27a470", + "metadata": {}, + "source": [ + "## BUILDER FUNCTION" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "id": "ab874008", + "metadata": {}, + "outputs": [], + "source": [ + "def build_all(start, stop, step, component, parameter, ap_mode, sleep=0.10, save=False):\n", + " \n", + " inds = get_indices(ap_mode)\n", + " \n", + " ap_def = deepcopy(AP_DEF)\n", + " osc_def = deepcopy(OSC_DEF)\n", + " \n", + " ind = incrementer()\n", + " for pstep in list(Stepper(start, stop, step)) + list(Stepper(stop, start, -step)):\n", + " \n", + " if component == 'aperiodic':\n", + " ap_def[inds[parameter]] = pstep\n", + " if component == 'periodic':\n", + " osc_def[inds[parameter]] = pstep\n", + " \n", + " f_rotation = 10 if parameter == 'exponent' and ap_mode == 'fixed' else None\n", + " freqs, powers = gen_power_spectrum(F_RANGE, ap_def, osc_def,\n", + " nlv=0, freq_res=0.1, f_rotation=f_rotation)\n", + " \n", + " clear_output(wait=True)\n", + " \n", + " fig, ax = make_axes()\n", + " plot_spectra(freqs, [powers], alpha=0.75, ylim=YLIM,\n", + " log_freqs=LOG_FREQS, log_powers=True, ax=ax)\n", + "\n", + " animate_plot(fig, save, next(ind), 'specrot', sleep)" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "id": "f53071de", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "build_all(0.75, 1.25, 0.05, 'aperiodic', 'offset', 'fixed')" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "id": "3da4a26c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeQAAAGVCAYAAAAv0IKdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAYpklEQVR4nO3dS4wcd37Y8V+/58k3KZGSKImiJO+upF3Fgb27VjY2EGPjWEGAHJMcgiBAgFVuQRIgyCXIKQFy3OwpOfiSXJIAtpw1HMDewGtvYjmwl9Su9SApihIl8TV8TM+jn5VDd89M9XA4FDnd/W/y8wGIrqqu7i6KgL5dj/5XIcuyLACAiSpOegMAAEEGgCQIMgAkQJABIAGCDAAJEGQASIAgA0ACyrutcOnSpXj77bc35k+dOhULCwsj3SgAeBTU6/W4cOHCxvybb74ZJ0+evOu6uwb57bffjrfeemvvtg4AHmPf+9737rrcIWsASIAgA0ACdj1kferUqdz897///XjttddGtkEA8Kg4c+ZM7rTvcFO32jXIwxdwvfbaa/HGG288xOYBwOPpXhdFO2QNAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEhAedIbwL012p34k/M3otPJ4o0Xj8RMpTTpTQJgBAQ5YZ/fXov/8PsfxKc3VyMi4nfPfh7/4m++HMf3z054ywDYaw5ZJ+rc1Xr8q/9+diPGEb1A/+v/8W5cuFaf4JYBMAqCnKAsy+IHPzofa63OtudWmu34jz86H1mWTWDLABgVQU7QTz+9HZdvre74/Kc3V+Nnn90Z4xYBMGqCnKD/efbz3PzhhVocmq/mlv2vn18Z5yYBMGKCnJhPllbjzKe3csv+7utPxd9+7URu2Z99vBQ3V5pj3DIARkmQE/P7Q3u+izOVeOPFI/Gdl45Gtbz5k6dON4s/fP/quDcPgBER5IRkWRb/7+Ol3LJf/8oTUSuXYr5WjjdOH8499+eXbo1x6wAYJUFOyKWl1VgaOgz97S0R/uapfJDPXa3HarM9lm0DYLQEOSHDe7zHFmfiqQObg4C8/ORiVEqb/2RZZPFzV1sDPBIEOSF/fulmbv4bzxyIQqGwMV8rl+KlJxZz67x7+fZYtg2A0RLkRNQb7fjgSn4ErtdPHti23qtP7c/Nn71sDxngUSDIiTjzya3IYnP0rWq5FF89sW/beq8MBfnyre3nnQGYPoKciLNDh56/dmJf1Mrb7+x06sh8zFXz9wRxHhlg+glyIt6/spybHz40PVAsFuIrx/Pnkc9dXb7rugBMD0FOwPJ6Kz67tZZbNnzx1lanjy3k5s9fWxnJdgEwPoKcgA+v5i/mqpZL8dzhuR3Xf+FoPsgXb6xEu9MdybYBMB6CnIAPvsgfcj51ZD7KpZ3/aU4NBbnV6calpZ3vDgVA+gQ5AcPnj3/hyZ0PV0dELNTKcXz/bG7ZuaG9bACmiyBPWLvT3XYO+MV7nD8eeOHofG7+wnXnkQGmmSBP2MdLq9Fsd3LLXnxiYYe1Nw1f2GUPGWC6CfKEDZ8/PrF/NvbNVHZ93fCFXZdvrsVas7PD2gCkTpAnbPj88Uu7nD8eePbwfBS3jHOdRebCLoApJsgT9uHQ+NUv38f544iIarkYTx/MX9j1kfPIAFNLkCfoer0RN1YauWX3c/544NnD+Qu7Pr4hyADTSpAnaPj88UKtnLv/8W6eGwryRUEGmFqCPEEfDJ0/fvGJxdz9j3fz7NBoXp8srRmxC2BKCfIEvf+A548HnjuS30Nud7vx2a31h94uAMZPkCdkvdXZds73y5w/jugd4j66OJNb9pHD1gBTSZAn5NzVenSzbGO+WChsG+zjfgzfhMKFXQDTSZAn5MOhexg/d2Q+auXSl36f4Qu7/PQJYDoJ8oS8/0X+/PFLD7B3HBHx3JHhPeTVyLbseQMwHQR5ArIsi3NXH2yErmHDv0Vebbbj2nJjh7UBSJUgT8DlW2tRb7Rzy77sFdYDh+ersVDLj3198YYhNAGmjSBPwPDvjw8v1OLwQu2B3qtQKMTzQ4etDRACMH0EeQI+uDJ8/vjB9o4Hhg9bX3RhF8DUEeQJeH9oyMyXn3ywC7oGnj9iCE2AaSfIY3ZnvRWf317LLXvpAc8fDwwPobm00ozba62Hek8AxkuQx+zDofPH1XIpTh6a22Ht+3Ni/2xUh37DbIAQgOkiyGP2l5/ng/zC0fkolx7un6FYLMTJQ/m7RLnSGmC6CPKY/eXnd3LzXzm+b0/ed3jEro9d2AUwVQR5jNaanW1DW351REF2kwmA6SLIY/T+leXcDSXKxeKXvsPTToZvxfj5rfVYb3X25L0BGD1BHqPhw9UvHH2wG0rczTOHZqMQhY35LLL4ZMl5ZIBpIchjNKrzxxERtXIpThxwYRfAtBLkMVlvdeL8tfwIXV89sXdBjojtQ2i6sAtgagjymHx4pR6d7ub542Kh8NADggzbNoSmC7sApoYgj8mZy7dy86eOzsdMZW/OHw8MD6F5aWk12p3unn4GAKMhyGPy009u5eZfObF/zz9j+ErrVqcbn9xc22FtAFIiyGNwvd6IS0NXPL9+8uCef85CrRzH9+cv7Bq+1SMAaRLkMRjeO16oleP0sb35/fGw4fc9d7W+w5oApESQx+AvhoL86lMHolQs3H3lh/TiUJDtIQNMB0EesXanG2cv384te/3kgZF93vCV21furLsVI8AUEOQRe++L5W1DWH79mQMj+7xnDs1tG/3r3FV7yQCpE+QR+9OPlnLzp44uxP7Zysg+r1QsxAtHhw9bO48MkDpBHqF2pxs/uXAjt+wXR3B19bCXhm5Y8fPP7uywJgCpEOQROnv5diyv58/f/srpIyP/3OEhOc9drcdqsz3yzwXgwQnyCP34w+u5+dPHFuLJ/TMj/9yXn1yMcnHznzaLbNuNLQBIiyCPyHqrE+98fDO37I0x7B1H9O789PKT+autz356e4e1AUiBII/IOxeXotnevLq6WCjEt14YT5AjIl59Kj8059nL9pABUibII5BlWfzw3S9yy157+sBIr64e9spQkC/fWo0b9cbYPh+AL0eQR+Bnn92JC0P3Pv7rLx0d6zacOjIf89Vybtk7F5d2WBuASRPkEfjtn36Wm39i30z80vOHxroNxWIh/sqz+Z9Y/Z8LggyQKkHeYx9dX4kzn97KLXvztRMjG7v6Xr55Kv8l4P0vluPmSnPs2wHA7gR5D2VZFv/lTy/llu2bqcR3XhrfxVxbvfrUgZitbA6jmUUW//ejG/d4BQCTIsh76I8+vL5t7/hvvXp829jS41ItF+OvPpffS/7fH1yLLMsmsj0A7EyQ98jttVb81k8u5pYdnKvGd7/25GQ2qO9bLxzOzX90fSXe+8LNJgBSI8h7oN3pxg9+dD7qjfzwlP/4rz0fs9XJ7B0PfOPpA3FsMT862A/Pfj6hrQFgJ4L8kLIsix/86Hz8xSf5Ubm+eepw/OKz472y+m6KxUL8xiv5vfR3Lt6MT5ZWJ7RFANyNID+EtWYnvv+H5+KPz+fHrF6oleMffvu5yWzUXfzqy8e2Xdz1n378kXPJAAkR5AeQZVm8e/l2/Mv/diZ+fC4f42q5FP/8u78QB+aqE9q67WarpfiNV4/nlr33xZ34g/euTmiLABhW3n0VInoR/uLOepz99Hb8wXtX4+KNlW3rlIvF+Ge//tK2Gzuk4O9840T80YfX49ry+say//zHH8XRxVq89vSByW0YABExoSD/m9/5Way3ulEsRJSKhSgWClEo9G7AUCpumS4UoljonQct9qcL/XWK/XUKhUKU+usU+uv0Xnf39+zNR3/d/PsXoneXpvV2N9ZbnWi0OlFvdOLKnfX4/PZa3F5r7fh3mqmU4p/+2un4+jMHxvbf8cuolUvxj37lufh3v/fexrJON4t//3vvx9/75ZPx3a89OZHBSwDomUiQL15fibVWZ/cVp8TLTyzGW792Oo7tG/29jh/G6ycPxm++ejx+d8tV1u1uN37rJxfjh+9+Ed86dThefGIhntw3E8f21Sb2+2mAx9FEgtx9RK4lemLfTPzmq8fjb3zliShOyd7lP/jms3FztRV/MnQh2rXl9fjtn17OLSsXizFTKUatUoqZcimq5WJUS4Uol4pRKfWmK6ViVMpD86VilEuFqPanK+ViVIqFjfUq/efKW6Y336cQlWJxav57AuyVCQV5eot8YLYaXzuxL759+nC8/szBqQtHoVCI7/3qC3F4oRq/M3QTjGHtbjfqje6231ePQ7nYi3O5VOwHu5CP+5YvAltjv/VLQaW8Ob8t/sPv2f8iMJiulopRKEzXvy0w3SYS5H/ynRei3e1GlvXi3Olm0c16F051st50t5tFdzCdZf353nS25TW9+ei/rjfd7W6+T9Zf3uluTnez3vnTbOv7919bKxdjptrbI5yplGK2UozDC7V4cv9MPHVgNo7vn5n6/1GXS8X4+7/8bHz96QPxX9+5FOeu1nd/0Zi1u91odyNigqc2Bl8KNuNejHI//lu/JJSHvwjs8KWgUipGrVyMarkYM5XeEYdauRi1/tGHmUrRFwF4jE0kyG+8OJmbLZD3ylP749+eeCXOX6vHn128Ge99sRxX7qzHzVV3hIrY/FIw7usdquXSRrgHwa5tTPdOIQymq1ue3y30g9dVSn7tCCnys6fHXKFQiNPHFuP0sc2faq23OnFztRlrzU6st7qx1r/ivNXNotXuRqvTjWanG+1OFq3OYL4/3c7Pt7c+t/Fnc77zqFxQsIea7U4026P7EjB8bcBMpRfymUoxZsqlmK2W+s8V+0eJSpvP32263DtKADwcQWabmUopju+fHctndbtZtLr9SG+J/SDazf6ydv/LQHMo6HedHvpSsPGloZ1Fu7s5PVg+zdc0PIhRXBuwNfKzW+I+U+kHvlyM2Wop5qq95+eq5ZjtTw+Wz1XKMVN12J7HlyAzUcViIWrFUtTKEVGbzDZ0uvmot3f4UrAxP3x0oN3/wrCx7t2PDjTb3Wi0B4+daPTf91Gwl5HvxX0z3ltD3psux1y1tLHO1unB87OVUlRKBWFnqggyj71SsRClYu9/6uPW7WbbIt3oD0zT7HSj0eotb7a7sb51vVY393yjvbleo51fPm1HADbjvvNAPPejXCzGfK0U89VyzNVKMV8r96arpViolWOuVo75fsDntz7ff42Bchg3QYYJKhYLvUO31VJEVPb8/Qe/SNga+sHjeqvTvz6gP9/uxFpzc3q9tble7093YyS7UZ7j3ivtbjdur3XvOcLevcxUemGer21Ge67aj3it3It6P+7ztXIszvSWLdTKzqnzQAQZHmGFQiHK/d9zz+/hKYHBnv0g6hvBbt8l4P0LA9dbnVhttmO1OZjuxFqz99jupnfofvD3uMuw9buarZSGIl2JhZlyLNbKsTBY1n8crDNfLU/duAbsLUEGvrSte/YH9+D9Wp1uLtSrzfaW6V641zYi3t6YHl4nlbCv9b+oXK837vs1hShsHDrvhboSC7XSxvTiTO9x32w59s1UYt9sJRZrIv4oEWRg4iqlYuyfLcb+2Yc7bD8I+1qzEyvNdqw2OlFvtGO12Y6VZidWG5uP9f7zK412rDTbsdKYbNCzyKLeaEe90Y4r9/maQhRiYaYX6MWZcuybrcS+rY/9cO/bCLrD6SkTZOCR8bBhb7Q7vUj3D62vNHqPg6jXG5tRX9myrL7emsgNc7LIYnm9Fcvr93+efL7aC/biRrB7jwfmKrF/ttp/7M3PVkquVB8jQQbo6416VoqD89Uv/dp2pxsrzU4sr7ei3mjHSqMdd9Z7j/X1diyvtzf2gJfXW7HS6MRyoz32C+RWmr0jAp/f3n3d3heczUAfmK3G/kGwZyuxf7BsthIzFb8ff1iCDLAHyg+4d95od2Kl0elFu9GKei7cmwFfXm/HnbVW3Fnv7ZmPQ6vTjev1xn2dC6+WS3FgtrKxhz34c2i+GgfmqnFovhoH53qHz533vjtBBpigwV75oS+xV97udHuBXm/FnbXe4/KW6UG4B8+vNNqRxWh/j95sd+LqcieuLq/fc71ioRAH53qHxjdjXek9zlXj4Fw1Ds5XYqFWfuz2uAUZYMqUS8U4OF+970Pr3W4Wy43BHnYv0svr/Wj3l91abcXttVbcWm2O9Hx4N8vixkojbqw04vy1nderlIq9OM9Ven/XuWr/sRIH56pxeKG3110rj39An1ERZIBHXLFY2DiEfD8a7U7cXuvtad9a3RLrtVbcXm32HvvPNUZ0DrzV6cbV5fVd97gXZypxpB/nw/O1OLxQjSMLtf58b/m0XFkuyADk1MqlOLZYimOLM7uuu97qbMR5sIfdC3crbq0149ZqK5ZWeo+jOGw+uMr8o+t3H8GlEL0vI4cXeoE+vFDrT9c29rIPzlWTGCpVkAF4YIPbcD6x797x7nazuL3Wipurzd6flVYsrTbj5kozbq62+o/NuPMlfsJ1P7LIel8M1po7HiIvFgpxcL4aR+Z7e9dHFmtxZKEWb5w+0h/WdjwEGYCRKxYL93Xeu93pxq211kaol1Ya/cdm3FptxtJKb9lenufuZlncqDfiRr0R719Z3lj+S88fitkQZAAeQ+VSsbeXunDvwdfXmr2hSW+sNGNppRHX681YWmn2w9qM6yvNh/qNd7Vcin0z402kIAMwdWarpXjm0Fw8c2jurs9nWRYrzU4s1ZtxfaUX6Rv9gN+oN+PGSiOWVpo73pP8yHx17D+7EmQAHjmFQmHjdpgnD+8c7Tvr7VhaafYGQFnuDYJyrd6MQ3N7fzvU3QgyAI+lQmHz52DPH5mf9ObEdPw4CwAecYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASIMgAkABBBoAECDIAJECQASABggwACRBkAEiAIANAAgQZABIgyACQAEEGgAQIMgAkQJABIAGCDAAJEGQASIAgA0ACBBkAEiDIAJAAQQaABAgyACRAkAEgAYIMAAkQZABIgCADQAIEGQASUN5thXq9nps/c+bMyDYGAB4lw80cbupWuwb5woULufm33nrrATcLAB5vw03dyiFrAEiAIANAAnY9ZP3mm2/m5k+dOhULCwsj2yAAeFTU6/XcYerhpm5VyLIsG8dGAQA7c8gaABIgyACQAEEGgAQIMgAkQJABIAGCDAAJ+P//AHg6Z829kgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "build_all(0.5, 1.5, 0.1, 'aperiodic', 'exponent', AP_MODE)" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "id": "0320a2ca", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "build_all(8, 12, 0.2, 'periodic', 'CF', AP_MODE)" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "id": "64e4b4df", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "build_all(0, 1, 0.1, 'periodic', 'PW', AP_MODE)" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "id": "99765ac5", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "build_all(0, 1, 0.1, 'periodic', 'BW', AP_MODE)" + ] + } + ], + "metadata": { + "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.8.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}