grepros 1.3.0
grep for ROS bag files and live topics
Loading...
Searching...
No Matches
EmbagReader Class Reference
Inheritance diagram for EmbagReader:
Inheritance graph

Public Member Functions

 __init__ (self, filename, mode="r", **__)
 
 __contains__ (self, key)
 
 __next__ (self)
 
 autodetect (cls, filename)
 
 close (self)
 
 closed (self)
 
 filename (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_start_time (self)
 
 get_topic_info (self, *_, **__)
 
 get_type_and_topic_info (self, topic_filters=None)
 
 mode (self)
 
 open (self)
 
 read_messages (self, topics=None, start_time=None, end_time=None, raw=False)
 
 size (self)
 
 topics (self)
 
- Public Member Functions inherited from BaseBag
 __bool__ (self)
 
 __copy__ (self)
 
 __deepcopy__ (self, memo=None)
 
 __enter__ (self)
 
 __exit__ (self, exc_type, exc_value, traceback)
 
 __getitem__ (self, key)
 
 __iter__ (self)
 
 __len__ (self)
 
 __nonzero__ (self)
 
 __str__ (self)
 
 flush (self)
 
 get_qoses (self, topic, typename)
 
 stop_on_error (self)
 
 stop_on_error (self, flag)
 
 write (self, topic, msg, t=None, raw=False, **kwargs)
 

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}).
 

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 234 of file embag.py.

◆ __next__()

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

Reimplemented from BaseBag.

Definition at line 239 of file embag.py.

◆ autodetect()

autodetect (   cls,
  filename 
)
Returns whether file is readable as ROS1 bag.

Definition at line 286 of file embag.py.

◆ close()

close (   self)
Closes the bag file.

Reimplemented from BaseBag.

Definition at line 196 of file embag.py.

◆ closed()

closed (   self)
Returns whether file is closed.

Reimplemented from BaseBag.

Definition at line 205 of file embag.py.

◆ filename()

filename (   self)
Returns bag file path.

Reimplemented from BaseBag.

Definition at line 217 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.

@param   typehash  message type definition hash, if any

Reimplemented from BaseBag.

Definition at line 80 of file embag.py.

◆ get_message_count()

get_message_count (   self,
  topic_filters = None 
)
Returns the number of messages in the bag.

@param   topic_filters  list of topics or a single topic to filter by, if any

Reimplemented from BaseBag.

Definition at line 55 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 95 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.

@param   topic_filters  list of topics or a single topic to filter returned topics-dict by,
                        if any
@return                 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 119 of file embag.py.

◆ mode()

mode (   self)
Returns file open mode.

Reimplemented from BaseBag.

Definition at line 229 of file embag.py.

◆ open()

open (   self)
Opens the bag file if not already open.

Reimplemented from BaseBag.

Definition at line 191 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.

@param   topics      list of topics or a single topic to filter by, if at all
@param   start_time  earliest timestamp of message to return, as ROS time or convertible
                     (int/float/duration/datetime/decimal)
@param   end_time    latest timestamp of message to return, as ROS time or convertible
                     (int/float/duration/datetime/decimal)
@param   raw         if true, then returned messages are tuples of
                     (typename, bytes, typehash, typeclass)
@return              BagMessage namedtuples of (topic, message, timestamp as rospy.Time)

Reimplemented from BaseBag.

Definition at line 159 of file embag.py.

◆ size()

size (   self)
Returns current file size.

Reimplemented from BaseBag.

Definition at line 223 of file embag.py.

◆ topics()

topics (   self)
Returns the list of topics in bag, in alphabetic order.

Reimplemented from BaseBag.

Definition at line 211 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.


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