No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro iron. 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 rolling. Known supported distros are highlighted in the buttons above.
Repository Summary
Checkout URI | https://github.com/eric-wieser/ros_numpy.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-11-03 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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=True
gives[x, y, z, 0]
-
geometry.msg.Point
↔ 1-Dnp.array
.hom=True
gives[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
No CONTRIBUTING.md found.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
Repository Summary
Checkout URI | https://github.com/eric-wieser/ros_numpy.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-11-03 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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=True
gives[x, y, z, 0]
-
geometry.msg.Point
↔ 1-Dnp.array
.hom=True
gives[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
No CONTRIBUTING.md found.