grepros 1.2.2
grep for ROS bag files and live topics
|
Produces messages from ROS bagfiles. More...
Public Member Functions | |
__init__ (self, args=None, **kwargs) | |
close (self) | |
Closes current bag, if any. | |
close_batch (self) | |
Closes current bag, if any. | |
configure (self, args=None, **kwargs) | |
Updates source configuration. | |
format_message_meta (self, topic, msg, stamp, index=None) | |
Returns message metainfo string. | |
format_meta (self) | |
Returns bagfile metainfo string. | |
get_batch (self) | |
Returns name of current bagfile, or self if reading stream. | |
get_message_class (self, typename, typehash=None) | |
Returns ROS message type class. | |
get_message_definition (self, msg_or_type) | |
Returns ROS message type definition full text, including subtype definitions. | |
get_message_meta (self, topic, msg, stamp, index=None) | |
Returns message metainfo data dict. | |
get_message_type_hash (self, msg_or_type) | |
Returns ROS message type MD5 hash. | |
get_meta (self) | |
Returns bagfile metainfo data dict. | |
init_progress (self) | |
Initializes progress bar, if any, for current bag. | |
is_processable (self, topic, msg, stamp, index=None) | |
Returns whether message passes source filters; registers status. | |
notify (self, status) | |
Reports match status of last produced message. | |
read (self) | |
Yields messages from ROS bagfiles, as (topic, msg, ROS time). | |
validate (self) | |
Returns whether ROS environment is set and arguments valid, prints error if not. | |
Public Member Functions inherited from Source | |
__init__ (self, args=None, **kwargs) | |
__enter__ (self) | |
Context manager entry. | |
__exit__ (self, exc_type, exc_value, traceback) | |
Context manager exit, closes source. | |
__iter__ (self) | |
Yields messages from source, as (topic, msg, ROS time). | |
bind (self, sink) | |
Attaches sink to source. | |
close (self) | |
Shuts down input, closing any files or connections. | |
close_batch (self) | |
Shuts down input batch if any (like bagfile), else all input. | |
configure (self, args=None, **kwargs) | |
Updates source configuration. | |
configure_progress (self, **kwargs) | |
Configures progress bar options, updates current bar if any. | |
format_message_meta (self, topic, msg, stamp, index=None) | |
Returns message metainfo string. | |
format_meta (self) | |
Returns source metainfo string. | |
get_batch (self) | |
Returns source batch identifier if any (like bagfile name if BagSource). | |
get_message_class (self, typename, typehash=None) | |
Returns message type class. | |
get_message_definition (self, msg_or_type) | |
Returns ROS message type definition full text, including subtype definitions. | |
get_message_meta (self, topic, msg, stamp, index=None) | |
Returns message metainfo data dict. | |
get_message_type_hash (self, msg_or_type) | |
Returns ROS message type MD5 hash. | |
get_meta (self) | |
Returns source metainfo data dict. | |
init_progress (self) | |
Initializes progress bar, if any. | |
is_processable (self, topic, msg, stamp, index=None) | |
Returns whether message passes source filters; registers status. | |
notify (self, status) | |
Reports match status of last produced message. | |
read (self) | |
Yields messages from source, as (topic, msg, ROS time). | |
thread_excepthook (self, text, exc) | |
Handles exception, used by background threads. | |
update_progress (self, count, running=True) | |
Updates progress bar, if any, with source processed count, pauses bar if not running. | |
validate (self) | |
Returns whether arguments are valid and source prerequisites are met. | |
Public Member Functions inherited from ConditionMixin | |
__init__ (self, args=None, **kwargs) | |
close_batch (self) | |
Clears cached messages. | |
conditions_get_topics (self) | |
Returns a list of all topics used in conditions (may contain wildcards). | |
conditions_register_message (self, topic, msg) | |
Retains message for condition evaluation if in condition topic. | |
conditions_set_topic_state (self, topic, pure) | |
Sets whether topic is purely used for conditions not matching. | |
has_conditions (self) | |
Returns whether there are any conditions configured. | |
is_conditions_topic (self, topic, pure=True) | |
Returns whether topic is used for checking condition. | |
is_processable (self, topic, msg, stamp, index=None) | |
Returns whether message passes passes current state conditions, if any. | |
validate (self) | |
Returns whether conditions have valid syntax, sets options, prints errors. | |
Public Attributes | |
bar | |
topics | |
valid | |
Public Attributes inherited from Source | |
args | |
bar | |
ProgressBar instance, if any. | |
preprocess | |
Apply all filter arguments when reading, not only topic and type. | |
sink | |
outputs.Sink instance bound to this source | |
topics | |
All topics in source, as {(topic, typenane, typehash): total message count or None}. | |
valid | |
Result of validate() | |
Public Attributes inherited from ConditionMixin | |
args | |
Static Public Attributes | |
DEFAULT_ARGS | |
Constructor argument defaults. | |
str | MESSAGE_META_TEMPLATE = "{topic} {index}/{total} ({type} {dt} {stamp})" |
Template for message metainfo line. | |
str | META_TEMPLATE |
Template for bag metainfo header. | |
Static Public Attributes inherited from Source | |
DEFAULT_ARGS | |
Constructor argument defaults. | |
str | MESSAGE_META_TEMPLATE = "{topic} #{index} ({type} {dt} {stamp})" |
Template for message metainfo line. | |
Static Public Attributes inherited from ConditionMixin | |
DEFAULT_ARGS = dict(CONDITION=()) | |
Constructor argument defaults. | |
TOPIC_RGX = re.compile(r"<topic\s+([^\s><]+)\s*>") | |
__init__ | ( | self, | |
args = None , |
|||
** | kwargs | ||
) |
args | arguments as namespace or dictionary, case-insensitive; or a single path as the ROS bagfile to read, or a stream to read from, or one or more Bag instances |
Bag-specific arguments:
args.file | names of ROS bagfiles to read if not all in directory, or a stream to read from; or one or more Bag instances |
args.path | paths to scan if not current directory |
args.recurse | recurse into subdirectories when looking for bagfiles |
args.orderby | "topic" or "type" if any to group results by |
args.decompress | decompress archived bags to file directory |
args.reindex | make a copy of unindexed bags and reindex them (ROS1 only) |
args.timescale | emit messages on original timeline from first message at given rate, 0 disables |
args.timescale_emission | timeline from first matched message not first in bag, requires notify() for each message |
args.write | outputs, to skip in input files |
args.bag | one or more Bag instances |
General arguments:
args.topic | ROS topics to read if not all |
args.type | ROS message types to read if not all |
args.skip_topic | ROS topics to skip |
args.skip_type | ROS message types to skip |
args.start_time | earliest timestamp of messages to read |
args.end_time | latest timestamp of messages to read |
args.start_index | message index within topic to start from |
args.end_index | message index within topic to stop at |
args.unique | emit messages that are unique in topic |
args.select_field | message fields to use for uniqueness if not all |
args.noselect_field | message fields to skip for uniqueness |
args.nth_message | read every Nth message in topic, starting from first |
args.nth_interval | minimum time interval between messages in topic, as seconds or ROS duration |
args.condition | Python expressions that must evaluate as true for message to be processable, see ConditionMixin |
args.progress | whether to print progress bar |
args.stop_on_error | stop execution on any error like unknown message type |
args.verbose | whether to print error stacktraces |
kwargs | any and all arguments as keyword overrides, case-insensitive |
Reimplemented from Source.
close | ( | self | ) |
close_batch | ( | self | ) |
configure | ( | self, | |
args = None , |
|||
** | kwargs | ||
) |
format_message_meta | ( | self, | |
topic, | |||
msg, | |||
stamp, | |||
index = None |
|||
) |
format_meta | ( | self | ) |
get_batch | ( | self | ) |
get_message_class | ( | self, | |
typename, | |||
typehash = None |
|||
) |
get_message_definition | ( | self, | |
msg_or_type | |||
) |
get_message_meta | ( | self, | |
topic, | |||
msg, | |||
stamp, | |||
index = None |
|||
) |
get_message_type_hash | ( | self, | |
msg_or_type | |||
) |
get_meta | ( | self | ) |
init_progress | ( | self | ) |
is_processable | ( | self, | |
topic, | |||
msg, | |||
stamp, | |||
index = None |
|||
) |
notify | ( | self, | |
status | |||
) |
read | ( | self | ) |
validate | ( | self | ) |
|
static |
Constructor argument defaults.
|
static |
|
static |