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

Level 1 algorithm: Apply Law's texture 2d filter on an image. More...

#include <LawTexture2dImgLvl1.h>

Inheritance diagram for ipsdk::imaproc::stats::LawTexture2dImgLvl1:
ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >

Public Member Functions

 ~LawTexture2dImgLvl1 ()
 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::InSingleImgget () const
 Getter for attribute InSingleImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::InSingleImg::StorageType &value)
 Setter for attribute InSingleImg.
 
template<>
const ipsdk::imaproc::attr::InOptLawTextureKernel2dTypesget () const
 Getter for attribute InOptLawTextureKernel2dTypes.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptLawTextureKernel2dTypes::StorageType &value)
 Setter for attribute InOptLawTextureKernel2dTypes.
 
template<>
const ipsdk::imaproc::attr::InOptLawTexPreProcParamsget () const
 Getter for attribute InOptLawTexPreProcParams.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptLawTexPreProcParams::StorageType &value)
 Setter for attribute InOptLawTexPreProcParams.
 
template<>
const ipsdk::imaproc::attr::InOptLawTexPostProcParamsget () const
 Getter for attribute InOptLawTexPostProcParams.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptLawTexPostProcParams::StorageType &value)
 Setter for attribute InOptLawTexPostProcParams.
 
template<>
const ipsdk::imaproc::attr::OutRealImgget () const
 Getter for attribute OutRealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutRealImg::StorageType &value)
 Setter for attribute OutRealImg.
 
template<>
const ipsdk::imaproc::attr::OutWk1RealImgget () const
 Getter for attribute OutWk1RealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk1RealImg::StorageType &value)
 Setter for attribute OutWk1RealImg.
 
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.
 
- 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< LawTexture2dImgLvl1createProcessor ()
 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 Types

typedef std::string FinalImageId
 
typedef std::string WorkImageId
 
typedef std::map< FinalImageId, std::pair< image::ImagePtr, WorkImageId > > MapImages
 
- Protected Types inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
typedef std::vector< AttributePtrAttributeColl
 
typedef std::map< std::string, OutputInitializerPtrOutputInitializerColl
 

Protected Member Functions

 LawTexture2dImgLvl1 ()
 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...
 
processor::RetrievalResult meanSmoothing (const image::ImageConstPtr &pInImg, const image::ImagePtr &pOutImg, const ipUInt32 halfKnlSize, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult gaussianSmoothing (const image::ImageConstPtr &pInImg, const image::ImagePtr &pOutImg, const ipReal32 stdDev, const attr::GaussianCoverage &gaussianCoverage, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult smoothInputImg (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult subtractSmoothedToInputImg (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult convolve (const image::ImageConstPtr &pInImg, const KernelXYPtr &pKnl, const image::ImagePtr &pOutImg, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult convolveXKernel (char kernelId, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult convolveYKernel (const std::string &kernelId, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult computeAbsImg (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult blendAB_BA (const std::string &kernelId, const image::ImagePtr &pLastImgConvol2D, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult computeEnergyMap (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult provideProcessor (const boost::shared_ptr< core::BaseAction > &pProcessor, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
void build1DKernels ()
 
BoolResult buildConvolQueues ()
 
BoolResult insertKernelType (const std::string &id, const ipUInt32 frameIx)
 
image::ImagePtr takeGreatestAvailableElementInImagesMapWithKeyGreaterThan (const WorkImageId &id)
 
image::ImagePtr takeElementInImagesMap (const FinalImageId &finalId, const WorkImageId &workId)
 
BoolResult pickImage (const WorkImageId &id, image::ImagePtr &pImg)
 
BoolResult takeInitializedOptWk1Image (const WorkImageId &id, image::ImagePtr &pOutOptWk1Img)
 
BoolResult takeInitializedOptWk2Image (const WorkImageId &id, image::ImagePtr &pOutOptWk2Img)
 
void releaseImage (const WorkImageId &id)
 
bool doAllConvolsLeftStartWithSameLetter () const
 
- 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

std::map< char, KernelXYPtr_mapKnlX
 
std::map< char, KernelXYPtr_mapKnlY
 
MapImages _workImages
 
std::map< std::string, LawTex2dConvolResPtr > _convolsToCompute
 
image::Border2dPolicyPtr _pBorder2dPolicy
 
WorkImageId _optWk1RealImgId
 
WorkImageId _optWk2RealImgId
 
Attribute members
boost::shared_ptr< ipsdk::imaproc::attr::InSingleImg_pInSingleImg
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptLawTextureKernel2dTypes_pInOptLawTextureKernel2dTypes
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptLawTexPreProcParams_pInOptLawTexPreProcParams
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptLawTexPostProcParams_pInOptLawTexPostProcParams
 
boost::shared_ptr< ipsdk::imaproc::attr::OutRealImg_pOutRealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk1RealImg_pOutWk1RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk1RealImg_pOutOptWk1RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk2RealImg_pOutOptWk2RealImg
 
- Protected Attributes inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
eProcessorProgressAvailability _processorProgressAvailability
 
ipUInt32 _nbIter
 

Detailed Description

Level 1 algorithm: Apply Law's texture 2d filter on an image.

See Law's 2D Texture Energy Measures for a complete algorithm description.

Author
H. Delestre
Date
2017/02/14

Algorithm associated library :

IPSDKIPLStats

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InSingleImg [Input] single image X
ipsdk::imaproc::attr::InOptLawTextureKernel2dTypes [Input Optional] Types of 2d kernels for Law's texture computation X
ipsdk::imaproc::attr::InOptLawTexPreProcParams [Input Optional] Parameters for Law's texture filter input image pre-process phasis X
ipsdk::imaproc::attr::InOptLawTexPostProcParams [Input Optional] Parameters for Law's texture filter input image post-process phasis X
ipsdk::imaproc::attr::OutRealImg [Output] image for processing operation (data contained in image buffer are reals) customOutput (_pOutRealImg, outputLawTexture2d(_pInSingleImg,_pInOptLawTextureKernel2dTypes))
ipsdk::imaproc::attr::OutWk1RealImg [Output] Temporary working image for algorithm ipsdk::imaproc::duplicateInOut (_pOutWk1RealImg, _pInSingleImg, ipsdk::image::eImageBufferType::eIBT_Real32)
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

Global attributes rule :

Global rule on attributes is given by
ipsdk::imaproc::matchSize (_pInSingleImg,_pOutWk1RealImg) && 
(ipsdk::processor::ifIsSet (_pOutOptWk1RealImg,
  ipsdk::imaproc::matchSize (_pInSingleImg,_pOutOptWk1RealImg))) && 
(ipsdk::processor::ifIsSet (_pOutOptWk2RealImg,
  ipsdk::imaproc::matchSize (_pInSingleImg,_pOutOptWk2RealImg)))

Member Function Documentation

◆ getStorage()

template<typename TAttribute >
TAttribute::StorageType ipsdk::imaproc::stats::LawTexture2dImgLvl1::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::stats::LawTexture2dImgLvl1::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

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