Voxel
 All Classes Namespaces Files Functions Typedefs Enumerations Enumerator Macros Pages
renderer_detail_normal_mrf_helpers.h
1 #pragma once
2 
3 #ifndef RENDERER_DETAIL_NORMAL_MRF_HELPERS_H
4 #define RENDERER_DETAIL_NORMAL_MRF_HELPERS_H
5 
6 
7 
8 
9 #include "vector.h"
10 
11 #include <algorithm>
12 
13 
14 
15 
16 namespace Renderer {
17 
18 
19 namespace detail {
20 
21 
22 
23 
24 /*==============================================================================
25  SolveCardinal helper function
26 ==============================================================================*/
27 
28 
29 void SolveCardinal(
30  float const* const depths,
31  std::pair< double, Vector< double, 2 > >* const states,
32  Vector< unsigned int, 2 > const& dimension,
33  Vector< unsigned int, 2 > const& coordinates,
34  unsigned int const size,
35  double const scale,
36  double const spread,
37  double const voxelSize,
38  double const observationPrecision,
39  double const gradientPrecision,
40  double const minimumEdgeDelta,
41  double const maximumEdgeDelta
42 );
43 
44 
45 
46 
47 /*==============================================================================
48  SolveDiagonal helper function
49 ==============================================================================*/
50 
51 
52 void SolveDiagonal(
53  float const* const depths,
54  std::pair< double, Vector< double, 2 > >* const states,
55  Vector< unsigned int, 2 > const& dimension,
56  Vector< unsigned int, 2 > const& coordinates,
57  unsigned int const size,
58  double const scale,
59  double const spread,
60  double const voxelSize,
61  double const observationPrecision,
62  double const gradientPrecision,
63  double const minimumEdgeDelta,
64  double const maximumEdgeDelta
65 );
66 
67 
68 
69 
70 } // namespace detail
71 
72 
73 } // namespace Renderer
74 
75 
76 
77 
78 #endif // RENDERER_DETAIL_NORMAL_MRF_HELPERS_H