IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Functions | Variables

Apply a generic motion field to an image. More...

Functions

 ipsdk::imaproc::gtrans::~ElasticWarp2dImgLvl1 ()
 destructor
 
const std::string & ipsdk::imaproc::gtrans::getObjectName () const
 method allowing to retrieve object name
 
const std::string & ipsdk::imaproc::gtrans::getToolTip () const
 method allowing to retrieve object tooltip
 
const boost::filesystem::path ipsdk::imaproc::gtrans::getHeaderPath () const
 retrieve relative header path associated to processor
 
const std::string ipsdk::imaproc::gtrans::getLibraryName () const
 retrieve library name associated processor
 
template<typename TAttribute >
TAttribute::StorageType ipsdk::imaproc::gtrans::getStorage ()
 retrieve storage associated to a given attribute More...
 
ipsdk::processor::RetrievalResult ipsdk::imaproc::gtrans::retrieveProvider (const ipsdk::core::BasePriority &priority, ipsdk::core::ActionProviderPtr &pProvider)
 method allowing to retrieve provider associated to asynchronous processing in derived class More...
 

Variables

*</em > *section ElasticWarp2dImg_ExamplePython Example of Python ipsdk::imaproc::gtrans::code
 
IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr ipsdk::imaproc::gtrans::elasticWarp2dImg (const image::ImageConstPtr &pInImg, const image::ImageConstPtr &pInDxImg, const image::ImageConstPtr &pInDyImg)
 wrapper function for Apply a generic motion field to an image More...
 
IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr ipsdk::imaproc::gtrans::elasticWarp2dImg (const image::ImageConstPtr &pInImg, const image::ImageConstPtr &pInDxImg, const image::ImageConstPtr &pInDyImg, const ipsdk::imaproc::attr::eInterpolationPolicy &interpolationPolicy)
 wrapper function for Apply a generic motion field to an image More...
 
IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr ipsdk::imaproc::gtrans::elasticWarp2dImg (const image::ImageConstPtr &pInImg, const image::ImageConstPtr &pInFlowImg)
 wrapper function for Apply a generic motion field to an image More...
 
IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr ipsdk::imaproc::gtrans::elasticWarp2dImg (const image::ImageConstPtr &pInImg, const image::ImageConstPtr &pInFlowImg, const ipsdk::imaproc::attr::eInterpolationPolicy &interpolationPolicy)
 wrapper function for Apply a generic motion field to an image More...
 
IPSDKIPLGEOMETRICTRANSFORM_API void ipsdk::imaproc::gtrans::elasticWarp2dImg (const image::ImageConstPtr &pInImg, const image::ImageConstPtr &pInDxImg, const image::ImageConstPtr &pInDyImg, const image::ImagePtr &pOutImg)
 wrapper function for Apply a generic motion field to an image More...
 
IPSDKIPLGEOMETRICTRANSFORM_API void ipsdk::imaproc::gtrans::elasticWarp2dImg (const image::ImageConstPtr &pInImg, const image::ImageConstPtr &pInDxImg, const image::ImageConstPtr &pInDyImg, const ipsdk::imaproc::attr::eInterpolationPolicy &interpolationPolicy, const image::ImagePtr &pOutImg)
 wrapper function for Apply a generic motion field to an image More...
 
IPSDKIPLGEOMETRICTRANSFORM_API void ipsdk::imaproc::gtrans::elasticWarp2dImg (const image::ImageConstPtr &pInImg, const image::ImageConstPtr &pInFlowImg, const image::ImagePtr &pOutImg)
 wrapper function for Apply a generic motion field to an image More...
 
IPSDKIPLGEOMETRICTRANSFORM_API void ipsdk::imaproc::gtrans::elasticWarp2dImg (const image::ImageConstPtr &pInImg, const image::ImageConstPtr &pInFlowImg, const ipsdk::imaproc::attr::eInterpolationPolicy &interpolationPolicy, const image::ImagePtr &pOutImg)
 wrapper function for Apply a generic motion field to an image More...
 

Attribute accessors

Setters and Getters for attributes

template<>
const ipsdk::imaproc::attr::InImgipsdk::imaproc::gtrans::get< ipsdk::imaproc::attr::InImg > () const
 Getter for attribute InImg.
 
template<>
void ipsdk::imaproc::gtrans::set< ipsdk::imaproc::attr::InImg > (const typename ipsdk::imaproc::attr::InImg::StorageType &value)
 Setter for attribute InImg.
 
template<>
const ipsdk::imaproc::attr::InDxImgipsdk::imaproc::gtrans::get< ipsdk::imaproc::attr::InDxImg > () const
 Getter for attribute InDxImg.
 
template<>
void ipsdk::imaproc::gtrans::set< ipsdk::imaproc::attr::InDxImg > (const typename ipsdk::imaproc::attr::InDxImg::StorageType &value)
 Setter for attribute InDxImg.
 
template<>
const ipsdk::imaproc::attr::InDyImgipsdk::imaproc::gtrans::get< ipsdk::imaproc::attr::InDyImg > () const
 Getter for attribute InDyImg.
 
template<>
void ipsdk::imaproc::gtrans::set< ipsdk::imaproc::attr::InDyImg > (const typename ipsdk::imaproc::attr::InDyImg::StorageType &value)
 Setter for attribute InDyImg.
 
template<>
const ipsdk::imaproc::attr::InOptInterpolationPolicyipsdk::imaproc::gtrans::get< ipsdk::imaproc::attr::InOptInterpolationPolicy > () const
 Getter for attribute InOptInterpolationPolicy.
 
template<>
void ipsdk::imaproc::gtrans::set< ipsdk::imaproc::attr::InOptInterpolationPolicy > (const typename ipsdk::imaproc::attr::InOptInterpolationPolicy::StorageType &value)
 Setter for attribute InOptInterpolationPolicy.
 
template<>
const ipsdk::imaproc::attr::OutImgipsdk::imaproc::gtrans::get< ipsdk::imaproc::attr::OutImg > () const
 Getter for attribute OutImg.
 
template<>
void ipsdk::imaproc::gtrans::set< ipsdk::imaproc::attr::OutImg > (const typename ipsdk::imaproc::attr::OutImg::StorageType &value)
 Setter for attribute OutImg.
 

Attribute members

boost::shared_ptr< ipsdk::imaproc::attr::InImgipsdk::imaproc::gtrans::_pInImg
 
boost::shared_ptr< ipsdk::imaproc::attr::InDxImgipsdk::imaproc::gtrans::_pInDxImg
 
boost::shared_ptr< ipsdk::imaproc::attr::InDyImgipsdk::imaproc::gtrans::_pInDyImg
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptInterpolationPolicyipsdk::imaproc::gtrans::_pInOptInterpolationPolicy
 
boost::shared_ptr< ipsdk::imaproc::attr::OutImgipsdk::imaproc::gtrans::_pOutImg
 

Detailed Description

Apply a generic motion field to an image.

This algorithm transforms the input image according to the input motion field. Hence, the supported displacement is totally generic and is not limited to a rigid or an affine transform. The motion field contains the displacement at each pixel of the input image and can be passed as 2 distinct images or as a two-framed sequence image. In the case of a sequence image, the first frame is the displacement along the x direction and the second frame is the displacement along the y direction.

The motion field is expressed as:

\[ OutImg[x, y] = InImg[x+DxImg[x, y], y+DyImg[x, y]] \]

Ere is an example of deformation:

elasticWarp2dImg_result.png

Attributes description

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InImg [Input] image for processing operation X
ipsdk::imaproc::attr::InDxImg [Input] Displacement map along the x-axis X
ipsdk::imaproc::attr::InDyImg [Input] Displacement map along the y-axis X
ipsdk::imaproc::attr::InOptInterpolationPolicy [Input Optional] interpolation policy used to extract local data from image X
ipsdk::imaproc::attr::OutImg [Output] image for processing operation ipsdk::imaproc::duplicateInOut (_pOutImg, _pInImg)

Global Rule description

Global rule description for algorithm :
ipsdk::imaproc::matchSize (_pInImg,_pOutImg) && 
ipsdk::imaproc::matchSize (_pInImg,_pInDxImg) && 
ipsdk::imaproc::matchSize (_pInImg,_pInDyImg)/* && 
ipsdk::imaproc::matchSize (_pInImg,_pOutWk1RealImg) && 
ipsdk::imaproc::matchSize (_pInImg,_pOutWk2RealImg) && 
ipsdk::imaproc::matchSize (_pInImg,_pOutWk3RealImg) && 
ipsdk::imaproc::matchSize (_pInImg,_pOutWk4RealImg) && 
ipsdk::imaproc::matchSize (_pInImg,_pOutWk5RealImg)

See also
ElasticWarp2dImgLvl2
ElasticWarp2dImgLvl3

Function Documentation

◆ elasticWarp2dImg() [1/8]

IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr ipsdk::imaproc::gtrans::elasticWarp2dImg ( const image::ImageConstPtr pInImg,
const image::ImageConstPtr pInDxImg,
const image::ImageConstPtr pInDyImg 
)

wrapper function for Apply a generic motion field to an image

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ getStorage()

template<typename TAttribute >
TAttribute::StorageType ipsdk::imaproc::gtrans::getStorage ( )

retrieve storage associated to a given attribute

Note
This method is only available for Output and In/Out attributes
Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ retrieveProvider()

ipsdk::processor::RetrievalResult ipsdk::imaproc::gtrans::retrieveProvider ( const ipsdk::core::BasePriority priority,
ipsdk::core::ActionProviderPtr pProvider 
)
protected

method allowing to retrieve provider associated to asynchronous processing in derived class

Returns
provider retrieval result.
Note
On success provider pointer must not be null nor uninitialized

◆ elasticWarp2dImg() [2/8]

IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr ipsdk::imaproc::gtrans::elasticWarp2dImg ( const image::ImageConstPtr pInImg,
const image::ImageConstPtr pInDxImg,
const image::ImageConstPtr pInDyImg,
const ipsdk::imaproc::attr::eInterpolationPolicy interpolationPolicy 
)

wrapper function for Apply a generic motion field to an image

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ elasticWarp2dImg() [3/8]

IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr ipsdk::imaproc::gtrans::elasticWarp2dImg ( const image::ImageConstPtr pInImg,
const image::ImageConstPtr pInFlowImg 
)

wrapper function for Apply a generic motion field to an image

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ elasticWarp2dImg() [4/8]

IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr ipsdk::imaproc::gtrans::elasticWarp2dImg ( const image::ImageConstPtr pInImg,
const image::ImageConstPtr pInFlowImg,
const ipsdk::imaproc::attr::eInterpolationPolicy interpolationPolicy 
)

wrapper function for Apply a generic motion field to an image

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ elasticWarp2dImg() [5/8]

IPSDKIPLGEOMETRICTRANSFORM_API void ipsdk::imaproc::gtrans::elasticWarp2dImg ( const image::ImageConstPtr pInImg,
const image::ImageConstPtr pInDxImg,
const image::ImageConstPtr pInDyImg,
const image::ImagePtr pOutImg 
)

wrapper function for Apply a generic motion field to an image

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ elasticWarp2dImg() [6/8]

IPSDKIPLGEOMETRICTRANSFORM_API void ipsdk::imaproc::gtrans::elasticWarp2dImg ( const image::ImageConstPtr pInImg,
const image::ImageConstPtr pInDxImg,
const image::ImageConstPtr pInDyImg,
const ipsdk::imaproc::attr::eInterpolationPolicy interpolationPolicy,
const image::ImagePtr pOutImg 
)

wrapper function for Apply a generic motion field to an image

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ elasticWarp2dImg() [7/8]

IPSDKIPLGEOMETRICTRANSFORM_API void ipsdk::imaproc::gtrans::elasticWarp2dImg ( const image::ImageConstPtr pInImg,
const image::ImageConstPtr pInFlowImg,
const image::ImagePtr pOutImg 
)

wrapper function for Apply a generic motion field to an image

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure

◆ elasticWarp2dImg() [8/8]

IPSDKIPLGEOMETRICTRANSFORM_API void ipsdk::imaproc::gtrans::elasticWarp2dImg ( const image::ImageConstPtr pInImg,
const image::ImageConstPtr pInFlowImg,
const ipsdk::imaproc::attr::eInterpolationPolicy interpolationPolicy,
const image::ImagePtr pOutImg 
)

wrapper function for Apply a generic motion field to an image

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionon failure