Orientation Analysis
A napari plugin to analyse local orientation in images
A napari plugin to analyse local orientation in images.
Installation
You can install the plugin from the napari GUI interface by going to Plugins/Install\Uninstall Plugins and selecting napari-orientation.
Alternatively, you can install the plugin from the napari conda environment via pip:
pip install napari-orientation
Usage
You can access all the functionalities of the plugin from the menu Plugins\Orientation Analysis.
All the analyses work only on single-channel 2D images and on single-channel 2D time series. In this last case the analysis can be restricted to single frames.
The only parameter available is the sigma smoothing, in pixels, which controls the strength of the gaussian filter applied to the gradient of the image before computing the orientation vector pixelwise.
Currently two widgets are available: Compute orientation metrics and Generate vector-coded images
Compute orientation metrics
This GUI gives access to most of the functionalities. You can compute several metrics and display them as images.
Definitions:
- Orientation vector: unitary vector describing the average orientation of the gradient of the intensity around a point in the image. Computationally this is obtained by determining the first eigenvector (i.e. largest eigenvalue) of the structure tensor matrix.
- Orientation field: mapping of the orientation vectors at each point in the image.
- Angle field: mapping of the orientation angle at each point in the image
- Energy: sum of the tensor eigenvalues.
- Coherence: ratio between the difference and the sum of the maximum and minimum tensor eigenvalues.
- Curvature: rate of change in the local orientation in the direction perpendicular to that orientation.
- Correlation length: distance where the radial autocorrelation of the angle field drops below 0.5
Display Colored Orientation
It computes an image where each pixel is colored differently according to the orientation angle estimated at that position.

Display Coherence
It computes an image where the value of each pixel represents the coherence estimated at that position.

Display Curvature
It computes an image where the value of each pixel represents the curvature estimated at that position.

Display Angle
It computes an image where the value of each pixel represents the angle, in degrees, estimated at that position.

Compute statistics
Estimate the average value for the following metrics: Energy, Coherence, Correlation length, Curvature.
The average curvature is estimated as the half life of the exponential decay function modeling the distribution of curvature values in the image.
Note that Correlation length and Curvature metrics are both provided in physical units, and therefore their determination relies on the accuracy of the pixel size provided for the image. Using the napari-bioformats to open the images should guarantee that the pixel size stored in the file metadata is properly read by the plugin. In any case it always possible to adjust the pixel size from the interface.

Generate vector-coded images
It generates a vector layer displaying the orientation field estimated locally, over a grid with spacing defined by the user.

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-orientation" is free and open source software
Issues
If you encounter any problems, please file an issue along with a detailed description.
Credits
This napari plugin was generated with copier using the napari-plugin-template (None).
This work was inspired by the plugin OrientationJ for ImageJ, that was partially converted by the same developers into a plugin for napari.
napari-orientation focuses on the computation of several metrics, some of them proposed in this article
Version:
- 0.1.6
Last updated:
- 2026-03-12
First released:
- 2025-10-10
License:
- Copyright (c) 2025, Giovanni C...
