2D Feature-Based Registration#

Register images to a reference image based on feature-based methods

../../_images/2D_feature-based_registration.png

Parameters#

image_stacks

Image stacks as a dictionary of numpy arrays or list of HDF5 dataset URI’s

detector

Method to detect and describe feature points in an image. Options: (‘Sift-Silx’, ‘Sift-SciKitImage’, ‘Orb-SciKitImage’)

matcher

Method to build correspondence between the feature points in two images. Options: (‘Descriptor-Silx’, ‘Descriptor-SciKitImage’)

mapper

Method to find parameters of the transformation between the matches Options: (‘LstSq-Numpy’, ‘LstSq-SciPy’, ‘Ransac-SciKitImage’)

transformation_type

Type of transformation between the matches

reference

The image in the stack that everything will be aligned to

Reg2DFeatures#

Use a feature-based registration method to calculate transformations between the images in one or more stacks.

Identifier:
ewoksndreg.tasks.reg2d_features.Reg2DFeatures
Task type:
class
Inputs:
image_stacks* : ewoksndreg.io.input_stack.InputStacks | Dict[str, Sequence[numpy.ndarray]] | Dict[str, numpy.ndarray] | Sequence[str | silx.io.url.DataUrl] | Dict[str, str | silx.io.url.DataUrl]

Image stacks as a dictionary of numpy arrays or list of HDF5 dataset URI’s.

Examples:
  • {'stack1': '/path/to/file.h5::/entry/process/results/parameters/Ca-K', 'stack2': '/path/to/file.h5::/entry/process/results/parameters/Fe-K'}
  • {'stack1': [[0, 0, 0], [1, 1, 1], [2, 2, 2]]}
detector* : ewoksndreg.registry.RegistryId | str | Tuple[str, str]

Method to detect and describe feature points in an image.

Examples:
  • 'Sift-Silx'
  • 'Sift-SciKitImage'
  • 'Orb-SciKitImage'
matcher* : ewoksndreg.registry.RegistryId | str | Tuple[str, str]

Method to build correspondence between the feature points in two images.

Examples:
  • 'Descriptor-Silx'
  • 'Descriptor-SciKitImage'
mapper* : ewoksndreg.registry.RegistryId | str | Tuple[str, str]

Method to find parameters of the transformation between the matches.

Examples:
  • 'LstSq-Numpy'
  • 'LstSq-SciPy'
  • 'Ransac-SciKitImage'
transformation_type* : ewoksndreg.transformation.types.TransformationType

Type of transformation between the matches.

Examples:
  • 'Translation'
  • 'Rigid'
  • 'Affine'
reference_image : int | float= 0

The index of the reference image in the stack (0.5 is the middle of the stack).The calculated transformations will be relative to this image.

Examples:
  • 0
  • -1
  • 0.5
reference_stack : str | None= None

Transformations of all stacks is based on the image registration of this stack.

Examples:
  • 'stack1'
  • 'stack2'
mask : numpy.ndarray | None= None

Boolean image mask applied to the image before calculating the transformation (False means masked-off).

Examples:
  • [[True, True, True], [True, True, True], [False, True, True]]
output_configuration : Dict[str, Any] | None= None

Registration configuration parameters to be saved.

Examples:
  • {'param1': 0, 'param2': 1}
Outputs:
image_stacks : ewoksndreg.io.input_stack.InputStacks | Dict[str, Sequence[numpy.ndarray]] | Dict[str, numpy.ndarray] | Sequence[str | silx.io.url.DataUrl] | Dict[str, str | silx.io.url.DataUrl]

Dictionary of image stacks in memory or URIs.

transformations : Dict[str, List[ewoksndreg.transformation.base.Transformation]]

Transformation between the images of each stack.

reference_stack : str | None

Transformations of all stacks is based on the image registration of this stack.

Examples:
  • 'stack1'
  • 'stack2'
features : Dict[str, List[ewoksndreg.features.features.base.Features]]
matches : Dict[str, List[Tuple[ewoksndreg.features.features.base.Features | None, ewoksndreg.features.features.base.Features | None]]]
output_configuration : Dict[str, Any] | None

Registration configuration parameters to be saved.

Examples:
  • {'param1': 0, 'param2': 1}