Skip to content

Instantly share code, notes, and snippets.

@t20100
Created October 12, 2021 13:38
Show Gist options
  • Save t20100/d6a2a721a8302ecc538fc3344d88e0d5 to your computer and use it in GitHub Desktop.
Save t20100/d6a2a721a8302ecc538fc3344d88e0d5 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# hdf5plugin compression filters comparison\n",
"\n",
"This notebook provides a comparison of the HDF5 lossless compression filters provided by [hdf5plugin](https://github.com/silx-kit/hdf5plugin) as well as \"gzip\" and \"lzf\" filters provided by [libhdf5](https://www.hdfgroup.org/) and [h5py](https://www.h5py.org/).\n",
"\n",
"License: [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/), copyright [ESRF](https://www.esrf.fr/)\n",
"\n",
"\n",
"## Preparation\n",
"\n",
"### Install dependencies"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%pip install --upgrade matplotlib numpy h5py h5glance fabio"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Choose either `hdf5plugin` wheel or build from source with optimization enabled for current platform:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%pip uninstall hdf5plugin -y # Uninstall"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#%pip install hdf5plugin # Install from wheel (= only SSE2 enabled, no OpenMP)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%pip install hdf5plugin --no-binary hdf5plugin # Install from source (= optimization available on host are enabled)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Code for running/displaying the benchmark"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"# Initialisation\n",
"#%matplotlib inline\n",
"%matplotlib nbagg\n",
"from matplotlib import pyplot as plt\n",
"from matplotlib.colors import LogNorm\n",
"\n",
"import numpy\n",
"import h5py\n",
"from h5glance import H5Glance"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Benchmarking helper function\n",
"\n",
"import os\n",
"import tempfile\n",
"import time\n",
"from typing import NamedTuple, Tuple\n",
"\n",
"\n",
"class Result(NamedTuple):\n",
" data: numpy.ndarray # Dataset used for the benchmark\n",
" write_durations: Tuple[float]\n",
" read_durations: Tuple[float]\n",
" compressed_nbytes: int\n",
"\n",
" write_duration = property(\n",
" lambda self: numpy.min(self.write_durations),\n",
" doc=\"Fastest write duration\")\n",
" read_duration = property(\n",
" lambda self: numpy.min(self.read_durations),\n",
" doc=\"Fastest read duration\")\n",
" raw_nbytes = property(\n",
" lambda self: self.data.nbytes,\n",
" doc=\"Number of bytes of uncompressed data\")\n",
" compression_rate = property(\n",
" lambda self: self.raw_nbytes / self.compressed_nbytes)\n",
" write_speed = property(\n",
" lambda self: (self.raw_nbytes / 1024**2) / self.write_duration,\n",
" doc=\"Unit: MB/sec\")\n",
" read_speed = property(\n",
" lambda self: (self.raw_nbytes / 1024**2) / self.read_duration,\n",
" doc=\"Unit: MB/sec\")\n",
"\n",
" config = property(\n",
" lambda self: hdf5plugin.config, doc=\"hdf5plugin build options\")\n",
"\n",
" \n",
"def benchmark(data, directory=None, repeat=1, **kwargs):\n",
" \"\"\"Run benchmark for given conditions\n",
"\n",
" :param numpy.ndarray data: Dataset to use for compression\n",
" :param Union[str,None] directory:\n",
" Directory where to write HDF5 file for benchmark.\n",
" :param kwargs: Arguments passed to create_dataset.\n",
" :rtype: Result\n",
" \"\"\"\n",
" if directory is None:\n",
" tmpdir = tempfile.TemporaryDirectory()\n",
" dirname = tmpdir.name\n",
" else:\n",
" dirname = directory\n",
"\n",
" filename = os.path.join(dirname, 'hdf5plugin_benchmark.h5')\n",
"\n",
" #time.sleep(10)\n",
"\n",
" # Compression\n",
" write_durations = []\n",
" for index in range(repeat):\n",
" if os.path.exists(filename):\n",
" os.remove(filename)\n",
"\n",
" with h5py.File(filename, \"w\") as h5file:\n",
" dataset = h5file.create_dataset(\n",
" \"data\", shape=data.shape, dtype=data.dtype, **kwargs)\n",
" start_time = time.perf_counter()\n",
" dataset[:] = data\n",
" dataset.flush()\n",
" write_durations.append(time.perf_counter() - start_time)\n",
"\n",
" #time.sleep(10)\n",
"\n",
" # file_size = os.path.getsize(filename)\n",
" \n",
" # Decompression\n",
" read_durations = []\n",
" for index in range(repeat):\n",
" with h5py.File(filename, \"r\") as h5file:\n",
" dataset = h5file[\"data\"]\n",
" start_time = time.perf_counter()\n",
" read_data = dataset[()]\n",
" read_durations.append(time.perf_counter() - start_time)\n",
" storage_size = dataset.id.get_storage_size()\n",
" assert numpy.abs(numpy.max(data - read_data)) == 0\n",
" del read_data\n",
"\n",
" #time.sleep(10)\n",
"\n",
" os.remove(filename)\n",
"\n",
" return Result(\n",
" data,\n",
" tuple(write_durations),\n",
" tuple(read_durations),\n",
" compressed_nbytes=storage_size)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Plot helper\n",
"\n",
"def display_results(title='', **results):\n",
" \"\"\"Plot comparison of compression results.\n",
" \n",
" :param str title: Additional dataset name\n",
" :param **results: {compression-name: Result} mapping \n",
" \"\"\"\n",
" # Sort results by compression rate\n",
" results = dict(sorted(\n",
" results.items(),\n",
" key=lambda item: item[1].compression_rate,\n",
" ))\n",
" \n",
" names = list(results.keys())\n",
" write_speed = numpy.array([r.write_speed for r in results.values()])\n",
" read_speed = numpy.array([r.read_speed for r in results.values()])\n",
" c_rate = numpy.array([r.compression_rate for r in results.values()])\n",
" \n",
" print(f\"hdf5plugin_config: {results[names[0]].config}\")\n",
"\n",
" fig, (speed_plt, c_rate_plt) = plt.subplots(1, 2)\n",
"\n",
" data = results[names[0]].data\n",
" fig.suptitle(f\"Dataset: {title} shape:{data.shape} dtype:{data.dtype} size: {data.nbytes//1024**2}MB\")\n",
"\n",
" ticks = numpy.arange(len(names))\n",
"\n",
" # Speed\n",
" speed_plt.barh(y=ticks, width=write_speed, height=0.4, align='edge', label=\"Write\")\n",
" speed_plt.barh(y=ticks-.4, width=read_speed, height=0.4, align='edge', label=\"Read\")\n",
" speed_plt.set_xlabel(\"Speed [MB/s]\")\n",
" speed_plt.autoscale(axis='y')\n",
" speed_plt.yaxis.set_ticks(ticks)\n",
" speed_plt.yaxis.set_ticklabels(names, fontsize=8)\n",
" speed_plt.set_ylim(-0.5, len(ticks)-0.5)\n",
" speed_plt.grid(axis=\"x\")\n",
" speed_plt.legend()\n",
" \n",
" # Compression ratio\n",
" c_rate_plt.barh(y=ticks, width=c_rate)\n",
" c_rate_plt.set_xlabel(\"Compression rate\")\n",
" c_rate_plt.autoscale(axis='y')\n",
" c_rate_plt.yaxis.set_ticks(ticks)\n",
" c_rate_plt.yaxis.set_ticklabels([''] * len(ticks))\n",
" c_rate_plt.set_ylim(-0.5,len(ticks)-0.5)\n",
" c_rate_plt.axvline(1, color=\"red\")\n",
" c_rate_plt.grid(axis=\"x\")\n",
"\n",
" fig.tight_layout()\n",
"\n",
" # Tooltip\n",
" tooltip = c_rate_plt.annotate(\n",
" \"\", (0, 0), backgroundcolor=\"lightyellow\",\n",
" verticalalignment=\"top\", xycoords='figure pixels')\n",
" tooltip.set_visible(False)\n",
"\n",
" def hover(event):\n",
" if event.inaxes in (speed_plt, c_rate_plt):\n",
" index = numpy.clip(round(event.ydata), 0, len(names)-1)\n",
" tooltip.set_text(\n",
" f\"{names[index]}\\n\"\n",
" f\"Comp. Rate: {c_rate[index]:.2f}x\\n\"\n",
" f\"Write: {write_speed[index]:.1f}MB/s\\n\"\n",
" f\"Read: {read_speed[index]:.1f}MB/s\")\n",
" tooltip.set_x(event.x + 15)\n",
" tooltip.set_y(event.y)\n",
" tooltip.set_visible(True)\n",
" else:\n",
" tooltip.set_visible(False)\n",
" fig.canvas.draw_idle()\n",
" \n",
" def resize(event):\n",
" fig.tight_layout()\n",
"\n",
" fig.canvas.mpl_connect(\"motion_notify_event\", hover)\n",
" fig.canvas.mpl_connect(\"resize_event\", resize)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Benchmark"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Python: /users/tvincent/venvs/py3/bin/python3\n",
"Dataset directory: /dev/shm/\n",
"Directory: /dev/shm/\n"
]
}
],
"source": [
"import sys\n",
"\n",
"# Directory where test data are stored\n",
"dataset_dir = \"/dev/shm/\"\n",
"\n",
"# Directory where to run read/write benchmarks\n",
"directory = \"/dev/shm/\"\n",
"\n",
"print('Python:', sys.executable)\n",
"print('Dataset directory:', dataset_dir)\n",
"print('Directory:', directory)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Download data\n",
"\n",
"Dataset: http://www.silx.org/pub/pyFAI/pyFAI_UM_2020/data_ID13/kevlar.h5"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"import urllib.request\n",
"\n",
"diff_tomo_filename = os.path.join(dataset_dir, 'kevlar.h5')\n",
"if not os.path.exists(diff_tomo_filename):\n",
" print('Downloading file...')\n",
" urllib.request.urlretrieve(\n",
" 'http://www.silx.org/pub/pyFAI/pyFAI_UM_2020/data_ID13/kevlar.h5',\n",
" diff_tomo_filename)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Number of CPU/Process affinity"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Machine (63GB) + Package L#0 + L3 L#0 (15MB)\r\n",
" L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0\r\n",
" PU L#0 (P#0)\r\n",
" PU L#1 (P#6)\r\n",
" L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1\r\n",
" PU L#2 (P#1)\r\n",
" PU L#3 (P#7)\r\n",
" L2 L#2 (256KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2\r\n",
" PU L#4 (P#2)\r\n",
" PU L#5 (P#8)\r\n",
" L2 L#3 (256KB) + L1d L#3 (32KB) + L1i L#3 (32KB) + Core L#3\r\n",
" PU L#6 (P#3)\r\n",
" PU L#7 (P#9)\r\n",
" L2 L#4 (256KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4\r\n",
" PU L#8 (P#4)\r\n",
" PU L#9 (P#10)\r\n",
" L2 L#5 (256KB) + L1d L#5 (32KB) + L1i L#5 (32KB) + Core L#5\r\n",
" PU L#10 (P#5)\r\n",
" PU L#11 (P#11)\r\n"
]
}
],
"source": [
"!hwloc-ls --no-io --output-format console"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Number of CPUs to use\n",
"\n",
"This should be done **before** import of hdf5plugin"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"NCPU: 1\n",
"hdf5plugin config: HDF5PluginBuildOptions(openmp=True, native=True, sse2=True, avx2=True, cpp11=True, filter_file_extension='.so')\n"
]
}
],
"source": [
"import os\n",
"\n",
"NCPU = 1\n",
"\n",
"os.environ[\"OMP_NUM_THREADS\"] = str(NCPU)\n",
"os.environ[\"BLOSC_NTHREADS\"] = str(NCPU)\n",
"\n",
"import hdf5plugin\n",
"\n",
"print(f\"NCPU: {NCPU}\")\n",
"print('hdf5plugin config:', hdf5plugin.config)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Compression filters"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'Raw': {},\n",
" 'gzip': {'compression': 'gzip'},\n",
" 'lzf': {'compression': 'lzf'},\n",
" 'Bitshuffle': <hdf5plugin.Bitshuffle at 0x7f33f9044710>,\n",
" 'FciDecomp': <hdf5plugin.FciDecomp at 0x7f33f9044748>,\n",
" 'LZ4': <hdf5plugin.LZ4 at 0x7f33f9044780>,\n",
" 'Zstd': <hdf5plugin.Zstd at 0x7f33f90447b8>,\n",
" 'Blosc-blosclz-NoShuffle-5': <hdf5plugin.Blosc at 0x7f33f90444a8>,\n",
" 'Blosc-blosclz-Shuffle-5': <hdf5plugin.Blosc at 0x7f33f9044470>,\n",
" 'Blosc-blosclz-BitShuffle-5': <hdf5plugin.Blosc at 0x7f33f9044438>,\n",
" 'Blosc-lz4-NoShuffle-5': <hdf5plugin.Blosc at 0x7f33f9044400>,\n",
" 'Blosc-lz4-Shuffle-5': <hdf5plugin.Blosc at 0x7f33f90443c8>,\n",
" 'Blosc-lz4-BitShuffle-5': <hdf5plugin.Blosc at 0x7f33f9044390>,\n",
" 'Blosc-lz4hc-NoShuffle-5': <hdf5plugin.Blosc at 0x7f33f9044358>,\n",
" 'Blosc-lz4hc-Shuffle-5': <hdf5plugin.Blosc at 0x7f33f9044320>,\n",
" 'Blosc-lz4hc-BitShuffle-5': <hdf5plugin.Blosc at 0x7f33f90442e8>,\n",
" 'Blosc-snappy-NoShuffle-5': <hdf5plugin.Blosc at 0x7f33f90442b0>,\n",
" 'Blosc-snappy-Shuffle-5': <hdf5plugin.Blosc at 0x7f33f9044278>,\n",
" 'Blosc-snappy-BitShuffle-5': <hdf5plugin.Blosc at 0x7f33f9044240>,\n",
" 'Blosc-zlib-NoShuffle-5': <hdf5plugin.Blosc at 0x7f33f9044208>,\n",
" 'Blosc-zlib-Shuffle-5': <hdf5plugin.Blosc at 0x7f33f90441d0>,\n",
" 'Blosc-zlib-BitShuffle-5': <hdf5plugin.Blosc at 0x7f33f9044198>,\n",
" 'Blosc-zstd-NoShuffle-5': <hdf5plugin.Blosc at 0x7f33f9044160>,\n",
" 'Blosc-zstd-Shuffle-5': <hdf5plugin.Blosc at 0x7f33f9044128>,\n",
" 'Blosc-zstd-BitShuffle-5': <hdf5plugin.Blosc at 0x7f33f9044080>}"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Filters to test\n",
"\n",
"filters = {\n",
" \"Raw\": {}, # No compression\n",
" \"gzip\": {\"compression\": \"gzip\"}, # Provided by libhdf5\n",
" \"lzf\": {\"compression\": \"lzf\"}, # Provided by h5py\n",
" # hdf5plugin\n",
" \"Bitshuffle\": hdf5plugin.Bitshuffle(),\n",
" \"FciDecomp\": hdf5plugin.FciDecomp(),\n",
" \"LZ4\": hdf5plugin.LZ4(),\n",
" \"Zstd\": hdf5plugin.Zstd(),\n",
"}\n",
"\n",
"# blosc\n",
"for cname in ('blosclz', 'lz4', 'lz4hc', 'snappy', 'zlib', 'zstd'):\n",
" for shuffle_name, shuffle in (('NoShuffle', hdf5plugin.Blosc.NOSHUFFLE),\n",
" ('Shuffle', hdf5plugin.Blosc.SHUFFLE),\n",
" ('BitShuffle', hdf5plugin.Blosc.BITSHUFFLE)):\n",
" for clevel in [5]: # (1, 5, 9):\n",
" filters[f\"Blosc-{cname}-{shuffle_name}-{clevel}\"] = hdf5plugin.Blosc(\n",
" cname=cname, clevel=clevel, shuffle=shuffle)\n",
"\n",
"filters"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"diff tomo shape: (100, 2167, 2070) dtype: uint16 size: 855MB\n"
]
}
],
"source": [
"# Load diff tomo data\n",
"\n",
"with h5py.File(diff_tomo_filename, mode=\"r\") as h5file:\n",
" diff_tomo_data = h5file[\"/entry/data/data\"][::10] # Take 100 frames\n",
"\n",
"print(f\"diff tomo shape: {diff_tomo_data.shape} dtype: {diff_tomo_data.dtype} size: {diff_tomo_data.nbytes//1024**2}MB\")\n",
"#plt.imshow(diff_tomo_data[5], norm=LogNorm())\n",
"#plt.colorbar()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"# Run test\n",
"diff_tomo_results = dict((name, benchmark(\n",
" diff_tomo_data,\n",
" directory=directory,\n",
" chunks=(1,) + diff_tomo_data.shape[1:],\n",
" **compression)) for name, compression in filters.items())"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"N cpu: 1\n",
"hdf5plugin_config: HDF5PluginBuildOptions(openmp=True, native=True, sse2=True, avx2=True, cpp11=True, filter_file_extension='.so')\n"
]
},
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"/* global mpl */\n",
"window.mpl = {};\n",
"\n",
"mpl.get_websocket_type = function () {\n",
" if (typeof WebSocket !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof MozWebSocket !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert(\n",
" 'Your browser does not have WebSocket support. ' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.'\n",
" );\n",
" }\n",
"};\n",
"\n",
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = this.ws.binaryType !== undefined;\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById('mpl-warnings');\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent =\n",
" 'This browser does not support binary websocket messages. ' +\n",
" 'Performance may be slow.';\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = document.createElement('div');\n",
" this.root.setAttribute('style', 'display: inline-block');\n",
" this._root_extra_style(this.root);\n",
"\n",
" parent_element.appendChild(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
" fig.send_message('send_image_mode', {});\n",
" if (fig.ratio !== 1) {\n",
" fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n",
" }\n",
" fig.send_message('refresh', {});\n",
" };\n",
"\n",
" this.imageObj.onload = function () {\n",
" if (fig.image_mode === 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function () {\n",
" fig.ws.close();\n",
" };\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"};\n",
"\n",
"mpl.figure.prototype._init_header = function () {\n",
" var titlebar = document.createElement('div');\n",
" titlebar.classList =\n",
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
" var titletext = document.createElement('div');\n",
" titletext.classList = 'ui-dialog-title';\n",
" titletext.setAttribute(\n",
" 'style',\n",
" 'width: 100%; text-align: center; padding: 3px;'\n",
" );\n",
" titlebar.appendChild(titletext);\n",
" this.root.appendChild(titlebar);\n",
" this.header = titletext;\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._init_canvas = function () {\n",
" var fig = this;\n",
"\n",
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
" canvas_div.setAttribute(\n",
" 'style',\n",
" 'border: 1px solid #ddd;' +\n",
" 'box-sizing: content-box;' +\n",
" 'clear: both;' +\n",
" 'min-height: 1px;' +\n",
" 'min-width: 1px;' +\n",
" 'outline: 0;' +\n",
" 'overflow: hidden;' +\n",
" 'position: relative;' +\n",
" 'resize: both;'\n",
" );\n",
"\n",
" function on_keyboard_event_closure(name) {\n",
" return function (event) {\n",
" return fig.key_event(event, name);\n",
" };\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'keydown',\n",
" on_keyboard_event_closure('key_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'keyup',\n",
" on_keyboard_event_closure('key_release')\n",
" );\n",
"\n",
" this._canvas_extra_style(canvas_div);\n",
" this.root.appendChild(canvas_div);\n",
"\n",
" var canvas = (this.canvas = document.createElement('canvas'));\n",
" canvas.classList.add('mpl-canvas');\n",
" canvas.setAttribute('style', 'box-sizing: content-box;');\n",
"\n",
" this.context = canvas.getContext('2d');\n",
"\n",
" var backingStore =\n",
" this.context.backingStorePixelRatio ||\n",
" this.context.webkitBackingStorePixelRatio ||\n",
" this.context.mozBackingStorePixelRatio ||\n",
" this.context.msBackingStorePixelRatio ||\n",
" this.context.oBackingStorePixelRatio ||\n",
" this.context.backingStorePixelRatio ||\n",
" 1;\n",
"\n",
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
" 'canvas'\n",
" ));\n",
" rubberband_canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
" );\n",
"\n",
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
" if (this.ResizeObserver === undefined) {\n",
" if (window.ResizeObserver !== undefined) {\n",
" this.ResizeObserver = window.ResizeObserver;\n",
" } else {\n",
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
" this.ResizeObserver = obs.ResizeObserver;\n",
" }\n",
" }\n",
"\n",
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
" var nentries = entries.length;\n",
" for (var i = 0; i < nentries; i++) {\n",
" var entry = entries[i];\n",
" var width, height;\n",
" if (entry.contentBoxSize) {\n",
" if (entry.contentBoxSize instanceof Array) {\n",
" // Chrome 84 implements new version of spec.\n",
" width = entry.contentBoxSize[0].inlineSize;\n",
" height = entry.contentBoxSize[0].blockSize;\n",
" } else {\n",
" // Firefox implements old version of spec.\n",
" width = entry.contentBoxSize.inlineSize;\n",
" height = entry.contentBoxSize.blockSize;\n",
" }\n",
" } else {\n",
" // Chrome <84 implements even older version of spec.\n",
" width = entry.contentRect.width;\n",
" height = entry.contentRect.height;\n",
" }\n",
"\n",
" // Keep the size of the canvas and rubber band canvas in sync with\n",
" // the canvas container.\n",
" if (entry.devicePixelContentBoxSize) {\n",
" // Chrome 84 implements new version of spec.\n",
" canvas.setAttribute(\n",
" 'width',\n",
" entry.devicePixelContentBoxSize[0].inlineSize\n",
" );\n",
" canvas.setAttribute(\n",
" 'height',\n",
" entry.devicePixelContentBoxSize[0].blockSize\n",
" );\n",
" } else {\n",
" canvas.setAttribute('width', width * fig.ratio);\n",
" canvas.setAttribute('height', height * fig.ratio);\n",
" }\n",
" canvas.setAttribute(\n",
" 'style',\n",
" 'width: ' + width + 'px; height: ' + height + 'px;'\n",
" );\n",
"\n",
" rubberband_canvas.setAttribute('width', width);\n",
" rubberband_canvas.setAttribute('height', height);\n",
"\n",
" // And update the size in Python. We ignore the initial 0/0 size\n",
" // that occurs as the element is placed into the DOM, which should\n",
" // otherwise not happen due to the minimum size styling.\n",
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
" fig.request_resize(width, height);\n",
" }\n",
" }\n",
" });\n",
" this.resizeObserverInstance.observe(canvas_div);\n",
"\n",
" function on_mouse_event_closure(name) {\n",
" return function (event) {\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" }\n",
"\n",
" rubberband_canvas.addEventListener(\n",
" 'mousedown',\n",
" on_mouse_event_closure('button_press')\n",
" );\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseup',\n",
" on_mouse_event_closure('button_release')\n",
" );\n",
" rubberband_canvas.addEventListener(\n",
" 'dblclick',\n",
" on_mouse_event_closure('dblclick')\n",
" );\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband_canvas.addEventListener(\n",
" 'mousemove',\n",
" on_mouse_event_closure('motion_notify')\n",
" );\n",
"\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseenter',\n",
" on_mouse_event_closure('figure_enter')\n",
" );\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseleave',\n",
" on_mouse_event_closure('figure_leave')\n",
" );\n",
"\n",
" canvas_div.addEventListener('wheel', function (event) {\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" on_mouse_event_closure('scroll')(event);\n",
" });\n",
"\n",
" canvas_div.appendChild(canvas);\n",
" canvas_div.appendChild(rubberband_canvas);\n",
"\n",
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
" this.rubberband_context.strokeStyle = '#000000';\n",
"\n",
" this._resize_canvas = function (width, height, forward) {\n",
" if (forward) {\n",
" canvas_div.style.width = width + 'px';\n",
" canvas_div.style.height = height + 'px';\n",
" }\n",
" };\n",
"\n",
" // Disable right mouse context menu.\n",
" this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
" event.preventDefault();\n",
" return false;\n",
" });\n",
"\n",
" function set_focus() {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'mpl-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" continue;\n",
" }\n",
"\n",
" var button = (fig.buttons[name] = document.createElement('button'));\n",
" button.classList = 'mpl-widget';\n",
" button.setAttribute('role', 'button');\n",
" button.setAttribute('aria-disabled', 'false');\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
"\n",
" var icon_img = document.createElement('img');\n",
" icon_img.src = '_images/' + image + '.png';\n",
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
" icon_img.alt = tooltip;\n",
" button.appendChild(icon_img);\n",
"\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" var fmt_picker = document.createElement('select');\n",
" fmt_picker.classList = 'mpl-widget';\n",
" toolbar.appendChild(fmt_picker);\n",
" this.format_dropdown = fmt_picker;\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = document.createElement('option');\n",
" option.selected = fmt === mpl.default_extension;\n",
" option.innerHTML = fmt;\n",
" fmt_picker.appendChild(option);\n",
" }\n",
"\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"};\n",
"\n",
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
"};\n",
"\n",
"mpl.figure.prototype.send_message = function (type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"};\n",
"\n",
"mpl.figure.prototype.send_draw_message = function () {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
" fig.send_message('refresh', {});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
" var x0 = msg['x0'] / fig.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
" var x1 = msg['x1'] / fig.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0,\n",
" 0,\n",
" fig.canvas.width / fig.ratio,\n",
" fig.canvas.height / fig.ratio\n",
" );\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch (cursor) {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
" for (var key in msg) {\n",
" if (!(key in fig.buttons)) {\n",
" continue;\n",
" }\n",
" fig.buttons[key].disabled = !msg[key];\n",
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
" if (msg['mode'] === 'PAN') {\n",
" fig.buttons['Pan'].classList.add('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" } else if (msg['mode'] === 'ZOOM') {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.add('active');\n",
" } else {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message('ack', {});\n",
"};\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" var img = evt.data;\n",
" if (img.type !== 'image/png') {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" img.type = 'image/png';\n",
" }\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src\n",
" );\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" img\n",
" );\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" } else if (\n",
" typeof evt.data === 'string' &&\n",
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
" ) {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig['handle_' + msg_type];\n",
" } catch (e) {\n",
" console.log(\n",
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
" msg\n",
" );\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\n",
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
" e,\n",
" e.stack,\n",
" msg\n",
" );\n",
" }\n",
" }\n",
" };\n",
"};\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function (e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e) {\n",
" e = window.event;\n",
" }\n",
" if (e.target) {\n",
" targ = e.target;\n",
" } else if (e.srcElement) {\n",
" targ = e.srcElement;\n",
" }\n",
" if (targ.nodeType === 3) {\n",
" // defeat Safari bug\n",
" targ = targ.parentNode;\n",
" }\n",
"\n",
" // pageX,Y are the mouse positions relative to the document\n",
" var boundingRect = targ.getBoundingClientRect();\n",
" var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
" var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
"\n",
" return { x: x, y: y };\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys(original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object') {\n",
" obj[key] = original[key];\n",
" }\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
" var canvas_pos = mpl.findpos(event);\n",
"\n",
" if (name === 'button_press') {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * this.ratio;\n",
" var y = canvas_pos.y * this.ratio;\n",
"\n",
" this.send_message(name, {\n",
" x: x,\n",
" y: y,\n",
" button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event),\n",
" });\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"};\n",
"\n",
"mpl.figure.prototype.key_event = function (event, name) {\n",
" // Prevent repeat events\n",
" if (name === 'key_press') {\n",
" if (event.key === this._key) {\n",
" return;\n",
" } else {\n",
" this._key = event.key;\n",
" }\n",
" }\n",
" if (name === 'key_release') {\n",
" this._key = null;\n",
" }\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.key !== 'Control') {\n",
" value += 'ctrl+';\n",
" }\n",
" else if (event.altKey && event.key !== 'Alt') {\n",
" value += 'alt+';\n",
" }\n",
" else if (event.shiftKey && event.key !== 'Shift') {\n",
" value += 'shift+';\n",
" }\n",
"\n",
" value += 'k' + event.key;\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
" if (name === 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message('toolbar_button', { name: name });\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"\n",
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
"// prettier-ignore\n",
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";/* global mpl */\n",
"\n",
"var comm_websocket_adapter = function (comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.binaryType = comm.kernel.ws.binaryType;\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" function updateReadyState(_event) {\n",
" if (comm.kernel.ws) {\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" } else {\n",
" ws.readyState = 3; // Closed state.\n",
" }\n",
" }\n",
" comm.kernel.ws.addEventListener('open', updateReadyState);\n",
" comm.kernel.ws.addEventListener('close', updateReadyState);\n",
" comm.kernel.ws.addEventListener('error', updateReadyState);\n",
"\n",
" ws.close = function () {\n",
" comm.close();\n",
" };\n",
" ws.send = function (m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function (msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" var data = msg['content']['data'];\n",
" if (data['blob'] !== undefined) {\n",
" data = {\n",
" data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
" };\n",
" }\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(data);\n",
" });\n",
" return ws;\n",
"};\n",
"\n",
"mpl.mpl_figure_comm = function (comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = document.getElementById(id);\n",
" var ws_proxy = comm_websocket_adapter(comm);\n",
"\n",
" function ondownload(figure, _format) {\n",
" window.open(figure.canvas.toDataURL());\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element;\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error('Failed to find cell for figure', id, fig);\n",
" return;\n",
" }\n",
" fig.cell_info[0].output_area.element.on(\n",
" 'cleared',\n",
" { fig: fig },\n",
" fig._remove_fig_handler\n",
" );\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
" var width = fig.canvas.width / fig.ratio;\n",
" fig.cell_info[0].output_area.element.off(\n",
" 'cleared',\n",
" fig._remove_fig_handler\n",
" );\n",
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable();\n",
" fig.parent_element.innerHTML =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
" fig.close_ws(fig, msg);\n",
"};\n",
"\n",
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"};\n",
"\n",
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width / this.ratio;\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message('ack', {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () {\n",
" fig.push_to_output();\n",
" }, 1000);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'btn-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" var button;\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" continue;\n",
" }\n",
"\n",
" button = fig.buttons[name] = document.createElement('button');\n",
" button.classList = 'btn btn-default';\n",
" button.href = '#';\n",
" button.title = name;\n",
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message pull-right';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = document.createElement('div');\n",
" buttongrp.classList = 'btn-group inline pull-right';\n",
" button = document.createElement('button');\n",
" button.classList = 'btn btn-mini btn-primary';\n",
" button.href = '#';\n",
" button.title = 'Stop Interaction';\n",
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
" button.addEventListener('click', function (_evt) {\n",
" fig.handle_close(fig, {});\n",
" });\n",
" button.addEventListener(\n",
" 'mouseover',\n",
" on_mouseover_closure('Stop Interaction')\n",
" );\n",
" buttongrp.appendChild(button);\n",
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
"};\n",
"\n",
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
" var fig = event.data.fig;\n",
" if (event.target !== this) {\n",
" // Ignore bubbled events from children.\n",
" return;\n",
" }\n",
" fig.close_ws(fig, {});\n",
"};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (el) {\n",
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
" // this is important to make the div 'focusable\n",
" el.setAttribute('tabindex', 0);\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" } else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager) {\n",
" manager = IPython.keyboard_manager;\n",
" }\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which === 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" fig.ondownload(fig, null);\n",
"};\n",
"\n",
"mpl.find_output_cell = function (html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i = 0; i < ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code') {\n",
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] === html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"};\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel !== null) {\n",
" IPython.notebook.kernel.comm_manager.register_target(\n",
" 'matplotlib',\n",
" mpl.mpl_figure_comm\n",
" );\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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gwdlmQnzdVatWlXmSpn+3XffqeY1v4GxVXNW6RXp7e0tp/36669O5cwRoWpJp06dIIRA//79nZoPuLPLKRw8eBAREREQomgwQMse2PZwRuI2bdpUVwAp3Lp1C5UrV7a6udbjjz/+kMtctGiRU9teGqxbt07KvJ49e+oKo7IqpzBv3jzZXqlfqkVpllMAIGudv/HGG3a30RxFOGvVDFa4ceNGqUhcpXSDZZ3kAQMGQAj9V+YVoWhvYEHleDlt2jQ57cEHH3TqOOes8CwviVucZZeHxDWvO12nTh3ddmlpabKds71U3333XVUZASGKern37t1bt5aroxL3559/lv8DWoMfAuVzvrTHjBkzIESRRNYahLOwsFDmrFatWrh165ZTy8/OzpayszgD1JmXkNGqHa4lcZXjwb/+9S8UFBTIB0rmg5SWdGAz4J+SI1rXUYQQcidAiUsIueMoycBmljdASo++KlWqYNmyZZqCRpF6ljcBjkrckqxD4ffff8crr7yC9u3byx60QhS9amj5upzySnZxezm4isQFioTVxx9/jGHDhiExMVH2zhGi6FVey9eASypxlVIHsbGx+Oijj6zqdubn5zskT5yVuOavwNoSTSWhX79+EMK657UjOHojbLSBzQ4ePChlXN26dXHmzBmnl+GMxH344YdlW71BswDIh0KO5FLp0eXj42O3F39ps379etmTvUePHnZ7/JXFwGbKvrLXu7s0BzYDIAXM0qVL7W6jOeUpcc0H6lu5ciUAIDMzU267Xv3gkkhcpbdfnz597G5fcbjTJe6lS5fk+m0dH3/77TfZrji9VC9duoTFixejT58+UvYp0bp1a6tjjSMS98iRI/KNh86dO+u+eVMe50t7KCWwnn/+ed025g+GfvnlF6fXobxB0bVrV6fnvXbtmlz3zJkzrT7Xkrg3b96UbxAootWypnVpSNycnBx5LTd8+HCnvxshhFR0KHEJIXcczkpcZTAqSwmVm5srb1ZXr16tOW9+fr5sUxyJW9J1aJGXl4dNmzapBj4yH8BMudnr27ev3WVp4UoS15KLFy9i8eLFCAkJgRDWPTZLInFPnjwpp1vWJlYwf43TljxxtpyC+TbpDfZTUp599lkIIdCyZUun53VU4n799deyrXnvHUuUAfssf6OLFy+W8yu1YC3Jz8+Xss+eRCoJ5gK3Tp06VqOtO4oz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jJ6MnDFjBoQQykPK/L2dwrRp01S3U/Dk9OnT6Nu3LxISEgD4dzuFEydOeAnB8+fPA4BPifvBBx8gODgY999/v8/t6V0tKoRARkYGAKCiokL1mR999NFFnzfPcwcAS5cuvSiJCwAjR46EEAJHjx5VHXdzEvfUqVNwP0StKRUVFS0ucadPn46goCCcO3dO91i+/PJL1Xn9xz/+obv+F198ASEEnnzySd31moMSV85Q4sqL1SctxDfsVV7YrT6UuMZCicuwC/nDPswTgOO5mbB6F5S4LYyWnHNf+Wmz2RQZ6+vBZna7XSUiKysrERUVpXqwmee9aAFg1KhRiI2NVV635IPNjhw5gri4OGRlZSlXrXqyZcsWr9x1110QQmDjxo149913dT/zYs4b4H3uSkpKIITwus3D119/7fMhZjU1NejUqROuuOIKr9tINCdxASA2NhY5OTmq9R588MEWl7jvvfcehBAoKCjwOob6+nrVPX19cerUKfz888+qZY2NjUo3e/bs0X1/c1DiyhlKXHmx+qSF+Ia9ygu71YcS11gocRl2IX/Yh3kCcDw3E1bvghK3hXHLublz58LlcsHlcmHZsmW49tprIYTA7NmzlXU9hV95eTkcDgcSEhIwf/58LFq0CN27d4fdblddhdqhQweMHj0aixYtQmlpKaZOnYqAgADce++9yjp79+5FREQEYmJiUFBQgHXr1qGwsFC5IlYPT4l75513mbpDhwAAIABJREFUIigoCMuXL1eOyZ2m9+LV2s7FPNjMn/Pm69x9+umnEOL/2Lv36KjKe33gbwKZyY0QIAIhQMIlXBIuiXipi0rAHi5H8EItVEQJ1ipVqml/UkuCEESpxIjAkjQCKsKg8YKiBUFFm1MvSNWinMa6xIMcqwdColAFUULI8/vDNdPszOydyc6EvO+X57PW9w82eyZ75gHevZ817FG49NJLsXHjRlRUVOD48eN45plnEBMTg8svvxylpaV45JFHsGTJEgwYMABKKaxcubLZ4w1V4s6fPx9KKdxwww0oLy/HjBkzAscayRIX+OGL7ZRS+M///E+sWLECq1evRkFBAXr16hX0vE1VVlaiZ8+e+O1vf4uysjLcf//9GD16NJRSuOmmmxwfGw6WuDKHJa5cpp+0UGjMVS5m64wlrrthicthFvKHeegzANdznZieBUvcCPOXc40nNjYW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mDVrls3yVtevX8fChQvRv39/NG7cGP7+/qhbty7atWuHRYsW2X1C19Xv5PLly5g8eTLi4uJgMplgsVjQp08fbNu2zeHrqekSt6SkBAsXLkTLli3h7++PqKgojBw5Er/88ovT11VcXIwXXngBcXFxyoccKh6zO/NVInKOJS4REdHvxNXFjp5UpcT1lvXr10NE8Oqrr/6uP5clLhER0d0pX+ISEVH16f9Kk4iIqIbUthI3KipKWeLA2Y3Hatq2bdswc+ZMh2uvuWPJkiXIyclBSkoKS1wiIqK7wBKXiOju6P9Kk4iIqIbUthK3/Ni/f7+3D8sj0tLSbF4nS1wiIiL3sMQlIro7+r/SJCIiqiG1pcQlIiIiqi6WuEREd4dXmkREREREREREREQqxhKXiIiIiIiIiIiISMVY4hIRERERERERERGpGEtcIiIiIiIiIiIiIhVjiUtERERERERERESkYixxiYiIiIiIiIiIiFSMJS4RERERERERERGRirHEJSIiIiIiIiIiIlIxlrhEREREREREREREKsYSl4iIiIiIiIiIiEjFWOISERERERERERERqRhLXCIiIiIiIiIiIiIVY4lLREREREREREREpGIscYmIiIiIiIiIiIhUjCUuERERERERERERkYqxxCUiIiIiIiIiIiJSMZa4RERERERERERERCrGEpeIiIiIiIiIiIhIxVjiEhEREREREREREakYS1wiIiIiIiIiIiIiFWOJS0RERERERERERKRiLHGJiIiIiIiIiIiIVIwlLhEREREREREREZGK/T++1rPz2uCUZQAAAABJRU5ErkJggg==\" width=\"928.6666666666666\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Display results\n",
"\n",
"print(f\"N cpu: {NCPU}\")\n",
"display_results(**diff_tomo_results)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (venv)",
"language": "python",
"name": "python3-venv"
},
"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.7.3"
},
"varInspector": {
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"delete_cmd_postfix": "",
"delete_cmd_prefix": "del ",
"library": "var_list.py",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"delete_cmd_postfix": ") ",
"delete_cmd_prefix": "rm(",
"library": "var_list.r",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
],
"window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment