No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro kilted. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro github. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
Repository Summary
| Description | Tools for converting ROS messages to and from numpy arrays |
| Checkout URI | https://github.com/eric-wieser/ros_numpy.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2023-11-03 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| ros_numpy | 0.0.5 |
README
ros_numpy
Tools for converting ROS messages to and from numpy arrays. Contains two functions:
-
arr = numpify(msg, ...)- try to get a numpy object from a message -
msg = msgify(MessageType, arr, ...)- try and convert a numpy object to a message
Currently supports:
-
sensor_msgs.msg.PointCloud2↔ structurednp.array:
data = np.zeros(100, dtype=[
('x', np.float32),
('y', np.float32),
('vectors', np.float32, (3,))
])
data['x'] = np.arange(100)
data['y'] = data['x']*2
data['vectors'] = np.arange(100)[:,np.newaxis]
msg = ros_numpy.msgify(PointCloud2, data)
data = ros_numpy.numpify(msg)
-
sensor_msgs.msg.Image↔ 2/3-Dnp.array, similar to the function ofcv_bridge, but without the dependency oncv2 -
nav_msgs.msg.OccupancyGrid↔np.ma.array -
geometry.msg.Vector3↔ 1-Dnp.array.hom=Truegives[x, y, z, 0] -
geometry.msg.Point↔ 1-Dnp.array.hom=Truegives[x, y, z, 1] -
geometry.msg.Quaternion↔ 1-Dnp.array,[x, y, z, w] -
geometry.msg.Transform↔ 4×4np.array, the homogeneous transformation matrix -
geometry.msg.Pose↔ 4×4np.array, the homogeneous transformation matrix from the origin
Support for more types can be added with:
@ros_numpy.converts_to_numpy(SomeMessageClass)
def convert(my_msg):
return np.array(...)
@ros_numpy.converts_from_numpy(SomeMessageClass)
def convert(my_array):
return SomeMessageClass(...)
Any extra args or kwargs to numpify or msgify will be forwarded to your conversion function
Future work
-
Add simple conversions for:
geometry_msgs.msg.Inertia
CONTRIBUTING
Repository Summary
| Description | Tools for converting ROS messages to and from numpy arrays |
| Checkout URI | https://github.com/eric-wieser/ros_numpy.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2023-11-03 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| ros_numpy | 0.0.5 |
README
ros_numpy
Tools for converting ROS messages to and from numpy arrays. Contains two functions:
-
arr = numpify(msg, ...)- try to get a numpy object from a message -
msg = msgify(MessageType, arr, ...)- try and convert a numpy object to a message
Currently supports:
-
sensor_msgs.msg.PointCloud2↔ structurednp.array:
data = np.zeros(100, dtype=[
('x', np.float32),
('y', np.float32),
('vectors', np.float32, (3,))
])
data['x'] = np.arange(100)
data['y'] = data['x']*2
data['vectors'] = np.arange(100)[:,np.newaxis]
msg = ros_numpy.msgify(PointCloud2, data)
data = ros_numpy.numpify(msg)
-
sensor_msgs.msg.Image↔ 2/3-Dnp.array, similar to the function ofcv_bridge, but without the dependency oncv2 -
nav_msgs.msg.OccupancyGrid↔np.ma.array -
geometry.msg.Vector3↔ 1-Dnp.array.hom=Truegives[x, y, z, 0] -
geometry.msg.Point↔ 1-Dnp.array.hom=Truegives[x, y, z, 1] -
geometry.msg.Quaternion↔ 1-Dnp.array,[x, y, z, w] -
geometry.msg.Transform↔ 4×4np.array, the homogeneous transformation matrix -
geometry.msg.Pose↔ 4×4np.array, the homogeneous transformation matrix from the origin
Support for more types can be added with:
@ros_numpy.converts_to_numpy(SomeMessageClass)
def convert(my_msg):
return np.array(...)
@ros_numpy.converts_from_numpy(SomeMessageClass)
def convert(my_array):
return SomeMessageClass(...)
Any extra args or kwargs to numpify or msgify will be forwarded to your conversion function
Future work
-
Add simple conversions for:
geometry_msgs.msg.Inertia