16#include "reusex/core/ProjectDB.hpp"
37 using std::runtime_error::runtime_error;
77std::vector<std::size_t>
151 const std::string &class_name,
A frame cannot be projected (no usable pose, no depth image, no base cloud, degenerate intrinsics) or...
Turn a 2D mask drawn on one sensor frame into a labelled 3D selection and a survey part (Segmentering...
Wire form of one stored report PDF version — the ReportPdfVersion schema in ruxd's API contract (docs...
constexpr std::string_view kDefaultInstanceCloud
Default name of the instance-label cloud sync_survey reads from, and the default SurveySyncOptions::i...
std::vector< std::size_t > project_frame_mask(const ProjectDB &db, int frame_id, const cv::Mat &mask, const MaskProjectionOptions &opts={})
Indices of the base-cloud points that the mask covers in one frame.
MaskSelectionResult apply_mask_selection(ProjectDB &db, const std::vector< std::size_t > &indices, const std::string &class_name, const MaskSelectionOptions &opts={})
Label the selected points as class_name, make them one new instance, and file a survey part for it — ...
Tunables for project_frame_mask() (STANDARDS §4).
double max_depth
Points farther than this from the camera (metres) are ignored; past it a consumer depth sensor's read...
double depth_tolerance
A point is visible when |z - depth(u,v)| <= depth_tolerance (metres), where depth(u,...
std::string cloud
Base cloud the mask selects from (index space of the result).
Tunables for apply_mask_selection().
std::string semantic_cloud
std::string rooms_cloud
Optional rooms cloud: when present and index-aligned, the new part gets the room most of its points f...
int frame_id
Recorded in the pipeline log entry; -1 when the selection did not come from a frame.
std::string instance_cloud
std::string base_cloud
Base cloud the indices refer to; its size sizes a missing label cloud.
std::optional< int64_t > type_id
Survey type for the new part.
What apply_mask_selection() created.
std::string instance_guid
uint32_t label_id
Semantic class (CloudL value, >= 1).
std::vector< std::pair< uint32_t, int > > shrunk_instances
Instances that gave up points to the new one, with their new counts.
bool type_created
True when the type was created here.
std::string resource_code
The new survey part, e.g. "RX-042".
uint32_t instance_id
New instance (CloudL value, >= 1).
int64_t type_id
Its survey type.