37#include <VisionX/interface/core/ImageProviderInterface.h>
43 inline std::vector<std::string>
46 std::vector<std::string> result =
Split(propertyValue,
",");
50 inline Eigen::Vector3i
53 int number = (int)strtol(&propertyValue.c_str()[1], NULL, 16);
56 int g = number >> 8 & 0xFF;
57 int b = number & 0xFF;
59 return Eigen::Vector3i(r, g, b);
80 "image color that should be used as alpha channel")
86 "comma separated list of image providers")
109 return "ResultImageFuser";
138 bool capture(
void** ppImages)
override;
146 void setResultImageProviders(std::vector<std::string> imageProviders);
148 void pollImageProviders();
154 std::mutex imageMutex;
156 Eigen::Vector3i colorMask;
157 std::map<std::string, CByteImage**> imageSources;
158 std::map<std::string, bool> imageAvailable;
IceUtil::Handle< PeriodicTask< T > > pointer_type
Shared pointer type for convenience.
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
PropertyDefinition< PropertyType > & defineOptionalProperty(const std::string &name, PropertyType defaultValue, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
PropertyDefinition defines a property that will be available within the PropertyUser.
std::function< PropertyType(std::string)> PropertyFactoryFunction
ResultImageFuserPropertyDefinitions(std::string prefix)
void onStartCapture(float frameRate) override
void onStopCapture() override
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
void onExitCapturingImageProvider() override
void onInitCapturingImageProvider() override
std::string getDefaultName() const override
CapturingImageProviderPropertyDefinitions(std::string prefix)
The CapturingImageProvider provides a callback function to trigger the capturing of images with diffe...
float frameRate
Required frame rate.
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::vector< std::string > Split(const std::string &source, const std::string &splitBy, bool trimElements=false, bool removeEmptyElements=false)
std::vector< std::string > splitter(std::string const &propertyValue)
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
Eigen::Vector3i extractColorValue(std::string propertyValue)