Metadata-Version: 2.4
Name: napari-apply-transforms
Version: 0.1.1
Summary: Apply affine, rotate, scale, shear, translate to napari layers
Author: Caporal Clément
Author-email: caporal.clement@gmail.com
License-Expression: BSD-3-Clause
Project-URL: Bug Tracker, https://github.com/ClementCaporal/napari-apply-transforms/issues
Project-URL: Documentation, https://github.com/ClementCaporal/napari-apply-transforms#README.md
Project-URL: Source Code, https://github.com/ClementCaporal/napari-apply-transforms
Project-URL: User Support, https://github.com/ClementCaporal/napari-apply-transforms/issues
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Framework :: napari
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Image Processing
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: magicgui
Requires-Dist: qtpy
Requires-Dist: scikit-image
Provides-Extra: all
Requires-Dist: napari[all]; extra == "all"
Dynamic: license-file

# napari-apply-transforms

[![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)
[![PyPI](https://img.shields.io/pypi/v/napari-apply-transforms.svg?color=green)](https://pypi.org/project/napari-apply-transforms)
[![Python Version](https://img.shields.io/pypi/pyversions/napari-apply-transforms.svg?color=green)](https://python.org)
[![tests](https://github.com/ClementCaporal/napari-apply-transforms/workflows/tests/badge.svg)](https://github.com/ClementCaporal/napari-apply-transforms/actions)
[![codecov](https://codecov.io/gh/ClementCaporal/napari-apply-transforms/branch/main/graph/badge.svg)](https://codecov.io/gh/ClementCaporal/napari-apply-transforms)
[![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)
[![npe2](https://img.shields.io/badge/plugin-npe2-blue?link=https://napari.org/stable/plugins/index.html)](https://napari.org/stable/plugins/index.html)
[![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)

Apply scale → shear → rotate → translate → affine (in this order) to layers.
The goal was to allow user to save their csv of points after applying transforms to the points layer.

<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" />

Steps to reproduce:
- Open napari
- Create a points layer and populate it
- Change any of its transformed (for example scale using plugin > napari metadata > layer metadata)
- Open the apply transform widgets (Plugin > Apply Points Transforms)
- Choose which transforms you want to apply
- 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.
- You can now save or apply downstream analysis with applied transforms!


> For now only points layers are supported, but open to issues/PRs to add support for other layers.

----------------------------------

This [napari] plugin was generated with [copier] using the [napari-plugin-template] (None).

<!--
Don't miss the full getting started guide to set up your new package:
https://github.com/napari/napari-plugin-template#getting-started

and review the napari docs for plugin developers:
https://napari.org/stable/plugins/index.html
-->

## Installation

You can install `napari-apply-transforms` via [pip]:

```bash
pip install napari-apply-transforms
```

If napari is not already installed, you can install `napari-apply-transforms` with napari and Qt via:

```bash
pip install "napari-apply-transforms[all]"
```


To install latest development version:

```bash
pip install git+https://github.com/ClementCaporal/napari-apply-transforms.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-apply-transforms" is free and open source software

## Issues

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

[napari]: https://github.com/napari/napari
[copier]: https://copier.readthedocs.io/en/stable/
[MIT]: http://opensource.org/licenses/MIT
[BSD-3]: http://opensource.org/licenses/BSD-3-Clause
[GNU GPL v3.0]: http://www.gnu.org/licenses/gpl-3.0.txt
[GNU LGPL v3.0]: http://www.gnu.org/licenses/lgpl-3.0.txt
[Apache Software License 2.0]: http://www.apache.org/licenses/LICENSE-2.0
[Mozilla Public License 2.0]: https://www.mozilla.org/media/MPL/2.0/index.txt
[napari-plugin-template]: https://github.com/napari/napari-plugin-template

[file an issue]: https://github.com/ClementCaporal/napari-apply-transforms/issues

[tox]: https://tox.readthedocs.io/en/latest/
[pip]: https://pypi.org/project/pip/
[PyPI]: https://pypi.org/
