From 593b1b0779c6705c03b9786e99ffbfa7046cc3c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez=20Cordero?= Date: Wed, 17 Jan 2024 16:12:18 +0100 Subject: [PATCH] Improved Image view dynamic parameters description (#829) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Alejandro Hernández Cordero --- image_view/src/image_view_node.cpp | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/image_view/src/image_view_node.cpp b/image_view/src/image_view_node.cpp index bb8164047..05e7dafd2 100644 --- a/image_view/src/image_view_node.cpp +++ b/image_view/src/image_view_node.cpp @@ -135,9 +135,33 @@ ImageViewNode::ImageViewNode(const rclcpp::NodeOptions & options) this->declare_parameter("filename_format", std::string("frame%04i.jpg")); filename_format_.parse(format_string); - colormap_ = this->declare_parameter("colormap", -1); - min_image_value_ = this->declare_parameter("min_image_value", 0); - max_image_value_ = this->declare_parameter("max_image_value", 0); + rcl_interfaces::msg::ParameterDescriptor colormap_paramDescriptor; + colormap_paramDescriptor.name = "colormap"; + colormap_paramDescriptor.type = rcl_interfaces::msg::ParameterType::PARAMETER_INTEGER; + colormap_paramDescriptor.description = + "ColorMap -1 = NO_COLORMAP, 0 = AUTUMN, 1 = BONE, 2 = JET, 3 = WINTER, 4 = RAINBOW, 5 = OCEAN" + "6 = SUMMER, 7 = SPRING, 8 = COOL, 9 = HSV, 10 = PINK, 11 = HOT"; + colormap_paramDescriptor.set__integer_range( + {rcl_interfaces::msg::IntegerRange() + .set__from_value(-1) + .set__to_value(11) + .set__step(1)}); + colormap_ = this->declare_parameter( + colormap_paramDescriptor.name, -1, colormap_paramDescriptor); + + rcl_interfaces::msg::ParameterDescriptor min_image_value_paramDescriptor; + min_image_value_paramDescriptor.name = "min_image_value"; + min_image_value_paramDescriptor.type = rcl_interfaces::msg::ParameterType::PARAMETER_DOUBLE; + min_image_value_paramDescriptor.description = "Minimum image value for scaling depth/float image"; + min_image_value_ = this->declare_parameter( + min_image_value_paramDescriptor.name, 0, min_image_value_paramDescriptor); + + rcl_interfaces::msg::ParameterDescriptor max_image_value_paramDescriptor; + max_image_value_paramDescriptor.name = "max_image_value"; + max_image_value_paramDescriptor.type = rcl_interfaces::msg::ParameterType::PARAMETER_DOUBLE; + max_image_value_paramDescriptor.description = "Minimum image value for scaling depth/float image"; + max_image_value_ = this->declare_parameter( + max_image_value_paramDescriptor.name, 0, max_image_value_paramDescriptor); if (g_gui) { window_thread_ = std::thread(&ImageViewNode::windowThread, this);