nix-ros-overlay/distros/humble/image-rotate/default.nix

43 lines
2 KiB
Nix

# Copyright 2025 Open Source Robotics Foundation
# Distributed under the terms of the BSD license
{ lib, buildRosPackage, fetchurl, ament-cmake-auto, ament-lint-auto, ament-lint-common, class-loader, cv-bridge, geometry-msgs, image-transport, opencv, rcl-interfaces, rclcpp, rclcpp-components, sensor-msgs, tf2, tf2-geometry-msgs, tf2-ros }:
buildRosPackage {
pname = "ros-humble-image-rotate";
version = "3.0.7-r1";
src = fetchurl {
url = "https://github.com/ros2-gbp/image_pipeline-release/archive/release/humble/image_rotate/3.0.7-1.tar.gz";
name = "3.0.7-1.tar.gz";
sha256 = "b31ad45c16e2b143f1bf1d18a085da141356d0da5f7eacda107bd0faed59374f";
};
buildType = "ament_cmake";
buildInputs = [ ament-cmake-auto class-loader ];
checkInputs = [ ament-lint-auto ament-lint-common ];
propagatedBuildInputs = [ cv-bridge geometry-msgs image-transport opencv opencv.cxxdev rcl-interfaces rclcpp rclcpp-components sensor-msgs tf2 tf2-geometry-msgs tf2-ros ];
nativeBuildInputs = [ ament-cmake-auto ];
meta = {
description = "<p>
Contains a node that rotates an image stream in a way that minimizes
the angle between a vector in some arbitrary frame and a vector in the
camera frame. The frame of the outgoing image is published by the node.
</p>
<p>
This node is intended to allow camera images to be visualized in an
orientation that is more intuitive than the hardware-constrained
orientation of the physical camera. This is particularly helpful, for
example, to show images from the PR2's forearm cameras with a
consistent up direction, despite the fact that the forearms need to
rotate in arbitrary ways during manipulation.
</p>
<p>
It is not recommended to use the output from this node for further
computation, as it interpolates the source image, introduces black
borders, and does not output a camera_info.
</p>";
license = with lib.licenses; [ bsdOriginal ];
};
}