IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ipsdk::imaproc::registration::DeepFlow2dImgLvl1 Class Reference

Level 1 algorithm: Computes a dense optical flow occurred between two input images. More...

#include <DeepFlow2dImgLvl1.h>

Inheritance diagram for ipsdk::imaproc::registration::DeepFlow2dImgLvl1:
ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >

Public Member Functions

 ~DeepFlow2dImgLvl1 ()
 destructor
 
const std::string & getObjectName () const
 method allowing to retrieve object name
 
const std::string & getToolTip () const
 method allowing to retrieve object tooltip
 
const boost::filesystem::path getHeaderPath () const
 retrieve relative header path associated to processor
 
const std::string getLibraryName () const
 retrieve library name associated processor
 
template<typename TAttribute >
TAttribute::StorageType getStorage ()
 retrieve storage associated to a given attribute More...
 
Attribute accessors

Setters and Getters for attributes

template<>
const ipsdk::imaproc::attr::InSingleImg1get () const
 Getter for attribute InSingleImg1.
 
template<>
void set (const typename ipsdk::imaproc::attr::InSingleImg1::StorageType &value)
 Setter for attribute InSingleImg1.
 
template<>
const ipsdk::imaproc::attr::InSingleImg2get () const
 Getter for attribute InSingleImg2.
 
template<>
void set (const typename ipsdk::imaproc::attr::InSingleImg2::StorageType &value)
 Setter for attribute InSingleImg2.
 
template<>
const ipsdk::imaproc::attr::InDeepFlowParamsget () const
 Getter for attribute InDeepFlowParams.
 
template<>
void set (const typename ipsdk::imaproc::attr::InDeepFlowParams::StorageType &value)
 Setter for attribute InDeepFlowParams.
 
template<>
const ipsdk::imaproc::attr::InOptRealSeqImgget () const
 Getter for attribute InOptRealSeqImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptRealSeqImg::StorageType &value)
 Setter for attribute InOptRealSeqImg.
 
template<>
const ipsdk::imaproc::attr::OutOptWk1RealImgget () const
 Getter for attribute OutOptWk1RealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk1RealImg::StorageType &value)
 Setter for attribute OutOptWk1RealImg.
 
template<>
const ipsdk::imaproc::attr::OutOptWk2RealImgget () const
 Getter for attribute OutOptWk2RealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk2RealImg::StorageType &value)
 Setter for attribute OutOptWk2RealImg.
 
template<>
const ipsdk::imaproc::attr::OutOptWk3RealImgget () const
 Getter for attribute OutOptWk3RealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk3RealImg::StorageType &value)
 Setter for attribute OutOptWk3RealImg.
 
template<>
const ipsdk::imaproc::attr::OutOptWk4RealImgget () const
 Getter for attribute OutOptWk4RealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk4RealImg::StorageType &value)
 Setter for attribute OutOptWk4RealImg.
 
template<>
const ipsdk::imaproc::attr::OutOptWk5RealImgget () const
 Getter for attribute OutOptWk5RealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk5RealImg::StorageType &value)
 Setter for attribute OutOptWk5RealImg.
 
template<>
const ipsdk::imaproc::attr::OutOptWk6RealImgget () const
 Getter for attribute OutOptWk6RealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk6RealImg::StorageType &value)
 Setter for attribute OutOptWk6RealImg.
 
template<>
const ipsdk::imaproc::attr::OutOptWk7RealImgget () const
 Getter for attribute OutOptWk7RealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk7RealImg::StorageType &value)
 Setter for attribute OutOptWk7RealImg.
 
template<>
const ipsdk::imaproc::attr::OutOptWk8RealImgget () const
 Getter for attribute OutOptWk8RealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk8RealImg::StorageType &value)
 Setter for attribute OutOptWk8RealImg.
 
template<>
const ipsdk::imaproc::attr::OutRealImg1get () const
 Getter for attribute OutRealImg1.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutRealImg1::StorageType &value)
 Setter for attribute OutRealImg1.
 
template<>
const ipsdk::imaproc::attr::OutRealImg2get () const
 Getter for attribute OutRealImg2.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutRealImg2::StorageType &value)
 Setter for attribute OutRealImg2.
 
template<>
const ipsdk::imaproc::attr::OutRealSeqImgget () const
 Getter for attribute OutRealSeqImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutRealSeqImg::StorageType &value)
 Setter for attribute OutRealSeqImg.
 
- Public Member Functions inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
virtual eProcessorType getProcessorType () const =0
 
BoolResult init (const eProcessorRulePolicy rulePolicy=eProcessorRulePolicy::ePRP_DisableSubRules)
 
const eProcessorRulePolicygetProcessorRulePolicy () const
 
std::string getFullInfoStr () const
 
const BaseRulegetGlobalRule () const
 
const ProcessorDispatchPolicygetDispatchPolicy () const
 
void restrictDispatchPolicy (const ProcessorDispatchPolicy &policy)
 
bool isProgressAvailable () const
 
ipsdk::processor::eProcessorProgressAvailability getProgressAvailability () const
 
ipsdk::ipUInt64 getTotalNbIterations () const
 
bool existsHeaderKey (const std::string &key) const
 
bool existsHeaderKey (const std::string &key) const
 
ItemNames getHeaderKeys () const
 
ItemNames getHeaderKeys () const
 
const BaseDataItemgetHeaderItem (const std::string &key) const
 
BaseDataItemgetHeaderItem (const std::string &key)
 
const BaseDataItemgetHeaderItem (const std::string &key) const
 
BaseDataItemgetHeaderItem (const std::string &key)
 
void addHeaderItem (const std::string &key, const DataItemPtr &pItem)
 
void addHeaderItem (const std::string &key, const DataItemPtr &pItem)
 
void removeHeaderItem (const std::string &key)
 
void removeHeaderItem (const std::string &key)
 
void clearHeader ()
 
void clearHeader ()
 
ipUInt32 getNbAttributes () const
 
ipUInt32 getNbAttributes () const
 
const BaseAttributegetAttribute (ipUInt32 index) const
 
BaseAttributegetAttribute (ipUInt32 index)
 
const BaseAttributegetAttribute (const std::string &attributeName) const
 
BaseAttributegetAttribute (const std::string &attributeName)
 
const BaseAttributegetAttribute (ipUInt32 index) const
 
BaseAttributegetAttribute (ipUInt32 index)
 
const BaseAttributegetAttribute (const std::string &attributeName) const
 
BaseAttributegetAttribute (const std::string &attributeName)
 
bool existsAttribute (const std::string &attributeName) const
 
bool existsAttribute (const std::string &attributeName) const
 
StringVector getAttributeNameColl () const
 
StringVector getAttributeNameColl () const
 
bool hasOutputInitializer (const std::string &attributeName) const
 
bool hasOutputInitializer (const std::string &attributeName) const
 
const BaseOutputInitializergetOutputInitializer (const std::string &attributeName) const
 
const BaseOutputInitializergetOutputInitializer (const std::string &attributeName) const
 

Static Public Member Functions

static boost::shared_ptr< DeepFlow2dImgLvl1createProcessor ()
 processor creation function
 
static const std::string & getObjectNameStr ()
 method allowing to retrieve object name
 
static const std::string & getToolTipStr ()
 method allowing to retrieve object tooltip
 
static const boost::filesystem::path getHeaderPathStr ()
 retrieve relative header path associated to processor
 
static const std::string getLibraryNameStr ()
 retrieve library name associated processor
 

Protected Member Functions

 DeepFlow2dImgLvl1 ()
 constructor
 
ipsdk::processor::RetrievalResult retrieveProvider (const ipsdk::core::BasePriority &priority, ipsdk::ipUInt32 curNbIter, ipsdk::core::ActionProviderPtr &pProvider)
 method allowing to retrieve provider associated to asynchronous processing in derived class More...
 
ipsdk::core::ExecResult preProcess ()
 method called before processing More...
 
processor::RetrievalResult provideProcessor (const boost::shared_ptr< core::BaseAction > &pProcessor, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult gaussianSmoothing (const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::image::ImagePtr &pOutImg, const ipsdk::ipReal32 &sigma, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult meanSmoothing (const ipReal64 factor, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult erase (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const ipsdk::image::ImagePtr &pOutImg)
 
processor::RetrievalResult zoom (const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::image::ImagePtr &pOutImg, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult multiplyScalar (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult copy (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult calc (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
BoolResult allocCurScale ()
 
BoolResult allocForLevel (const boost::shared_ptr< BaseInputImageAttribute > &pInImgAttr, const boost::shared_ptr< BaseOutputImageAttribute > &pOutImgAttr, const ipUInt32 level, const ipUInt64 nbFrames)
 
BoolResult allocForLevel (const boost::shared_ptr< BaseOutputImageAttribute > &pInImgAttr, const boost::shared_ptr< BaseOutputImageAttribute > &pOutImgAttr, const ipUInt32 level)
 
- Protected Member Functions inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
virtual BoolResult initDerived (AttributeColl &attributeColl, OutputInitializerColl &outputInitializerColl, ProcessorDispatchPolicy &dispatchPolicy, RulePtr &pGlobalRule, const eProcessorRulePolicy &rulePolicy)=0
 

Protected Attributes

ipUInt32 _nbLayers
 
ipUInt32 _level
 Current pyramid level.
 
ipBool _bCopyPerformed
 Flag indicating if the last copy to the output flow image has been performed.
 
Attribute members
boost::shared_ptr< ipsdk::imaproc::attr::InSingleImg1_pInSingleImg1
 
boost::shared_ptr< ipsdk::imaproc::attr::InSingleImg2_pInSingleImg2
 
boost::shared_ptr< ipsdk::imaproc::attr::InDeepFlowParams_pInDeepFlowParams
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptRealSeqImg_pInOptRealSeqImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk1RealImg_pOutOptWk1RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk2RealImg_pOutOptWk2RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk3RealImg_pOutOptWk3RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk4RealImg_pOutOptWk4RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk5RealImg_pOutOptWk5RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk6RealImg_pOutOptWk6RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk7RealImg_pOutOptWk7RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk8RealImg_pOutOptWk8RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutRealImg1_pOutRealImg1
 
boost::shared_ptr< ipsdk::imaproc::attr::OutRealImg2_pOutRealImg2
 
boost::shared_ptr< ipsdk::imaproc::attr::OutRealSeqImg_pOutRealSeqImg
 
- Protected Attributes inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
eProcessorProgressAvailability _processorProgressAvailability
 
ipUInt32 _nbIter
 

Additional Inherited Members

- Protected Types inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
typedef std::vector< AttributePtrAttributeColl
 
typedef std::map< std::string, OutputInitializerPtrOutputInitializerColl
 

Detailed Description

Level 1 algorithm: Computes a dense optical flow occurred between two input images.

See DeepFlow between two 2d images for a complete algorithm description.

Author
R. Abbal
Date
2024/05/29

Algorithm associated library :

IPSDKIPLRegistration

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InSingleImg1 [Input] First single image X
ipsdk::imaproc::attr::InSingleImg2 [Input] Second single image X
ipsdk::imaproc::attr::InDeepFlowParams [Input] Parameters to st up the deep flow X
ipsdk::imaproc::attr::InOptRealSeqImg [InOut Optional] Real sequence image X
ipsdk::imaproc::attr::OutOptWk1RealImg [Output Optional] Temporary working image for algorithm (data contained in image buffer are reals) X
ipsdk::imaproc::attr::OutOptWk2RealImg [Output Optional] Temporary working image for algorithm (data contained in image buffer are reals) X
ipsdk::imaproc::attr::OutOptWk3RealImg [Output Optional] Temporary working image for algorithm (data contained in image buffer are reals) X
ipsdk::imaproc::attr::OutOptWk4RealImg [Output Optional] Temporary working image for algorithm (data contained in image buffer are reals) X
ipsdk::imaproc::attr::OutOptWk5RealImg [Output Optional] Temporary working image for algorithm (data contained in image buffer are reals) X
ipsdk::imaproc::attr::OutOptWk6RealImg [Output Optional] Temporary working image for algorithm (data contained in image buffer are reals) X
ipsdk::imaproc::attr::OutOptWk7RealImg [Output Optional] Temporary working image for algorithm (data contained in image buffer are reals) X
ipsdk::imaproc::attr::OutOptWk8RealImg [Output Optional] Temporary working image for algorithm (data contained in image buffer are reals) X
ipsdk::imaproc::attr::OutRealImg1 [Output] image for processing operation (data contained in image buffer are reals) customOutput (_pOutRealImg1, createSeqFromImage(_pInSingleImg1,2))
ipsdk::imaproc::attr::OutRealImg2 [Output] image for processing operation (data contained in image buffer are reals) customOutput (_pOutRealImg2, createSeqFromImage(_pInSingleImg1,2))
ipsdk::imaproc::attr::OutRealSeqImg [Output] Real sequence image customOutput (_pOutRealSeqImg, outputDeepFlow2d(_pInSingleImg1))

Global attributes rule :

Global rule on attributes is given by
matchSize (_pInSingleImg1,_pInSingleImg2) && 
matchSize (eMatchImageSizeType::eMIST_XYZC,_pInSingleImg1,_pOutRealImg1) && 
ipsdk::imaproc::customImageProperty (_pOutRealSeqImg,
 matchDeepFlow2d (_pInSingleImg1)) && 
ipsdk::processor::If (
 ipsdk::processor::isSet (_pInOptRealSeqImg),
 matchSize (_pInOptRealSeqImg,_pOutRealSeqImg),
 ipsdk::processor::none ())

Member Function Documentation

◆ getStorage()

template<typename TAttribute >
TAttribute::StorageType ipsdk::imaproc::registration::DeepFlow2dImgLvl1::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::registration::DeepFlow2dImgLvl1::retrieveProvider ( const ipsdk::core::BasePriority priority,
ipsdk::ipUInt32  curNbIter,
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

◆ preProcess()

ipsdk::core::ExecResult ipsdk::imaproc::registration::DeepFlow2dImgLvl1::preProcess ( )
protected

method called before processing

Returns
execution result

Member Data Documentation

◆ _nbLayers

ipUInt32 ipsdk::imaproc::registration::DeepFlow2dImgLvl1::_nbLayers
protected

Actual number of layers if the value provided is too high for the process The minimum image size is 25


The documentation for this class was generated from the following file: