MLDepthFeature
abstract class NatML.Features.MLDepthFeature : MLFeature
This feature is used to provide depth data to predictors that require such data. Implementers can derive from this class and provide custom logic for sampling depth given a pixel location.
/// <summary>
/// Initialize the depth feature with the depth map dimensions.
/// </summary>
/// <param name="width">Depth map width.</param>
/// <param name="height">Depth map height.</param>
protected MLDepthFeature (int width, int height);
The depth feature is constructed by specifying the feature size. The data type is assumed to be
float32
. If the data type is different, the full feature type can be specified instead:/// <summary>
/// Initialize the depth feature with the depth map feature type.
/// </summary>
/// <param name="type">Depth map feature type.</param>
protected MLDepthFeature (MLImageType type);
The depth feature exposes its underlying
type
, along with convenience properties for inspecting the aforementioned type
./// <summary>
/// Feature type.
/// </summary>
MLFeatureType type { get; }
/// <summary>
/// Depth map width.
/// </summary>
int width { get; }
The depth feature provides this convenience property for accessing the
width
of the feature type
./// <summary>
/// Depth map height.
/// </summary>
int height { get; }
The depth feature provides this convenience property for accessing the
height
of the feature type
./// <summary>
/// Sample the depth feature at a given point.
/// </summary>
/// <param name="point">Point to sample in normalized coordinates.</param>
/// <returns>Depth in meters.</returns>
abstract float Sample (Vector2 point);
The depth feature defines the
Sample
method for sampling the depth at a given normalized viewport coordinate.The
point
is specified in normalized coordinates, and as such must be in range [0.0, 1.0]
.The depth unit is assumed to be in meters, except defined otherwise by implementations.
/// <summary>
/// Project a 2D point into 3D world space using depth.
/// </summary>
/// <param name="point">Point to transform in normalized camera coordinates.</param>
/// <returns>Projected point in 3D world space.</param>
abstract Vector3 ViewportToWorldPoint (Vector2 point);
The depth feature defines the
ViewportToWorldPoint
for projecting a normalized 2D viewport point into 3D space using its underlying depth data.The
point
is specified in normalized coordinates, and as such must be in range [0.0, 1.0]
.Last modified 6d ago