38 lines
1.7 KiB
Markdown
38 lines
1.7 KiB
Markdown
# Synthetic Surface
|
||
|
||
Generate synthetic test surfaces for development, calibration, and algorithm testing. Equivalent to Gwyddion's *_synth.c modules.
|
||
|
||
## Outputs
|
||
|
||
| Name | Type | Description |
|
||
|------|------|-------------|
|
||
| surface | DATA_FIELD | Generated synthetic surface |
|
||
|
||
## Controls
|
||
|
||
| Name | Type | Default | Description |
|
||
|------|------|---------|-------------|
|
||
| pattern | dropdown | fbm | Pattern type: fbm, white_noise, lattice, steps, particles, flat |
|
||
| xres | INT | 256 | Horizontal resolution in pixels (16–2048) |
|
||
| yres | INT | 256 | Vertical resolution in pixels (16–2048) |
|
||
| xreal | FLOAT | 1e-6 | Physical width in metres |
|
||
| yreal | FLOAT | 1e-6 | Physical height in metres |
|
||
| amplitude | FLOAT | 1e-9 | Peak-to-peak amplitude in metres |
|
||
| seed | INT | 42 | Random seed for reproducibility (0–999999) |
|
||
| hurst_exponent | FLOAT | 0.7 | FBM roughness exponent: 0 = rough, 1 = smooth (fbm only) |
|
||
| lattice_spacing | FLOAT | 100e-9 | Lattice period in metres (lattice only) |
|
||
| lattice_angle | FLOAT | 90.0 | Angle between lattice vectors in degrees (lattice only) |
|
||
| n_steps | INT | 5 | Number of step terraces (steps only) |
|
||
| n_particles | INT | 20 | Number of particles (particles only) |
|
||
| particle_radius_px | INT | 10 | Particle radius in pixels (particles only) |
|
||
|
||
## Notes
|
||
|
||
- **fbm**: Fractional Brownian motion via spectral synthesis. Hurst exponent controls roughness.
|
||
- **white_noise**: Gaussian random noise.
|
||
- **lattice**: Two-axis sinusoidal grid with configurable spacing and angle.
|
||
- **steps**: Terraced step structure with equal step heights.
|
||
- **particles**: Random spherical particles on a flat background.
|
||
- **flat**: Zero surface (useful as a baseline).
|
||
- All patterns are normalised to the specified amplitude range.
|