{"name":"napari-power-widgets","display_name":"napari-power-widgets","visibility":"public","icon":"","categories":[],"schema_version":"0.2.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":null,"readers":null,"writers":null,"widgets":null,"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.1","name":"napari-power-widgets","version":"0.0.1","dynamic":null,"platform":null,"supported_platform":null,"summary":"Powerful widgets and type annotations for napari plugin widgets","description":"# napari-power-widgets\n\n[![License BSD-3](https://img.shields.io/pypi/l/napari-power-widgets.svg?color=green)](https://github.com/hanjinliu/napari-power-widgets/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-power-widgets.svg?color=green)](https://pypi.org/project/napari-power-widgets)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-power-widgets.svg?color=green)](https://python.org)\n[![tests](https://github.com/hanjinliu/napari-power-widgets/workflows/tests/badge.svg)](https://github.com/hanjinliu/napari-power-widgets/actions)\n[![codecov](https://codecov.io/gh/hanjinliu/napari-power-widgets/branch/main/graph/badge.svg)](https://codecov.io/gh/hanjinliu/napari-power-widgets)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-power-widgets)](https://napari-hub.org/plugins/napari-power-widgets)\n\nPowerful `magicgui` widgets and type annotations for general-purpose napari plugin development.\n\n`napari-power-widgets` makes the full use of type-to-widget mapping strategy of `magicgui` to provide napari-specific types and value-widgets, which will be very useful to improve UI/UX of your napari plugins with simple codes.\n\nCurrently, `napari-power-widgets` does not provide any reader, writer or widget. It is supposed to be used programmatically.\n\n### Examples\n\nSome types/widgets and the possible usage are picked up here ([→ check all](https://github.com/hanjinliu/napari-power-widgets/blob/main/src/napari_power_widgets/types.py)). If you have any neat ideas, please open an issue.\n\n#### 1. `BoxSelection`\n\nAlias of a four-float tuple for 2D selection. You can set the value by drawing a interaction box in the viewer.\n\n*e. g. : image cropper, rectangular labeling etc.*\n\n```python\n@magicgui\ndef f(box: BoxSelection):\n print(box)\nviewer.window.add_dock_widget(f)\n```\n\n![](images/BoxSelection.gif)\n\n#### 2. `OneOfRectangles`\n\nAlias of `np.ndarray` for one of rectangles in a `Shapes` layer.\n\n*e. g. : image cropper, rectangular labeling etc.*\n\n```python\n@magicgui\ndef f(rect: OneOfRectangles):\n print(rect)\nviewer.window.add_dock_widget(f)\n```\n\n![](images/OneOfRectangles.gif)\n\n#### 3. `LineData`\n\nAlias of `np.ndarray` for a line data. You can obtain the data by manually drawing a line in the viewer.\n\n*e. g. : line profiling, kymograph etc.*\n\n```python\n@magicgui\ndef f(line: LineData):\n print(line)\nviewer.window.add_dock_widget(f)\n```\n\n![](images/LineData.gif)\n\n#### 4. `OneOfLabels`\n\nAlias of boolean `np.ndarray` for a labeled region. You can choose ones by directly clicking the viewer.\n\n*e. g. : image masking, feature measurement etc.*\n\n```python\n@magicgui\ndef f(label: OneOfLabels):\n pass\nviewer.window.add_dock_widget(f)\n```\n\n![](images/OneOfLabels.gif)\n\n\n#### 5. `ZRange`\n\nAlias of a tuple of float that represents the limit of the third dimension. You can select the values by moving the dimension slider.\n\n*e. g. : movie trimming, partial image projection etc.*\n\n```python\n@magicgui\ndef f(zrange: ZRange):\n print(zrange)\nviewer.window.add_dock_widget(f)\n```\n\n![](images/ZRange.gif)\n\n----------------------------------\n\nThis [napari] plugin was generated with [Cookiecutter] using [@napari]'s [cookiecutter-napari-plugin] template.\n\n\n\n## Installation\n\nYou can install `napari-power-widgets` via [pip]:\n\n pip install napari-power-widgets\n\n\n\nTo install latest development version :\n\n pip install git+https://github.com/hanjinliu/napari-power-widgets.git\n\n\n## Contributing\n\nContributions are very welcome. Tests can be run with [tox], please ensure\nthe coverage at least stays the same before you submit a pull request.\n\n## License\n\nDistributed under the terms of the [BSD-3] license,\n\"napari-power-widgets\" is free and open source software\n\n## Issues\n\nIf you encounter any problems, please [file an issue] along with a detailed description.\n\n[napari]: https://github.com/napari/napari\n[Cookiecutter]: https://github.com/audreyr/cookiecutter\n[@napari]: https://github.com/napari\n[MIT]: http://opensource.org/licenses/MIT\n[BSD-3]: http://opensource.org/licenses/BSD-3-Clause\n[GNU GPL v3.0]: http://www.gnu.org/licenses/gpl-3.0.txt\n[GNU LGPL v3.0]: http://www.gnu.org/licenses/lgpl-3.0.txt\n[Apache Software License 2.0]: http://www.apache.org/licenses/LICENSE-2.0\n[Mozilla Public License 2.0]: https://www.mozilla.org/media/MPL/2.0/index.txt\n[cookiecutter-napari-plugin]: https://github.com/napari/cookiecutter-napari-plugin\n\n[file an issue]: https://github.com/hanjinliu/napari-power-widgets/issues\n\n[napari]: https://github.com/napari/napari\n[tox]: https://tox.readthedocs.io/en/latest/\n[pip]: https://pypi.org/project/pip/\n[PyPI]: https://pypi.org/\n","description_content_type":"text/markdown","keywords":null,"home_page":"https://github.com/hanjinliu/napari-power-widgets","download_url":null,"author":"Hanjin Liu","author_email":"liuhanjin-sc@g.ecc.u-tokyo.ac.jp","maintainer":null,"maintainer_email":null,"license":"BSD-3-Clause","classifier":["Development Status :: 2 - Pre-Alpha","Framework :: napari","Intended Audience :: Developers","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: 3.10","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["numpy","pandas","typing-extensions","magicgui","napari","tox ; extra == 'testing'","pytest ; extra == 'testing'","pytest-cov ; extra == 'testing'","pyqt5 ; extra == 'testing'"],"requires_python":">=3.8","requires_external":null,"project_url":["Bug Tracker, https://github.com/hanjinliu/napari-power-widgets/issues","Documentation, https://github.com/hanjinliu/napari-power-widgets#README.md","Source Code, https://github.com/hanjinliu/napari-power-widgets","User Support, https://github.com/hanjinliu/napari-power-widgets/issues"],"provides_extra":["testing"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}