grepros 1.2.2
grep for ROS bag files and live topics
Loading...
Searching...
No Matches
EmbagReader Class Reference

embag reader interface, providing most of rosbag.Bag interface. More...

Inheritance diagram for EmbagReader:
Inheritance graph

Public Member Functions

 __init__ (self, filename, mode="r", **__)
 
 __contains__ (self, key)
 Returns whether bag contains given topic.
 
 __next__ (self)
 Retrieves next message from bag as (topic, message, timestamp).
 
 autodetect (cls, filename)
 Returns whether file is readable as ROS1 bag.
 
 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 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 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 message type for bag.
 
 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}.
 
 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.
 
- 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.
 

Static Public Attributes

tuple MODES = ("r", )
 Supported opening modes.
 
str ROSBAG_MAGIC = b"#ROSBAG"
 ROS1 bag 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.
 
 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.
 

Detailed Description

embag reader interface, providing most of rosbag.Bag interface.

Definition at line 26 of file embag.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ (   self,
  filename,
  mode = "r",
**  __ 
)

Definition at line 38 of file embag.py.

Member Function Documentation

◆ __contains__()

__contains__ (   self,
  key 
)

Returns whether bag contains given topic.

Reimplemented from BaseBag.

Definition at line 248 of file embag.py.

◆ __next__()

__next__ (   self)

Retrieves next message from bag as (topic, message, timestamp).

Reimplemented from BaseBag.

Definition at line 253 of file embag.py.

◆ autodetect()

autodetect (   cls,
  filename 
)

Returns whether file is readable as ROS1 bag.

Definition at line 304 of file embag.py.

◆ close()

close (   self)

Closes the bag file.

Reimplemented from BaseBag.

Definition at line 200 of file embag.py.

◆ get_end_time()

get_end_time (   self)

Returns the end time of the bag, as UNIX timestamp, or None if bag empty.

Reimplemented from BaseBag.

Definition at line 74 of file embag.py.

◆ get_message_class()

get_message_class (   self,
  typename,
  typehash = None 
)

Returns rospy message class for typename, or None if unknown message type for bag.

Generates class dynamically if not already generated.

Parameters
typehashmessage type definition hash, if any

Reimplemented from BaseBag.

Definition at line 87 of file embag.py.

◆ get_message_count()

get_message_count (   self,
  topic_filters = None 
)

Returns the number of messages in the bag.

Parameters
topic_filterslist of topics or a single topic to filter by, if any

Reimplemented from BaseBag.

Definition at line 60 of file embag.py.

◆ get_message_definition()

get_message_definition (   self,
  msg_or_type 
)

Returns ROS1 message type definition full text from bag, including subtype definitions.

Returns None if unknown message type for bag.

Reimplemented from BaseBag.

Definition at line 100 of file embag.py.

◆ get_message_type_hash()

get_message_type_hash (   self,
  msg_or_type 
)

Returns ROS1 message type MD5 hash, or None if unknown message type for bag.

Reimplemented from BaseBag.

Definition at line 107 of file embag.py.

◆ get_start_time()

get_start_time (   self)

Returns the start time of the bag, as UNIX timestamp, or None if bag empty.

Reimplemented from BaseBag.

Definition at line 68 of file embag.py.

◆ get_topic_info()

get_topic_info (   self,
_,
**  __ 
)

Returns topic and message type metainfo as {(topic, typename, typehash): count}.

Reimplemented from BaseBag.

Definition at line 114 of file embag.py.

◆ get_type_and_topic_info()

get_type_and_topic_info (   self,
  topic_filters = None 
)

Returns thorough metainfo on topic and message types.

Parameters
topic_filterslist of topics or a single topic to filter returned topics-dict by, if any
Returns
TypesAndTopicsTuple(msg_types, topics) namedtuple, msg_types as dict of {typename: typehash}, topics as a dict of {topic: TopicTuple() namedtuple}.

Reimplemented from BaseBag.

Definition at line 127 of file embag.py.

◆ open()

open (   self)

Opens the bag file if not already open.

Reimplemented from BaseBag.

Definition at line 195 of file embag.py.

◆ read_messages()

read_messages (   self,
  topics = None,
  start_time = None,
  end_time = None,
  raw = False 
)

Yields messages from the bag, optionally filtered by topic and timestamp.

Parameters
topicslist of topics or a single topic to filter by, if at all
start_timeearliest timestamp of message to return, as ROS time or convertible
(int/float/duration/datetime/decimal)
end_timelatest timestamp of message to return, as ROS time or convertible
(int/float/duration/datetime/decimal)
rawif true, then returned messages are tuples of
(typename, bytes, typehash, typeclass)
Returns
BagMessage namedtuples of (topic, message, timestamp as rospy.Time)

Reimplemented from BaseBag.

Definition at line 175 of file embag.py.

Member Data Documentation

◆ MODES

tuple MODES = ("r", )
static

Supported opening modes.

Definition at line 30 of file embag.py.

◆ ROSBAG_MAGIC

str ROSBAG_MAGIC = b"#ROSBAG"
static

ROS1 bag file header magic start bytes.

Definition at line 36 of file embag.py.

◆ STREAMABLE

bool STREAMABLE = False
static

Whether bag supports reading or writing stream objects, overridden in subclasses.

Definition at line 33 of file embag.py.

Property Documentation

◆ closed

closed = property
static

Returns whether file is closed.

Definition at line 210 of file embag.py.

◆ filename

filename = property
static

Returns bag file path.

Definition at line 226 of file embag.py.

◆ mode

mode = property
static

Returns file open mode.

Definition at line 242 of file embag.py.

◆ size

size = property
static

Returns current file size.

Definition at line 234 of file embag.py.

◆ topics

topics = property
static

Returns the list of topics in bag, in alphabetic order.

Definition at line 218 of file embag.py.


The documentation for this class was generated from the following file: