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

Level 1 algorithm: Adaptive binary watershed 3d algorithm. More...

#include <AdaptiveBinaryWatershed3dImgLvl1.h>

Inheritance diagram for ipsdk::imaproc::advmorpho::AdaptiveBinaryWatershed3dImgLvl1:
ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >

Public Member Functions

 ~AdaptiveBinaryWatershed3dImgLvl1 ()
 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::InBinImg3dget () const
 Getter for attribute InBinImg3d.
 
template<>
void set (const typename ipsdk::imaproc::attr::InBinImg3d::StorageType &value)
 Setter for attribute InBinImg3d.
 
template<>
const ipsdk::imaproc::attr::InArithmeticValget () const
 Getter for attribute InArithmeticVal.
 
template<>
void set (const typename ipsdk::imaproc::attr::InArithmeticVal::StorageType &value)
 Setter for attribute InArithmeticVal.
 
template<>
const ipsdk::imaproc::attr::InWatershedSeparationModeget () const
 Getter for attribute InWatershedSeparationMode.
 
template<>
void set (const typename ipsdk::imaproc::attr::InWatershedSeparationMode::StorageType &value)
 Setter for attribute InWatershedSeparationMode.
 
template<>
const ipsdk::imaproc::attr::InOptWatershedProcModeget () const
 Getter for attribute InOptWatershedProcMode.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptWatershedProcMode::StorageType &value)
 Setter for attribute InOptWatershedProcMode.
 
template<>
const ipsdk::imaproc::attr::InOptNbMinDataByThreadget () const
 Getter for attribute InOptNbMinDataByThread.
 
template<>
void set (const typename ipsdk::imaproc::attr::InOptNbMinDataByThread::StorageType &value)
 Setter for attribute InOptNbMinDataByThread.
 
template<>
const ipsdk::imaproc::attr::OutOptWk1Imgget () const
 Getter for attribute OutOptWk1Img.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk1Img::StorageType &value)
 Setter for attribute OutOptWk1Img.
 
template<>
const ipsdk::imaproc::attr::OutOptWk1BinImgget () const
 Getter for attribute OutOptWk1BinImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk1BinImg::StorageType &value)
 Setter for attribute OutOptWk1BinImg.
 
template<>
const ipsdk::imaproc::attr::OutOptWk1LabelImgget () const
 Getter for attribute OutOptWk1LabelImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutOptWk1LabelImg::StorageType &value)
 Setter for attribute OutOptWk1LabelImg.
 
template<>
const ipsdk::imaproc::attr::OutWk1BinImgget () const
 Getter for attribute OutWk1BinImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk1BinImg::StorageType &value)
 Setter for attribute OutWk1BinImg.
 
template<>
const ipsdk::imaproc::attr::OutWk2BinImgget () const
 Getter for attribute OutWk2BinImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk2BinImg::StorageType &value)
 Setter for attribute OutWk2BinImg.
 
template<>
const ipsdk::imaproc::attr::OutWk1DistImgget () const
 Getter for attribute OutWk1DistImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk1DistImg::StorageType &value)
 Setter for attribute OutWk1DistImg.
 
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::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::OutWk2RealImgget () const
 Getter for attribute OutWk2RealImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk2RealImg::StorageType &value)
 Setter for attribute OutWk2RealImg.
 
template<>
const ipsdk::imaproc::attr::OutWk1LabelImgget () const
 Getter for attribute OutWk1LabelImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk1LabelImg::StorageType &value)
 Setter for attribute OutWk1LabelImg.
 
template<>
const ipsdk::imaproc::attr::OutWk2LabelImgget () const
 Getter for attribute OutWk2LabelImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutWk2LabelImg::StorageType &value)
 Setter for attribute OutWk2LabelImg.
 
template<>
const ipsdk::imaproc::attr::OutBinLabImgget () const
 Getter for attribute OutBinLabImg.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutBinLabImg::StorageType &value)
 Setter for attribute OutBinLabImg.
 
- 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< AdaptiveBinaryWatershed3dImgLvl1createProcessor ()
 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

 AdaptiveBinaryWatershed3dImgLvl1 ()
 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 provideProcessor (const boost::shared_ptr< core::BaseAction > &pProcessor, const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult distanceMap (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult dilateLocalMaxima (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult logicalNot (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::image::ImagePtr &pOutImg)
 
processor::RetrievalResult erode (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult bitwiseOr (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult labelize (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::image::ImagePtr &pOutImg)
 
processor::RetrievalResult invert (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult seededWatershed (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const ipsdk::image::ImageConstPtr &pInGreyImg, const ipsdk::image::ImageConstPtr &pInLabelImg, const ipsdk::imaproc::attr::eWatershedOutputMode &watershedOutputMode, const ipsdk::image::ImagePtr &pOutImg)
 
processor::RetrievalResult mask (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::image::ImageConstPtr &pInMaskImg, const ipsdk::image::ImagePtr &pOutImg)
 
processor::RetrievalResult multiplyScalar (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::ipReal64 param, const ipsdk::image::ImagePtr &pOutImg)
 
processor::RetrievalResult subtract (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const ipsdk::image::ImageConstPtr &pInImg1, const ipsdk::image::ImageConstPtr &pInImg2, const ipsdk::image::ImagePtr &pOutImg)
 
processor::RetrievalResult threshold (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::ipReal64 threshMin, const ipsdk::ipReal64 threshMax, const ipsdk::image::ImagePtr &pOutImg)
 
processor::RetrievalResult convert (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const ipsdk::image::ImageConstPtr &pInImg, const ipsdk::image::ImagePtr &pOutImg)
 
processor::RetrievalResult max (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult maxPropagation (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult dilate (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult bitwiseAnd (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 
processor::RetrievalResult bitwiseXOr (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const ipsdk::image::ImagePtr &pOutImg)
 
- 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

Attribute members
boost::shared_ptr< ipsdk::imaproc::attr::InBinImg3d_pInBinImg3d
 
boost::shared_ptr< ipsdk::imaproc::attr::InArithmeticVal_pInArithmeticVal
 
boost::shared_ptr< ipsdk::imaproc::attr::InWatershedSeparationMode_pInWatershedSeparationMode
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptWatershedProcMode_pInOptWatershedProcMode
 
boost::shared_ptr< ipsdk::imaproc::attr::InOptNbMinDataByThread_pInOptNbMinDataByThread
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk1Img_pOutOptWk1Img
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk1BinImg_pOutOptWk1BinImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutOptWk1LabelImg_pOutOptWk1LabelImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk1BinImg_pOutWk1BinImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk2BinImg_pOutWk2BinImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk1DistImg_pOutWk1DistImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk1Img_pOutWk1Img
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk1RealImg_pOutWk1RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk2RealImg_pOutWk2RealImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk1LabelImg_pOutWk1LabelImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutWk2LabelImg_pOutWk2LabelImg
 
boost::shared_ptr< ipsdk::imaproc::attr::OutBinLabImg_pOutBinLabImg
 
- 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: Adaptive binary watershed 3d algorithm.

See Adaptive Watershed Binary Separation 3d for a complete algorithm description.

Author
R. Abbal
Date
2021/12/30

Algorithm associated library :

IPSDKIPLAdvancedMorphology

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InBinImg3d [Input] binary 3d image for processing operation X
ipsdk::imaproc::attr::InArithmeticVal [Input] value used for arithmetic operations X
ipsdk::imaproc::attr::InWatershedSeparationMode [Input] parameter allowing to define watershed separation mode X
ipsdk::imaproc::attr::InOptWatershedProcMode [Input Optional] Watershed processing mode X
ipsdk::imaproc::attr::InOptNbMinDataByThread [Input Optional] minimum number of data by thread X
ipsdk::imaproc::attr::OutOptWk1Img [Output Optional] Temporary working image for algorithm X
ipsdk::imaproc::attr::OutOptWk1BinImg [Output Optional] Temporary working image for algorithm X
ipsdk::imaproc::attr::OutOptWk1LabelImg [Output Optional] Temporary working image for algorithm X
ipsdk::imaproc::attr::OutWk1BinImg [Output] Temporary working image for algorithm ipsdk::imaproc::duplicateInOut (_pOutWk1BinImg, _pInBinImg3d)
ipsdk::imaproc::attr::OutWk2BinImg [Output] Second temporary working image for algorithm ipsdk::imaproc::duplicateInOut (_pOutWk2BinImg, _pInBinImg3d)
ipsdk::imaproc::attr::OutWk1DistImg [Output] Temporary working image for algorithm ipsdk::imaproc::duplicateInOut (_pOutWk1DistImg, _pInBinImg3d, ipsdk::image::eImageBufferType::eIBT_UInt16)
ipsdk::imaproc::attr::OutWk1Img [Output] Temporary working image for algorithm ipsdk::imaproc::duplicateInOut (_pOutWk1Img, _pInBinImg3d, ipsdk::image::eImageBufferType::eIBT_UInt16)
ipsdk::imaproc::attr::OutWk1RealImg [Output] Temporary working image for algorithm ipsdk::imaproc::duplicateInOut (_pOutWk1RealImg, _pInBinImg3d, ipsdk::image::eImageBufferType::eIBT_Real32)
ipsdk::imaproc::attr::OutWk2RealImg [Output] Temporary working image for algorithm ipsdk::imaproc::duplicateInOut (_pOutWk2RealImg, _pInBinImg3d, ipsdk::image::eImageBufferType::eIBT_Real32)
ipsdk::imaproc::attr::OutWk1LabelImg [Output] Temporary working image for algorithm ipsdk::imaproc::duplicateInOut (_pOutWk1LabelImg, _pInBinImg3d, ipsdk::image::eImageBufferType::eIBT_Label16)
ipsdk::imaproc::attr::OutWk2LabelImg [Output] Temporary working image for algorithm ipsdk::imaproc::duplicateInOut (_pOutWk2LabelImg, _pInBinImg3d, ipsdk::image::eImageBufferType::eIBT_Label16)
ipsdk::imaproc::attr::OutBinLabImg [Output] binary or label image for processing operation customOutput (_pOutBinLabImg, outputWatershed(_pInBinImg3d,_pInWatershedSeparationMode))

Global attributes rule :

Global rule on attributes is given by
ipsdk::imaproc::matchSizeAndType (_pInBinImg3d,_pOutWk1BinImg) && 
ipsdk::imaproc::matchSizeAndType (_pInBinImg3d,_pOutWk2BinImg) && 
ipsdk::imaproc::matchSize (_pInBinImg3d,_pOutWk1DistImg) && 
ipsdk::imaproc::matchSizeAndType (_pOutWk1DistImg,_pOutWk1Img) && 
ipsdk::imaproc::matchSize (_pInBinImg3d,_pOutWk1RealImg) && 
ipsdk::imaproc::matchSizeAndType (_pOutWk1LabelImg,_pOutWk2LabelImg) && 
ipsdk::imaproc::matchSizeAndType (_pOutWk1RealImg,_pOutWk2RealImg) && 
ipsdk::imaproc::matchSize (_pInBinImg3d,_pOutWk1LabelImg) && 
ipsdk::imaproc::matchSize (_pInBinImg3d,_pOutBinLabImg) && 
ipsdk::processor::ifIsSet (_pOutOptWk1Img,
 ipsdk::imaproc::matchSizeAndType (_pOutWk1DistImg,_pOutOptWk1Img)) && 
ipsdk::processor::ifIsSet (_pOutOptWk1Img,
 ipsdk::imaproc::matchSize (_pInBinImg3d,_pOutOptWk1BinImg)) && 
ipsdk::processor::ifIsSet (_pOutOptWk1Img,
 ipsdk::imaproc::matchSize (_pInBinImg3d,_pOutOptWk1LabelImg))

Member Function Documentation

◆ getStorage()

template<typename TAttribute >
TAttribute::StorageType ipsdk::imaproc::advmorpho::AdaptiveBinaryWatershed3dImgLvl1::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::advmorpho::AdaptiveBinaryWatershed3dImgLvl1::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: