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::shape::analysis::ShapeAnalysis3dLvl2 Class Reference

Level 2 algorithm: Shape 3d analysis and measurement algorithm. More...

#include <ShapeAnalysis3dLvl2.h>

Inheritance diagram for ipsdk::imaproc::shape::analysis::ShapeAnalysis3dLvl2:
ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >

Public Member Functions

 ~ShapeAnalysis3dLvl2 ()
 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::InLabelsShape3dget () const
 Getter for attribute InLabelsShape3d.
 
template<>
void set (const typename ipsdk::imaproc::attr::InLabelsShape3d::StorageType &value)
 Setter for attribute InLabelsShape3d.
 
template<>
const ipsdk::imaproc::shape::analysis::InOptLabelsShape3d2get () const
 Getter for attribute InOptLabelsShape3d2.
 
template<>
void set (const typename ipsdk::imaproc::shape::analysis::InOptLabelsShape3d2::StorageType &value)
 Setter for attribute InOptLabelsShape3d2.
 
template<>
const ipsdk::imaproc::shape::analysis::InOptLabelsShape3d3get () const
 Getter for attribute InOptLabelsShape3d3.
 
template<>
void set (const typename ipsdk::imaproc::shape::analysis::InOptLabelsShape3d3::StorageType &value)
 Setter for attribute InOptLabelsShape3d3.
 
template<>
const ipsdk::imaproc::shape::analysis::InOptLabelsShape3d4get () const
 Getter for attribute InOptLabelsShape3d4.
 
template<>
void set (const typename ipsdk::imaproc::shape::analysis::InOptLabelsShape3d4::StorageType &value)
 Setter for attribute InOptLabelsShape3d4.
 
template<>
const ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d1get () const
 Getter for attribute InOptSubColorOrGreyImg3d1.
 
template<>
void set (const typename ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d1::StorageType &value)
 Setter for attribute InOptSubColorOrGreyImg3d1.
 
template<>
const ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d2get () const
 Getter for attribute InOptSubColorOrGreyImg3d2.
 
template<>
void set (const typename ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d2::StorageType &value)
 Setter for attribute InOptSubColorOrGreyImg3d2.
 
template<>
const ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d3get () const
 Getter for attribute InOptSubColorOrGreyImg3d3.
 
template<>
void set (const typename ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d3::StorageType &value)
 Setter for attribute InOptSubColorOrGreyImg3d3.
 
template<>
const ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d4get () const
 Getter for attribute InOptSubColorOrGreyImg3d4.
 
template<>
void set (const typename ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d4::StorageType &value)
 Setter for attribute InOptSubColorOrGreyImg3d4.
 
template<>
const ipsdk::imaproc::attr::OutMeasureSetget () const
 Getter for attribute OutMeasureSet.
 
template<>
void set (const typename ipsdk::imaproc::attr::OutMeasureSet::StorageType &value)
 Setter for attribute OutMeasureSet.
 
- 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< ShapeAnalysis3dLvl2createProcessor ()
 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::pair< ipsdk::shape::analysis::eMsrInputShapeCollId, GeometricCalibrationConstPtrCalibShapeId
 pair allowing to uniquely identify a calibrated shape 3d collection
 
typedef std::vector< std::pair< CalibShapeId, ipsdk::shape::segmentation::Shape3dCollConstPtr > > CalibShape3dColl
 collection of calibrated shape collection
 
typedef std::pair< ipsdk::shape::analysis::eMsrInputImageId, ipsdk::shape::analysis::IntensityPreProcessorConfigPtrPreProcImgId
 pair allowing to uniquely identify a preprocessed image
 
typedef std::vector< std::pair< PreProcImgId, ipsdk::image::ImageConstPtr > > PreProcImgIdColl
 collection of calibrated shape collection
 
- Protected Types inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
typedef std::vector< AttributePtrAttributeColl
 
typedef std::map< std::string, OutputInitializerPtrOutputInitializerColl
 

Protected Member Functions

 ShapeAnalysis3dLvl2 ()
 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...
 
void updateGlobalMsrInfo (const ipsdk::shape::analysis::eMsrInputImageId &msrInputImageId, const ImageAttributeConstPtr &pImgAttribute)
 method allowing to update global measure informations before processing
 
processor::RetrievalResult retrieveStatsProvider (const core::BasePriority &priority, core::ActionProviderPtr &pProvider, const image::ImageConstPtr &pInImg)
 method allowing to retrieve statistics provider
 
processor::RetrievalResult retrieveIndivisibleMsrProvider (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 method allowing to retrieve indivisible measure processing provider
 
void notifyIndivisibleProviderCompletion (const core::ActionProviderPtr &pProvider)
 Completion callback used to notify of indivisible pass completion.
 
processor::RetrievalResult retrieveGenericMsrProvider (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 method allowing to retrieve generic measure processing provider
 
void notifyGenericProviderCompletion (const core::ActionProviderPtr &pProvider)
 Completion callback used to notify of generic pass completion.
 
processor::RetrievalResult retrieveGeometry3dMsrProvider (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 method allowing to retrieve geometry 3d measure processing provider
 
void notifyGeometry3dProviderCompletion (const core::ActionProviderPtr &pProvider)
 Completion callback used to notify of geometry 3d pass completion.
 
processor::RetrievalResult retrieveIntensityMsrProvider (const core::BasePriority &priority, core::ActionProviderPtr &pProvider)
 method allowing to retrieve intensity measure processing provider
 
void notifyIntensityProviderPreprocessCompletion (const core::ActionProviderPtr &pProvider)
 Completion callback used to notify of intensity pass image preprocessing completion.
 
void notifyIntensityProviderCompletion (const core::ActionProviderPtr &pProvider)
 Completion callback used to notify of intensity pass completion.
 
- 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

attr::PlanIndexedStatsResultPtr _pPIStatsResult
 processed image statistics
 
ipsdk::shape::analysis::MeasureSetPtr _pSubMeasureSet
 sub measure set currently processed
 
ipsdk::shape::analysis::eMsrProcessingPolicy _msrProcessingPolicy
 current measure processing policy
 
ipsdk::shape::analysis::eMsrShapeRequirements _msrShapeRequirements
 current shape requirement
 
ipsdk::shape::analysis::MeasureConfigConstPtr _pMeasureConfig
 current configuration of measure processings
 
MeasureSetCollPtr _pMeasureSetColl
 collection of splitted processed sub measure set
 
UInt64VectorCollPtr _pShapeIndexesColl
 collection of indexes associated to intensity measure split
 
ipsdk::shape::segmentation::Shape3dCollConstPtr _pInputShape3dColl
 current input shape collection
 
CalibShapeId _curCalibShapeId
 currently used calibrated shape identification
 
CalibShape3dColl _calibShape3dColl
 collection of shapes associated to a calibration
 
PreProcImgId _curPreProcImgId
 currently used image identification
 
PreProcImgIdColl _preProcImgIdColl
 collection of preprocessed images
 
processor::ProcessorPtr _pPreProcessor
 processor used to preprocessed input images
 
ipsdk::GeometricCalibrationConstPtr _pImageGeometricCalibration
 
Attribute members
boost::shared_ptr< ipsdk::imaproc::attr::InLabelsShape3d_pInLabelsShape3d
 
boost::shared_ptr< ipsdk::imaproc::shape::analysis::InOptLabelsShape3d2_pInOptLabelsShape3d2
 
boost::shared_ptr< ipsdk::imaproc::shape::analysis::InOptLabelsShape3d3_pInOptLabelsShape3d3
 
boost::shared_ptr< ipsdk::imaproc::shape::analysis::InOptLabelsShape3d4_pInOptLabelsShape3d4
 
boost::shared_ptr< ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d1_pInOptSubColorOrGreyImg3d1
 
boost::shared_ptr< ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d2_pInOptSubColorOrGreyImg3d2
 
boost::shared_ptr< ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d3_pInOptSubColorOrGreyImg3d3
 
boost::shared_ptr< ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d4_pInOptSubColorOrGreyImg3d4
 
boost::shared_ptr< ipsdk::imaproc::attr::OutMeasureSet_pOutMeasureSet
 
- Protected Attributes inherited from ipsdk::processor::BaseProcessor< ipsdk::core::BaseRepeatedAsync1Action >
eProcessorProgressAvailability _processorProgressAvailability
 
ipUInt32 _nbIter
 

Detailed Description

Level 2 algorithm: Shape 3d analysis and measurement algorithm.

See Shape Analysis 3d for a complete algorithm description.

Author
H. Delestre
Date
2016/02/02

Algorithm associated library :

IPSDKIPLShapeAnalysis

Attribute description for algorithm :

Name ToolTip Default Initializer
ipsdk::imaproc::attr::InLabelsShape3d [Input] Collection of shape 3d associated to labels X
ipsdk::imaproc::shape::analysis::InOptLabelsShape3d2 [Input Optional] second collection of shape 3d associated to labels X
ipsdk::imaproc::shape::analysis::InOptLabelsShape3d3 [Input Optional] third collection of shape 3d associated to labels X
ipsdk::imaproc::shape::analysis::InOptLabelsShape3d4 [Input Optional] fourth collection of shape 3d associated to labels X
ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d1 [Input Optional] first color or grey image 3d for processing operation X
ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d2 [Input Optional] second color or grey image 3d for processing operation X
ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d3 [Input Optional] third color or grey image 3d for processing operation X
ipsdk::imaproc::shape::analysis::InOptSubColorOrGreyImg3d4 [Input Optional] fourth color or grey image 3d for processing operation X
ipsdk::imaproc::attr::OutMeasureSet [Output] shape analysis measure set X

Global attributes rule :

Global rule on attributes is given by
validateMeasureRequirements (_pOutMeasureSet,_pInLabelsShape3d,_pInOptLabelsShape3d2,_pInOptLabelsShape3d3,_pInOptLabelsShape3d4,_pInOptSubColorOrGreyImg3d1,_pInOptSubColorOrGreyImg3d2,_pInOptSubColorOrGreyImg3d3,_pInOptSubColorOrGreyImg3d4)

Member Function Documentation

◆ getStorage()

template<typename TAttribute >
TAttribute::StorageType ipsdk::imaproc::shape::analysis::ShapeAnalysis3dLvl2::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::shape::analysis::ShapeAnalysis3dLvl2::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

Member Data Documentation

◆ _pImageGeometricCalibration

ipsdk::GeometricCalibrationConstPtr ipsdk::imaproc::shape::analysis::ShapeAnalysis3dLvl2::_pImageGeometricCalibration
protected

image geometric calibration, stores the geometric calibration of _pInOptSubColorOrGreyImg2d1 if the sub-image has one, otherwise it uses the geometric calibration of_pInOptSubColorOrGreyImg2d2, etc.


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