diff --git a/QTplugin-napari.ipynb b/QTplugin-napari.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..f78decfa38dd16a0af0e746dd4c4f0c22a655b43 --- /dev/null +++ b/QTplugin-napari.ipynb @@ -0,0 +1,128 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 9, + "id": "11936ce3-3ddd-4aa3-b907-740aefc2973b", + "metadata": {}, + "outputs": [], + "source": [ + "from napari import Viewer, run\n", + "from napari.layers import Image, Layer\n", + "\n", + "from qtpy.QtWidgets import QWidget, QVBoxLayout, QLabel, QListWidget\n", + "\n", + "from magicgui.widgets import create_widget\n", + "\n", + "from matplotlib.backends.backend_qtagg import (\n", + " FigureCanvas, NavigationToolbar2QT as NavigationToolbar)\n", + "from matplotlib.figure import Figure" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d97699e5-db36-46f4-95b9-a56191256ed4", + "metadata": {}, + "outputs": [], + "source": [ + "class SamplePlugin(QWidget):\n", + " def __init__(self, viewer: Viewer):\n", + " super().__init__()\n", + " self.viewer = viewer\n", + " self.select_image = create_widget(annotation=Image)\n", + " self.select_mask = create_widget(annotation=Layer)\n", + " self.canvas = FigureCanvas(Figure(figsize=(5,5)))\n", + " self.ax = self.canvas.figure.subplots()\n", + "\n", + " self.ax.plot([0, 5, 6], [2, 7, 14])\n", + "\n", + " layout = QVBoxLayout()\n", + " layout.addWidget(self.select_image.native)\n", + " layout.addWidget(self.select_mask.native)\n", + " layout.addWidget(self.canvas)\n", + "\n", + " self.setLayout(layout)\n", + " \n", + " def reset_choices(self, event=None):\n", + " self.select_image.reset_choices(event)\n", + " self.select_mask.reset_choices(event)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "df3e9175-ab4f-41da-be36-9e06402ff404", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AICSImageIO: Reader will load image in-memory: False\n", + "AICSImageIO: Reader will load image in-memory: False\n" + ] + } + ], + "source": [ + "viewer = Viewer()\n", + "\n", + "plugin = SamplePlugin(viewer)\n", + "\n", + "viewer.window.add_dock_widget(plugin)\n", + "\n", + "run()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "4e69ca83-6eb3-41ad-97eb-f18f80223e8c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "viewer.layers[2].data.min().compute()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c42db7a0-5937-4f7a-9d6e-64de0108b72b", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}