34#include "PhotogrammetryOptions.h"
35#include <NDEVR/BaseValues.h>
36#include <NDEVR/Buffer.h>
37#include <NDEVR/File.h>
39#include <NDEVR/Vertex.h>
44#include <unordered_map>
47namespace openMVG {
namespace sfm {
struct SfM_Data; } }
59 std::shared_ptr<InMemoryRegionsProvider> regions_provider;
60 std::unordered_map<uint32_t, std::array<double, 3>> gps_lla;
70 using ProgressFn = std::function<void(
fltp04)>;
92 openMVG::sfm::SfM_Data& sfm_data,
95 ProgressFn progress_fn,
96 const bool& cancel_flag);
100 const std::shared_ptr<InMemoryRegionsProvider>& regions,
101 const std::unordered_map<uint32_t, std::array<double, 3>>& gps_lla,
102 const openMVG::sfm::SfM_Data& sfm_data,
105 ProgressFn progress_fn);
The equivelent of std::vector but with a bit more control.
An in-memory implementation of openMVG::sfm::Matches_Provider.
An in-memory implementation of openMVG::sfm::Regions_Provider.
A light-weight wrapper that will be a no-op if there is not a valid log reference,...
Handles feature extraction (SIFT/AKAZE) and feature matching (cascade hashing / brute force).
static FeatureExtractionResult extractFeatures(const Buffer< File > &original_images, const Buffer< File > &working_images, const Buffer< Vector< 2, uint04 > > &working_sizes, openMVG::sfm::SfM_Data &sfm_data, const PhotogrammetryOptions &options, LogPtr log, ProgressFn progress_fn, const bool &cancel_flag)
Extract SIFT/AKAZE features from images, parse EXIF GPS, populate sfm_data views.
static std::shared_ptr< InMemoryMatchesProvider > matchFeatures(const std::shared_ptr< InMemoryRegionsProvider > ®ions, const std::unordered_map< uint32_t, std::array< double, 3 > > &gps_lla, const openMVG::sfm::SfM_Data &sfm_data, const PhotogrammetryOptions &options, LogPtr log, ProgressFn progress_fn)
Build pair graph (GPS k-NN or exhaustive) and run feature matching.
static uint04 gpsNeighborK(PhotogrammetryQuality quality)
Number of GPS-nearest neighbours to match per image when a GPS position graph is used.
Persistent settings for a drone photogrammetry processing run.
A fixed-size array with N dimensions used as the basis for geometric and mathematical types.
The primary namespace for the NDEVR SDK.
float fltp04
Defines an alias representing a 4 byte floating-point number Bit layout is as follows: -Sign: 1 bit a...
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
PhotogrammetryQuality
Controls which feature extractor and matching strategy OpenMVG uses.
@ e_high
Quality: SIFT features, vocabulary-tree matching, full-resolution MVS.
@ e_normal
Balanced: SIFT features, cascade hash matching, full-resolution MVS.