MCAP#

Nominal reads MCAP topics whose messages are encoded as protobuf, ROS 1, ROS 2 (CDR) or JSON. For a video topic, see MCAP video ingest.

Upload a file#

  1. In the sidebar, click + (New), then Upload data. Drop the .mcap file onto Upload files, or click SELECT FILES.

  2. Click SELECT A DESTINATION and choose Standalone dataset. Pick a dataset, or click NEW DATASET, enter a name and click CREATE DATASET.

  3. Click CONFIRM & INGEST.

from nominal.core import NominalClient

client = NominalClient.from_profile("default")
dataset = client.create_dataset("Robot run")
file = dataset.add_mcap("run.mcap")
file.poll_until_ingestion_completed()  # raises if ingestion fails
nomctl ingest mcap --name "Robot run" run.mcap

Options#

An upload converts every topic. To convert only some, give either the topics to include or the topics to exclude. When you run Nominal’s first-party MCAP extractor yourself, from the upload wizard’s File extraction card or with add_containerized, it takes these settings as environment variables, with topics separated by commas.

Setting

Nominal app

Python

nomctl

Extractor variable

Convert only these topics

Clear Include all channels, choose Inclusive, and list them under Include channels by topic

include_topics

--include-topic

INCLUDE_TOPICS

Skip these topics

Clear Include all channels, choose Exclusive, and list them under Exclude channels by topic

exclude_topics

--exclude-topic

EXCLUDE_TOPICS

Skip a topic whose schema doesn’t resolve or whose encoding isn’t supported, instead of failing

—

ignore_invalid_topics=True

--ignore-invalid-topics

IGNORE_INVALID_TOPICS=true

A tag on every point

Tags

tags

--file-tag

—

The extractor reads the .mcap file from INPUT_FILE.