Packages
Mapping
include
mirtk
UniformSurfaceMapper.h
1
/*
2
* Medical Image Registration ToolKit (MIRTK)
3
*
4
* Copyright 2016 Imperial College London
5
* Copyright 2016 Andreas Schuh
6
*
7
* Licensed under the Apache License, Version 2.0 (the "License");
8
* you may not use this file except in compliance with the License.
9
* You may obtain a copy of the License at
10
*
11
* http://www.apache.org/licenses/LICENSE-2.0
12
*
13
* Unless required by applicable law or agreed to in writing, software
14
* distributed under the License is distributed on an "AS IS" BASIS,
15
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
* See the License for the specific language governing permissions and
17
* limitations under the License.
18
*/
19
20
#ifndef MIRTK_UniformSurfaceMapper_H
21
#define MIRTK_UniformSurfaceMapper_H
22
23
#include "mirtk/SymmetricWeightsSurfaceMapper.h"
24
25
26
namespace
mirtk
{
27
28
29
/**
30
* Piecewise linear surface mapper with uniform convex combination weights
31
*
32
* - Tutte (1963). How to draw a graph. Proc. London Math. Soc, 8(May 1962), 743–767.
33
* - Taubin (1995). A Signal Processing Approach To Fair Surface Design. SIGGRAPH, 351–358.
34
* - Floater (1997). Parametrization and smooth approximation of surface triangulations.
35
* Computer Aided Geometric Design, 14(3), 231–250.
36
*/
37
class
UniformSurfaceMapper
:
public
SymmetricWeightsSurfaceMapper
38
{
39
mirtkObjectMacro(
UniformSurfaceMapper
);
40
41
// ---------------------------------------------------------------------------
42
// Attributes
43
44
/// Copy attributes of this class from another instance
45
void
CopyAttributes(
const
UniformSurfaceMapper
&);
46
47
// ---------------------------------------------------------------------------
48
// Construction/Destruction
49
50
public
:
51
52
/// Default constructor
53
UniformSurfaceMapper
();
54
55
/// Copy constructor
56
UniformSurfaceMapper
(
const
UniformSurfaceMapper
&);
57
58
/// Assignment operator
59
UniformSurfaceMapper
&
operator =
(
const
UniformSurfaceMapper
&);
60
61
/// Destructor
62
virtual
~UniformSurfaceMapper
();
63
64
// ---------------------------------------------------------------------------
65
// Execution
66
67
protected
:
68
69
/// Weight of undirected edge (i, j)
70
///
71
/// \param[in] i First end point.
72
/// \param[in] j Second end point.
73
///
74
/// \returns Weight of undirected edge (i, j).
75
virtual
double
Weight
(
int
i,
int
j)
const
;
76
77
};
78
79
80
}
// namespace mirtk
81
82
#endif // MIRTK_UniformSurfaceMapper_H
mirtk::UniformSurfaceMapper
Definition:
UniformSurfaceMapper.h:37
mirtk::UniformSurfaceMapper::~UniformSurfaceMapper
virtual ~UniformSurfaceMapper()
Destructor.
mirtk
Definition:
IOConfig.h:41
mirtk::UniformSurfaceMapper::operator=
UniformSurfaceMapper & operator=(const UniformSurfaceMapper &)
Assignment operator.
mirtk::SymmetricWeightsSurfaceMapper
Definition:
SymmetricWeightsSurfaceMapper.h:32
mirtk::UniformSurfaceMapper::Weight
virtual double Weight(int i, int j) const
mirtk::UniformSurfaceMapper::UniformSurfaceMapper
UniformSurfaceMapper()
Default constructor.