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

Sign up to receive updates