2D Feature-Based Registration#
Register images to a reference image based on feature-based methods
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}
- image_stacks* :
- 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}
- image_stacks :