Rerun C++ SDK
|
Archetype: A depth image, i.e. More...
#include <rerun/archetypes/depth_image.hpp>
Public Types | |
using | IndicatorComponent = rerun::components::IndicatorComponent< IndicatorComponentName > |
Indicator component, used to identify the archetype when converting to a list of components. | |
Public Member Functions | |
template<typename TElement > | |
DepthImage (const TElement *pixels, WidthHeight resolution) | |
Constructs image from pointer + resolution, inferring the datatype from the pointer type. | |
template<typename TElement > | |
DepthImage (Collection< TElement > pixels, WidthHeight resolution) | |
Constructs image from pixel data + resolution with datatype inferred from the passed collection. | |
DepthImage (const void *bytes, WidthHeight resolution, datatypes::ChannelDatatype datatype) | |
Constructs image from pixel data + resolution with explicit datatype. | |
DepthImage (Collection< uint8_t > bytes, WidthHeight resolution, datatypes::ChannelDatatype datatype) | |
Constructs image from pixel data + resolution + datatype. | |
DepthImage (DepthImage &&other)=default | |
DepthImage (const DepthImage &other)=default | |
DepthImage & | operator= (const DepthImage &other)=default |
DepthImage & | operator= (DepthImage &&other)=default |
DepthImage | with_buffer (const rerun::components::ImageBuffer &_buffer) && |
The raw depth image data. | |
DepthImage | with_many_buffer (const Collection< rerun::components::ImageBuffer > &_buffer) && |
This method makes it possible to pack multiple buffer in a single component batch. | |
DepthImage | with_format (const rerun::components::ImageFormat &_format) && |
The format of the image. | |
DepthImage | with_many_format (const Collection< rerun::components::ImageFormat > &_format) && |
This method makes it possible to pack multiple format in a single component batch. | |
DepthImage | with_meter (const rerun::components::DepthMeter &_meter) && |
An optional floating point value that specifies how long a meter is in the native depth units. | |
DepthImage | with_many_meter (const Collection< rerun::components::DepthMeter > &_meter) && |
This method makes it possible to pack multiple meter in a single component batch. | |
DepthImage | with_colormap (const rerun::components::Colormap &_colormap) && |
Colormap to use for rendering the depth image. | |
DepthImage | with_many_colormap (const Collection< rerun::components::Colormap > &_colormap) && |
This method makes it possible to pack multiple colormap in a single component batch. | |
DepthImage | with_depth_range (const rerun::components::ValueRange &_depth_range) && |
The expected range of depth values. | |
DepthImage | with_many_depth_range (const Collection< rerun::components::ValueRange > &_depth_range) && |
This method makes it possible to pack multiple depth_range in a single component batch. | |
DepthImage | with_point_fill_ratio (const rerun::components::FillRatio &_point_fill_ratio) && |
Scale the radii of the points in the point cloud generated from this image. | |
DepthImage | with_many_point_fill_ratio (const Collection< rerun::components::FillRatio > &_point_fill_ratio) && |
This method makes it possible to pack multiple point_fill_ratio in a single component batch. | |
DepthImage | with_draw_order (const rerun::components::DrawOrder &_draw_order) && |
An optional floating point value that specifies the 2D drawing order, used only if the depth image is shown as a 2D image. | |
DepthImage | with_many_draw_order (const Collection< rerun::components::DrawOrder > &_draw_order) && |
This method makes it possible to pack multiple draw_order in a single component batch. | |
Collection< ComponentColumn > | columns (const Collection< uint32_t > &lengths_) |
Partitions the component data into multiple sub-batches. | |
Collection< ComponentColumn > | columns () |
Partitions the component data into unit-length sub-batches. | |
Static Public Member Functions | |
static DepthImage | update_fields () |
Update only some specific fields of a DepthImage . | |
static DepthImage | clear_fields () |
Clear all the fields of a DepthImage . | |
Public Attributes | |
std::optional< ComponentBatch > | buffer |
The raw depth image data. | |
std::optional< ComponentBatch > | format |
The format of the image. | |
std::optional< ComponentBatch > | meter |
An optional floating point value that specifies how long a meter is in the native depth units. | |
std::optional< ComponentBatch > | colormap |
Colormap to use for rendering the depth image. | |
std::optional< ComponentBatch > | depth_range |
The expected range of depth values. | |
std::optional< ComponentBatch > | point_fill_ratio |
Scale the radii of the points in the point cloud generated from this image. | |
std::optional< ComponentBatch > | draw_order |
An optional floating point value that specifies the 2D drawing order, used only if the depth image is shown as a 2D image. | |
Static Public Attributes | |
static constexpr const char | IndicatorComponentName [] |
static constexpr const char | ArchetypeName [] = "rerun.archetypes.DepthImage" |
The name of the archetype as used in ComponentDescriptor s. | |
static constexpr auto | Descriptor_buffer |
ComponentDescriptor for the buffer field. | |
static constexpr auto | Descriptor_format |
ComponentDescriptor for the format field. | |
static constexpr auto | Descriptor_meter |
ComponentDescriptor for the meter field. | |
static constexpr auto | Descriptor_colormap |
ComponentDescriptor for the colormap field. | |
static constexpr auto | Descriptor_depth_range |
ComponentDescriptor for the depth_range field. | |
static constexpr auto | Descriptor_point_fill_ratio |
ComponentDescriptor for the point_fill_ratio field. | |
static constexpr auto | Descriptor_draw_order |
ComponentDescriptor for the draw_order field. | |
Archetype: A depth image, i.e.
as captured by a depth camera.
Each pixel corresponds to a depth value in units specified by components::DepthMeter
.
Since the underlying rerun::datatypes::ImageBuffer
uses rerun::Collection
internally, data can be passed in without a copy from raw pointers or by reference from std::vector
/std::array
/c-arrays. If needed, this "borrow-behavior" can be extended by defining your own rerun::CollectionAdapter
.
|
inline |
Constructs image from pointer + resolution, inferring the datatype from the pointer type.
pixels | The raw image data. ⚠️ Does not take ownership of the data, the caller must ensure the data outlives the image. The number of elements is assumed to be W * H . |
resolution | The resolution of the image as {width, height}. |
|
inline |
Constructs image from pixel data + resolution with datatype inferred from the passed collection.
pixels | The raw image data. If the data does not outlive the image, use std::move or create the rerun::Collection explicitly ahead of time with rerun::Collection::take_ownership . The length of the data should be W * H . |
resolution | The resolution of the image as {width, height}. |
|
inline |
Constructs image from pixel data + resolution with explicit datatype.
Borrows data from a pointer (i.e. data must outlive the image!).
bytes | The raw image data. ⚠️ Does not take ownership of the data, the caller must ensure the data outlives the image. The byte size of the data is assumed to be W * H * datatype.size |
resolution | The resolution of the image as {width, height}. |
datatype | How the data should be interpreted. |
|
inline |
Constructs image from pixel data + resolution + datatype.
bytes | The raw image data as bytes. If the data does not outlive the image, use std::move or create the rerun::Collection explicitly ahead of time with rerun::Collection::take_ownership . The length of the data should be W * H . |
resolution | The resolution of the image as {width, height}. |
datatype | How the data should be interpreted. |
|
inline |
This method makes it possible to pack multiple buffer
in a single component batch.
This only makes sense when used in conjunction with columns
. with_buffer
should be used when logging a single row's worth of data.
|
inline |
This method makes it possible to pack multiple format
in a single component batch.
This only makes sense when used in conjunction with columns
. with_format
should be used when logging a single row's worth of data.
|
inline |
An optional floating point value that specifies how long a meter is in the native depth units.
For instance: with uint16, perhaps meter=1000 which would mean you have millimeter precision and a range of up to ~65 meters (2^16 / 1000).
Note that the only effect on 2D views is the physical depth values shown when hovering the image. In 3D views on the other hand, this affects where the points of the point cloud are placed.
|
inline |
This method makes it possible to pack multiple meter
in a single component batch.
This only makes sense when used in conjunction with columns
. with_meter
should be used when logging a single row's worth of data.
|
inline |
Colormap to use for rendering the depth image.
If not set, the depth image will be rendered using the Turbo colormap.
|
inline |
This method makes it possible to pack multiple colormap
in a single component batch.
This only makes sense when used in conjunction with columns
. with_colormap
should be used when logging a single row's worth of data.
|
inline |
The expected range of depth values.
This is typically the expected range of valid values. Everything outside of the range is clamped to the range for the purpose of colormpaping. Note that point clouds generated from this image will still display all points, regardless of this range.
If not specified, the range will be automatically estimated from the data. Note that the Viewer may try to guess a wider range than the minimum/maximum of values in the contents of the depth image. E.g. if all values are positive, some bigger than 1.0 and all smaller than 255.0, the Viewer will guess that the data likely came from an 8bit image, thus assuming a range of 0-255.
|
inline |
This method makes it possible to pack multiple depth_range
in a single component batch.
This only makes sense when used in conjunction with columns
. with_depth_range
should be used when logging a single row's worth of data.
|
inline |
Scale the radii of the points in the point cloud generated from this image.
A fill ratio of 1.0 (the default) means that each point is as big as to touch the center of its neighbor if it is at the same depth, leaving no gaps. A fill ratio of 0.5 means that each point touches the edge of its neighbor if it has the same depth.
TODO(#6744): This applies only to 3D views!
|
inline |
This method makes it possible to pack multiple point_fill_ratio
in a single component batch.
This only makes sense when used in conjunction with columns
. with_point_fill_ratio
should be used when logging a single row's worth of data.
|
inline |
An optional floating point value that specifies the 2D drawing order, used only if the depth image is shown as a 2D image.
Objects with higher values are drawn on top of those with lower values.
|
inline |
This method makes it possible to pack multiple draw_order
in a single component batch.
This only makes sense when used in conjunction with columns
. with_draw_order
should be used when logging a single row's worth of data.
Collection< ComponentColumn > rerun::archetypes::DepthImage::columns | ( | const Collection< uint32_t > & | lengths_ | ) |
Partitions the component data into multiple sub-batches.
Specifically, this transforms the existing ComponentBatch
data into ComponentColumn
s instead, via ComponentBatch::partitioned
.
This makes it possible to use RecordingStream::send_columns
to send columnar data directly into Rerun.
The specified lengths
must sum to the total length of the component batch.
Collection< ComponentColumn > rerun::archetypes::DepthImage::columns | ( | ) |
Partitions the component data into unit-length sub-batches.
This is semantically similar to calling columns
with std::vector<uint32_t>(n, 1)
, where n
is automatically guessed.
std::optional<ComponentBatch> rerun::archetypes::DepthImage::meter |
An optional floating point value that specifies how long a meter is in the native depth units.
For instance: with uint16, perhaps meter=1000 which would mean you have millimeter precision and a range of up to ~65 meters (2^16 / 1000).
Note that the only effect on 2D views is the physical depth values shown when hovering the image. In 3D views on the other hand, this affects where the points of the point cloud are placed.
std::optional<ComponentBatch> rerun::archetypes::DepthImage::colormap |
Colormap to use for rendering the depth image.
If not set, the depth image will be rendered using the Turbo colormap.
std::optional<ComponentBatch> rerun::archetypes::DepthImage::depth_range |
The expected range of depth values.
This is typically the expected range of valid values. Everything outside of the range is clamped to the range for the purpose of colormpaping. Note that point clouds generated from this image will still display all points, regardless of this range.
If not specified, the range will be automatically estimated from the data. Note that the Viewer may try to guess a wider range than the minimum/maximum of values in the contents of the depth image. E.g. if all values are positive, some bigger than 1.0 and all smaller than 255.0, the Viewer will guess that the data likely came from an 8bit image, thus assuming a range of 0-255.
std::optional<ComponentBatch> rerun::archetypes::DepthImage::point_fill_ratio |
Scale the radii of the points in the point cloud generated from this image.
A fill ratio of 1.0 (the default) means that each point is as big as to touch the center of its neighbor if it is at the same depth, leaving no gaps. A fill ratio of 0.5 means that each point touches the edge of its neighbor if it has the same depth.
TODO(#6744): This applies only to 3D views!
std::optional<ComponentBatch> rerun::archetypes::DepthImage::draw_order |
An optional floating point value that specifies the 2D drawing order, used only if the depth image is shown as a 2D image.
Objects with higher values are drawn on top of those with lower values.
|
staticconstexpr |
|
staticconstexpr |
ComponentDescriptor
for the buffer
field.
|
staticconstexpr |
ComponentDescriptor
for the format
field.
|
staticconstexpr |
ComponentDescriptor
for the meter
field.
|
staticconstexpr |
ComponentDescriptor
for the colormap
field.
|
staticconstexpr |
ComponentDescriptor
for the depth_range
field.
|
staticconstexpr |
ComponentDescriptor
for the point_fill_ratio
field.
|
staticconstexpr |
ComponentDescriptor
for the draw_order
field.