Go to the documentation of this file.
27 #include <VirtualRobot/Robot.h>
32 #include <RobotAPI/interface/core/RobotState.h>
34 #include <ArmarXGui/interface/RemoteGuiInterface.h>
52 defineOptionalProperty<std::string>(
"DebugDrawerTopicName",
"DebugDrawerUpdates",
"Name of the debug drawer topic that should be used");
54 defineOptionalProperty<std::string>(
"RobotStateComponentName",
"RobotStateComponent",
"Name of the robot state component that should be used");
55 defineOptionalProperty<std::string>(
"RemoteGuiName",
"RemoteGuiProvider",
"Name of the remote gui");
57 defineRequiredProperty<std::string>(
"MaskImageProvider",
"The Image Provider used to get a mask");
59 defineOptionalProperty<std::string>(
"PointCloudProviderReferenceFrameOverride",
"",
"If set, the component will assume incoming point clouds to be in this frame");
60 defineOptionalProperty<std::string>(
"MaskImageProviderReferenceFrameOverride",
"",
"If set, the component will assume incoming mask images to be in this frame");
62 defineOptionalProperty<std::string>(
"CalibrationProviderName",
"",
"An alternative component to receive calibration data from (mono or stereo)");
64 defineOptionalProperty<std::string>(
"PointCloudReportFrame",
"root",
"The frame used to report the point clouds");
66 defineOptionalProperty<int>(
"MaskRedHi", 255,
"Higher bound for the mask color's red channel");
67 defineOptionalProperty<int>(
"MaskGreenHi", 255,
"Higher bound for the mask color's green channel");
68 defineOptionalProperty<int>(
"MaskBlueHi", 255,
"Higher bound for the mask color's blue channel");
69 defineOptionalProperty<int>(
"MaskRedLo", 0,
"Lower bound for the mask color's red channel");
70 defineOptionalProperty<int>(
"MaskGreenLo", 0,
"Lower bound for the mask color's green channel");
71 defineOptionalProperty<int>(
"MaskBlueLo", 128,
"Lower bound for the mask color's blue channel");
95 return "MaskFilterPointCloudProcessor";
108 std::array<std::int64_t, 2>
xyz2uv(
float x,
float y,
float z,
float fx,
float fy)
const;
109 std::array<float, 3>
uvz2xyz(
int u,
int v,
float z,
float fx,
float fy)
const;
115 template<
typename Po
intType>
void process();
visionx::ImageProviderInterfacePrx _maskImageProvider
RemoteGui::TabProxy _guiTab
std::atomic< std::uint8_t > _redLo
std::string getDefaultName() const override
std::pair< float, float > maskImageProviderFocalLength() const
std::atomic_bool _maskMatchOneRangeInsteadOfAll
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr _inputCloud
void onInitPointCloudAndImageProcessor() override
Setup the vision component.
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr _maskedCloud
std::atomic< std::uint8_t > _redHi
VirtualRobot::RobotPtr _localRobot
std::string _maskImageProviderName
std::string _pointCloudReportFrame
float _maskImageProviderFocalLengthY
float _maskImageProviderFocalLengthX
std::atomic< float > _focalLengthAdjustment
std::atomic< std::int64_t > _offsetY
std::string _robotStateComponentName
SimplePeriodicTask ::pointer_type _guiTask
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
std::atomic< std::uint8_t > _blueLo
std::string _pointCloudProviderRefFrame
PointCloudProcessorPropertyDefinitions(std::string prefix)
std::atomic_bool _syncRobotWithTimestamp
std::atomic< std::uint8_t > _greenHi
std::string _remoteGuiName
std::atomic< std::int64_t > _guiParamUpdated
DebugDrawerInterfacePrx _debugDrawerTopic
Brief description of class MaskFilterPointCloudProcessor.
std::string _maskImageProviderRefFrame
void onExitPointCloudAndImageProcessor() override
Exit the ImapeProcessor component.
std::atomic< std::int64_t > _offsetX
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Properties of PointCloudProcessor.
visionx::PointCloudProviderInfo _pointCloudProviderInfo
MaskFilterPointCloudProcessorPropertyDefinitions(std::string prefix)
RobotStateComponentInterfacePrx _robotStateComponent
std::vector< void * > _maskImageProviderImages
double v(double t, double v0, double a0, double j)
RemoteGuiInterfacePrx _remoteGui
visionx::PointCloudProviderInterfacePrx _pointCloudProvider
std::array< std::int64_t, 2 > xyz2uv(float x, float y, float z, float fx, float fy) const
std::vector< visionx::CByteImageUPtr > _maskImageProviderImageOwner
std::array< float, 3 > uvz2xyz(int u, int v, float z, float fx, float fy) const
std::atomic< float > _maskZRotation
void onDisconnectPointCloudAndImageProcessor() override
Implement this method in the PointCloudAndImageProcessor in order to execute parts when the component...
void onConnectPointCloudAndImageProcessor() override
Implement this method in your PointCloudAndImageProcessor in order execute parts when the component i...
std::string _debugDrawerTopicName
std::mutex _pointCloudReportFrameMutex
std::atomic< std::uint8_t > _blueHi
visionx::ImageProviderInfo _maskImageProviderInfo
void process() override
Process the vision component.
std::atomic< std::uint8_t > _greenLo
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_ptr< class Robot > RobotPtr
The PointCloudAndImageProcessor class provides an interface for access to PointCloudProviders and Ima...
std::string _pointCloudProviderName