Files
tono/docs/nodes/Grain Visualization.md
2026-04-04 00:25:53 -07:00

35 lines
1.8 KiB
Markdown

# Grain Visualization
Visualize labeled grains as geometric shapes — inscribed discs, bounding boxes, centroid markers, or fitted ellipses. Produces a mask image with the chosen shapes and a labeled field where each grain has a unique integer value. Equivalent to Gwyddion's grain selection visualization (grain_makesel).
## Inputs
| Name | Type | Required | Description |
|------|------|----------|-------------|
| field | DATA_FIELD | Yes | Source data field providing spatial reference and calibration |
| mask | IMAGE | Yes | Binary grain mask (white = grain region) |
## Outputs
| Name | Type | Description |
|------|------|-------------|
| result | IMAGE | Visualization mask with geometric shapes drawn for each grain |
| labeled | DATA_FIELD | Labeled field where each connected grain region has a unique integer value |
## Controls
| Name | Type | Default | Description |
|------|------|---------|-------------|
| style | dropdown | inscribed_disc | Visualization style: inscribed_disc, bounding_box, centroid, or ellipse |
| fill | BOOLEAN | False | When enabled, shapes are filled; when disabled, only outlines are drawn |
## Notes
- **inscribed_disc**: Draws a circle at each grain centroid with the inscribed disc radius (maximum of the distance transform within the grain).
- **bounding_box**: Draws an axis-aligned rectangle around each grain's bounding box.
- **centroid**: Draws small cross markers at each grain's centroid.
- **ellipse**: Fits an ellipse to each grain using the inertia tensor to determine the major/minor axes and orientation angle.
- When fill is disabled, outlines are drawn with approximately 1-2 pixel thickness.
- The labeled output assigns each connected grain region a unique positive integer; background pixels are zero.
- The mask and field must have the same pixel dimensions.