{"name":"napari-plot","display_name":"napari-plot","visibility":"public","icon":"","categories":[],"schema_version":"0.2.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-plot.NapariPlotWidget","title":"NapariPlotWidget","python_name":"napari_plot._dock_widget:NapariPlotWidget","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"napari-plot.NapariPlotWidget","display_name":"NapariPlotWidget","autogenerate":false}],"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.1","name":"napari-plot","version":"0.1.5","dynamic":null,"platform":["UNKNOWN"],"supported_platform":null,"summary":"Plugin providing support for 1d plotting in napari.","description":"# napari-plot\n\n[![License](https://img.shields.io/pypi/l/napari-plot.svg?color=green)](https://github.com/lukasz-migas/napari-1d/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-plot.svg?color=green)](https://pypi.org/project/napari-plot)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-plot.svg?color=green)](https://python.org)\n[![tests](https://github.com/lukasz-migas/napari-1d/workflows/tests/badge.svg)](https://github.com/lukasz-migas/napari-1d/actions)\n[![codecov](https://codecov.io/gh/lukasz-migas/napari-1d/branch/main/graph/badge.svg)](https://codecov.io/gh/lukasz-migas/napari-1d)\n\nPlugin providing support for 1d plotting in napari.\n\nThis plugin is in very early stages of development and many things are still in a state of disarray. New features and bug fixes\nwill be coming over the coming months. \n\n## Note\n\n`napari-plot` provides several custom icons and stylesheets to take advantage of the `Qt` backend. Since it would be a bit busy to add multiple layer lists,\nI opted to include a toolbar that quickly pulls the layer list whenever requested. Simple use the toolbar to access several commonly accessed elements.\n\n## Usage\n\nYou can use `napari-plot` alongside `napari` where it is embedded as a dock widget. If using this option, controls are relegated to toolbar\nwhere you can adjust layer properties like you would do in `napari`.\n\n![embedded](https://github.com/lukasz-migas/napari-1d/blob/main/misc/embedded.png)\n\nOr as a standalone app where only one-dimensional plotting is enabled. In this mode, controls take central stage and reflect `napari's` own\nbehaviour where layer controls are embedded in the main application.\n\n![live-view](https://github.com/lukasz-migas/napari-1d/blob/main/misc/napariplot-live-line.gif)\n\n## Roadmap:\n\nThis is only provisional list of features that I would like to see implemented. It barely scratches the surface of what plotting tool should cover so as soon as the basics are covered,\nfocus will be put towards adding more exotic features. If there are features that you certainly wish to be included,\nplease modify the list below or create a [new issue](https://github.com/lukasz-migas/napari-1d/issues/new)\n\n- [ ] Support for new layer types. Layers are based on `napari's` `Layer`, albeit in a two-dimensional setting. Supported and planned layers:\n - [x] Line Layer - simple line plot.\n - [x] Scatter Layer - scatter plot (similar to `napari's Points` layer).\n - [x] Centroids/Segments Layer - horizontal or vertical line segments.\n - [x] InfLine Layer - infinite horizontal or vertical lines that span over very broad range. Useful for defining regions of interest.\n - [x] Region Layer - infinite horizontal or vertical rectangular boxes that span over very broad range. Useful for defining regions of interest.\n - [x] Shapes Layer - `napari's` own `Shapes` layer\n - [x] Points Layer - `napari's` own `Points` layer\n - [x] Multi-line Layer - more efficient implementation of `Line` layer when multiple lines are necessary.\n - [ ] Bar - horizontal and vertical barchart (TODO)\n- [x] Proper interactivity of each layer type (e.g. moving `Region` or `InfLine`, adding points, etc...)\n- [x] Intuitive interactivity. `napari-plot` will provide excellent level of interactivity with the plotted data. We plan to support several types of `Tools` that permit efficient interrogation of the data. We currently provide several `zoom` and `select` tools and hope to add few extras in the future.\n - [x] Box-zoom - standard zooming rectangle. Simply `left-mouse + drag/release` in the canvas on region of interest\n - [x] Horizontal span - zoom-in only in the y-axis by `Ctrl + left-mouse + drag/release` in the canvas.\n - [x] Vertical span - span-in only in the x-axis by `Shift + left-mouse + drag/release` in the canvas.\n - [x] Rectangle select - rectangle tool allowing sub-selection of data in the canvas. Similar to the `Box-zoom` but without the zooming part.\n - [x] Polygon select - polygon tool allowing sub-selection of data in the canvas.\n - [x] Lasso select - lasso tool allowing sub-selection of data in the canvas.\n- [ ] Interactive plot legend\n- [ ] Customizable axis visuals.\n - [x] Plot axis enabling customization of tick/label size and color\n - [ ] Support for non-linear scale\n- [ ] Add convenient plotting interface:\n - [ ] Add `.plot` functionality\n - [ ] Add `.scatter` functionality\n - [ ] Add `.hbar` and `.vbar` functionality\n - [ ] Add `.imshow` functionality\n\n----------------------------------\n\nThis [napari] plugin was generated with [Cookiecutter] using with [@napari]'s [cookiecutter-napari-plugin] template.\n\n\n\n## Installation\n\nYou can install `napari-plot` directly from PyPI via:\n\n```python\npip install napari-plot\n```\n\nor from the git repo:\n\n```python\ngit clone https://github.com/lukasz-migas/napari-1d.git\ncd napari-1d\npip install -e '.[all]'\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-plot\" 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[BSD-3]: http://opensource.org/licenses/BSD-3-Clause\n[Apache Software License 2.0]: http://www.apache.org/licenses/LICENSE-2.0\n[cookiecutter-napari-plugin]: https://github.com/napari/cookiecutter-napari-plugin\n[file an issue]: https://github.com/lukasz-migas/napari-1d/issues\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\n\n","description_content_type":"text/markdown","keywords":null,"home_page":"https://github.com/lukasz-migas/napari-1d","download_url":null,"author":"Lukasz G. Migas","author_email":"lukas.migas@yahoo.com","maintainer":null,"maintainer_email":null,"license":"BSD-3","classifier":["Development Status :: 2 - Pre-Alpha","Intended Audience :: Developers","Framework :: napari","Topic :: Software Development :: Testing","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Operating System :: OS Independent","License :: OSI Approved :: BSD License"],"requires_dist":["napari-plugin-engine (>=0.1.4)","numpy","qtpy","qtawesome","napari (<0.4.15,>=0.4.13)","matplotlib","vispy (>=0.9.6)","PySide2 (!=5.15.0,>=5.13.2) ; extra == 'all'","pre-commit (>=2.9.0) ; extra == 'dev'","black (==22.1.0) ; extra == 'dev'","flake8 (==4.0.1) ; extra == 'dev'","PySide2 (!=5.15.0,>=5.13.2) ; extra == 'dev'","pytest ; extra == 'dev'","pytest-qt ; extra == 'dev'","scikit-image ; extra == 'dev'","PyQt5 (!=5.15.0,>=5.12.3) ; extra == 'pyqt'","PyQt5 (!=5.15.0,>=5.12.3) ; extra == 'pyqt5'","PySide2 (!=5.15.0,>=5.13.2) ; extra == 'pyside'","PySide2 (!=5.15.0,>=5.13.2) ; extra == 'pyside2'","PyQt5 (!=5.15.0,>=5.12.3) ; extra == 'qt'","pytest ; extra == 'testing'","pytest-qt ; extra == 'testing'","scikit-image ; extra == 'testing'"],"requires_python":">=3.7","requires_external":null,"project_url":["Bug Tracker, https://github.com/lukasz-migas/napari-1d/issues","Documentation, https://github.com/lukasz-migas/napari-1d#README.md","Source Code, https://github.com/lukasz-migas/napari-1d","User Support, https://github.com/lukasz-migas/napari-1d/issues"],"provides_extra":["all","dev","pyqt","pyqt5","pyside","pyside2","qt","testing"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":true}