Image Registration

XamFlow offers a few different approaches to image registration. There are interactive user interfaces and various task types for automatic registration, including via tools like Elastix, ITK or IPL.

Interactive Registration

In XamFlow two images can be registered together with in an interactive user interface. For 2D image registration there is XF.Interactive.RegisterImages2D. For 3D image registration there is XF.Interactive.RegisterImages2D. These are often used together with Lucid.Util.RotatedImageVOIFromRegistrationResult and then Lucid.Core.CropRotatedImageVOI.

Registration Points

Another option is to define registration points using XF.Interactive.DefineRegistrationPoints. That would usually be followed by Lucid.Util.RotatedImageVOIFromRegistrationPoints and then Lucid.Core.CropRotatedImageVOI.

Stacking and Stitching

For example when a sample is scanned or reconstructed in parts, these images can be stacked using Lucid.Core.StackImages. If there is an overlap or offset then Lucid.Registration.PhaseCorrelation can be used to find it.

If there are many tiles that need to be stitched together, then Lucid.Registration.StitchImages3D can be used, after analyzing the tiles with Lucid.Registration.CreateStitchingTable to find all relative tile positions.

Elastix

See Core.Host.Elastix and Example.Elastix.ImageRegistration.

../_images/guide_registration_elastix.jpg

A simple Elastix workflow.

ITK

See Core.Python.SimpleITK and Example.Itk.ImageRegistration.

IPL

See Core.Host.IPL and Scanco.IPL.ImageRegistration.