Milena (Olena)
User documentation 2.0a Id
Main Page
Related Pages
Modules
Namespaces
Classes
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerator
Groups
Pages
compute_with_weights.cc
1
// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
2
//
3
// This file is part of Olena.
4
//
5
// Olena is free software: you can redistribute it and/or modify it under
6
// the terms of the GNU General Public License as published by the Free
7
// Software Foundation, version 2 of the License.
8
//
9
// Olena is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
// General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with Olena. If not, see <http://www.gnu.org/licenses/>.
16
//
17
// As a special exception, you may use this file as part of a free
18
// software project without restriction. Specifically, if other files
19
// instantiate templates or use macros or inline functions from this
20
// file, or you compile this file and link it with other files to produce
21
// an executable, this file does not by itself cause the resulting
22
// executable to be covered by the GNU General Public License. This
23
// exception does not however invalidate any other reasons why the
24
// executable file might be covered by the GNU General Public License.
25
26
#include <mln/core/site_set/p_set.hh>
27
#include <mln/core/image/image2d.hh>
28
#include <mln/accu/center.hh>
29
#include <mln/set/compute_with_weights.hh>
30
31
32
int
main()
33
{
34
using namespace
mln;
35
36
{
37
bool
vals[] = { 1, 1, 0,
38
1, 1, 1,
39
0, 1, 1 };
40
image2d<bool>
msk =
make::image2d
(vals);
41
accu::center<point2d,point2d>
a;
42
mln_assertion(
set::compute_with_weights
(a, msk) ==
point2d
(1,1));
43
}
44
45
{
46
unsigned
vals[] = { 3, 1, 0,
47
1, 5, 1,
48
0, 1, 3 };
49
image2d<unsigned>
w =
make::image2d
(vals);
50
accu::center<point2d,point2d>
a;
51
mln_assertion(
set::compute_with_weights
(a, w) ==
point2d
(1,1));
52
}
53
54
{
55
unsigned
ws[] = { 1, 5, 0,
56
0, 5, 0,
57
0, 5, 1 };
58
image2d<unsigned>
w =
make::image2d
(ws);
59
60
unsigned
ls[] = { 0, 1, 2,
61
0, 1, 2,
62
0, 1, 2 };
63
image2d<unsigned>
l =
make::image2d
(ls);
64
65
accu::center<point2d,point2d>
a;
66
util::array<point2d>
p =
set::compute_with_weights
(a, w, l, 2);
67
68
for
(
unsigned
l = 0; l <= 2; ++l)
69
mln_assertion(p[l] ==
point2d
(l, l));
70
}
71
72
}
tests
set
compute_with_weights.cc
Generated on Thu Nov 8 2012 10:57:59 for Milena (Olena) by
1.8.2-20120930