|
| __init__ (self, *args, **kwargs) |
|
| __contains__ (self, key) |
| Returns whether bag contains given topic.
|
|
| __next__ (self) |
| Retrieves next message from bag as (topic, message, timestamp).
|
|
| close (self) |
| Closes the bag file.
|
|
| get_end_time (self) |
| Returns the end time of the bag, as UNIX timestamp, or None if bag empty.
|
|
| get_message_class (self, typename, typehash=None) |
| Returns rospy message class for typename, or None if unknown type.
|
|
| get_message_definition (self, msg_or_type) |
| Returns ROS1 message type definition full text from bag, including subtype definitions.
|
|
| get_message_type_hash (self, msg_or_type) |
| Returns ROS1 message type MD5 hash, or None if unknown type.
|
|
| get_start_time (self) |
| Returns the start time of the bag, as UNIX timestamp, or None if bag empty.
|
|
| get_topic_info (self, *_, **__) |
| Returns topic and message type metainfo as {(topic, typename, typehash): count}.
|
|
| open (self) |
| Opens the bag file if not already open.
|
|
| read_messages (self, topics=None, start_time=None, end_time=None, raw=False, connection_filter=None, **__) |
| Yields messages from the bag, optionally filtered by topic, timestamp and connection details.
|
|
| write (self, topic, msg, t=None, raw=False, connection_header=None, **__) |
| Writes a message to the bag.
|
|
| __bool__ (self) |
|
| __contains__ (self, key) |
| Returns whether bag contains given topic.
|
|
| __copy__ (self) |
|
| __deepcopy__ (self, memo=None) |
|
| __enter__ (self) |
| Context manager entry, opens bag if not open.
|
|
| __exit__ (self, exc_type, exc_value, traceback) |
| Context manager exit, closes bag.
|
|
| __getitem__ (self, key) |
| Returns an iterator yielding messages from the bag in given topic, supporting len().
|
|
| __iter__ (self) |
| Iterates over all messages in the bag.
|
|
| __len__ (self) |
| Returns the number of messages in the bag.
|
|
| __next__ (self) |
| Retrieves next message from bag as (topic, message, timestamp).
|
|
| __nonzero__ (self) |
|
| __str__ (self) |
| Returns informative text for bag, with a full overview of topics and types.
|
|
| close (self) |
| Closes the bag file.
|
|
| flush (self) |
| Ensures all changes are written to bag file.
|
|
| get_end_time (self) |
| Returns the end time of the bag, as UNIX timestamp, or None if bag empty.
|
|
| get_message_class (self, typename, typehash=None) |
| Returns ROS message type class, or None if unknown message type for bag.
|
|
| get_message_count (self, topic_filters=None) |
| Returns the number of messages in the bag.
|
|
| get_message_definition (self, msg_or_type) |
| Returns ROS message type definition full text, including subtype definitions.
|
|
| get_message_type_hash (self, msg_or_type) |
| Returns ROS message type MD5 hash, or None if unknown message type for bag.
|
|
| get_qoses (self, topic, typename) |
| Returns topic Quality-of-Service profiles as a list of dicts, or None if not available.
|
|
| get_start_time (self) |
| Returns the start time of the bag, as UNIX timestamp, or None if bag empty.
|
|
| get_topic_info (self, counts=True) |
| Returns topic and message type metainfo as {(topic, typename, typehash): count}.
|
|
| get_type_and_topic_info (self, topic_filters=None) |
| Returns thorough metainfo on topic and message types.
|
|
| open (self) |
| Opens the bag file if not already open.
|
|
| read_messages (self, topics=None, start_time=None, end_time=None, raw=False, **__) |
| Yields messages from the bag, optionally filtered by topic and timestamp.
|
|
| write (self, topic, msg, t=None, raw=False, **kwargs) |
| Writes a message to the bag.
|
|
ROS1 bag reader and writer.
Extends rosbag.Bag
with more conveniences, smooths over the rosbag bug of ignoring topic and time filters in format v1.2, and smooths over the rosbag bug of yielding messages of wrong type, if message types in different topics have different packages but identical fields and hashes.
Does **not** smooth over the rosbag bug of writing different types to one topic.
rosbag does allow writing messages of different types to one topic, just like live ROS topics can have multiple message types published to one topic. And their serialized bytes will actually be in the bag, but rosbag will only register the first type for this topic (unless it is explicitly given another connection header with metadata on the other type).
All messages yielded will be deserialized by rosbag as that first type, and whether reading will raise an exception or not depends on whether the other type has enough bytes to be deserialized as that first type.
Definition at line 87 of file ros1.py.