highres-cortex
6.0.4
iterative_region_merger.hh
Go to the documentation of this file.
1
/*
2
Copyright CEA (2014).
3
Copyright Université Paris XI (2014).
4
5
Contributor: Yann Leprince <yann.leprince@ylep.fr>.
6
7
This file is part of highres-cortex, a collection of software designed
8
to process high-resolution magnetic resonance images of the cerebral
9
cortex.
10
11
This software is governed by the CeCILL licence under French law and
12
abiding by the rules of distribution of free software. You can use,
13
modify and/or redistribute the software under the terms of the CeCILL
14
licence as circulated by CEA, CNRS and INRIA at the following URL:
15
<http://www.cecill.info/>.
16
17
As a counterpart to the access to the source code and rights to copy,
18
modify and redistribute granted by the licence, users are provided only
19
with a limited warranty and the software's author, the holder of the
20
economic rights, and the successive licensors have only limited
21
liability.
22
23
In this respect, the user's attention is drawn to the risks associated
24
with loading, using, modifying and/or developing or reproducing the
25
software by the user in light of its specific status of scientific
26
software, that may mean that it is complicated to manipulate, and that
27
also therefore means that it is reserved for developers and experienced
28
professionals having in-depth computer knowledge. Users are therefore
29
encouraged to load and test the software's suitability as regards their
30
requirements in conditions enabling the security of their systems and/or
31
data to be ensured and, more generally, to use and operate it in the
32
same conditions as regards security.
33
34
The fact that you are presently reading this means that you have had
35
knowledge of the CeCILL licence and that you accept its terms.
36
*/
37
38
#ifndef ITERATIVE_REGION_MERGER_HH_INCLUDED
39
#define ITERATIVE_REGION_MERGER_HH_INCLUDED
40
41
#include <cartodata/volume/volume.h>
42
43
#include "
label_volume.hh
"
44
45
namespace
yl
46
{
47
48
template
<
typename
Tlabel,
class
RegionQualityCriterion>
49
class
IterativeRegionMerger
50
{
51
public
:
52
explicit
IterativeRegionMerger
(
53
const
LabelVolume<Tlabel>
& label_vol,
54
const
RegionQualityCriterion& criterion=RegionQualityCriterion(),
55
int
verbosity=0);
56
virtual
~IterativeRegionMerger
() {};
57
58
void
setVerbose
(
int
verbosity=1);
59
60
void
merge_worst_regions_iteratively
();
61
62
carto::VolumeRef<Tlabel>
volume
()
const
63
{
64
return
m_label_volume.volume();
65
}
66
67
private
:
68
LabelVolume<Tlabel>
m_label_volume;
69
RegionQualityCriterion m_criterion;
70
int
m_verbosity;
71
};
// class IterativeRegionMerger
72
73
};
// namespace yl
74
75
#endif
// !defined(ITERATIVE_REGION_MERGER_HH_INCLUDED)
carto::VolumeRef
yl::IterativeRegionMerger::merge_worst_regions_iteratively
void merge_worst_regions_iteratively()
yl::IterativeRegionMerger::IterativeRegionMerger
IterativeRegionMerger(const LabelVolume< Tlabel > &label_vol, const RegionQualityCriterion &criterion=RegionQualityCriterion(), int verbosity=0)
yl::IterativeRegionMerger::~IterativeRegionMerger
virtual ~IterativeRegionMerger()
Definition
iterative_region_merger.hh:56
yl::IterativeRegionMerger::volume
carto::VolumeRef< Tlabel > volume() const
Definition
iterative_region_merger.hh:62
yl::IterativeRegionMerger::setVerbose
void setVerbose(int verbosity=1)
yl::LabelVolume
Definition
label_volume.hh:72
label_volume.hh
yl
Definition
cortex.hh:41
highres-cortex
iterative_region_merger.hh
Generated by
1.13.2