[ros-users] 2d numpy arr msgs?
kwc at willowgarage.com
Mon Aug 22 16:29:59 UTC 2011
rospy allows you to substitute your own message
serializer/deserializers as you please. The proposal you suggest
would require custom messages as the generators have no knowledge of
On Mon, Aug 22, 2011 at 9:09 AM, Tingfan Wu (UCSD) <t3wu at ucsd.edu> wrote:
> Sorry for replying an old message. But I am also interested in
> multidimensional numpy array msg.
> My proposal is to initialize the layout of a *MultiArray msg from the
> incoming numpy.ndarray information.
> Take Float32MultiArray for an example, the current method of
> numpy_serialization in Float32MultiArray.numpy_serialization leaves
> the layout untouched. And in the numpy_msg tutorial, the layout seems
> to be None through out the example, which seems awkward. Therefore, I
> propose to initialize the layout size and stride using the buff when
> layout is None. This can be done with a numpy specific __init__() or
> just add few lines into numpy_serialization()). Similarly, in the
> Float32MultiArray.numpy_deserialization, reshape the array according
> to the layout information.
> This shouldn't break cross-language compatibility as the lowlevel
> data is still transferred using the "tostring()" mechanism as 1D
> arrays but makes the numpy users' life much easier.
> PhD Student
> Machine Perception Laboratory
> UC San Diego
> On Mon, Jun 14, 2010 at 3:27 PM, Ken Conley <kwc at willowgarage.com> wrote:
>> The ROS msg IDL only supports 1D arrays. The reshape approach is the correct
>> approach to ensure compatibility in multiple languages.
>> - Ken
>> On Mon, Jun 14, 2010 at 3:23 PM, Floris van Breugel <florisvb at gmail.com>
>>> Hi folks,
>>> Is there a way to publish 2D numpy arrays as messages (using python)? I
>>> went through the numpy tutorial for rospy but it seems to only work for 1D
>>> arrays. I suppose one could reshape the 2D array to be 1D, and pass the
>>> shape as another message, and then reconstruct it on the other side, but
>>> maybe there's a more efficient way to do it? Or that functionality could be
>>> added to numpy_msg.py?
>>> - Floris
>>> Floris van Breugel
>>> Caltech Graduate Student
>>> Control and Dynamical Systems
>>> (925) 963 8280
>>> Wildlife and Landscape Photographer
>>> Galleries: http://www.ArtInNaturePhotography.com/
>>> Blog: http://www.ArtInNaturePhotography.com/wordpress/
>>> 2010 CALENDARS! Now available on my website!
>>> ros-users mailing list
>>> ros-users at code.ros.org
>> ros-users mailing list
>> ros-users at code.ros.org
> ros-users mailing list
> ros-users at code.ros.org
More information about the ros-users