osf_scan_source.h

Class

class OsfScanSource : public ouster::core::ScanSource, private ouster::impl::ScanSourceBuilder<ouster::core::IoType::OSF, OsfScanSource>

ScanSource that produces LidarScans from a given OSF file.

Public Functions

OsfScanSource(const std::string &file, const std::function<void(OsfScanSourceOptions&)> &options = {})

open_source compatible constructor

Parameters:
  • file – [in] OSF file to open

  • options – [in] scan source options

OsfScanSource(const std::string &file, OsfScanSourceOptions options)

open_source compatible constructor

Parameters:
  • file – [in] OSF file to open

  • options – [in] scan source options

virtual ouster::core::ScanIterator begin() const override

Provides each scan from all sensors in time order

Returns:

start iterator for all sensors

virtual ouster::core::ScanIterator begin(int sensor_index) const override

Provides scans from a single sensor in time order If idx < 0 provides scans from all sensors

Parameters:

sensor_index – [in] sensor index

Throws:

std::runtime_error – if sensor_idx >= number of sensors

Returns:

start iterator for the sensor with the given index

virtual size_t size() const override

The length of the source from begin to end. For example: If uncollated this is the total number of scans in the source, if collated this is the number of scan collations.

Throws:

std::runtime_error – if unindexed

Returns:

length of the source

virtual const std::vector<size_t> &scans_num() const override

Get the scan count for each sensor in the file

Throws:

std::runtime_error – if unindexed

Returns:

scan count for each sensor in the file

virtual const std::vector<std::vector<std::pair<uint64_t, uint64_t>>> &individual_index() const override

timestamp based index of all scans in the file for each sensor, each pair is timestamp followed by global scan index

Throws:

std::runtime_error – if unindexed

Returns:

index

virtual const std::vector<std::pair<uint64_t, uint64_t>> &full_index() const override

timestamp based index of all scans in the file, each pair is timestamp followed by sensor index

Throws:

std::runtime_error – if unindexed

Returns:

index

virtual bool is_indexed() const override

Indicates if the source contains an index for fast random access

Returns:

if indexed or not

virtual const std::vector<std::shared_ptr<ouster::sensor::sensor_info>> &sensor_info() const override

Get the sensor info for each sensor in this dataset

Returns:

sensor info for each sensor

class OsfScanSourceOptions : private ouster::ScanSourceOptions

Options for the OsfScanSource.