ObjectLocalizerProcessor Class Referenceabstract

ObjectLocalizerProcessor. More...

#include <VisionX/components/object_perception/ObjectLocalizerProcessor.h>

+ Inheritance diagram for ObjectLocalizerProcessor:

Public Member Functions

armarx::PropertyDefinitionsPtr createPropertyDefinitions () override
 
memoryx::ObjectLocalizationResultList localizeObjectClasses (const memoryx::ObjectClassNameList &objectClassNames, const Ice::Current &c=Ice::emptyCurrent) override
 The process method is inherited from the ObjectLocalizationProcessorInterface and is called by the WorkingMemoryUpdater. More...
 
 ObjectLocalizerProcessor ()
 
void onConnectImageProcessor () override
 Called from framework. More...
 
void onDisconnectComponent () override
 Called from framework. More...
 
void onExitImageProcessor () override
 Called from framework. More...
 
void onInitImageProcessor () override
 Called from framework. More...
 
void process () override
 The process method is inherited from ImageProcessor. More...
 
- Public Member Functions inherited from ImageProcessor
std::string getImageListenerTopicName (std::string providerName) const
 
- Public Member Functions inherited from Component
void forceComponentCreatedByComponentCreateFunc ()
 forces the flag to be set to true that the object instance was created by the Component::create function More...
 
std::vector< PropertyUserPtrgetAdditionalPropertyUsers () const
 
template<typename PropertyType >
Property< PropertyType > getProperty (const std::string &name)
 
template<typename PropertyType >
Property< PropertyType > getProperty (const std::string &name) const
 
template<class T >
void getProperty (std::atomic< T > &val, const std::string &name) const
 
template<class T >
void getProperty (T &val, const std::string &name) const
 
template<class ProxyType >
ProxyType getProxyFromProperty (const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true)
 Get a proxy whose name is specified by the given property. More...
 
template<class ProxyType >
void getProxyFromProperty (ProxyType &proxy, const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true)
 
template<class TopicProxyType >
TopicProxyType getTopicFromProperty (const std::string &propertyName)
 Get a topic proxy whose name is specified by the given property. More...
 
template<class TopicProxyType >
void getTopicFromProperty (TopicProxyType &top, const std::string &propertyName)
 
void initializeProperties (const std::string &configName, Ice::PropertiesPtr const &properties, const std::string &configDomain)
 initializes the properties of this component. More...
 
void injectPropertyDefinitions (PropertyDefinitionsPtr &props) override
 
void offeringTopicFromProperty (const std::string &propertyName)
 Offer a topic whose name is specified by the given property. More...
 
virtual void preOnConnectComponent () override
 
virtual void preOnInitComponent () override
 
bool usingProxyFromProperty (const std::string &propertyName, const std::string &endpoints="")
 Use a proxy whose name is specified by the given property. More...
 
void usingTopicFromProperty (const std::string &propertyName, bool orderedPublishing=false)
 Use a topic whose name is specified by the given property. More...
 
- Public Member Functions inherited from ManagedIceObject
void enableProfiler (bool enable)
 setProfiler allows setting ManagedIceObject::profiler to a new instance (if the new instance is actually not a null pointer) More...
 
std::string generateSubObjectName (const std::string &subObjectName)
 Generates a unique name for a sub object from a general name. More...
 
ArmarXManagerPtr getArmarXManager () const
 Returns the ArmarX manager used to add and remove components. More...
 
ManagedIceObjectConnectivity getConnectivity () const
 Retrieve connectivity of the object (topcis as well as proxies) More...
 
virtual std::string getDefaultName () const =0
 Retrieve default name of component. More...
 
IceManagerPtr getIceManager () const
 Returns the IceManager. More...
 
VariantBasePtr getMetaInfo (const std::string &id)
 
StringVariantBaseMap getMetaInfoMap () const
 
std::string getName () const
 Retrieve name of object. More...
 
Ice::ObjectAdapterPtr getObjectAdapter () const
 Returns object's Ice adapter. More...
 
ArmarXObjectSchedulerPtr getObjectScheduler () const
 
PeriodicTaskPtr getPeriodicTask (const std::string &name)
 
Profiler::ProfilerPtr getProfiler () const
 getProfiler returns an instance of armarx::Profiler More...
 
template<class ProxyTarg , class... Args>
void getProxy (const char *name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args)
 
template<class ProxyType >
ProxyType getProxy (const std::string &name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true)
 Retrieves a proxy object. More...
 
template<class ProxyTarg , class... Args>
void getProxy (const std::string &name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args)
 
template<class ProxyTarg , class... Args>
void getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const char *name, Args &&...args)
 
template<class ProxyTarg , class... Args>
void getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const std::string &name, Args &&...args)
 Assigns a proxy to proxy. More...
 
Ice::ObjectPrx getProxy (long timeoutMs=0, bool waitForScheduler=true) const
 Returns the proxy of this object (optionally it waits for the proxy) More...
 
template<class Prx >
Prx getProxy (long timeoutMs=0, bool waitForScheduler=true) const
 
template<class ProxyType >
void getProxy (ProxyType &proxy, const char *name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true)
 Overload to allow using string literals as name (solve ambiguous overload). More...
 
template<class Prx >
void getProxy (Prx &prx, long timeoutMs=0, bool waitForScheduler=true) const
 
int getState () const
 Retrieve current state of the ManagedIceObject. More...
 
template<class TopicProxyType >
TopicProxyType getTopic (const std::string &name)
 Returns a proxy of the specified topic. More...
 
template<class TopicProxyType >
void getTopic (TopicProxyType &topicProxy, const std::string &name)
 Assigns a proxy of the specified topic to topicProxy. More...
 
std::vector< std::string > getUnresolvedDependencies () const
 returns the names of all unresolved dependencies More...
 
 ManagedIceObject (ManagedIceObject const &other)
 
void offeringTopic (const std::string &name)
 Registers a topic for retrival after initialization. More...
 
void preambleGetTopic (std::string const &name)
 
void setMetaInfo (const std::string &id, const VariantBasePtr &value)
 Allows to set meta information that can be queried live via Ice interface on the ArmarXManager. More...
 
void startPeriodicTask (const std::string &uniqueName, std::function< void(void)> f, int periodMs, bool assureMeanInterval=false, bool forceSystemTime=true)
 
bool stopPeriodicTask (const std::string &name)
 
bool unsubscribeFromTopic (const std::string &name)
 Unsubscribe from a topic. More...
 
bool usingProxy (const std::string &name, const std::string &endpoints="")
 Registers a proxy for retrieval after initialization and adds it to the dependency list. More...
 
void usingTopic (const std::string &name, bool orderedPublishing=false)
 Registers a proxy for subscription after initialization. More...
 
void waitForObjectScheduler ()
 Waits until the ObjectScheduler could resolve all dependencies. More...
 
void waitForProxy (std::string const &name, bool addToDependencies)
 
- Public Member Functions inherited from Logging
SpamFilterDataPtr deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const
 disables the logging for the current line for the given amount of seconds. More...
 
MessageTypeT getEffectiveLoggingLevel () const
 
 Logging ()
 
void setLocalMinimumLoggingLevel (MessageTypeT level)
 With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. More...
 
void setTag (const LogTag &tag)
 
void setTag (const std::string &tagName)
 
virtual ~Logging ()
 
- Public Member Functions inherited from PropertyUser
std::vector< std::string > getComponentProxyNames ()
 
Ice::PropertiesPtr getIceProperties () const
 Returns the set of Ice properties. More...
 
template<typename PropertyType >
Property< PropertyType > getProperty (const std::string &name)
 Property creation and retrieval. More...
 
template<typename PropertyType >
Property< PropertyType > getProperty (const std::string &name) const
 Hack to allow using getProperty in const-modified methods. More...
 
template<class T >
void getProperty (std::atomic< T > &val, const std::string &name) const
 
template<class T >
void getProperty (T &val, const std::string &name) const
 
template<class T >
std::vector< TgetPropertyAsCSV (const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true)
 
template<class ContainerT >
void getPropertyAsCSV (ContainerT &val, const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true)
 
PropertyDefinitionsPtr getPropertyDefinitions ()
 Returns the component's property definition container. More...
 
std::vector< std::string > getSubscribedTopicNames ()
 
std::vector< std::string > getTopicProxyNames ()
 
bool hasProperty (const std::string &name)
 
 PropertyUser ()
 
virtual void setIceProperties (Ice::PropertiesPtr properties)
 Sets the Ice properties. More...
 
bool tryAddProperty (const std::string &propertyName, const std::string &value)
 
virtual void updateIceProperties (const std::map< std::string, std::string > &changes)
 
void updateProperties ()
 
void updateProxies (IceManagerPtr)
 
 ~PropertyUser () override
 

Protected Member Functions

virtual bool addObjectClass (const memoryx::EntityPtr &objectClassEntity, const memoryx::GridFileManagerPtr &fileManager)=0
 ObjectLocalizerProcessor interface: The addObjectClass method needs to be implemented by any ObjectLocalizer. More...
 
memoryx::MultivariateNormalDistributionPtr calculateLocalizationUncertainty (const Eigen::Vector3f &position)
 Calculate localization uncertainty for a 3d point. More...
 
memoryx::MultivariateNormalDistributionPtr calculateLocalizationUncertainty (Vec2d left_point, Vec2d right_point)
 Calculate 3D uncertainty from two 2d points in left and right camera. More...
 
Eigen::Vector3i getColorMask () const
 
ImageFormatInfo getImageFormat () const
 Retrieve format of input images. More...
 
bool getImagesAreUndistorted () const
 Retrieve whether images are undistorted. More...
 
std::string getReferenceFrameName () const
 Retrieve whether result images are enabled. More...
 
bool getResultImagesEnabled () const
 Retrieve whether result images are enabled. More...
 
CStereoCalibration * getStereoCalibration () const
 Retrieve stereo calibration corresponding to image provider. More...
 
virtual bool initRecognizer ()=0
 ObjectLocalizerProcessor interface: The initRecognizer method needs to be implemented by any ObjectLocalizer. More...
 
bool isResultImageMaskEnabled () const
 
virtual memoryx::ObjectLocalizationResultList localizeObjectClasses (const std::vector< std::string > &objectClassNames, CByteImage **cameraImages, armarx::MetaInfoSizeBasePtr imageMetaInfo, CByteImage **resultImages)=0
 ObjectLocalizerProcessor interface: The localizeObjectClass method needs to be implemented by any ObjectLocalizer. More...
 
virtual void onConnectObjectLocalizerProcessor ()
 ObjectLocalizerProcessor interface: subclass hook. More...
 
virtual void onDisconnectObjectLocalizerProcessor ()
 ObjectLocalizerProcessor interface: subclass hook. More...
 
virtual void onExitObjectLocalizerProcessor ()
 ObjectLocalizerProcessor interface: subclass hook. More...
 
virtual void onInitObjectLocalizerProcessor ()
 ObjectLocalizerProcessor interface: subclass hook. More...
 
void reportStereoCalibrationChanged (const StereoCalibration &stereoCalibration, bool imagesAreUndistorted, const std::string &referenceFrame, const Ice::Current &c=Ice::emptyCurrent) override
 
- Protected Member Functions inherited from ImageProcessor
void cleanup ()
 clean up memory More...
 
void componentPropertiesUpdated (const std::set< std::string > &changedProperties) override
 Implement this function if you would like to react to changes in the properties. More...
 
armarx::PropertyDefinitionsPtr createPropertyDefinitions () override
 
void enableResultImages (int numberImages, ImageDimension imageDimension, ImageType imageType, const std::string &name="")
 Enables visualization. More...
 
int getCompressionQuality () const
 
CompressionType getCompressionType () const
 
float getFramerate () const
 
std::string getHardwareId (const Ice::Current &c=Ice::emptyCurrent)
 Returns machines hardware Id string. More...
 
armarx::MetaInfoSizeBasePtr getImageMetaInfo (const std::string &imageProviderName="") const
 Get meta information from the image provider. More...
 
ImageProviderInfo getImageProvider (std::string name, bool waitForProxy, ImageType destinationImageType=eRgb)
 
ImageProviderInfo getImageProvider (std::string name, ImageType destinationImageType=eRgb, bool waitForProxy=false)
 Select an ImageProvider. More...
 
int getImages (CByteImage **ppImages)
 Poll images from provider. More...
 
int getImages (CFloatImage **ppImages)
 
int getImages (std::string providerName, CByteImage **ppImages, armarx::MetaInfoSizeBasePtr &info)
 Poll images from provider. More...
 
int getImages (std::string providerName, CFloatImage **ppImages, armarx::MetaInfoSizeBasePtr &info)
 
int getImages (std::string providerName, const std::vector< CByteImageUPtr > &ppImages, armarx::MetaInfoSizeBasePtr &info)
 
int getImages (std::string providerName, void **ppBuffer, armarx::MetaInfoSizeBasePtr &info)
 
int getImages (void **ppBuffer)
 
ImageTransferStats getImageTransferStats (std::string provideNname, bool resetStats=false)
 Retrieve statistics for a connection to an ImageProvider. More...
 
int getNumberOfImages (const std::string &providerName="")
 Returns the number of images provided by the specified image provider If no provider is specified, the first provider is taken. More...
 
bool isNewImageAvailable ()
 
bool isNewImageAvailable (const std::string &providerName)
 
void onConnectComponent () override
 
void onDisconnectComponent () override
 
virtual void onDisconnectImageProcessor ()
 Implement this method in the ImageProcessor in order execute parts when the component looses network connectivity. More...
 
void onExitComponent () override
 
void onInitComponent () override
 
void provideResultImages (CByteImage **images, armarx::MetaInfoSizeBasePtr info=nullptr)
 sends result images for visualization More...
 
void provideResultImages (const std::vector< CByteImageUPtr > &images, armarx::MetaInfoSizeBasePtr info=nullptr)
 
void releaseImageProvider (std::string providerName)
 
void reportImageAvailable (const std::string &providerName, const Ice::Current &c=Ice::emptyCurrent) override
 Listener callback function. More...
 
virtual void runProcessor ()
 
void setCompressionType (CompressionType compressionType=ePNG, int compressionQuality=9)
 Sets the compression type and compression quality. More...
 
void setFramerate (float fps)
 
void usingImageProvider (std::string name)
 Registers a delayed topic subscription and a delayed provider proxy retrieval which all will be available on the start of the component. More...
 
bool waitForImages (int milliseconds=1000)
 Wait for new images. More...
 
bool waitForImages (std::string providerName, IceUtil::Time waitTime)
 
bool waitForImages (std::string providerName, int milliseconds=1000)
 Wait for new images. More...
 
- Protected Member Functions inherited from Component
void addPropertyUser (const PropertyUserPtr &subPropertyUser)
 Add additional property users here that should show up in the application help text. More...
 
 Component ()
 Protected default constructor. Used for virtual inheritance. Use createManagedIceObject() instead. More...
 
std::string getConfigDomain ()
 Retrieve config domain for this component as set in constructor. More...
 
std::string getConfigIdentifier ()
 Retrieve config identifier for this component as set in constructor. More...
 
std::string getConfigName ()
 Retrieve config name for this component as set in constructor. More...
 
virtual void icePropertiesInitialized ()
 
- Protected Member Functions inherited from ManagedIceObject
template<class PluginT , class... ParamsT>
PluginT * addPlugin (const std::string prefix="", ParamsT &&...params)
 
template<class PluginT , class... ParamsT>
void addPlugin (PluginT *&targ, const std::string prefix="", ParamsT &&...params)
 
template<class PluginT , class... ParamsT>
void addPlugin (std::experimental::observer_ptr< PluginT > &targ, const std::string prefix="", ParamsT &&...params)
 
Ice::CommunicatorPtr getCommunicator () const
 
std::unique_ptr< ManagedIceObjectPlugin > & getPluginPointer (std::type_info const &type, std::string const &prefix)
 
 ManagedIceObject ()
 Protected default constructor. More...
 
virtual void postOnConnectComponent ()
 
virtual void postOnDisconnectComponent ()
 
virtual void postOnExitComponent ()
 
virtual void postOnInitComponent ()
 
virtual void preOnDisconnectComponent ()
 
virtual void preOnExitComponent ()
 
bool removeProxyDependency (const std::string &name)
 This function removes the dependency of this object on the in parameter name specified object. More...
 
void setName (std::string name)
 Override name of well-known object. More...
 
void terminate ()
 Initiates termination of this IceManagedObject. More...
 
 ~ManagedIceObject () override
 
- Protected Member Functions inherited from Logging
bool checkLogLevel (MessageTypeT level) const
 
const LogSenderPtrgetLogSender () const
 Retrieve log sender. More...
 
LogSenderPtr loghelper (const char *file, int line, const char *function) const
 

Protected Attributes

CByteImage * cameraImages [2]
 
CByteImage cameraImagesData [2]
 
armarx::MetaInfoSizeBasePtr imageMetaInfo
 
std::string imageProviderName
 
int numberOfResultImages
 
std::string priorKnowledgeProxyName
 
std::string referenceFrameName
 
CByteImage ** resultImages
 
boost::ptr_vector< boost::nullable< CByteImage > > resultImagesData
 
- Protected Attributes inherited from ImageProcessor
int compressionQuality = 9
 
CompressionType compressionType = eNoCompression
 
float desiredFps = 0
 
std::map< std::string, ImageProviderInfoimageProviderInfoMap
 
std::shared_mutex imageProviderInfoMutex
 
armarx::PeriodicTask< ImageProcessor >::pointer_type processorTask
 
IceInternal::Handle< ResultImageProviderresultImageProvider
 
bool startProcessorTask = true
 
std::map< std::string, ImageTransferStatsstatistics
 
std::mutex statisticsMutex
 
ImageProviderMap usedImageProviders
 
- Protected Attributes inherited from Logging
MessageTypeT minimumLoggingLevel
 
SpamFilterDataPtr spamFilter
 
LogTag tag
 

Friends

class ObjectLocalizerProcessorJob
 

Additional Inherited Members

- Public Types inherited from ManagedIceObject
using PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >>
 
- Static Public Member Functions inherited from Component
template<class T , class TPtr = IceInternal::Handle<T>>
static TPtr create (Ice::PropertiesPtr properties=Ice::createProperties(), const std::string &configName="", const std::string &configDomain="ArmarX")
 Factory method for a component. More...
 
- Static Public Member Functions inherited from ManagedIceObject
static std::string generateSubObjectName (const std::string &superObjectName, const std::string &subObjectName)
 Generates a unique name for a sub object from a general name and unique name. More...
 
static std::string GetObjectStateAsString (int state)
 
- Static Public Attributes inherited from ImageProcessor
static std::string ListenerSuffix = ".ImageListener"
 
- Static Public Attributes inherited from ManagedIceObject
static const ManagedIceObjectPtr NullPtr
 A nullptr to be used when a const ref to a nullptr is required. More...
 
- Protected Types inherited from ImageProcessor
using ImageProviderMap = std::map< std::string, armarx::IceSharedMemoryConsumer< unsigned char >::pointer_type >
 

Detailed Description

Constructor & Destructor Documentation

◆ ObjectLocalizerProcessor()

Definition at line 51 of file ObjectLocalizerProcessor.cpp.

Member Function Documentation

◆ addObjectClass()

virtual bool addObjectClass ( const memoryx::EntityPtr objectClassEntity,
const memoryx::GridFileManagerPtr fileManager 
)
protectedpure virtual

ObjectLocalizerProcessor interface: The addObjectClass method needs to be implemented by any ObjectLocalizer.

Add object class to localizer. Called by the ObjectLocalizerProcessor for each object class in prior knowledge, that has the RecognitionMethod attribute corresponding to the default name of this component (see Component::getDefaultName())

Parameters
objectClassEntityentity containing all information available for the object class
fileManagerGridFileManager required to read files associated to prior knowledgge from the database. Usually accessed via an AbstractEntityWrapper.
Returns
success of adding this entity to the recognition method

Implemented in SegmentableTemplateRecognition, SegmentableObjectRecognition, BlobRecognition, TexturedObjectRecognition, BigBowlLocalization, ColorMarkerObjectLocalizer, FaceRecognition, and HandMarkerLocalization.

◆ calculateLocalizationUncertainty() [1/2]

memoryx::MultivariateNormalDistributionPtr calculateLocalizationUncertainty ( const Eigen::Vector3f &  position)
protected

Calculate localization uncertainty for a 3d point.

First projects the point to the camera images and then applies calculateLocalizationUncertainty(Vec2d left_point, Vec2d right_point). The reference frame is always the left camera.

Parameters
position3d position of the point
Returns
3D localization uncertainty

Definition at line 255 of file ObjectLocalizerProcessor.cpp.

+ Here is the call graph for this function:

◆ calculateLocalizationUncertainty() [2/2]

memoryx::MultivariateNormalDistributionPtr calculateLocalizationUncertainty ( Vec2d  left_point,
Vec2d  right_point 
)
protected

Calculate 3D uncertainty from two 2d points in left and right camera.

Uses the property "2DLocalizationNoise" for estimating the 3D noise. Uses unscented transform through epipolar geometry to derive an approximation The reference frame is always the left camera.

Parameters
left_pointpoint in left camera image
right_pointpoint in right camera image
Returns
3D localization uncertainty

Definition at line 201 of file ObjectLocalizerProcessor.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createPropertyDefinitions()

armarx::PropertyDefinitionsPtr createPropertyDefinitions ( )
inlineoverridevirtual
See also
PropertyUser::createPropertyDefinitions()

Reimplemented from Component.

Reimplemented in SegmentableTemplateRecognition, SegmentableObjectRecognition, and TexturedObjectRecognition.

Definition at line 119 of file ObjectLocalizerProcessor.h.

+ Here is the call graph for this function:

◆ getColorMask()

Eigen::Vector3i getColorMask ( ) const
inlineprotected

Definition at line 324 of file ObjectLocalizerProcessor.h.

+ Here is the caller graph for this function:

◆ getImageFormat()

ImageFormatInfo getImageFormat ( ) const
inlineprotected

Retrieve format of input images.

Returns
iamge format

Definition at line 304 of file ObjectLocalizerProcessor.h.

◆ getImagesAreUndistorted()

bool getImagesAreUndistorted ( ) const
inlineprotected

Retrieve whether images are undistorted.

Returns
whether images are undistorted

Definition at line 314 of file ObjectLocalizerProcessor.h.

+ Here is the caller graph for this function:

◆ getReferenceFrameName()

std::string getReferenceFrameName ( ) const
inlineprotected

Retrieve whether result images are enabled.

Returns
result images enables

Definition at line 294 of file ObjectLocalizerProcessor.h.

◆ getResultImagesEnabled()

bool getResultImagesEnabled ( ) const
inlineprotected

Retrieve whether result images are enabled.

Returns
result images enables

Definition at line 284 of file ObjectLocalizerProcessor.h.

+ Here is the caller graph for this function:

◆ getStereoCalibration()

CStereoCalibration* getStereoCalibration ( ) const
inlineprotected

Retrieve stereo calibration corresponding to image provider.

Returns
stereo calibration

Definition at line 334 of file ObjectLocalizerProcessor.h.

+ Here is the caller graph for this function:

◆ initRecognizer()

virtual bool initRecognizer ( )
protectedpure virtual

ObjectLocalizerProcessor interface: The initRecognizer method needs to be implemented by any ObjectLocalizer.

the method is called in the same thread as addObjectClass and localizeObjectClass. Initialize your recognition method here.

Returns
success of adding this entity to the recognition method

Implemented in SegmentableTemplateRecognition, SegmentableObjectRecognition, BlobRecognition, TexturedObjectRecognition, BigBowlLocalization, ColorMarkerObjectLocalizer, FaceRecognition, and HandMarkerLocalization.

+ Here is the caller graph for this function:

◆ isResultImageMaskEnabled()

bool isResultImageMaskEnabled ( ) const
inlineprotected

Definition at line 319 of file ObjectLocalizerProcessor.h.

+ Here is the caller graph for this function:

◆ localizeObjectClasses() [1/2]

memoryx::ObjectLocalizationResultList localizeObjectClasses ( const memoryx::ObjectClassNameList &  objectClassNames,
const Ice::Current &  c = Ice::emptyCurrent 
)
override

The process method is inherited from the ObjectLocalizationProcessorInterface and is called by the WorkingMemoryUpdater.

It should be considered final. Implement ObjectLocalizerProcessor::localizeObjectClass(const std::string& objecClassName, CByteImage** cameraImages, CByteIamge** resultImages) in your subclass instead.

Definition at line 176 of file ObjectLocalizerProcessor.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ localizeObjectClasses() [2/2]

virtual memoryx::ObjectLocalizationResultList localizeObjectClasses ( const std::vector< std::string > &  objectClassNames,
CByteImage **  cameraImages,
armarx::MetaInfoSizeBasePtr  imageMetaInfo,
CByteImage **  resultImages 
)
protectedpure virtual

ObjectLocalizerProcessor interface: The localizeObjectClass method needs to be implemented by any ObjectLocalizer.

Based on the object class name and the camera images it generates a list of localization results which correspond to found instances of objects belonging to that class.

This method is called by an @ObjectLocalizerProcessorJob.

Parameters
objectClassNamesnames of the class to localize
cameraImagesthe two input images
resultImagesthe two result images. are provided if result images are enabled.
Returns
list of object instances

Implemented in SegmentableTemplateRecognition, SegmentableObjectRecognition, BlobRecognition, TexturedObjectRecognition, BigBowlLocalization, ColorMarkerObjectLocalizer, HandMarkerLocalization, and FaceRecognition.

◆ onConnectImageProcessor()

void onConnectImageProcessor ( )
overridevirtual

Called from framework.

Establishes the database connection, retrieves image provider settings and stereo calibration, initializes visualization if enabled and reads the object classes from the MemoryX database.

Calls the onConnectObjectLocalizerProcessor() hook.

See also
Component::onConnectComponent()

Implements ImageProcessor.

Definition at line 92 of file ObjectLocalizerProcessor.cpp.

+ Here is the call graph for this function:

◆ onConnectObjectLocalizerProcessor()

virtual void onConnectObjectLocalizerProcessor ( )
inlineprotectedvirtual

ObjectLocalizerProcessor interface: subclass hook.

See also
ObjectLocalizerProcessor::onConnectImageProcessor()

Reimplemented in SegmentableTemplateRecognition, SegmentableObjectRecognition, BigBowlLocalization, TexturedObjectRecognition, BlobRecognition, ColorMarkerObjectLocalizer, HandMarkerLocalization, and FaceRecognition.

Definition at line 234 of file ObjectLocalizerProcessor.h.

+ Here is the caller graph for this function:

◆ onDisconnectComponent()

void onDisconnectComponent ( )
inlineoverridevirtual

Called from framework.

Calls the onDisconnectObjectLocalizerProcessor() hook.

See also
Component::onExitComponent()

Reimplemented from ManagedIceObject.

Definition at line 149 of file ObjectLocalizerProcessor.h.

+ Here is the call graph for this function:

◆ onDisconnectObjectLocalizerProcessor()

virtual void onDisconnectObjectLocalizerProcessor ( )
inlineprotectedvirtual

ObjectLocalizerProcessor interface: subclass hook.

See also
ObjectLocalizerProcessor::onDisconnectImageProcessor()

Definition at line 241 of file ObjectLocalizerProcessor.h.

+ Here is the caller graph for this function:

◆ onExitImageProcessor()

void onExitImageProcessor ( )
inlineoverridevirtual

Called from framework.

Calls the onExitObjectLocalizerProcessor() hook.

See also
Component::onExitComponent()

Implements ImageProcessor.

Definition at line 164 of file ObjectLocalizerProcessor.h.

+ Here is the call graph for this function:

◆ onExitObjectLocalizerProcessor()

virtual void onExitObjectLocalizerProcessor ( )
inlineprotectedvirtual

ObjectLocalizerProcessor interface: subclass hook.

See also
ObjectLocalizerProcessor::onExitImageProcessor()

Reimplemented in SegmentableTemplateRecognition, SegmentableObjectRecognition, BlobRecognition, TexturedObjectRecognition, BigBowlLocalization, ColorMarkerObjectLocalizer, HandMarkerLocalization, and FaceRecognition.

Definition at line 248 of file ObjectLocalizerProcessor.h.

+ Here is the caller graph for this function:

◆ onInitImageProcessor()

void onInitImageProcessor ( )
overridevirtual

Called from framework.

Sets up the required proxies and properties from config file. Calls the onInitObjectLocalizerProcessor() hook.

See also
Component::onInitComponent()

Implements ImageProcessor.

Definition at line 61 of file ObjectLocalizerProcessor.cpp.

+ Here is the call graph for this function:

◆ onInitObjectLocalizerProcessor()

◆ process()

void process ( )
overridevirtual

The process method is inherited from ImageProcessor.

The process method is called by the framework in a separate thread and. The loading of the database and the triggering of recognition is performed in this thread.

See also
ImageProcessor::process()

Implements ImageProcessor.

Definition at line 196 of file ObjectLocalizerProcessor.cpp.

+ Here is the call graph for this function:

◆ reportStereoCalibrationChanged()

void reportStereoCalibrationChanged ( const StereoCalibration &  stereoCalibration,
bool  imagesAreUndistorted,
const std::string &  referenceFrame,
const Ice::Current &  c = Ice::emptyCurrent 
)
inlineoverrideprotected

Definition at line 272 of file ObjectLocalizerProcessor.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ ObjectLocalizerProcessorJob

friend class ObjectLocalizerProcessorJob
friend

Definition at line 111 of file ObjectLocalizerProcessor.h.

Member Data Documentation

◆ cameraImages

CByteImage* cameraImages[2]
protected

Definition at line 372 of file ObjectLocalizerProcessor.h.

◆ cameraImagesData

CByteImage cameraImagesData[2]
protected

Definition at line 371 of file ObjectLocalizerProcessor.h.

◆ imageMetaInfo

armarx::MetaInfoSizeBasePtr imageMetaInfo
protected

Definition at line 375 of file ObjectLocalizerProcessor.h.

◆ imageProviderName

std::string imageProviderName
protected

Definition at line 366 of file ObjectLocalizerProcessor.h.

◆ numberOfResultImages

int numberOfResultImages
protected

Definition at line 376 of file ObjectLocalizerProcessor.h.

◆ priorKnowledgeProxyName

std::string priorKnowledgeProxyName
protected

Definition at line 367 of file ObjectLocalizerProcessor.h.

◆ referenceFrameName

std::string referenceFrameName
protected

Definition at line 368 of file ObjectLocalizerProcessor.h.

◆ resultImages

CByteImage** resultImages
protected

Definition at line 374 of file ObjectLocalizerProcessor.h.

◆ resultImagesData

boost::ptr_vector<boost::nullable<CByteImage> > resultImagesData
protected

Definition at line 373 of file ObjectLocalizerProcessor.h.


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