napari-power-widgets

napari-power-widgets

Powerful widgets and type annotations for napari plugin widgets


    View project data

    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

    Release date:

    • 11 November 2022

    First released:

    • 11 November 2022

    License:

    • BSD-3-Clause

    Supported data:

    • Information not submitted

    Plugin type:

    • Information not submitted

    GitHub activity:

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

    Python versions supported:

    Operating system:

    Requirements:

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

    Sign up to receive updates