Milena (Olena)
User documentation 2.0a Id
Main Page
Related Pages
Modules
Namespaces
Classes
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerator
Groups
Pages
slices_2d.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/debug/slices_2d.hh>
27
#include <mln/debug/iota.hh>
28
29
30
int
main()
31
{
32
using namespace
mln;
33
34
{
35
point3d
p_orig(-1, -2, -3);
36
box3d
b(p_orig, p_orig +
dpoint3d
(4, 1, 2));
37
image3d<int>
vol(b);
// 5 x 2 x 3
38
debug::iota
(vol);
39
40
// 1 2 3
41
// 4 5 6
42
//
43
// 7 8 9
44
// 10 11 12
45
//
46
// 13 14 15
47
// 16 17 18
48
//
49
// 19 20 21
50
// 22 23 24
51
//
52
// 25 26 27
53
// 28 29 30
54
55
image2d<int>
ima =
debug::slices_2d
(vol, 2, 3,
56
-1);
57
58
// 1 2 3 7 8 9
59
// 4 5 6 10 11 12
60
// 13 14 15 19 20 21
61
// 16 17 18 22 23 24
62
// 25 26 27 -1 -1 -1
63
// 28 29 30 -1 -1 -1
64
65
mln_assertion(ima(ima.
domain
().
pmin
()) == 1);
66
mln_assertion(ima(ima.
domain
().
pmax
()) == -1);
67
68
}
69
70
71
// Tests with ratio.
72
73
{
74
int
bg = 0;
75
image3d<int>
vol(1, 1, 1);
76
image2d<int>
ima;
77
float
ratio;
78
79
ratio = 1.f;
80
ima =
debug::slices_2d
(vol, ratio, bg);
81
mln_assertion(ima.
nrows
() == 1 && ima.
ncols
() == 1);
82
83
ratio = 0.00001f;
84
ima =
debug::slices_2d
(vol, ratio, bg);
85
mln_assertion(ima.
nrows
() == 1 && ima.
ncols
() == 1);
86
87
ratio = 100000.f;
88
ima =
debug::slices_2d
(vol, ratio, bg);
89
mln_assertion(ima.
nrows
() == 1 && ima.
ncols
() == 1);
90
}
91
92
}
tests
debug
slices_2d.cc
Generated on Thu Nov 8 2012 10:58:22 for Milena (Olena) by
1.8.2-20120930