|
grepros 1.2.2
grep for ROS bag files and live topics
|
ROS2 bag reader and writer (SQLite format), providing most of rosbag.Bag interface. More...

Public Member Functions | |
| __init__ (self, filename, mode="a", *_, **__) | |
| __contains__ (self, key) | |
| Returns whether bag contains given topic. | |
| __next__ (self) | |
| Retrieves next message from bag as (topic, message, timestamp). | |
| autodetect (cls, f) | |
| Returns whether file is recognizable as SQLite format. | |
| 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 ROS2 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 ROS2 message type definition full text, including subtype definitions. | |
| get_message_type_hash (self, msg_or_type) | |
| Returns ROS2 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, ensure_types=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, qoses=None, **__) | |
| Writes a message to the bag. | |
Public Member Functions inherited from BaseBag | |
| __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. | |
Public Attributes | |
| CREATE_SQL | |
Static Public Attributes | |
| str | CREATE_SQL |
| ROS2 bag SQLite schema. | |
| str | SQLITE_MAGIC = b"SQLite format 3\x00" |
| SQLite file header magic start bytes. | |
| bool | STREAMABLE = False |
| Whether bag supports reading or writing stream objects, overridden in subclasses. | |
Static Public Attributes inherited from BaseBag | |
| BagMessage = collections.namedtuple("BagMessage", "topic message timestamp") | |
| Returned from read_messages() as (topic name, ROS message, ROS timestamp object). | |
| tuple | MODES = ("r", "w", "a") |
| Supported opening modes, overridden in subclasses. | |
| next | |
| bool | STREAMABLE = True |
| Whether bag supports reading or writing stream objects, overridden in subclasses. | |
| TopicTuple | |
| Returned from get_type_and_topic_info() as (typename, message count, connection count, median frequency). | |
| TypesAndTopicsTuple = collections.namedtuple("TypesAndTopicsTuple", ["msg_types", "topics"]) | |
| Returned from get_type_and_topic_info() as ({typename: typehash}, {topic name: TopicTuple}). | |
Properties | |
| closed = property | |
| Returns whether file is closed. | |
| filename = property | |
| Returns bag file path. | |
| mode = property | |
| Returns file open mode. | |
| size = property | |
| Returns current file size in bytes (including journaling files). | |
| topics = property | |
| Returns the list of topics in bag, in alphabetic order. | |
Properties inherited from BaseBag | |
| closed = property | |
| Returns whether file is closed. | |
| filename = property | |
| Returns bag file path. | |
| mode = property | |
| Returns file open mode. | |
| size = property | |
| Returns current file size in bytes. | |
| stop_on_error = property | |
| Whether raising read error on unknown message type (ROS2 SQLite .db3 specific). | |
| topics = property | |
| Returns the list of topics in bag, in alphabetic order. | |
ROS2 bag reader and writer (SQLite format), providing most of rosbag.Bag interface.
| __init__ | ( | self, | |
| filename, | |||
mode = "a", |
|||
| * | _, | ||
| ** | __ | ||
| ) |
| __contains__ | ( | self, | |
| key | |||
| ) |
| __next__ | ( | self | ) |
| autodetect | ( | cls, | |
| f | |||
| ) |
| close | ( | self | ) |
| get_end_time | ( | self | ) |
| get_message_class | ( | self, | |
| typename, | |||
typehash = None |
|||
| ) |
| get_message_count | ( | self, | |
topic_filters = None |
|||
| ) |
| get_message_definition | ( | self, | |
| msg_or_type | |||
| ) |
| get_message_type_hash | ( | self, | |
| msg_or_type | |||
| ) |
| get_qoses | ( | self, | |
| topic, | |||
| typename | |||
| ) |
| get_start_time | ( | self | ) |
| get_topic_info | ( | self, | |
counts = True, |
|||
ensure_types = True |
|||
| ) |
Returns topic and message type metainfo as {(topic, typename, typehash): count}.
Can skip retrieving message counts, as this requires a full table scan. Can skip looking up message type classes, as those might be unavailable in ROS2 environment.
| counts | whether to return actual message counts instead of None |
| ensure_types | whether to look up type classes instead of returning typehash as None |
Reimplemented from BaseBag.
| get_type_and_topic_info | ( | self, | |
topic_filters = None |
|||
| ) |
Returns thorough metainfo on topic and message types.
| topic_filters | list of topics or a single topic to filter returned topics-dict by, if any |
Reimplemented from BaseBag.
| open | ( | self | ) |
| read_messages | ( | self, | |
topics = None, |
|||
start_time = None, |
|||
end_time = None, |
|||
raw = False, |
|||
| ** | __ | ||
| ) |
Yields messages from the bag, optionally filtered by topic and timestamp.
| topics | list of topics or a single topic to filter by, if any |
| start_time | earliest timestamp of message to return, as ROS time or convertible (int/float/duration/datetime/decimal)
|
| end_time | latest timestamp of message to return, as ROS time or convertible (int/float/duration/datetime/decimal)
|
| raw | if True, then returned messages are tuples of (typename, bytes, typehash, typeclass). If message type unavailable, returns None for hash and class. |
Reimplemented from BaseBag.
| write | ( | self, | |
| topic, | |||
| msg, | |||
t = None, |
|||
raw = False, |
|||
qoses = None, |
|||
| ** | __ | ||
| ) |
Writes a message to the bag.
| topic | name of topic |
| msg | ROS2 message |
| t | message timestamp if not using wall time, as ROS time or convertible (int/float/duration/datetime/decimal)
|
| qoses | topic Quality-of-Service settings, if any, as a list of dicts |
Reimplemented from BaseBag.
|
static |
ROS2 bag SQLite schema.
|
static |
|
static |
|
static |
|
static |