Curvature Modules
Calculate various curvature metrics for traces.
angle_diff_signed(v1: npt.NDArray[np.number], v2: npt.NDArray[np.number])
Calculate the signed angle difference between two point vecrtors in 2D space.
Positive angles are clockwise, negative angles are counterclockwise.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
v1
|
NDArray[number]
|
First vector. |
required |
v2
|
NDArray[number]
|
Second vector. |
required |
Returns:
| Type | Description |
|---|---|
float
|
The signed angle difference in radians. |
Source code in topostats\measure\curvature.py
calculate_curvature_stats_image(all_grain_smoothed_data: dict, pixel_to_nm_scaling: float) -> dict
Perform curvature analysis for a whole image of grains.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
all_grain_smoothed_data
|
dict
|
Dictionary containing grain traces in pixel units. |
required |
pixel_to_nm_scaling
|
float
|
Pixel to nm scaling factor. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
The curvature statistics for each grain. Indexes are grain indexes. |
Source code in topostats\measure\curvature.py
discrete_angle_difference_per_nm_circular(trace_nm: npt.NDArray[np.number]) -> npt.NDArray[np.number]
Calculate the discrete angle difference per nm along a trace.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
trace_nm
|
NDArray[number]
|
The coordinate trace, in nanometre units. |
required |
Returns:
| Type | Description |
|---|---|
NDArray[number]
|
The discrete angle difference per nm. |
Source code in topostats\measure\curvature.py
discrete_angle_difference_per_nm_linear(trace_nm: npt.NDArray[np.number]) -> npt.NDArray[np.number]
Calculate the discrete angle difference per nm along a trace.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
trace_nm
|
NDArray[number]
|
The coordinate trace, in nanometre units. |
required |
Returns:
| Type | Description |
|---|---|
NDArray[number]
|
The discrete angle difference per nm. |