Skip to contents

geometry.diagnostics() augments the graph-aware quality measures in score.layout() with target-aware geometric diagnostics. The function aligns coords to target.coords using an orthogonal Procrustes fit, then reports global symmetry, local angle preservation, edge-axis concentration, and, for Sierpinski carpet layouts, boundary, corridor, and hole-center diagnostics.

Usage

geometry.diagnostics(
  coords,
  target.coords,
  edges,
  family = NULL,
  sample.size.symmetry = 512L,
  sample.size.wedges = 4000L,
  rng.seed = 1L
)

Arguments

coords

Numeric layout matrix with 2 or 3 columns.

target.coords

Canonical target coordinates with the same shape as coords.

edges

Two-column integer edge matrix.

family

Optional graph-family label. Use "sierpinski.carpet" to enable carpet-specific diagnostics.

sample.size.symmetry

Number of vertices sampled when evaluating global symmetry.

sample.size.wedges

Number of wedges sampled when evaluating local angle deviation.

rng.seed

Integer seed used for the symmetry and wedge sampling.

Value

A one-row data frame of geometric diagnostics.

Details

Metrics are reported so that larger global.symmetry.score and edge.axis.concentration are better, while smaller procrustes.rmse, local.angle.deviation, boundary.waviness, corridor.waviness, hole.center.error, central.hole.skew, central.hole.aspect.error, and central.hole.center.error are better.