MVE - Multi-View Environment mve-devel
Loading...
Searching...
No Matches
dmrecon.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015, Ronny Klowsky, Simon Fuhrmann
3 * TU Darmstadt - Graphics, Capture and Massively Parallel Computing
4 * All rights reserved.
5 *
6 * This software may be modified and distributed under the terms
7 * of the BSD 3-Clause license. See the LICENSE.txt file for details.
8 */
9
10#ifndef DMRECON_DMRECON_H
11#define DMRECON_DMRECON_H
12
13#include <fstream>
14#include <string>
15#include <vector>
16#include <queue>
17
18#include "mve/bundle.h"
19#include "mve/image.h"
20#include "mve/scene.h"
21#include "dmrecon/defines.h"
23#include "dmrecon/single_view.h"
24#include "dmrecon/progress.h"
25
27
29{
30 int x;
31 int y;
33 float depth;
34 float dz_i, dz_j;
36
37 bool operator< (const QueueData& rhs) const;
38};
39
41{
42public:
43 DMRecon(mve::Scene::Ptr scene, Settings const& settings);
44
45 std::size_t getRefViewNr() const;
46 Progress const& getProgress() const;
47 Progress& getProgress();
48 void start();
49
50private:
51 mve::Scene::Ptr scene;
53 std::vector<SingleView::Ptr> views;
54
55 Settings settings;
56 std::priority_queue<QueueData> prQueue;
57 IndexSet neighViews;
58 std::vector<SingleView::Ptr> imgNeighbors;
59 int width;
60 int height;
61 Progress progress;
62
63 void analyzeFeatures();
64 void globalViewSelection();
65 void processFeatures();
66 void processQueue();
67 void refillQueueFromLowRes();
68};
69
70/* ------------------------- Implementation ----------------------- */
71
72inline bool
73QueueData::operator< (const QueueData& rhs) const
74{
75 return (confidence < rhs.confidence);
76}
77
78inline const Progress&
79DMRecon::getProgress() const
80{
81 return progress;
82}
83
84inline Progress&
85DMRecon::getProgress()
86{
87 return progress;
88}
89
90inline std::size_t
91DMRecon::getRefViewNr() const
92{
93 return settings.refViewNr;
94}
95
97
98#endif
std::shared_ptr< Bundle const > ConstPtr
Definition bundle.h:60
std::shared_ptr< Scene > Ptr
Definition scene.h:37
#define MVS_NAMESPACE_BEGIN
Definition defines.h:18
#define MVS_NAMESPACE_END
Definition defines.h:19
std::set< std::size_t > IndexSet
Definition defines.h:24
IndexSet localViewIDs
Definition dmrecon.h:35
float depth
Definition dmrecon.h:33
float confidence
Definition dmrecon.h:32