IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Image registration using 2D grey signed features

Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d. More...

IPSDKIPLREGISTRATION_API GSFRegistrationImg2dResult ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg (const image::ImageConstPtr &pInImg1, const image::ImageConstPtr &pInImg2)
 wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d More...
 
IPSDKIPLREGISTRATION_API GSFRegistrationImg2dResult ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg (const image::ImageConstPtr &pInImg1, const image::ImageConstPtr &pInImg2, const ipsdk::imaproc::attr::eRegistrationMotionModel2d &motionModel)
 wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d More...
 
IPSDKIPLREGISTRATION_API GSFRegistrationImg2dResult ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg (const image::ImageConstPtr &pInImg1, const image::ImageConstPtr &pInImg2, const ipsdk::imaproc::attr::eRegistrationMotionModel2d &motionModel, const ipsdk::imaproc::attr::eInterpolationPolicy &interpPolicy, const ipsdk::ipUInt32 nbPoints)
 wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d More...
 
IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg (const image::ImageConstPtr &pInImg1, const image::ImageConstPtr &pInImg2, const image::ImagePtr &pOutImg)
 wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d More...
 
IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg (const image::ImageConstPtr &pInImg1, const image::ImageConstPtr &pInImg2, const ipsdk::imaproc::attr::eRegistrationMotionModel2d &motionModel, const image::ImagePtr &pOutImg)
 wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d More...
 
IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg (const image::ImageConstPtr &pInImg1, const image::ImageConstPtr &pInImg2, const ipsdk::imaproc::attr::eRegistrationMotionModel2d &motionModel, const ipsdk::imaproc::attr::eInterpolationPolicy &interpPolicy, const ipsdk::ipUInt32 nbPoints, const image::ImagePtr &pOutImg)
 wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d More...
 
IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg (const image::ImageConstPtr &pInImg1, const image::ImageConstPtr &pInImg2, const image::ImagePtr &pOutImg, const image::ImagePtr &pOutMaskImg)
 wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d More...
 
IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg (const image::ImageConstPtr &pInImg1, const image::ImageConstPtr &pInImg2, const ipsdk::imaproc::attr::eRegistrationMotionModel2d &motionModel, const image::ImagePtr &pOutImg, const image::ImagePtr &pOutMaskImg)
 wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d More...
 
IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg (const image::ImageConstPtr &pInImg1, const image::ImageConstPtr &pInImg2, const ipsdk::imaproc::attr::eRegistrationMotionModel2d &motionModel, const ipsdk::imaproc::attr::eInterpolationPolicy &interpPolicy, const ipsdk::ipUInt32 nbPoints, const image::ImagePtr &pOutImg, const image::ImagePtr &pOutMaskImg)
 wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d More...
 

Detailed Description

Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d.

This algorithm register the first input image to patch the second input image. It simplifies the use of grey features to directly apply the transform to the image.

To do so, the following steps are performed:

A mask image can also been computed if it is provided by the user.

The algorithm also returns the estimated motion, to allow the user to have access to the tranform parameters.

Here is an example of result of registration:

greySignedFeaturesImg2dRegistrationImg.png

Attributes description

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InImg1 [Input] First image for processing operation X
ipsdk::imaproc::attr::InImg2 [Input] Second image for processing operation X
ipsdk::imaproc::attr::InOptNbFeatures [Input Optional] target number of features to be detected by algorithm X
ipsdk::imaproc::attr::InOptRegMotionModel2d [Input Optional] 2d motion model which should be used for computation X
ipsdk::imaproc::attr::InOptCorrelationThreshold2d [Input Optional] threshold on 2d correlation scores used during pairs matching X
ipsdk::imaproc::attr::InOptRegistrationEstimationConfig [Input Optional] configuration for robust estimation part of features registration X
ipsdk::imaproc::attr::InOptInterpolationPolicy [Input Optional] interpolation policy used to extract local data from image X
ipsdk::imaproc::attr::OutWk1Img [Output] Temporary working image for algorithm promoteBinary (_pOutWk1Img, _pInImg1, _pInImg2, ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned)
ipsdk::imaproc::attr::OutWk2Img [Output] Temporary working image for algorithm promoteBinary (_pOutWk2Img, _pInImg1, _pInImg2, ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned)
ipsdk::imaproc::attr::OutWk3Img [Output] Temporary working image for algorithm promoteBinary (_pOutWk3Img, _pInImg1, _pInImg2, ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned)
ipsdk::imaproc::attr::OutWk4Img [Output] Temporary working image for algorithm promoteBinary (_pOutWk4Img, _pInImg1, _pInImg2, ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned)
ipsdk::imaproc::attr::OutPIRegistrationMotionTransform2d [Output] Plan indexed collection of motion transforms 2d used during processing ipsdk::imaproc::fromImage (_pOutPIRegistrationMotionTransform2d, _pInImg1)
ipsdk::imaproc::attr::OutImg [Output] image for processing operation ipsdk::imaproc::duplicateInOut (_pOutImg, _pInImg1)
ipsdk::imaproc::attr::OutOptMaskImg [Output Optional] mask image for processing operation X

Global Rule description

Global rule description for algorithm :
ipsdk::imaproc::matchSize (_pInImg1,_pInImg2,_pOutImg) && 
ipsdk::imaproc::matchSize (_pInImg1,_pOutWk1Img,_pOutWk2Img) && 
ipsdk::imaproc::matchSize (_pInImg1,_pOutWk3Img,_pOutWk4Img) && 
ipsdk::imaproc::matchImagePlans (_pOutPIRegistrationMotionTransform2d,_pInImg1,eImagePlansMatchPolicy::eIPMP_ZCT) && 
ipsdk::processor::ifIsSet (_pOutOptMaskImg,
 ipsdk::imaproc::match2dMask (_pOutImg,_pOutOptMaskImg))

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLRegistration as registration

Code Example

# opening of input images
inImg1 = PyIPSDK.loadTiffImageFile(inputImgPath1)
inImg2 = PyIPSDK.loadTiffImageFile(inputImgPath2)
outImg, transform = registration.greySignedFeatures2dRegistrationImg(inImg1, inImg2, PyIPSDK.eRMM2d_Similarity)

Example of C++ code :

Example informations

Associated library

IPSDKIPLRegistration

Header file

Code Example

GSFRegistrationImg2dResult result = greySignedFeatures2dRegistrationImg(pInImg1, pInImg2, eRegistrationMotionModel2d::eRMM2d_Similarity);
See also
GreySignedFeatures2dRegistrationImgLvl1
GreySignedFeatures2dRegistrationImgLvl2

Function Documentation

◆ greySignedFeatures2dRegistrationImg() [1/9]

IPSDKIPLREGISTRATION_API GSFRegistrationImg2dResult ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg ( const image::ImageConstPtr pInImg1,
const image::ImageConstPtr pInImg2 
)

wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ greySignedFeatures2dRegistrationImg() [2/9]

IPSDKIPLREGISTRATION_API GSFRegistrationImg2dResult ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg ( const image::ImageConstPtr pInImg1,
const image::ImageConstPtr pInImg2,
const ipsdk::imaproc::attr::eRegistrationMotionModel2d motionModel 
)

wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ greySignedFeatures2dRegistrationImg() [3/9]

IPSDKIPLREGISTRATION_API GSFRegistrationImg2dResult ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg ( const image::ImageConstPtr pInImg1,
const image::ImageConstPtr pInImg2,
const ipsdk::imaproc::attr::eRegistrationMotionModel2d motionModel,
const ipsdk::imaproc::attr::eInterpolationPolicy interpPolicy,
const ipsdk::ipUInt32  nbPoints 
)

wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ greySignedFeatures2dRegistrationImg() [4/9]

IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg ( const image::ImageConstPtr pInImg1,
const image::ImageConstPtr pInImg2,
const image::ImagePtr pOutImg 
)

wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ greySignedFeatures2dRegistrationImg() [5/9]

IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg ( const image::ImageConstPtr pInImg1,
const image::ImageConstPtr pInImg2,
const ipsdk::imaproc::attr::eRegistrationMotionModel2d motionModel,
const image::ImagePtr pOutImg 
)

wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ greySignedFeatures2dRegistrationImg() [6/9]

IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg ( const image::ImageConstPtr pInImg1,
const image::ImageConstPtr pInImg2,
const ipsdk::imaproc::attr::eRegistrationMotionModel2d motionModel,
const ipsdk::imaproc::attr::eInterpolationPolicy interpPolicy,
const ipsdk::ipUInt32  nbPoints,
const image::ImagePtr pOutImg 
)

wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ greySignedFeatures2dRegistrationImg() [7/9]

IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg ( const image::ImageConstPtr pInImg1,
const image::ImageConstPtr pInImg2,
const image::ImagePtr pOutImg,
const image::ImagePtr pOutMaskImg 
)

wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ greySignedFeatures2dRegistrationImg() [8/9]

IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg ( const image::ImageConstPtr pInImg1,
const image::ImageConstPtr pInImg2,
const ipsdk::imaproc::attr::eRegistrationMotionModel2d motionModel,
const image::ImagePtr pOutImg,
const image::ImagePtr pOutMaskImg 
)

wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ greySignedFeatures2dRegistrationImg() [9/9]

IPSDKIPLREGISTRATION_API ipsdk::imaproc::attr::RegistrationMotionTransform2dPtr ipsdk::imaproc::registration::greySignedFeatures2dRegistrationImg ( const image::ImageConstPtr pInImg1,
const image::ImageConstPtr pInImg2,
const ipsdk::imaproc::attr::eRegistrationMotionModel2d motionModel,
const ipsdk::imaproc::attr::eInterpolationPolicy interpPolicy,
const ipsdk::ipUInt32  nbPoints,
const image::ImagePtr pOutImg,
const image::ImagePtr pOutMaskImg 
)

wrapper function for Apply to the first input image the transform estimated between the two input images using ExtractGreySignedFeatures2d

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure