add a few more nodes
Some checks failed
Build / Build (Linux) (push) Has been cancelled
Build / Build (macOS) (push) Has been cancelled
Build / Build (Windows) (push) Has been cancelled
Deploy / test (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Tests / test (push) Has been cancelled

This commit is contained in:
2026-05-18 20:55:46 -07:00
parent 92ede31867
commit d4c5cf4670
17 changed files with 854 additions and 0 deletions

29
docs/nodes/Arc Revolve.md Normal file
View File

@@ -0,0 +1,29 @@
# Arc Revolve
Subtract a cylindrical arc background. A circular arc of the given radius is rolled under each row (or column), and the envelope it traces is subtracted as the background.
## Inputs
| Name | Type | Required | Description |
|------|------|----------|-------------|
| field | DATA_FIELD | Yes | Input field |
## Outputs
| Name | Type | Description |
|------|------|-------------|
| leveled | DATA_FIELD | Field with arc background subtracted |
| background | DATA_FIELD | The estimated arc background |
## Controls
| Name | Type | Default | Description |
|------|------|---------|-------------|
| radius | INT | 20 | Arc radius in pixels (11000) |
| direction | dropdown | horizontal | Direction to apply the arc: horizontal, vertical, or both |
## Notes
- Larger radii produce smoother backgrounds that follow gentle curvature. Smaller radii track finer features.
- The "both" direction takes the minimum of horizontal and vertical backgrounds.
- Deep outliers are suppressed before fitting so that scratches or pits do not pull the arc down.

View File

@@ -0,0 +1,21 @@
# Level Rotate
Level by physically rotating the data plane. Fits a best-fit plane, converts its slopes to tilt angles, then rotates the surface by those angles using interpolation rather than algebraic subtraction.
## Inputs
| Name | Type | Required | Description |
|------|------|----------|-------------|
| field | DATA_FIELD | Yes | Input field to level |
## Outputs
| Name | Type | Description |
|------|------|-------------|
| leveled | DATA_FIELD | Field with tilt removed by rotation |
## Notes
- Unlike Plane Level (which subtracts a fitted plane), this node rotates the 3D surface to make it horizontal. The distinction matters for steep tilts where subtraction introduces distortion.
- Uses bilinear interpolation to resample rotated z-values.
- Edges are handled with nearest-neighbor extension.

View File

@@ -0,0 +1,28 @@
# Sphere Revolve
Subtract a spherical cap background. A sphere of the given radius is rolled under the surface, and the envelope it traces is subtracted as the background.
## Inputs
| Name | Type | Required | Description |
|------|------|----------|-------------|
| field | DATA_FIELD | Yes | Input field |
## Outputs
| Name | Type | Description |
|------|------|-------------|
| leveled | DATA_FIELD | Field with spherical background subtracted |
| background | DATA_FIELD | The estimated spherical background |
## Controls
| Name | Type | Default | Description |
|------|------|---------|-------------|
| radius | INT | 20 | Sphere radius in pixels (1500) |
## Notes
- Works like Arc Revolve but in two dimensions — suitable for bowl-shaped or dome-shaped backgrounds.
- Larger radii produce smoother backgrounds. Very small radii will track individual features.
- Deep outliers are suppressed before fitting.

28
docs/nodes/Unrotate.md Normal file
View File

@@ -0,0 +1,28 @@
# Unrotate
Auto-detect and correct in-plane scan rotation. Computes a slope angle histogram, finds the dominant feature direction for the given symmetry, and rotates the image to align features with the axes.
## Inputs
| Name | Type | Required | Description |
|------|------|----------|-------------|
| field | DATA_FIELD | Yes | Input field to correct |
## Outputs
| Name | Type | Description |
|------|------|-------------|
| leveled | DATA_FIELD | Field with rotation corrected |
## Controls
| Name | Type | Default | Description |
|------|------|---------|-------------|
| symmetry | dropdown | 4-fold | Expected symmetry of the surface features: 2-fold, 3-fold, 4-fold, or 6-fold |
## Notes
- Best suited for crystalline or patterned surfaces where features have a clear preferred direction.
- 4-fold symmetry is the most common choice for cubic crystal surfaces and rectangular gratings.
- If the detected rotation is less than 0.01°, the data is returned unchanged.
- Uses bilinear interpolation; edges are handled with nearest-neighbor extension.

View File

@@ -0,0 +1,20 @@
# Zero Maximum
Shift all values so the maximum is exactly zero. All resulting values will be zero or negative.
## Inputs
| Name | Type | Required | Description |
|------|------|----------|-------------|
| field | DATA_FIELD | Yes | Input field to level |
## Outputs
| Name | Type | Description |
|------|------|-------------|
| leveled | DATA_FIELD | Field with maximum subtracted |
## Notes
- Equivalent to subtracting the global maximum from every pixel.
- Useful when the highest point should represent the zero reference.

20
docs/nodes/Zero Mean.md Normal file
View File

@@ -0,0 +1,20 @@
# Zero Mean
Shift all values so the mean is exactly zero. A pure offset subtraction — no plane fit or polynomial involved.
## Inputs
| Name | Type | Required | Description |
|------|------|----------|-------------|
| field | DATA_FIELD | Yes | Input field to level |
## Outputs
| Name | Type | Description |
|------|------|-------------|
| leveled | DATA_FIELD | Field with mean subtracted |
## Notes
- Equivalent to subtracting a constant (the mean) from every pixel.
- Does not change relative height differences — only shifts the overall offset.