|
ColorMarkerObjectLocalizer uses CSegmentableRecognition from IVT to recognize and localize single-colored objects based on their color and shape. More...
#include <VisionX/components/object_perception/ColorMarkerObjectLocalizer/ColorMarkerObjectLocalizer.h>
Public Member Functions | |
ColorMarkerObjectLocalizer () | |
armarx::PropertyDefinitionsPtr | createPropertyDefinitions () override |
std::string | getDefaultName () const override |
~ColorMarkerObjectLocalizer () override | |
Public Member Functions inherited from ObjectLocalizerProcessor | |
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< PropertyUserPtr > | getAdditionalPropertyUsers () 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... | |
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< T > | getPropertyAsCSV (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 | |
bool | addObjectClass (const memoryx::EntityPtr &objectClassEntity, const memoryx::GridFileManagerPtr &fileManager) override |
ObjectLocalizerProcessor interface: The addObjectClass method needs to be implemented by any ObjectLocalizer. More... | |
bool | initRecognizer () override |
Initializes segmentable recognition. More... | |
memoryx::ObjectLocalizationResultList | localizeObjectClasses (const std::vector< std::string > &objectClassNames, CByteImage **cameraImages, armarx::MetaInfoSizeBasePtr imageMetaInfo, CByteImage **resultImages) override |
localizes object markers instances More... | |
void | onConnectObjectLocalizerProcessor () override |
Initializes the CSegmentableRecognition. More... | |
void | onExitObjectLocalizerProcessor () override |
void | onInitObjectLocalizerProcessor () override |
Protected Member Functions inherited from ObjectLocalizerProcessor | |
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... | |
bool | isResultImageMaskEnabled () const |
virtual void | onDisconnectObjectLocalizerProcessor () |
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 LogSenderPtr & | getLogSender () const |
Retrieve log sender. More... | |
LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
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 > |
Protected Attributes inherited from ObjectLocalizerProcessor | |
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, ImageProviderInfo > | imageProviderInfoMap |
std::shared_mutex | imageProviderInfoMutex |
armarx::PeriodicTask< ImageProcessor >::pointer_type | processorTask |
IceInternal::Handle< ResultImageProvider > | resultImageProvider |
bool | startProcessorTask = true |
std::map< std::string, ImageTransferStats > | statistics |
std::mutex | statisticsMutex |
ImageProviderMap | usedImageProviders |
Protected Attributes inherited from Logging | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
ColorMarkerObjectLocalizer uses CSegmentableRecognition from IVT to recognize and localize single-colored objects based on their color and shape.
The object data is read from PriorKnowledge and CommonStorage via MemoryX. The object localization is invoked automatically by the working memory if the object has been requested there.
Definition at line 75 of file ColorMarkerObjectLocalizer.h.
Definition at line 53 of file ColorMarkerObjectLocalizer.cpp.
|
override |
Definition at line 57 of file ColorMarkerObjectLocalizer.cpp.
|
overrideprotectedvirtual |
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())
objectClassEntity | entity containing all information available for the object class |
fileManager | GridFileManager required to read files associated to prior knowledgge from the database. Usually accessed via an AbstractEntityWrapper. |
Implements ObjectLocalizerProcessor.
Definition at line 604 of file ColorMarkerObjectLocalizer.cpp.
|
inlineoverridevirtual |
Reimplemented from Component.
Definition at line 82 of file ColorMarkerObjectLocalizer.h.
|
inlineoverridevirtual |
Implements ManagedIceObject.
Definition at line 90 of file ColorMarkerObjectLocalizer.h.
|
overrideprotectedvirtual |
Initializes segmentable recognition.
Implements ObjectLocalizerProcessor.
Definition at line 78 of file ColorMarkerObjectLocalizer.cpp.
|
overrideprotectedvirtual |
localizes object markers instances
objectClassNames | names of the class to localize |
cameraImages | the two input images |
resultImages | the two result images. are provided if result images are enabled. |
Implements ObjectLocalizerProcessor.
Definition at line 145 of file ColorMarkerObjectLocalizer.cpp.
|
overrideprotectedvirtual |
Initializes the CSegmentableRecognition.
Reimplemented from ObjectLocalizerProcessor.
Definition at line 67 of file ColorMarkerObjectLocalizer.cpp.
|
overrideprotectedvirtual |
Reimplemented from ObjectLocalizerProcessor.
Definition at line 73 of file ColorMarkerObjectLocalizer.cpp.
|
overrideprotectedvirtual |
Reimplemented from ObjectLocalizerProcessor.
Definition at line 62 of file ColorMarkerObjectLocalizer.cpp.