ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
instance_evidence.hpp File Reference
#include "reusex/core/frame_visibility.hpp"
#include <Eigen/Core>
#include <cstddef>
#include <cstdint>
#include <map>
#include <optional>
#include <stdexcept>
#include <string>
#include <string_view>
#include <vector>
Include dependency graph for instance_evidence.hpp:

Go to the source code of this file.

Classes

class  reusex::core::CloudMisalignedError
 Mean position of one instance's points. More...
struct  reusex::core::InstanceCentroid
struct  reusex::core::PhotoQuery
 Tunables for the photo evidence of an instance. More...
struct  reusex::core::InstanceProbe
 An instance's centroid plus evenly spread samples of its points. More...
struct  reusex::core::PartPhotos
 The photo evidence of one survey part. More...
struct  reusex::core::InstanceEvidence
 Everything the photo evidence knows about one instance: where it is and the frames that see it, best first (visible_frames_occluded). More...
struct  reusex::core::PanoramaQuery
 Tunables for panoramas_for_point(). More...
struct  reusex::core::PanoramaSighting
 One panorama near a world point. More...

Namespaces

namespace  reusex
namespace  reusex::core
 Wire form of one stored report PDF version — the ReportPdfVersion schema in ruxd's API contract (docs/gui/openapi.yaml, in the ruxd repo).

Enumerations

enum class  reusex::core::PanoramaHeading { reusex::core::resected , reusex::core::levelled }
 Where a panorama's orientation comes from (mirrors the frontend's PanoramaHeading in viewport/panorama.ts). More...

Functions

std::map< std::uint32_t, InstanceCentroid > reusex::core::instance_centroids (const ProjectDB &db, std::string_view label_cloud, std::string_view positions_cloud="cloud")
 Centroid of every instance id in an instance-label cloud.
std::map< std::uint32_t, InstanceProbe > reusex::core::instance_probes (const ProjectDB &db, std::string_view label_cloud, std::string_view positions_cloud="cloud", std::size_t samples=PhotoQuery{}.samples_per_instance)
 instance_centroids() plus up to samples points per instance, taken at evenly spaced positions in the instance's (finite) point list — spatially spread, since the clouds are stored in Morton order (#394).
std::map< std::uint32_t, InstanceEvidence > reusex::core::instance_evidence (const ProjectDB &db, std::string_view label_cloud, const PhotoQuery &query={}, std::string_view positions_cloud="cloud", const std::atomic< bool > *cancel=nullptr)
 The ranked, occlusion-aware frames of every instance of label_cloud that has points: visible_frames_occluded over all its probes in one pass over the frames (each depth image decoded at most once).
std::map< std::uint32_t, PartPhotos > reusex::core::instance_photos (const ProjectDB &db, std::string_view label_cloud, const PhotoQuery &query={}, std::string_view positions_cloud="cloud")
 instance_evidence() reduced to count + best frame per instance.
Eigen::Vector2d reusex::core::equirect_uv (const Eigen::Vector3d &bearing)
 Normalised equirect coordinates of a bearing in the panorama frame.
std::vector< PanoramaSighting > reusex::core::panoramas_for_point (const ProjectDB &db, const Eigen::Vector3d &world_point, const PanoramaQuery &query={})
 Panoramas that can be placed in the world, nearest first, with where world_point appears in each.