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::filter::AnisotropicDiffusion3dImgLvl1 Class Reference

Level 1 algorithm: Anisotropic diffusion smoothing filter. More...

#include <AnisotropicDiffusion3dImgLvl1.h>

Inheritance diagram for ipsdk::imaproc::filter::AnisotropicDiffusion3dImgLvl1:
ipsdk::processor::BaseProcessor< ipsdk::core::BaseAsync1Action >

Public Member Functions

 ~AnisotropicDiffusion3dImgLvl1 ()
 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::InImg3dget () const
 Getter for attribute InImg3d.
 
template<>
void set (const typename ipsdk::imaproc::attr::InImg3d::StorageType &value)
 Setter for attribute InImg3d.
 
template<>
const ipsdk::imaproc::attr::InNbTimeStepsget () const
 Getter for attribute InNbTimeSteps.
 
template<>
void set (const typename ipsdk::imaproc::attr::InNbTimeSteps::StorageType &value)
 Setter for attribute InNbTimeSteps.
 
template<>
const ipsdk::imaproc::attr::InSharpnessget () const
 Getter for attribute InSharpness.
 
template<>
void set (const typename ipsdk::imaproc::attr::InSharpness::StorageType &value)
 Setter for attribute InSharpness.
 
template<>
const ipsdk::imaproc::attr::InAnisotropyget () const
 Getter for attribute InAnisotropy.
 
template<>
void set (const typename ipsdk::imaproc::attr::InAnisotropy::StorageType &value)
 Setter for attribute InAnisotropy.
 
template<>
const ipsdk::imaproc::attr::InOptStdDevGradget () const
 Getter for attribute InOptStdDevGrad.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptStdDevGrad::StorageType &value)
 Setter for attribute InOptStdDevGrad.
 
template<>
const ipsdk::imaproc::attr::InOptStdDevMatget () const
 Getter for attribute InOptStdDevMat.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptStdDevMat::StorageType &value)
 Setter for attribute InOptStdDevMat.
 
template<>
const ipsdk::imaproc::attr::InOptAnisotropicGaussianCoverageget () const
 Getter for attribute InOptAnisotropicGaussianCoverage.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptAnisotropicGaussianCoverage::StorageType &value)
 Setter for attribute InOptAnisotropicGaussianCoverage.
 
template<>
const ipsdk::imaproc::attr::InOptNbAngles3dget () const
 Getter for attribute InOptNbAngles3d.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptNbAngles3d::StorageType &value)
 Setter for attribute InOptNbAngles3d.
 
template<>
const ipsdk::imaproc::attr::InOptMaxHalfKnlSizeget () const
 Getter for attribute InOptMaxHalfKnlSize.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptMaxHalfKnlSize::StorageType &value)
 Setter for attribute InOptMaxHalfKnlSize.
 
template<>
const ipsdk::imaproc::attr::InOptDirSmoothFactorget () const
 Getter for attribute InOptDirSmoothFactor.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptDirSmoothFactor::StorageType &value)
 Setter for attribute InOptDirSmoothFactor.
 
template<>
const ipsdk::imaproc::attr::InOptSpatialStepget () const
 Getter for attribute InOptSpatialStep.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptSpatialStep::StorageType &value)
 Setter for attribute InOptSpatialStep.
 
template<>
const ipsdk::imaproc::attr::OutWk1Imgget () const
 Getter for attribute OutWk1Img.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk1Img::StorageType &value)
 Setter for attribute OutWk1Img.
 
template<>
const ipsdk::imaproc::attr::OutWk2Imgget () const
 Getter for attribute OutWk2Img.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk2Img::StorageType &value)
 Setter for attribute OutWk2Img.
 
template<>
const ipsdk::imaproc::attr::OutWk3Imgget () const
 Getter for attribute OutWk3Img.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk3Img::StorageType &value)
 Setter for attribute OutWk3Img.
 
template<>
const ipsdk::imaproc::attr::OutWk4Imgget () const
 Getter for attribute OutWk4Img.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk4Img::StorageType &value)
 Setter for attribute OutWk4Img.
 
template<>
const ipsdk::imaproc::attr::OutWk5Imgget () const
 Getter for attribute OutWk5Img.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk5Img::StorageType &value)
 Setter for attribute OutWk5Img.
 
template<>
const ipsdk::imaproc::attr::OutWk6Imgget () const
 Getter for attribute OutWk6Img.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk6Img::StorageType &value)
 Setter for attribute OutWk6Img.
 
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::BaseAsync1Action >
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< AnisotropicDiffusion3dImgLvl1createProcessor ()
 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

 AnisotropicDiffusion3dImgLvl1 ()
 constructor
 
ipsdk::processor::RetrievalResult retrieveProvider (const ipsdk::core::BasePriority &priority, ipsdk::core::ActionProviderPtr &pProvider)
 method allowing to retrieve provider associated to asynchronous processing in derived class More...
 
- Protected Member Functions inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseAsync1Action >
virtual BoolResult initDerived (AttributeColl &attributeColl, OutputInitializerColl &outputInitializerColl, ProcessorDispatchPolicy &dispatchPolicy, RulePtr &pGlobalRule, const eProcessorRulePolicy &rulePolicy)=0
 

Protected Attributes

attr::StatsResultPtr _pStatsResult
 statistics on input image
 
Attribute members
boost::shared_ptr< ipsdk::imaproc::attr::InImg3d_pInImg3d
 
boost::shared_ptr< ipsdk::imaproc::attr::InNbTimeSteps_pInNbTimeSteps
 
boost::shared_ptr< ipsdk::imaproc::attr::InSharpness_pInSharpness
 
boost::shared_ptr< ipsdk::imaproc::attr::InAnisotropy_pInAnisotropy
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptStdDevGrad_pInOptStdDevGrad
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptStdDevMat_pInOptStdDevMat
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptAnisotropicGaussianCoverage_pInOptAnisotropicGaussianCoverage
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptNbAngles3d_pInOptNbAngles3d
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptMaxHalfKnlSize_pInOptMaxHalfKnlSize
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptDirSmoothFactor_pInOptDirSmoothFactor
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptSpatialStep_pInOptSpatialStep
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk1Img_pOutWk1Img
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk2Img_pOutWk2Img
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk3Img_pOutWk3Img
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk4Img_pOutWk4Img
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk5Img_pOutWk5Img
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk6Img_pOutWk6Img
 
boost::shared_ptr< ipsdk::imaproc::attr::OutImg_pOutImg
 
- Protected Attributes inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseAsync1Action >
eProcessorProgressAvailability _processorProgressAvailability
 
ipUInt32 _nbIter
 

Additional Inherited Members

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

Detailed Description

Level 1 algorithm: Anisotropic diffusion smoothing filter.

See Anisotropic diffusion 3d for a complete algorithm description.

Author
E.Noirfalise
Date
2016/06/01

Algorithm associated library :

IPSDKIPLFiltering

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InImg3d [Input] 3d image for operation X
ipsdk::imaproc::attr::InNbTimeSteps [Input] number for time steps for anisotropic diffusion X
ipsdk::imaproc::attr::InSharpness [Input] Sharpness factor used by processing operation X
ipsdk::imaproc::attr::InAnisotropy [Input] Anisotropy factor for processing operation X
ipsdk::imaproc::attr::InOptStdDevGrad [Input Optional] standard deviation used for gaussian gradient computation X
ipsdk::imaproc::attr::InOptStdDevMat [Input Optional] standard deviation used for matrix gaussian smoothing X
ipsdk::imaproc::attr::InOptAnisotropicGaussianCoverage [Input Optional] Parameter allowing to specify a gaussian distribution coverage for processing X
ipsdk::imaproc::attr::InOptNbAngles3d [Input Optional] Number of angles for directional smoothing X
ipsdk::imaproc::attr::InOptMaxHalfKnlSize [Input Optional] Maximum half kernel size for processing operation X
ipsdk::imaproc::attr::InOptDirSmoothFactor [Input Optional] Directional smoothing amplitude factor X
ipsdk::imaproc::attr::InOptSpatialStep [Input Optional] Spatial step used for smoothing along processed directions X
ipsdk::imaproc::attr::OutWk1Img [Output] Temporary working image for algorithm promoteUnary (_pOutWk1Img, _pInImg3d, ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned)
ipsdk::imaproc::attr::OutWk2Img [Output] Temporary working image for algorithm promoteUnary (_pOutWk2Img, _pInImg3d, ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned)
ipsdk::imaproc::attr::OutWk3Img [Output] Temporary working image for algorithm promoteUnary (_pOutWk3Img, _pInImg3d, ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned)
ipsdk::imaproc::attr::OutWk4Img [Output] Temporary working image for algorithm promoteUnary (_pOutWk4Img, _pInImg3d, ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned)
ipsdk::imaproc::attr::OutWk5Img [Output] Temporary working image for algorithm promoteUnary (_pOutWk5Img, _pInImg3d, ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned)
ipsdk::imaproc::attr::OutWk6Img [Output] Temporary working image for algorithm promoteUnary (_pOutWk6Img, _pInImg3d, ipsdk::imaproc::ePromoteUnaryType::ePUT_UpperSigned)
ipsdk::imaproc::attr::OutImg [Output] image for processing operation duplicateInOut (_pOutImg, _pInImg3d)

Global attributes rule :

Global rule on attributes is given by
matchSizeAndType (_pInImg3d,_pOutImg) && 
matchSize (_pInImg3d,_pOutWk1Img) && 
matchSizeAndType (_pOutWk1Img,_pOutWk2Img) && 
matchSizeAndType (_pOutWk1Img,_pOutWk3Img) && 
matchSizeAndType (_pOutWk1Img,_pOutWk4Img) && 
matchSizeAndType (_pOutWk1Img,_pOutWk5Img) && 
matchSizeAndType (_pOutWk1Img,_pOutWk6Img)

Member Function Documentation

◆ getStorage()

template<typename TAttribute >
TAttribute::StorageType ipsdk::imaproc::filter::AnisotropicDiffusion3dImgLvl1::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::filter::AnisotropicDiffusion3dImgLvl1::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

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