Global parameter resolution
After pairwise registration, global parameter resolution computes a consistent
transform for each view. Select a built-in method by name via
registration.register(..., groupwise_resolution_method=...) and pass options
through groupwise_resolution_kwargs. Custom methods are described in the
Extension API section.
global_optimization (default)
- Iterative optimization on a virtual-bead graph derived from pairwise overlaps.
- Supports
transformmodes: translation, rigid, similarity, affine. - Prunes edges based on residuals to reject outliers.
- Robust but can be slower for large graphs.
The transform option
The global_optimization method accepts a transform setting in
groupwise_resolution_kwargs that constrains the type of transforms computed
during global parameter resolution. It defaults to "translation", which means
final transformations are limited to translations. If your pairwise
registration method returns higher-order transforms (e.g. rigid, similarity, or
affine), you need to set transform explicitly to preserve those components:
groupwise_resolution_kwargs={
"transform": "rigid", # constrains the final type of transforms returned for each tile
}
For example, when using registration_ITKElastix with
transform_types=["Rigid", "Affine"], it typically makes sense to set "transform": "affine" so that the global resolution step retains the full affine transforms rather than discarding
everything beyond translation.
linear_two_pass (experimental)
- Sparse Laplacian-style solves with first-order rotation linearization and two-pass outlier pruning.
- Supports
transformmodes: translation, rigid. - Key options:
residual_thresholdormad_k,keep_mst,weight_mode, andprior_lambda(stage-frame regularizer). - Uses physical residuals for pruning; designed for fast global correction.
shortest_paths
- Builds global transforms by concatenating pairwise transforms along quality-weighted shortest paths.
- Very fast and deterministic.
- Best when the registration graph is tree-like or pairwise registrations are reliable; drift can accumulate in loopy graphs.