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::itrans::SmartShadingCorrectionImgLvl1 Class Reference

Level 1 algorithm: applies a shading correction to an image, so that output image intensity fits an expected range. More...

#include <SmartShadingCorrectionImgLvl1.h>

Inheritance diagram for ipsdk::imaproc::itrans::SmartShadingCorrectionImgLvl1:
ipsdk::processor::BaseProcessor< ipsdk::core::BaseAsync2Action >

Public Member Functions

 ~SmartShadingCorrectionImgLvl1 ()
 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::InImgget () const
 Getter for attribute InImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::InImg::StorageType &value)
 Setter for attribute InImg.
 
template<>
const ipsdk::imaproc::attr::InOptBlackImgget () const
 Getter for attribute InOptBlackImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptBlackImg::StorageType &value)
 Setter for attribute InOptBlackImg.
 
template<>
const ipsdk::imaproc::attr::InWhiteImgget () const
 Getter for attribute InWhiteImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::InWhiteImg::StorageType &value)
 Setter for attribute InWhiteImg.
 
template<>
const ipsdk::imaproc::attr::InOptOutputRangeget () const
 Getter for attribute InOptOutputRange.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptOutputRange::StorageType &value)
 Setter for attribute InOptOutputRange.
 
template<>
const ipsdk::imaproc::attr::OutOffsetget () const
 Getter for attribute OutOffset.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOffset::StorageType &value)
 Setter for attribute OutOffset.
 
template<>
const ipsdk::imaproc::attr::OutFactorget () const
 Getter for attribute OutFactor.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutFactor::StorageType &value)
 Setter for attribute OutFactor.
 
template<>
const ipsdk::imaproc::attr::OutImgget () const
 Getter for attribute OutImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutImg::StorageType &value)
 Setter for attribute OutImg.
 
- Public Member Functions inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseAsync2Action >
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< SmartShadingCorrectionImgLvl1createProcessor ()
 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

 SmartShadingCorrectionImgLvl1 ()
 constructor
 
ipsdk::processor::RetrievalResult retrieveFirstProvider (const ipsdk::core::BasePriority &priority, ipsdk::core::ActionProviderPtr &pProvider)
 method allowing to retrieve first provider associated to asynchronous processing in derived class More...
 
ipsdk::processor::RetrievalResult retrieveSecondProvider (const ipsdk::core::BasePriority &priority, ipsdk::core::ActionProviderPtr &pProvider)
 method allowing to retrieve second provider associated to asynchronous processing in derived class More...
 
processor::RetrievalResult provideProcessor (const boost::shared_ptr< core::BaseAction > &pProcessor, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
- Protected Member Functions inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseAsync2Action >
virtual BoolResult initDerived (AttributeColl &attributeColl, OutputInitializerColl &outputInitializerColl, ProcessorDispatchPolicy &dispatchPolicy, RulePtr &pGlobalRule, const eProcessorRulePolicy &rulePolicy)=0
 

Protected Attributes

boost::shared_ptr< SmartShadingCorrectionLvl1 > _pOutRangeComputeProcessor
 Processor provided by the first retrieveProvider.
 
Attribute members
boost::shared_ptr< ipsdk::imaproc::attr::InImg_pInImg
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptBlackImg_pInOptBlackImg
 
boost::shared_ptr< ipsdk::imaproc::attr::InWhiteImg_pInWhiteImg
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptOutputRange_pInOptOutputRange
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOffset_pOutOffset
 
boost::shared_ptr< ipsdk::imaproc::attr::OutFactor_pOutFactor
 
boost::shared_ptr< ipsdk::imaproc::attr::OutImg_pOutImg
 
- Protected Attributes inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseAsync2Action >
eProcessorProgressAvailability _processorProgressAvailability
 
ipUInt32 _nbIter
 

Additional Inherited Members

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

Detailed Description

Level 1 algorithm: applies a shading correction to an image, so that output image intensity fits an expected range.

See Smart shading correction for a complete algorithm description.

Author
H. Delestre
Date
2014/10/31

Algorithm associated library :

IPSDKIPLIntensityTransform

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InImg [Input] image for processing operation X
ipsdk::imaproc::attr::InOptBlackImg [Input Optional] Black image, usually obtained by closing all optical ports of the camera, or by turning off all the light sources. Used by shading correction algorithm X
ipsdk::imaproc::attr::InWhiteImg [Input] White image. Used by shading correction algorithm X
ipsdk::imaproc::attr::InOptOutputRange [Input Optional] expected output image range X
ipsdk::imaproc::attr::OutOffset [Output] Offset. Used for instance by smart shading correction algorithm X
ipsdk::imaproc::attr::OutFactor [Output] Multiplying factor. Used for instance by smart shading correction algorithm X
ipsdk::imaproc::attr::OutImg [Output] image for processing operation ipsdk::imaproc::duplicateInOut (_pOutImg, _pInImg)

Global attributes rule :

Global rule on attributes is given by
ipsdk::imaproc::matchSize (_pInImg,_pOutImg) && 
ipsdk::processor::ifIsSet (_pInOptBlackImg,
 ipsdk::imaproc::matchSizeAndType (_pInImg,_pInOptBlackImg)) && 
ipsdk::imaproc::matchSizeAndType (_pInImg,_pInWhiteImg)

Member Function Documentation

◆ getStorage()

template<typename TAttribute >
TAttribute::StorageType ipsdk::imaproc::itrans::SmartShadingCorrectionImgLvl1::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

◆ retrieveFirstProvider()

ipsdk::processor::RetrievalResult ipsdk::imaproc::itrans::SmartShadingCorrectionImgLvl1::retrieveFirstProvider ( const ipsdk::core::BasePriority priority,
ipsdk::core::ActionProviderPtr pProvider 
)
protected

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

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

◆ retrieveSecondProvider()

ipsdk::processor::RetrievalResult ipsdk::imaproc::itrans::SmartShadingCorrectionImgLvl1::retrieveSecondProvider ( const ipsdk::core::BasePriority priority,
ipsdk::core::ActionProviderPtr pProvider 
)
protected

method allowing to retrieve second 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: