{"name":"napari-apply-transforms","display_name":"Apply Transforms","visibility":"public","icon":null,"categories":[],"schema_version":"0.3.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-apply-transforms.make_function_widget","title":"Apply points transforms function widget","python_name":"napari_apply_transforms._widget:apply_points_transforms","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"napari-apply-transforms.make_function_widget","display_name":"Apply points transforms","autogenerate":true,"default_dock_area":"right","tabify":false}],"sample_data":null,"themes":null,"menus":{"napari/layers/segment":[{"command":"napari-apply-transforms.make_function_widget","when":null,"group":null,"alt":null}]},"submenus":null,"keybindings":null,"configurations":{}},"package_metadata":{"metadata_version":"2.4","name":"napari-apply-transforms","version":"0.1.1","dynamic":["license-file"],"platform":null,"supported_platform":null,"summary":"Apply affine, rotate, scale, shear, translate to napari layers","description":"# napari-apply-transforms\n\n[![License BSD-3](https://img.shields.io/pypi/l/napari-apply-transforms.svg?color=green)](https://github.com/ClementCaporal/napari-apply-transforms/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-apply-transforms.svg?color=green)](https://pypi.org/project/napari-apply-transforms)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-apply-transforms.svg?color=green)](https://python.org)\n[![tests](https://github.com/ClementCaporal/napari-apply-transforms/workflows/tests/badge.svg)](https://github.com/ClementCaporal/napari-apply-transforms/actions)\n[![codecov](https://codecov.io/gh/ClementCaporal/napari-apply-transforms/branch/main/graph/badge.svg)](https://codecov.io/gh/ClementCaporal/napari-apply-transforms)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-apply-transforms)](https://napari-hub.org/plugins/napari-apply-transforms)\n[![npe2](https://img.shields.io/badge/plugin-npe2-blue?link=https://napari.org/stable/plugins/index.html)](https://napari.org/stable/plugins/index.html)\n[![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-purple.json)](https://github.com/copier-org/copier)\n\nApply scale → shear → rotate → translate → affine (in this order) to layers.\nThe goal was to allow user to save their csv of points after applying transforms to the points layer.\n\n<img width=\"1142\" height=\"774\" alt=\"Screenshot 2026-10-27 at 17 40 44\" src=\"https://github.com/user-attachments/assets/e5cf4005-7434-42d1-b73e-63c3cc3e6583\" />\n\nSteps to reproduce:\n- Open napari\n- Create a points layer and populate it\n- Change any of its transformed (for example scale using plugin > napari metadata > layer metadata)\n- Open the apply transform widgets (Plugin > Apply Points Transforms)\n- Choose which transforms you want to apply\n- All the selected transforms will be applied to the coordinates of the points. The unselected transforms will be copied to the layer attributes. All points should have the same position than the source layer.\n- You can now save or apply downstream analysis with applied transforms!\n\n\n> For now only points layers are supported, but open to issues/PRs to add support for other layers.\n\n----------------------------------\n\nThis [napari] plugin was generated with [copier] using the [napari-plugin-template] (None).\n\n<!--\nDon't miss the full getting started guide to set up your new package:\nhttps://github.com/napari/napari-plugin-template#getting-started\n\nand review the napari docs for plugin developers:\nhttps://napari.org/stable/plugins/index.html\n-->\n\n## Installation\n\nYou can install `napari-apply-transforms` via [pip]:\n\n```bash\npip install napari-apply-transforms\n```\n\nIf napari is not already installed, you can install `napari-apply-transforms` with napari and Qt via:\n\n```bash\npip install \"napari-apply-transforms[all]\"\n```\n\n\nTo install latest development version:\n\n```bash\npip install git+https://github.com/ClementCaporal/napari-apply-transforms.git\n```\n\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-apply-transforms\" 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[copier]: https://copier.readthedocs.io/en/stable/\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[napari-plugin-template]: https://github.com/napari/napari-plugin-template\n\n[file an issue]: https://github.com/ClementCaporal/napari-apply-transforms/issues\n\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":null,"download_url":null,"author":"Caporal Clément","author_email":"caporal.clement@gmail.com","maintainer":null,"maintainer_email":null,"license":null,"classifier":["Development Status :: 2 - Pre-Alpha","Framework :: napari","Intended Audience :: Developers","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["numpy","magicgui","qtpy","scikit-image","napari[all]; extra == \"all\""],"requires_python":">=3.11","requires_external":null,"project_url":["Bug Tracker, https://github.com/ClementCaporal/napari-apply-transforms/issues","Documentation, https://github.com/ClementCaporal/napari-apply-transforms#README.md","Source Code, https://github.com/ClementCaporal/napari-apply-transforms","User Support, https://github.com/ClementCaporal/napari-apply-transforms/issues"],"provides_extra":["all"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}