"Configure SimpleITK transforms, resampling,
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill registration-transforms --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Registration Transforms?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-registration-transforms-arex-skill)More formats (shields.io, HTML) on the badges page.
---
name: registration-transforms
description: "Configure SimpleITK transforms, resampling,
ImageRegistrationMethod workflows, and optional elastix/transformix wrappers."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# SimpleITK Registration and Transforms
Use this sub-skill when a task involves registration, `ImageRegistrationMethod`, image-to-image metrics, optimizers, transform initialization, `Resample`, displacement fields, `CompositeTransform`, or optional `ElastixImageFilter`/`TransformixImageFilter` wrappers.
## Route by Task
- For transform direction, physical-space semantics, resampling grids, interpolation, inverse-transform mistakes, and label-vs-intensity interpolation, read [transform-resampling](references/transform-resampling.md).
- For `ImageRegistrationMethod` setup, initialization, metrics, optimizers, multi-resolution, reproducibility, callbacks, and output-transform use, read [registration-workflows](references/registration-workflows.md).
- For optional `ElastixImageFilter`, `TransformixImageFilter`, parameter maps, and build-dependent availability checks, read [elastix-transformix](references/elastix-transformix.md).
- For black resamples, no-overlap failures, bad masks/sampling, nondeterminism, type mismatches, and missing optional wrappers, read [troubleshooting](references/troubleshooting.md).
- To validate a local install with a deterministic generated-image translation registration and resample, run [registration_smoke.py](scripts/registration_smoke.py).
## Boundary Notes
- Use [../io-and-data/SKILL.md](../io-and-data/SKILL.md) for `ReadImage`, `WriteImage`, transform file IO, ImageIO backend discovery, DICOM, and metadata tags.
- Use [../filtering-segmentation/SKILL.md](../filtering-segmentation/SKILL.md) for preprocessing filters, masks created by thresholding/morphology, segmentation, and label statistics.
- Use [../builds-and-wrapping/SKILL.md](../builds-and-wrapping/SKILL.md) for building SimpleITK, Python wrapping, and enabling optional elastix/transformix wrappers.
- Use [../image-core/SKILL.md](../image-core/SKILL.md) for image dimensions, spacing/origin/direction, physical coordinates, pixel IDs, and NumPy conversion fundamentals.
## Essential Rules
- Import the public package as `import SimpleITK as sitk`; the Python distribution name is `simpleitk`.
- Registration output transforms map physical points from the fixed image domain to the moving image domain; pass that transform directly when resampling the moving image onto the fixed image grid.
- Treat images and transforms in physical space: spacing, origin, direction, transform center, and fixed/moving image roles are part of correctness.
- Use `sitk.sitkLinear` for continuous intensity images and `sitk.sitkNearestNeighbor` for labels; linear interpolation can invent invalid label values.
- For reproducible sampled registration, pass a fixed seed to `SetMetricSamplingPercentage` and consider forcing one global thread during smoke tests or exact comparisons.
- Guard every elastix/transformix path with `hasattr(sitk, "ElastixImageFilter")` and `hasattr(sitk, "TransformixImageFilter")`; wrappers are optional and were absent from the inspected wheel even though source wrappers exist.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!