Tiled FH + region mean-shift segmentation with seam-aware merging
Source:R/tile_engine.R
fh_meanshift_segmenter_tile.RdConvenience wrapper around [segmenter_tile_engine()] that runs a two-stage segmentation per tile: (1) Felzenszwalb-Huttenlocher (FH) superpixels and (2) mean-shift clustering on region features, followed by seam-aware merging and global relabeling.
Usage
fh_meanshift_segmenter_tile(
x,
tile_size = 1536,
buffer = 96,
seam_thr = 0.8,
out_file = "fh_meanshift_tiled_merged.tif",
tile_dir = tempdir(),
cleanup_tiles = FALSE,
cleanup_seg_tiles = FALSE,
scale_bands = TRUE,
smooth = 3,
fh_k = 0.5,
fh_min_size = 20,
eight = TRUE,
ms_dim = 3,
ms_ranger = 0.15,
ms_hs = 12,
ms_max_iter = 10,
ms_eps = 0.001,
mode_merge = 0.6,
final_min_size = 80
)Arguments
- x
A `SpatRaster` to segment.
- tile_size
Integer. Tile size in pixels (rows/cols) excluding buffer.
- buffer
Integer. Overlap (in pixels) added around each tile.
- seam_thr
Numeric. Threshold for merging seam-adjacent segments, applied to Euclidean distance between per-segment mean band vectors.
- out_file
Character. Output file path for the final segmentation.
- tile_dir
Character. Directory used for intermediate tile products.
- cleanup_tiles
Logical. If `TRUE`, remove raw image tile files after segmentation.
- cleanup_seg_tiles
Logical. If `TRUE`, remove segmented tile files once the final output is produced.
- scale_bands
Logical. If `TRUE`, standardize bands before processing.
- smooth
Integer. Optional smoothing window size (pixels) applied to the input prior to FH; `0` disables smoothing.
- fh_k
Numeric. FH scale parameter (larger values generally yield larger base regions).
- fh_min_size
Integer. Minimum FH region size in pixels.
- eight
Logical. If `TRUE`, use 8-neighborhood connectivity; otherwise use 4-neighborhood.
- ms_dim
Integer. Number of dimensions used for region feature vectors prior to mean-shift.
- ms_ranger
Numeric. Mean-shift range/bandwidth scaling parameter used by the region mean-shift stage.
- ms_hs
Numeric. Mean-shift spatial/kernel bandwidth (implementation- specific; forwarded to the underlying mean-shift routine).
- ms_max_iter
Integer. Maximum mean-shift iterations.
- ms_eps
Numeric. Convergence tolerance for mean-shift updates.
- mode_merge
Numeric. Post-processing threshold controlling merging of similar modes/clusters after mean-shift.
- final_min_size
Integer. Minimum final segment size (pixels) enforced after region clustering and mode merging.
Value
A file-backed `SpatRaster` pointing to `out_file`, containing a 1-layer integer segmentation with globally consecutive IDs.