The napari hub is transitioning to a community-run implementation due to launch in June 2025.
Since October 1, 2024, this version is no longer actively maintained and will not be updated. New plugins and plugin updates will continue to be listed.

napari-power-widgets

napari-power-widgets

Powerful widgets and type annotations for napari plugin widgets

License BSD-3 PyPI Python Version tests codecov napari hub

Powerful magicgui widgets and type annotations for general-purpose napari plugin development.

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.

Currently, napari-power-widgets does not provide any reader, writer or widget. It is supposed to be used programmatically.

Examples

Some types/widgets and the possible usage are picked up here (→ check all). If you have any neat ideas, please open an issue.

1. BoxSelection

Alias of a four-float tuple for 2D selection. You can set the value by drawing a interaction box in the viewer.

e. g. : image cropper, rectangular labeling etc.

@magicgui
def f(box: BoxSelection):
    print(box)
viewer.window.add_dock_widget(f)

2. OneOfRectangles

Alias of np.ndarray for one of rectangles in a Shapes layer.

e. g. : image cropper, rectangular labeling etc.

@magicgui
def f(rect: OneOfRectangles):
    print(rect)
viewer.window.add_dock_widget(f)

3. LineData

Alias of np.ndarray for a line data. You can obtain the data by manually drawing a line in the viewer.

e. g. : line profiling, kymograph etc.

@magicgui
def f(line: LineData):
    print(line)
viewer.window.add_dock_widget(f)

4. OneOfLabels

Alias of boolean np.ndarray for a labeled region. You can choose ones by directly clicking the viewer.

e. g. : image masking, feature measurement etc.

@magicgui
def f(label: OneOfLabels):
    pass
viewer.window.add_dock_widget(f)

5. ZRange

Alias of a tuple of float that represents the limit of the third dimension. You can select the values by moving the dimension slider.

e. g. : movie trimming, partial image projection etc.

@magicgui
def f(zrange: ZRange):
    print(zrange)
viewer.window.add_dock_widget(f)


This napari plugin was generated with Cookiecutter using @napari's cookiecutter-napari-plugin template.

Installation

You can install napari-power-widgets via pip:

pip install napari-power-widgets

To install latest development version :

pip install git+https://github.com/hanjinliu/napari-power-widgets.git

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the BSD-3 license, "napari-power-widgets" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

Version:

  • 0.0.1

Last updated:

  • 11 November 2022

First released:

  • 11 November 2022

License:

Supported data:

  • Information not submitted

Plugin type:

  • Information not submitted

GitHub activity:

  • Stars: 2
  • Forks: 0
  • Issues + PRs: 0

Python versions supported:

Operating system:

Requirements:

  • numpy
  • pandas
  • typing-extensions
  • magicgui
  • napari